summaryrefslogtreecommitdiff
path: root/Master/texmf-dist
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2014-01-22 23:06:20 +0000
committerKarl Berry <karl@freefriends.org>2014-01-22 23:06:20 +0000
commit7727dd41521eb7246835e1ac24a559a89deaef17 (patch)
tree764d533df5d5f46c97aff479519fa8103c8d9ed1 /Master/texmf-dist
parentb3e544255a809f9dd960a88e868e317f3f6f6cff (diff)
skak (22jan14)
git-svn-id: svn://tug.org/texlive/trunk@32758 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist')
-rw-r--r--Master/texmf-dist/doc/latex/skak/ChangeLog.md (renamed from Master/texmf-dist/doc/latex/skak/README)31
-rw-r--r--Master/texmf-dist/doc/latex/skak/LICENSE416
-rw-r--r--Master/texmf-dist/doc/latex/skak/README.md56
-rw-r--r--Master/texmf-dist/doc/latex/skak/THANKS22
-rw-r--r--Master/texmf-dist/doc/latex/skak/informator.pdfbin43911 -> 0 bytes
-rw-r--r--Master/texmf-dist/doc/latex/skak/informator.ps5639
-rw-r--r--Master/texmf-dist/doc/latex/skak/lambda.tex1146
-rw-r--r--Master/texmf-dist/doc/latex/skak/longmove_king_bug.tex23
-rw-r--r--Master/texmf-dist/doc/latex/skak/makefile37
-rw-r--r--Master/texmf-dist/doc/latex/skak/refman.pdfbin73165 -> 0 bytes
-rw-r--r--Master/texmf-dist/doc/latex/skak/refman.ps6586
-rw-r--r--Master/texmf-dist/doc/latex/skak/skakdoc.pdfbin125892 -> 0 bytes
-rw-r--r--Master/texmf-dist/doc/latex/skak/skakdoc.ps13426
-rw-r--r--Master/texmf-dist/doc/latex/skak/skakdoc.tex23
-rw-r--r--Master/texmf-dist/doc/latex/skak/tuggame.pdfbin80592 -> 0 bytes
-rw-r--r--Master/texmf-dist/doc/latex/skak/tuggame.ps7558
-rw-r--r--Master/texmf-dist/tex/latex/skak/skak.sty59
17 files changed, 33792 insertions, 1230 deletions
diff --git a/Master/texmf-dist/doc/latex/skak/README b/Master/texmf-dist/doc/latex/skak/ChangeLog.md
index 2df74502f6e..8f04fc5456d 100644
--- a/Master/texmf-dist/doc/latex/skak/README
+++ b/Master/texmf-dist/doc/latex/skak/ChangeLog.md
@@ -1,6 +1,33 @@
+Version 1.5.2
+-------------
+
+* Removed lambda.sty from the skak distribution.
+
+Version 1.5.1
+-------------
+
+* Created repo at github.com/lehoff/skak for all furture work on skak.
+
+* Fixed a bug with longmoves for Kings where the from square was not
+ correct due to a problem in DoTheMove. Thanks to Ulirch Dirr and
+ Niels Stargardt for finding this bug.
+
+* Fixed a bug on \lastmove when using \styleC. Thanks to Ulrich Dirr
+ to come up with a rough solution that I have improved to take into
+ account if styleC is being used or not.
+
+* Added a ChangeLog.md file and removed the duplicate change history
+ from tex/skak.sty
+
+* Moved things from readme.txt into README.md and removed the change
+ history from that.
+
+* Added a LICENSE file.
+
+* Added a THANKS file and removed the acknowledgements from
+ skakdoc.tex.
+
-Change History
-==============
Version 1.5
-----------
diff --git a/Master/texmf-dist/doc/latex/skak/LICENSE b/Master/texmf-dist/doc/latex/skak/LICENSE
new file mode 100644
index 00000000000..22443139013
--- /dev/null
+++ b/Master/texmf-dist/doc/latex/skak/LICENSE
@@ -0,0 +1,416 @@
+The LaTeX Project Public License
+=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
+
+LPPL Version 1.3c 2008-05-04
+
+Copyright 1999 2002-2008 LaTeX3 Project
+ Everyone is allowed to distribute verbatim copies of this
+ license document, but modification of it is not allowed.
+
+
+PREAMBLE
+========
+
+The LaTeX Project Public License (LPPL) is the primary license under
+which the LaTeX kernel and the base LaTeX packages are distributed.
+
+You may use this license for any work of which you hold the copyright
+and which you wish to distribute. This license may be particularly
+suitable if your work is TeX-related (such as a LaTeX package), but
+it is written in such a way that you can use it even if your work is
+unrelated to TeX.
+
+The section `WHETHER AND HOW TO DISTRIBUTE WORKS UNDER THIS LICENSE',
+below, gives instructions, examples, and recommendations for authors
+who are considering distributing their works under this license.
+
+This license gives conditions under which a work may be distributed
+and modified, as well as conditions under which modified versions of
+that work may be distributed.
+
+We, the LaTeX3 Project, believe that the conditions below give you
+the freedom to make and distribute modified versions of your work
+that conform with whatever technical specifications you wish while
+maintaining the availability, integrity, and reliability of
+that work. If you do not see how to achieve your goal while
+meeting these conditions, then read the document `cfgguide.tex'
+and `modguide.tex' in the base LaTeX distribution for suggestions.
+
+
+DEFINITIONS
+===========
+
+In this license document the following terms are used:
+
+ `Work'
+ Any work being distributed under this License.
+
+ `Derived Work'
+ Any work that under any applicable law is derived from the Work.
+
+ `Modification'
+ Any procedure that produces a Derived Work under any applicable
+ law -- for example, the production of a file containing an
+ original file associated with the Work or a significant portion of
+ such a file, either verbatim or with modifications and/or
+ translated into another language.
+
+ `Modify'
+ To apply any procedure that produces a Derived Work under any
+ applicable law.
+
+ `Distribution'
+ Making copies of the Work available from one person to another, in
+ whole or in part. Distribution includes (but is not limited to)
+ making any electronic components of the Work accessible by
+ file transfer protocols such as FTP or HTTP or by shared file
+ systems such as Sun's Network File System (NFS).
+
+ `Compiled Work'
+ A version of the Work that has been processed into a form where it
+ is directly usable on a computer system. This processing may
+ include using installation facilities provided by the Work,
+ transformations of the Work, copying of components of the Work, or
+ other activities. Note that modification of any installation
+ facilities provided by the Work constitutes modification of the Work.
+
+ `Current Maintainer'
+ A person or persons nominated as such within the Work. If there is
+ no such explicit nomination then it is the `Copyright Holder' under
+ any applicable law.
+
+ `Base Interpreter'
+ A program or process that is normally needed for running or
+ interpreting a part or the whole of the Work.
+
+ A Base Interpreter may depend on external components but these
+ are not considered part of the Base Interpreter provided that each
+ external component clearly identifies itself whenever it is used
+ interactively. Unless explicitly specified when applying the
+ license to the Work, the only applicable Base Interpreter is a
+ `LaTeX-Format' or in the case of files belonging to the
+ `LaTeX-format' a program implementing the `TeX language'.
+
+
+
+CONDITIONS ON DISTRIBUTION AND MODIFICATION
+===========================================
+
+1. Activities other than distribution and/or modification of the Work
+are not covered by this license; they are outside its scope. In
+particular, the act of running the Work is not restricted and no
+requirements are made concerning any offers of support for the Work.
+
+2. You may distribute a complete, unmodified copy of the Work as you
+received it. Distribution of only part of the Work is considered
+modification of the Work, and no right to distribute such a Derived
+Work may be assumed under the terms of this clause.
+
+3. You may distribute a Compiled Work that has been generated from a
+complete, unmodified copy of the Work as distributed under Clause 2
+above, as long as that Compiled Work is distributed in such a way that
+the recipients may install the Compiled Work on their system exactly
+as it would have been installed if they generated a Compiled Work
+directly from the Work.
+
+4. If you are the Current Maintainer of the Work, you may, without
+restriction, modify the Work, thus creating a Derived Work. You may
+also distribute the Derived Work without restriction, including
+Compiled Works generated from the Derived Work. Derived Works
+distributed in this manner by the Current Maintainer are considered to
+be updated versions of the Work.
+
+5. If you are not the Current Maintainer of the Work, you may modify
+your copy of the Work, thus creating a Derived Work based on the Work,
+and compile this Derived Work, thus creating a Compiled Work based on
+the Derived Work.
+
+6. If you are not the Current Maintainer of the Work, you may
+distribute a Derived Work provided the following conditions are met
+for every component of the Work unless that component clearly states
+in the copyright notice that it is exempt from that condition. Only
+the Current Maintainer is allowed to add such statements of exemption
+to a component of the Work.
+
+ a. If a component of this Derived Work can be a direct replacement
+ for a component of the Work when that component is used with the
+ Base Interpreter, then, wherever this component of the Work
+ identifies itself to the user when used interactively with that
+ Base Interpreter, the replacement component of this Derived Work
+ clearly and unambiguously identifies itself as a modified version
+ of this component to the user when used interactively with that
+ Base Interpreter.
+
+ b. Every component of the Derived Work contains prominent notices
+ detailing the nature of the changes to that component, or a
+ prominent reference to another file that is distributed as part
+ of the Derived Work and that contains a complete and accurate log
+ of the changes.
+
+ c. No information in the Derived Work implies that any persons,
+ including (but not limited to) the authors of the original version
+ of the Work, provide any support, including (but not limited to)
+ the reporting and handling of errors, to recipients of the
+ Derived Work unless those persons have stated explicitly that
+ they do provide such support for the Derived Work.
+
+ d. You distribute at least one of the following with the Derived Work:
+
+ 1. A complete, unmodified copy of the Work;
+ if your distribution of a modified component is made by
+ offering access to copy the modified component from a
+ designated place, then offering equivalent access to copy
+ the Work from the same or some similar place meets this
+ condition, even though third parties are not compelled to
+ copy the Work along with the modified component;
+
+ 2. Information that is sufficient to obtain a complete,
+ unmodified copy of the Work.
+
+7. If you are not the Current Maintainer of the Work, you may
+distribute a Compiled Work generated from a Derived Work, as long as
+the Derived Work is distributed to all recipients of the Compiled
+Work, and as long as the conditions of Clause 6, above, are met with
+regard to the Derived Work.
+
+8. The conditions above are not intended to prohibit, and hence do not
+apply to, the modification, by any method, of any component so that it
+becomes identical to an updated version of that component of the Work as
+it is distributed by the Current Maintainer under Clause 4, above.
+
+9. Distribution of the Work or any Derived Work in an alternative
+format, where the Work or that Derived Work (in whole or in part) is
+then produced by applying some process to that format, does not relax or
+nullify any sections of this license as they pertain to the results of
+applying that process.
+
+10. a. A Derived Work may be distributed under a different license
+ provided that license itself honors the conditions listed in
+ Clause 6 above, in regard to the Work, though it does not have
+ to honor the rest of the conditions in this license.
+
+ b. If a Derived Work is distributed under a different license, that
+ Derived Work must provide sufficient documentation as part of
+ itself to allow each recipient of that Derived Work to honor the
+ restrictions in Clause 6 above, concerning changes from the Work.
+
+11. This license places no restrictions on works that are unrelated to
+the Work, nor does this license place any restrictions on aggregating
+such works with the Work by any means.
+
+12. Nothing in this license is intended to, or may be used to, prevent
+complete compliance by all parties with all applicable laws.
+
+
+NO WARRANTY
+===========
+
+There is no warranty for the Work. Except when otherwise stated in
+writing, the Copyright Holder provides the Work `as is', without
+warranty of any kind, either expressed or implied, including, but not
+limited to, the implied warranties of merchantability and fitness for a
+particular purpose. The entire risk as to the quality and performance
+of the Work is with you. Should the Work prove defective, you assume
+the cost of all necessary servicing, repair, or correction.
+
+In no event unless required by applicable law or agreed to in writing
+will The Copyright Holder, or any author named in the components of the
+Work, or any other party who may distribute and/or modify the Work as
+permitted above, be liable to you for damages, including any general,
+special, incidental or consequential damages arising out of any use of
+the Work or out of inability to use the Work (including, but not limited
+to, loss of data, data being rendered inaccurate, or losses sustained by
+anyone as a result of any failure of the Work to operate with any other
+programs), even if the Copyright Holder or said author or said other
+party has been advised of the possibility of such damages.
+
+
+MAINTENANCE OF THE WORK
+=======================
+
+The Work has the status `author-maintained' if the Copyright Holder
+explicitly and prominently states near the primary copyright notice in
+the Work that the Work can only be maintained by the Copyright Holder
+or simply that it is `author-maintained'.
+
+The Work has the status `maintained' if there is a Current Maintainer
+who has indicated in the Work that they are willing to receive error
+reports for the Work (for example, by supplying a valid e-mail
+address). It is not required for the Current Maintainer to acknowledge
+or act upon these error reports.
+
+The Work changes from status `maintained' to `unmaintained' if there
+is no Current Maintainer, or the person stated to be Current
+Maintainer of the work cannot be reached through the indicated means
+of communication for a period of six months, and there are no other
+significant signs of active maintenance.
+
+You can become the Current Maintainer of the Work by agreement with
+any existing Current Maintainer to take over this role.
+
+If the Work is unmaintained, you can become the Current Maintainer of
+the Work through the following steps:
+
+ 1. Make a reasonable attempt to trace the Current Maintainer (and
+ the Copyright Holder, if the two differ) through the means of
+ an Internet or similar search.
+
+ 2. If this search is successful, then enquire whether the Work
+ is still maintained.
+
+ a. If it is being maintained, then ask the Current Maintainer
+ to update their communication data within one month.
+
+ b. If the search is unsuccessful or no action to resume active
+ maintenance is taken by the Current Maintainer, then announce
+ within the pertinent community your intention to take over
+ maintenance. (If the Work is a LaTeX work, this could be
+ done, for example, by posting to comp.text.tex.)
+
+ 3a. If the Current Maintainer is reachable and agrees to pass
+ maintenance of the Work to you, then this takes effect
+ immediately upon announcement.
+
+ b. If the Current Maintainer is not reachable and the Copyright
+ Holder agrees that maintenance of the Work be passed to you,
+ then this takes effect immediately upon announcement.
+
+ 4. If you make an `intention announcement' as described in 2b. above
+ and after three months your intention is challenged neither by
+ the Current Maintainer nor by the Copyright Holder nor by other
+ people, then you may arrange for the Work to be changed so as
+ to name you as the (new) Current Maintainer.
+
+ 5. If the previously unreachable Current Maintainer becomes
+ reachable once more within three months of a change completed
+ under the terms of 3b) or 4), then that Current Maintainer must
+ become or remain the Current Maintainer upon request provided
+ they then update their communication data within one month.
+
+A change in the Current Maintainer does not, of itself, alter the fact
+that the Work is distributed under the LPPL license.
+
+If you become the Current Maintainer of the Work, you should
+immediately provide, within the Work, a prominent and unambiguous
+statement of your status as Current Maintainer. You should also
+announce your new status to the same pertinent community as
+in 2b) above.
+
+
+WHETHER AND HOW TO DISTRIBUTE WORKS UNDER THIS LICENSE
+======================================================
+
+This section contains important instructions, examples, and
+recommendations for authors who are considering distributing their
+works under this license. These authors are addressed as `you' in
+this section.
+
+Choosing This License or Another License
+----------------------------------------
+
+If for any part of your work you want or need to use *distribution*
+conditions that differ significantly from those in this license, then
+do not refer to this license anywhere in your work but, instead,
+distribute your work under a different license. You may use the text
+of this license as a model for your own license, but your license
+should not refer to the LPPL or otherwise give the impression that
+your work is distributed under the LPPL.
+
+The document `modguide.tex' in the base LaTeX distribution explains
+the motivation behind the conditions of this license. It explains,
+for example, why distributing LaTeX under the GNU General Public
+License (GPL) was considered inappropriate. Even if your work is
+unrelated to LaTeX, the discussion in `modguide.tex' may still be
+relevant, and authors intending to distribute their works under any
+license are encouraged to read it.
+
+A Recommendation on Modification Without Distribution
+-----------------------------------------------------
+
+It is wise never to modify a component of the Work, even for your own
+personal use, without also meeting the above conditions for
+distributing the modified component. While you might intend that such
+modifications will never be distributed, often this will happen by
+accident -- you may forget that you have modified that component; or
+it may not occur to you when allowing others to access the modified
+version that you are thus distributing it and violating the conditions
+of this license in ways that could have legal implications and, worse,
+cause problems for the community. It is therefore usually in your
+best interest to keep your copy of the Work identical with the public
+one. Many works provide ways to control the behavior of that work
+without altering any of its licensed components.
+
+How to Use This License
+-----------------------
+
+To use this license, place in each of the components of your work both
+an explicit copyright notice including your name and the year the work
+was authored and/or last substantially modified. Include also a
+statement that the distribution and/or modification of that
+component is constrained by the conditions in this license.
+
+Here is an example of such a notice and statement:
+
+ %% pig.dtx
+ %% Copyright 2005 M. Y. Name
+ %
+ % This work may be distributed and/or modified under the
+ % conditions of the LaTeX Project Public License, either version 1.3
+ % of this license or (at your option) any later version.
+ % The latest version of this license is in
+ % http://www.latex-project.org/lppl.txt
+ % and version 1.3 or later is part of all distributions of LaTeX
+ % version 2005/12/01 or later.
+ %
+ % This work has the LPPL maintenance status `maintained'.
+ %
+ % The Current Maintainer of this work is M. Y. Name.
+ %
+ % This work consists of the files pig.dtx and pig.ins
+ % and the derived file pig.sty.
+
+Given such a notice and statement in a file, the conditions
+given in this license document would apply, with the `Work' referring
+to the three files `pig.dtx', `pig.ins', and `pig.sty' (the last being
+generated from `pig.dtx' using `pig.ins'), the `Base Interpreter'
+referring to any `LaTeX-Format', and both `Copyright Holder' and
+`Current Maintainer' referring to the person `M. Y. Name'.
+
+If you do not want the Maintenance section of LPPL to apply to your
+Work, change `maintained' above into `author-maintained'.
+However, we recommend that you use `maintained', as the Maintenance
+section was added in order to ensure that your Work remains useful to
+the community even when you can no longer maintain and support it
+yourself.
+
+Derived Works That Are Not Replacements
+---------------------------------------
+
+Several clauses of the LPPL specify means to provide reliability and
+stability for the user community. They therefore concern themselves
+with the case that a Derived Work is intended to be used as a
+(compatible or incompatible) replacement of the original Work. If
+this is not the case (e.g., if a few lines of code are reused for a
+completely different task), then clauses 6b and 6d shall not apply.
+
+
+Important Recommendations
+-------------------------
+
+ Defining What Constitutes the Work
+
+ The LPPL requires that distributions of the Work contain all the
+ files of the Work. It is therefore important that you provide a
+ way for the licensee to determine which files constitute the Work.
+ This could, for example, be achieved by explicitly listing all the
+ files of the Work near the copyright notice of each file or by
+ using a line such as:
+
+ % This work consists of all files listed in manifest.txt.
+
+ in that place. In the absence of an unequivocal list it might be
+ impossible for the licensee to determine what is considered by you
+ to comprise the Work and, in such a case, the licensee would be
+ entitled to make reasonable conjectures as to which files comprise
+ the Work.
+
diff --git a/Master/texmf-dist/doc/latex/skak/README.md b/Master/texmf-dist/doc/latex/skak/README.md
new file mode 100644
index 00000000000..88398e19a1f
--- /dev/null
+++ b/Master/texmf-dist/doc/latex/skak/README.md
@@ -0,0 +1,56 @@
+skak
+====
+
+This is a package for typesetting chess (skak in Danish) games in
+LaTeX.
+
+The basic idea is to allow the author to write about chess games using
+normal chess notation, have that typeset nicely and then show the
+position when desired. skak has an internal chess board so it is never
+out of sync with the moves described in the text.
+
+For more on the usage see the skakdoc.pdf file.
+
+
+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/THANKS b/Master/texmf-dist/doc/latex/skak/THANKS
new file mode 100644
index 00000000000..ea8e3229ce8
--- /dev/null
+++ b/Master/texmf-dist/doc/latex/skak/THANKS
@@ -0,0 +1,22 @@
+I would like to thank the creator of the lambda package,
+Alan Jeffrey, for making a splendid package that made this package
+possible.
+
+For discussions and alpha-testing I send my thanks to Guido
+Governatori - some of his ideas have already been implemented; the
+rest? Time will show.
+
+Thanks to Harri Haanpaa for finding a nasty bug in the castling
+routine.
+
+A big thank goes to Dirk Bächle for adding the Informator symbols to
+the fonts and for removing a couple of nasty bugs as well as improving
+some of the commands.
+
+I thank Ulrike Fischer for the tremendous work she has done with
+regards to improving the way fonts are handled by the skak package,
+not to mention the significant amount of bugs she has found and in
+many cases fixed.
+
+Thanks for reporting various bugs goes to Ingo Sander, Andreas Wilm,
+Ulrich Dirr and Niels Stargardt.
diff --git a/Master/texmf-dist/doc/latex/skak/informator.pdf b/Master/texmf-dist/doc/latex/skak/informator.pdf
deleted file mode 100644
index cb46461d130..00000000000
--- a/Master/texmf-dist/doc/latex/skak/informator.pdf
+++ /dev/null
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/skak/informator.ps b/Master/texmf-dist/doc/latex/skak/informator.ps
new file mode 100644
index 00000000000..cf693fb86db
--- /dev/null
+++ b/Master/texmf-dist/doc/latex/skak/informator.ps
@@ -0,0 +1,5639 @@
+%!PS-Adobe-2.0
+%%Creator: dvips(k) 5.991 Copyright 2011 Radical Eye Software
+%%Title: informator.dvi
+%%CreationDate: Thu Jul 18 23:26:38 2013
+%%Pages: 1
+%%PageOrder: Ascend
+%%BoundingBox: 0 0 596 842
+%%DocumentFonts: CMR17 CMTT12 CMR12 CMR10 CMSY10 CMSSBX10
+%%+ SkakNew-Figurine CMSS10
+%%DocumentPaperSizes: a4
+%%EndComments
+%DVIPSWebPage: (www.radicaleye.com)
+%DVIPSCommandLine: dvips -o informator.ps informator.dvi
+%DVIPSParameters: dpi=600
+%DVIPSSource: TeX output 2013.07.18:2326
+%%BeginProcSet: tex.pro 0 0
+%!
+/TeXDict 300 dict def TeXDict begin/N{def}def/B{bind def}N/S{exch}N/X{S
+N}B/A{dup}B/TR{translate}N/isls false N/vsize 11 72 mul N/hsize 8.5 72
+mul N/landplus90{false}def/@rigin{isls{[0 landplus90{1 -1}{-1 1}ifelse 0
+0 0]concat}if 72 Resolution div 72 VResolution div neg scale isls{
+landplus90{VResolution 72 div vsize mul 0 exch}{Resolution -72 div hsize
+mul 0}ifelse TR}if Resolution VResolution vsize -72 div 1 add mul TR[
+matrix currentmatrix{A A round sub abs 0.00001 lt{round}if}forall round
+exch round exch]setmatrix}N/@landscape{/isls true N}B/@manualfeed{
+statusdict/manualfeed true put}B/@copies{/#copies X}B/FMat[1 0 0 -1 0 0]
+N/FBB[0 0 0 0]N/nn 0 N/IEn 0 N/ctr 0 N/df-tail{/nn 8 dict N nn begin
+/FontType 3 N/FontMatrix fntrx N/FontBBox FBB N string/base X array
+/BitMaps X/BuildChar{CharBuilder}N/Encoding IEn N end A{/foo setfont}2
+array copy cvx N load 0 nn put/ctr 0 N[}B/sf 0 N/df{/sf 1 N/fntrx FMat N
+df-tail}B/dfs{div/sf X/fntrx[sf 0 0 sf neg 0 0]N df-tail}B/E{pop nn A
+definefont setfont}B/Cw{Cd A length 5 sub get}B/Ch{Cd A length 4 sub get
+}B/Cx{128 Cd A length 3 sub get sub}B/Cy{Cd A length 2 sub get 127 sub}
+B/Cdx{Cd A length 1 sub get}B/Ci{Cd A type/stringtype ne{ctr get/ctr ctr
+1 add N}if}B/CharBuilder{save 3 1 roll S A/base get 2 index get S
+/BitMaps get S get/Cd X pop/ctr 0 N Cdx 0 Cx Cy Ch sub Cx Cw add Cy
+setcachedevice Cw Ch true[1 0 0 -1 -.1 Cx sub Cy .1 sub]{Ci}imagemask
+restore}B/D{/cc X A type/stringtype ne{]}if nn/base get cc ctr put nn
+/BitMaps get S ctr S sf 1 ne{A A length 1 sub A 2 index S get sf div put
+}if put/ctr ctr 1 add N}B/I{cc 1 add D}B/bop{userdict/bop-hook known{
+bop-hook}if/SI save N @rigin 0 0 moveto/V matrix currentmatrix A 1 get A
+mul exch 0 get A mul add .99 lt{/QV}{/RV}ifelse load def pop pop}N/eop{
+SI restore userdict/eop-hook known{eop-hook}if showpage}N/@start{
+userdict/start-hook known{start-hook}if pop/VResolution X/Resolution X
+1000 div/DVImag X/IEn 256 array N 2 string 0 1 255{IEn S A 360 add 36 4
+index cvrs cvn put}for pop 65781.76 div/vsize X 65781.76 div/hsize X}N
+/dir 0 def/dyy{/dir 0 def}B/dyt{/dir 1 def}B/dty{/dir 2 def}B/dtt{/dir 3
+def}B/p{dir 2 eq{-90 rotate show 90 rotate}{dir 3 eq{-90 rotate show 90
+rotate}{show}ifelse}ifelse}N/RMat[1 0 0 -1 0 0]N/BDot 260 string N/Rx 0
+N/Ry 0 N/V{}B/RV/v{/Ry X/Rx X V}B statusdict begin/product where{pop
+false[(Display)(NeXT)(LaserWriter 16/600)]{A length product length le{A
+length product exch 0 exch getinterval eq{pop true exit}if}{pop}ifelse}
+forall}{false}ifelse end{{gsave TR -.1 .1 TR 1 1 scale Rx Ry false RMat{
+BDot}imagemask grestore}}{{gsave TR -.1 .1 TR Rx Ry scale 1 1 false RMat
+{BDot}imagemask grestore}}ifelse B/QV{gsave newpath transform round exch
+round exch itransform moveto Rx 0 rlineto 0 Ry neg rlineto Rx neg 0
+rlineto fill grestore}B/a{moveto}B/delta 0 N/tail{A/delta X 0 rmoveto}B
+/M{S p delta add tail}B/b{S p tail}B/c{-4 M}B/d{-3 M}B/e{-2 M}B/f{-1 M}
+B/g{0 M}B/h{1 M}B/i{2 M}B/j{3 M}B/k{4 M}B/w{0 rmoveto}B/l{p -4 w}B/m{p
+-3 w}B/n{p -2 w}B/o{p -1 w}B/q{p 1 w}B/r{p 2 w}B/s{p 3 w}B/t{p 4 w}B/x{
+0 S rmoveto}B/y{3 2 roll p a}B/bos{/SS save N}B/eos{SS restore}B end
+
+%%EndProcSet
+%%BeginProcSet: pstricks.pro 0 0
+% $Id: pstricks.pro 647 2012-02-12 15:03:40Z herbert $
+%
+%% PostScript prologue for pstricks.tex.
+%% Version 1.12, 2012/02/12
+%%
+%% This program can be redistributed and/or modified under the terms
+%% of the LaTeX Project Public License Distributed from CTAN archives
+%% in directory macros/latex/base/lppl.txt.
+%
+%
+% Define the follwing gs-functions if not known, eg when using distiller
+%
+systemdict /.setopacityalpha known not {/.setopacityalpha { pop } def } if
+systemdict /.setblendmode known not {/.setblendmode { pop } def } if
+systemdict /.setshapealpha known not {/.setshapealpha { pop } def } if
+%
+/tx@Dict 200 dict def % the main PSTricks dictionary
+tx@Dict begin
+/ADict 25 dict def % The arrow dictionaray
+/CM { matrix currentmatrix } bind def
+/SLW /setlinewidth load def
+/CLW /currentlinewidth load def
+/CP /currentpoint load def
+/ED { exch def } bind def
+/L /lineto load def
+/T /translate load def
+/TMatrix { } def
+/RAngle { 0 } def
+/Sqrt { dup 0 lt { pop 0 } { sqrt } ifelse } def % return 0 for negative arguments
+/Atan { /atan load stopped { pop pop 0 } if } def % return 0 if atan not known
+/ATAN1 {neg -1 atan 180 sub } def % atan(x) (only one parameter)
+/Div { dup 0 eq { pop } { div } ifelse } def % control the division
+/tan { dup cos abs 1.e-10 lt
+ { pop 1.e10 } % return 1.e10 as infinit
+ { dup sin exch cos div } ifelse % default sin/cos
+} def
+/Tan { dup sin exch cos Div } def % sin(x)/cos(x) x in degrees
+/Acos {dup dup mul neg 1 add dup 0 lt { % arc cos, returns 0 when negative root
+ pop pop 0 }{ sqrt exch atan} ifelse } def
+/NET { neg exch neg exch T } def % change coordinate system to the negative one
+/Pyth { dup mul exch dup mul add sqrt } def % Pythagoras, expects 2 parameter
+/Pyth2 { % Pythagoras, xA yA xB yB
+ 3 -1 roll % xA xB yB yA
+ sub % xA xB yB-yA
+ 3 1 roll % yB-yA xA xB
+ sub % yB-yA xA-xB
+ Pyth } def
+/PtoC { 2 copy cos mul 3 1 roll sin mul } def % Polar to Cartesian
+/Rand { rand 4294967295 div } def % a real random number
+%----------------- hv added 20050516 ---------------
+/PiDiv2 1.57079632680 def
+/Pi 3.14159265359 def
+/TwoPi 6.28318530718 def
+/Euler 2.71828182846 def
+%/e Euler bind def
+%
+/RadtoDeg { 180 mul Pi div } bind def % convert from radian to degrees
+/DegtoRad { Pi mul 180 div } bind def % viceversa
+%----------------- hv end---------------------------
+/PathLength@ { /z z y y1 sub x x1 sub Pyth add def /y1 y def /x1 x def } def
+%
+/PathLength {
+ flattenpath /z 0 def
+ { /y1 ED /x1 ED /y2 y1 def /x2 x1 def }
+ { /y ED /x ED PathLength@ }
+ {}
+ { /y y2 def /x x2 def PathLength@ }
+ /pathforall load stopped { pop pop pop pop } if
+ z
+} def
+%
+/STP { .996264 dup scale } def % BP/PT scaling
+/STV { SDict begin normalscale end STP } def %
+%
+/DashLine {
+ dup 0 gt
+ { /a .5 def PathLength exch div }
+ { pop /a 1 def PathLength } ifelse
+ /b ED % pattern should fit evenly in b
+ dup /X ED % pattern array
+ 0 get /y ED % length of first black segment
+ /z 0 X {add} forall def % length of the full pattern
+ %% Computation of the scaling factor as described by van Zandt:
+ b a .5 sub 2 mul y mul sub z Div round
+ z mul a .5 sub 2 mul y mul add b exch Div
+ %%%% scaling factor on stack.
+ /z ED %% now, z is the scaling factor
+ false % for the length test below
+ X { z mul } forall X astore %% modification TN 04-08-07
+ %%% Checking whether at least one dash in X has positive length:
+ {0 gt or} forall
+ { X 1 a sub y mul }
+ { [ 1 0 ] 0 }
+ ifelse
+ setdash stroke
+} def
+%
+/DotLine {
+ /b PathLength def
+ /a ED /z ED /y CLW def
+ /z y z add def
+ a 0 gt {
+ /b b a div def
+ }{
+ a 0 eq {
+ /b b y sub def
+ }{ a -3 eq {
+ /b b y add def } if
+ } ifelse
+ } ifelse
+ [ 0 b b z Div round Div dup 0 le { pop 1 } if ]
+ a 0 gt { 0 }{ y 2 div a -2 gt { neg }if } ifelse
+ setdash 1 setlinecap stroke
+} def
+%
+/SymbolLine { % on stack [ x y x y ...
+ counttomark % number of elements
+ 2 div cvi /n ED % n pairs
+ /YA ED /XA ED % the start point
+ n 1 sub {
+ /YB ED /XB ED
+ /XLength XB XA sub def
+ /YLength YB YA sub def
+ /PAngle YLength XLength Atan def
+ /XYLength XLength YLength Pyth def
+
+ %% for negative SymStep we calculate the distance
+ SymStep 0 lt
+ { %XYLength SymStep div abs cvi
+ /nSym SymStep abs cvi def }
+ { /nSym XYLength SymStep div cvi def }
+ ifelse
+ 0.5 setflat
+ /Shift Symbol stringwidth pop 2 div def
+ /deltaX XLength nSym div def
+ /deltaY YLength nSym div def
+ curveticks
+ { XA YA moveto }
+ { XA Shift sub YA Shift sub moveto }
+ ifelse
+ nSym {
+ gsave
+ curveticks
+ { PAngle 180 sub CorrAngle sub tickAngle add /rotAngle ED
+ currentpoint translate rotAngle rotate
+ 0 SymbolWidth 2 div moveto 0 SymbolWidth 2 div neg lineto
+ SymbolLinewidth setlinewidth stroke
+ }
+ {
+ rotateSymbol { PAngle 180 sub CorrAngle sub rotate } if
+ Symbol show
+ }
+ ifelse
+ grestore
+ deltaX deltaY rmoveto
+ } repeat
+ /YA YB def /XA XB def
+ } repeat
+ curveticks
+ { XA YA moveto }
+ { XA Shift sub YA Shift sub moveto }
+ ifelse
+ gsave
+ curveticks
+ { PAngle 180 sub CorrAngle sub tickAngle add /rotAngle ED
+ XA YA translate rotAngle rotate
+ 0 SymbolWidth 2 div moveto 0 SymbolWidth 2 div neg lineto
+ SymbolLinewidth setlinewidth stroke
+ }
+ {
+ rotateSymbol { PAngle 180 sub CorrAngle sub rotate } if
+ Symbol show
+ }
+ ifelse
+ grestore
+ pop % delete the mark symbol
+} def
+%
+/LineFill { % hv ------------ patch 7 -------------
+ gsave
+ abs /hatchWidthInc ED
+ abs /hatchSepInc ED
+ abs CLW add /a ED
+ a 0 dtransform round exch round exch
+ 2 copy idtransform
+ exch Atan rotate
+ idtransform pop /a ED
+ .25 .25 itransform pathbbox
+ /y2 ED
+ a Div ceiling cvi /x2 ED /y1 ED
+ a Div cvi /x1 ED /y2 y2 y1 sub def
+ clip
+ newpath
+ 2 setlinecap
+ systemdict
+ /setstrokeadjust known { true setstrokeadjust } if
+ x2 x1 sub 1 add {
+ x1 a mul y1 moveto 0 y2 rlineto stroke
+ /x1 x1 1 add
+ hatchWidthInc 0 gt { CLW add } if
+ def
+ hatchSepInc 0 gt hatchWidthInc 0 gt or {
+ /a a hatchSepInc add def
+ CLW hatchWidthInc add SLW
+ } if
+ } repeat
+ grestore
+ pop pop } def
+%
+/DotFill {% on stack: dot radius
+ /dotRadius ED
+ abs CLW add /a ED
+ a 0 dtransform round exch round exch
+ 2 copy idtransform
+ exch Atan rotate
+ idtransform pop /a ED
+ .25 .25 itransform
+ pathbbox % llx lly urx ury of smallest bounding box
+ /y2 ED /x2 ED /y1 ED /x1 ED
+ y2 y1 sub a div 2 add cvi /Ny ED
+ x2 x1 sub a div 2 add cvi /Nx ED
+ clip
+ newpath
+ /yA y1 dotRadius add CLW add def
+ /xA0 x1 dotRadius add CLW add def
+ Ny {
+ /xA xA0 def
+ Nx {
+ newpath
+ xA yA dotRadius 0 360 arc
+ SolidDot { gsave fill grestore } if
+ stroke
+ xA a add /xA ED
+ } repeat
+ yA a add /yA ED
+ } repeat
+ grestore
+} def
+%
+/PenroseFill {% on stack: scaling factor
+ dup dup scale
+ 1 exch div round /penroseFactor ED
+ a 0 dtransform round exch round exch
+ 2 copy idtransform
+ exch Atan rotate
+ idtransform pop /a ED
+ .25 .25 itransform pathbbox
+ /y2 ED
+ a Div ceiling cvi /x2 ED /y1 ED
+ a Div cvi /x1 ED /y2 y2 y1 sub def
+ clip
+ newpath
+ systemdict
+ /setstrokeadjust known { true setstrokeadjust } if
+ /I/S/L/W/G/+/Z/F/E/D[/def/exch/for{E D}/add{s E get mul}
+ { Z -36.2001 1 33 }{25 E S rlineto}{/q Z dup q G E q 1 + G}{Z 2 2}]{cvx def}forall
+ [0 72 1008 {dup sin E cos }F ]1 setlinejoin/s W{/a W{/b I 10{/i I 4{/m I moveto
+ i m +/j I 10{/l Z b m l + G a l G sub s m get div .2 + floor .3 + 25
+ mul j l + S rmoveto}F i L j L stroke }F}F}F}F
+ grestore
+ pop pop
+} def
+%
+/TruchetFill { % on stack: scaling factor
+ 10 dict begin
+ dup dup scale
+ 1 exch div round /penroseFactor ED
+ a 0 dtransform round exch round exch
+ 2 copy idtransform
+ exch Atan rotate
+ idtransform pop /a ED
+ .25 .25 itransform pathbbox
+ /y2 ED
+ a Div ceiling cvi /x2 ED /y1 ED
+ a Div cvi /x1 ED /y2 y2 y1 sub def
+ clip
+ newpath
+ systemdict
+ /setstrokeadjust known { true setstrokeadjust } if
+ /ma a neg def
+ /ha a 2 div def
+ /mha ha neg def
+ /tile {
+ rand dup 2 idiv 2 mul eq { 90 rotate } if
+ mha mha moveto ha mha lineto
+ ha ha lineto mha ha lineto
+% closepath .1 setlinewidth stroke
+ contents
+ } def
+ /contents{
+ 0 ha moveto ha 0 lineto
+ 0 mha moveto mha 0 lineto
+% 1 setlinewidth stroke
+ } def
+ /dotiling {
+ f ma mul a f a mul {
+ /i exch def
+ f ma mul a f a mul {
+ /j exch def
+ gsave i j translate
+ tile stroke grestore
+ } for
+ } for
+ } def
+%
+ /f 3 def
+ 5 srand dotiling
+ end % local user dict
+} def
+%
+/BeginArrow {
+ ADict begin % hold it local, for end see EndArrow
+ /@mtrx CM def
+ gsave
+ 2 copy T
+ 2 index sub neg exch
+ 3 index sub exch Atan
+ rotate newpath
+} def
+%
+/EndArrow { @mtrx setmatrix CP grestore end } def % end the ADict
+%
+/Arrow {
+ CLW mul add dup
+ 2 div /w ED
+ mul dup /h ED
+ mul /a ED
+ { 0 h T 1 -1 scale } if
+ w neg h moveto
+ 0 0 L w h L w neg a neg rlineto
+ gsave fill grestore
+} def
+%
+/ArrowD { % the sides are drawn as curves (hv 20071211)
+ CLW mul add dup
+ 2 div /w ED
+ mul dup /h ED
+ mul /Inset ED
+ { 0 h T 1 -1 scale } if % changes the direction
+% we use y=w/h^2 * x^2 as equation for the control points
+% for the coordinates the arrow is seen from top to bottom
+% the bottom (tip) is (0;0)
+ w neg h moveto % lower left of >
+ w 9 div 4 mul neg h 3 div 2 mul
+ w 9 div neg h 3 div
+ 0 0 curveto % tip of >
+ w 9 div h 3 div
+ w 9 div 4 mul h 3 div 2 mul
+ w h curveto % upper left of >
+ w neg Inset neg rlineto % move to x=0 and inset
+ gsave fill grestore
+} def
+%
+/Tbar {
+ CLW mul add /z ED
+ z -2 div CLW 2 div moveto
+ z 0 rlineto stroke
+ 0 CLW moveto
+} def
+%
+/Bracket {
+ CLW mul add dup CLW sub 2 div
+ /x ED mul CLW add /y ED /z CLW 2 div def
+ x neg y moveto
+ x neg CLW 2 div L x CLW 2 div L x y L stroke
+ 0 CLW moveto
+} def
+%
+/RoundBracket {
+ CLW mul add dup 2 div
+ /x ED mul /y ED /mtrx CM def
+ 0 CLW 2 div T x y mul 0 ne { x y scale } if
+ 1 1 moveto
+ .85 .5 .35 0 0 0 curveto
+ -.35 0 -.85 .5 -1 1 curveto
+ mtrx setmatrix stroke 0 CLW moveto
+} def
+%
+/SD { 0 360 arc fill } def
+%
+/EndDot { % DS is the dot size
+ { /z DS def } { /z 0 def } ifelse % outer or inner dimen
+ /b ED % the color definition
+ 0 z DS SD
+ b { 0 z DS CLW sub SD } if
+ 0 DS z add CLW 4 div sub
+ moveto
+} def
+%
+/Shadow { [ { /moveto load } { /lineto load } { /curveto load } {
+ /closepath load } /pathforall load stopped { pop pop pop pop CP /moveto
+ load } if ] cvx newpath 3 1 roll T exec } def
+%
+/NArray { % holds the coordinates and on top of stack the showpoints boolean
+ /showpoints ED
+ counttomark 2 div dup cvi /n ED % n 2 div on stack
+ n eq not { exch pop } if % even numbers of points? delete one
+ ] aload /Points ED
+ showpoints not { Points aload pop } if
+% { ] aload /Points ED }
+% { n 2 mul 1 add -1 roll pop } ifelse % delete the mark symbol
+} def
+%
+/Line {
+ NArray n 0 eq not
+ { n 1 eq { 0 0 /n 2 def } if ArrowA /n n 2 sub def
+ n { Lineto } repeat
+ CP 4 2 roll ArrowB L pop pop
+ } if
+} def
+%
+/LineToYAxis {
+ /Ox ED % Save the x origin value
+ NArray % all x-y pairs on stack
+ n { 2 copy moveto % go to current point
+ Ox exch Lineto % line to y-axis
+ pop % delete old x-value
+ } repeat
+} def
+%
+/LineToXAxis{
+ /Oy ED % Save the y origin value
+ NArray % all x-y pairs on stack
+ n 0 eq not
+ { n 1 eq { 0 0 /n 2 def } if
+ ArrowA
+ /n n 2 sub def
+ CP 2 copy moveto pop Oy Lineto
+ n { 2 copy moveto pop Oy Lineto } repeat
+ CP
+ 4 2 roll
+ ArrowB
+ 2 copy moveto pop Oy
+ L
+ pop pop } if
+} def
+%
+/Arcto {
+ /a [ 6 -2 roll ] cvx def
+ a r
+ /arcto load stopped { 5 } { 4 } ifelse { pop } repeat
+ a
+} def
+%
+/CheckClosed {
+ dup n 2 mul 1 sub index eq 2 index n 2 mul 1 add index eq
+ and { pop pop /n n 1 sub def } if
+} def
+%
+/Polygon {
+ NArray n 2 eq { 0 0 /n 3 def } if
+ n 3 lt
+ { n { pop pop } repeat }
+ { n 3 gt { CheckClosed } if
+ n 2 mul -2 roll
+ /y0 ED /x0 ED /y1 ED /x1 ED
+ x1 y1
+ /x1 x0 x1 add 2 div def
+ /y1 y0 y1 add 2 div def
+ x1 y1 moveto
+ /n n 2 sub def
+ n { Lineto } repeat
+ x1 y1 x0 y0 6 4 roll Lineto
+ Lineto pop pop closepath } ifelse
+} def
+%
+/SymbolPolygon { % on stack [ x y x y ...
+ counttomark % number of elements
+ 2 add /m ED
+ 2 copy m 2 roll % copy last two
+ m 2 div cvi /n ED % n pairs
+ /YA ED /XA ED % the start point
+ n 1 sub {
+ /YB ED /XB ED
+ /XLength XB XA sub def
+ /YLength YB YA sub def
+ /PAngle YLength XLength Atan def
+ /XYLength XLength YLength Pyth def
+ /nSym XYLength SymStep Div cvi def
+ /Shift Symbol stringwidth pop 2 Div def
+ /deltaX XLength nSym Div def
+ /deltaY YLength nSym Div def
+ XA Shift sub YA Shift sub moveto
+ nSym {
+ gsave rotateSymbol { PAngle 180 sub CorrAngle sub rotate } if
+ Symbol show
+ grestore
+ deltaX deltaY rmoveto
+ } repeat
+% XB Shift sub YB Shift sub moveto Symbol show
+ /YA YB def /XA XB def
+ } repeat
+ pop % delete the mark symbol
+} def
+%
+/Diamond {
+ /mtrx CM def
+ T rotate
+ /h ED
+ /w ED
+ dup 0 eq { pop } { CLW mul neg
+ /d ED
+ /a w h Atan def
+ /h d a sin Div h add def
+ /w d a cos Div w add def } ifelse
+ mark w 2 div h 2 div w 0 0 h neg w neg 0 0 h w 2 div h 2 div
+ /ArrowA { moveto } def
+ /ArrowB { } def
+ false Line
+ closepath mtrx setmatrix } def
+%
+/Triangle {
+ /mtrx CM def
+ translate
+ rotate /h ED 2 div /w ED
+ dup CLW mul /d ED
+ /h h d w h Atan sin Div sub def
+ /w w d h w Atan 2 div dup cos exch sin Div mul sub def
+ mark
+ 0 d w neg d 0 h w d 0 d
+ /ArrowA { moveto } def
+ /ArrowB { } def
+ false
+ Line
+ closepath
+ mtrx
+% DG/SR modification begin - Jun. 1, 1998 - Patch 3 (from Michael Vulis)
+% setmatrix } def
+ setmatrix pop
+} def
+% DG/SR modification end
+%
+/CCA {
+ /y ED /x ED
+ 2 copy y sub /dy1 ED
+ x sub /dx1 ED
+ /l1 dx1 dy1 Pyth def
+} def
+%
+/CC {
+ /l0 l1 def
+ /x1 x dx sub def
+ /y1 y dy sub def
+ /dx0 dx1 def
+ /dy0 dy1 def
+ CCA
+ /dx dx0 l1 c exp mul dx1 l0 c exp mul add def
+ /dy dy0 l1 c exp mul dy1 l0 c exp mul add def
+ /m dx0 dy0 Atan dx1 dy1 Atan sub 2 div cos abs b exp a mul dx dy Pyth Div 2 div def
+ /x2 x l0 dx mul m mul sub def
+ /y2 y l0 dy mul m mul sub def
+ /dx l1 dx mul m mul neg def
+ /dy l1 dy mul m mul neg def
+} def
+%
+/IC {
+ /c c 1 add def
+ c 0 lt { /c 0 def } { c 3 gt { /c 3 def } if } ifelse
+ /a a 2 mul 3 div 45 cos b exp div def
+ CCA
+ /dx 0 def
+ /dy 0 def
+} def
+%
+/BOC { IC CC x2 y2 x1 y1 ArrowA CP 4 2 roll x y curveto } def
+/NC { CC x1 y1 x2 y2 x y curveto } def
+/EOC { x dx sub y dy sub 4 2 roll ArrowB 2 copy curveto } def
+/BAC { IC CC x y moveto CC x1 y1 CP ArrowA } def
+/NAC { x2 y2 x y curveto CC x1 y1 } def
+/EAC { x2 y2 x y ArrowB curveto pop pop } def
+%
+/OpenCurve {
+ NArray n 3 lt
+ { n { pop pop } repeat }
+ { BOC /n n 3 sub def n { NC } repeat EOC } ifelse
+} def
+%
+/CurvePath {
+ %% for negative SymStep we calculate the distance
+ SymStep 0 lt { gsave PathLength SymStep div abs /SymStep ED grestore } if
+ 0.5 setflat
+ flattenpath /z 0 def /z0 0 def
+ { /y1 ED /x1 ED /y2 y1 def /x2 x1 def
+ x1 Shift sub y1 Shift sub moveto
+ gsave
+ curveticks
+ { x1 y1 translate startAngle rotate
+ 0 SymbolWidth 2 div moveto 0 SymbolWidth 2 div neg lineto
+ SymbolLinewidth setlinewidth stroke
+ }
+ { startAngle rotate Symbol show }
+ ifelse
+ grestore /z0 z def }
+ { /y ED /x ED PathLength@ z z0 sub SymStep ge {
+ x Shift sub y Shift sub moveto
+ gsave
+ curveticks
+ { y yOld sub x xOld sub Atan 180 sub CorrAngle sub /rotAngle ED
+ x y translate rotAngle rotate
+ 0 SymbolWidth 2 div moveto 0 SymbolWidth 2 div neg lineto
+ SymbolLinewidth setlinewidth stroke
+ }
+ {
+ rotateSymbol { y yOld sub x xOld sub Atan 180 sub CorrAngle sub rotate } if
+ Symbol show
+ }
+ ifelse
+ grestore /z0 z def } if
+ /yOld y def /xOld x def }
+ {} %% the lineto part
+ { /y y2 def /x x2 def PathLength@
+ x Shift sub y Shift sub moveto
+ gsave
+ curveticks
+ { y yOld sub x xOld sub Atan 180 sub /rotAngle ED
+ x y translate rotAngle rotate
+ 0 SymbolWidth 2 div moveto 0 SymbolWidth 2 div neg lineto
+ SymbolLinewidth setlinewidth stroke
+ }
+ {
+ x Shift sub y Shift sub moveto
+ rotateSymbol { y yOld sub x xOld sub Atan 180 sub CorrAngle sub rotate } if
+ Symbol show
+ }
+ ifelse
+ grestore
+ }
+ pathforall
+% curveticks
+% { gsave
+% x y translate rotAngle rotate
+% 0 SymbolWidth 2 div moveto 0 SymbolWidth 2 div neg lineto
+% SymbolLinewidth setlinewidth stroke grestore
+% } if
+ z
+} def
+%
+/OpenSymbolCurve {
+ OpenCurve
+ 0.1 setflat
+ /Shift Symbol stringwidth pop 2 div def
+ CurvePath
+} def
+%
+/AltCurve {
+ { false NArray n 2 mul 2 roll
+ [ n 2 mul 3 sub 1 roll ] aload
+ /Points ED
+ n 2 mul -2 roll }
+ { false NArray } ifelse
+ n 4 lt { n { pop pop } repeat } { BAC /n n 4 sub def n { NAC } repeat EAC } ifelse
+} def
+%
+/AltOpenSymbolCurve {
+ AltCurve
+ 0.1 setflat
+ /Shift Symbol stringwidth pop 2 div def
+ CurvePath
+} def
+%
+/ClosedCurve {
+ NArray n 3 lt
+ { n { pop pop } repeat }
+ { n 3 gt { CheckClosed } if
+ 6 copy n 2 mul 6 add 6 roll
+ IC CC x y moveto n { NC } repeat
+ closepath pop pop
+ } ifelse
+} def
+%
+/ClosedSymbolCurve {
+ ClosedCurve
+ 0.1 setflat
+ /Shift Symbol stringwidth pop 2 div def
+ CurvePath
+} def
+%
+/SQ { /r ED r r moveto r r neg L r neg r neg L r neg r L fill } def
+/ST { /y ED /x ED x y moveto x neg y L 0 x L fill } def
+/SP { /r ED gsave 0 r moveto 4 { 72 rotate 0 r L } repeat fill grestore } def
+%
+/FontDot {
+ DS 2 mul dup
+ matrix scale matrix concatmatrix exch matrix
+ rotate matrix concatmatrix exch
+ findfont exch makefont setfont
+} def
+%
+/Rect {
+ x1 y1 y2 add 2 div moveto
+ x1 y2 lineto
+ x2 y2 lineto
+ x2 y1 lineto
+ x1 y1 lineto
+ closepath
+} def
+%
+/OvalFrame {
+ x1 x2 eq y1 y2 eq or
+ { pop pop x1 y1 moveto x2 y2 L }
+ { y1 y2 sub abs x1 x2 sub abs 2 copy gt
+ { exch pop } { pop } ifelse
+ 2 div exch { dup 3 1 roll mul exch } if
+ 2 copy lt { pop } { exch pop } ifelse
+ /b ED
+ x1 y1 y2 add 2 div moveto
+ x1 y2 x2 y2 b arcto
+ x2 y2 x2 y1 b arcto
+ x2 y1 x1 y1 b arcto
+ x1 y1 x1 y2 b arcto
+ 16 { pop } repeat
+ closepath
+ } ifelse
+} def
+%
+/Frame {
+ CLW mul /a ED
+ 3 -1 roll
+ 2 copy gt { exch } if
+ a sub /y2 ED
+ a add /y1 ED
+ 2 copy gt { exch } if
+ a sub /x2 ED
+ a add /x1 ED
+ 1 index 0 eq { pop pop Rect } { OvalFrame } ifelse
+} def
+%
+/BezierNArray {
+ /f ED
+ counttomark 2 div dup cvi /n ED
+ n eq not { exch pop } if
+ n 1 sub neg 3 mod 3 add 3 mod { 0 0 /n n 1 add def } repeat
+ f { ] aload /Points ED } { n 2 mul 1 add -1 roll pop } ifelse
+} def
+%
+/OpenBezier {
+ BezierNArray
+ n 1 eq
+ { pop pop }
+ { ArrowA n 4 sub 3 idiv
+ { 6 2 roll 4 2 roll curveto } repeat
+ 6 2 roll 4 2 roll ArrowB curveto } ifelse
+} def
+%
+/OpenSymbolBezier {
+ OpenBezier
+ 0.1 setflat
+ /Shift Symbol stringwidth pop 2 div def
+ CurvePath
+} def
+%
+/ClosedBezier {
+ BezierNArray
+ n 1 eq
+ { pop pop }
+ { moveto n 1 sub 3 idiv
+ { 6 2 roll 4 2 roll curveto } repeat
+ closepath } ifelse
+} def
+%
+/ClosedSymbolBezier {
+ /f ED % save showpoints value
+ 2 copy /yEnd ED /xEnd ED
+ counttomark -2 roll 2 copy /yStart ED /xStart ED
+ counttomark 2 roll
+ f
+ ClosedBezier
+ 0.1 setflat
+ /Shift Symbol stringwidth pop 2 div def
+ CurvePath
+ [ xEnd yEnd xStart yStart SymbolLine
+} def
+%
+/BezierShowPoints {
+ gsave
+ Points aload length 2 div cvi /n ED
+ moveto
+ n 1 sub { lineto } repeat
+ CLW 2 div SLW [ 4 4 ] 0 setdash stroke
+ grestore
+} def
+%
+/Parab {
+ /y0 ED /x0 ED /y1 ED /x1 ED
+ /dx x0 x1 sub 3 div def
+ /dy y0 y1 sub 3 div def
+ x0 dx sub y0 dy add x1 y1 ArrowA
+ x0 dx add y0 dy add x0 2 mul x1 sub y1 ArrowB
+ curveto
+ /Points [ x1 y1 x0 y0 x0 2 mul x1 sub y1 ] def
+} def
+%
+/Parab1 { % 1 end | 0 SP
+ /ySP ED /xSP ED /y1 ED /x1 ED
+ /dx xSP x1 sub 3 div def
+ /dy ySP y1 sub 3 div def
+ newpath x1 y1 moveto xSP y1 lineto xSP ySP lineto
+ x1 ySP lineto closepath clip
+ currentpoint
+ newpath moveto
+ xSP dx sub ySP dy add x1 y1 ArrowA
+ xSP dx add ySP dy add xSP 2 mul x1 sub y1 ArrowB
+ curveto
+ /Points [ x1 y1 xSP ySP xSP 2 mul x1 sub y1 ] def
+} def
+%
+/Grid {
+ newpath
+ /a 4 string def
+ /b ED % psk@gridlabels in pt
+ /c ED % { \pst@usecolor\psgridlabelcolor }
+ /n ED % psk@griddots
+ cvi dup 1 lt { pop 1 } if
+ /s ED % \psk@subgriddiv
+ s div dup 0 eq { pop 1 } if
+ /dy ED s div dup 0 eq { pop 1 } if % \pst@number\psyunit abs
+ /dx ED dy div round dy mul % \pst@number\psxunit abs
+ /y0 ED dx div round dx mul
+ /x0 ED dy div round cvi
+ /y2 ED dx div round cvi
+ /x2 ED dy div round cvi
+ /y1 ED dx div round cvi
+ /x1 ED
+ /h y2 y1 sub 0 gt { 1 } { -1 } ifelse def
+ /w x2 x1 sub 0 gt { 1 } { -1 } ifelse def
+ b 0 gt {
+ /z1 b 4 div CLW 2 div add def
+% /Helvetica findfont b scalefont setfont
+ /b b .95 mul CLW 2 div add def } if
+ systemdict /setstrokeadjust known
+ { true setstrokeadjust /t { } def }
+ { /t { transform 0.25 sub round 0.25 add exch 0.25 sub round 0.25 add
+ exch itransform } bind def } ifelse
+ gsave n 0 gt { 1 setlinecap [ 0 dy n div ] dy n div 2 div setdash } { 2 setlinecap } ifelse
+ /i x1 def
+ /f y1 dy mul n 0 gt { dy n div 2 div h mul sub } if def
+ /g y2 dy mul n 0 gt { dy n div 2 div h mul add } if def
+ x2 x1 sub w mul 1 add dup 1000 gt { pop 1000 } if
+ { i dx mul dup y0 moveto
+ b 0 gt
+ { gsave c i a cvs dup stringwidth pop
+ /z2 ED w 0 gt {z1} {z1 z2 add neg} ifelse
+ h 0 gt {b neg}{z1} ifelse
+ rmoveto show grestore } if
+ dup t f moveto
+ g t L stroke
+ /i i w add def
+ } repeat
+ grestore
+ gsave
+ n 0 gt
+ % DG/SR modification begin - Nov. 7, 1997 - Patch 1
+ %{ 1 setlinecap [ 0 dx n div ] dy n div 2 div setdash }
+ { 1 setlinecap [ 0 dx n div ] dx n div 2 div setdash }
+ % DG/SR modification end
+ { 2 setlinecap } ifelse
+ /i y1 def
+ /f x1 dx mul n 0 gt { dx n div 2 div w mul sub } if def
+ /g x2 dx mul n 0 gt { dx n div 2 div w mul add } if def
+ y2 y1 sub h mul 1 add dup 1000 gt { pop 1000 } if
+ { newpath i dy mul dup x0 exch moveto
+ b 0 gt { gsave c i a cvs dup stringwidth pop
+ /z2 ED
+ w 0 gt {z1 z2 add neg} {z1} ifelse
+ h 0 gt {z1} {b neg} ifelse
+ rmoveto show grestore } if
+ dup f exch t moveto
+ g exch t L stroke
+ /i i h add def
+ } repeat
+ grestore
+} def
+%
+/ArcArrow {
+ /d ED /b ED /a ED
+ gsave
+ newpath 0 -1000 moveto clip
+ newpath
+ 0 1 0 0 b
+ grestore
+ c mul
+ /e ED
+ pop pop pop r a e d PtoC y add exch x add
+ exch r a PtoC y add exch x add exch b pop pop pop pop a e d CLW 8 div c
+ mul neg d
+} def
+%
+/Ellipse {
+ /rotAngle ED
+ /mtrx CM def
+ T
+ rotAngle rotate
+ scale 0 0 1 5 3 roll arc
+ mtrx setmatrix
+} def
+%
+/ArcAdjust { %%%% Vincent Guirardel
+% given a target length (targetLength) and an initial angle (angle0) [in the stack],
+% let M(angle0)=(rx*cos(angle0),ry*sin(angle0))=(x0,y0).
+% This computes an angle t such that (x0,y0) is at distance
+% targetLength from the point M(t)=(rx*cos(t),ry*sin(t)).
+% NOTE: this an absolute angle, it does not have to be added or substracted to angle0
+% contrary to TvZ's code.
+% To achieve, this, one iterates the following process: start with some angle t,
+% compute the point M' at distance targetLength of (x0,y0) on the semi-line [(x0,y0) M(t)].
+% Now take t' (= new angle) so that (0,0) M(t') and M' are aligned.
+%
+% Another difference with TvZ's code is that we need d (=add/sub) to be defined.
+% the value of d = add/sub is used to know on which side we have to move.
+% It is only used in the initialisation of the angle before the iteration.
+%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+% Input stack: 1: target length 2: initial angle
+% variables used : rx, ry, d (=add/sub)
+%
+ /targetLength ED /angle0 ED
+ /x0 rx angle0 cos mul def
+ /y0 ry angle0 sin mul def
+% we are looking for an angle t such that (x0,y0) is at distance targetLength
+% from the point M(t)=(rx*cos(t),ry*sin(t)))
+%initialisation of angle (using 1st order approx = TvZ's code)
+ targetLength 57.2958 mul
+ angle0 sin rx mul dup mul
+ angle0 cos ry mul dup mul
+ add sqrt div
+% if initialisation angle is two large (more than 90 degrees) set it to 90 degrees
+% (if the ellipse is very curved at the point where we draw the arrow, %
+% the value can be much more than 360 degrees !)
+% this should avoid going on the wrong side (more than 180 degrees) or go near
+% a bad attractive point (at 180 degrees)
+ dup 90 ge { pop 90 } if
+ angle0 exch d % add or sub
+% maximum number of times to iterate the iterative procedure:
+% iterative procedure: takes an angle t on top of stack, computes a
+% better angle (and put it on top of stack)
+ 30 { dup
+% compute distance D between (x0,y0) and M(t)
+ dup cos rx mul x0 sub dup mul exch sin ry mul y0 sub dup mul add sqrt
+% if D almost equals targetLength, we stop
+ dup targetLength sub abs 1e-5 le { pop exit } if
+% stack now contains D t
+% compute the point M(t') at distance targetLength of (x0,y0) on the semi-line [(x0,y0) M(t)]:
+% M(t')= ( (x(t)-x0)*targetLength/d+x0 , (y(t)-y0)*targetLength/d+y0 )
+ exch dup cos rx mul x0 sub exch sin ry mul y0 sub
+% stack contains: y(t)-y0, x(t)-x0, d
+ 2 index Div targetLength mul y0 add ry Div exch
+ 2 index Div targetLength mul x0 add rx Div
+% stack contains x(t')/rx , y(t')/ry , d
+% now compute t', and remove D from stack
+ atan exch pop
+ } repeat
+% we don't look at what happened... in particular, if targetLength is greater
+% than the diameter of the ellipse...
+% the final angle will be around /angle0 + 180. maybe we should treat this pathological case...
+% after iteration, stack contains an angle t such that M(t) is the tail of the arrow
+% to give back the result as a an angle relative to angle0 we could add the following line:
+% angle0 sub 0 exch d
+%
+% begin bug fix 2006-01-11
+% we want to adjust the new angle t' by a multiple of 360 so that | t'-angle0 | <= 180
+%(we don't want to make the ellipse turn more or less than it should)...
+dup angle0 sub dup abs 180 gt { 180 add 360 div floor 360 mul sub } { pop } ifelse
+% end bug fix
+} def
+%
+/EllipticArcArrow {
+ /d ED % is add or sub
+ /b ED % arrow procedure
+ /a1 ED % angle
+ gsave
+ newpath
+ 0 -1000 moveto
+ clip % Set clippath far from arrow.
+ newpath
+ 0 1 0 0 b % Draw arrow to determine length.
+ grestore
+% Length of arrow is on top of stack. Next 3 numbers are junk.
+%
+ a1 exch ArcAdjust % Angular position of base of arrow.
+ /a2 ED
+ pop pop pop
+ a2 cos rx mul xOrig add % hv 2007-08-29 x->xOrig
+ a2 sin ry mul yOrig add % hv 2007-08-29 y->yOrig
+ a1 cos rx mul xOrig add %
+ a1 sin ry mul yOrig add %
+% Now arrow tip coor and base coor are on stack.
+ b pop pop pop pop % Draw arrow, and discard coordinates.
+ a2 CLW 8 div
+% change value of d (test it by looking if `` 1 1 d '' gives 2 or not )
+ 1 1 d 2 eq { /d { sub } def } { /d { add } def } ifelse
+ ArcAdjust
+% resets original value of d
+ 1 1 d 2 eq { /d { sub } def } { /d { add } def } ifelse % Adjust angle to give overlap.
+} def
+%%------------------ tvz/DG/hv (2004-05-10) end -------------------%%
+%
+/Rot { CP CP translate 3 -1 roll neg rotate NET } def
+%
+/RotBegin {
+ tx@Dict /TMatrix known not { /TMatrix { } def /RAngle { 0 } def } if
+ /TMatrix [ TMatrix CM ] cvx def
+ /a ED
+ a Rot /RAngle [ RAngle dup a add ] cvx def
+} def
+%
+/RotEnd {
+ /TMatrix [ TMatrix setmatrix ] cvx def
+ /RAngle [ RAngle pop ] cvx def
+} def
+%
+/PutCoor { gsave CP T CM STV exch exec moveto setmatrix CP grestore } def
+/PutBegin { /TMatrix [ TMatrix CM ] cvx def CP 4 2 roll T moveto } def
+/PutEnd { CP /TMatrix [ TMatrix setmatrix ] cvx def moveto } def
+%
+/Uput {
+ /a ED
+ add 2 div /h ED 2
+ div /w ED
+ /s a sin def
+ /c a cos def
+ /b s abs c abs 2 copy gt dup
+ /q ED
+ { pop } { exch pop } ifelse def
+ /w1 c b div w mul def
+ /h1 s b div h mul def
+ q { w1 abs w sub dup c mul abs }{ h1 abs h sub dup s mul abs } ifelse
+} def
+%
+/UUput {
+ /z ED
+ abs /y ED
+ /x ED
+ q { x s div c mul abs y gt }{ x c div s mul abs y gt } ifelse
+ { x x mul y y mul sub z z mul add sqrt z add }
+ { q { x s div } { x c div } ifelse abs
+ } ifelse
+ a PtoC
+ h1 add exch
+ w1 add exch
+} def
+%
+/BeginOL {
+ dup (all) eq exch TheOL eq or
+ { IfVisible not { Visible /IfVisible true def } if }
+ { IfVisible { Invisible /IfVisible false def } if } ifelse
+} def
+%
+/InitOL {
+ /OLUnit [ 3000 3000 matrix defaultmatrix dtransform ] cvx def
+ /Visible { CP OLUnit idtransform T moveto } def
+ /Invisible { CP OLUnit neg exch neg exch idtransform T moveto } def
+ /BOL { BeginOL } def
+ /IfVisible true def
+} def
+%
+%%%%%%%%%%%%%%%%% tools %%%%%%%%%%%%%%%%%%%%%%%%%
+%%%%% ### bubblesort ###
+%% syntax : array bubblesort --> array2 trie par ordre croissant
+%% code de Bill Casselman
+%% http://www.math.ubc.ca/people/faculty/cass/graphics/text/www/
+/bubblesort {
+4 dict begin
+ /a exch def
+ /n a length 1 sub def
+ n 0 gt {
+ % at this point only the n+1 items in the bottom of a remain to
+ % the sorted largest item in that blocks is to be moved up into
+ % position n
+ n {
+ 0 1 n 1 sub {
+ /i exch def
+ a i get a i 1 add get gt {
+ % if a[i] > a[i+1] swap a[i] and a[i+1]
+ a i 1 add
+ a i get
+ a i a i 1 add get
+ % set new a[i] = old a[i+1]
+ put
+ % set new a[i+1] = old a[i]
+ put
+ } if
+ } for
+ /n n 1 sub def
+ } repeat
+ } if
+ a
+end
+} def
+%
+%
+/concatstringarray{ % [(a) (b) ... (z)] --> (ab...z) 20100422
+ 0 1 index { length add } forall
+ string
+ 0 3 2 roll
+ { 3 copy putinterval length add }forall
+ pop
+} bind def
+%
+/dot2comma {% on stack a string (...)
+ 2 dict begin
+ /Output exch def
+ 0 1 Output length 1 sub {
+ /Index exch def
+ Output Index get 46 eq { Output Index 44 put } if
+ } for
+ Output
+ end
+} def
+%
+end
+%-----------------------------------------------------------------------------%
+%
+% END pstricks.pro
+
+%%EndProcSet
+%%BeginProcSet: pst-algparser.pro 0 0
+% $Id: pst-algparser.pro 594 2011-10-31 18:13:18Z herbert $
+%%
+%% PostScript prologue for PSTricks algorithm parser
+%% Version 0.04, 2011/10/21
+%%
+%% This program can be redistributed and/or modified under the terms
+%% of the LaTeX Project Public License Distributed from CTAN archives
+%% in directory macros/latex/base/lppl.txt.
+%%
+%%-----------------------------------------------------------------------------%
+%
+/AlgParser { tx@AlgToPs begin AlgToPs end } def % Dominique Rodriguez
+%
+/tx@CoreAnalyzerDict 100 dict def tx@CoreAnalyzerDict begin
+%
+% PS ANALYZER FOR ALGEBRAIC EXPRESSION V1.13
+%
+% 09/2011 DR factorial with ! added
+%
+% E->T|E+T
+% T->FS|T*FS
+% FS -> F | +FS | -FS
+% F->P|F^SF|P!
+% P->(E)|literal
+% literal->number|var|var[E]|func(params)
+% params->E|E,param
+% number->TOBEFINISHED
+%
+%% E expression, T term, SF signed factor, F factor, P power
+%
+%% parser
+%
+%% str
+%
+%% C->E<condition_operators>E
+%% STR index -> STR index+lenExpr
+/AnalyzeCond { AnalyzeExpr ReadCondOp AnalyzeExpr EvalCondOp } def
+%
+%% analyze Expression List (separator , or | )
+%% STR index -> STR index+lenExpr
+%% /AnalyzeListOfE {
+%% { NextNonBlankChar pop AnalyzeExpr%%dup Strlen eq { exit } if NextNonBlankChar
+%% NextNonBlankChar dup 0 eq { pop exit } if
+%% dup 44 ne 1 index 124 ne and { dup 41 ne { PROBLEMCONTACTBILLOU } { pop exit } ifelse } if
+%% pop NextNonBlankChar dup 0 eq { exit } if 124 ne { PROBLEMCONTACTBILLOU } if 1 add NextNonBlankChar 0 eq {toto} if } loop
+%% AnalyzeListOfEPostHook
+%% } def
+/AnalyzeListOfE {
+ /NotFirst false def
+ { NextNonBlankChar pop AnalyzeExpr
+ NotFirst { EvalListOfExpr } { /NotFirst true def } ifelse
+ dup Strlen eq { exit } if NextNonBlankChar
+ dup 44 ne 1 index 124 ne and
+ { dup 41 ne { PROBLEMCONTACTBILLOU } { pop exit } ifelse }
+ if pop 1 add } loop
+ AnalyzeListOfEPostHook
+} def
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%% E->T|E+T
+%% STR index -> STR index+lenExpr
+/AnalyzeExpr {
+ AnalyzePreHook AnalyzeTerm IsEndingExpr
+ { dup 0 ne { 32 eq { NextNonBlankChar } if } { pop } ifelse }
+ { { RollOp 1 add NextNonBlankChar pop AnalyzeTerm PreEvalHook EvalAddSub IsEndingExpr { pop exit } if } loop }
+ ifelse
+ AnalyzePostHook
+} def
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%% T->FS|T*FS
+%% STR index
+/AnalyzeTerm {
+ AnalyzePreHook AnalyzeSignedFactor IsEndingTerm
+ { dup 0 ne { 32 eq { NextNonBlankChar } if } { pop } ifelse }
+ { { RollOp 1 add NextNonBlankChar pop AnalyzeSignedFactor PreEvalHook EvalMulDiv IsEndingTerm { pop exit } if} loop }
+ ifelse
+ AnalyzePostHook
+} def
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%% FS -> F | +FS | -FS
+%% STR index
+/AnalyzeSignedFactor {
+ AnalyzePreHook 2 copy get dup IsUnaryOp
+ { RollOp 1 add NextNonBlankChar pop AnalyzeSignedFactor EvalUnaryOp }
+ { pop AnalyzeFactor }
+ ifelse AnalyzePostHook
+} def
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%% F->P|F^P|P!
+%% STR index
+/AnalyzeFactor {
+ AnalyzePreHook AnalyzePower IsEndingFactor
+ { dup 0 ne { 32 eq { NextNonBlankChar } if } { pop } ifelse }
+ { { dup 33 eq%% is there a ! DR 09/2011
+ { pop 1 add NextNonBlankChar pop EvalFactorial }
+ { RollOp 1 add NextNonBlankChar pop AnalyzePower PreEvalHook EvalPower }
+ ifelse
+ IsEndingFactor { pop exit } if } loop }
+ ifelse AnalyzePostHook
+} def
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%% P->(E)|literal
+%% STR index
+/AnalyzePower {
+ %% depending of first char either a number, or a literal
+ 2 copy get dup 40 eq%%an open par
+ { pop 1 add NextNonBlankChar pop AnalyzeExpr 1 add NextNonBlankChar pop }
+ { AnalyzeLiteral }
+ ifelse
+} def
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%% STR index STR[index] -> STR index
+%/AnalyzeLiteral { IsNumber { EvalNumber } { EvalLiteral } ifelse } def
+/AnalyzeLiteral { dup IsUnaryOp exch IsNumber or { EvalNumber } { EvalLiteral } ifelse } def%%dr 09102006
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%% recognize + or -
+%% chr -> T/F
+/IsUnaryOp { dup 43 eq exch 45 eq or } bind def
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%% a number can contain only : 0123456789.
+%% chr -> T/F
+/IsNumber { dup 48 ge exch dup 57 le 3 -1 roll and exch 46 eq or } bind def
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%% STR index -> STR index number
+%% a number can be of the form [0-9]*.[0-9]*\([eE][+-]?[0-9]+\)?
+%% STR index -> STR index' number
+/ReadNumber {
+ exch dup 3 -1 roll dup 3 1 roll
+ %%read mantissa
+ { 1 add 2 copy dup Strlen eq { pop pop 0 exit } if get dup IsNumber not { exit } if pop } loop
+ dup 101 eq exch 69 eq or
+ %%% there is a "e" or "E" -> read exponant
+ { 1 add 2 copy get dup IsUnaryOp
+ { pop 1 add 2 copy get } if
+ { IsNumber not { exit } if 1 add 2 copy get } loop }
+ if
+ dup 4 1 roll
+ 3 -1 roll exch 1 index sub getinterval
+} def
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%% a number can contain only : 0123456789.
+%% chr -> T/F
+/IsCondOp { dup 30 eq exch dup 60 ge exch 62 le and or } bind def
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%% STR index -> STR index number
+%% a number can be of the form [0-9]*.[0-9]*\([eE][+-]?[0-9]+\)?
+%% STR index -> STR index' number
+/ReadCondOp {
+ NextNonBlankChar 1 index 4 1 roll
+ { IsCondOp not { exit } if 1 add 2 copy get } loop
+ 2 copy 5 -1 roll
+ exch 1 index sub getinterval 3 1 roll
+} def
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%% a literal can contain only : 0123456789.
+%% chr -> T/F
+/IsLiteral {%
+ dup 48 ge exch dup 57 le 3 -1 roll and exch
+ dup 65 ge exch dup 90 le 3 -1 roll and 3 -1 roll or exch
+ dup 97 ge exch 122 le and or } bind def
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%% a literal can be of the form [a-zA-Z][a-zA-Z0-9]*\(\((Expression)\)|\(\[Expression\]\)\)?
+%% STR index -> literal STR index' nextchr
+/ReadLiteral {
+ exch dup 3 -1 roll dup 3 1 roll
+ %%read literal core
+ { 2 copy dup Strlen eq { pop pop 0 exit } if get dup IsLiteral not { exit } if pop 1 add } loop
+ 4 1 roll dup 5 1 roll 3 -1 roll exch 1 index sub getinterval 4 1 roll
+} def
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%% expr is ended by end of str or a clpar
+%% STR index -> STR index STR[index] T/F
+/IsEndingExpr {%
+ 2 copy dup Strlen eq
+ %% if end of str is reached -> end !
+ { pop pop 0 true }
+ %% ending chr -> clpar, comma, |, <, >, =, !,
+ {get dup dup 41 eq
+ exch dup 124 eq
+ exch dup 93 eq
+ exch dup 44 eq
+ exch dup 30 eq
+ exch dup 60 ge exch 62 le and or or or or or}
+ ifelse } def
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%% expr is ended by end of str or a +-
+%% STR index -> STR index STR[index] T/F
+/IsEndingTerm { IsEndingExpr { true } { dup dup 43 eq exch 45 eq or } ifelse } def
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%% expr is ended by end of str or */
+%% STR index -> STR index STR[index] T/F
+/IsEndingFactor { IsEndingTerm { true } { dup dup 42 eq exch 47 eq or } ifelse } def
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%% expr is ended by end of str or ^
+%% STR index -> STR index STR[index] T/F
+/IsEndingPower { IsEndingFactor { true } { dup 94 eq } ifelse } def
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%% STR index -> STR index STR[index]
+/NextNonBlankChar { { dup Strlen eq { 0 exit } if 2 copy get dup neBlkChar { exit } if pop 1 add } loop } bind def
+/neBlkChar { dup 32 ne exch dup 10 ne exch 9 ne and and } bind def
+%%%%%%%%%%%%%%%%%%%%%%%%
+%% DEBUG
+/BRK {false} def
+/BRKtrue {/BRK true def} def
+/BRKStop {BRK {BRKtoto} if } def
+/BRKEvalStop {BRK exch if } def
+/BRKBRK2true {BRK {BRK2true} if } def
+/BRK2 {false} def
+/BRK2true {/BRK2 true def} def
+/BRK2Stop {BRK2 {BRK2toto} if } def/BRK {false} def
+end
+%
+%-------------------------------------------------------------------------------%
+%
+/tx@AlgToPs 12 dict def tx@AlgToPs begin
+%
+%% algExpr -> PSVector
+/AlgToPs { tx@CoreAnalyzerDict begin InitParser AnalyzeListOfE pop pop EndingSequence end } def
+/EndingSequence { ExpressionVector aload length /end cvx exch 1 add array astore } def
+/InitParser { /ExpressionVector [ /tx@AddMathFunc cvx /begin cvx ] def dup length /Strlen exch def 0 } def
+/Strlen 0 def
+/EvalListOfExpr {} def%
+/EvalNumber {%
+ ReadNumber cvr /ExpressionVector ExpressionVector aload length dup 3 add -1 roll cvx
+ exch 1 add array astore def NextNonBlankChar pop } def
+/EvalAddSub {%
+ /ExpressionVector ExpressionVector aload length dup 5 add -1 roll
+ 43 eq { /add } { /sub } ifelse cvx exch 1 add array astore def
+} def
+/EvalMulDiv {%
+ /ExpressionVector ExpressionVector aload length dup 5 add -1 roll
+ 42 eq { /mul } { /div } ifelse cvx exch 1 add array astore def
+} def
+/EvalPower {%
+ /ExpressionVector ExpressionVector aload length dup 5 add -1 roll
+ pop /exp cvx exch 1 add array astore def
+} def
+/EvalFactorial {% DR 09/2011
+ /ExpressionVector ExpressionVector aload length
+ /fact cvx exch 1 add array astore def
+} def
+/EvalLiteral {%
+ ReadLiteral
+ dup 40 eq%%% there is an open par -> function call
+ { pop 2 index
+ dup (Sum) eq { EvalSum }
+ { dup (IfTE) eq { EvalCond }
+ { dup (Derive) eq { pop EvalDerive }
+ { pop 1 add NextNonBlankChar pop AnalyzeListOfE 2 index TrigoFunc
+ /ExpressionVector ExpressionVector aload length dup 5 add -1 roll cvn cvx
+ exch 1 add array astore def 1 add NextNonBlankChar pop } ifelse } ifelse} ifelse }
+ { /ExpressionVector ExpressionVector aload length dup 6 add -1 roll cvn cvx exch 1 add array astore def
+ dup 91 eq%%% there is an open bracket -> vector element
+ { pop 1 add NextNonBlankChar pop AnalyzeExpr
+ /ExpressionVector ExpressionVector aload length /cvi cvx exch /get cvx exch 2 add array astore def 1 add }
+ { pop NextNonBlankChar pop }
+ ifelse}
+ ifelse
+} def
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%% the derive function : Derive(n,f(x))
+%% firstparindex lastparindex ->
+/EvalDerive {
+ %% manage the function descripiton
+ 1 add ReadNumber 3 1 roll NextNonBlankChar
+ 44 ne { ANALYZER_ERROR_missing_second_comma_in_Sum } if
+ 1 add NextNonBlankChar pop
+ 3 -1 roll cvi
+ dup 0 eq
+ { pop AnalyzeExpr 3 -1 roll pop 1 add }
+ { 1 sub 3 1 roll (x) exch tx@Derive begin DeriveIndexed end 4 -1 roll
+ { (x) tx@Derive begin Derive end } repeat
+ ExpressionVector exch /ExpressionVector [] def
+ AlgToPs aload length
+ /ExpressionVector 1 index 3 add -1 roll aload length dup 3 add -1 roll /l2 exch def /l1 exch def
+ l1 l2 add 1 add l2 neg roll l1 l2 add array astore def 3 -1 roll pop 1 add
+ 1 index length /Strlen exch def } ifelse
+} def
+/EvalSum {%
+ pop 1 add NextNonBlankChar pop
+ %% read the variable name
+ ReadLiteral pop NextNonBlankChar
+ 44 ne { ANALYZER_ERROR_missing_first_comma_in_Sum } if
+ %% read the initial value
+ 1 add NextNonBlankChar pop ReadNumber cvi 3 1 roll
+ 2 copy get 44 ne { ANALYZER_ERROR_missing_second_comma_in_Sum } if
+ %% read the increment value
+ 1 add NextNonBlankChar pop ReadNumber cvi 3 1 roll
+ 2 copy get 44 ne { ANALYZER_ERROR_missing_second_comma_in_Sum } if
+ %% read the limit value
+ 1 add NextNonBlankChar pop ReadNumber cvi 3 1 roll
+ 2 copy get 44 ne { ANALYZER_ERROR_missing_second_comma_in_Sum } if
+ /ExpressionVector ExpressionVector aload length dup 7 add -3 roll 0 4 1 roll
+ 5 -1 roll 4 add array astore def
+ %% keep ExpressionVector for later and create a new one for internal Sum computation
+ ExpressionVector 3 1 roll /ExpressionVector [ 6 -1 roll cvn /exch cvx /def cvx ] def
+ 1 add NextNonBlankChar pop AnalyzeExpr
+ %% add each term
+ /ExpressionVector ExpressionVector aload length 1 add /add cvx exch array astore def
+ /ExpressionVector 4 -1 roll aload length ExpressionVector cvx /for cvx 3 -1 roll 2 add
+ array astore def 3 -1 roll pop 1 add
+} def
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%% Convert to radians if trigo function call
+%% (name) ->
+/TrigoFunc {
+ dup (cos) eq 1 index (sin) eq or exch (tan) eq or
+ { /ExpressionVector ExpressionVector aload length Pi /div cvx 180 /mul cvx 5 -1 roll 4 add
+ array astore def
+ } if
+} def
+/EvalCond {%
+ pop 1 add AnalyzeCond NextNonBlankChar
+ 44 ne { ANALYZER_ERROR_missing_first_comma_in_IfTE } if
+ ExpressionVector 3 1 roll /ExpressionVector [] def
+ 1 add AnalyzeExpr ExpressionVector 3 1 roll /ExpressionVector [] def
+ NextNonBlankChar 44 ne { ANALYZER_ERROR_missing_second_comma_in_IfTE } if
+ 1 add AnalyzeExpr
+ NextNonBlankChar 41 ne { ANALYZER_ERROR_missing_ending parenthesis_in_IfTE } if
+ ExpressionVector
+ /ExpressionVector 6 -1 roll aload length dup
+ 6 add -1 roll cvx exch dup 4 add -1 roll cvx /ifelse cvx 3 -1 roll 3 add array astore def
+ 1 add 3 -1 roll pop
+} def
+%% CondOp STR index
+/EvalCondOp {%
+ 3 -1 roll
+ dup (=) eq { /eq } {%
+ dup (<) eq { /lt } {%
+ dup (>) eq { /gt } {%
+ dup (>=) eq { /ge } {%
+ dup (<=) eq { /ge } {%
+ dup (!=) eq { /ne } { ERROR_non_valid_conditional_operator }
+ ifelse } ifelse } ifelse } ifelse } ifelse } ifelse
+ cvx exch pop
+ /ExpressionVector ExpressionVector aload length dup 3 add -1 roll exch 1 add array astore def } def
+/EvalUnaryOp {
+ 3 -1 roll 45 eq { /ExpressionVector ExpressionVector aload length /neg cvx exch 1 add array astore def } if
+} def
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%% H O O K S
+/AnalyzePreHook {} bind def
+/PreEvalHook {} bind def
+/AnalyzeListOfEPostHook {} bind def
+/AnalyzePostHook {} def
+/RollOp { 3 1 roll } bind def
+end %tx@CoreAnalyzerDict
+%
+%--------------------------------------------------------------------%
+%
+/tx@Derive 41 dict def tx@Derive begin
+%%increase ^^ for each function added
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%% algExpr variable -> PSVector
+/Derive {%
+ 10240 string 3 1 roll 0 3 1 roll
+ /Variable exch def
+ tx@CoreAnalyzerDict begin InitParser AnalyzeListOfE end
+} def
+/Strlen 0 def
+/InitParser { dup length /Strlen exch def 0 } def
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%% algExpr variable index -> PSVector
+/DeriveIndexed {%
+ 3 1 roll 10240 string 3 1 roll 0 3 1 roll
+ /Variable exch def
+ tx@CoreAnalyzerDict begin InitParser pop 4 -1 roll AnalyzeExpr 4 -2 roll pop pop 4 -2 roll exch pop end
+} def
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%% (u,v)'=-(u',v')
+/EvalListOfExpr {%
+ 4 2 roll 2 copy 9 -1 roll dup length 4 1 roll putinterval add AddPipe
+ 2 copy 7 -1 roll dup length 4 1 roll putinterval add
+ 6 -2 roll pop pop
+ 2 copy pop 0 6 2 roll GetIntervalNewStr 5 1 roll 2 copy 0 exch getinterval 6 1 roll } def
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%% (-u)'=-(u')
+/EvalUnaryOp {
+ 4 -2 roll 4 index (0) eq
+ { (0) StrConcat 7 -1 roll pop }
+ { 7 -1 roll 45 eq
+ { AddSub AddOpPar true } { false } ifelse
+ 3 1 roll 5 index StrConcat 3 -1 roll { AddClPar } if } ifelse
+ 2 copy pop 0 6 2 roll GetIntervalNewStr
+ 7 -2 roll pop pop 2 index 6 index dup 4 index exch sub getinterval exch 6 2 roll
+} def
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%% (number)'=0
+/EvalNumber { ReadNumber (0) 6 2 roll } def
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%% (u+v)'=u'+v'
+/EvalAddSub {%
+ 7 index dup (0) eq
+ { pop true }%% du=0 nothing added
+ { dup length exch 5 index 5 index 3 -1 roll putinterval 4 -1 roll add 3 1 roll false }
+ ifelse
+ 5 index dup (0) eq
+ { pop { (0) } { 4 -2 roll 2 copy pop 0 6 2 roll GetIntervalNewStr } ifelse }%%dv=0
+ { exch
+ { 5 -2 roll 7 index 45 eq { AddSub } if false } %%nothing yet added
+ { 5 -2 roll 7 index 43 eq%%something yet added
+ { AddAdd false } { AddSub AddOpPar true } ifelse }
+ ifelse 11 1 roll
+ 3 -1 roll StrConcat 10 -1 roll { AddClPar } if
+ 2 copy pop 0 6 2 roll GetIntervalNewStr }
+ ifelse
+ mark 11 -5 roll cleartomark 2 index 6 index dup 4 index exch sub getinterval exch 6 2 roll
+} def
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%% (u*v)' or (u/v)'
+/EvalMulDiv { 6 index 42 eq {EvalMul} {EvalDiv} ifelse } def
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%% (u*v)'=u'*v+u*v'
+/EvalMul {%
+ 4 -2 roll 7 index dup (0) eq
+ { pop false }%%du=0
+ { (1) eq%%du=1
+ { false }
+ { AddOpPar 7 index StrConcat AddClPar AddMul AddOpPar true } ifelse
+ 3 1 roll 6 index StrConcat 3 -1 roll { AddClPar } if
+ true }%%du!=0
+ ifelse
+ 5 1 roll 5 index (0) eq
+ { 5 -1 roll not { (0) StrConcat } if }%%dv=0
+ { 5 -1 roll { AddAdd } if
+ 4 index (1) eq
+ { 8 index StrConcat }
+ { AddOpPar 8 index StrConcat AddClPar AddMul AddOpPar 4 index StrConcat AddClPar }
+ ifelse
+ }%%dv!=0
+ ifelse
+ 2 copy pop 0 6 2 roll GetIntervalNewStr
+ mark 11 -5 roll cleartomark 2 index 6 index dup 4 index exch sub getinterval exch 6 2 roll
+} def
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%% (u/v)'=(u'*v-u*v')/v^2
+/EvalDiv {%
+ 4 -2 roll
+ 4 index (0) eq%%dv=0 -> u'/v
+ { 7 index (0) eq { (0) StrConcat } { AddOpPar 7 index StrConcat AddClPar AddDiv 5 index StrConcat } ifelse }
+ { 7 index dup (0) eq
+ { pop }%%du=0
+ { (1) eq%%du=1
+ { false }
+ { AddOpPar 7 index StrConcat AddClPar AddMul AddOpPar true } ifelse
+ 3 1 roll 6 index StrConcat 3 -1 roll { AddClPar } if}%%du!=0
+ ifelse
+ AddSub
+ 4 index (1) eq
+ { 8 index StrConcat }
+ { AddOpPar 8 index StrConcat AddClPar AddMul AddOpPar 4 index StrConcat AddClPar }
+ ifelse
+ %}%%dv!=0
+ 2 copy GetIntervalNewStr 3 1 roll pop 0 AddOpPar 3 -1 roll StrConcat AddClPar
+ AddDiv AddOpPar 5 index StrConcat AddClPar 2 copy (^2) putinterval 2 add }
+ ifelse
+ 2 copy pop 0 6 2 roll GetIntervalNewStr
+ mark 11 -5 roll cleartomark 2 index 6 index dup 4 index exch sub getinterval exch 6 2 roll
+} def
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%% str1 index str2 -> str1 index
+/StrConcat { dup length 4 2 roll 2 copy 6 -1 roll putinterval 3 -1 roll add } bind def
+/GetIntervalNewStr { 0 exch getinterval dup length string copy } bind def
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%% (u^v)'=(u^v)'=u'vu^(v-1)+v'u^(v)ln(u)
+/EvalPower {%
+ 4 -2 roll 7 index (0) eq
+ {%%if du=0 then (u^v)'=v'ln(u)u^v
+ 4 index (0) eq
+ { (0) StrConcat }%%if dv=0 then (u^v)'=0
+ { 4 index (1) ne { AddOpPar 4 index StrConcat (\)*) StrConcat } if
+ 8 index (e) ne { (ln\() StrConcat 8 index StrConcat (\)*) StrConcat } if
+ AddOpPar 8 index StrConcat (\)^\() StrConcat 5 index StrConcat AddClPar } ifelse
+ }
+ {%%du!=0
+ 4 index (0) eq
+ {%%if dv=0 then (u^v)'=vu'u^(v-1)
+ 5 index dup IsStrNumber
+ { dup (0) eq
+ { StrConcat }
+ { dup dup (1) eq exch (1.0) eq or
+ { StrConcat }
+ { StrConcat
+ 7 index dup (1) ne exch (1.0) ne and%%%dr 09102006 insert du if <> 1
+ { (*\() StrConcat 7 index StrConcat (\)) StrConcat } if%%%dr 09102006
+ (*\() StrConcat 8 index StrConcat (\)) StrConcat
+ 5 index dup dup (2) eq exch (2.0) eq or
+ { pop } { cvr 1 sub 20 string cvs 3 1 roll (^) StrConcat 3 -1 roll StrConcat } ifelse } ifelse } ifelse }
+ { pop AddOpPar 5 index StrConcat (\)*\() StrConcat 8 index StrConcat (\)^\() StrConcat
+ 5 index StrConcat (-1\)) StrConcat } ifelse
+ }
+ {%%if dv!=0 and du!=0 then (u^v)'=u'vu^(v-1)+v'u^(v)ln(u)
+ 7 index (1) ne { AddOpPar 7 index StrConcat (\)*) StrConcat } if
+ AddOpPar 5 index StrConcat (\)*\() StrConcat
+ 8 index StrConcat (\)^\() StrConcat
+ 5 index StrConcat (-1\)+\() StrConcat
+ 4 index (1) ne { 4 index StrConcat (\)*\() StrConcat } if
+ 8 index StrConcat (\)^\() StrConcat
+ 5 index StrConcat (\)*ln\() StrConcat
+ 8 index StrConcat AddClPar
+ } ifelse
+ } ifelse
+ 2 copy pop 0 6 2 roll GetIntervalNewStr
+ mark 11 -5 roll cleartomark 2 index 6 index dup 4 index exch sub getinterval exch 6 2 roll
+} def
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%% No derivative for factorial ! only cst => null derivative
+/EvalFactorial {% DR 09/2011
+ 4 index (0) eq
+ { (0) mark 8 -2 roll cleartomark 2 index 7 index dup 4 index exch sub getinterval exch 6 2 roll }
+ { DERIVATIVE_ENGINE_ERROR_no_variable_in_factorial } ifelse
+} def
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%% str -> true/false
+/IsStrNumber {%
+ true exch
+ { dup 48 lt exch dup 57 gt 3 -1 roll or
+ exch dup 46 ne%%.
+ exch dup 43 ne%%+
+ exch 45 ne%%-
+ and and and { pop false } if } forall
+} def
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%% literal switch -> func call, vector, variables
+/EvalLiteral {%
+ ReadLiteral dup 40 eq%%% there is an open par -> function call
+ { pop (EvalFunc_ ) 9 4 index StrConcat 0 exch getinterval cvn cvx exec }
+ { dup 91 eq%%% there is an open bracket -> vector element
+ { DERIVATIVE_ENGINE_ERROR_vector_not_yet_implemented }
+ { pop EvalVariable }
+ ifelse }
+ ifelse
+} def
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%% first last parpos Expr[first:parpos-1] ->
+/EvalVariable { 2 index Variable eq { (1) } { (0) } ifelse 4 -1 roll exch 6 2 roll } def
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%% (f(u))'=u'f'(u)
+/EvalFunc {
+ 4 2 roll 4 index (1) ne
+ { AddOpPar 4 index StrConcat (\)*) StrConcat } if
+ (Eval ) 4 8 index StrConcat 0 exch getinterval cvn cvx exec
+ 2 copy pop 0 6 2 roll GetIntervalNewStr
+ mark 9 -3 roll cleartomark 2 index 6 index dup 4 index exch sub getinterval exch 6 2 roll
+} def
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%% Func derivative -> Eval<func>
+/EvalFunc_sin {%
+ PreCommonFunc
+ { (cos\() StrConcat 5 index StrConcat AddClPar } if
+ PostCommonFunc } def
+/EvalFunc_cos {%
+ PreCommonFunc
+ { (\(-sin\() StrConcat 5 index StrConcat (\)\)) StrConcat } if
+ PostCommonFunc } def
+/EvalFunc_tan {%
+ PreCommonFunc
+ { dup 0 eq { (1) StrConcat } { 1 sub } ifelse (/cos\() StrConcat 5 index StrConcat (\)^2) StrConcat } if
+ PostCommonFunc } def
+/EvalFunc_asin {%
+ PreCommonFunc
+ { (1/sqrt\(1-\() StrConcat 5 index StrConcat (\)^2\)\)) StrConcat } if
+ PostCommonFunc } def
+/EvalFunc_acos {%
+ PreCommonFunc
+ { (-1/sqrt\(1-\() StrConcat 5 index StrConcat (\)^2\)\)) StrConcat } if
+ PostCommonFunc } def
+/EvalFunc_atg {%
+ PreCommonFunc
+ { (1/\(1+\() StrConcat 5 index StrConcat (\)^2\)\)) StrConcat } if
+ PostCommonFunc } def
+/EvalFunc_ln {%
+ PreCommonFunc
+ { dup 0 eq { (1) StrConcat } { 1 sub } ifelse (/\() StrConcat 5 index StrConcat AddClPar } if
+ PostCommonFunc } def
+/EvalFunc_exp {%
+ PreCommonFunc
+ { (exp\() StrConcat 5 index StrConcat AddClPar } if
+ PostCommonFunc } def
+/EvalFunc_EXP {%
+ PreCommonFunc
+ { (EXP\() StrConcat 5 index StrConcat AddClPar } if
+ PostCommonFunc } def
+/EvalFunc_sqrt {%
+ PreCommonFunc
+ { dup 0 eq { (1) StrConcat } { 1 sub } ifelse (/\(2*sqrt\() StrConcat 5 index StrConcat (\)\)) StrConcat } if
+ PostCommonFunc } def
+/EvalFunc_Fact {%
+ PreCommonFunc { DERIVATIVE_ENGINE_ERROR_no_variable_expression_in_Fact } if
+ PostCommonFunc } def
+/EvalFunc_sh {%
+ PreCommonFunc
+ { (ch\() StrConcat 5 index StrConcat AddClPar } if
+ PostCommonFunc } def
+/EvalFunc_ch {%
+ PreCommonFunc
+ { (sh\() StrConcat 5 index StrConcat AddClPar } if
+ PostCommonFunc } def
+/EvalFunc_th {%
+ PreCommonFunc
+ { dup 0 eq { (1) StrConcat } { 1 sub } ifelse (/ch\() StrConcat 5 index StrConcat (\)^2) StrConcat } if
+ PostCommonFunc } def
+/EvalFunc_Argsh {%
+ PreCommonFunc
+ { (1/sqrt\(1+\() StrConcat 5 index StrConcat (\)^2\)\)) StrConcat } if
+ PostCommonFunc } def
+/EvalFunc_Argch {%
+ PreCommonFunc
+ { (1/sqrt\(\() StrConcat 5 index StrConcat (\)^2-1\)\)) StrConcat } if
+ PostCommonFunc } def
+/EvalFunc_Argth {%
+ PreCommonFunc
+ { (1/\(1-\() StrConcat 5 index StrConcat (\)^2\)\)) StrConcat } if
+ PostCommonFunc } def
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+/PreCommonFunc {
+ 1 add NextNonBlankChar pop 3 -1 roll 5 1 roll AnalyzeExpr 1 add NextNonBlankChar pop
+ 4 2 roll 4 index (0) eq
+ { (0) StrConcat false }
+ { 4 index (1) ne { AddOpPar 4 index StrConcat (\)*) StrConcat } if true } ifelse
+} def
+/PostCommonFunc {
+ 2 copy pop 0 6 2 roll GetIntervalNewStr
+ mark 9 -3 roll cleartomark 2 index 6 index dup 4 index exch sub getinterval exch 6 2 roll
+} def
+/EvalFunc_Derive {%
+ 1 add ReadNumber cvi 1 add dup cvr log 1 add cvi string cvs
+ 4 -1 roll pop 5 1 roll 1 add NextNonBlankChar pop AnalyzeExpr 1 add
+ 4 -2 roll (Derive\() StrConcat 7 -1 roll StrConcat (,) StrConcat 6 -1 roll StrConcat AddClPar
+ 2 copy pop 0 6 2 roll GetIntervalNewStr 6 -1 roll pop 2 index 6 index dup 4 index exch sub getinterval
+ exch 6 2 roll } def
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%% literal switch -> func call, vector, variables
+/EvalFunc_Sum {%
+ 1 add NextNonBlankChar pop
+ %% read the variable name
+ ReadLiteral pop 3 -1 roll pop NextNonBlankChar
+ 44 ne { ANALYZER_ERROR_missing_first_comma_in_Sum } if
+ %% read the initial value
+ 1 add NextNonBlankChar pop ReadNumber pop
+ 2 copy get 44 ne { ANALYZER_ERROR_missing_second_comma_in_Sum } if
+ %% read the increment value
+ 1 add NextNonBlankChar pop ReadNumber pop
+ 2 copy get 44 ne { ANALYZER_ERROR_missing_third_comma_in_Sum } if
+ %% read the limit value
+ 1 add NextNonBlankChar pop ReadNumber pop
+ 2 copy get 44 ne { ANALYZER_ERROR_missing_fourth_comma_in_Sum } if
+ 1 add NextNonBlankChar pop dup 6 1 roll 3 -1 roll pop AnalyzeExpr 1 add NextNonBlankChar pop
+ 4 -2 roll 3 index 8 index dup 9 index exch sub getinterval StrConcat
+ 4 index StrConcat AddClPar
+ 2 copy pop 0 6 2 roll GetIntervalNewStr
+ mark 9 -3 roll cleartomark 2 index 6 index dup 4 index exch sub getinterval exch 6 2 roll
+} def
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%% literal switch -> func call, vector, variables
+/EvalFunc_IfTE {%
+ 3 -1 roll pop 1 add NextNonBlankChar pop SkipCond
+ NextNonBlankChar
+ 44 ne { ANALYZER_ERROR_missing_first_comma_in_IfTE } if
+ 1 add NextNonBlankChar pop dup 5 1 roll
+ AnalyzeExpr NextNonBlankChar
+ 44 ne { ANALYZER_ERROR_missing_second_comma_in_IfTE } if
+ 1 add NextNonBlankChar pop
+ AnalyzeExpr 1 add NextNonBlankChar pop
+ 4 -2 roll 3 index 10 index dup 11 index exch sub getinterval StrConcat
+ 6 index StrConcat (,) StrConcat 4 index StrConcat AddClPar
+ 2 copy pop 0 6 2 roll GetIntervalNewStr
+ mark 11 -5 roll cleartomark 2 index 6 index dup 4 index exch sub getinterval exch 6 2 roll
+} def
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%% advance in str until a comma is found (no error detection!)
+%% str index -> str index'
+/SkipCond { { 1 add 2 copy get 44 eq {exit } if } loop } bind def
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%% Convert to radians if trigo function call
+%% (name) ->
+/TrigoFunc {
+ dup (cos) eq 1 index (sin) eq or exch (tan) eq or
+ { /ExpressionVector ExpressionVector aload length Pi /div cvx 180 /mul cvx 5 -1 roll 4 add
+ array astore def
+ } if
+} def
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%% No derivative for condition....
+/EvalCondOp { 3 -1 roll pop } bind def
+/PutIntervalOneAdd {putinterval 1 add} bind def
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%% Add open parenthesis in string at the given index
+%% str index -> str index+1
+/AddOpPar {2 copy (\() PutIntervalOneAdd} bind def
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%% Add close parenthesis in string at the given index
+%% str index -> str index+1
+/AddClPar {2 copy (\)) PutIntervalOneAdd} bind def
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%% Add 0 in string at the given index
+%% str index -> str index+1
+/AddZero {2 copy (0) PutIntervalOneAdd} bind def
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%% Add open parenthesis in string at the given index
+%% str index -> str index+1
+/AddMul {2 copy (*) PutIntervalOneAdd} bind def
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%% Add open parenthesis in string at the given index
+%% str index -> str index+1
+/AddDiv {2 copy (/) PutIntervalOneAdd} bind def
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%% Add a plus sign in string at the given index
+%% str index -> str index+1
+/AddAdd {2 copy (+) PutIntervalOneAdd} bind def
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%% Add a minus sign in string at the given index
+%% str index -> str index+1
+/AddSub {2 copy (-) PutIntervalOneAdd} bind def
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%% Add a pipe sign in string at the given index
+%% str index -> str index+1
+/AddPipe {2 copy (|) PutIntervalOneAdd} bind def
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%% H O O K S
+/AnalyzePreHook { dup 5 1 roll } bind def
+/PreEvalHook {} def
+/AnalyzePostHook { 7 -1 roll pop } bind def
+/AnalyzeListOfEPostHook { 6 -1 roll mark 6 1 roll cleartomark } bind def
+/RollOp { 5 1 roll } bind def
+end%%%tx@CoreAnalyzerDict
+/tx@AddMathFunc 12 dict def tx@AddMathFunc begin
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%% NEW FUNC
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%% function arcsine in radians asin(x)=atan(x/sqrt(1-x^2))
+%% x -> theta
+/asin {%
+ dup abs 1 gt { EQDFasinrangeerror } if
+ dup dup dup mul 1 exch sub sqrt atan exch 0 lt { 360 sub } if DegtoRad
+} def
+%% function arccosine in radians acos(x)=atan(sqrt(1-x^2)/x)
+%% x -> theta
+/acos {%
+ dup abs 1 gt { EQDFacosrangeerror } if
+ dup dup mul 1 exch sub sqrt exch atan DegtoRad
+} def
+%% function arctangent in radians
+%% x -> theta
+/atg { 1 atan dup 90 gt { 360 sub } if DegtoRad } bind def
+%% HYPERBOLIC FUNCTIONS
+/sh { dup Ex exch neg Ex sub 2 div } def
+/ch { dup Ex exch neg Ex add 2 div } def
+/th { dup sh exch ch div } def
+/Argsh { dup dup mul 1 add sqrt add ln } def
+/Argch { dup dup mul 1 sub sqrt add ln } def
+/Argth { dup 1 add exch 1 exch sub div ln 2 div } def
+%% modified exponential funtion for 0
+%% x n -> x^n
+/Exp { dup 0 eq { pop pop 1 } { exp } ifelse } bind def
+%% modified exponential funtion for 0
+%% x -> e^x
+/Ex { Euler exch exp } bind def
+%%
+%% factorial function
+%% n -> n!
+/Fact { 1 exch 2 exch 1 exch { mul } for } bind def
+/fact { Fact } bind def
+/! { Fact } bind def
+end
+%
+% END pst-algparser.pro
+
+%%EndProcSet
+%%BeginProcSet: pst-tools.pro 0 0
+% $Id: pst-tools.pro 622 2012-01-01 15:36:14Z herbert $
+%
+%% PostScript tools prologue for pstricks.tex.
+%% Version 0.02, 2012/01/01
+%%
+%% This program can be redistributed and/or modified under the terms
+%% of the LaTeX Project Public License Distributed from CTAN archives
+%% in directory macros/latex/base/lppl.txt.
+%
+%
+/Pi2 1.57079632679489661925640 def
+/factorial { % n on stack, returns n!
+ dup 0 eq { 1 }{
+ dup 1 gt { dup 1 sub factorial mul } if }
+ ifelse } def
+%
+/MoverN { % m n on stack, returns the binomial coefficient m over n
+ 2 dict begin
+ /n exch def /m exch def
+ n 0 eq { 1 }{
+ m n eq { 1 }{
+ m factorial n factorial m n sub factorial mul div } ifelse } ifelse
+ end
+} def
+%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+% subroutines for complex numbers, given as an array [a b]
+% which is a+bi = Real+i Imag
+%
+/cxadd { % [a1 b1] [a2 b2] = [a1+a2 b1+b2]
+ dup 0 get % [a1 b1] [a2 b2] a2
+ 3 -1 roll % [a2 b2] a2 [a1 b1]
+ dup 0 get % [a2 b2] a2 [a1 b1] a1
+ 3 -1 roll % [a2 b2] [a1 b1] a1 a2
+ add % [a2 b2] [a1 b1] a1+a2
+ 3 1 roll % a1+a2 [a2 b2] [a1 b1]
+ 1 get % a1+a2 [a2 b2] b1
+ exch 1 get % a1+a2 b1 b2
+ add 2 array astore
+} def
+%
+/cxneg { % [a b]
+ dup 1 get % [a b] b
+ exch 0 get % b a
+ neg exch neg % -a -b
+ 2 array astore
+} def
+%
+/cxsub { cxneg cxadd } def % same as negative addition
+%
+% [a1 b1][a2 b2] = [a1a2-b1b2 a1b2+b1a2] = [a3 b3]
+/cxmul { % [a1 b1] [a2 b2]
+ dup 0 get % [a1 b1] [a2 b2] a2
+ exch 1 get % [a1 b1] a2 b2
+ 3 -1 roll % a2 b2 [a1 b1]
+ dup 0 get % a2 b2 [a1 b1] a1
+ exch 1 get % a2 b2 a1 b1
+ dup % a2 b2 a1 b1 b1
+ 5 -1 roll dup % b2 a1 b1 b1 a2 a2
+ 3 1 roll mul % b2 a1 b1 a2 b1a2
+ 5 -2 roll dup % b1 a2 b1a2 b2 a1 a1
+ 3 -1 roll dup % b1 a2 b1a2 a1 a1 b2 b2
+ 3 1 roll mul % b1 a2 b1a2 a1 b2 a1b2
+ 4 -1 roll add % b1 a2 a1 b2 b3
+ 4 2 roll mul % b1 b2 b3 a1a2
+ 4 2 roll mul sub % b3 a3
+ exch 2 array astore
+} def
+%
+% [a b]^2 = [a^2-b^2 2ab] = [a2 b2]
+/cxsqr { % [a b] square root
+ dup 0 get exch 1 get % a b
+ dup dup mul % a b b^2
+ 3 -1 roll % b b^2 a
+ dup dup mul % b b^2 a a^2
+ 3 -1 roll sub % b a a2
+ 3 1 roll mul 2 mul % a2 b2
+ 2 array astore
+} def
+%
+/cxsqrt { % [a b]
+% dup cxnorm sqrt /r exch def
+% cxarg 2 div RadtoDeg dup cos r mul exch sin r mul cxmake2
+ cxlog % log[a b]
+ 2 cxrdiv % log[a b]/2
+ aload pop exch % b a
+ 2.781 exch exp % b exp(a)
+ exch cxconv exch % [Re +iIm] exp(a)
+ cxrmul %
+} def
+%
+/cxarg { % [a b]
+ aload pop % a b
+ exch atan % arctan b/a
+ DegtoRad % arg(z)=atan(b/a)
+} def
+%
+% log[a b] = [a^2-b^2 2ab] = [a2 b2]
+/cxlog { % [a b]
+ dup % [a b][a b]
+ cxnorm % [a b] |z|
+ log % [a b] log|z|
+ exch % log|z|[a b]
+ cxarg % log|z| Theta
+ cxmake2 % [log|z| Theta]
+} def
+%
+% square of magnitude of complex number
+/cxnorm2 { % [a b]
+ dup 0 get exch 1 get % a b
+ dup mul % a b^2
+ exch dup mul add % a^2+b^2
+} def
+%
+/cxnorm { % [a b]
+ cxnorm2 sqrt
+} def
+%
+/cxconj { % conjugent complex
+ dup 0 get exch 1 get % a b
+ neg 2 array astore % [a -b]
+} def
+%
+/cxre { 0 get } def % real value
+/cxim { 1 get } def % imag value
+%
+% 1/[a b] = ([a -b]/(a^2+b^2)
+/cxrecip { % [a b]
+ dup cxnorm2 exch % n2 [a b]
+ dup 0 get exch 1 get % n2 a b
+ 3 -1 roll % a b n2
+ dup % a b n2 n2
+ 4 -1 roll exch div % b n2 a/n2
+ 3 1 roll div % a/n2 b/n2
+ neg 2 array astore
+} def
+%
+/cxmake1 { 0 2 array astore } def % make a complex number, real given
+/cxmake2 { 2 array astore } def % dito, both given
+%
+/cxdiv { cxrecip cxmul } def
+%
+% multiplikation by a real number
+/cxrmul { % [a b] r
+ exch aload pop % r a b
+ 3 -1 roll dup % a b r r
+ 3 1 roll mul % a r b*r
+ 3 1 roll mul % b*r a*r
+ exch 2 array astore % [a*r b*r]
+} def
+%
+% division by a real number
+/cxrdiv { % [a b] r
+ 1 exch div % [a b] 1/r
+ cxrmul
+} def
+%
+% exp(i theta) = cos(theta)+i sin(theta) polar<->cartesian
+/cxconv { % theta
+ RadtoDeg dup sin exch cos cxmake2
+} def
+
+%%%%% ### bubblesort ###
+%% syntax : array bubblesort --> array2 trie par ordre croissant
+%% code de Bill Casselman
+%% http://www.math.ubc.ca/people/faculty/cass/graphics/text/www/
+/bubblesort { % on stack must be an array [ ... ]
+4 dict begin
+ /a exch def
+ /n a length 1 sub def
+ n 0 gt {
+ % at this point only the n+1 items in the bottom of a remain to
+ % the sorted largest item in that blocks is to be moved up into
+ % position n
+ n {
+ 0 1 n 1 sub {
+ /i exch def
+ a i get a i 1 add get gt {
+ % if a[i] > a[i+1] swap a[i] and a[i+1]
+ a i 1 add
+ a i get
+ a i a i 1 add get
+ % set new a[i] = old a[i+1]
+ put
+ % set new a[i+1] = old a[i]
+ put
+ } if
+ } for
+ /n n 1 sub def
+ } repeat
+ } if
+ a % return the sorted array
+end
+} def
+%
+/concatstringarray{ % [(a) (b) ... (z)] --> (ab...z) 20100422
+ 0 1 index { length add } forall
+ string
+ 0 3 2 roll
+ { 3 copy putinterval length add }forall
+ pop
+} bind def
+%
+/dot2comma {% on stack a string (...)
+ 2 dict begin
+ /Output exch def
+ 0 1 Output length 1 sub {
+ /Index exch def
+ Output Index get 46 eq { Output Index 44 put } if
+ } for
+ Output
+ end
+} def
+%
+%-----------------------------------------------------------------------------%
+% END pst-tools.pro
+
+%%EndProcSet
+%%BeginProcSet: pst-dots.pro 0 0
+% $Id: pst-dots.pro 130 2009-08-27 08:55:03Z herbert $
+%
+%% PostScript prologue for pstricks.tex.
+%% Version 2.02, 2009/06/16
+%%
+%% For distribution, see pstricks.tex.
+%%
+%% Timothy Van Zandt <tvz@Princeton.EDU>
+%%
+%% This program can be redistributed and/or modified under the terms
+%% of the LaTeX Project Public License Distributed from CTAN archives
+%% in directory macros/latex/base/lppl.txt.
+%%
+%% Modified by Etienne Riga - Dec. 16, 1999
+%% Modified by Etienne Riga - 2005/01/01 (er)
+%% to add /Diamond, /SolidDiamond and /BoldDiamond
+%% Modified by Herbert Voss (hv) - 2008/04/17
+%
+10 dict dup begin % hold local
+ /FontType 3 def
+ /FontMatrix [.001 0 0 .001 0 0] def
+% /FontBBox [-571.5 -742.5 571.5 742.5] def % changed to next line 20060616 hv
+ /FontBBox [-1000 -1000 1000 1000] def % See end of file in /BuildGlyph
+ /Encoding 256 array def
+ 0 1 255 {Encoding exch /.notdef put} for % fill the array with /.notdef
+ Encoding % replace with given dot names
+ dup (b) 0 get /Bullet put % get the numerical position of b in ASCII
+% % and save /Bullet at this place in Encoding
+ dup (c) 0 get /Circle put
+ dup (C) 0 get /BoldCircle put % 67
+ dup (u) 0 get /SolidTriangle put
+ dup (t) 0 get /Triangle put
+ dup (T) 0 get /BoldTriangle put
+ dup (r) 0 get /SolidSquare put
+ dup (s) 0 get /Square put
+ dup (S) 0 get /BoldSquare put
+ dup (q) 0 get /SolidPentagon put
+ dup (p) 0 get /Pentagon put
+ dup (P) 0 get /BoldPentagon put
+%%%
+ dup (k) 0 get /Asterisk put
+ dup (K) 0 get /BoldAsterisk put
+ dup (J) 0 get /SolidAsterisk put
+ dup (h) 0 get /Hexagon put
+ dup (H) 0 get /BoldHexagon put
+ dup (G) 0 get /SolidHexagon put
+ dup (f) 0 get /Octogon put % 2008-04-18 hv
+ dup (F) 0 get /BoldOctogon put % 2008-04-18 hv
+ dup (g) 0 get /SolidOctogon put % 2008-04-18 hv
+ dup (a) 0 get /Add put
+ dup (A) 0 get /BoldAdd put % 65
+ dup (x) 0 get /Mul put
+ dup (X) 0 get /BoldMul put
+ dup (m) 0 get /Oplus put
+ dup (M) 0 get /BOplus put
+ dup (e) 0 get /SolidOplus put
+ dup (n) 0 get /Otimes put
+ dup (N) 0 get /BOtimes put
+ dup (E) 0 get /SolidOtimes put
+ dup (i) 0 get /Bar put
+ dup (I) 0 get /BoldBar put
+ dup (l) 0 get /SolidDiamond put
+ dup (d) 0 get /Diamond put
+ (D) 0 get /BoldDiamond put
+%%%
+/CharProcs 47 dict def
+CharProcs begin
+ /CirclePath {0 0 500 0 360 arc closepath} def
+ /Bullet {CirclePath fill} def
+ /Circle {CirclePath .9 .9 scale CirclePath eofill} def
+ /BoldCircle {CirclePath .8 .8 scale CirclePath eofill} def
+ /TrianglePath {0 660 moveto -571.5 -330 lineto 571.5 -330 lineto closepath} def
+ /SolidTriangle {TrianglePath fill} def
+ /Triangle {TrianglePath .85 .85 scale TrianglePath eofill} def
+ /BoldTriangle {TrianglePath .7 .7 scale TrianglePath eofill} def
+ /SquarePath {-450 450 moveto 450 450 lineto 450 -450 lineto -450 -450 lineto closepath} def
+ /SolidSquare {SquarePath fill} def
+ /Square {SquarePath .89 .89 scale SquarePath eofill} def
+ /BoldSquare {SquarePath .78 .78 scale SquarePath eofill} def
+ /PentagonPath {
+ -337.8 -465 moveto 337.8 -465 lineto 546.6 177.6 lineto
+ 0 574.7 lineto -546.6 177.6 lineto closepath
+ } def
+ /SolidPentagon {PentagonPath fill} def
+ /Pentagon {PentagonPath .89 .89 scale PentagonPath eofill} def
+ /BoldPentagon {PentagonPath .78 .78 scale PentagonPath eofill} def
+%-------------- hv begin 2004/07/25 from: er 2003/03/24
+ /HexagonPath {
+ 0 550 moveto -476 275 lineto -476 -275 lineto
+ 0 -550 lineto 476 -275 lineto 476 275 lineto closepath
+ } def
+ /SolidHexagon {HexagonPath fill} def
+ /Hexagon {HexagonPath .89 .89 scale HexagonPath eofill} def
+ /BoldHexagon {HexagonPath .79 .79 scale HexagonPath eofill} def
+% 2008-04-18 hv
+ /OctogonPath {
+ 550 dup 22.5 tan mul dup neg dup add /xMove exch def
+ exch moveto 7 { xMove 0 rlineto 45 rotate } repeat closepath } def
+ /SolidOctogon { OctogonPath fill } def
+ /Octogon { OctogonPath .89 .89 scale OctogonPath eofill } def
+ /BoldOctogon { OctogonPath .79 .79 scale OctogonPath eofill } def
+%
+ /AsteriskPath {
+ 20 0 moveto 10 250 180 500 0 500 curveto
+ -180 500 -10 250 -20 0 curveto closepath
+ } def
+ /Asterisk {
+ AsteriskPath 60 rotate AsteriskPath 60 rotate AsteriskPath
+ 60 rotate AsteriskPath 60 rotate AsteriskPath 60 rotate AsteriskPath fill
+ } def
+%
+ /Basterp {50 250 220 500 0 500 curveto -220 500 -50 250 -50 30 cos 100 mul curveto} def
+ /BoldAsteriskPath {
+ 50 30 cos 100 mul moveto Basterp
+ 60 rotate Basterp 60 rotate Basterp
+ 60 rotate Basterp 60 rotate Basterp
+ 60 rotate Basterp closepath
+ } def
+ /BoldAsterisk {BoldAsteriskPath fill} def
+ /SolidAsterisk {CirclePath .9 .9 scale BoldAsteriskPath eofill} def
+ /CrossPath {
+ 40 550 moveto -40 550 lineto -40 40 lineto -550 40 lineto
+ -550 -40 lineto -40 -40 lineto -40 -550 lineto 40 -550 lineto
+ 40 -40 lineto 550 -40 lineto 550 40 lineto 40 40 lineto closepath
+ } def
+ /BoldCrossPath {80 550 moveto -80 550 lineto -80 80 lineto -550 80 lineto
+ -550 -80 lineto -80 -80 lineto -80 -550 lineto 80 -550 lineto
+ 80 -80 lineto 550 -80 lineto 550 80 lineto 80 80 lineto closepath
+ } def
+ /Add {CrossPath fill} def
+ /Mul {45 rotate CrossPath fill} def
+ /BoldAdd {BoldCrossPath fill} def
+ /BoldMul {45 rotate BoldCrossPath fill} def
+ /Oplus {CirclePath .9 .9 scale CirclePath eofill .775 .775 scale CrossPath fill } def
+ /SolidOplus {CirclePath .775 .775 scale BoldCrossPath eofill} def
+ /BOplus {CirclePath .8 .8 scale CirclePath eofill .775 .775 scale BoldCrossPath fill} def
+ /Otimes {CirclePath .9 .9 scale CirclePath eofill 45 rotate .775 .775 scale CrossPath fill} def
+ /BOtimes {CirclePath .8 .8 scale CirclePath eofill 45 rotate .775 .775 scale BoldCrossPath fill } def
+ /SolidOtimes {CirclePath 45 rotate .775 .775 scale BoldCrossPath eofill} def
+ /BarPath {40 660 moveto -40 660 lineto -40 -660 lineto 40 -660 lineto closepath} def
+ /Bar {BarPath fill} def
+ /BoldBarPath {80 660 moveto -80 660 lineto -80 -660 lineto 80 -660 lineto closepath} def
+ /BoldBar {BoldBarPath fill} def
+ /DiamondPath {0 742.5 moveto -428.5 0 lineto 0 -742.5 lineto 428.5 0 lineto closepath} def
+ /SolidDiamond {DiamondPath fill} def
+ /Diamond {DiamondPath .865 .865 scale DiamondPath eofill} def
+ /BoldDiamond {DiamondPath .73 .73 scale DiamondPath eofill} def
+%%%
+ /.notdef { } def
+end
+%
+/BuildGlyph {
+ exch
+ begin
+% Metrics 1 index get exec 0
+ 0 0
+% BBoxes 3 index get exec
+ -1000 -1000 1000 1000
+% -571.5 -742.5 571.5 742.5
+ setcachedevice
+ CharProcs begin load exec end
+ end
+} def
+%
+/BuildChar {
+ 1 index /Encoding get exch get
+ 1 index /BuildGlyph get exec
+} bind def
+%
+end
+/PSTricksDotFont exch definefont pop
+%
+%% end
+
+%%EndProcSet
+%%BeginProcSet: pst-node.pro 0 0
+% $Id: pst-node.pro 645 2012-02-12 09:09:51Z herbert $
+%%
+%% PostScript prologue for pst-node.tex.
+%% Version 1.13, 2011/11/21.
+%%
+%% This program can be redistributed and/or modified under the terms
+%% of the LaTeX Project Public License Distributed from CTAN archives
+%% in directory macros/latex/base/lppl.txt.
+%
+/tx@NodeDict 400 dict def tx@NodeDict begin
+tx@Dict begin % from main pstricks dict
+ /T /translate load def
+ /CP /currentpoint load def
+end
+/NewNode { % on stack: { x y } boolean N@name type InitXnode
+ gsave
+ NodeScale % a bugfix for xelatex, it's empty for dvips
+ /next exch def % { x y } boolean N@name type
+ dict dup % { x y } boolean N@name dict dict
+ 3 1 roll def % { x y } boolean dict N@name dict def
+ exch { dup 3 1 roll def } if % { x y } dict boolean
+ begin % { x y } dict begin
+ tx@Dict begin
+ STV CP T exec % set scaling
+ end
+ /NodeMtrx CM def % save CM
+ next % InitXNode
+ end
+ grestore
+} def
+%
+/InitPnode {
+ /Y ED /X ED
+ /NodePos { NodeSep Cos mul NodeSep Sin mul } def
+} def
+%
+/InitCnode {
+ /r ED /Y ED /X ED
+ /NodePos { NodeSep r add dup Cos mul exch Sin mul } def
+} def
+%
+/GetRnodePos {
+ Cos 0 gt { /dx r NodeSep add def } { /dx l NodeSep sub def } ifelse
+ Sin 0 gt { /dy u NodeSep add def } { /dy d NodeSep sub def } ifelse
+ dx Sin mul abs dy
+ Cos mul abs gt { dy Cos mul Sin div dy } { dx dup Sin mul Cos Div } ifelse
+} def
+%
+/InitRnode {
+ /Y ED /X ED X sub /r ED /l X neg def Y add neg /d ED Y sub /u ED
+ /NodePos { GetRnodePos } def
+} def
+%
+/DiaNodePos {
+ w h mul w Sin mul abs h Cos mul abs add Div NodeSep add dup
+ Cos mul exch Sin mul
+} def
+%
+/TriNodePos {
+ Sin s lt
+ { d NodeSep sub dup Cos mul Sin Div exch }
+ { w h mul w Sin mul h Cos abs mul add Div
+ NodeSep add dup Cos mul exch Sin mul
+ } ifelse
+} def
+%
+/InitTriNode {
+ sub 2 div exch
+ 2 div exch
+ 2 copy T
+ 2 copy 4 index index /d ED
+ pop pop pop pop
+ -90 mul rotate
+ /NodeMtrx CM def
+ /X 0 def /Y 0 def
+ d sub abs neg /d ED
+ d add /h ED
+ 2 div h mul h d sub Div /w ED
+ /s d w Atan sin def
+ /NodePos { TriNodePos } def
+} def
+%
+/OvalNodePos {
+ /ww w NodeSep add def
+ /hh h NodeSep add def
+ Sin ww mul Cos hh mul Atan dup cos ww mul exch sin hh mul
+} def
+%
+/GetCenter { begin X Y NodeMtrx transform CM itransform end } def
+%
+/XYPos {
+ dup sin exch cos Do
+ /Cos ED /Sin ED /Dist ED
+ Cos 0 gt
+ { Dist Dist Sin mul Cos div }
+ { Cos 0 lt
+ { Dist neg Dist Sin mul Cos div neg }
+ { 0 Dist Sin mul } ifelse
+ } ifelse
+ Do
+} def
+%
+/GetEdge {
+ dup 0 eq
+ { pop begin 1 0 NodeMtrx dtransform
+ CM idtransform
+ exch atan sub
+ dup
+ sin /Sin ED
+ cos /Cos ED
+ /NodeSep ED
+ NodePos NodeMtrx dtransform CM idtransform end }
+ { 1 eq {{exch}} {{}} ifelse /Do ED pop XYPos } ifelse
+} def
+%
+/AddOffset {
+ 1 index 0 eq
+ { pop pop }
+ { 2 copy 5 2 roll cos mul add 4 1 roll sin mul sub exch } ifelse
+} def
+%
+/GetEdgeA {
+ NodeSepA AngleA NodeA NodeSepTypeA GetEdge
+ OffsetA AngleA AddOffset
+ yA add /yA1 ED
+ xA add /xA1 ED
+} def
+%
+/GetEdgeB {
+ NodeSepB AngleB NodeB NodeSepTypeB GetEdge
+ OffsetB AngleB AddOffset
+ yB add /yB1 ED
+ xB add /xB1 ED
+} def
+%
+/GetArmA {
+ ArmTypeA 0 eq
+ { /xA2 ArmA AngleA cos mul xA1 add def
+ /yA2 ArmA AngleA sin mul yA1 add def }
+ { ArmTypeA 1 eq {{exch}} {{}} ifelse
+ /Do ED
+ ArmA AngleA XYPos OffsetA AngleA AddOffset
+ yA add /yA2 ED
+ xA add /xA2 ED } ifelse
+} def
+%
+/GetArmB {
+ ArmTypeB 0 eq
+ { /xB2 ArmB AngleB cos mul xB1 add def
+ /yB2 ArmB AngleB sin mul yB1 add def }
+ { ArmTypeB 1 eq {{exch}} {{}} ifelse
+ /Do ED
+ ArmB AngleB XYPos OffsetB AngleB AddOffset
+ yB add /yB2 ED
+ xB add /xB2 ED } ifelse
+} def
+%
+/InitNC {
+ /b ED /a ED % second and first node
+ /NodeSepTypeB ED /NodeSepTypeA ED
+ /NodeSepB ED /NodeSepA ED
+ /OffsetB ED /OffsetA ED
+ tx@NodeDict a known tx@NodeDict b known and dup {
+ /NodeA a load def
+ /NodeB b load def
+ NodeA GetCenter /yA ED /xA ED
+ NodeB GetCenter /yB ED /xB ED } if
+} def
+%
+/LPutLine {
+ 4 copy
+ 3 -1 roll sub neg 3 1 roll sub Atan /NAngle ED
+ 1 t sub mul
+ 3 1 roll 1 t sub mul
+ 4 1 roll t mul add /Y ED
+ t mul add /X ED
+} def
+%
+/LPutLines {
+ mark LPutVar counttomark 2 div 1 sub /n ED
+% t floor dup n gt
+ t floor dup n ge % to allow npos<= hv 2008-08-14
+ { pop n 1 sub /t 1 def } { dup t sub neg /t ED } ifelse
+ cvi 2 mul { pop } repeat
+ LPutLine
+ cleartomark
+} def
+%
+/BezierMidpoint {
+ /y3 ED /x3 ED /y2 ED /x2 ED /y1 ED /x1 ED /y0 ED /x0 ED /t ED
+ /cx x1 x0 sub 3 mul def
+ /cy y1 y0 sub 3 mul def
+ /bx x2 x1 sub 3 mul cx sub def
+ /by y2 y1 sub 3 mul cy sub def
+ /ax x3 x0 sub cx sub bx sub def
+ /ay y3 y0 sub cy sub by sub def
+ ax t 3 exp mul bx t t mul mul add
+ cx t mul add x0 add ay t 3 exp mul
+ by t t mul mul add cy t mul add
+ y0 add 3 ay t t mul mul mul 2
+ by t mul mul add cy add 3 ax t t mul mul mul
+ 2 bx t mul mul add cx add atan /NAngle ED
+ /Y ED /X ED
+} def
+%
+/HPosBegin { yB yA ge { /t 1 t sub def } if /Y yB yA sub t mul yA add def
+} def
+/HPosEnd { /X Y yyA sub yyB yyA sub Div xxB xxA sub mul xxA add def
+/NAngle yyB yyA sub xxB xxA sub Atan def } def
+/HPutLine { HPosBegin /yyA ED /xxA ED /yyB ED /xxB ED HPosEnd } def
+/HPutLines { HPosBegin yB yA ge { /check { le } def } { /check { ge } def
+} ifelse /xxA xA def /yyA yA def mark xB yB LPutVar { dup Y check { exit
+} { /yyA ED /xxA ED } ifelse } loop /yyB ED /xxB ED cleartomark HPosEnd
+} def
+/VPosBegin { xB xA lt { /t 1 t sub def } if /X xB xA sub t mul xA add def
+} def
+/VPosEnd { /Y X xxA sub xxB xxA sub Div yyB yyA sub mul yyA add def
+/NAngle yyB yyA sub xxB xxA sub Atan def } def
+/VPutLine { VPosBegin /yyA ED /xxA ED /yyB ED /xxB ED VPosEnd } def
+/VPutLines { VPosBegin xB xA ge { /check { le } def } { /check { ge } def
+} ifelse /xxA xA def /yyA yA def mark xB yB LPutVar { 1 index X check {
+exit } { /yyA ED /xxA ED } ifelse } loop /yyB ED /xxB ED cleartomark
+VPosEnd } def
+/HPutCurve { gsave newpath /SaveLPutVar /LPutVar load def LPutVar 8 -2
+roll moveto curveto flattenpath /LPutVar [ {} {} {} {} pathforall ] cvx
+def grestore exec /LPutVar /SaveLPutVar load def } def
+/NCCoor { /AngleA yB yA sub xB xA sub Atan def /AngleB AngleA 180 add def
+GetEdgeA GetEdgeB /LPutVar [ xB1 yB1 xA1 yA1 ] cvx def /LPutPos {
+LPutVar LPutLine } def /HPutPos { LPutVar HPutLine } def /VPutPos {
+LPutVar VPutLine } def LPutVar } def
+%
+/NCLine {
+ NCCoor
+ tx@Dict begin
+ ArrowA CP 4 2 roll
+ ArrowB
+ lineto pop pop
+ end
+} def
+%
+/NCLines {
+ false NArray
+ n 0 eq
+ { NCLine }
+ { 2 copy yA sub exch xA sub Atan /AngleA ED
+ n 2 mul dup index exch index yB sub exch xB sub
+ Atan /AngleB ED
+ GetEdgeA GetEdgeB
+ /LPutVar [ xB1 yB1 n 2 mul 4 add 4 roll xA1 yA1 ] cvx def
+ mark LPutVar
+ tx@Dict begin false Line end
+ /LPutPos { LPutLines } def
+ /HPutPos { HPutLines } def
+ /VPutPos { VPutLines } def
+ } ifelse
+} def
+%
+/NCCurve {
+ GetEdgeA
+ GetEdgeB
+ xA1 xB1 sub yA1 yB1 sub Pyth 2 div dup 3 -1
+roll mul /ArmA ED mul /ArmB ED /ArmTypeA 0 def /ArmTypeB 0 def GetArmA
+GetArmB xA2 yA2 xA1 yA1 tx@Dict begin ArrowA end xB2 yB2 xB1 yB1 tx@Dict
+begin ArrowB end curveto /LPutVar [ xA1 yA1 xA2 yA2 xB2 yB2 xB1 yB1 ]
+cvx def /LPutPos { t LPutVar BezierMidpoint } def /HPutPos { { HPutLines
+} HPutCurve } def /VPutPos { { VPutLines } HPutCurve } def } def
+%
+/NCAngles {
+ GetEdgeA GetEdgeB GetArmA GetArmB
+ /mtrx AngleA matrix rotate def
+ xA2 yA2 mtrx transform pop
+ xB2 yB2 mtrx transform exch pop
+ mtrx itransform
+ /y0 ED /x0 ED
+ mark ArmB 0 ne { xB1 yB1 } if
+ xB2 yB2 x0 y0 xA2 yA2
+ ArmA 0 ne { xA1 yA1 } if
+ tx@Dict begin false Line end
+ /LPutVar [ xB1 yB1 xB2 yB2 x0 y0 xA2 yA2 xA1 yA1 ] cvx def
+ /LPutPos { LPutLines } def
+ /HPutPos { HPutLines } def
+ /VPutPos { VPutLines } def } def
+%
+/NCAngle {
+ GetEdgeA GetEdgeB GetArmB
+ /mtrx AngleA matrix rotate def
+ xB2 yB2 mtrx itransform pop xA1 yA1 mtrx itransform exch pop mtrx transform
+ /y0 ED /x0 ED
+ mark
+ ArmB 0 ne { xB1 yB1 } if
+ xB2 yB2 x0 y0 xA1 yA1
+ tx@Dict begin false Line end
+ /LPutVar [ xB1 yB1 xB2 yB2 x0 y0 xA1 yA1 ] cvx def
+ /LPutPos { LPutLines } def
+ /HPutPos { HPutLines } def
+ /VPutPos { VPutLines } def
+} def
+%
+/NCBar {
+ GetEdgeA GetEdgeB GetArmA GetArmB
+ /mtrx AngleA matrix rotate def
+ xA2 yA2 mtrx itransform pop
+ xB2 yB2 mtrx itransform pop
+ sub dup 0 mtrx transform
+ 3 -1 roll 0 gt
+ { /yB2 exch yB2 add def /xB2 exch xB2 add def }
+ { /yA2 exch neg yA2 add def /xA2 exch neg xA2 add def } ifelse
+ mark
+ ArmB 0 ne { xB1 yB1 } if
+ xB2 yB2 xA2 yA2 ArmA 0 ne { xA1 yA1 } if
+ tx@Dict begin false Line end
+ /LPutVar [ xB1 yB1 xB2 yB2 xA2 yA2 xA1 yA1 ] cvx def
+ /LPutPos { LPutLines } def
+ /HPutPos { HPutLines } def
+ /VPutPos { VPutLines } def
+} def
+%
+/NCDiag {
+ /lineAngle ED
+ GetEdgeA GetEdgeB GetArmA GetArmB mark
+ lineAngle abs 0 gt {
+ /xTemp xA2 10 add def
+ /yTemp yA2 lineAngle dup sin exch cos div 10 mul add def
+ /dY1 yTemp yA2 sub def
+ /dX1 xTemp xA2 sub def
+ /dY2 yB2 yB1 sub def
+ /dX2 xB2 xB1 sub def
+ dX1 abs 0.01 lt {
+ /m2 dY2 dX2 div def
+ /xB2 xA2 def
+ /yB2 xA2 xB1 sub m2 mul yB1 add def
+ }{
+ dX2 abs 0.01 lt {
+ /m1 dY1 dX1 div def
+ /xB2 xB1 def
+ /yB2 xB1 xA2 sub m1 mul yA2 add def
+ }{%
+ /m1 dY1 dX1 div def
+ /m2 dY2 dX2 div def
+ /xB2 m1 xA2 mul m2 xB1 mul sub yA2 sub yB1 add m1 m2 sub div def
+ /yB2 xB2 xA2 sub m1 mul yA2 add def
+ } ifelse
+ } ifelse
+ } if
+ ArmB 0 ne { xB1 yB1 } if
+ xB2 yB2 xA2 yA2
+ ArmA 0 ne { xA1 yA1 } if
+ tx@Dict begin false Line end
+ /LPutVar [ xB1 yB1 xB2 yB2 xA2 yA2 xA1 yA1 ] cvx def
+ /LPutPos { LPutLines } def
+ /HPutPos { HPutLines } def
+ /VPutPos { VPutLines } def
+%
+% GetEdgeA GetEdgeB GetArmA GetArmB mark
+% ArmB 0 ne { xB1 yB1 } if
+% xB2 yB2 xA2 yA2
+% ArmA 0 ne { xA1 yA1 } if
+% tx@Dict begin false Line end
+% /LPutVar [ xB1 yB1 xB2 yB2 xA2 yA2 xA1 yA1 ] cvx def
+% /LPutPos { LPutLines } def
+% /HPutPos { HPutLines } def
+% /VPutPos { VPutLines } def
+} def
+%
+/NCDiagg {
+ /lineAngle ED
+ GetEdgeA GetArmA
+ lineAngle abs 0 gt
+ { lineAngle }
+ { yB yA2 sub xB xA2 sub Atan 180 add } ifelse
+ /AngleB ED
+ GetEdgeB mark
+ lineAngle abs 0 gt {
+ /dY2 yA2 yA1 sub def
+ /dX2 xA2 xA1 sub def
+ lineAngle abs 90 eq {
+ /m2 dY2 dX2 div def
+ /yA2 xB xA2 sub m2 mul yA2 add def
+ /xA2 xB def
+ }{
+ /m1 lineAngle dup sin exch cos div def % tan alpha
+ dX2 abs 0.01 lt {
+ /yA2 xA1 xB sub m1 mul yB add def
+ /xA2 xA1 def
+ }{%
+ /m2 dY2 dX2 div def
+ /xA2 m1 xB mul m2 xA2 mul sub yA2 add yB sub m1 m2 sub div def
+ /yA2 xA2 xB sub m1 mul yB add def
+ } ifelse
+ } ifelse
+ } if
+ xB1 yB1 xA2 yA2
+ ArmA 0 ne { xA1 yA1 } if
+ tx@Dict begin false Line end
+ /LPutVar [ xB1 yB1 xA2 yA2 xA1 yA1 ] cvx def
+ /LPutPos { LPutLines } def
+ /HPutPos { HPutLines } def
+ /VPutPos { VPutLines } def
+%
+% GetEdgeA GetArmA
+% yB yA2 sub xB xA2 sub Atan 180 add /AngleB ED
+% GetEdgeB
+% mark
+% xB1 yB1 xA2 yA2
+% ArmA 0 ne { xA1 yA1 } if
+% tx@Dict begin false Line end
+% /LPutVar [ xB1 yB1 xA2 yA2 xA1 yA1 ] cvx def
+% /LPutPos { LPutLines } def
+% /HPutPos { HPutLines } def
+% /VPutPos { VPutLines } def
+} def
+%
+/NCLoop {
+ GetEdgeA GetEdgeB GetArmA GetArmB
+ /mtrx AngleA matrix rotate def
+ xA2 yA2 mtrx transform loopsize add /yA3 ED /xA3 ED
+ /xB3 xB2 yB2 mtrx transform pop def
+ xB3 yA3 mtrx itransform /yB3 ED /xB3 ED
+ xA3 yA3 mtrx itransform /yA3 ED /xA3 ED
+ mark ArmB 0 ne { xB1 yB1 } if
+ xB2 yB2 xB3 yB3 xA3 yA3 xA2 yA2 ArmA 0 ne { xA1 yA1 } if
+ tx@Dict begin false Line end
+ /LPutVar [ xB1 yB1 xB2 yB2 xB3 yB3 xA3 yA3 xA2 yA2 xA1 yA1 ] cvx def
+ /LPutPos { LPutLines } def
+ /HPutPos { HPutLines } def
+ /VPutPos { VPutLines } def
+} def
+%
+% DG/SR modification begin - May 9, 1997 - Patch 1
+%/NCCircle { 0 0 NodesepA nodeA \tx@GetEdge pop xA sub 2 div dup 2 exp r
+%r mul sub abs sqrt atan 2 mul /a ED r AngleA 90 add PtoC yA add exch xA add
+%exch 2 copy /LPutVar [ 4 2 roll r AngleA ] cvx def /LPutPos { LPutVar t 360
+%mul add dup 5 1 roll 90 sub \tx@PtoC 3 -1 roll add /Y ED add /X ED /NAngle ED
+%
+/NCCircle {
+ NodeSepA 0 NodeA 0 GetEdge pop
+ 2 div dup 2 exp r r mul sub abs sqrt
+ atan 2 mul /a ED
+ r AngleA 90 add PtoC yA add exch xA add
+ exch 2 copy
+ /LPutVar [ 4 2 roll r AngleA ] cvx def
+ /LPutPos {
+ LPutVar t 360 mul add dup 5 1 roll 90 sub PtoC
+ 3 -1 roll add
+ /Y ED add /X ED /NAngle ED
+% DG/SR modification end
+ } def
+ /HPutPos { LPutPos } def
+ /VPutPos { LPutPos } def
+ r AngleA 90 sub a add AngleA 270 add a sub
+ tx@Dict begin
+ /angleB ED /angleA ED /r ED
+ /c 57.2957 r Div def
+ /y ED /x ED
+} def
+%
+/NCBox {
+ /d ED /h ED
+ /AngleB yB yA sub xB xA sub Atan def
+ /AngleA AngleB 180 add def
+ GetEdgeA GetEdgeB
+ /dx d AngleB sin mul def
+ /dy d AngleB cos mul neg def
+ /hx h AngleB sin mul neg def
+ /hy h AngleB cos mul def
+ /LPutVar [
+ xA1 hx add yA1 hy add xB1 hx add yB1 hy add
+ xB1 dx add yB1 dy add xA1 dx add yA1 dy add ] cvx def
+ /LPutPos { LPutLines } def
+ /HPutPos { xB yB xA yA LPutLine } def
+ /VPutPos { HPutPos } def
+ mark
+ LPutVar tx@Dict begin false Polygon end
+} def
+%
+/NCArcBox {
+ /l ED neg /d ED /h ED /a ED
+ /AngleA yB yA sub xB xA sub Atan def
+ /AngleB AngleA 180 add def
+ /tA AngleA a sub 90 add def
+ /tB tA a 2 mul add def
+ /r xB xA sub tA cos tB cos sub Div dup 0 eq { pop 1 } if def
+ /x0 xA r tA cos mul add def
+ /y0 yA r tA sin mul add def
+ /c 57.2958 r div def
+ /AngleA AngleA a sub 180 add def
+ /AngleB AngleB a add 180 add def
+ GetEdgeA GetEdgeB
+ /AngleA tA 180 add yA yA1 sub xA xA1 sub Pyth c mul sub def
+ /AngleB tB 180 add yB yB1 sub xB xB1 sub Pyth c mul add def
+ l 0 eq {
+ x0 y0 r h add AngleA AngleB arc x0 y0 r d add AngleB AngleA arcn
+ }{
+ x0 y0 translate
+ /tA AngleA l c mul add def
+ /tB AngleB l c mul sub def
+ 0 0 r h add tA tB arc r h add
+ AngleB PtoC r d add
+ AngleB PtoC 2 copy
+ 6 2 roll l arcto 4 { pop } repeat
+ r d add tB PtoC l arcto 4 { pop } repeat
+ 0 0 r d add tB tA arcn r d add
+ AngleA PtoC r h add
+ AngleA PtoC 2 copy 6 2 roll
+ l arcto 4 { pop } repeat
+ r h add tA PtoC l arcto 4 { pop } repeat
+ } ifelse
+ closepath
+ /LPutVar [ x0 y0 r AngleA AngleB h d ] cvx def
+ /LPutPos {
+ LPutVar /d ED /h ED
+ /AngleB ED /AngleA ED
+ /r ED /y0 ED /x0 ED
+ t 1 le {
+ r h add AngleA 1 t sub mul AngleB t mul add dup 90 add /NAngle ED PtoC
+ }{t 2 lt {
+ /NAngle AngleB 180 add def r 2 t sub
+ h mul t 1 sub d mul add add AngleB PtoC
+ }{
+ t 3 lt {
+ r d add AngleB 3 t sub mul AngleA 2 t sub
+ mul add dup 90 sub /NAngle ED PtoC
+ }{
+ /NAngle AngleA 180 add def
+ r 4 t sub d mul t 3 sub h mul add add AngleA PtoC
+ } ifelse
+ } ifelse
+ } ifelse
+ y0 add /Y ED x0 add /X ED
+ } def
+ /HPutPos { LPutPos } def
+ /VPutPos { LPutPos } def
+} def
+%
+/Tfan { /AngleA yB yA sub xB xA sub Atan def GetEdgeA w xA1 xB sub yA1 yB
+sub Pyth Pyth w Div CLW 2 div mul 2 div dup AngleA sin mul yA1 add /yA1
+ED AngleA cos mul xA1 add /xA1 ED /LPutVar [ xA1 yA1 m { xB w add yB xB
+w sub yB } { xB yB w sub xB yB w add } ifelse xA1 yA1 ] cvx def /LPutPos
+{ LPutLines } def /VPutPos@ { LPutVar flag { 8 4 roll pop pop pop pop }
+{ pop pop pop pop 4 2 roll } ifelse } def /VPutPos { VPutPos@ VPutLine }
+def /HPutPos { VPutPos@ HPutLine } def mark LPutVar tx@Dict begin
+/ArrowA { moveto } def /ArrowB { } def false Line closepath end } def
+%
+/LPutCoor {
+ NAngle
+ tx@Dict begin /NAngle ED end
+ gsave
+ CM STV
+ CP Y sub neg exch X sub neg exch moveto
+ setmatrix CP
+ grestore
+} def
+%
+/LPut {
+ tx@NodeDict /LPutPos known
+ { LPutPos } { CP /Y ED /X ED /NAngle 0 def } ifelse
+ LPutCoor
+} def
+%
+/HPutAdjust {
+ Sin Cos mul 0 eq
+ { 0 }
+ { d Cos mul Sin div flag not { neg } if
+ h Cos mul Sin div flag { neg } if
+ 2 copy gt { pop } { exch pop } ifelse
+ } ifelse
+ s add flag { r add neg }{ l add } ifelse
+ X add /X ED
+} def
+%
+/VPutAdjust {
+ Sin Cos mul
+ 0 eq
+ { 0 }
+ { l Sin mul Cos div flag { neg } if
+ r Sin mul Cos div flag not { neg } if
+ 2 copy gt { pop } { exch pop } ifelse
+ } ifelse
+ s add flag { d add } { h add neg } ifelse
+ Y add /Y ED
+} def
+%
+%
+end
+%
+% END pst-node.pro
+
+%%EndProcSet
+%%BeginProcSet: texps.pro 0 0
+%!
+TeXDict begin/rf{findfont dup length 1 add dict begin{1 index/FID ne 2
+index/UniqueID ne and{def}{pop pop}ifelse}forall[1 index 0 6 -1 roll
+exec 0 exch 5 -1 roll VResolution Resolution div mul neg 0 0]FontType 0
+ne{/Metrics exch def dict begin Encoding{exch dup type/integertype ne{
+pop pop 1 sub dup 0 le{pop}{[}ifelse}{FontMatrix 0 get div Metrics 0 get
+div def}ifelse}forall Metrics/Metrics currentdict end def}{{1 index type
+/nametype eq{exit}if exch pop}loop}ifelse[2 index currentdict end
+definefont 3 -1 roll makefont/setfont cvx]cvx def}def/ObliqueSlant{dup
+sin S cos div neg}B/SlantFont{4 index mul add}def/ExtendFont{3 -1 roll
+mul exch}def/ReEncodeFont{CharStrings rcheck{/Encoding false def dup[
+exch{dup CharStrings exch known not{pop/.notdef/Encoding true def}if}
+forall Encoding{]exch pop}{cleartomark}ifelse}if/Encoding exch def}def
+end
+
+%%EndProcSet
+%%BeginProcSet: special.pro 0 0
+%!
+TeXDict begin/SDict 200 dict N SDict begin/@SpecialDefaults{/hs 612 N
+/vs 792 N/ho 0 N/vo 0 N/hsc 1 N/vsc 1 N/ang 0 N/CLIP 0 N/rwiSeen false N
+/rhiSeen false N/letter{}N/note{}N/a4{}N/legal{}N}B/@scaleunit 100 N
+/@hscale{@scaleunit div/hsc X}B/@vscale{@scaleunit div/vsc X}B/@hsize{
+/hs X/CLIP 1 N}B/@vsize{/vs X/CLIP 1 N}B/@clip{/CLIP 2 N}B/@hoffset{/ho
+X}B/@voffset{/vo X}B/@angle{/ang X}B/@rwi{10 div/rwi X/rwiSeen true N}B
+/@rhi{10 div/rhi X/rhiSeen true N}B/@llx{/llx X}B/@lly{/lly X}B/@urx{
+/urx X}B/@ury{/ury X}B/magscale true def end/@MacSetUp{userdict/md known
+{userdict/md get type/dicttype eq{userdict begin md length 10 add md
+maxlength ge{/md md dup length 20 add dict copy def}if end md begin
+/letter{}N/note{}N/legal{}N/od{txpose 1 0 mtx defaultmatrix dtransform S
+atan/pa X newpath clippath mark{transform{itransform moveto}}{transform{
+itransform lineto}}{6 -2 roll transform 6 -2 roll transform 6 -2 roll
+transform{itransform 6 2 roll itransform 6 2 roll itransform 6 2 roll
+curveto}}{{closepath}}pathforall newpath counttomark array astore/gc xdf
+pop ct 39 0 put 10 fz 0 fs 2 F/|______Courier fnt invertflag{PaintBlack}
+if}N/txpose{pxs pys scale ppr aload pop por{noflips{pop S neg S TR pop 1
+-1 scale}if xflip yflip and{pop S neg S TR 180 rotate 1 -1 scale ppr 3
+get ppr 1 get neg sub neg ppr 2 get ppr 0 get neg sub neg TR}if xflip
+yflip not and{pop S neg S TR pop 180 rotate ppr 3 get ppr 1 get neg sub
+neg 0 TR}if yflip xflip not and{ppr 1 get neg ppr 0 get neg TR}if}{
+noflips{TR pop pop 270 rotate 1 -1 scale}if xflip yflip and{TR pop pop
+90 rotate 1 -1 scale ppr 3 get ppr 1 get neg sub neg ppr 2 get ppr 0 get
+neg sub neg TR}if xflip yflip not and{TR pop pop 90 rotate ppr 3 get ppr
+1 get neg sub neg 0 TR}if yflip xflip not and{TR pop pop 270 rotate ppr
+2 get ppr 0 get neg sub neg 0 S TR}if}ifelse scaleby96{ppr aload pop 4
+-1 roll add 2 div 3 1 roll add 2 div 2 copy TR .96 dup scale neg S neg S
+TR}if}N/cp{pop pop showpage pm restore}N end}if}if}N/normalscale{
+Resolution 72 div VResolution 72 div neg scale magscale{DVImag dup scale
+}if 0 setgray}N/psfts{S 65781.76 div N}N/startTexFig{/psf$SavedState
+save N userdict maxlength dict begin/magscale true def normalscale
+currentpoint TR/psf$ury psfts/psf$urx psfts/psf$lly psfts/psf$llx psfts
+/psf$y psfts/psf$x psfts currentpoint/psf$cy X/psf$cx X/psf$sx psf$x
+psf$urx psf$llx sub div N/psf$sy psf$y psf$ury psf$lly sub div N psf$sx
+psf$sy scale psf$cx psf$sx div psf$llx sub psf$cy psf$sy div psf$ury sub
+TR/showpage{}N/erasepage{}N/setpagedevice{pop}N/copypage{}N/p 3 def
+@MacSetUp}N/doclip{psf$llx psf$lly psf$urx psf$ury currentpoint 6 2 roll
+newpath 4 copy 4 2 roll moveto 6 -1 roll S lineto S lineto S lineto
+closepath clip newpath moveto}N/endTexFig{end psf$SavedState restore}N
+/@beginspecial{SDict begin/SpecialSave save N gsave normalscale
+currentpoint TR @SpecialDefaults count/ocount X/dcount countdictstack N}
+N/@setspecial{CLIP 1 eq{newpath 0 0 moveto hs 0 rlineto 0 vs rlineto hs
+neg 0 rlineto closepath clip}if ho vo TR hsc vsc scale ang rotate
+rwiSeen{rwi urx llx sub div rhiSeen{rhi ury lly sub div}{dup}ifelse
+scale llx neg lly neg TR}{rhiSeen{rhi ury lly sub div dup scale llx neg
+lly neg TR}if}ifelse CLIP 2 eq{newpath llx lly moveto urx lly lineto urx
+ury lineto llx ury lineto closepath clip}if/showpage{}N/erasepage{}N
+/setpagedevice{pop}N/copypage{}N newpath}N/@endspecial{count ocount sub{
+pop}repeat countdictstack dcount sub{end}repeat grestore SpecialSave
+restore end}N/@defspecial{SDict begin}N/@fedspecial{end}B/li{lineto}B
+/rl{rlineto}B/rc{rcurveto}B/np{/SaveX currentpoint/SaveY X N 1
+setlinecap newpath}N/st{stroke SaveX SaveY moveto}N/fil{fill SaveX SaveY
+moveto}N/ellipse{/endangle X/startangle X/yrad X/xrad X/savematrix
+matrix currentmatrix N TR xrad yrad scale 0 0 1 startangle endangle arc
+savematrix setmatrix}N end
+
+%%EndProcSet
+%%BeginProcSet: color.pro 0 0
+%!
+TeXDict begin/setcmykcolor where{pop}{/setcmykcolor{dup 10 eq{pop
+setrgbcolor}{1 sub 4 1 roll 3{3 index add neg dup 0 lt{pop 0}if 3 1 roll
+}repeat setrgbcolor pop}ifelse}B}ifelse/TeXcolorcmyk{setcmykcolor}def
+/TeXcolorrgb{setrgbcolor}def/TeXcolorgrey{setgray}def/TeXcolorgray{
+setgray}def/TeXcolorhsb{sethsbcolor}def/currentcmykcolor where{pop}{
+/currentcmykcolor{currentrgbcolor 10}B}ifelse/DC{exch dup userdict exch
+known{pop pop}{X}ifelse}B/GreenYellow{0.15 0 0.69 0 setcmykcolor}DC
+/Yellow{0 0 1 0 setcmykcolor}DC/Goldenrod{0 0.10 0.84 0 setcmykcolor}DC
+/Dandelion{0 0.29 0.84 0 setcmykcolor}DC/Apricot{0 0.32 0.52 0
+setcmykcolor}DC/Peach{0 0.50 0.70 0 setcmykcolor}DC/Melon{0 0.46 0.50 0
+setcmykcolor}DC/YellowOrange{0 0.42 1 0 setcmykcolor}DC/Orange{0 0.61
+0.87 0 setcmykcolor}DC/BurntOrange{0 0.51 1 0 setcmykcolor}DC
+/Bittersweet{0 0.75 1 0.24 setcmykcolor}DC/RedOrange{0 0.77 0.87 0
+setcmykcolor}DC/Mahogany{0 0.85 0.87 0.35 setcmykcolor}DC/Maroon{0 0.87
+0.68 0.32 setcmykcolor}DC/BrickRed{0 0.89 0.94 0.28 setcmykcolor}DC/Red{
+0 1 1 0 setcmykcolor}DC/OrangeRed{0 1 0.50 0 setcmykcolor}DC/RubineRed{
+0 1 0.13 0 setcmykcolor}DC/WildStrawberry{0 0.96 0.39 0 setcmykcolor}DC
+/Salmon{0 0.53 0.38 0 setcmykcolor}DC/CarnationPink{0 0.63 0 0
+setcmykcolor}DC/Magenta{0 1 0 0 setcmykcolor}DC/VioletRed{0 0.81 0 0
+setcmykcolor}DC/Rhodamine{0 0.82 0 0 setcmykcolor}DC/Mulberry{0.34 0.90
+0 0.02 setcmykcolor}DC/RedViolet{0.07 0.90 0 0.34 setcmykcolor}DC
+/Fuchsia{0.47 0.91 0 0.08 setcmykcolor}DC/Lavender{0 0.48 0 0
+setcmykcolor}DC/Thistle{0.12 0.59 0 0 setcmykcolor}DC/Orchid{0.32 0.64 0
+0 setcmykcolor}DC/DarkOrchid{0.40 0.80 0.20 0 setcmykcolor}DC/Purple{
+0.45 0.86 0 0 setcmykcolor}DC/Plum{0.50 1 0 0 setcmykcolor}DC/Violet{
+0.79 0.88 0 0 setcmykcolor}DC/RoyalPurple{0.75 0.90 0 0 setcmykcolor}DC
+/BlueViolet{0.86 0.91 0 0.04 setcmykcolor}DC/Periwinkle{0.57 0.55 0 0
+setcmykcolor}DC/CadetBlue{0.62 0.57 0.23 0 setcmykcolor}DC
+/CornflowerBlue{0.65 0.13 0 0 setcmykcolor}DC/MidnightBlue{0.98 0.13 0
+0.43 setcmykcolor}DC/NavyBlue{0.94 0.54 0 0 setcmykcolor}DC/RoyalBlue{1
+0.50 0 0 setcmykcolor}DC/Blue{1 1 0 0 setcmykcolor}DC/Cerulean{0.94 0.11
+0 0 setcmykcolor}DC/Cyan{1 0 0 0 setcmykcolor}DC/ProcessBlue{0.96 0 0 0
+setcmykcolor}DC/SkyBlue{0.62 0 0.12 0 setcmykcolor}DC/Turquoise{0.85 0
+0.20 0 setcmykcolor}DC/TealBlue{0.86 0 0.34 0.02 setcmykcolor}DC
+/Aquamarine{0.82 0 0.30 0 setcmykcolor}DC/BlueGreen{0.85 0 0.33 0
+setcmykcolor}DC/Emerald{1 0 0.50 0 setcmykcolor}DC/JungleGreen{0.99 0
+0.52 0 setcmykcolor}DC/SeaGreen{0.69 0 0.50 0 setcmykcolor}DC/Green{1 0
+1 0 setcmykcolor}DC/ForestGreen{0.91 0 0.88 0.12 setcmykcolor}DC
+/PineGreen{0.92 0 0.59 0.25 setcmykcolor}DC/LimeGreen{0.50 0 1 0
+setcmykcolor}DC/YellowGreen{0.44 0 0.74 0 setcmykcolor}DC/SpringGreen{
+0.26 0 0.76 0 setcmykcolor}DC/OliveGreen{0.64 0 0.95 0.40 setcmykcolor}
+DC/RawSienna{0 0.72 1 0.45 setcmykcolor}DC/Sepia{0 0.83 1 0.70
+setcmykcolor}DC/Brown{0 0.81 1 0.60 setcmykcolor}DC/Tan{0.14 0.42 0.56 0
+setcmykcolor}DC/Gray{0 0 0 0.50 setcmykcolor}DC/Black{0 0 0 1
+setcmykcolor}DC/White{0 0 0 0 setcmykcolor}DC end
+
+%%EndProcSet
+%%BeginFont: CMSS10
+%!PS-AdobeFont-1.0: CMSS10 003.002
+%%Title: CMSS10
+%Version: 003.002
+%%CreationDate: Mon Jul 13 16:17:00 2009
+%%Creator: David M. Jones
+%Copyright: Copyright (c) 1997, 2009 American Mathematical Society
+%Copyright: (<http://www.ams.org>), with Reserved Font Name CMSS10.
+% This Font Software is licensed under the SIL Open Font License, Version 1.1.
+% This license is in the accompanying file OFL.txt, and is also
+% available with a FAQ at: http://scripts.sil.org/OFL.
+%%EndComments
+FontDirectory/CMSS10 known{/CMSS10 findfont dup/UniqueID known{dup
+/UniqueID get 5000803 eq exch/FontType get 1 eq and}{pop false}ifelse
+{save true}{false}ifelse}{false}ifelse
+11 dict begin
+/FontType 1 def
+/FontMatrix [0.001 0 0 0.001 0 0 ]readonly def
+/FontName /CMSS10 def
+/FontBBox {-61 -250 999 759 }readonly def
+/UniqueID 5000803 def
+/PaintType 0 def
+/FontInfo 9 dict dup begin
+/version (003.002) readonly def
+/Notice (Copyright \050c\051 1997, 2009 American Mathematical Society \050<http://www.ams.org>\051, with Reserved Font Name CMSS10.) readonly def
+/FullName (CMSS10) readonly def
+/FamilyName (Computer Modern) readonly def
+/Weight (Medium) readonly def
+/ItalicAngle 0 def
+/isFixedPitch false def
+/UnderlinePosition -100 def
+/UnderlineThickness 50 def
+end readonly def
+/Encoding 256 array
+0 1 255 {1 index exch /.notdef put} for
+dup 78 /N put
+dup 82 /R put
+readonly def
+currentdict end
+currentfile eexec
+D9D66F633B846AB284BCF8B0411B772DE5CD06DFE1BE899059C588357426D7A0
+7B684C079A47D271426064AD18CB9750D8A986D1D67C1B2AEEF8CE785CC19C81
+DE96489F740045C5E342F02DA1C9F9F3C167651E646F1A67CF379789E311EF91
+511D0F605B045B279357D6FC8537C233E7AEE6A4FDBE73E75A39EB206D20A6F6
+1021961B748D419EBEEB028B592124E174CA595C108E12725B9875544955CFFD
+028B698EF742BC8C19F979E35B8E99CADDDDC89CC6C59733F2A24BC3AF36AD86
+1319147A4A219ECB92D0D9F6228B51A97C295470093CA270C4488BB4EB864B48
+63941B9739638D2E6F3CC778582B46AEB4E466D89D1C211225274356A4BC90F3
+274C6AA56E200249B7D0949A3FD4185DCB3E5286910EFD7CA72D5D8E8052C96F
+388D12094B87D3705CE64459558CF024667C0FE96CBB32B0BC9E51037D7BD62B
+E4B05FF99384E71D78441A79B0B1DBA1CAE02434A9FAE46596FB86B873B1670D
+AE0BAF516445A0DDC127F8FF3ADA0B10EC30A9CC1F7E9248828B5E8AB46C3FE4
+154B80A54128A08777F5F9B8C519C7E3B632B3476F007FA156E9F39FBE57638B
+4214CD2BA79BA9DDA0F4C073AED814ABCCC2F7906C57A872C00E67FF03AC1200
+29DAB92376422FA21C67CA98BCEB8C431CA2D3EDDC16972F84BF6DB2F705BAB5
+CAB39C82D139FB1304B9E7BF1F6FF447596081D5690B1519E468D6BE49C329C5
+C9C809023EDEB9DCE4A6D52A8049E0CC134E8B41BFC6558CFCAD3D9D2773EA16
+131567AE6231B3235869767A1E7C1FA6C8D6FC1B276CBB1CAD14D376188C9682
+302836A9290E587D4225EB8BB1DBA2C4580A81FACFDA197174FE948CE757C575
+F23070FD84DE121955D7D9307BF986C5E739FFFB6CB76822C341FBD9FC2E3378
+AC9332B40C07D5B8745D74E30F1D719EAFAEDBF5FBC40D0546F69A66072D8A49
+28D2CC2E76B9B1EFD191E0BC7510C2C8761BD92EFCFDAC263342A01398A56D18
+121A591FF5CD4AD8B25699A7897E60BA940336BC17B9EC9F97C2464D031F958A
+A3548D0C97C50C580B6EEFD0FE8330EE2BB0D2E7FD1DAE33448953544A4B1C5D
+8EB57798D0ED4B22909FEA78ECDBC4D8A124DA05B9999242D68681017285A0C7
+69041C1F79442279FBE328733EA0A6694D68BA89739FDB9297BE0CF1808C07F7
+BBF6F1538DFE084EC8C0EC24D883F6CC08A51DFEA23EE920F44BA55FFF58E960
+C7BEE551FCD2D5814DE7E3F835608073C2CB80EC57100CFD484C837881674E92
+B217F4D11165427DACCC29C129005874C05CDE5FBB2D912368EA2B98C45AEDD8
+8A0D2493F60EF36809C8C6EBBC7856F6656E8D398BCB29DAACD4F7D4300A0B01
+161CEF51195D2C58DDFBCAFC1C03F49304ADF02789889826F1E20BCC14827565
+F2A45CA57DCC61B52E33638A0C6C5A59B145E82B82571DF1806EC40FC0E8634E
+A34A791B1325571E19F3AC2EF6FE68A14B0ABEF7EBE0EDA3942E85E5AE967A14
+0C5AEBFF2A36DCA8866700CB7082D2ABE470864C44AEE1F6D180D511304C8674
+D02FAB12A7079ABF96E1CA3CDF9D75532123E87663B1D524265AEF63EB5C2169
+B67A651A101E1C7EDB008D3DB06DB1FC1A81B41B291D6C4A58FB57989FFCA434
+DA84B3914D1D80B17AA3A55A70BBC06C49DD5F7DDD03FEB0055088558FA192A5
+261477899857CF598DB740E82D035E84CF17B33048CFED2DCBEBC2B75CCAEBEA
+B6C5AA1C6978FBB36ED98D9047028360ED430A0AA69AC85A8F83825EA649E1B2
+64B260197B06A24A1DD969CEEEE136FB046D713D0630B246BD41CA285F076038
+F7F8431913BB9A3E70311844D4C22AA446E3CA217A9DFD75A898997130269B29
+AD4AB7D9662856E677FB2DAED7078639CF31C6E6637C74DE2B5D0ACB88BD61F3
+CE3C5D56D3D4B3EC1ACB33EACBE05E53A133EBFE93CE6A0CBC8F24BDC5B31BBF
+5B3E55D6B40B1CED389076014667E28BBBD60145A06BDECEE8011A2C6F06D091
+73767A8045CEF2A110B614149FEE783A2351FB2938A9F73CA406538EAD82ACC5
+A3DFD3DE00221E1B4EA977AF8C89661357FF7D2F1FCEAD6CFC9D6AD81F95100D
+EA1F328249AD84AE849220E6593D45015B4D7C9527F3063E9F6DB6E572092A1F
+1F460696227D5F0FA5A5484B1F0D8B4A35066451663BE448D924DBBFD388B6D6
+D7CFC87C9E75B7CF79A4C9207E29E0BAAAD7FDF529B860F7731EA978E335334C
+13CB2F0A4250F5957B44CAA0674AE8356F586A24FD137103973B9A1FC31090C7
+C84DC5D380404BCDF3FE20C6F74FFDD8BD1DE845E99DC6FE09931F003834ECC8
+08C5D962070B6C44F901A787CCEF048A2C584A2285506B4D4E82B1BF130E2220
+B6C8B3240A4CBBCE16AD3676B23A50B75F82CD88D1B8F21D30A12716426112B3
+23DFDE5A348DC9DCCCE5BB5DB5433A5AC125DE1229FFAAE0D8319B2929986EEA
+56A93BA1FBDBE617F30852A3DC8C712DF674169C6D656F75E252187A085B2788
+2467CC4DB08D48EE6A98C61BC55E6EFB1938FAA718802B7587B94C8F1477E9BB
+DCF6E02B5E67FE3AD9D87C321CD9BC0CCD36B9C4BC601E6BD552EAB8E1C940CE
+3A22F3C2501C3C939CB4F17CE97566F0A04602D2A22A05CECDF4A49CAFD6332D
+5870E1F31AAA5F86867F71610CDB83E473B9D20BA00D8986D7148E0EED03865D
+9622864B52B09D12E0C5FCDD023D29D5AB1CACFA92B6FC14FC84E95F407861D5
+2BEE3301AF399FD7ED04DFDE6679A345A282E7FC08D47E3FC8969D3B00ACD7B7
+F8769647D6D4F4106340EF739583374D023C2702C48FAC1B643B5897D2D7DBCB
+73257712A0FDEEEB98A021D218CDDEBBA34687E23C4828D7F96D1ADDFAED7EA5
+B279322E6D55FB486AD8F3A8E7B2C67915564FE56F0C9277A06B29C47FB7D007
+11AFDDB3FC1B173B4E449CC6B198041CCA0624D81B4840FE5B63BE72157AC6E7
+03E5E95D2E2CE2E40BCE8044A8F2AA45F855484A891B9F0F8F70188AC66A8DEE
+F4D656CBE216E6D9AC33BA8DD0685D480833E1226784469A221D9FA3CA600AC7
+5574B5226649A9C48CCB43339942FC9010F86BAA2D181AEB487A92A96BF2EDF1
+60F3B93FDFF4137A25A8AEC5ADF8613019CDB103DC4367EF3D8AEB4FED0E6BF7
+622AE0CD3CAA0321D26CA4280CFB60D08D9560AB8AA5698231171B881BE9A27F
+BDCF3162134126212C523738D221AA05E31CEE73D9D40F73C450B6AE2C1E70D5
+C37162BDF55943069923A290A6C720042566E55A21CD81C460818883AB016C16
+8FCCD1255A66977DC1C110261D7642199D466DD3D2493A2D47694F842241C474
+1752B00DA03E69CD16A8A14BEB8A431A315D19A39BA978E46EB1189089FEF647
+F9DBB58AAE6B3FBD475E4DCAD241A051DD100ABE81D40ADF18A4C50F53BF749F
+D6F7C8E02A5665B4AD18DDAE79096DD447F8BD32C68F9F97F05E0071D9E9AFEE
+257B96D48ABD9920418E17C8F027E9E975E4A08DFB1988E7104CBBC1CAF356EA
+7750AA7110BE116AF1BA69A94776E4356573B38472A8A1292C63701543B0F315
+611A0E0595B30424A1137478BA6F990AC7C3AB4DB69E75C222B617F373C521D4
+246E954E9857AF59D1E6C36412B643733CF5E1C90389EF0E5E0DA55D3AD12E97
+E7630C315F72A03CAF22E0ACE3AAAFC1D496CF4E5ABC49C2DD5E264BE7EB2698
+AFF36089B5DD2C53DB1C1FCFBE1E89D41A95DDD278CEB29DC85FD1DB8B83CAB1
+EB37C531E9BB8466ED6B8B60258D3C355626CDA43A32834DC89DFB11E5FC6D68
+0F78CFA871113DB81A1690250A6F842ADA15734CB6DF7C6ACED6D8D586BC4E1A
+94EF3052FB0F8B9454390B882CBB6E135AF1F9C777AC362C2A758C3A98117120
+73C6E2FAFB580716D4B2889A4331CC658AAE996245685B973D9C184541385680
+AEC2956107DAB00230FB39BE98D3CA898D917E5F2088F26CBA4F8B5B115B6443
+8753331233B10852702FC26D9DD4C990C13CE4D0DCEA23D62A826A4B4FD16070
+5F3638C0A50A3373A33FCAA6F3644975AFD0560EE5F2D1CDF08820373468E4FE
+6679A229D6955CFDF7ACAA92A87E6D8571AD18CF59F84F88A674B2946FF20A28
+B9798EAA22442415EB46B9498DDC0F4BA6ADD347AB43E9293CAABEAE80127378
+129D5DC69F6DFFBDAFA5D65580239E8EDF6833D0DE6DF75F0FD090A83CE0974B
+AC947BABBD1B1C7194DDAEA37B0CAB477ABF9433FCE0243C8D308409427D1DCB
+8EE4FC36C7E5CEE104904B520B3F6E677A5B92F694BDBC2C799991667E0EC14C
+B95EAE7DE1854BF4542F05B4AF401CF67FC3E46EA5A0DC362F3CF177B1796DA6
+753AA803E724D1721DDD1BCB0C12CE0859E172D2A370C3697286F80D9E138AFD
+A0EE016805F847BD30D11D8B891E54C77AB51A7CABF76BB14B06153C7F811FE4
+93FC4B7CF161051A458EDF767DF94F487DB939A2740B4242BFEE234F75084DDE
+207E84533004B933D43C712F0C71DA4A00FFD6D721EBC93AFDC4200E3B8DE433
+3ED3E1DB799BAA27548ADC853AFF5D9D6BD92D644E3CF394789C99D9DC054A26
+7770AF5DC5BD6563929AE11BE341F036584DD573D3F43D9D975201EF77BEEF80
+D1EEDD1D4AD5D4D4DAF6D5B9D4C1736CB111D6FC74C236779C0ADA430323A825
+09EA8D0CB1772220AF28B93098BDB36913159208D1B2D7ED45808BF7B686419C
+5C0E3DAB5BC9830FDF3B494D624EE8068BF6F5212BD69EF466B9A213047BD105
+B848F056DC544A8CE66C546B1A4DCB4BA29CF0EB4DCD9C2452F22172AFF33B29
+E97E12D8F0D312B03BD9E5377BF0C81D884F1E79DB66E8144F106DFD2579AD26
+C693C5B68F3AC46BF0D6281032D4D4BAEB2243151AB1AC0BDA2ACDDD4D590C90
+F29B335DF8F57DC593DCC081FB56924028E3161AC4865B49D1B0F63F5EE866D9
+7A71171C09B09A44B0E32F03494D9EA63F3C89F5E772BE25A6557F119299E989
+99BA041694ED805AA4F3BBDF00D88171C9D43A9085A287A36A1F0F9386F2A98A
+96815CA51F06E1CDF20B757983C5FDF4003F5438232159F325C6335B734FD982
+1423BA77D0EFD044381AFBD0704E3DE95D23A70E2428E9AA355A9A8A25C6C74B
+48488C14DEC93A766E112D74C83576ED355F17A809E8D3F9C65C4E3E14EF484F
+4658DFB57597E2A4461D8044E95844391C1275D63F282B37888C842A5151937A
+45007547263D70195ACC018A373D498B88C5A028BC66ED96A343EEE74D61EEB3
+D9472B6A549CEB8699F4B35154A0E2ED22867E4F9E4A76311EB2C9F9078FBA81
+838EA49C2966BA64C165434DA3093206B70186BE80600B891D9979F730FDC794
+5DD6D8B2090CC67A634B719F441092A10C447A86ADB78DAE45823ECED5FCEADA
+ECA52E363D913D9EFC0ED98A5A1F823DDA3350EE27F09C14E4C7298CC0FB6200
+DEBC640C68C82D70AFB7A7BA668F1D7948686206884736CD03D9F6E6CF9702BF
+E3C932CEF3CE07FBBFCEC0476EA6E8D5D4C5C6450C8FB236B89BB82D51886240
+5BA7462F50A88F69228DCBDF26B7250E90B3DF8E94ACA1CADD9EFB5C73EF9DD5
+46052314D445CC92512BA231F79A09A2F0D91976B160B8C9BA055DA4AAC1300D
+491193EC66A6DE12BE01EEEDBC3A2291DA1F27AB76596A236B75E19FC5F1FB6A
+DA1AD835CA08B6CD03B97B4CA1BFCBDD2500BB09F1A1B0438E4A759370EFA318
+F062BA9F3D352572CE232E6FBADDAA5363807D0DC5320B807FE5485C8CB09B6B
+0BED9F5B1300FF370252DEBAC9DB25CE2EC494E8EEA45FC6604B3C104E81B287
+EDD49F3D7430EC9176A16B4FCEC5DF68DCC11ADF90BD5337E2E4B59BEFAC8298
+E5ED2C7FC5928635420FB1955251932713236DCE28012C86F63D12AF1DB634D0
+0B8CB8992B8723548177BD6822A808FF221A9E38B0DCCBC1F3430A9BAEDA89CD
+ACEBBDD8CCA5E17F1CC37E35A01E058BAAAB6BE7124314DA19962BADB74EE73D
+8FB13FF6AFB6FFF97926CA045B62B98BAA753AB0FC78B881D3FAFF9EE2FE918C
+8EDBEF87637F1530E3E13AC090FF81F4136E08D5F3734327E643CDF621278741
+A17AEBC56E21217888A6C8B5ED4269731910E7E25693CFBDD4EB4A32698F2447
+4C45D73E810B627D8719E4E34D8FF378F9B68BFB149AC67B3B1E55F20D097FC1
+AF74D46F5A3923C63DFEBFCA210F6B257F5FF3F2AC34CE41C15C9977634E473C
+2235295C05C3DF6B3009C7854BF11CC87471CBE085793AF9C5D05C5479B9E780
+14A5A6F3F6DDE5A18243DA15732CCF26ADE40C566DBC3C62B71D46DE87A12C6A
+647CAC923254E2E74AF882DBD5C9E108A9160393C5CD12566AF7C824EFEAC56E
+6F05B92C73A76824C5ED1735BCBAC61B98D509250C854CF1500C212F574D18D6
+4426B8510FE9785B814A70E75C9234D42483E736D0689D3561E8EE5650F33A36
+D50127589401D267BA6442E8616E2CDB1F6691D3FC4A2A377E5E154972E890DD
+60CB463E9EA9A6EA61087DF452FA5646F69BE879337EAA0F5DA4438FF0365627
+4E3B16851C2F08E976FDA27AF451CCEFED00376FC3D6E0C160F0BC19544DE289
+BECEEF9A067FD71D54DA3A4F73F06E2F522BA07551296214DDA47B1BBB1212E0
+1100ACB5F65FD30C655A3402C83058F8ECFE48FA60B6A3DC86C4996414130194
+6676EC7F37454023AB53E9D9EE60249ABF6953E76DCE3123DD268BBD492412BE
+65D7C3E5A5E483C381182A8F19B506F0AF6DCD55532B89852D1D96021B22E9DF
+D9D072BD7DD4450577E658B433A84F92752B260AFA2EC4A118747CBFE36AB7D7
+6D5DD96A119AA1BDD0FDCBC3AFDAE5FF72713EB46759A06CD09B5CFABCDAB0E9
+85599506AC07AA525978AB157496163AAB387F079EC9FA1F9E91B9C2FBCDC9EC
+7027D77016760539AC03F1C1DB242D28D6EE946C42DD2262D82ED48C3A839853
+BA977046F0EF373AFF884AC3112D2FB319421C3165DFA5710BFB9AB9595A10F4
+9D05704B9E22137CF27F4B2DA9CEF6D8801D5F792969B2E58FB539B8038DF440
+6DE20C0313A7BCD16F279290AD6859B0E657CC3041C7928CAE35B9D3A681F2A3
+2D40F8EDAF1127E754276556C95E1282514B6EB6E43FF4F0FAFF28C715E3F39A
+374415B62C1F5F8E31E006D6ABC736057910A3729AC60360CEE1B2C8D9F77336
+39CAC45329A372205FD551B9E9EA5082411207473D9D90E76136AA70180172E6
+AF6EF3EF6B38B1906B904BE9BD5251EF067738840C28877659B649C6C4CA328F
+1BEF8A9CEC2CB062702F58CC0B8D2D097FBC278F9FD894E10ACE1DEC4530CBF8
+E4E467B6DB9C596DF0C3D43E6AD70F30B733EEE692C2EBD68756D0C16E1F00B6
+AD011B5DA073A769B53C2DA2E7C9B7ADC6F551BF4DF4C39C66443692C3DC62CD
+B1E094013F364D04BE2FBFCD1C7B2836180E9022E0434421FFA4317A50096684
+CF0B8740EF680F27F4A84AAF2AA92C64883BAF57BDC60C6467A8D4E09E6316FF
+9BE73053045E5F3586DA3BD1298DC15D751913FB1E72EF80047F6B33591B97D3
+DFAD34EB224D64EF60F5B4ACC6EB42E1BE0CB2812FF2F3C264AD2E44F5EBA441
+670CA0A60E73176ACDC4E42E74F8F489C73481EB5D46A61FDA1C0FF9F8844DBD
+99CECAFE2A72833E4522981FA13713AAFAF8F121E60FAA6F379B2C8874CFF23B
+8FECE70654E5855E525A403700A96CF7F8111BF2B58386E29640D82F1DD86900
+E0E203F3ED554209CBDA2A61A5641D4B39D98C5C43D4575648D06BB82B6C4D4A
+F043EC61B17C208CE8B4F43A7BCBBE588A3D13A183D79A47404223037FCFA4F1
+DD237344E589F161BB9BBF3FAD2E28749350DB9A74C09E894BBCA85B82E704E2
+99788B24642A7D0F0FD96601CF1AE4819EBECAB89824A0DC1C03BA4B546ED36E
+DABC8D49CFAA53D2A9A5DD6B3431E364C99ED0323513476CDCEE49BC413E50BF
+51EB93563DC03B62F84C5F96ED713F288D109C79179AEC41424822772032035A
+40E84014F5BF40948F05E8562C9CA9DDD71F89021BE238E74781A92D64E5F9E5
+AD6C0D954C6686C714BF189E78EE47F1530CDB8376E52631A1A26E3021FAB977
+DBF01167266AD68A779C0180E034A90CB77B86747395BE885E484BE4028B4093
+8BE191D58D0BF85308C72E6384292A2E1CD06130A091F8AF9DC6C3E12B1E4BA2
+BB2C37AB4AAFC0CCC7964C06B9EC1C7E3BDCB6BA265288D9C8625EBA35BD2A49
+BC50472D7AE262237FF1EA8D9DEA3C0DBCF7C3B2DF5AFB1F31E46B48E0A8932C
+AC31A981655ADE717715290110A24F18A9C280B8A1319EDE24430F8B6EE297A6
+F0ED9FA62CCCE8D04508EA835C94EAAC87A6B0CB478EAA834FCC96919A168737
+09F5AD160CBB4A83185BD3D2FB6C5106F2305408003BB76353291395C141525C
+C35B34DC64CB57C382F7D293B863AE11DDD537DFB356CD79C3F39958DBDFAF05
+C2018325DBCDBFD6799A213DC41DB996D0ED640669724C3B991A648934351F8F
+C0AFEF6CFFF64A2DC8573FAE4D27F42F684FA9DE66B983C75EE125EF4285686B
+C079E717409F7C7976421105699CEE6AC950BFB20E66BEFD4E06AF99E0593AE4
+5DB4DC8C8832529631FABA0B611F89BA8AB7C42C115A93761D1FFA9B70177543
+F76492919E80F0F379EF684F34BAC59C5D2E69B392
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+cleartomark
+{restore}if
+%%EndFont
+%%BeginFont: SkakNew-Figurine
+%!PS-AdobeFont-1.0: SkakNew-Figurine 001.003
+%%CreationDate: Mon Feb 02 15:14:46 2009
+%%VMusage: 120000 150000
+11 dict begin
+/FontInfo 15 dict dup begin
+/version (001.003) readonly def
+/Notice (Copyright (c) Ulrich Dirr 2003, former designs by Piet Tutelaers, Torben Hoffmann, Dirk Bächle. All rights reserved.) readonly def
+/FullName (SkakNew-Figurine) readonly def
+/FamilyName (SkakNew-Figurine) readonly def
+/ItalicAngle 0 def
+/isFixedPitch false def
+/UnderlinePosition -100 def
+/UnderlineThickness 50 def
+/Weight (Regular) readonly def
+end readonly def
+/FontName /SkakNew-Figurine def
+/Encoding 256 array
+0 1 255 {1 index exch /.notdef put} for
+dup 65 /A put
+dup 67 /C put
+dup 68 /D put
+dup 69 /E put
+dup 70 /F put
+dup 71 /G put
+dup 72 /H put
+dup 73 /I put
+dup 74 /J put
+dup 76 /L put
+dup 77 /M put
+dup 79 /O put
+dup 80 /P put
+dup 83 /S put
+dup 84 /T put
+dup 85 /U put
+dup 86 /V put
+dup 97 /a put
+dup 98 /b put
+dup 99 /c put
+dup 100 /d put
+dup 101 /e put
+dup 102 /f put
+dup 103 /g put
+dup 104 /h put
+dup 105 /i put
+dup 106 /j put
+dup 107 /k put
+dup 109 /m put
+dup 110 /n put
+dup 111 /o put
+dup 113 /q put
+dup 114 /r put
+dup 115 /s put
+dup 116 /t put
+dup 117 /u put
+dup 118 /v put
+dup 119 /w put
+dup 120 /x put
+dup 121 /y put
+readonly def
+/PaintType 0 def
+/FontType 1 def
+/FontMatrix [ 0.001 0 0 0.001 0 0 ] readonly def
+/FontBBox {0 -114 1241 842} readonly def
+currentdict end
+currentfile eexec
+D9D66F633B846A989B9974B0179FC6CC445BCF7C3C3333173232E3FDBFF43949
+1DB866C39088C203DC22FDC758584860EC7BB67FDA28CC6208249060E18FAB32
+204779B5C03C0493BBBBC95CF02692CC4DEAA8D2EA90B5C2E64374E92BCB8501
+429B8FAE4A76C0C6B76D6FF7CF9A7D5EDFBCA0E959541C59BD05B7DE43D25D53
+FC3DDA6EF0C2743978A6D03E19CCED4A11F2EA4BCC3110BE8B8D9E2772361969
+C19258EFAFDC276CB1ADE9208A941A36D18F9FB1C33DEF76AA315DDB04A81691
+6676E5A648D7DE382599A7743325F8403952F71AC144CB079B79EA0F6CC70FE9
+5F3188F983A1F1EC77ACFC7CCF01778F00CCFB385AFDEB4E5A9CE7CC620FF716
+C61C9DE01E055E0CAFD45A716C0BE3FCBE9055D993851DE60E1E573FA960A4E0
+DA00D6FC534C4CF679C935A5D4A5B19672767A386D945B17D996CF36231F8E98
+218CA1C3BBB7D39931D4D50B1D1EF947277C4A9C9E84D419D55550E2A5FF0549
+1FA0277DC7AD9334BF50CC5492D5EAA01A2BD4770AD8B320B546FDD69F0FE7B8
+7DCE3B013AFA239B624C50424184F8B2E6C035CD8D09C0AEEA727DA23EBB0563
+F296F801C2D059FAA56DDC675D141E980EE19E8693DD546BB1EFAF23B25EE18F
+401F89336BBB74A63088F8D1EEBE74494B265B6B737BBE29B09C257B26F2DC39
+B3CC5E66AB9A1696EE887C7638A4455C101BA7567859E0E604629B5D3FF0C3BD
+9415B98896048B159A2B809B92737580090FE1E59963263B10DCFDBFEFE15B88
+68ADC79BDC0DF2CA41AEBB4338C85C6CC6C21EA274FF5724D26BC8563E63DACC
+067651091F0E4F77C75213298BCD391606C39E1C1F37DD9C2C4515172E0DB0AB
+3E93275D2FCA7CBFA53CB4D8123F6F54D0986482FE3E98ECF421B3A21437BD9E
+E1556833796B0E3BDAAB179595F761991103B3CF06E89E5DDA1F6D91AE06E510
+6896FF0B71F0D2911767CB1DFEEF3500F070270EADED32C917A92CEE4B70D0AA
+AEC0F959827BFFAB9A4BCDD270540B157307FC76AA894CE6094B0A399768CC90
+A73760A81C686C373ED4475EEF76A3EB467F2EC721D2AB87B492444996764D66
+11C2906AAB13B76373E8E10B6C92AD072356BB7172E941756E1B14A5C16D083A
+82D271A5844B36522008EC033C9FA37EE6B8E5603A75500223C98D80CB40CEFF
+CADA7CA565351C3844C7E2958DBE1DDE280A937A108D9D67257E51CFFF296304
+3F3E4ECFC71A72240C5C1E3E022AE56DDA20C9BFB9FF931ECEEE556BCC9C4374
+EA6B2CCD3D37CD025624C7B916A98BFD34E7811526561FE9C51114475E9EE497
+2E9524DC3EB093A2793D553A3B4C13236CBCC78A8F93CC75F90C9189297BEEEC
+A16244F6181C5C535EC9B0C8DDE504E621B5887FEAAD0F667C7848497110589F
+AD4265A06A63E61EBF1D02A87587DC7D4030E320C514539B504A31AF3D78D39B
+A3E59AD1CC7763901191CACF97B56367EF01CDF17E2E5049D46E0C470750BFCA
+57392DE2D0CA52013ED065C5F3A6A112882F7F37638E5B2B3893392706CE2027
+29FD3E48D7EC7516E263C79D6A97268DA46DF57696DCE0AABC09D1B6E2F91C96
+8D4028D2F1E7C5BE558D301C8B082EB07115A8316F68504339A38BC05ECB819E
+A3FD4EC2887F1635AACF2780AF4067FF1E1EA8D90D4CEEA08E56C7958159C8E9
+5855ABD89B67C61781656DD25A7835DD6D0227E8E5197151EFCAAB5DD7E30FF7
+1051D6D4967092FDA2997852C9A27A96351DC61E31ABD4A6EA8173FB9DBC2F61
+D36C2E4278A20DF0EDC8A8322F6919079AC88C84E75904A2D372030CBE54BDD3
+95DBC876109AC6AF2D5DA531182F93B84AB3B31C5908ACF05947F6414AFB850F
+043E1D02CD57C8961D1E0EA51C02097026083440BDEC45721D0F6D8C3A1D8CDB
+3A7574A94AA0157967D94B4FE04C20B90DA96AB9391B620CE60C015AC73A71E6
+84907BBF57AA08BDC107B0B2DC30D3EC4DCA2FB7C7EBBE81AD2A05A0C30B7128
+2595FAB8122EC5A75FD78BFD3CE46263505F4BD03527FC4CEC45236399A2BF9C
+4A75DB0DBC50D9659B1E1BDD615BBBD2E338012BFED914E88F37F9EBC7171264
+E30D7D87E849FECFD4BEEE78024777C8E1E84FA3B14E0B3ABB8A254A1519B911
+DBA0A83D0F86446329C71E645D92D02FFFD3B21DFE7CBA87A3B456F5F7063116
+C8125C64E8D6ADD54958DF8F45025A36326245B88D01F9C198A4CE29518BE6B0
+29A667AFDFA1350FC6EA47AA1D0503F3ACB450EBEC9CEDCC102FCE62F55BF5E1
+CAB60218501E2F429EBD905DD8D404E806EF9CB2841F89A3FA1131105F04465F
+3C7A2B47C13DEB6707DC7F01AA43592CE1C81B76B5A6E8D9AEDCD79E7F52AC52
+19F863695C77C3BD4EEE3493075513CD6EABF0CB9F34F66D6AB84E2B903873AA
+286B6431912785DA63C574BB4F80DD6F7A1B493739E58351A85D1EFC7CF4B1DA
+EB16AEC6E26F10AC985DAEDA799DE2C09C99906E849A107045862E92C0A1B172
+7DDE110ADAA6203C01D69D00071EE1E864B33CD3492BC695E3DEF8B9D83DBBE3
+FB6A76B628EBD106B163EDF4C6F485BF8E72FF25A3F08E88648F0877AA3C5A7B
+8EE6553554CFCB0B613B43E51B3EF00243D4F5302BC5307FA44BD179D6CC2DF6
+F1D9C92C198AB47BFB0BFB2250C48A279E3FF00DA2B09FB23038E781924FCD28
+5E09D3201E13708B4DC6BE3D81282CEC04A10C21183A73505F7F430FFDFB7BEC
+7D0D22743F6AC58394ADB5D8AEF8DF2675AA70E630D7C4477ED33C1F00073852
+A5EC09AC1F212DA9E477CCBC8E6C1716E52E196B929FDB397551C60A2DFE9134
+F6728BFD04584AD5F748F136D780A0038D253AF86C005E29DECC5DAFF403F153
+0BB5E9B2BD15F6748821A9E687A20D232F530144C800F5E130558BFCF480FBB7
+79AB12EBA4FA0C5A5719F3835C3F1641805392CF4F189350D9AAF9F2135D0D24
+921F112695D50730EACD5D6BA5028C6D183864FD74E6A7194683A2E542231D14
+55CC2E7504334B615CFEA5848F643E8C761E78A9A452B4553EBA264C89076644
+8B4BCAFA8A4F12421F14A61544CFCEDE9081C08D4B9AD85C6049625BEBBEE60D
+4CD2E0D6BFEDAABE6DBA1C5560D573F1CA77FE7746198B5AF514564BBC7E9033
+C5356E7A7A8F62B96A0CDBF27E2C2916C93744A3C377EAF002CB86BBC433E39B
+354C24AEB7BB943B425F133B57662B87C4476488D31572EB049CAF8014E433FB
+D4C18175FEE5C84C38A3994F5FB26EC9083C33F1FBBF1991E2A1E9AA0D9B05CF
+807C9314BC4888E895BA400402574E4697271DCA742DE26BB025A76966570464
+65C3919ECEA9779CBFFBBF640D228A1F5D5EE26D30A945888D3469281CADA471
+23D8D3260E1DE2E47A18526DBD971C6E8CE40021549FDB096336531FAB5B0136
+B4DCBF4B10B6E56E0492AEBF75CFD32981455521B2E01EA9D83E56E5DA6CFF86
+1352B688FA2B790285E7BBB1AE7EABCC786E0EB75F87276BC9B541B07234E7B6
+BE219112646CF3EEDBB82A365B137F0C9DFBA0BD9E22BDBCA7C979B94005785E
+3FD5715C89C3518CFFC50BD61869C4A56248D078F6D51E3901ECC4ABCAFC7AB2
+C71FB50E2936C272C805FD1CFFEE5E22246D1506DA4F3115C9B58CFFCB8F4B87
+0A6A9089BC7728FBD8CEDB4A9828B07ADAC517DDBA442309B6B8BF59E3563E6B
+A2367FA24A141967456DF674F419459A4242708CB4301DFAC108CC8692C89BEF
+1D148558F78A9132B26C7C9FA12233D3FB2EC34EEBA0DD7D2BD61029B48039CB
+042945A97D0E651FC0D41C42CCB8B66190785C1BC413CD14C32DBC3632DF73B8
+2EF140AA01CBC7A4BC5C6ABFD7B17C81BF507191DBCC45C7CDC0B098D7AAAA09
+DCED8AD9FBF1A9457BE7193206259EC22C75339488BC5043BC6C2CB070E0EE14
+8540CD52542CD19DD6B0396EECBB4F6AFC20FA231F0D7E17BD080C5DEAF24CB0
+60AAE5C79D99C0A3C03071E0577DB271842306296AE5BC588C02A3D19DC0F620
+AA624139D349E16C0856BC50894855588ED2BFE2BE2740B76B6FF62B3E59EDDD
+104E3BF213680CF14E3337C48B6CA8E2E23476F95152C2B7A2F8AAC39D27BC77
+6E4FE1F996ECAC2DDF9125199F7CD3AC1F2D3298EB89AC9BC95EB53798FCF67D
+2CB01D6FC54423DF2E17F0CF5A9BDCB8CC4C1FBE312D1A3C886E10066F323302
+07B273E55CB6350D2942A5C502C7C1D22FA4E883A0E9BC8A75C3D4C23935DBA3
+1C4551552C1C3A3F08B7EA4DCF6DB75371235977FED298991765108DAD5D4BD7
+074A6411940A3C907511CD71FA45648F78406E164988EB26019CB16819AF47C3
+81E52DE64C0A31A242A272C9F2C8EE6C17795CFC5DFF3E680A7A6A9FCA796000
+CD734EAB37D86218452A80A189E4D391502FCAEF9D028ACB9BED3E09441FB7CE
+6793A4E49E362E506DC6BF5F8201D53D809A02343F19C21499046DBF408FCCAF
+53C56B932842843157F3D16CA4EB54F4CD044DA560F9A4BD783E76D80B743344
+0DF77397DA7EE6C415BA33B76D6714F7451FBDBDA7941967CC2AC0F89FC6F193
+FD58106FF85144D50392B456D16F27C29B16628D12DE23A184A3AAE658CA3E9A
+3AE8CEFC800C1AE6F2AD5E359E9B6B6A1DD8DE7EFA161BCFBCC8045423622B20
+1C7D14C27693368D56E1C7E6732222B249420E086D66FEC913F6D88AB8C269BF
+A36F210851A12FF7DE8FB0957428176477D81B345C69BA368057661601791CCF
+7BD7D69A7D6D9F3CE13058805D0D25494868FFF19B2FAC8131D00196950CC3A4
+276652B08ED8D6546CAD15D591AE8546A71600613D2B425B9FC7F2367CDC2873
+81573201614D241D104F6AF3C8B64E9940490108B626629AD01A4D6A7AC6B70F
+0D5E32F0241809B66D0D486DD7032B97F4D2D7D0DF4F0AE6CED7E9C695F47B21
+C3D9C263BEBAA7A97F9CDA7455C8302CE3D6D89236F7EAA4878C380A9C23AA08
+5EE2658FAD7ABC5EF1ADA32BA39E354D0EA4FA9B9E1F8816E340864F1CB46606
+6B50A9F99CDF7A70AC0C2BC8958257DED45C453196C030ECF6E89A5F3F741151
+96FA7635AE0748141B6CECDE677133C8083A86B10C134D80D07CC3D5C7669FE5
+90DE0133EC61893BF4A7F9CAA915EF3AE61EACA5D851EE1048CD6E898DBD5795
+3473E2785450012CC8C5409B9A97FDD10D39DAECB64AD7BED77213FDC724DBD1
+AC0535ABC8EB9FE0198E15C50E9657FEE8AB00BCABAAC16F6C1560681A7336BD
+177FD31EA4840721BF22335AAD835687CADCA97E568F5F36C96D048C3E6C1F52
+2C51CEDE2E3B72CE85CF00AB15C85EDE516399992658BC16249FCDA61AD9BFB7
+6A48CEB195A36F3B164B9A36EBC3382950671C29AD8854FAEB9F2A372B78155A
+9AB70623E9EB7E22117FB9F75897AB9A64C147B713813C902078A8A023F162B0
+7B4243FEFDD612762B8516F97A2E8B6F46B55E2C179018E1CF7ABD4A6B5AF9AE
+CAC2DC12C61D1EEF349C9797CFA9D657C6E8ABD5F6EA7AD4DA037917201125CF
+94D32FAB37A89FDBD06D23D3868A6BB62A97A94A45581A5B17012390EC83668B
+3655005298BB8FE43A8880DD63E8C8DC37515580E56FF1BB6689CF92C4CC2E2B
+61291B3AD25ABE0937C06E8CD548771FE0AD0A0328F49D818D8B96019E73B4DB
+DDFE56689DCE604A7945F90E74A2F350CD4B76DA2EDAD87EB104DD90AE6CEF31
+15A81D31B56A89DBCAA25144D0F225C0640BA06AF3060523DF5C4F45F0534B8E
+7A4D80072DA798F8DE379A1330CDEDA5AFD0C337CF041B5D1D4DE7EB013842AB
+7F7707355BFBC756DE91EFA187C20C48B3FAB22D770329CFC52169D0769B2D84
+BB6CD63D416CA52BC4F502AF72E82FD4AF14569F957253FFA5A1EEC88A92AD1D
+CD2436B39051A9B7C8AABD16E06003EA07279A17028727087F332C0BCD20BAD3
+D13498F3FCD80D0AD210CA291D42B8184776DA936E2736EA5E3DD3FEF1DA02C5
+1DAD1C437AA0277075A39A264AA60A18F249036955116918F68B3066C20D56DF
+9D04F756430FEFFA73C5C9BEBD609615E3B5EE10BE0CA948722333AEE411421D
+A06803D8831DF9BB5F6C18CD67F2FF3A59D2382228BE611F62339251111EDDF3
+6E7D2DF531FEBC5B36E3AAE726DC7AEDC50D8CD452A2B4DBB0D0D44282F217DB
+E6FA7EA15975A51E71012FA0226EB22712762546A652A5D6A7BB0BF135F2CBC1
+A45449CD6668044181A009EB9DAECE0F6408616ABCD4865D7C3236DFD24F39B5
+A29D229495CA4589EEEDB11E5B9322BFD6137A2D35D3AC5B18DABEF24F6126A2
+7F53930DA8F839C8D4F6FA20BB2894FA593FF6AF77F4100ECAFBCC2F93662248
+7B3C5E1063BD766C9E87722E36F6CFA6CCDF23C41BAD2BDF5E2FF3909CEDEFBF
+163F48790D1F3163D67774AB77C24C952E7220C54D7604EA627E90895DA3D059
+693D5B4926F09462D6A04AF78B6A28F1B727060BA2BEA51B5DEF0DD4F422FF56
+F4AE0CF07CD42A5290AC4C8CFB52030E9664966098E4A7F039CA62FD73A2CCC8
+FCBFFD89F74EA9E93981AC75798A20920A01100D01A626ED1AFBBAA7BE93D2A0
+B3AE42DA31340398FDBD91CECC02BA6BB4A80DF76BFA27E063C822A33D1B310D
+3A48E60F7F1B5755AA9A96332843711A29A78F6C6578495A691C2F9C64F7AF92
+B4FD65BA513ECDA3CCCF42A707BDCF13C8A0102A61392450A3B3CD8B94A383AF
+35E59FF6FBB28253542C2EA49CC4C2CAE8987BD26718792253B10FD1C78B08DB
+F58BEE5BB4767E6455F4B7E01DE3DC96D0043865017196131029E1AA3216738F
+50CE57D39BF7BC2E92A8635AB8A1E78D963008C30F05D450999AD22469325334
+4EFEB187443E6FA78AA0B8019B50C69E4BD1E450DFF172B5E569BE18F516BEC8
+ACDE5A5C1BA20577327E90EEEF2796EF9483B79A0D957A79711124C58FFE8E15
+307FEB7F219E38A4E44959570B0B184A39D7147E6034E76596395A6A25BD8A13
+1B0EAEB44B77A33FDEE7FCB39B9CC5726C984C110EEA36C3BA33798440D48E87
+DFEF88CEFF7EABCECD3724451932AFDBCB66E4D9FFC2584730C6C89395719FBF
+E0A372C5BE40B78A2B4B633D7439A6A50E0526FE708212EA92242FCABE82CEC1
+C94A23B335B4A4F4DE82385D348FD1DB4C8C2CB5CA6724385DAD0415699C59C3
+545282C9DC4E3FA784087BBF5A2CB3DA59A34FA2ED6913FF2C4A17FACEC83C03
+2D5A8B22D52151B2F4FB728831EB48453DCEAC01626F1043FF9722B0E81C2288
+E1F349021880AE7AC24CE16224ACB084F9C34FEB01D3D89C33FBE9E9FB36C60B
+FD05FC107DE6F399FC8728F9B1DA964C65D6E3AEE1F3AE6766E31AC76426CBAC
+BA4E21901EC9198BF1404B6682A3EBB2E58EE92DD3F00453283FF90303684FBD
+31C495ABC38E5E338E52E8BD8FE9F937F4A6CE0914E87AB607FC41BE4B9D4480
+8210F84226701AF41CF23AEEA49E8E65A6D8A5BBAA55EAFF5C9BB311382A1AF0
+A278AA337144D278BAA730E1E5B72BFE46C3284789E8F386714856C8885B9B90
+A8ADAF3E6A7B242A5764A49040A48CC1608A55356A8B6C26B9FB85339372CA19
+994B01C756E9D77ABBCC18A4CB7F172139B481FD1848AE5CDB1D9405BD7146BE
+A36E39CC2313FF2630EDD4290663178D3746FB4452090914D44AC76E768D72FA
+4264BF8A621B92836653B215D58CA5B042E4E7D2A2AF264DD684375BBB42AAD8
+36297B940671A33A746BDADBC074E5AD4F3C37291DAB60136B45010657D8247D
+9779B371E630E21326DF56689F85C6CC27DA3E28A216F0BED58171CF6287CB9D
+B1D57BC7F8BA0FC520F5DE0645F619C4AD5CA6499C033124BD7493DF1C6F6801
+4B29902FB859CD4C1E75E0A6D5B02EABE3AC973D6A0508C6B23F5DB7539E394C
+2745E0194B7B080673E265AE425B203D54EEFD55C9C1A915935686568C435619
+3A95F967FCFDA0C967CE5F3533BF453DB99D51AEFEEDC80DDA2B08CC90B2E904
+5E3D248F55AFFE8A936E2FA3532F295A40ABB0E8F88088A7628AA67ACF15F9AE
+ED7F95FA27680858E88085B2F751FC65DD79421E1C521BE3BC6204E396FD76DB
+E0221A90353E93EE6E40A98BC3D98CADC0951915AA6C39B89D1BB424E73C74D8
+9AA6E7EA7DC31D2979943D4B9658097BD3FF124D64C05220B092471C947E179F
+59660E8B992A5B1FDD6A509BB5A736DAACE1CFFCAB512A6651138C2CC0872B6C
+1B1BAC588A47053F016571A3AAD2BD86069D7CC02568FB215E659352F41D4E73
+ECBEAF452441E47716DD4E8A5338945CDFD0497B5A60B1996E262DBCAA504B5D
+CE77C79B714783A99D3445F6FA914B4A5E08CD59CF943E00F2749711BBD1FB49
+D40F017953CE6739665A616D4A78FFF7E210F7D7CA870C73647C293C92D7DC7F
+F6AAFD3F38FC5DD10B78350D088A606D0E2CF6C30C0D90B59F923850C3E43223
+2EB034531F995971C48A28DB302D729394FD87DE8F242F10A5CA01756A683C57
+25BAA1D4F3625A93E72C86A0DCD6F010F6340C6BA20281D6964C98186A614EB5
+E3632BA1790E4E1B607F5F2B6262FE8928362865819AD32F11472F8A07D16757
+24155869E8470B4B5443820F753CC0BF767E4ACE3295666DFDD93D480057C389
+1609885D25EAB328A0794C9DA9374329ED1C33ED556E845F8358856A18009911
+8BDB06D215AFEB4EDDCFA86ECDDEDB57694BFC89857D2673ADD3091E187464FB
+870A70D06F53BDF98C58D95119EB29F564DE0AFF274E17564E598E6E41A4B161
+0713FAF3DE0A9853CDBFFEDE22D38E22B3B0BF20BF98DF2B685ABB1BDE1C17BE
+0C0500C03CF4E995A87FB4ED9F5762FC95C342E2F10233FAD2DFF7B288EEEA99
+2402DE511630A757D679A476C78CBF478D958DE5CE74517F7214874E274ED715
+CBFF84EEA41179B451F28F7829C43503B60E332C870CD7E48AD5ECBFBE928D64
+7009799178405317118B209B49854B9EA68415AF3BEA92EF7BACA505A67908F4
+F5158B0079709D215CDA2884D2D26112D27569062622DA7F2D9D0786C4F0F43E
+E07DA5BD2652D2D9F55AA65914723A48A9E1DB36C59715F87C6CE89A1FF11033
+77A6C42767837D9934CAA7B994B601A562818E52C47D79777C97B31F008D532C
+81D3AE83BB01E1EC6956546352A6BFC6A76C6184FA3A462BABE64ABA445FF969
+5758F2E6407742C2F7D9E08B28F16EA657532A1C3859B470860D504F5E9E668B
+51CD14B65BB96ACCC5A46AA63CDC4D983D6AE6F27C80EC0C284D4479602C6093
+9C6F7D31E8FB8CDBEF0C3CC6BD6EDF9AE142C538E4034F0DCF773BCDB183B667
+46277B91656D9ACC8372A295EA7F507070CED85623FA27E9D050A0F375379E20
+05343486FA2EE2443494FB948DA30C764D0B0141A04906D80926E2513E172283
+772665DB6C1A57DA6430E98AF01B026D21AC584712AF57B25509678E0BE0BDBE
+E1CEFD7240B321BA8ACD9F3DE002FDC4BFB81F7E8684AFE55AA6D7040FC1768C
+F3B4E9EA9C8A871AABCC4CB88A188B9E662E5054C7258E3A33C88480F0FBADC2
+3B0CB6910A7116865D9B5302E023E0D1F2A7D25641CC61CFDCEA42813C36357F
+D78931B144585CB2BEA1C97839C91A78043E7FD50539FEB408A7B590C6F3F99E
+56AED19C64F5F48D95C2009C1AC9C379B70230F24D38CE89FC74B8B2522B5EBD
+C9FAC472AE9A0F6539B8441DAAEF55158658F79F99659CF1770D09CEA2AEC321
+1FD28F443D26A81CAA619EEEEC107A74C572A3AC430B6590B6D5CC124F0ADD48
+F3E610F21C8E99FE2E3055F1FC9453CC35502C97192EBF65E809591C3361CE3D
+E539627A5FFF6AF8071E52608F8B2948D59F747E3A622BE215FFFB7A7A4C2E47
+1C776B99FB1944D834CF01D613F6560612F75767ACA95BB808A530765D0F29DA
+A7705E35D1B9754E4B20E862981F6944EF8A5DA99453AAF7BC5048E72D11F8F3
+95E1B1B8137F44FB10FD2C0A5A943107EDCE2B7088C6B0C04A4835B414C5382F
+134BB4848816E7C2D1F3313ECF12809FCD7A488225E1D1185C897A0DE86BE71C
+672BDA7921406CE3735928FDCB9D30A6BFEBE864A71F7E20BC9A26EDA40FB41F
+8986FF3A48169370248520C2D0583BA30C016DF0F5F13AFEF02AF3E3A4450838
+0BF0577F9A5F2E681F0224579BBB77365CEA03126D8588A9BC812897FD2A7B77
+413969F32935AE40E0C9B05D7624179DCE0F89A85BF2ECE644277739C1667553
+1548A18DF73EC7351B78884FF7B63C01E861BEFB445430A30270D0066E3C0389
+953EB8B3353306E782CE55570D84EC9E6856D322E6B6394399C9F0BC846DD58C
+EEA93C18B1287C9BD7B8A23F9675F89625B71DD175C46BF3256F88A39ABB44EE
+970F6A21F8CE551CBC9A08F97E6D9B8A60CA82846E7F3D4781E20BB2E9A5DF02
+EFCB366EFF106FA066B9C0999CD011CA34CE5474E52C1A6F12FD55FF2E952E64
+7708C35845D403E283C3DC16A68D43DA7870615DF63C30BC2DCEA8321030E565
+6BFE9583E2C4CE3D17F3C8005DC077FA7B27293A8590DAB4FD509BA7CE11CD9B
+4CEA2060925E204BEFFCD2AA934E2385A09C260C1FD89CE173BAE32D54190BCB
+91D7E42CC166CA67325642EC31062FFDB06BDF7E8A410EAD0B6663CCA00B5335
+8DFE6443A3E5F1B71790ACEB1CCBE0273510692BCBC9C064A3587AF58C001FA7
+3D930F9C34A0329DEB8B0F7A18B79605F13C3C2D6A24C0
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+cleartomark
+%%EndFont
+%%BeginFont: CMSSBX10
+%!PS-AdobeFont-1.0: CMSSBX10 003.002
+%%Title: CMSSBX10
+%Version: 003.002
+%%CreationDate: Mon Jul 13 16:17:00 2009
+%%Creator: David M. Jones
+%Copyright: Copyright (c) 1997, 2009 American Mathematical Society
+%Copyright: (<http://www.ams.org>), with Reserved Font Name CMSSBX10.
+% This Font Software is licensed under the SIL Open Font License, Version 1.1.
+% This license is in the accompanying file OFL.txt, and is also
+% available with a FAQ at: http://scripts.sil.org/OFL.
+%%EndComments
+FontDirectory/CMSSBX10 known{/CMSSBX10 findfont dup/UniqueID known{dup
+/UniqueID get 5000806 eq exch/FontType get 1 eq and}{pop false}ifelse
+{save true}{false}ifelse}{false}ifelse
+11 dict begin
+/FontType 1 def
+/FontMatrix [0.001 0 0 0.001 0 0 ]readonly def
+/FontName /CMSSBX10 def
+/FontBBox {-71 -250 1099 780 }readonly def
+/UniqueID 5000806 def
+/PaintType 0 def
+/FontInfo 9 dict dup begin
+/version (003.002) readonly def
+/Notice (Copyright \050c\051 1997, 2009 American Mathematical Society \050<http://www.ams.org>\051, with Reserved Font Name CMSSBX10.) readonly def
+/FullName (CMSSBX10) readonly def
+/FamilyName (Computer Modern) readonly def
+/Weight (Bold) readonly def
+/ItalicAngle 0 def
+/isFixedPitch false def
+/UnderlinePosition -100 def
+/UnderlineThickness 50 def
+end readonly def
+/Encoding 256 array
+0 1 255 {1 index exch /.notdef put} for
+dup 12 /fi put
+dup 97 /a put
+dup 98 /b put
+dup 99 /c put
+dup 100 /d put
+dup 101 /e put
+dup 103 /g put
+dup 104 /h put
+dup 105 /i put
+dup 107 /k put
+dup 108 /l put
+dup 109 /m put
+dup 110 /n put
+dup 111 /o put
+dup 112 /p put
+dup 113 /q put
+dup 114 /r put
+dup 115 /s put
+dup 116 /t put
+dup 117 /u put
+dup 118 /v put
+dup 119 /w put
+dup 121 /y put
+dup 122 /z put
+readonly def
+currentdict end
+currentfile eexec
+D9D66F633B846AB284BCF8B0411B772DE5CE3C05EF98F858322DCEA45E0874C5
+45D25FE192539D9CDA4BAA46D9C431465E6ABF4E4271F89EDED7F37BE4B31FB4
+7934F62D1F46E8671F6290D6FFF601D4937BF71C22D60FB800A15796421E3AA7
+72C500501D8B10C0093F6467C553250F7C27B2C3D893772614A846374A85BC4E
+BEC0B0A89C4C161C3956ECE25274B962C854E535F418279FE26D8F83E38C5C89
+974E9A224B3CBEF90A9277AF10E0C7CAC8DC11C41DC18B814A7682E5F0248674
+11453BC81C443407AF41AF8A831A85A700CFC65E2919BE7F4437ED75BF2F7BA7
+02F85142A4EADC8C9C7F11ABE2AE2A9DEA79CBF9577DD8627E31D25A7E4DED9E
+FBB1C413696C88A07E5C937451D40A9211B29E24C9424635CD4FD6B16FA7D76F
+5BA1DF0EC26097EEADD70EAA577531177A26B5017A32675C68052E90E68538DD
+E779AB23150FCD1653460CDDCC713599EFA381C3322175809A73447720F6911C
+6BFBDC0458C477D2CE69BBAFD05B5C2DA1D2E3E8378A2112066B045243D3D080
+DAB211DCC25430973C18E7FC5574A814E3EB79F34FF5197453873C8AC66E47AB
+5EA57CB3C8365D5235E7746C8584734F002E9A28C38B0C25E3753D85A1D2F3CA
+B8DECFE14A7AFBFB76CF3E91A1E0203FBC8052C2DF967693C9BA0ABE86B5D264
+BC345D7954C9523B3E70C4AEBBB0F2D56BAD6D76E095F9390FBE2CD607F3060D
+F713ABF47F0FCA5D5C27CBCD4140C668F733F769FF5326917C0AC5D4C72F99BC
+5AF4540DB169622644D320872947BCF1D30DA4EA150AA22D6D53777345858DFA
+3286EB68314E30EC650C8BCC572D72879E431FB4297AAD6533C8F4802E0B9902
+8360C57504D4176C1DE7F57382FF2E2C0A3D5285A061CE91D3149E3096B91076
+1E914125CCA8D1C9230B72427990ED4468CE79C11E8F0CB89A3213C535B040E4
+0C5784E6D53C96696EE45C87B5E0DAA80D3A06E5759D0676ACF99020DCFC3E8B
+50002675B01959500133BC30223C75A54948DD28FA83F399924D4ACBE33F1F2E
+D85095A76AF6DD92EAD139A8D5673A35B3633D25EF3B10A40A7E28F329D6E7AD
+DBF1DAD1E666931611FB107D1FD3576F11A22B50943C536DC2BA477EBAA52BDB
+B65A98268602F26DCA5EC761526CB7F33CB5B345110B7A90E1D078A21E332F78
+33A0CF88EBB2CE852384DE3435F7B3564A0AFBB2024F79A633BA5B6EB7CC5389
+C43621C82972D60F7DAC71FD9DD38CAAB865D7DE4ABC39D71879BF31549DE649
+4B9CD8C149880504E5B34C2153E963B3FEEDA0D59F70E0ADCD24EDBBB8EA961A
+90E5AE4ABB26E1AB1757E25572622D5A2541CFFACAB673665C7693855473D78B
+847FAD590B657CC0B8289034AFEC3C54FE97B010535F70AF67ECC88E21B077D3
+A9C2C52D25CE9714EE430735DB57991AEC946C96B6988B2C85D17C8BC80EA844
+3A076618A686040ABCAC347F1B1C14676B05E13C239E99C3A2B63D0388CB50F2
+BC119D6F74F70DD96BB5343D5458950070576BD6E319AAF5792EBB9DA5778CA2
+58DE0976AEB766DA6A865F09FD6753FB4E7E0E9A06AA1A06C2636AFACF787460
+9E73BAFC4A56A99277DCB14F52555EBF6DC5E5785EF7745521FA061227B725B0
+7A5BA223D5EE9239A7A1694D4F9EC1132FA23DA44ED0FB0AFD8987A01F9FAE15
+ABD485BE098CA7B1AC780A9A02AC58DCF0425D4D110226DC7B5982FE31BB78A1
+C0AAF9B712E8D478FC4F85400B5E6D71AA653F9BB2E967A76D02B04887CEB9F0
+0EF50A956AF7F790400EBBC07467D9A8BF8BFE8200F8F7EEB5DF3E62A9A332B4
+513120FD9F8A93ED683CC47551C629B5313E4E20A207845CC37491ECC3945EE2
+71A0C5633B353B03B1A7727D5D9A0478D20D67A981F6E5CD8737548ED4348A91
+82F2CE805724A028E346E6B7C542FC69CFC7935E6CF3320ED9701C6127FBDFD3
+B20F0DC2D1F92DC69E4FEE57B457E82D5721D932B140CD6DB9BC86B961E7E6A7
+5816F42AF937D97C3149DC2AB0054564592448D0CF52427B766FD38E3B040B81
+59AA9030CE06A9A9E3A0572A11BDA85531060B75DF8791176CDEC0A9BBF472EE
+BD433BCDAB926689B8806CC8044D0925814C1784A41CEA48ABB9AC039485BFA3
+026FD30CCE84AC57DF09B1581ED01B3A840AC5E9208465BC160238EECC7A6753
+D5B65B159FB08E0DFE4C9F2EF5986352C0E0C4DCA0EE62EE5C19BB6C486FCADE
+99D3519723B70B20FACE685ED8D364905EA64A15981B00A6DC06D7B0E3D38FC0
+9DDF04221696F7A8F3CC7FDBC25A61D9AAF9F65D3A64BCAC4084CF13BBED7195
+6BA4C2445676804C333DA6569E4AB7E6999505DD1988C3E62495DF61B722A6E3
+00ECC4EC698E33F7B8225FF591B746E449D2D178880741074D0C3CA740312D21
+1F8B0B1A855FCA081AF1E69D14C9131B1769943EA6D5D6210E10BBD9E404B445
+FC3E2ADF8C9AB6AC07BC2FC0482515625523C04303F7884283D5CC35A4A6ADAF
+59738F3DDDFB51E7134327AC4CA577BAB076F3B588FA3828971FE9D561F46358
+24BEC4C7F84D8FFEEAC94E2C632AFA5AED635E867AD362E373CEA718C750B4B6
+954A7CB6E4CB2614A4E1C707412B7B09F8969EBD5B6510B66818A2F5AE4EFEE5
+9DD7690A3520C477DECB7D61FBE5F84D1C655971FAD7CDA78E695C18908016CA
+48B468BB6B43EBE1DDBC49F43B7CD667B4131D7B0C9BB048178A31D0CB70A76F
+527DD352F7A9F0F35226117FF305A9DF4AEDF474FCD5C7F31FB06D4B2CC40629
+1BE1F40B6347201F84BF35CB5155BC4D2E1DF2A5C7613C27A0EE77BE55A744B6
+DF7DA5741AB55F133D518660751B0A91E6BE43B527E9C97E2F06FBEB58DD0215
+BF4105DAE1B2A29DB05FA204D0EA6E574C7344C3B3F44092F7F997654D61EA9D
+4C811CE6087BA1615A31F8D107DC64F1CFF707234135B728EAA0ABB475E678D8
+9200950F24A8A61AE6AA18F34A067849825FB3925A8E01D64E849546FF7F4418
+19C0FFC2EEEEBDC7805612F7849BBA7BBD954BFDAF2E6FFE3CA520B79070F8E6
+B1509EE0040714C9F5023816250F40FD1C6867F77FC8ADD3A16A3A6275CD6F5A
+21BC03274B350EEFA6EE929AE91DEB8D8B309E3B3524807B4562C7758794A8C8
+4E3C6EE0C0859AC9B799428EAC242BC4AD9564F2444E3C79F11D4C1D5672DCF3
+2E191E25165C77EEA2DB51753ADE07F5E7E748704000265649A2E1DF68909F38
+68F0D5F415330C9537A065728D2104C34CE05458AC1B2A53946890DFDD67563A
+E044E7AEDA111FCBF431546D410D67602985F6E13988999E46C80A983C7F12A9
+FB56C6735454F1E194F63A1B6B21683A281AC6164B3229AE25B1189366C9DDB4
+09D1BBC8429AC3D64F8BBFEF1265611E7C2FE1D3A2FE24FBF3ED96A5CBA6FCA7
+847F5E3AD4D14C0C77C225588FBD0DA2E960FA3901DA1B46B796121DC804FE82
+C382F75AA0495312A80EF9350CE0F80CE0D18316E5D02B7BD78667C2DAABD879
+E17D5EB8F274DD2B1BFBC04EA2F72EE5376D01DAA129FE257162BD19D19B13CB
+C13181E6DBC12826AFFD87AB152A59D67D0FBBE5D9CADDB1CAA8C27689355AA8
+FDC556015E4A9708995E51E46D6D1ED7B68A61625561FB594B9BEF87A1720222
+64E4F8A47637705CA32B1B4CA5B8473F1D67FCB7E4041502B7ADA9FA4B16CC6D
+282FB636979D3DE7C76F3000ECA08AD6E116B1558FADCA251D67FDEB4607CD3A
+84BCA7DF488C97FAA4FC195661D7977A08EF04A7D9A2D619EFC7AE291D7DA633
+C6DBCA7DA01EF336E378764F6B4E4D6C517BE05F10BD1FCDB20E5ABA7F65A8FF
+17D93CDF1E60787712C40775A5C3808AD05A2F276C94B05E10C6042604F592C8
+AF1F25B98A0C78AA7BE1DE9ACF2273965F0795B0D79ED6CE2753FD0FD7B41A18
+FB490B06B5467561DFE5161C27F58E48EA5F38A5477C9CD0C2FA13683271E55D
+8B08DA0C96BDE97C653B0B18096EE7C0E6BC3894057F14E83A902FAAA4C2AC7A
+566A9EB8F9D622476DD4E722F55F28230124F67501866FFE952AE93DF5BBE2D9
+4B9CB9955320A9E256E611EA3838ACD9073107936226140ABEE92A096659764C
+4ED2485B33E75BEA57CCF19AB9409B684EB14103ABF6811E7A8C0AE0C0C11BBD
+87801F3F0260D04A8921FB9EBDA2A2048F4B5C47DF63051A0BA6DDBBD895E0B5
+F9F0F3CE62CB118B86AF595F4F34359DABD9EA354798E8561599CB32345A43B5
+93B217C43E316BD10BCE1C66A10C9A8041A14570ED7FFDD95AAA76E92EF52042
+69F0B8FBE21CA4E37647DDC890D13AF489606195900063DB0CB8D71968C1311A
+D56155D2B2382119E603AA85E9ACF1785E4C0ECA137E7E4F5EE7915E8A080509
+02FFCD2494DA2D3B2AD27DE5F11684BFFA2366B6C834AE309D8E07F98B7B556C
+DF3E0B42559610F1B78C79254AEBD7B0F5B3D7F420BA725AAA91EA20D014334E
+8FE221BB02BE7B59FC3D03D8ECBAE21F5E37E4A0352C475F9F29C5D2FCE8CB9F
+2A059AC06AD9E6F13C39F2781D7D4B3FC34291D165E5C66C5D01B5AAA2AE8F72
+9B3C634FB38FCF35283792048BACA9F7EE6789621D9243B917234405BF194BF5
+A4F137680ED10F216076AA2767C1D220AE71EA7393C7E252209B6ABD94213AE9
+F61FD2CB3160F41C4328DB8563483E13EEBA83A7935E4AC11A97DB7988585184
+6BD3DBB8241EFA1F1DC5CA9C2E16EC1EE12CAF4471FA83605DA85672B34B1F9F
+8CDBAB6907D6CAB6DD7E00A7D636EA20961BAC97D1AAF32C8096003E096855B0
+EF4845013B9243A29BD509436CA78C6F8DF4F90DDED960A0D12BFDBFCEA539AD
+BD4BF883E09542C9D75DCB8A4AE82DB495B0B918D330979F347A76D73B19995F
+4039557D337FB55B8C5922F35B354F6C8E4D861A0B66B3D803C9862C9C507404
+5EE039245AEDB521E90F83F15E44F42F0802F8DAD6A9BF6176C364286601FC80
+E14926FA518CC035337904132AEAB9785361709CA01AB0F352317294B34B2B20
+FF88CFBCC8E89863BFA2D3ABB2A596C9D9DEB261CFE48E403F88652150EEDF05
+3390F002B2E4B53446FB39C488E3D0D4EF4AE2AD19019710FDE56FE29B58B00F
+0A6D5B26B814BF64F13C35EE903FA2190F460F9438924E1D7158704F305E326D
+66CB529B3A4836DB0FE383EF989C975A2F603332FFE0748E0D695327CC8D9AB6
+E036E0E6409261C30B80977BCC3CFF8FF8A9BCBB889ABE47B0CE3450783E1EC7
+1C030CC18E074E01605908C3FB61B78CF4FDCC8E8CB13EB77CE6FF2BFF91D658
+51FB05DEDBB20B0E4C5604AE3CE6D41A4C8D71A1F90120B1F90C83989B892253
+31D06ABB335DE237CD0CDC91256A54797CBA5E284B6CEA6FAE01F7BEFD905E5E
+139D57E163137B5751A765B46A3AE6F653FF2551988CE792011E0548CFAA6ADC
+E32B876763AF6F6FD6864E7B55E341C97FFA711913F8A7FBCC1FDCB4CF2F4D3F
+17358EBCED45C975F2EFF3FB9F77A22EEE4C9DDE63360DCB2DA2C1AA4BE44BA9
+3F9CE6F27631809DBC45643DF7BEFE247E79AA7937C409986500EC1026ABFDB2
+6C30E0A4852A6976A73AD7483C36F1717460327BBC05DE729E23D370B78630D1
+7E87C99A5C3A3C0FFE204EA81A8A33D7DE80DF3C0EAB557F4E86DDF8E03AD072
+61B1D8E1BA05452A6FCA404D9BB8FE9831A367B0AB31041B474DA9536035E7B5
+EC83DEF0AE17DCE958DA19869DD51F53D4A4BFCF7CFA635D6F9F882E6F0215A7
+0494E76F258D44FF72EB5A1104E8F73AD2F6F2ED337D854B81DF4083E6A2D679
+6B5613D76DA2347118CF009E8A88924C2A42B154DF1CEFC93C89DE0ED8DB26CD
+8C2EDE2670F494DC591E79DA26CF8B5FB76613296FB1F39AF2001BBDAAB12CF4
+3906B4C304CCF1D066524DCF92FF484CC682C2B197CD797056555F318279C3A3
+7AD8EA9CB19724AF57EFC6706157A5E2F51F104F6232F252594510E0E4BC872D
+D610F4C99BC3ECB668139331216DF1AA8F6358EB90CE1F0B8267B878B19BA7E6
+77A53A674E0B029E9142865CB92A1596D5AB97FA12FD05A04369AA00BDCBC2DD
+1AECE1A4AD55A93885C626004B41FD277AAE6DF68161F7443EFA7D9C913AF909
+970F4C6292A694AF033B953CE37116A2AF2439E482867EE9EE2BFE1093A738DE
+24D3C408DD105CE6D7B8967994F7C5CE49FBF61AF135F8F7799E2FEF29A168CD
+B2F16F795FB475204FBC41AB78AF87E4E80F992FDCB770A3DC0501AE1D786ED0
+449956A1BDC93876934331C24CFE4392AA860A1ACCA39978BA8AB90A2174F5F4
+97539772660D3920E1B57E9E0674CD34C9EDA83B6AF1B06B26207FE5D67E75DB
+B170F1D01D512CF6D586DABFCA32404253F0A9985A29D46641A81D5A810469C2
+8081D7774B3188423822003AEB638F21661E0BA7AAC765CF8321F9677C85A562
+88AB1320B3256EA9FE0C67E5B69A5127DC1B13E4062CD0C9ED10AB36CD370105
+8FA04F89E3F836B01393F1E9365077A30D8E46B67400DDE8EB0AF8C815729699
+469773FC3F0ABCEF752A5768C9DAA1931421214E69053775A238553AB6620E9C
+E875223681E60B7F7B25BEFBECDD4FF799ADF34BFB397AA114515E2133304A57
+B422E97EB3FC5314F64BAADDFEF9C0EC719A78915B26E7E3F381435563F650EB
+7587F11CA3B14875F6B1D817C1EFA0B89C85B888E8391C74D77CBCC6A990C36B
+1062D049E20876B40CB030367818A3CD3E2CC354CDCC9A0FBB8DFCF7135FB2E6
+A0BB0C3A441CEB8D5FE849AC7299431DEE27CE28B33AB7E836D6958104D1777F
+8010546687CCA23DB48E53376A446136F449A92C07102315D4D0A897521313ED
+1A3A8456A70C16EAA50A3E67336DC89FEC56AB54A579EF264377A103939D5EE0
+0A90B4F20AE1F2511469C34B5984A04D5AB8A162F18DBE4D613BA1C1C85E994F
+80AFE3C18A045148018045C63376CDEEFAC53A55DA67D5980E3A99CC1C981FC5
+5C25CD0A685E3AA6F8C0B8FAAE157DB91AAA50A2B5F7D8860624F29B8DD87606
+C30F84C33D802DD5B95E090BD7AA4400E090DC1913BBC392D7E5E87717AB14C8
+A031737560F3D132BAAC0D6DD88C586322804BC2D8C505973F015F7662571FD1
+C89CA0281CD48AD84B9ED8D70D240A4EFC2715DBE98E545B987AB64FA259D81F
+3F768326717675A3A2E22F4EEEA22A5201797C6D5EC644318CDA28A2C3CCD123
+B0159205FD52E1F9A60A69AF7B40C4F7189FDED20EAC3869E5F53F4955CDA0C3
+2B06D72EA2B8CA5F0B557E9A36B8E9BE7EEEF96B5EDCA6F79F53F83234B2BD45
+6B3D631B1C9CBF7D283F377177C60B3D65ADD945D31458164043A17B8DAC8409
+B4261A4A0EB36E18BD104A8E66F45C3AECC07F4E8FA9F3D2A27334F95AB79BF8
+06C18D57EA745116DE0B36C12B6F5411A9805218B5A31731CA0A35D9AB6BF5AD
+928726A6EA61E0B69FF0F4FDAB2CF5B222FBF9BDF4F89EE47373AA3944678328
+1EB230EACCEFF4243D6B4F8797482DAB78C1A053F2800144A4C76BB839E536EA
+2D4DCEB625DC0F754EED8BE3FA53A7AC3ED17C92757CCCCDCBE21A9D733291E3
+61235172F117D4B8305B45D7728DBB2D71411954EE599B0EE786D7603D61CABA
+AB241062BE3776FA150680F9CB8784FC7A94790FBD2922772EE886254B59D0C7
+4A4DF7A2C1C4ADA1DBC51CE27D3FFF7F96BC5FF7382864369536BEB2EBA6DE2C
+1C427990F6BC84E92CF718BC6D4CE9EC1F2DDEB8637AB1FD673C5BCE1A090146
+171717B39B9A83F2DE0B79CB1B836390828B3EB6DC397AADE45B21F55D1A3583
+C3A5BA93A4ACC08CCA4DB80B78AEA6002D80C5513A705E7232938D8423FFC72E
+1B96313ADB255D43E2676DD2B00B51D116A328164BDA8475741EC234EE6581DE
+06162F006405D6D823DC47DDD14536BB530D132975C0C436F08F9243F1A9AD16
+898823B8E2739B4428E62CE0E41C291157F1886BF937B3D3B9B6DF0D0EAA38C7
+D7F17D962490AF81157E76074422D746EBA97ECE803A205B482B03FB06D080D8
+05CFE4868E62494AE445824BC127FB7367DD9F70B2168F2B8CA0CF190BB838C0
+67563169C8454E5D0DA086467F1536F5E8A1E4D3E727B1688F745FFB4F9E56CE
+4DF06341FC891C28C943B570A7A38C595E07707E41935285DFDCA777CE731DE6
+B46EE9D1C3D61DB6EB8434F17B15274840BEB842587F3B9AED05B97988E74B69
+BC472F5575B136CCEA4A28C49A9A078338F4C164BBBCE925297E4B79CA800124
+B3B8DF95BF211547456696F548E9F545DEB165B896B7DA038438114E661B32DB
+EC043A557A5E26A988B25EE30ACCAA8E8C904246701E97A57C400F062761658C
+DD33BE34ED09BB1BEF9525DBECFE5A994968FB0F993836E4771AF3DA8C13E121
+4FC5EABA8C74A928C6472A0912BBF8F1741B4F0C3F41F58EFD3A549E5B76D332
+D5E338A16E83EC574C45A49C1C3C21AB31A08E96B0C430BCA2CDBA81C80BD5A0
+43B8A5762CEE68CB35C76EF23FCFFD85A5845E335A3E0F3980CEA0DAD5F78225
+D947923E1054E8C2FBD30AA8F5B2BE8C21D79675F359A576DFB382A25584B512
+5F8F75A913785D877D4F44FEC237704E08CA03EB9C203B92C664F0279287E1F2
+5B533CDDA58898CB55B222701DAD14489AF0FEA3B78CD90225A691CBD75C0727
+239A26BDECEE46F3C14350F041E7342DA954A27BEC04753B00C3FDB19044CE69
+0AE6501EEA1DCF0BEAA9648BB409FB8FE84069DB8A657FFDED9EB87DAA7F403A
+6B8A845FC371159F0D61B7E16B02958BA83061A3318B84A38893E07AB1EE50F7
+9D02F521B1F32B05125A0E6A1874EF1C298CFA89E4E9ACC493F6F7F2A9B14AFF
+68665DC4185E866AF3AF0402546E11BAEE84F00259B404E6108AA053BBE771EC
+60687CA432364AF973497A17AC24BCAC33A18D0D2620352851D32B891D1C458A
+A6BF008D90E499E7A9C28C898743A8C4A711E46774020E8291191F138D2D847D
+057ECAE805053934F62A3578158CA819DA043E21AACB8E006F933B062CDD61C4
+8546AE2C9AF14A9345EDE13A9A87BEA32E03F5D4EA114A54732B9AC01A0876BD
+90FA43417BE7BF44A7BA61076B20D2BCD8218B41EB6D5A5CF88394D40F9B200B
+F9BED4DA94442FAB21B33EBBA13D3AC4EF13147DB53F27AE47866566B32CB8CD
+BA21F5D47CDA6BF2CEE32749C91435CBBD8C11ED7D5E51454BA91F4BEBEB1FA9
+873F0804B6FAE30226AB9456A444619303EDCAC59B87CCB1E32A1E4F90C185A9
+C776772BCCD30F158F572CAB63D6B5BA0274B467F52943EBFE30419AE757BE83
+B12E45D5BB98F5BE982DADF7A9E73E43535F93423357142EFA130800802FE741
+EF7B33A186FBB64726981104AA3809FFDB177930FEE85467FBF0CD0870270F0F
+4054CAE7432E3AB21374A702BF415C92AE3F02805774524932AF1F57CFCC1F10
+FF4E99574DE91D69D930DF50D8D566E60C29830A8220E1BEACD02035B0AF538B
+16D86BCBAA9A1C6F4B898BE1CDA222A1E64F14BCE6065F68653EFF251CC20BED
+840727F2CCC9FE6E6AE075C22E0ACB7B9B7D969F5DB094FFE231AAE05CB26627
+D017264F5022E1B00CE037E54B6E1F589D5884D1525A3010F3453AC83F953EC8
+65CBD7AA642BFD158CFB5794F199F021CD0BA552C5C77FA2625F89B714963380
+56DD5F9A53A440E9677C57331BE3961FF4F8D0B3372CBC39007A2E6BF307FBF5
+F2008ABE101AC4DD5D7ABCC9C914D112EF8B55DB17C23BB842D4C6E59AA14C69
+045D2F848824792268C3611F8743FBB66B83A0FB413F528D5160C7E9F6F96730
+6CBA193CD0A44EAFAC1098C6B3B663C60C8FCB4CFD79F70CF8A887606742CC71
+666E028599059F5A86414E0649446250DA3ADD52B73FD02630CAD8F44895A9E1
+571A16E331CAC213EF69EC4DD48701EB3B456E72303AAE727CB5E8A87BD6D85D
+EBBA1ACA570E083284C80928F04EB1FE18592115FD1AE307CDB81A67DA8DBD23
+24FE7A55D7AA015D742F982E6A8140DB2C438B3B08EFB88EDB3F1D471C452767
+DFC4A93054DCA315660B75D73F03EC309AF1F996590FEA9096BDB2130AB78F05
+685C4493203EB6249B37296E2A52FE14E2E2D79651288356FACAE99EBE00A272
+471DFC87BCD5D3DF6023872A30578AC224DBE2DA01CD4307DB36449D0F950912
+8DCC07E78011AE57EB79AFA7317F3C6EB7AD57E985020DDEE979F723E5A9DA15
+96E3E38CD2D4648608FDCE3BC63BB0267321F5D777E5B9F5308A9CDDF298CC40
+59C6FA2E88169F97DE5D1024B06A39C80CE6B06F6441F091C4770E77BBF617FB
+F1572802B380B3E2EB7EAF4D2614398C04A3CF831CE98AA3C6C4AA46E9017521
+82CE678B0DC236840E6C4A68143B4A73A5739079126DFB21E4562C904865D34A
+C735AC6C743407A28F9EA44980A1E8F6E275D79D561F7A01D972BAEC53974123
+29A0AE1E6F12220AEE98270C2CE772C29D810099986958EB4EC88C67AD417D79
+C9339BCBB4C543C6037BB3127EBE69F67127354FEF2414F313FE467595D35D76
+EC0E8DF1347D183BDBF7162FC129D3CDD544BA5781C1BF739E012E3B9D69C08D
+4A8D0ECBC8C1E293FDBCC87B6215B4234A9BE59009268B8A0FCCC3F1A53833DE
+EA437D980F2FAB56992BB63E65F8AA4934E24F21FE1932E50AE836315EE4D018
+7C80A30308C32393B8EA6857A00A341B6AA40ABC940E40351DDC927BC47A239D
+FD8824F52E7F9D2242F2C9A5BF7CA2379BDB3E4EE84691F7EC843855D541FD9A
+D444295F2858933FC37F8317E74CE4390E3EFA1EA9529C40A59DBF09978C869F
+38713613F2A96F36E1975EE2FDAD38E9D11E3493953E412BCE315886C30A8423
+45F07DAC4978CA55B1CCB2840EAD2EFFE33FC1A131525CA597AE1760A996ADBB
+905CD27390F03B055FCA67D0086E8237AEE970E6D536CF4F9C47798D7FFCE062
+0E0243A53583712368C4C2C7CBC3EE90A3ED791DFB6E17D5DA27D093AC69D5C5
+998CC1742BBAD810D8767FC53445A8213C56664A25091BBC59F2F5319D50D71D
+D127DED73ED729D0EBDB30757211B5709EC713F40FC51D556F955CBF087055C9
+BDEBC46FC88BB52D4D638A79F484447D5B69CB603C0DD99F7924C163E19DF472
+70F6B6256ED78C81F67AEABE586D9CD47DE5A269EDB573E853C5F1D3C8A11234
+2F87C45FAD901C2C0F1B085FF3AC49CA1867B4B61475E02F8402CD8EF346C930
+0E0ECE54A79FCE872B2A87BD61C7022898FDBAF2595C7A93C5A75E2ADFEBF3C9
+05DC814982B1676EB6EC2183002BD230F7C5E99350CA686D75563EAB3B7F2C05
+6E0ABEBCCFA3BB0DB2AB91AD0807E9E070470B20AA602D7E7679AFA5CD630668
+86E27BA2DA58321D818248F8CE0BB4688EC0771FFB308D49E43C9A102D9F805A
+3E62F2DC9175DC0DD158F7D4F25B2B5D3086187DB478488FCA508920ADD5E754
+79DEAC39AE797BA437BE6354C526D89B6B4629EBC1A4B8FDB4A51A7F64C531DB
+9E127212E785AEE8414763DF731A2F71A9A56533A6C341B0D00CA5D4A2E3208A
+F820F6241F106725582702034652AABE47A7A12F4C0581E5877B6443634648CC
+DB056D91D64CA82EF87BA5810E24A8AB39E463C25C86AE0B890EA2DA6DC75246
+25ED1C8B4EA60347AE8518D147CE9D306AEA3BD12CD4BCB4EB720F6312BD51E1
+2300D272F89BD7216F34C2BD0AF45B298AFDEFF2E818ED594B672B8249BC117C
+17AA4B1DE98B24F2892D80B7836E9DE029A15B399104223E95474BB850F56112
+FB110D4499C0F8F9235F5AE9391121E828F8AC4CDA9DF927ADD8CABC4C764501
+2E6AA28DCBF3BAE8662158853846D35F0E9098D9022CBC59755D937F65986E92
+E49832570394FDF9B09D147458BBCE719F5DC1C664B2E8814A28BF423B09E969
+B9740AE9CD56D40BA076C804B0A19B0D0DE2D5FEE1B225CB8C7BA29C8E23F544
+F4289C611D644096A57029C1140F83669643DD9A15C4092AFD52640446B7F987
+EA7A053C5E16055A1CC87FEB711099DDAC66669048586040AFC1A5FCDC08E746
+40A7D7A18AB3356FEB917B899BB181BC0BDB600ADBDB083BBC3651A7CF2F1A70
+5818124E11ABFAF291979900C1294C322318C8E7D5910328150C771FBA9C163B
+24B9D3569865A96F90F53817F0D51C2A78F4907FDC024947478F25966206CF1D
+3D5B4E33B0E3335B2F0BC6B00006CA3E29A14F6EADECA0DA653DE1BB0024495A
+6E8BAF009AA479931A5774D3DCAB86F57DCDA1EFEDECD3DC06A2148CA2AFF333
+2168B0D95456B540A5EDD1AD8D4E2F4760FB89D5A9EEAC9EA2F065BED3470AD5
+6018003BD210C5B7A4F776CE21BA674AE85DE8DB08D6CFAB2C7AD425BA568CC0
+5F5A4B9A779B59D89BFBBE7AC9829C1A95235293082C4C337444BCA8B5243E0E
+9892B502AEEF51E4FB3B04BA2DB3829185737C5EB6F81EE3DC0F38A6C811CD49
+222167DF4DB18E5891D03B7CA0CCC158FA60930185275F34FA9D7C475EA55ED1
+C8CD3ED102FD8CDADC37A7A4A29D5BF5A4CBF76358E0C9A242A932262AE4F981
+914981E4627673373EA4D50165020AD431E6F20FA2F5EBAA7E7BFD39154C990D
+26295C7E297FD9CA462E6026F687CF98635F88DBBC73AD3CDFB58B79575B7358
+30EFC98156AB8460710C105223AAB95D2A2746B17E12C3C17035AA14E199D26E
+63A4C61A330FA751203A7D6B54B1BA0FF9F3BA72DC2BF371F223FA759887D85F
+B602287B10DB45CEB4A0109BA5DD23859EF63195813B41C0BD957957A5C03A51
+599B937E9011729E54C077FB04E2012E2980B305B5223DF499B992F07E990AFE
+35D2B1EA666803C2665154910F1FCC96FA32F3F0BE6B7198ABA63A893B752D3E
+45E00A19E9B1FBFE9575B041E36D776F11889D8DB2DD33027E53FCE9024813C4
+778966C483590FDF429D64E7103CF30D0D85DA99517AF890302B94C2E26083ED
+811F292C265DD3B3971A8AEB844A38EA4E4E3D8FAD2F119FB569E46CEC7C609E
+A33B50FC711C9D8052BD5ABE5304727E8F6A01FED166364013EBF3EB610C314A
+619621FD38D20F5930092392C3D019A467425BCD0A55DC4DB309601CE0BBA1FA
+8097BC3004E4A14EE5BE6AAD6AC03CC7F0EB3D53384D84BC721DDBFABE451DD6
+0B6A4056EA45B9777D566BAC2B8D0760CB217DD3188258235BC301BE2DDC2CA1
+B35610E0830103B9D527662A2C498CF57A8940D824A62D6FC7445C724F4C3581
+4B233D7F665A6678154CFA02B6D08ADDE6432BFC8920C91BC7113F0D76F58FD9
+3A73778DCE0378C7E9EC5300496FDDD6A725DB863CA660C989CCC89F55012E15
+2EEC3F66E77DCFE1C5692A596F01AF15AC0C5B01A3F6EAEF
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+cleartomark
+{restore}if
+%%EndFont
+%%BeginFont: CMSY10
+%!PS-AdobeFont-1.0: CMSY10 003.002
+%%Title: CMSY10
+%Version: 003.002
+%%CreationDate: Mon Jul 13 16:17:00 2009
+%%Creator: David M. Jones
+%Copyright: Copyright (c) 1997, 2009 American Mathematical Society
+%Copyright: (<http://www.ams.org>), with Reserved Font Name CMSY10.
+% This Font Software is licensed under the SIL Open Font License, Version 1.1.
+% This license is in the accompanying file OFL.txt, and is also
+% available with a FAQ at: http://scripts.sil.org/OFL.
+%%EndComments
+FontDirectory/CMSY10 known{/CMSY10 findfont dup/UniqueID known{dup
+/UniqueID get 5096651 eq exch/FontType get 1 eq and}{pop false}ifelse
+{save true}{false}ifelse}{false}ifelse
+11 dict begin
+/FontType 1 def
+/FontMatrix [0.001 0 0 0.001 0 0 ]readonly def
+/FontName /CMSY10 def
+/FontBBox {-29 -960 1116 775 }readonly def
+/UniqueID 5096651 def
+/PaintType 0 def
+/FontInfo 9 dict dup begin
+/version (003.002) readonly def
+/Notice (Copyright \050c\051 1997, 2009 American Mathematical Society \050<http://www.ams.org>\051, with Reserved Font Name CMSY10.) readonly def
+/FullName (CMSY10) readonly def
+/FamilyName (Computer Modern) readonly def
+/Weight (Medium) readonly def
+/ItalicAngle -14.04 def
+/isFixedPitch false def
+/UnderlinePosition -100 def
+/UnderlineThickness 50 def
+end readonly def
+/Encoding 256 array
+0 1 255 {1 index exch /.notdef put} for
+dup 110 /backslash put
+readonly def
+currentdict end
+currentfile eexec
+D9D66F633B846AB284BCF8B0411B772DE5CD06DFE1BE899059C588357426D7A0
+7B684C079A47D271426064AD18CB9750D8A986D1D67C1B2AEEF8CE785CC19C81
+DE96489F740045C5E342F02DA1C9F9F3C167651E646F1A67CF379789E311EF91
+511D0F605B045B279357D6FC8537C233E7AEE6A4FDBE73E75A39EB206D20A6F6
+1021961B748D419EBEEB028B592124E174CA595C108E12725B9875544955CFFD
+028B698EF742BC8C19F979E35B8E99CADDDDC89CC6C59733F2A24BC3AF36AD86
+1319147A4A219ECB92D0D9F6228B51A97C29547000FCC8A581BE543D73F1FED4
+3D08C53693138003C01E1D216B185179E1856E2A05AA6C66AABB68B7E4409021
+91AA9D8E4C5FBBDA55F1BB6BC679EABA06BE9795DB920A6343CE934B04D75DF2
+E0C30B8FD2E475FE0D66D4AA65821864C7DD6AC9939A04094EEA832EAD33DB7A
+11EE8D595FB0E543D0E80D31D584B97879B3C7B4A85CC6358A41342D70AD0B97
+C14123421FE8A7D131FB0D03900B392FDA0ABAFC25E946D2251F150EC595E857
+D17AE424DB76B431366086F377B2A0EEFD3909E3FA35E51886FC318989C1EF20
+B6F5990F1D39C22127F0A47BC8461F3AFDF87D9BDA4B6C1D1CFD7513F1E3C3D3
+93BEF764AA832316343F9FE869A720E4AA87AE76FA87A833BBC5892DE05B867F
+10FA225E233BCFA9BB51F46A6DF22ADCEACC01C3CD1F54C9AEFA25E92EFAC00D
+7E2BA427C25483BA42A199F4D2E43DFCE79A7156F7417ACF78E41FCA91E6C9EF
+B933450D851B73A6AB6AEA7EE4C710CB5C14270D1674FA334686653793FCB31B
+491E870D3C2BC654D2C1DE463EC9BA29D7371AA1078800EF93D3F66263A2EBBB
+F5723697BF7448BD0D2E301544BECF497FD475B85DFEF52AF4F8F8BE445CABE6
+019318806D10C5952157FF8F8286C1EE701545C8F60EFA854EAE66835A2046A6
+915D395F1E0366EFE0C0391583FE001FF16D82A2E2DA5F57754A2C6F69306E36
+356ECF8EFC3F1188AD6FCD2427E0580C97A5B69B4E0E09B85EEDE142F5ADD2F0
+5DE51D6DB72B127412A0D57106C19CA493048A4F815129ABE767D51715B1515D
+9C21067CB5BC88741B7298C83EAE36A866DFA87D8981F179B1C31292F56BBB64
+3C430779468AAF07C8A8B4934E1E775FE3F35186BD1FA6EE3689C1C750678AF1
+FBF9B23195A124C5C991FE670AC0C86FD39D2B07B9A319E74EFD498B45820252
+720ECDF7294F7B0B137CEB86D33BFCEB8606985A3260FD669E461C8BE94216C5
+D434FD8854F44EE66E5A289A9F9E32BC36AF645D53F96652602BAED418C8D726
+BD04A1B4617551FE4DEF54083D414F7DCE004E6BB2DC9C2EF7CE232B254BA2C5
+7DCBD36C2072ED46FF711F121A701E2284BF1B718B3164382B8F453D68FA0377
+DFE106503B8401D4DB87F5402A3AC9A442FA060B0610A9524D530C7157C26B56
+AC970FCC1D5655FFFFA39246E6420CF97D08ADFB7B05822679BD40C638DDF0E7
+A97BFE8918B611A145AC965C203F1428812F9D340AF499B3A915B22BE798594E
+0F520109FC81E452180AE45B170FF999C5FC2761C6CECD8742A5A6FC97F16743
+AD4EFCC6572A6D3F3E4E330C5CB2FF6FEA48A5B64DD3DBE943BD9918D4A18E18
+CBCF598AEFBB6AB3CD2CBC9BFD6099272F6543F3E532E0E21E614BD2880B1023
+0AC234CB705827BF016DB84E00E8C255FDEFA0101A842929540B7B4AA8A089BD
+5EFF05B72356B6BC3727817823B5CDBB1B963103000D7F2A4E2A1472FC3E614B
+5CBCB6D6D784023173DEFEBFA8F9ED87EC1A0A9EE98CA59CFC964CF943DC683F
+E9E00DA718C4425A705A69D99988EC6F152525C790912C2E46A2381A569424AB
+54DF4798BC2D7E7A361E7991641D4B756CE2A7FF4A2848927092C59C2C4B8809
+E13AB84FB6B111E680D7FB9F2FFC2C5C66B0B501E4447C2E46C10E2F6124476F
+A140C404CFE2DC9E0199BF61E035CEB481D438139A9630934E541D261FFD2906
+4CAD99E20655FA746AFB81EDBB5601F5FD6B1D6832A01D585E2C55053F6A7378
+4DAACCAC7608DBDADAAE732D66B3E7F87E79756337C1A961E53A4651BE7C77F4
+038B89C87F650C54A2A90EB7F1D525BB353F33318551EE8D84A6A83C718EA5A4
+B2AC0F7306B1E095819B87015A90CA3ED739B09061782C28CDB36BA4BD5E5308
+5CBB70414E4112193DAC4A1FA30996327230D1E021F3CD8115E12D239D93FFDC
+B645910EB29E40D830E7BAF2DB255FD7C4E776557BB38157917D993EAC245837
+A3B515147043574157B8342D829C7228CCEA843ABC89D1785A9672A5923FC4CD
+2F3FF27E6FCACF84E2D3136CA2C0FD3EF1EE7354CD04C38B5FB874553646ED2D
+CEDF7E362EADD04B18051F20A8FB0DE18E152385B9D05F98A3A7EF177824E246
+455ABE69E2F700EB78185CCFC07E3B4C6FA301112528D977367D30D0D5D59EDE
+FAEB706DDC970A9E296236C725B2B55B09B9C336B8E23CBA5FB8692D56F33B03
+16294E5FC7FAA42E96395A57CE51CA8DDD77442F142E2E576B778373FB31C81C
+16840BB422CA827E30A81829648BDF1CA36700EA32AD888D097C1FE0A05B2D9F
+483AEE40269DF09AF0D1AD3DF80C45DDC59C2A03FBB661C79B87853737C6D352
+67626B657321B16198DBD6DB98A092F17878AE4698121E1006E53D6F9B0A3BE2
+3FB68828EF854A0CDBAA68B37ABCA6AD4A3D809AAF0BAB1697A81FE59C98C472
+1E33CD70A75A22C249DD11D76C2575ED3370A25892A16D2FD569CDA70C130770
+93F493C7D47D6F9A5424A7A542BAD726BFC3AB225DCEBBE6AC4BE006F8C7C0EA
+051424B08305BF2D951AB2986AAFEA04E078CA79B399585BFF0F1ADCED02E15B
+8765EB6BF6A8E4D0901EFF2C3AA104924EAD9637A35D877E0C51A3C37DA78CD4
+8643C8CE6DCDDE3F116A6C2390F948E5371BEB5AD2E87B41C5F01FB5C196C436
+6E256A88D082E3F46E4EFFBF605B2EFF1E9D9AD5EE4DDC323A137CD9451EDEE0
+06F7D82898D71FAF2362C0FCF1F726F97F820305B7CE20728CA08C63575083A7
+84BA28B7DE2B916432475510E274C12FFD1660A717F51DACFDF0A102D85224E0
+D6DB607BB72569ABB8A7BC6A10354CBBC01732EFE35B72062DF269CB25EA3DE6
+DC603B04C90C5912D2C38D7A5ACDCDD3F6F116D884F0D8C528F69D5D47BA20DB
+0A9E585C7D8CC3C324FE8A1DF150279F7E8FB43BDB720E624E5E9918032C02CD
+8020636AE5C38DA2484B7F4B34163E0D0A561B43B80E97746DC05C871AB620EC
+C5D47101ECED4A7E25F291184BEF8B80024AA7BB456C1B83A907652B331DEA34
+754226C39C6889EBEEFDAD081E01EF8FE47751987667836FDE4C8BB8A3FD4406
+1E643B4EA37BD370734D1A2DB17C2F4B74B4ED75098B433601F75A88C9A37A05
+CCB157EF6E32023BFA33973F3E655A4D58289136996FCFA61EEABD70791B6523
+1FF5DE71AB8A17038923118A5EED8D59C4C58D246FFA9BB26472346B40C8741F
+153D19CAFF20DD2A86C6DB89154A630FB1761929FC3F0448EE2F089C1C953E02
+905BA8DE75D101A982A611056C4B237596C10951DD98BAB838B742D3CF7DE718
+617DB72E5268583223E37E029D1C8FD3F1D21690151F76B76C52C725CA135CA2
+8666553E863CE188BFC9B99AF56AC2DB5BFEBEB12FB563D00244EB89E478657A
+98AF2E1223C1ABC25A4500E8119B86EB3C26B8A2F3505A3E5610F89B7C34E278
+53FA0A54A7F46D84A35EFEC36AE660A9E3C37EE3864106702DE5AF6C45ABF64B
+888A4A51323138CE77DB935576FE6B4824B6942DF80625098CE1B5B32B234F1D
+052A9D6039697118A9D793793775D8729D8574A2E74D7109C7B7E23BC5E2E87A
+CA8E019203952A4892544E1AD3D4EDD22971611358AB230E9A2ABDF00A288501
+A01B67C42B33F6B78C39562DB50F4663B922D9BE0D8A150311AE44B83C1F129F
+07337323E9A23211EE58E16043E127C6F9574019179F5635648A011266677B56
+B5D0201A4E1470B952A1579B57AB2329CD4C615395023C653F784D36B5EE3672
+10D191F29EA508CE84763CA4CE7C2C5229E38E241255A5CABCD6C7CBAED901A2
+CA53B5E24111921CDDF83578D33D463D70EDACA0E470D8F592303FB6BFD68B4D
+3F3BE2D7C5EC8BBF10C90111A33E205F2649B56E8443F6FAA6C721C66575AE12
+D4C40F1F46CF9E9DA675AB5D5840D938780CD9E4AD6736ECBEB6A4397613586F
+849B51048AC5F9405E03E14540A5E5582F61CDCDB57EDDF95A8C6705F433EE16
+648F098C03DED8A2AD94AE3DE202D629B9422ABB031318D48F2C85F9DBFA17BE
+84708AA3B6C9F81F4508F7A5CB7B6646AB8722ECF817877B77D473F577556DAA
+2BA0ABACFCF5DEA7498C47328E873019A956FBB250FD9D8885D21D368FA70CBD
+2709D2DA44EE7A9869963EAB48789541906DE49FAE785ECE1F18A22C7E7ED204
+9768896B78E9EB7A2BD6EEC1B26083940656ECD689D92942CC8AF05CBF82AED0
+B45A7DF4DD7AA6526FB597322560B9ED3087A65B5EEF1371C328A021411BFE3B
+D9B5088B2F1AAE381FFED52D2D1E02CD0DA78683E3B06171CBE94BE9760005D7
+135893D7CC2DB097F6AC664D9594CF1C650F84DA80D2EDE04802DBA33CE3DAFE
+EB7A37E8AEFA4FDA6252FF21E8673DD98E67124D5DBC7BACF361E57077B71939
+C1D1FB923E4E35C075CD1BCBE0E80DAEA1320D55B43EAB45D9B26C366B278782
+7519FDC482D98839BF0DF2E7C3A56A1C1A3FC0E57A75CA414F6536C1FE8EB7A0
+4ADFEE3BEDA0F53BE8CF5F64230784A797133E8CD46BCCB3BF38BCE38A73CCE2
+9E073ADE792F7128231DDD1F63E6156ADB2609C200837C2E8A2D93D2A7BC9171
+050C709A71E44E32B1B03C92EB5CF1D3BAB1C38E027DC4ED9AED633D98CD7486
+3F773ACF8AE332631CF2ABE6D606607593FE862ADE31803964E3F4DC3CE3A271
+C76BDD95C87CDB3B87BC26FC7A16D567EEC62E6FF0D471B4853DB8A94D4CACF8
+843824F818083F10E88D52FC4253E8203292CB40F1414AE7E51DD7347007C342
+CD70E8E9F2D2A13D71213B841DDEAAB208AD9EA644591C15DEB084165F9DF24B
+B91D3BBEEC2E34E38EF16A0C3F00700A7BDCBBFED2EC0D09601AD6538288DB50
+3478B051B5E16B604A0341FE621A58718D960D699D3FAD284310DCF54EB13175
+19A75A539EE98E804AEA24689D3540F0F12951A3C01FACCE9A7BAF4D0DAFA946
+FF65A4D2A4C39969607272C6886F44E90ABE27CA3A1F12A29D9B32E60E8E34F0
+17C5FE43D0E69A99A922D98909B2BBCD145E59A5E7F5426B3988F73B09A525F6
+8BD4915663C1301323180E760BE81CB874B020FDA3AE63340E4261E4F3E4949B
+CC0966BDC4426190BE9F5D77F76A72AD925662E5FE1CEF9CCAB68F0BD33DA003
+F11EB91AC4502FBD6AE48DA0F9D07C35B96B103E379B8A83A05FE728F1716194
+1F650F75BEBADB2E3810388F3E2DC7B19F1BA9E32925F2FD9F19F4E8701F3E4E
+4069125D7C401144740691E7A460021A47B1E27997FC1DDABEC5BD0EE0B20194
+2D579C7D6727AA124083242BDA46D8E116E2751C5F298851A62B60AEBE82A929
+9B9F2492BA35690D1EFD16215B8EF14E7A3803B93C28FA41D971B05B6AF3B593
+E74AD1E68A5FCE12A86E63B78BFEA87D3949FD164F12277A4688BE96356791CB
+8671C49365608F3EDECC109321AF92B4C29CAF073DA3A7D73E913D0D83FAC5EB
+BD884D4C686056404DAAAD6F82F94F803FA1FB0DD8908D1DF08FB87A8BB83027
+04DE0CBB1C6FEB6B517FBD7CF065120079E608CE41893C2BC96A347826CCDFD5
+C69E161217F2127A59F1A6F22037641613F191F22D5B4CDCBCC2EE5615623404
+ABA7BE6C5FE475481615B2AC1A2412E54688DD21E44CC9AF5F16E634AFCA389C
+4D740B7B51BB141BFAD1080E7C726C1606A28ED492E6BDE9F800EFACD1513909
+84E98CEB6A0B7A2A6F3E1D1DCC3B2552795E0932673E59ECC56DDD37A1D52BA6
+C3F0E905978AB568941A163F4CE3AAB5C5B16F86016EC47BA6F3F7AAAA77C3B6
+09C8C3ABDB6D514A76ECD37C37AA88B5860630B3406B494F7725975596F84777
+D9CF48686EC9C5DBCC1D78513F591C7C10AB9D153B3D41426B7BF668B0D04503
+56BCB686258462C1DC61095724B9F3312316262FD7C1AEC6E54DE7E5A7BD8EFF
+035299B8FD8A4A7B0F51404F4A760F4D8B4C0FB7A32FA4B2383AB6E9C78FDEDB
+FE6A5788D38A6701B123630C2A6D820A684166FBBC83DB17069494FBD411B333
+CB37E2491C5BD035A33867A6D3A3D420CC31ACF43AA07182CAAE67E40EC63663
+B678F71D4C6E0EC3A0AAF904CD3AA66E0DE5E3CDE049E94249B39A1C06E3CE9A
+F974B2484BB2CDA14282B9511E505B3C89F9C802218AE40D1A7541335C5736DD
+CD565D4B9F4CC78F3A393737EDB4FBD0DA299E21CCFEBA5478EEF013F0552A8B
+0BB11FF46CCDB784E8BDCF730A16363E66572049E42C695886EAB42A9AD9094C
+B635DF4B5B9BD9B9AE8455DFA3EEFC77653190F9A8B1E93B7281C2A21EA7DDA9
+33484745BDF7E3DD63C7AC66C286C9A5A698A5E4D7A91710B7FF943FB23609B6
+4B442F83CB795788FAB5E9CF3F75D5487DA26170E4561C7941C910B088C3B86D
+F844B0F340CF82786A3FCF347048463EBD2006281A816627065DDA6CD4D3AC5E
+2024BC96C7D896381BBB567951E7A1F29D4E95351298B000D29E5F3D0448CB5A
+CFDAE1BADE9403B90371C3A07D208948AFA022A69C519434B6813086ADF518D5
+88E0B92072A44BA1B3EBB630A13B7AB90992E85B6D67361C8D96F3E0D826FF37
+17B67E4B1EB7BADFD98D7F4FD17BECE740ADF13C141EBF0A91CB105DABB32FE0
+55086D56A0D358841D15FD349E6B95512E4EDF4C430216FF85C2ABE995E4B40A
+A6044CC8820AD885C07E052B3F91C2E9A1D163BFFD210F7BE95B923E2500DB50
+2075106DB541C267BD450B25B670CE80BCD068D4DBFF2D82634175B61FBD3BC3
+406131F44C7D6F18D375D1F2270829DDF29DC14DBB58A30AC193245D18DE91F8
+AB88AB548D8138605BB5A50073295534E314366E26665AE70482B890E4101D6B
+60E4F3B37ABCA1346DAAE8FDB8DD9C832EFF3E73BA470E2BACE7B8515CB43388
+C27AF99FF9322175CF8D4947E6B3846AFF5163E972156847F58A66660EC8A3A6
+5FB47C9F637B4CBB4C73B6A080B0CF6FD1E9665E92032540570FFCC747C67C50
+822811AADC404BC7ECD1673E8AA6C3A2F1D82F39430B58C29145E2F1B679C46E
+94EDC711883F1E4EA84117A54757E8895A40401A26E1437B39A2F65CAADD6E02
+D71FA8AF7453668DC613F326A3344F74AD7AC67569AF399385500ABDA5EDD3BA
+343CC5EDD4B558467626850E752B9959FEF1454E53E7A3DCBC2255AD8F6AB4FE
+894455118A61C58840CB68A925ACCAD75CEACE863D806916228F0614191A1CD5
+DC9BAE256018615AA3725834519449B0A88B4F396654E74099C007930ADB1327
+DD119BF799FE3B0B223E1EDA04FE2DA7A1C879143E1C33B6C6344F4BA033AD6F
+8E88C33DEF1977796B454BAB2494C930F492A518E8198C708A75FFEF8C49C324
+A718AB59B889DED521229E741FFE53F98EBE88B0405AD523254FD3FA4BBE96DA
+DA1C27C1C979A0DD4E61C3B1F4C4DE01E42F1C4435EECFC02D97994BC8AF5270
+E7CB1458D76ED0229C5FFB4A23B8716018F9050970895D51722CDE8F2EA3D947
+DFF374D84915D5C5D16463A6FFCD079D1ED416C4347BF831FF0C4ADFB61295DC
+4D5785BB0852BF472CFC97EC174491CAF961AB90629F055E75DAA6D9898E8653
+5BCF379816CAE46FEA62E7BE8E9B953466E51828172C4DBD0E1BBAD1CE28B5B1
+02B3E36403BE80B49A47446A6677FCED438F01D60EB10F478C89528FA337D0D8
+88D3FC123C076507ACDAF783A9A6E24ED73BF24B6E0F11C13E532DE5F70EB02A
+60651FC2E263002D3986B7B20CC2AA08330B9FC2E26765CD52266969A86EE30E
+71E0B41B6C1C6DA423D3A7E1553D2FAF26EF40DC183099322D362E4965695C52
+9FC3E5BD7ABD743CDCB717DB10372A722A39CE53FABB454EADE2179C4CBFC016
+A8E893C28EF549CA1692C8D8ADFC471DCCDE266FB4E97A1F3035801F3F034D44
+AE6ADA0192657E8078A1D27420093FEBA111333314658021B90DA4E7A8D4B829
+F1795501020D5FF0AD25584C1D4669353E1273F51A39C279F1F8EAF073497C25
+E79996A530100DD40A73BD980338303E192978236F8EC6BABBC8E4395F99C2EA
+8DBA2BDD01AB2030BBB19C9AA104BB96A1A8BF9C25E29269E77E5D6805555B2F
+05FAF95D67C87108293EF4BB90A5C2575E484537FB203249A03F54D324D3C4F6
+62104C8286DB7C0FBEF9AB2A75D8A17CA5464B417FF0DC1501E40B6D9A226919
+145F74A039B54E80023BFBB07B71967C420B23004C4CDF51A94DE0A2708C7957
+
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+cleartomark
+{restore}if
+%%EndFont
+%%BeginFont: CMR10
+%!PS-AdobeFont-1.0: CMR10 003.002
+%%Title: CMR10
+%Version: 003.002
+%%CreationDate: Mon Jul 13 16:17:00 2009
+%%Creator: David M. Jones
+%Copyright: Copyright (c) 1997, 2009 American Mathematical Society
+%Copyright: (<http://www.ams.org>), with Reserved Font Name CMR10.
+% This Font Software is licensed under the SIL Open Font License, Version 1.1.
+% This license is in the accompanying file OFL.txt, and is also
+% available with a FAQ at: http://scripts.sil.org/OFL.
+%%EndComments
+FontDirectory/CMR10 known{/CMR10 findfont dup/UniqueID known{dup
+/UniqueID get 5000793 eq exch/FontType get 1 eq and}{pop false}ifelse
+{save true}{false}ifelse}{false}ifelse
+11 dict begin
+/FontType 1 def
+/FontMatrix [0.001 0 0 0.001 0 0 ]readonly def
+/FontName /CMR10 def
+/FontBBox {-40 -250 1009 750 }readonly def
+/UniqueID 5000793 def
+/PaintType 0 def
+/FontInfo 9 dict dup begin
+/version (003.002) readonly def
+/Notice (Copyright \050c\051 1997, 2009 American Mathematical Society \050<http://www.ams.org>\051, with Reserved Font Name CMR10.) readonly def
+/FullName (CMR10) readonly def
+/FamilyName (Computer Modern) readonly def
+/Weight (Medium) readonly def
+/ItalicAngle 0 def
+/isFixedPitch false def
+/UnderlinePosition -100 def
+/UnderlineThickness 50 def
+end readonly def
+/Encoding 256 array
+0 1 255 {1 index exch /.notdef put} for
+dup 45 /hyphen put
+dup 46 /period put
+dup 49 /one put
+dup 66 /B put
+dup 67 /C put
+dup 68 /D put
+dup 73 /I put
+dup 79 /O put
+dup 84 /T put
+dup 97 /a put
+dup 98 /b put
+dup 99 /c put
+dup 100 /d put
+dup 101 /e put
+dup 102 /f put
+dup 104 /h put
+dup 105 /i put
+dup 107 /k put
+dup 108 /l put
+dup 109 /m put
+dup 110 /n put
+dup 111 /o put
+dup 112 /p put
+dup 114 /r put
+dup 115 /s put
+dup 116 /t put
+dup 117 /u put
+dup 119 /w put
+dup 121 /y put
+dup 127 /dieresis put
+readonly def
+currentdict end
+currentfile eexec
+D9D66F633B846AB284BCF8B0411B772DE5CE3DD325E55798292D7BD972BD75FA
+0E079529AF9C82DF72F64195C9C210DCE34528F540DA1FFD7BEBB9B40787BA93
+51BBFB7CFC5F9152D1E5BB0AD8D016C6CFA4EB41B3C51D091C2D5440E67CFD71
+7C56816B03B901BF4A25A07175380E50A213F877C44778B3C5AADBCC86D6E551
+E6AF364B0BFCAAD22D8D558C5C81A7D425A1629DD5182206742D1D082A12F078
+0FD4F5F6D3129FCFFF1F4A912B0A7DEC8D33A57B5AE0328EF9D57ADDAC543273
+C01924195A181D03F5054A93B71E5065F8D92FE23794D2DB9B8591E5F01442D8
+569672CF86B91C3F79C5DDC97C190EE0082814A5B5A2A5E77C790F087E729079
+24A5AC880DDED58334DD5E8DC6A0B2BD4F04B17334A74BF8FF5D88B7B678A04A
+2255C050CB39A389106B0C672A1912AFA86A49EFD02E61E6509E50EE35E67944
+8FC63D91C3D2794B49A0C2993832BC4CDC8F7BD7575AD61BCDF42E2E421AA93E
+3FF9E4FAD980256D8B377043A07FC75D6169338028692CCA8CD1FE92FD60AD26
+D57B7519B80A8F8DCE9CEE5CDF720AF268D3C14099498A843D76E3B6C0328F24
+D36EFE7F5C4E5B5C612786200C8DE3A41EE5F1FFAF4097653CFCDC8F4FD32E0B
+03EDB3E413283B9EFB0AC33B055617005BC9B0057FD68C52D1B0E67F0C571685
+767F2AA85ADE4E0104A1C777733D5E318A22A9944336E5B98D965E50D31F357A
+8B6EA5A0EA98E1B027CE68C2EDB149EDDD04ED74A1B3D206D471A0C11C11449B
+DE190BBFEBC08C9E1B7513B43DA3134D6B11A2516E6E86B67F68C970A320D05E
+94FEC57FB347606DF89989C33482BD09D011C55AA920319E7B26A205D3D0F004
+22466F09C0482A164CFB27EF6ED2B040ECCC3DCAF345B5A73676F193D43123B7
+72FD6CFC5E37930E61EBD5A6307E4DE70194E6384EC0D79DB6AD86D3B319A31C
+8B0589D0FE28241D8ACE280D0530EE99C80723E560BB72AE9D53F4713181F491
+344B06D3027BA4E9E94D4305BE1D817197C54C8FF56CD6964165F6448ECC8A8A
+64B48B4F0FD69299A137589E2491A283509B21A3A5772F75B7602A9F60AE559B
+07A58436D04222C73EAEA72DE9A5A441F88D27C11F4F91255EFE280E91A4ACAC
+1E98A4E5E6C57B9AE86FD218C3CD8F24A4104156A80F13821384E529783C52C8
+78B94AB3A0096090867ED32E8A30980E737922037F75F062BD83BF4F5929BC51
+CC22AEE2DBBAAA001CFFBFF41D258424FAD888FFF1BEAB796A44E3126159E120
+7E4025C676CF94888A1971AEF8B6764B3AF4A92D36FAF6FC56FD049710EE3782
+BC2CD84FE2473F133BE03C1346B875463F126DCAB15C7A9BCC9A727D23611462
+4E8D2BFD2466600285D79518712B8681ABCD69608E6AA9578F7BD771EC36E01A
+5A17BC17E375020ECA59B43790ABEB9DF5F4FBBEF807E5699EFEAC563E1ACC5D
+EFA336E75DE6D8248E9381BB110884FDC89C2F9A41EBBC9A8A1F98E6A41F68BE
+EE30E25CA148C1EFF42DFF8C214A6537AB11F260B8C329A4947B5FC8DC9C5622
+4DF7BF4FBFB00380D47BABB03BC30627AA74103E553F55278F538EDD8C1E64CE
+0F1398CA0AB5A86630139B4A7E8FC02804CAFF3830114640AE50D2FDA3B561B5
+C63AD7EE3347804CBB40FB1E77A6C89735DD870351C3A1811591AB493251B904
+314F65791963C0412377C1D02362C5E9655F1C3D4803CD379A8EF24C48218C2E
+DF1165840462BF37DDE1B8D5FF09FA2C3B261E2F1A65ECFBE5D4EAD43B52C029
+EEB3948CB8A252CBAF545C8FA1C31E920E23A12DD7222CEF2D2A513BD758EA13
+DA33BF5FBF1D734653EB83DA2D374A5B9A0CE316F24EE375D6DF6BDA49954C2E
+DB25A88821193636119D469BA66E5DAA9C92520FD4F84426A4E54273FA469084
+7517817A6EE3E21176D333825E88046F50B3CF6938AF9BA79A2F51398239EB91
+1A2D07F7FCD948427FF62F40FF95E39FE1A1AA8451411563FD5388472251C155
+69BDE9283B41900B21EB1190D06E6B13B7794FED020D2C1BDD205AE77B084BCE
+EF628249398B496DE85B406FC2E1939EF00DFC84C07E26CF72EC401BAAE756E5
+7F6673216E7560D1C2A723CB405EE5CA474A07F61B81F8836482F73DC9516D67
+CE0CB770EAD755B6B356198B4B97EBB29C63456953270CCC8D5650C1D006E69D
+38DE2DFEAB27DAD50A817F0D645D30AF5B75A7B53CBD3D2B8D87BD0A7E525AF3
+22F7ADDFCE31716914C2318260C2E2B4664893921B68C5A93334A361D94A759C
+0D7B146D6FD94F0442D672BDA0F6432E18F3C5DFA37ADA378D95B75F413C9ED1
+BB5C606A3EC7DFB3F796F59B0478C13FD1900381EFE0BB5242D5B5D34D03AF1D
+4BDC93EAF8020E26CA23C8B0E7DDEBBC6762A557067A4CE05A524188A8F02E2F
+3625DA38DFCF381727887F5646A3995A8A38A5FB1E5D5EBB395FDD0B7C8E71AD
+B48EEDB62AB2CE99D121435EFBBFCEEA69AE9ED8238B60CC7288DE33C766CDFE
+15B767B4AE2E6CE0965E77272AC9F86023DA620548CFAC85BC751C44218A29C9
+849F1C2DCBDFAD895B54E51A569952ED50F82DC8A19F367E7E44643854EFD6B3
+FCAEB04E55E4661C82D31E2932611748480EF61FB2FBFB0CFB940BEA81AFCD84
+4C6A6332D7A600170E38A8EAFCD4F93DC153C43175434C86BC747348FAC61B76
+1FEC9027C1A193E55C80F1F20B5317AA0A05AAA36AE235F6E49F06E570FEE798
+84857D7552EA92EF3EFAD52DE39C2F8F43C59E3A957B7B926FC95FC4B60186DF
+7F3523EE2AB74E294C8C4BCD8B4975E84849E0FBDA6C0B0F24A636DFA578B122
+CF97BC5089E21E9F5298D1C9F30CB8BAFF6A3A11BB4D9A0A5CF2B18D055C44CA
+4FD4D8FE1AF3630907DE7E585AA811F9CD11FB2C8FC791851D651009FA5DF20B
+3C33FD2FF848A9E3F5652BD294965A332DD3F246C91B0ADA34017FF2451D1394
+F9C3C95AAC6EC8062BE98E8914D51DA6A164AD13938693D446044859D03A949D
+F9AC5DF4A000CDA98BB516D762CB9F6D44B5268FD0C26E88BC4A760C0F75A140
+DEBDECA4F511128B7D2805872160C55236F0A0FA7637FF0D4E94AC079CD3C8A7
+D03A5A56F26B0438B577C46011A10532FEBCAD14FBD6032E224F45691A726886
+56F305231EB2FCDF59C8BBFCB5DBD2D093A0E84D62AC93A2312CA69295E937C4
+8DBA1802B85F54B5E7E6D6216A918F911FF705D3B5CF055F1D873B96283A0B53
+59344D910CD396D883F6F7836BA65FAB4393A773A8F6BC298069E5BA38210EED
+49C9D920F718E3FCE692527DC7CCE6963BF744F2C91BC5952564196D60574E86
+87A0FAB21F2DB2BD5A51D7FBD8FC19946D24E5A228462C4772F978E650ADCE3B
+8D66B9C21279C531CA1C3A8ECE3420BB65837287A7222CC3673A2A5F8BBFDB60
+C719CD073EF9A23675198462C7C87B24CC92D6AEE5C25AC63855CC3281494342
+D28F3D2FDE0C183486769A4FD5B0143193D31FCB2C2A14E487BBD96D0BADBB64
+D1B56021C363A795BF10E2DB448261C363A54A4AC1182B470C457AA82DF3F5D1
+F4B329806141EBD53CAE309319B94133D7EBDC2D0453A905ADD207364371E178
+0A95C2686E3B34C4A978BFC0EE968C39ABA00889BC5149162C2B54483D44FD3B
+5CFF41F611C7E03B94945F414560E874D7CF27FFD0630890D7D7EA66CBD15448
+229059E1C436BB33D69552B5367AB5D53591C4678D0C704DD3EA23F5D9E8A7AC
+17D003C19E333E726FFFA2961F33C70F429085F7BFE3E2510F59B78F58B19CB4
+01B48E184BAD9020FECCE3AF52048A056981DAEA02AE78197E65855DDB170616
+F54278395D9EA50DC83761AE759F9CDEF9E1948E7002414FC05286ED793E6662
+3347F2A9AF8917493D7305B92CF93E8E9185F70015F5594084298A6C2F9FD3C0
+689F262AC9FEDC9B89577ECDE92F08D3142209FBCE7B5C0A840CC767BCA56C20
+4E4E545E2BE4D21C53855CEE4CD0AB35D1A604C0FFFF77DBAE4289752276559F
+A05FEE65F45ECAF44E95E23FAB6052195C7948AF0B1126482D4E02D72BF8AB03
+DE0F1A632F7672AD9DDE70EDC82AA993678A82BEAD0BC2649C4707FD8509810D
+364B5C6FE0E10772E95288C622C2F06C634F4DF8C7FD1432BC9310D5F24FEE3F
+7AB324863D6DABAA1576E70643CA79EF4D7DF4105093D66CEE0F3B87D2164A7F
+26EA05F5C4645B22D3E1BFD2219657712C168FD90DE801FB0F32759E80DEC1E1
+43CEEB19FED12D757205043FC98FEC62D6A8D8B97BC083B4A0E985AF7850D6FD
+8716B9957C1C35A0675BC53DF672C425C79F43FDABAEE7D63F092CF271C9A9D7
+C41F40C4189510987887942E60A412B3EEC84C9A6E1AC7D54D528F5604B72C08
+94B7882621A5BF1F325B92FF96B80878CC550D1AE4D8196E41CB1251856609A5
+C4D3BD05A922D0D45E039D9450DEF8490A3E924E41434194910BF60BA1B08BE1
+B41824345627745541A4F1703E956328F6227D11C74946B38CFB096139979E56
+4E723B889B44C6D78673868C89912F8B4F0B4B485F1587A637B630F92E6072D5
+7F3B44EA6FD96BBD4FC28A6C1D90805E3BE3E42A7BC9C880762966C55BC04E01
+204D083AE976FAE6F37C94F27E68F8C0F28D52B17F6C0FD7C9150701FD78F8CE
+B8E8DC9260E3974005EB5CA728171F482D765016C94D4ADFE4A42EF42212BC56
+7E4EEEE8B0D2A7856CD4E44F55C0BAB762F92CB8D64C17022D4BF3A47C12F5E6
+279FC23101FEE93753653CE8CEDC3B75C9CCB29BF1D4554C6120DE8EE750FCBB
+E38B5D915206974962E320362E59B3F21B3AB1875703191043D03284D4467346
+CFF2F98CEB4845B73ED8E003E0DC94251B73E13A9B51A3F1430BCF6A21EB9B7A
+65E17FA411F53BE6432F1506232B8159E008FA257F884A4A01AC53BE91754D78
+BF14A5B0FBFB9C31BF4908355F8A762052968DF526D118708CCB0B7CB5BEE285
+6DAB6CD2E3934178E60BECB11AAB5478623CF6C50C92F8BB5D1A583609028FA7
+B8A53B791BDC9EF76A124F3F7641857E4BEA0837CB36176EC9A522EA7F41B8D3
+63C37D1145367BD300F17B54522A834BBB74DE12BF9EB26ACE6F24A046D58F89
+4D4B7DF74875F1A0C1C9D97BE0849593D7B398EB4B00BEBC8C8D1497B6EF831A
+A35380FFB7F1AFA4D888AA52C9482E8B1755CC209905F98F40D95B44D4DCBCB6
+67423D1BC2F3560FF0A8B4F0CAC352A4EE2C1D946E45AAEC8A6AD40303F3382C
+DF0756BFA3B1ED64C169E56ED1C760F2FF0E24DC5C9F41306EF8D2628153D30A
+5DCB0791126BEFD4947D7EF08301FE015F2B0008DFFCBF9F2D4D859FD43EC7D9
+C5BE237E9BF6665B7B1BEBB362F0C0C3A8D86010B9C97FA741C97C2E0513386C
+9C26C235B14DD2A58BFDAC7B5F63DB4DA6D5D37D0098175A9071590E1DF66A3D
+B8173A047C29D7D35557F06132CC920B5460B8AFC11D23D09A4E45D089F5EB51
+963FA1A6256E359D485107FD143B2BF21FDE9DA5744BC2615E86C31C89470CF0
+D06C6397D9FCCB316EA9989430240759D2C4945D941F159FC02327F34B042BAB
+B5C3A47C78E8C1A6FBCD396B1A51CC4B020B8AD401841EDABACECDB482D6EC5B
+72D2BFEB4556720FADD49D07307C8B22ACB7E310CA4151A85C71EEF70E8D15DE
+B3B00F26E0E166C14647A65ADA228A3D1C89025BE059306565DB1B1EFC37D358
+8C1EB024254AFD049BA977BD4C2C605050E17940A89D0D4C5D963E792320F5DB
+3706682E03D25D9E02487247819551465092CC22B6B56E93F3AB528038FEC3F0
+668F866707A19B0463BE706EC729D2EE1653AAC7E29BD25BFB3241D4792F5152
+ED415B4E7FA92C2EE5A22E27E8B75542C492E56D811C192E95542A6FE0BFE5A5
+69273C2ABED4300D491B92D2AECDD278404CB84B1BB1BD7AFEC858215837D118
+C0E928BE7E07CFEEB51A6D21375B772B8248C994564014015232A0DA4BEA1754
+3274F407FED0837A236371F1A32056240F2015B1E7F4B2CA72C6B58610A66F13
+407CFFBA5E0A2893C1F572D50F51286E9133B5A84239C9493B0574E77D281D01
+11D00683354A000C9700EAFBC1FD104EA19DFCB87470190E7E2CE26E3A6FD0FF
+2620B87B82AC8686B6206B530F17E9348BC7D04B948348802CE53A312443DB87
+4DBBA5313A6A2A8DAB8A1CC9A594FF8C299281C0A261C8CB2226B732FBEEDE40
+2C6ACC74A1A61379E2E1CD5548CD908268A32FA83D8504C442EA0E183ADBF7FF
+9FD09C037AB03516ECCA93FF048235BD11A25DB07F164512A079C5392AC7F889
+CE96AE5C8D9580BCAFCC087C35E76EED1A671E87C12E3045E15A687134736DF8
+DA984772AFD189D68571A2ED7256F1E204230E41D3D9DD876F938951714A3973
+0CA9310489F8E807C1C7A4E51AEA5BC030610A5D7263FF7E0F9FDE3E5E37A362
+5B919000BD94D978583B942EB79CF2BEAC33FEBC9A67272EB10865BA8FB75FD7
+9D280AB59F91B96C16C982DE848D76D8FA8620DFD7C80B7DEAE7264350D6FB3A
+EF04794DA3305844A7CF718F6D1A4A3AFF6826173A076A1372ABFC54ED3AC6C2
+09C9287FC830556CA694E21CA5342ECA7B10C90AFC4783D841D7B1E34FA3DB7A
+2B706F3E21B0FBAB23E7257962FC3BC309CEA2C7239A9D6B44CC96825115ABD2
+AF9A2566D2F3382C01569FBDB94C8D664A5DA0F7DC3DD140CA77C743D7BC1420
+324ECF9E4780280EB119885E96A6C619CE3C0C8E1E264E2DEB137E5DC8149786
+486D65667ECF47B1A1E20E9E6E4FC8323E0BC8E61BDD3BCDFC6575C69C03E31A
+EFFC290472CBBD049DE3F840AEE37A2486034240F80E75D8A79E0762377DF660
+52B12EAA16D678990B11A9BFBC03C1D4FCDA9FD4FFBB3E88352438102F10B7C5
+9F04C013B6575B5E948FAB58EA691984A0E54E6B9F3F505FFFEF74D06FA1CDF3
+4B8A95904C8A2763AA8AF5B71D00F5DE09DC1CDF87A08B6D181453063E14C12D
+B7BB3775A6E2A901636273D9EEB833EA8CF20FD83AE899E28DADE10EEEC20BD7
+BD93085A4B1AC80AC1AE8280C14767F1A487BD066007A0D050317BD081131A14
+6EA0898ED59E46DA7B6254BDCCBC660686E2EDA0E77A705A653733BB5C5497D0
+B130359F866CF293FB6EF0C2AC5BAA2DB0DED045E2DED3A2612D078333260359
+16CF0CCB272D34767EA069E0F0B0D42327A18529D72E890EDA6195C2688438ED
+E9ACDBEED41E81CA8EB5E43C2B09CE266EFCA03F2D7FF57F12B06F9E54FCC6A6
+546676F6FFC5B8B7D3F0982B6FF0D21D949309F0C0B175CC1D0976F8C55C6AED
+6E821C39041E22D91AB30922F2B2EC2746BC7DAB484991542FBC82D87B487507
+559AB466F73EE23C2D3194DC5CE4C9AE66D3164613AC5CBB3DB501B64DA7C91B
+C7ED2EE9027FC0906820B35D4F2CF66C4F9CE4A884B7C07155BCA884ECA5EB3A
+ABB83F84DB1F5639599DC7D3F51241AB5D95C3BCB7AB1EC90B4BC989F74FB354
+04B2D7366A34D335A47B8C00C05CB423482BF6C7970A95545424A08AFF9A035B
+7F83F52B65A9799CE76E303B85664B624C65E9CA58184C7BE2BB9D9C86A4DE5A
+8165EE3DA2E652B5022EE7893896BABD88931DE1D538F615787645DF5ACBBA0B
+A8E5B899A37321AA7D4B283AC9234978C2DD81813A1EE5DB6EC170DAC1B6EF02
+94892635B498765C07A38D2E9DB0B7581B11056C28278F89B0E60998379C07EB
+C0EAEDC32AA69B8B836F92A61AFD35688315B2C3F860632FC13E4BDFB63214BC
+41CC6859EAB3AC3034449213CAB99FA1D216563419CD6D6CE4E1B56F33E6C654
+7AA9DCB5B05FC068DF02AC32408C8010AD004F6CCA9887830927F8CBCD49CDB5
+18CAC1EAFF815FF2F6F527F936948201565003022C6C7390B4E3C2B219FB4F76
+9F12BD25CA7B3B61D1A2F8DFEE795D04D5428B42FB66E0C254AF7B7A10CEF7FD
+E5ADA5E217BE24851180E9A1700FBA66C7D2B0D7BFDE4F4EED1D24B821A40947
+5620363657F6D048E651A689822CF815E72FC8AE9D835BE31D1DD8B54C9A717F
+4DC319B4B59AE073936EA40B070524C7E71D5A7B64436DA107749746B516E29F
+E3BBCB8F8C473E706670E11E5B221716F315FF097CD1841D0069FA69EA1898FF
+9F9EC2518C77806A19730C97F54BEAD10B4729E5749A10EDBE644886443D1249
+2C8517DF8D8AE98E2882439FA81903941B363A7D885F93C6DF9E1FD89F2F8CEE
+B870C409ED13E78B4C914813B0A01DF8F876EDCC4F384055FD37C575726AD69F
+F23D50EC5BEE2FB95A44F2B2E2DD94C933D90BED2C97B53738B4B2ED56EBE617
+BEF17B9DF4F314A37F10FDE34C570D7BE76A496A58242F51E7321380CB042424
+855F4B53071DF5A0DA5A31B8AAF9FB4F4C491625FF8FD008BD4402918043BEDF
+77B840B2BE0DAAB4EF904FFEF935954AFB9BD2041241B1BC8519EB642C89E288
+479664226DBB6F1171F9EEBC7E1273D0CABCF6B1BF7F26AF21C21D9B1B916F4F
+603DDB68D3614B86566FC91D67AC3F4A4A96E256FA1A3BD35F4465AE4EC64D82
+34BEB4BBDDCEEBD9A89D932E55F14CA2776F927C4FD3E0920790A57DAEA08C5B
+169A3E2309DA6BA8684A5D1DEE81415796E13DCF906FCDADB092047831B16841
+B250CD148557D72DD7E683BF122B38E2C4F614E59B395D1D9823D7D5F126D932
+14B50A37FCA7120F8F3A8E42134F1B6B0C248D56F247AA68FB941839F600F61C
+14247EFF780BBA3E5198D37CED44DEEC3455048FC451BCDB48DC414AE5293A60
+5A59877D6DFD21EAD729CDB7B378CEDD34262B37A194EDD0BDB24AA42649375B
+491DC08F6B03DFEB517B2FC125DA9373AFAA94F4E4BC09510A73E079F4ABDD8F
+93529E898B13ABCDE7322323B3A2A02A0BF388E89B4F529A66FA22D38E3EE342
+54475A1989BFB7A119CF95750D5A18BB4FA9CDA30DB6F1AEF8AE8448BBC999C9
+FD0D74DE9A17A3153617F07CACE92977B68FB5A1CFB29FD42494D5D2B9C1ED81
+2F3CCEEC1BC079E837DDBB57C7E351F9925FB96349F8D9786D8E6FF03E9C4C1E
+67DB235577B68003BA14073E2702296B284F803259283005D97035874D2B9AFD
+4D3F29B4B1E6EDE30DDB9C68348CC174A091791FA74520C8614D4FB1125CBD6F
+B9367559D715ED057FDF6DAAC180C7FA5CCEFD0C5878A91B20D4919792C03CA9
+3AFC986C34C08358A3E85F241E3F8F815FCE7C8E07C2A4258E17D65823264049
+3803D47C96A2745580EDC957AC4291730A840A2BADA50A28342A2B7093A3F731
+4F4F656E974389E133C53F89D5DD6407BB98B211697941A927BC72A0956FA78E
+2DC624B2C253F76778698BD1510D509244AB0462BA8E80769A51F6D020E146C1
+7EB6D7207653B80610F8896EBFA6A606EFA54791E78139918C010A404BAD4B0F
+F3779D39D31D665C528290D1D4096CF7E65F18936508848DF4DBF77A197944E1
+DE53CF98DD5008E84A4BEE48C971DB9586980FF90D4AA43C5277C1676D4A6896
+BF3168664C7F31059AEF729BB5BF404B88965F7094345DA4F8535C60FC1FC946
+4285EAAF493594567AFB161F8F98CC3027FB5FDF901190949B4B6A3297C8DAC7
+3355C84532F7A083D5DDD9A52A0E8E38C858441CC99C4FD0FDB0357BB5233F3D
+0F6212F013072DBFAB7C061D56CE72CB67E59EAE0D87FE8400FACF1F3919565F
+1D434F1B0B6E1EE0AD2510D6B21D5E44574A1142688054ED5805F3788325FAB9
+397B4F558005B5C6CF1EE514D77041F132E00B13A76A105AB3EB6E4FCDBCF1F6
+60E8262CD10AA45C67562303483314B5B0B2E7C4F285F9BD614A00DE68255721
+89A19315AD384AA2957AF8F20D293F17F5521D3311F85DC40CDD29AA85AE61C5
+F3A6A112882F7FB92F190B2F10903EC9AA11B02A8239798483CB105A78F53D62
+AF3EDFE03A794C0AB1BBDC245B04E8BAD801177B0EFA57A1BEFECF8CD29EED55
+75A3EA75909A28E41A42AA4CCBAA4F94086AB50569D9728470C768F2CAC7140F
+6E4E141EEB1D14F796AA6D036117EFA78CBFF7D25EBF1E4DEF5F9EA103CD8FD9
+A3278AD3177806EA98CAFC7491019DDCFD1C34E6D4DAD24892A71B82D94243E5
+66DDFC314CAE502517B50069F984BEA9E7BB776B37107C5E9BF929823F9743B9
+EA2417E3750F18E1F491C658037300F1E113F01439C816B4FD088BD3BE37C6AB
+6CA38386B188DCCEDE505281359373DC0A0E0019488FA5E8BDA6B7781682CA84
+F36DE8F89E9E4518AFFA65334E2C3A5C2E1325D4FA189E4CA00F948D6CE6FF54
+9C179EE04E483F5189130541860067A3119C3639A44BD7A7188498CCCEF4F408
+A3CC51FB47D0B21212E708A32245D8E2BE741D163595A84381EFE64A06F69632
+0EBEE4C7AFA2141D6F120889E3ECABC3DE478C3ED3C150C391CC4105490C9078
+B127D142CCB6C1B3C85976113EFDBE4F7F321B9AC5E0FB1EF3B021BAF474A9CF
+A2EC28FEC13422167D2F49D7601A570857F590C7B904D64166FF0A87986CC9B6
+EA75BEE378B8328ACB3A5021D490B3C7065CE781C378C1F01DCD70EDDDB83F48
+A61231C7BE4C83A0765242FD2E9ADABAFBD771DC29AFB98C6CB1BC8C83ABCD97
+10B607C6C05D7A56A704DAAF9AD3AE67DA3476CCE84832BDA1B6BB5244DF4DCD
+65AB1C0EE6C6B0EA56507C3D9DB10BA62284CC1676852D451DF2CDA7FFE09897
+138C27F7C6BDD27B3520C31D398026730C5AC6998DD218B92FD4C8C69FC7C0EC
+74993155CB94633C9CA2925980C37740F766993C8EF1043A56F6453B862F196E
+BD7415B50090D1A97A1E290D9E1774A095DF0B82D0D20D0E8EA09BA0D93D9F8E
+DAE5DF1E8080485344206AD6A9B214C02A57BB9900646AE4EB85A905D3F9D12F
+0BFD63D823161186FD0CCE3AC40A86D14B2ABBBC5EC181E3F95AAA636BFFFAA8
+ED2789F734A9E258AC19F8D91DCE22B7229605912110D3C88C27E32FC0C1E0FB
+E4E6253B00E17AFB3A56E80E487B1447B00CFA3C6C8A500C6E34DE1AB52E24B4
+29285A06EBEA61BB134055B25332C4F2AFC4CD63E51AC2C563B89563D0254194
+DE000681912B191666E7CB012428ECD18DDA85972F4E252C25D22B83076B723D
+FC464F67B2BC065A56AB23C6A248F309DBA2E131A6EF79586E58C22B28FFAF47
+5B59BAFB5D54BCDE67B2D52CF54D722A8DD65A69B6CAB613145652A976CE4D39
+64D60C0859891F96E2FFC98EC71CB8627476F971C108F5616E20B6B12B517C95
+400FD210006D7C81518A744CC70DE55F76AB2428202F64636BF1B4050C143424
+1EDB33B6F1555CFD821DAC359ADFC8241D77E2E639514CB1CF6E169312544A65
+D68CFF6687283DA001ADD5140FF92C2A4583000060FF3717E66736B72EB97C4D
+B5A6B6E1AF4FB0AB0CE7F517E28F67D1FC76296917E1B91F2C07AA0A48FA9399
+B88722B1A4A755CA4825EA272C1D104A426AAA391D9125ADBB46CF1015357611
+A75D9D098A27F61719BC50DFACBBC89A3ADD031C747FA6722534BA34991AF3F1
+BF309AD264166AE4DABEAB56BC495DDF63F51F7F49DF8FCB5BB79C8D01A8A9D8
+C19AF84132DE8F5BEC0E4660654B502F46D4B36A0E52ABC788644066DE41DB8E
+BC5039741F62FBC7E022695E2616AD42CA90D225A8B0B85582D26424B74C146E
+164A78957817BF9B0F2BE120B0C0F663659BBD109420C6849592A3376F58135B
+CFA5DE0696385BB0FFB6345B70A720C655CBBFB8E3BFE02486371A0ED1ACB555
+52C3342A01A2C825D685A50DF65F2F9D27604F3F841AE34448CAEC9C5620F73B
+A0E13D41CAD8B041D7B68FA7946BF6545DD7B4C68A3F79464C1D64E30219493B
+2267C4CE8D70C1DB3A6B32B70C9C0A69EFAB858FF9D52DF1EE64CA7541750A5B
+0C8A64DBD11D7A52FDFFE8A2AB92BED886B0533C7A29452DBA1FE16FE252C76C
+2147179049E4CC03E5301AC7B4A3EACD5C0C215C3A9C0762A997502B0A338A19
+94D371C31198073BDEBC7CB5C9DD3EC0C33B5AB9DC0E63EA214DC576A11D1E1B
+9627FB3B5E091A7C7480AB572D86B3483BF28CE1E4B2F74315016D0E2D277A75
+7DADBB5CFE83D44CCF99699BF548A45F42602F075F9965585106AFC9DEC1F5E4
+2E8E625AA80C1A23EED1027787E23EA1E2B6674FBDC70D0869D9A1D2956BC4F2
+DF997A23D396EEB029C38CF7C0C775C25AFF4F50761090ADB3C570B631575B0C
+99E46BDCAA4B6250238E5D9B07CAEA824B4106BE1E86015E6509D45EA4B7FA9B
+BAF2F6E2212876DE010F4F42EFE163E4BB5C2EA8BB7DFCC55C2ED9F1FCDEC32C
+8FA5C996E011DD4061E9E4E543141EEE7BAC2E59E2A70FAF1D325B4C3CDD7550
+1AB42F0A7A5283248B42F9C6E8B777698FF688E55246127F4D63B4DC5DF2D690
+76FE80C695AB9982C18D48E647518EC2B76EB697066953C3652626890FAE9E2C
+E05BB5D8FF563F6431A56CA3B3BB06FB222134A4F3273316F4D813AB4798649D
+D6D76640E5267654244891ADCE677A7A599D22835082A072C3772C95424FA45D
+F7A2553E5CDDD74FA70CF540AA72053645573A5BC1D076CA56CC148066671B08
+623163ED2DB63672DC00C6B2F3A90103D44035E6C62762F9D570EC180A074BA7
+5FFBADCD2898CB92192D631588C208C30573A8F7583EB55AF909494F65408672
+CF9B4A2C471DE1BFACCF8292D4EE0CFC3DAFCC75CA917207D7FF60FA738D4CBF
+DC5A9D10C374BE5D3D04129C5377CE1DF8D68F276989559C2583C6196AEB4557
+1CBFA629E30DFF518EA89D48B607797221D94774689E26FF5F85C498D1AF5FDF
+B24415B519C99E67F653CC52B83A5E6AC4CB8529822733E26DB40148B6D244F6
+4B5A75F275288D9F8065FA60FBA29F8B19E467C418CA57A6FE618126F3ABB59C
+6D76CB7D7A8EFA3C0DD4AA65E4D49F8FE9F3E71E95ED6677BDEB1D2223DCCC48
+9A83E589D293050C20847A3F53178A895AA780BE8D374A8D48A10B8B0B3D066E
+BF6E6D9E8908EC21DA73E6EAA222400A7C729E04FA077550FB80F5C19CFA1A1B
+6A9B58AD9C2F087A730EDF4EC2415991D7572619DC7341ADCD7839C05E1F4251
+3DD514ECEBD22658FC136B3F6DDDD5CBCED5DDA4C5191E76FE427015B2863065
+768A4FEFF46C68EC7F68978C1D2C23C53EEA6C845DE21A5DE77DC935D2A4514C
+8A3E9BE93CBB5E16460FDACCAC0E425D93E6D617443716C6721F2F119AF44640
+83CD0B9D7E26AC928A0195F0196BDA8F68DF53B5D7592B4655202BEF769BE4F7
+9FEA39FA1AF47223B09FBF61601636E76BCA286EE0BCF5B1923AEB3F9FD0ACDD
+3BB2526A8619175D1430440DBE02AEC0C24FE51276C4BE36AE93A54D8378D3A3
+227061E257DF285EAD467904A0700AD002E718CABA338D2CC52F2483FB1035D1
+D065C64DC509EF9B4747EAA3AF3A02CB64EB6E55D3F3C19B8735BABE26852C6B
+EBB2E4D8FF77A040D1D5959E701565ADEE7E413340F9451C55B0575E3B18090A
+2C28B3DFA6B043BD1EC2A5DC48402479F24D630D743EBE9569A4A63CF6DD9670
+E335A22ACD4E09900E11BBA673EF677A021AF4A4A5A1CC56532245117DF5BF0C
+4FDB0AE21F56E04C0BA9188348611C0F67032F13B6D6E404C8B3D473496646AC
+0D414E18885768F0D65AB506BE36667F54725E5553D664A5C2E9601026989EB4
+7AED1F81FE710FA3FF3056729069590C030E702B9179D0081BBCA6398EE8C01E
+E01766D5C9CB702C4960FE23C4A282DEA36D96C7E906E0060643D50C0C1A5169
+CE7FEDFF384D793DD14D9735C04059058CD3226579DAD72467CE95CB76E9092A
+42DF6FFB6D567AEF67B1BE359A6BC569830B4EE65BC7832CCA23979CFC48EE25
+F1F477B8D723C0FACA8B24C48D1A7320D6DFAB3997F58A4ABA7439F7AE6C73B2
+CC29E7A7B8AD6827647577E4A677A0B41DCD206F45D6777A55A864D1FAF919B0
+4BB0BBC5CF40264610732E00DEC68CD355F0027C683B5109110297EDEE6927D9
+0CE70C98D22920074B1DFB834413F6EF3FF1C9E1A758A6F71D69BAD93F473672
+BFFE79BB6D990B1899CE3ADE0BBEEE40A78BC517710DA66EF190477B360AF75E
+8DECF1BEBB8D623169CCDD278F86B41595925FFBF10B4B2F8D7E210B185EDC9C
+5E14D78F42FC0BC3A3BC8A6171751C35BF5DED43219DD48407BFA8AF992E97C9
+8E622F68EBDFB1A9358375C8CCEE0034E692A3A2A74441FF6949A8AE17F5682A
+F09410E8BBEDDAE83E0D579C6A572DF98723B91C04A2D93DFD09254A4EF1EFFD
+230721A13C655F2A0A7FABF796DD3752EEE89C4E066A06CA74AD7C3D8977AF6A
+577DF17CDE2EF71C47799B026CE94B611441229AF08692A9EEB18F3E2E1988DD
+75834FBD9F9A692DE870A5D43A77D677A3D0DF4D0558FE8B1C6EA0A8FC77F948
+4317379E4C140CB28B5BACB7F29AD176CBCEF1FF96A492130ECBCF5BD9FE5AD0
+C24595D9EAE4A4BE1F8AF27295F140207CD1D4BFF05BEC897A511F0273EB7958
+18AC6909CBD5737063B9D30C9BEA261FE5413A4537187ACAAE0A18C0EC6D073D
+0CAC6AA417E1846F12DB12529F983AF7F805F790CA533797E9EAF7C2E8979AF9
+933CE692EE74EAA1CC4657FCB2552C97BFBD1C6CA771AE7362888840F011C136
+13B261332ED0F291B6CCEF9C5F3F766C8F66BB7BB57493124727F254D9F0CC1B
+550CEF604C5B2B374B2CE757ABE19925372EC679AC3B78EB66C0B1AEF5C6AC3E
+633D475BD3411CE0F5B84A54FD9290EAB4399FBCC2FABE659D0E0D342B80DB6B
+AC35ABE3BB6B80FF87DFD311436EF6F268CC3823181136558B6F48B8A7322D77
+658A9C2FF41DA157521FD02E22F079E32BD23E408766FA14A9CE1C65F9E73D86
+723864E3AA0FF74B367A46A2306300C928AB8E37AFDAF788FAE595A7D53A9FB2
+CE8BDE68A11BB6F0BBF48B722BCB32CEFC18756B74FDB79F06639FFD8DCB909A
+D5FF15C0EEE2D97EBF64F22534E4F80BC7B319673B591D649980BEABE6572CCC
+50DA0708ED65E7493B006DD95A48DFA4CA2142C20AE83276F1DCBD37B6EEE61A
+8FF20C3D45372FA7EACAE98C038BE4B911E31A261ED29FECC5439A70E74C4CB6
+F08AADA08C128DF35990FB2E30359049494C6ECDDFF663176654657A2945B2AA
+77D17031F2007ACB9861CBC04F14896499D2303842C303C712175B1EAF4A2448
+F29CE39D0AAC14FAEEAD220C23C990D1E9911C8DEEA7C2226977BD5EF4261116
+74F54B064D25222733DE1EC50E6BB19ECB89B9DA9A937C9DD8A4C537C73B63D6
+670DFD03BAE4168EEC2475962CCF7048CDE547E8FFE9C2B251B0FA169FC08467
+53E619D91BC4342A7AB2381AF0945CE121A947C0BC2B266024F8C50FC61AA4FA
+A90E9764268F79DA2A058FA47C9627607809DBB6377F97E754D39A2390EC41AE
+E15A8128362D9A08F624DFC8DBAFC4DFE8BFE5C7D0F916DA2C0704D651CA2871
+1CF116750B65F38F86431FBF1AB5BEB944D266D5F353B384F0567BDF016BC7A0
+C3B36EFF6E690C355F309B449956401E90D94FA19CA25442333081AA87703549
+12304787789C4D914DF58A1255D84119BBB3A05A810D772A3C4D91EA904996EB
+442D094B052223890340355062218149BE73FC31BBB33878DF4DCA0C407613AC
+AEA55D731368F373A67893592BC795DE88CA748857D3BBCE909EC26CA14160F8
+CC1B6D993D358FC9FDB4E3A5BE8F0D4536D88995F7A2B4F7A8F699ED497E150F
+D42E71B27697F18AF7B74F310FAAA432CF5C296137A73D39E54D2B9C55425F61
+4BAD5264C4D687BB9D3445564FDC1BC7D9D4BC48CC05727B715833629BF11F0C
+CB9CF12497FB056B0D8C182DD9A22D714A163C9FB2DA05B9F50970A55C9E714A
+209AE43ED2EB788736A65A4FC3491455E1971103E89A0F7DE43CCB80C2D082D3
+1653BA483F993AF8BEF36ABF3FAE136A4232F93948C8B32F8A2519F45655E204
+AEBCDBF1877B261DD983F9FED8301E3B57DF34EF84B91A9927915D64F979B392
+A5FD1D2493933E57DD346FF2F9527EE44DC83CCD632A65407A5287AF794DCF6C
+ECDB895A5978262BF5A7371EC55CABE222A81F580668A193120D921B2CB7761B
+6E92869F97AA77326F4F458C6346B97BBFC1446B854DE5D7756A9A0F5DA6A45C
+2A5EEA3DFDD8C57B1C79F65CF17AEE04F9036C1206B3538FADC1CAD903C7688A
+7991C53917ED97366571FF0E6C77426C768D4E57171FB4D464644727B8F998E1
+54D269AAAB71EC012A3317EA1244CFF897600CDBBACC1D53612DBBC5FFE09ACD
+BA2493DD2557D48657DF7C4512CF63D6CBA9616A190BBE6D1E4048275B5A9BC3
+9BA504E26069E9806BC6A845B14557E7038AB37FDF212CE86C636D6239DBA113
+DB150CB5678B2701F1C90F361654A0CDA76B40AF409D442CAA20BAC3BAFA5B9B
+3B17EA86675FCB22B9187B0ED28F824353217ADA0E0B9F61E79179CC5FF25BF1
+BF2FB24A490EAF99081494D29CDA270C893F40404BDFC68FB9DA63A231D3379B
+9F9A3873365CDF9B6A32D842D26659CAF48765654F05D707042586DA605BE893
+863B987F05E5F0A29D32C13134F2337EBA7EFC269BA7B2F041FF542D36F24D39
+F71F3DAD9DF9E74B91033BA8B1FF01A3F3A19686B5A5B4D05DB17C137BC52AA1
+6F4AF7BBF819488DEBB5571775A7758727931366900E52AA38652FA92D97690F
+49DEF882D78B073FE10BE9D053F69949A848A8EDAC11DC0093B331E87BA94897
+7491A5337712718E46A0933A3E2677C646569CA16BEC31E5CC317BF49E3C7203
+D06A30719B097B45CCD66DB02F041C946C8EE77B62702F4E7E5AFD05BF611E9F
+F64D6C9A5E948C5F4B4F5679D14032F3F4FD9D4829EB63E3FB8B4D4165FA3919
+ECA69EED712DB0FF3A74EB6F5389499979C3184C28FA6BC25577C1D427AF629C
+E597D92FAAA099DF37BF335898BD472391D2EA707CD0C32DC8B6A505D4A7740C
+F3466D4BCEC6361673853B40538D9F3E28C5CCB3DD481183EA39C3A3952C26D8
+04DE8422C10E5695CBDEBD3BD748A93C7DD772B5597BDDA47A7515832770D0A1
+E20E3520FEB8B60A8A727905B90DBEAC81F8E0D9FD98421BD18917E469C32498
+B7A1D8F18400C2F6A81A119717245BC7D5BE7FF27274771A1C51AC83CD2D9616
+1EB49CFB56A486FCCF47B7BD42245E82282ADA3CA2D6CFFA1834DEF4AD51FDC4
+7065B4C4C56944521E76433C70447C7107EDC136BDBE624D88023D8754DFB982
+53E5BD12B30E7294004929956902E661F71EDF9CAA53AC43D49401ACD313A93E
+1141CA49EF4361FF6DA3A6A368F0577776C32FDFA3ECF53475312691EDF12966
+BF5D3C69B2B09A062DF959625C841727AB9AB4353CEB13E1A06C7AB416133FC9
+8ED0904D3ADEB8F05F9BCB66C6F04BCBFBCCFE25BE89087C85C615F9F84F4602
+9C72EEFA154A2BE435FCF5D3DEABDE64B793961C9F06EEA3A8902B444167A342
+539A76A69B4D5F6A73B7124871AC35FB846576394A02BBE80A38FB388E310DA3
+63EFDA00086DD59FC21875C34708217055EA38968F29D6CC98B3D959240E4853
+25EAA1A6AF9588B78A0A6AC574873B6C3191282D4F3C100955052CC8A04E8FDB
+3843F31781E71838593BE39BF9F177F9BD9C7300D3C2260F36308007E6BCFF2D
+74245E0F81A692E3D37CAE4FA2CEE3EC5487903B23773823D50FFF3C079B9F90
+CD01BDC9F4FCA357233D3F059F7D29C2F95D5F0FF4DEF948F5FD5B8E04D7EF34
+198161813932E4FC9B7FA50E9AA356DE7602F908AD71EE21391B3CE512C9CEE0
+C1C60206A5C6D9CDB4EAA65FB654B23B417DD407BE99773A43545F01F05BF0D8
+9EB1327A7F0A00A7519D03F8872F4D2280E243656774911D679FC88D10D253F6
+C8C1E034CDED477724FE4B13A27ED520DB3BBEC21C049211BD949537D9FFA189
+3B0270924ECA20F20EB9FEF641F9251BB140CB1CB36CFAA76479B6850510D52F
+A1E533845A1C7BB9B3BA5A0BD04FA76C03ADEF6AE8B005FF03101806AEC7066D
+03EDAAED0352C5A3F9470946453DE958E11CCCFE17FEA412059C614A815F5D78
+D3D379783374A055EF0B0C7C4A2136CDEBB2FA7AFF2D095CDE3996C1534BF247
+E764737B814E6C39C89831A76F0EE853F1FA86C3D2000D1AAE76A47E98DD6377
+8E442068FE0C2AF3004C2DB654F9BDFF412A5B8415BC85CCB19DC9263B2EB900
+1DC907541BCA2AA6A4879A016A99EF4E1179660F9ADF49D7EF3FE7D9FAE42BD9
+B134DE6E22BD65BA2FC0904B349F192FF105F46E8B849BE08D78326A200CD548
+06C792F185F77C8C01EFD7791BEA93D7E1868E936B66E77B11EB71C7ADBDFD47
+30C1B10F097298960077CE4EF8B43498FBABB364BDF1CC74069BC1232664A778
+05FEDDB57A536DD97ADB6893C484FBF638F0535AAD005B9040F8F4C5A8985ACD
+596365FC9A066E96B3096F2A709E4BA2B5191733FAA31D11B4AD30BE9BD06A46
+03DBA293FE94CF06ADA2C661A9E8EF65103980125119447003AF4976EDAA2AD6
+79C79EAF57F0819F9649FF6E829D8B403F705DB3B271F788451A5F4DB47E0837
+940E766CA6EF0799EE5560BD521390737355D4BBBBB5DB6EC9E12FD3AC9B735D
+1C1A7EE65285A7293E7EC30F60462283728E2E1ED4CFBBDCBDAB4EE0BB73FB7B
+9382EB082242E48E822D5BCA5C88042A7407D814D945284C4CD9DA223CD41FDA
+F640E3E64B86E7A9505EF421B0588BB2746F03D4C370B13C69F7451B98B233F7
+B979D63C1C86F9BBD9D3EA06EDCED6B84C0408A7D5E8576C43A0C0CF69D7CB0E
+02126074E9B3D0A580B2427F9F6C
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+cleartomark
+{restore}if
+%%EndFont
+%%BeginFont: CMR12
+%!PS-AdobeFont-1.0: CMR12 003.002
+%%Title: CMR12
+%Version: 003.002
+%%CreationDate: Mon Jul 13 16:17:00 2009
+%%Creator: David M. Jones
+%Copyright: Copyright (c) 1997, 2009 American Mathematical Society
+%Copyright: (<http://www.ams.org>), with Reserved Font Name CMR12.
+% This Font Software is licensed under the SIL Open Font License, Version 1.1.
+% This license is in the accompanying file OFL.txt, and is also
+% available with a FAQ at: http://scripts.sil.org/OFL.
+%%EndComments
+FontDirectory/CMR12 known{/CMR12 findfont dup/UniqueID known{dup
+/UniqueID get 5000794 eq exch/FontType get 1 eq and}{pop false}ifelse
+{save true}{false}ifelse}{false}ifelse
+11 dict begin
+/FontType 1 def
+/FontMatrix [0.001 0 0 0.001 0 0 ]readonly def
+/FontName /CMR12 def
+/FontBBox {-34 -251 988 750 }readonly def
+/UniqueID 5000794 def
+/PaintType 0 def
+/FontInfo 9 dict dup begin
+/version (003.002) readonly def
+/Notice (Copyright \050c\051 1997, 2009 American Mathematical Society \050<http://www.ams.org>\051, with Reserved Font Name CMR12.) readonly def
+/FullName (CMR12) readonly def
+/FamilyName (Computer Modern) readonly def
+/Weight (Medium) readonly def
+/ItalicAngle 0 def
+/isFixedPitch false def
+/UnderlinePosition -100 def
+/UnderlineThickness 50 def
+end readonly def
+/Encoding 256 array
+0 1 255 {1 index exch /.notdef put} for
+dup 11 /ff put
+dup 44 /comma put
+dup 48 /zero put
+dup 49 /one put
+dup 50 /two put
+dup 51 /three put
+dup 56 /eight put
+dup 72 /H put
+dup 74 /J put
+dup 84 /T put
+dup 97 /a put
+dup 98 /b put
+dup 101 /e put
+dup 108 /l put
+dup 109 /m put
+dup 110 /n put
+dup 111 /o put
+dup 114 /r put
+dup 117 /u put
+dup 121 /y put
+readonly def
+currentdict end
+currentfile eexec
+D9D66F633B846AB284BCF8B0411B772DE5CE3DD325E55798292D7BD972BD75FA
+0E079529AF9C82DF72F64195C9C210DCE34528F540DA1FFD7BEBB9B40787BA93
+51BBFB7CFC5F9152D1E5BB0AD8D016C6CFA4EB41B3C51D091C2D5440E67CFD71
+7C56816B03B901BF4A25A07175380E50A213F877C44778B3C5AADBCC86D6E551
+E6AF364B0BFCAAD22D8D558C5C81A7D425A1629DD5182206742D1D082A12F078
+0FD4F5F6D3129FCFFF1F4A912B0A7DEC8D33A57B5AE0328EF9D57ADDAC543273
+C01924195A181D03F5054A93B71E5065F8D92FE23794D2DB9C535A5E57376651
+F6823308463DC4E0339C78699AC82C769542FD3B410E236AF8AF68CF124D9224
+FD6EE92A38075CAAF82447C7AF41EF96F3ADF62F76FB425BEDE4C4124E7B1E0B
+8BF254D91912D3A99557F5427907A56514C5A3EB961B94112077FE9417B70DA0
+B2E1C1FA3E1D6F01D11F640CF848E45BE3E205258E64FE36AFBD4DF4E93F6B1A
+966C8E7FBE2CC8FF43C1F67BF6C361678B5E90F4BA524FE8A4CAD6AB28183E6E
+CA6C9636E884845105595A2E40CDBE8D4807A81AF4DB77B31873FEB221BCADD4
+2C4669459704CB58A7BC230FC59F867EEADE660E49AEEDEEB042BA9A7DD8193E
+56C3A36A1F639F7EA512EE4BC6992F52C2FC82A890EFDA730105B0AF7B819295
+EE00B48F64C2B5BCB275B1DD62F289CDAD4AD9B7EF057684642FA6FA6322C277
+E779CAC36D78F7779CB6DE12638B3C65B70C6B5F8A8C6421A379719B8DD44973
+5F52856A4A29B2ED37F2B1FBE6EF4B79B7C0CD6395C756A00FACD763C235914F
+847D1D99831023CE1FD89EFEC83AA7E313131C0C197248605EF5BA773D0A4000
+72F607551A8EA6F0FF19441ACA179177D1FF7B423FEBDF58B0C19CAE3C10EEF6
+3538D8FC4762B77C5AA023A8186C40D0365A4487DC3564265B3DF908572DEAA2
+57E29EC669DD72974F806EFF5ECAFA9ADF1F9D2A63087FB7BBD100F0F81C6FFB
+B1EA1C9DD46548AEDD147EE64B1B4894972DAE1DC3E8569D6A3CEF9F9E46DEB7
+547E10BB2959D374A33E47C58F1B20419920AB485F166062FCCC08EB5CC9AC88
+F388F0C0155027B727729488E44CCABB7064A1432E179189C4627453C5231535
+47D1F2B8BA43069696830CBB6E5F9A135CF22D3D1FE490A3A63C088EA32FF444
+24A2427BBA63033DFE2E06DF8CE67949B6AB02F26335A376B57376814D2A7DE7
+64A4347577EBE9A6E33DD2FC214A09C6D889C8FFBF1D567032548851B8F97204
+49E215CC7D222F593E1EF1439ED60AD922D41E0E9EFB5CA48F2FEFF75AC5FEE7
+FB6676D8B8D4DB6885FBE8B61B586313E4DAFB09D94CEDC0507E93000104F3DD
+F83865A2C6F6A7DA8562BF86F5DB233CC9B53391273A1462E40876A8AC2B098A
+DBADD5A160DEAC061F86A5FCCAB495EF8A9D121AF07928EAFD56F618E4EAEA97
+CF89A3AFD406FC9DE1E9769C1E1EB83BB883786BC075EB5DA2692CD59C4DD7C1
+7FD2FF9B18AC740A390C1DB38670DEB18C67721A1DCD502FE7368F47DB4281D5
+459B3F020595FA3B10544AAE9EF786A0645FB7C9BB29D091E1432CD878A05918
+1665643005BFD9A4B0FFD347ADC84CE22D6F9AD4EDC05E8C7179DCB360AB57D1
+6ABCD200A4B4AD56825DC345984D9A3DE11CDA5E9EC1E5006EE4181E4EFE0846
+67D8C27BEE8F84A1E01947E945BBE988702DEB2240C4BED952E433E5305484E5
+71965D3DE95C4115FF78CE9EC18E323C599727C8B93CDFBCD1CCA780DB8C81ED
+C4B5E596E1603624308972FFAE9A57B0EDB51FDDB6E23EDE2946F61BEB241345
+2A192D8CAD53E823D687F9C64A70A4B4B703291FA6317C051DC6A44BCCE0288E
+3839D726A8F2E39BFF429865E95C726E808E02CD06F36C1CC9AC77999F8E28BF
+CE9D74B699CA982479E9D0DD98EAB24D29C981EF0349721D6819549A39413801
+F80182D567EE316E2F0AB208068E15693E4C399A381BF9BBA625E597E6E109B8
+16F3A84C8EC92F2ADE288821092A421A8D3B907048FE947230810F0777EE2542
+29A3485223FEA079B359034F70464DAD2F0E420271A4E0CCF57A0ABBC20AB327
+0CA71B292126D395E0D083B19BEC6B48A9DE2BF470C3D01A8C3F52075BD4BE02
+A0C518355814478202FD4762EC542F8E7B9B1F7824F0554660CEB83E35635E1E
+DF0D03C94C903ECB36B4948ED98B6324E0094EB1DF70863142D4ED3A932D7346
+39D69F8F044B6084482D7748C27328AFD24A3A70B99D1F7D32CB984488672254
+28B6A9E9DCA2C9FF6A1B311D72413404B3CE5428BDB7FF3C36357D7975184F56
+FA6B32AD54C37D0AF7576663AB1397B80D4E998F0B4C4F6D90B483029EF2EDA9
+D4C4204C1546EFF3100629453EAE01918D09FE104E626ABA38646F17B6A94CE8
+116BC7A8D9C319434CA5B830859B4164DFADF1D7C3ECA5C78D8DEA930EA4AC3F
+59DBBF3148C91A2E807FB934E3439D4F67C6DBBA9972854E6E3688E1E0A34B74
+482217CFE031CD7B5DFEF727C3EF8DAEEEDA08F4C90289E62FB2AF2357EB2E45
+4BC547980FD479101FFEEE477AAC6268DD659E8DD9E244676FD3C6909713B71A
+323B211E571BE711D103FA23B5B9AF077D84E2D20FEE805E81D20C03501F0F17
+C3B081946CD0FD577F00E50B76CC37CFA97A61B89C25DD43911B28857284BEBB
+5BEC61FFE3A14C64BC5425A7A82326617F6F1FA4FEAE56071C9F559F91568179
+46369B394A5CE96FB7420FF8AB7C61CB83492FA5AE4A4B0799578594C9EA67E1
+E54498AA5CD6ABA34AD3417F04F5D8D664A7EB39D41E2D17643CAEBBCCD9C38C
+C5C9541641A09335EFBCE0D276A54253EFD68141807A66F1DFEB4BEA5889FFA3
+4D20BD52012206A9F8D3E0F6AFC03FDBBDF3E51506EC6336E249CEFB571AB84C
+BDF8E471E3795C04E38A5306BA6D450D72E50910D1AC385BB06CCD4B8E433A32
+5A4B7FACC976BB31FCAA1E62DB2C4FE06DDDE7367930E336B49F47DAD91C8735
+9A35D80CA2E117E86B52E41E9278046ED923454989E48610ACB3B1663F197117
+52659A9D7BFA561C7ACE0771794FC778675F83C5EDCB132AF124C7E6540A140B
+E0A268836C73A3C746DC964E482E63C56C0D396515283970FBFF182F9F684FE2
+655FD8F5D057D22246DDC3FD11B77552DB4D90ADBAB77BBB1FB1592129DE0AEC
+F822D7D36E52BCDABBD560B403A5C56C5E1BE789C3AC049318C7FAC5E5861E42
+FD66C3C0F46361078D7E036281682BCE9BBF77983C93ECBBEBA9B359769CA442
+87FCA1B98F4EEC4935CC93B08AAADDF355C99816453587310F08C50B9BA3D107
+5388A1F3AED2AE32BEFADF0285DA90436D1D7EA85D7B9B6DF2AC4B778CFADFF6
+6EEE54D1A1C5DEE3CCA7EFF57A7C2931933CEED90CA26DAAB45E4388EC4DC366
+B9E88518D6CF094861D2A59282044CC06E63EFB390A6DF4BA5EAC7CE39E1EE03
+3D84099F5BE96612789AF3EDED07266EF10A0FC23EA1EA97040B6BAA63138B1A
+A9CB8F5DED781260962D7618EDB200C3ED976033E8967A8CC676E9C11F74BE34
+343A7ECE7EE97E8F76F7E95517A6D6163527406EF5A669535CB2BF4031F29046
+BB2D0FFFB47A576F5EAB1D00A582965C56F28C00B3BB7BE2CC8D8391F789070D
+775EB775437F0CD53DA840BB3575104B63E4B0BF14E3F14B320EDEF65FD4CAF5
+8596DA491BBCF3153DED3B718F833D106432DF8DB8B8E6B34D5308C9010A5DD0
+7E0E53260BB84BAB3EA748E8D72F75901604F80F4416920D69B4B983DCDB72C5
+E9928F01A4A85954FD74578AE336C782CDF81D1EB7EBCEBFBAE7ED8AB4862584
+397928F502D65139CCD582CF0723C5262EE54B9D2B8C39614652A8A90E1C3B65
+7D26B99DA298FE4B9A7E98848F619C9BB4FF9FD215B72F99506F06355B332689
+37D80AFD9F9ACD8172CDC51FCD3A759ACA0F7D4EBB07840840EE42C2D5B8B257
+2C6DB3A7657B75F2F0B9730A20112745703E2D0FE709436CA6A5F36F59E64D9E
+37C0A23D6D289E1AC1DA273872F5FC5C3DA2B127F078A4D7AB3FD7E124455817
+DDC796D54EF26A1FBFD539D3A21B86DD4477DA49213259ABB3FF241424F2BE5F
+89151E02FF87E0BEE26E85C0E518D8BE7CC9214B8E9A9EA1DBB49C6C212CCF08
+90C0F23E9858947EE344062EBD9C574979087439975EAD4E85CD7BFAD3C91CF1
+EFF577843AF1427D06CB2F3BB519ED1591974218C43F0D2038665F9E2E3960B7
+FE68CD3CB2DB6B36C7997C6B21EC11CF1DE049541001FFF26D14C255E3AE862C
+5A5701292FD2FB3D04523D6E2F3547923BB117718DFB6E6520F0D0B5450C695B
+8C9242CC8671B7284CB2E1E9EB097A3DB1B4D5E8EEB93B4DC7E38C0A10474665
+54DDCBAF079B92EA494F6FA75A84C5AAFE280284D0823D7C22249A21044BB0E6
+4062074ECD17B62E03EDF4945A294BFEFB51F5FD870D9D7230FC91B83C1D85A8
+86CDDF326FC90E04362145D6E8630C50594484FB829DA18F5C078F2EE67D2F2B
+08DFF39AE2E8C9741FA989AE494C7166F122D2C5F71B97C973B7CE8500E9F87E
+D59C30F2E99CC4D34713DAB680598F41955FBDC26A14CF1E73D6BD6B9AAC8D3B
+B998F2D0D647356CD236DEAD6561389ED3A6746221B0CF15D6648412B35A6B54
+6A0EF5BBB34AA376D9BAF025BFC650C1B74333CE85413D0EBB2F4D082A26A5BC
+3C0A25D2B12CB159F140E00E262F1CFECCB2C802FF94CD34DA0CE9B4B3830FB1
+DA85B9B670D5169928990A2E9CC869891CA2FFAD9774E6B92549644DAA5FE00C
+A5BE4F5FF91A0B6D2FD8F96121D766391EC4ED3E73DADD476B7DAE1A50AFCD98
+DB7E27E44D30416088D9BC07D4661D9ECEC0806830ABF14CE55AA3CA2DF66E8E
+748B8ED46466F1EEB072AC0674FE6FED231E0DDA59ED7C42BC05EF00E176050A
+C4834D893DE42474EA20DB1E25059E84BD137EF65A02CC295B0FFDE4CDE95879
+0FE88BDF2519ABAE7F8CC3E6386ED35E04A14F1E3861922645E3A3F43B48A5AA
+1999A5EFE192515FCC625C829FF5A7B337AA422F5E920545F9BB269C869A821D
+6C4C26DD2AE746EF0F0B4C1E7E9871ADB5270E1CA9BE28225F7A0370D4C52422
+E25263EE101C4EC1C7811B05AD42F364844A56BB91EE72FC8ED53CC6954D2BD6
+F945D739BE4C61E36143CE890FC0CBF2F610018D678ECF7CEAB18FF5A0E48F76
+FDE2463D40A99380D679B3B76D39C664F4992D23E5988B0D1AF33DFB04894016
+E852EFD1EFFE586153C0F31ADBDBDE3F73FB49C5EE64D0D02E1504248FAFAC3D
+903FD44679BB09C30288139B41B1E90A10139CA3172677250B16535A1F3E5E4B
+6F4264DE58896E66051FC677030A121C5A285C47B6129CB5A3998830CE070D21
+2F093FC1B44089F603A21F45F60960F134A47226874C737EF6C085634B0A4A66
+139420501351F737A73F39D960EC38420BE46E5B09D298E7C16B8E32F01507D4
+0141FC52DA1DE718D634AD9C8B00E46EEEF84356759324D2B9A3473C5DA38DE9
+E30182B87F91B6A7F7BACF29A93B44C879CCDEDB063F9D2E51E0F1FC9F018FE1
+2433D85AF24B55DE3A61C4D0A2DA4FDE933F5F6FDF17E9FA9932BFC46E2D71F6
+585EEF5B2E4E89E797A24B799D7F064DD1A817A53677FC9EB8CC3E7F93FE50E8
+D50E3191052943FD6C98B573BDD1F6D70349E1F8011599E3F8FDF1D6E80A710E
+51E434E85801617C6FD8ACCF1B77B4BFCCDD35CB4C0367F4EB4D8D9DE8284D5E
+B4F43E2F8320C2C5A9AE90ECBA7E65D377E91DB69FEF27069235366AD3E126C3
+A73CE97F4C90BA00D206FA012C327FD69EE59AF4470A315B1799CDC0539BF90E
+512C8FC3BEFE4D1B01D969EA9E3FEF976CD6E0FA4C9ECEC955B265CFD58AB8E5
+F7371E479279EE14B689269205C5B506940606CF3E24A1E7EFF3CA96ED30AD6D
+E243DE57690C3D69A401AB3315FA49E4BF4ACD4DD1CA39272533E82EFDD508E5
+1C2CD286CCC5DE1202C7C7F654521750632EB637F918667E2233A43DF75239EB
+F28F3129EB5DEE2FC5BFC331FF709B0FE9B327CBBCE98BCA2C861C6547E50407
+1218CEBE6EB5F9BABA4F2E11BCC6FB553A544A567B459E06375102C69F8018DF
+BA6A227CFB13E2D74E6A521E01B74F2963E9A0A1C9FD87A88EE6356E3BFABF55
+BABC751D2BF85E6712E8EF57914920775906662E4BA68FFA21AD422D34E15578
+43CA0568B431101A1194F8AB1EF25E886BFCDFC10F4A5EBD9530816548BC298E
+AE4A0B6B52B8B59C644C409B4191B6F4203F52314F2675F02AEB65A72C66E92A
+2AC703E15D8D381522C0AC30C165B822A9B8D18CAECC094EDE020756018DCF51
+D0701B507519C4270B70D8CE94B436F640C15872F9B5B77892AA3D110E4D6A65
+8F0815C61A5127BA25815378683F46E69E54A391A8675977E7DF9C2D4E6FA991
+9F029E50CC2F266B31EE9F9F24452D5838905F330CB7E416B8AF836C5AC26AB8
+BE2ECC6EA4BDAA08C30995709E225C21D35DB6369167602CBFA8DB2697635925
+969002CD1BEE745DA2E56C17EF3F0C05E3847147F86963C37A221C8827195A8A
+3D38993E4939AC915BFD9A212F5FF3F826F742B952018986F9FBDDB69C3AC65A
+845F7F33C55D4BE60A1817EBBCA7E1538E8087E1BD5C083A320D52953BE65F31
+E8339C612A510B59CE48D2EF7061560C4AD258E7DC59694493E3AC878246F37D
+6DE89253EBC8830C6B209E818213C4AC4CF1F391AD91D57BE76FB0E2924A1407
+E4A949C905E44F54EAED6419F13D59942C8079336A172D4758BEB5D3E786FB93
+3CBE4FD2EB53E4E1DAC34E821EB30FD44BC6CB4298242C38F848FC23AEDC9733
+52BE6F32E31E25F18301370F8936810B0566B664B042C7AE0D78ACF0A87E5BF6
+F9B66E358168B2CEA30DCD940074F3ADB793CDB136161FE2522905E87B8E463F
+95D4DAB7E14A3DF7BCCE8141C5A08FCFA2BCE9F2D1B05A7642E75877EB840149
+AAB007CD239AE47AD115929427717F219B0A8907F0EC79ADE1B901DAEE87A2F8
+39361DAB43DFFF69650F601B24061A9353CFD619FF9626F63275FD09A5B13BB4
+8B3379EC4D147C41197E8387FC04DA7BE409524CEF74EA91DC066808A7FD0EF3
+957A44E2503EDA67B1C61827479486134E922E560A673BF314D601C66003CD07
+55569085AFC8428389A140EB976CCFB8F29E27587E46C413ABE2EFB51AF5913F
+53EEB74063162E0BA1E24CEDCA320377D3E11BD374F0B44E132A5C35835B6E2C
+D32948EF9DC7931D104C1385709DA882DED6458319F21C2329938396BC074106
+CB9CFB9E0A915F8DBC8435F386917AC87A2BA45D857EC30ECA66FB4044F5439E
+CDD556B82A0E43418D179AD883C85AC276E1190CEC242E3E1D86E725ADC39E46
+BB6C47FE9E17E29F8EA81E870302A00D91434F3B7A05F243176E6EF1082541A1
+B9052191EE5C2B8E94A2E02DB65FC769653CA8D1C07A13CB853544AEC7FC35C5
+218DE3128AA31952DCE19C55C23FD69BCEA2C661F57B11B8F9E86BFA718D1521
+3346E78C701A5E51923D6D937E62FDE3669B214D240538F069A100A542720A86
+31DE88116DE775F7ACC2A49EA6C02A24408271A846990669F2AF60AFAB4C16F9
+7F4E88E917F0FFDCE68F22998AC0AF2A60A73258C3A4BBC42A2F918123128195
+196D0E150D79AC3CF4628503D1F3FC528265ED8324E56849A47B3B07C29940B9
+1BC270071E221D355EA51E9942D3BD7F99816304FFFC8F5B036C953B38759341
+ED5D7B9C8E6B70C409DD8362FD291201CC385E4A98D73E8518A4C0E544152563
+82032FBD2FCB6E403D34B85ED4053A8CB619BDD4DE001F4C3007B1F317579651
+E6D6662189CC2D95AB85D7473F65C5D7B4AC63B0FE928F3400035D5A9D443D0D
+F3532B99F3AC26CB25EA3CD64C341159061E02EFBC7C033C05CD919BBD827A6A
+BFCF3BD739E32E7FE909AEE068D50FAC33605FFF98C7D0115FB860178FD03DB9
+7985B78E0AC21F2EA065FA841F5928FB85163B2E2D8F850DC7EE313912C45C28
+2783F6762C67882EFEDDC7E7567F91C16B16FD8D5A1ABF35B5586307701B91AD
+54984598F2AD46FEE3D68A2731BEAA754C8E730FE0E84952EF77930E4118F8D7
+2F3AD7552C48C6D71102367AF3DD19DD76FA71928B63D7918C3DEB88840FEB80
+D288565525B144453F03FD08340E2DD4777484B552E241EB0180BF47E9A19BCD
+086D89AC4DC263E273CB0F1D2E2082E023038DA303AB252AA63564D26ED8721F
+8EA7AB22FEE60F04C671961BD11F2080F30456DFBBC89894FF05BC9517EB869B
+40A4E58290546539BFDB4BDBB450AA7A70D019BC5A39236EFEA6F93A9FBCB8C9
+7EC6DC89C5F27EF258F0D533FE882202FB786D0CE1A9D7D0CD18CEC7826291BF
+1D3DF573690386F2ADABAEEA8E83960631A33AA07BB7B4970477C46E92D30D75
+6E9F27887A8D1CE84F20F88DB678A0D65A53FCC7638BC932CBB2715639B5786C
+3E4C88CCFE8F7D758EB497C82FB73635E828F165B2BA010AF65D973D0FF3CBD4
+71CCEC76F7E415FE5C72FDF6E2D511B5105874E9B69AD641302FD432DAFC4D80
+6B6CD4D1D5B658D4A984B34A2666ED8A74B8A070D33AD7A0E411C644BBD42FFE
+AA7FE68F9E5EEA0521867422FD6BE49B18BF8AC265E40049F851DBEA997C34DF
+3CA77697F5D48FE22C64C303D089E0B928AC2712EDD68A0EDC595FAF83B5D4E0
+28EFCAFA72269A4FB0CCAEBFECEDCE66AC7D1FEB9DBA1FC28C33DB8B89D5CF97
+932939B64B63070D7C293EF846EB7DE76B5F06FF4DB59278DA0F1111FF97FD5D
+25291C63D01506FB143DD9677CB27DD0364FB1D756AADB0D6DF4816B0B1118F6
+340C38E4FBCC4C393F928D47585ECEEF5A7F8A15FBBE393029B12DE7E9E4D781
+71AC2DFC33FD7D59FD80DC1A634C5D99A068803C674B94D56D1520BD4B21FFEF
+E020A7B28948FC4534240839D1C825B4E6C4C0844F057A38EE984B7E5B9AD8BA
+533B9492E64A43E7A04EEE064DA56DA3E08747D5705F44F7156AD5C65653164A
+82150DE6717C614AE1F722D571745119BCDF5B8F40EBE4B73D8CA0A567EC9991
+9DEE71B60A72734E0E19C41457BC2CBF08FBA1B4E045DB90FC51E874B64D3ED7
+FB7487F36D12E8D3D95FE7D078976AD534AB074FFE6BC8279006DAB8CA55DBC7
+89A13800F9DAC874BC74E1C6A6E3A0318AC1656DA73FCC4F5A8727DC1A0F9595
+5EC9B02BC987B9C37CDCB45F921306EA22788C3930E3BD2C5E91C9FA8FCB2F52
+30BE9FDA1E9F58620F5D95AF91C389A6ACA28BDEE8BEFEB80DF279D17269CCD0
+279CD36DB612D1D0DB9F3B398C04A1D39591F3660486759C2C2B9EB9393BA61A
+81B2DD33CEEF70E02173165D6C15FD36D3F40B5D7244F29D3C57415F60F19698
+4BB27B6B6DA60E7BDA42F2E66AAA8E40FBF06465B80B4AE49CF3607C79472706
+C29322ACCD0D0151F3D279ADD31AD7FFE9D694169DAA60CE6A67642202BCDCDA
+6E29C8BD1D9705034FC1680ED7D7F44621EB918EB0F3233C0AF28372ECBBA672
+059017C88511FBF0EA1F3B7DD84411D019D17A915EE05E68D79DFC4F03DB59A5
+ECB39748A437A5882EBFC1574027684145EE9264D62757CF038C0AC868A13319
+EE14856DEE3979D82F249869C7A505A4B7AAD1BD0599CF398A32AFF95D3B88AA
+12974DFA24CEF4D673E9BC4B9FB36398CA44F2B9FF23AA192D56E35056C2177A
+ED4A6B1660520A05C01651D10A37748E1483DBB6FE13FD3EEBC1FAA34349AD82
+06111CAE95F2013F111D8FE902B996C77A1BE211C2B6F9BC4DF73FB024B4D2E1
+CDE9A94BFA9727D95619B30F332C018B528A8F292A142BD5CFB53AF214E36C08
+E986347EFFCC3C3C885857D04A85E2514063067F3141BD86B3452A1A2B495372
+EAE088FC784DBCA46CC744D9947BC5A8BF354F2C630BECA351DE6A2D47B30F80
+DDA9ADA37E50B1816F739DB303627C79CE5DFAC2E94A9CF79957C0CA9B8566BD
+892431AE4F23AF6056C7D8F184818C9D4A9E57FB1CEA8D74CCCBD38E5D7E1BC2
+4551ECC268BDCDA07E675C206B2DCC7E5C7DAE865A4363D4122848B46F198507
+7E166303E4F30C50F0061F6EF316AC7EC5FF61662F088696E1795D75591E6CB7
+0ED973CED00B0D058E9622043AF118ABE8C2B757BA3A1A4D5CE2E6C06A2EB582
+B99ECB6C765811568EC35E38B81523CCBFF8327E2CEDBE765C18A70B9E054453
+1EA6E3E33B9975A49873F3E1CD0438BB53F056254E7051938D08A8173AB22AB0
+9B42C13A84F330DB43CAB3AB877A66C3F2A0295E9D8B6292EAB9546F02FABD59
+13A88D7CA669122B532C906C4081988C0BF556AF1991E1E4C9B2D6B3BC798B49
+A8A6943A242A0CDFC03B498F8F495661C0B32ADAA6C3CEA8C1CCD1E84BC3D174
+425A71F8A84A1F806489E2C926CF032CF157A1CFF0498121BB3A6DE04DC400EC
+3D98FC20A2A20C110DB95B335C4E1682515292A12C8415E323EBFA11551F2B7E
+ADBB7682960FA594CBE077E1EB10AA0158273659E8444562093B5A4C28A39E11
+362611D6907C0B34DC4C958DEF21D232E2D01DE7F9C649C45ED941A8108AE2D9
+775DDD587DDC8CA72A97C3E2E713DDECB09C09F67026284E674A5EF85DE699E5
+7258BF1AA40FE374FF2363847DD0953A20259C7C8191E0FE0A391FFD06DF9051
+3FA61907BA4F984D7089F1329579927E64A8076B5DC08BE067E449948BF1EC70
+03AED3DFBBE20C2B23CB113E3F4973DB01433A72E68335BCEDA94CFC7239E7CA
+55939B5EC58B380871397F1F13D7A640D8FC6924AD183ADAFC447CDB9A6CB63E
+BCCFE5C11E884CABA6261D5605CDA3EDE239737490593E4E4CBDADA0182C8362
+F27FDE36EFC56AC691376AEC6F3204D96AEE953AD141629A31132296FF60ED96
+0D54E153FFB5117845FCB6EA3B1D71FF4328CFA0972B2E3AD0B1430E33F6AF44
+5C12F58959EC611A449923604D95883E378D2DFDA4D2B2D43BC9B4F6D1538350
+D9FB3E6B5445C696D916E93A1FFEBF2C59973A523F8972BD8FD20E160AFEF38B
+E355E2FBDC98F0971A4D04298C47C6781201EA4F16964E6C441331193383C6BF
+B3109040BFEBFD7217655899FFBC57FFAC3778729924CF9C9504A25823CFEB22
+DE375E4AB029F99B91B037A1F956F4CB14E973D5847A3D1F15F400E54730E0AE
+C9C15DD4322AF9DDA0CE77074EBE320435B9D82BD73040E5150DF87AE690115C
+AEF26E5EB2612FD51F7761BD894DC139E79C7952BC319E364BC09825CADF4EDF
+129D8F7B6D819BE5BCD1C223DBCA46785DB5A2DBF04FB42D451691B25F647B1F
+3595EC997C631B70AE41317E8F80394B768C58E64CFC5F97417F88C9DDB98CAD
+9F53DEAF7B225CC6DA84B79B21C1C4810D90C1871EE2B20E0D0B4783F20EE925
+0E91C1C8671B97FA9E248E8F03B15EDE15F4BA072879E90AA8CAED46886DE114
+D19E0A1BE52572FDA487FC97405B4571CD2A48B6135D6EF8C22420AE5C7C9B89
+84D96A38FE9067CB6CBC1826C490675DCA6EBC3AFE89FFEDCBB7C83F92D03A32
+30C76AFAA57B6F0854E3F4327BF892F0C4985DBDF87E476DB2DD76A5A235A7E4
+E750171DB3F4C945A6ED52112B1FB818CC513DF536B7DE1C16685B03589B3D03
+DC7056DD140F39C2D21DF867BC23237F697B6CFC080D59239AB465FE688461F2
+EA9F0350D62450EF80C454227DB6D60CC4A1156A2C3983503EC4C020B8072F7D
+7D471D3D288CA1A1497EEFB7C826FA93CE0A31B1AE583E75E9A97E84CF0F39F5
+27694E23AD868C04440B4B3B674246712D89752365E32A6FD7DD024B6B2E9E09
+420420996C797C228DBBA33529D256565B4C479C9A4826943B79494816FE9AB1
+7A7CF2E0C3110142D10076589753AB96EB827399232E10EFCF1303500DAD9F9A
+050FF4D2A7BE882CEC519E57C44AB791605BBD1CF9EB46F588AE695026ADD366
+ABA1988D0F692BD8ADA131CD77A6A1E3B44536DC67A00E6FAD10A2807F3B4A76
+7AE8F7C5CE76A10958CE05FEE5A6B9DF29540306704239A72166F38FB34ABD12
+189B5395FAC0CFBB0B9B743486E0A3E36103A60DA0CC52D78D3A6E646F04BB5D
+533B1371C2C7BFEDB46DCDA8E7CF7A00FC29C1BA4F0554FCD1701E0FB3614C8C
+E63A351C080E03B7779FF122014A34B32EE0D4557F0C3AB0EDB23EB6ED0179DE
+34B1440C36BA2B40CB06D26DEDE8C2EF827E10BAFDB6800B60963FC5509333D4
+C6AEA8BDD3102EF19E1DCACE8402DB0E98343CBDDD6BCE24D2D9303BA4AD16B8
+EE56A24D80F464EB153987368F7E899F51FB67923DE8EE2F20D6D235E28D94B9
+8456BDEF0959A3B015462E79AB7B84ECF0299444CE4DEB3C8EE7E2BD23CA59BE
+49E6E2C27C0E787376FB5F9524441F803ED572ED7A1321E3C775D8890EFB4A6F
+A2AAD2B92BAAF651D09E1C7B3059AAB87EA01E1EA8CD7206186202B9115B13E6
+7995708F70E72A38BB9FBC9BAF38077D3AAB047A7B469BDC8CBC1D2DF9AA8492
+74D52FF2AF461CF685C751EC27E643EE8206CFAA38B9EE236E051C1847D58D33
+E2801A3F1DA3205E8F383832356366C6D83A22ED1051FB93AA1944A220FA05D1
+4D5FB1A3D14781160712140F698CB99C7EC5E4EA8F3C8DA526A7F92BACC1C67D
+E04F1A5B080D43B0B8589FE343656B8B84E676ABDC34FD93E24F6D1A0EE4685F
+DE701BFE614C49EE893F9E2D7DA3F6E3110C55324A3858E9406D1F098D53D65C
+C5CFD7A5B8FAD2EEA008188F3CDCB6A3029FCE3E1FB6B7363E610DE04FF30604
+6262C8B4EF036C5BCC2FA76C09DC2106411E40E8382671BEAD16EC56C6EB5A5B
+FF2650A38302C5E0A9E5B0456659225818878FD550DEA6D1C8704C6020D2A9A2
+9728DAC36B72ACF23991C122E9EA0E52DBBD639431A0C4375225D16C7D1C226A
+B09C2CD2A6FE67209668B9B876D777B86F68C3AE872EFECD1730456F168E48D7
+23E7A26B783AFA95962E94AEDB1B158DC3DC3A6DA5C17BEA6F42C7D4D5A33206
+32A767AC088B9BE230BF67353507449272A35F18937656529A7D701C5D6ED11A
+30391309A4FCCD5E7530BFDB769C2F3FBA44C27FF56FFC8BE6BCB316DBBD1B69
+85A75C6726A9C0A63AAC84036265EB952556A0610C2832FD04636488B89E2C02
+528754DA559FBF275565644798D4F11E33892AFA540C1F9573DB2DEC7B2832A0
+A538E9903EC4A97AE8ECE9F42B72EEC9B4B5560D1BA7248993C46DA23A3929C0
+EB18C32E4ADB24350F10F1B703A93BAE3B82D7CB66E0FE460DFE1C97FA5FB799
+74E827C03981CB1175E54682465C5946442B9C2ED1E5AE3430D7E95680D69315
+0603E5B2994FA3666DDB44CD35E5C8116CF2F5DDA46C61BD309353D3D89BF459
+7DEDC647A51267BFF24F029F7C34F4B82B9AA619B1B23A678E90003B710D801D
+FD60E1ED36
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+cleartomark
+{restore}if
+%%EndFont
+%%BeginFont: CMTT12
+%!PS-AdobeFont-1.0: CMTT12 003.002
+%%Title: CMTT12
+%Version: 003.002
+%%CreationDate: Mon Jul 13 16:17:00 2009
+%%Creator: David M. Jones
+%Copyright: Copyright (c) 1997, 2009 American Mathematical Society
+%Copyright: (<http://www.ams.org>), with Reserved Font Name CMTT12.
+% This Font Software is licensed under the SIL Open Font License, Version 1.1.
+% This license is in the accompanying file OFL.txt, and is also
+% available with a FAQ at: http://scripts.sil.org/OFL.
+%%EndComments
+FontDirectory/CMTT12 known{/CMTT12 findfont dup/UniqueID known{dup
+/UniqueID get 5000833 eq exch/FontType get 1 eq and}{pop false}ifelse
+{save true}{false}ifelse}{false}ifelse
+11 dict begin
+/FontType 1 def
+/FontMatrix [0.001 0 0 0.001 0 0 ]readonly def
+/FontName /CMTT12 def
+/FontBBox {-1 -234 524 695 }readonly def
+/UniqueID 5000833 def
+/PaintType 0 def
+/FontInfo 9 dict dup begin
+/version (003.002) readonly def
+/Notice (Copyright \050c\051 1997, 2009 American Mathematical Society \050<http://www.ams.org>\051, with Reserved Font Name CMTT12.) readonly def
+/FullName (CMTT12) readonly def
+/FamilyName (Computer Modern) readonly def
+/Weight (Medium) readonly def
+/ItalicAngle 0 def
+/isFixedPitch true def
+/UnderlinePosition -100 def
+/UnderlineThickness 50 def
+end readonly def
+/Encoding 256 array
+0 1 255 {1 index exch /.notdef put} for
+dup 97 /a put
+dup 107 /k put
+dup 115 /s put
+readonly def
+currentdict end
+currentfile eexec
+D9D66F633B846AB284BCF8B0411B772DE5CE32340DC6F28AF40857E4451976E7
+5182433CF9F333A38BD841C0D4E68BF9E012EB32A8FFB76B5816306B5EDF7C99
+8B3A16D9B4BC056662E32C7CD0123DFAEB734C7532E64BBFBF5A60336E646716
+EFB852C877F440D329172C71F1E5D59CE9473C26B8AEF7AD68EF0727B6EC2E0C
+02CE8D8B07183838330C0284BD419CBDAE42B141D3D4BE492473F240CEED931D
+46E9F999C5CB3235E2C6DAAA2C0169E1991BEAEA0D704BF49CEA3E98E8C2361A
+4B60D020D325E4C2450F3BCF59223103D20DB6943DE1B57D05DA0555DF933BB0
+7B42D264831116C06C79335D519461E7B0E870A6715E3D74A08D1BCF86E3BCC3
+A43FC6BAD1C68BD9D4AFCC06D845FD1F1E70D7A47F0BBCAECE8396E04591E5E3
+4797F646AFEEB7DB548183F0B74C9BB6BA2AA04E7F5950EC8AE97C741D4B2C5C
+A8E7A8DF5A36A30B5A7592D95E1DBC63EF33C92FE459792CED29E2B8B6919251
+75EF62089BD7D44A6E1F9B62EC802FBE62B821DA1C3B2DDED45D27964AD29ED0
+9FB7868F3A8FEADA87A8E42D52C1EB7229D7C79B60BDA263F2BDB025AE14A507
+098FA274206BACFB4A0A7257D5998EE8F0FDCA79CB61DD1FC59DADD11E16BF02
+ECDFD706CDA1E72054D4EB55AF7BA9F19955886BC0BD6E0E3FE3769C94AF3581
+DFB2BCD67FE2892AF07E858A01280194D8DD7332B3D0A585C87FAB056C2EAA9B
+5AD48D1C9F00CEF8EF0D1408DBE1C03D04B231D7B8D5D998FE0CD7EE19828EF2
+F988EBF6DDBFEE00F04A4A1F4E1A55DED7EF3AACEAB5005F1962C724A017C914
+2936E2E0DF26A55ACD7DD836C6035CBF07981C1BCE3615064F0540A1034C69B4
+E3908E76EF8925D486DF0B4A8E1F02D8AA99585A7C31847AB9382F83880C1C21
+C496AB2DF8E7BD4643B28B704B5F6B53429D3EE940A79135F5BF0396E5B46F23
+42AF406C26D12BEA7A41F332AEB75DF43C15334CF4651A99F602036946B1B91D
+4BB0D2E51C20216D892C8173241AC8FD15A37C3CDD8AB4FB67D8565AFA61C068
+95E3D6E46D7C09BBD09428207D506AD43C693F3C3D787F6A5C39084AE45E81C9
+830900DB50DAD10A17E118FB5E9680B5194716A788FF7514A1167DD1A305FE62
+C7DBA30E569DD3565AC9C80B112E221E3878624A015F6224597D02C9A07B368C
+F9FDC817988D12CB00ABFAB288C20A59AE40E7A75C235938C47F77261BED14BB
+6574F633BC4DE9E8AEABC46E0965AD69748C315B6DB5F264D5E7635BE37E23FB
+873E2488086BA27275142C774A4A241F92E8ACFF0F25E81E2565642D88F77DE7
+03BCCBC437BB1C9EDA969E92CF3423203EEDE585A9371A00BC54DD695BA12EC2
+461AD673A27B24AD38903C82D020A8B235845E40A00CEE82BF1B187AE84E847D
+37D5098039C3B116C213771F69B63DC822F4B45806D038047C030721213051F4
+BD1EF230F86B915B67CC9624DB534F55A1B8739165AB9AB9D76473752C628AA5
+4FE057ABDE42A685535EDF4C814CF00F53E7B520B470A6CAC4480488D82E80AF
+DA5B7A5FC15095787538038AA94AF56018AD0AA7573CFB6DA444E30A99713E4B
+07B1CCBC5DF5779110370C81EC980C9555DEDEDE7B655475DE867CF94E57598F
+5C70B80B05C94C00A2E8B33EEF429E909AA1BB0DD1EDC8E27E735B41BE8D7708
+F9E444DD44F344736EFB0DE4323B4626237B53275CEE1DBE65396BDA86047C81
+25AC606422F5D16179F6EBD2E6B39F838A5171DAC344BFAF5A31A3EC688D5BE9
+FEAFCC0CC06D38DABCB1982B30CC7CF3A0197D82D7CE414156525C452B5A6A0C
+29A5287C47E4ECD1DAEC9237FBE4DAE723F7256D3BC1BC8FC9281A716C93831D
+BB09ED556A845A038BF82B25CF4B2769836EDC4D3BB01B2ED52065564912A8AB
+0B1FE169ECEEEF8D6BE91FFDF1DD67E6E969EC3B6C9EB47BEC81A34CB840F348
+D49AFB71BD8D9CEF11019F6CFEA9C6E179634796515B45211F19EE2917F1CCB5
+FF91F8329B6F04A62C0A430B8794C27D87CF0BFFEA9F5A96CB9D447D6B4FBB42
+1BD54CA909D19569F563701215AAF75F8C1B61F072C3DB38D9666F6D635F8FFB
+4C6BB723EF2094DF5F6D9C2E1933F72DDA6DA9A6E14AF2D956D5135537EF0AFA
+5085D6B9C6CB7B67FA4247FE3D193BE96B85A35ED1313B2255576490F2E0F5CC
+3CAC51FB07EBC0C72FE58C577017429AC0D8B80A21DB1ADB042866C59D1D2947
+146808980B0BF886D3CBD5D883690698
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+cleartomark
+{restore}if
+%%EndFont
+%%BeginFont: CMR17
+%!PS-AdobeFont-1.0: CMR17 003.002
+%%Title: CMR17
+%Version: 003.002
+%%CreationDate: Mon Jul 13 16:17:00 2009
+%%Creator: David M. Jones
+%Copyright: Copyright (c) 1997, 2009 American Mathematical Society
+%Copyright: (<http://www.ams.org>), with Reserved Font Name CMR17.
+% This Font Software is licensed under the SIL Open Font License, Version 1.1.
+% This license is in the accompanying file OFL.txt, and is also
+% available with a FAQ at: http://scripts.sil.org/OFL.
+%%EndComments
+FontDirectory/CMR17 known{/CMR17 findfont dup/UniqueID known{dup
+/UniqueID get 5000795 eq exch/FontType get 1 eq and}{pop false}ifelse
+{save true}{false}ifelse}{false}ifelse
+11 dict begin
+/FontType 1 def
+/FontMatrix [0.001 0 0 0.001 0 0 ]readonly def
+/FontName /CMR17 def
+/FontBBox {-33 -250 945 749 }readonly def
+/UniqueID 5000795 def
+/PaintType 0 def
+/FontInfo 9 dict dup begin
+/version (003.002) readonly def
+/Notice (Copyright \050c\051 1997, 2009 American Mathematical Society \050<http://www.ams.org>\051, with Reserved Font Name CMR17.) readonly def
+/FullName (CMR17) readonly def
+/FamilyName (Computer Modern) readonly def
+/Weight (Medium) readonly def
+/ItalicAngle 0 def
+/isFixedPitch false def
+/UnderlinePosition -100 def
+/UnderlineThickness 50 def
+end readonly def
+/Encoding 256 array
+0 1 255 {1 index exch /.notdef put} for
+dup 65 /A put
+dup 73 /I put
+dup 80 /P put
+dup 83 /S put
+dup 97 /a put
+dup 98 /b put
+dup 99 /c put
+dup 101 /e put
+dup 102 /f put
+dup 103 /g put
+dup 104 /h put
+dup 105 /i put
+dup 107 /k put
+dup 108 /l put
+dup 109 /m put
+dup 110 /n put
+dup 111 /o put
+dup 114 /r put
+dup 115 /s put
+dup 116 /t put
+dup 118 /v put
+dup 121 /y put
+readonly def
+currentdict end
+currentfile eexec
+D9D66F633B846AB284BCF8B0411B772DE5CE3DD325E55798292D7BD972BD75FA
+0E079529AF9C82DF72F64195C9C210DCE34528F540DA1FFD7BEBB9B40787BA93
+51BBFB7CFC5F9152D1E5BB0AD8D016C6CFA4EB41B3C51D091C2D5440E67CFD71
+7C56816B03B901BF4A25A07175380E50A213F877C44778B3C5AADBCC86D6E551
+E6AF364B0BFCAAD22D8D558C5C81A7D425A1629DD5182206742D1D082A12F078
+0FD4F5F6D3129FCFFF1F4A912B0A7DEC8D33A57B5AE0328EF9D57ADDAC543273
+C01924195A181D03F5054A93B71E5065F8D92FE23794D2DB9D6295729076BD8E
+CBC0F4C1BE246922D2482233846A96D867B66D9CF25A1DB661141D36B8506E61
+A022F9EF8BC1F2F674EDF1533E67A78CA29A612AA9268E113C5EB84DA56CEDFC
+D7A111403E6E2A8682DB04368889747E003A124395ECF0C7FC81218552EE7C6F
+60BCFB4120893528670D0E8A4117EA5676915E3591AE5652D003EEF67818A41A
+8882E102AEEEBECBD15DCF632ED246A6A58B6A7780DB6F1F9AE3FDAC8344585D
+E104F2BA2DF06D68945889A2A3B6C262FB53FC670BC5EB7C56887FBFB7AA7026
+84115872CFB0652C6BB330447AFF8F0F665EFD6A41D6DB6877B08052F402448F
+CB21C26BDC900636C99CA347B79AA73AFCDE9762A992CA3DDF7279E5C50F453F
+52098529850AFB1F501A442D6A02E0A2896F81C8AC735AF1E7EE47208B4CC944
+649DF6802EEE813F1456205C6126D7D0B1821AB62DD65468F3A30575E491623E
+0054E2E680E4402E1C8C538DA389B81603BE88D6DC287A076F92B224CD58A0AC
+44B8D490197341808DEF243660971F444A560C747BC6F52707ED42A99736ECCF
+EBCB694A561C3A70A319D204CD40D402FBF937A00BBCBE85DD26C9E3F91B7D10
+D85B9D314BC3AAD5A58B107F5F341BE2C53490924142566417D6BE03BB4977FA
+6635EA58DEB9508E40B9FFAC75FF44C683680CF242FE210519C9BF92483B0A54
+83F48341318BE16D2F8C988FE3DB2E7914581F579D5E323148A31E4ED03BC24B
+C990372DF5F3B0C5FA32EB2CA4FA0EA33316569133C87697BAA2292E685C26CC
+F8CD40A2366E60B47D47CC9D0FA29D2836011376A07F78BA7664DE96E775CF45
+9BC91559A063073A4C2FAAD0893C517C5C46A1425D07EDCC2B57162E3A45103E
+FF26A2D2F98B194256A4B052AAFCC08965A50EECD7B9E8F35AFDF7B6568B3983
+8030655E7C2BEC961A2F20539D617626E8454E3FE9EBD3EFCEF7F63498441DAE
+16CB509BF239FBBE25EFEF07A3E16C9C71EB8D9DCB8403916FB40FD7F4E1A52F
+72F2DFF94FD14D7D49FE775390C17C37C1BA0CAF35CF75D682B7833A83224158
+D54CE962CFBAFB1B2CA50B60CBEB1F8F58DDB2F5470C355ED9632342D9382AE4
+5D33BCA3A0A25EE9E5B39BE5370E7F20684C664EDB48E7973FEDAD9676F9EE8F
+701CD4D8CC9B9EBC06E8C86EB88AD56E15CEBB8E1930E8F711CB6E01D5D14967
+D7E6C1BDDDE2C4D00384EF4CB02877DECC27AD53FC981338977BA0CC0257CF7D
+B42E9BC91AF45D9722461EC3CD9DEAA8011FB855FE14B74BE0A102008EACA2B6
+0E287BB4F466FBFDD6E65A5262B9322F95E20DAB875A10A84572D982E6FC7ACA
+23C0C37E5EB47B8E69C07507B53CDD98CD1B6445E1699CF35B3DA3E0DC56BB76
+F997C40E2ECE47DBDDB707EB527055960113F2DABC87FD9EC7D0AB36B400CE33
+0D54D4F197B2830B43DF0AA802DFB2BF747A4C44B31FB708B2C8BBE1955A6A28
+379C91AA4CC065A50098AEC0B837E180B76801865A43C74859DF18FE1DA1483B
+C17843BF1C7E1B11A8C6D8BB8CDB1D552FE6A1FD0A696A8F7405F2320F8621EA
+17C1A32056C45A9ED35D2BD12D02D8B26489CAAEBF4EF33B66FF4BD9B46E4823
+6395831A8F3366EEA0D0EA88D612DEBF63DA7FAA24DA979ACC1A52544BCAA007
+6C39946BEA6076ACF45722B2B8E4D0823EA2D12B14A98367BB0433A21FBD9F94
+18DF298C56F67ABC9DB1868D431A854DBEDF8E1F49E359A545C75A7AA1FA4D5A
+50F1EE6B45FC68ABF65FFF257964E4E50D8B0C1FAF498DFC554073697C2F219D
+4A68DA9E873B270B9C56F0DDBC9927ADAF9203FD684DE615F68C24ACFFB44690
+89C0D5322049FA69E7FD00EFC9C9B2BD177B5B339907F81C31496662847BEC1E
+56B5DCDF4FE618970F4268F475B2EF7E0F28CC986DDF098E59DDAD818649CC35
+4080C0867A884B8177A6880F06F1E5CC130AB4243EF8DD8032FCF390765BAB1C
+1F0C9728EEE261A09F8C1D7ABC7A6B1550551BE2A7D19D45B656650DB00B3A5E
+B3E1186043E173BB4DD5EFFB379654F88146382AE3F7196F099BDCD6D245FB6B
+AA2FA9B6CFBC9F0CD52798DDF2F13874BDE5B124DFFE0DD93E24C9DAEAE4C3BB
+71A9A13AE2860F620B4EC789F95221015D9C510CB4AC775EF69DB9E32E59C896
+1AF82C9F0DCDB4812A37761859A3D3BA0CA57F244489C78065346FFA78F5F7C8
+0B2E8CBA9EE62FF5C27369D0BCD52857D40F1FB8F8A1441B83565A4150AB1945
+0B54D6E49F66389E43096269EF5CDD39526A288C0CB81E324E75D326EC9A182F
+2CD966368CE300B41873B08E17C3E6BB51804460D2562AF5A12339966F44CD09
+114C6809AF246B5BA6937631842CB9417781A58944B6BA4FCF961465C208957C
+81A662D560D0F81BD3CB53C06B6D979F04F6121CCFD5D52702CBF6C70C01EDBF
+2040AAB9CB144321E68C4010E0E98CCA2603EB55DD62E881DB621C37EA4108D1
+528ECC7A0121B57C6BB1E26F8AE7161ABA7E88256D2D6A8B7CDE2E730D137493
+3FF628EF6030DD2330D747FABBA03B44CF600418C245C388F33EC5559E7313BC
+4B530C4FC12530D38B27D6408548F25FC084DD0523B27D29D6518D3115AE7755
+37162CFD4CF528214466FE525B13782F9C3CD78F3D6C7423E63A134C0A371F15
+10F4ECE1D482C647B563D3D15586F80BD9DF7381BD53927825D5AEAF762E1CDC
+3BD184F345029A95B3AD4D1B66E79AB4F0809418C0CFD4D503457A190D02F134
+3F57FC04FF655AEEB783D6791E4EC300755861837D3D50649F6B7F60766211B3
+8148F8E575E28D6C2DE75B15E722ABFC6DAADAE53D89FD295352781DCC2CFF6D
+982F6DB778D6FCBF1B7BDCB53F3A23AE6EB499BBFA96E8BE04C3C8E5B660EF24
+01EB842DAEBE979F2C2DB72AAB4D21627063B1D3C6CD40944E4CB81655698FBA
+A343766CB22E392E5DAE01DB33A00918D6DAA07F2F38B336A3C5DF3708865E75
+0DE04D3AFBCA27A249E97377D5785B4E28EE0E93F7D353619C200DB967372ED2
+153BF8BE945474266EB2FD30F80042A11B7E3586DE4AB1FBD4A741D36DE583E9
+1CA25DA345520AA60634EC819E7EB493CDB128BBADEC3890F055455F060A1100
+D5A41D7B180027E08AD6EE7E393DB9F83799544404FE397F557773BE6A130541
+157C0EB37E036C94825B5090EF85F8B4E3DB72895D86687758C20EDEBD6D1079
+196E9949DC6ED0113571C70B150B37E446E319EC54D44CC0CF6A14760953DF4A
+D0E1F33A54D240E236AB63B35BA8E071D77776BE5B9312245F2C6E4FDB4312A0
+0D9CF723E7D9A3D8546C4739C00C301A89ABA60A02757AB1A0AC40B24CE6CF12
+5850485B11E16646D7150795EABAEB08364A53161111F46A7BC3423A0D3BEB69
+BF15726C1F8363914945DEEB29CB8766328318AF3B344FD6D77BBB92BD7FD161
+93356493D4D8252AD125708D47C124E44232FB2BF7DD75F87889496DCDB75D03
+F58A57D4122CFC194B75A9E9C4789C9A33C0435FB4ADA16AD4A6191928D1663D
+05FB8152C0AA176FBA4755205F8A66713404787070757D3721ED6E6D55A59DF0
+C92BA8F05EC7BE05D0A2E66DE85E75373483EA3BBEE0F0DFC7E2FA5FBAFAB118
+058D095AA71FDFC8AF37E5A98406B64E58BF476C6926725D7EF3C2346CE3F662
+1E5A4A18D966479A37070859014719456EA2C7F23E68E1AB2F25ED3A0C00A18C
+DD403506923BC983F89CCA125780DC76A411472E38173BC0DD4CDA7B43E13419
+B5AB0B9A35E77C58BBA12AA4F5C7EBF8A29996B059E4FAE6809565570442AEE5
+D56CBF4407E1CD9A4398B1F3ADFF023F64B230E3D29F526B62D964F5C8DF801F
+E94295AD85BD9E1C18E6327977260A871E921C0745CA06A263E335E344686E7D
+D6FE3ADB4EE0A7E462F3C00873C3E95D183CCEC71C0E5DC1D2FB310B28FC3611
+67C23DE336C374F72368F4973052B48E39969305791C986E6EE35D0350571860
+3A8ED849712CF21AEF444BA390644E8646CCA16559BA4642A5800827A0DDC453
+7CA0818BC47DF6348A5209A2F0A10CA39840CE6346E89CA0E842BE8692DEF25C
+4623A5A0E0B98708B9492E9F564324BB3872D6B953CA59E9F393C477E2AB85EC
+C557D333E88C111CF995FB79D9432DC94C2BDB3BFEE13C0D7D1BB920DAFA6158
+8548447AFC65CD5515D5021E0ED7D213B0C08C35BB424AA91885CA023D7AF767
+B83E619B15DFEF5588D2F0564296E14B5A6ACE03751E1016105C51BE76EA5ADB
+4167BAED2A8899031FD7BA05C410ADA25ADD94A787EED1A7AE133B0568B1DBA5
+44B41BE013782CFCA3D81E8E8210DD506ADFCE7DC7E792EFEF438221164A7D1B
+5E7089F476240C5F94988F081943F24DBF7CC3D1E58CB89E1C0C1624682CC3D8
+C95815ECC9183A4B3E353C7F920B7E64086E01672DAA7C8A81319BAA03C1FBB7
+8E5E84CC5BAE0E107754794C755B7AF00953504094E1A9DF357D51B578259613
+8D26F0BA26AAC459BBEEB90BCC98B865EDD26AA4DF533D6624EDAC762C446B6F
+CF9F86DD2D8989D4655775E662B93BF51805EE3CBA0AE2293D95F166E80973CC
+82C53042D0249C598B0821E9E7F218BA6114EEC86C158F277934F2651490B723
+7F0D0288560DA5BEBAFDDF243048E590871AD18B3B220EC56549004DF122AA03
+BAAD6971D790BC644369FDBEE74A324083CFA9496C2A333774F06E35299242BC
+F4B26578907CC5AD1893613F2B8622CFBB7B55810162EEBFAAEAB2A6D69CB72B
+D7859C73843E665125FF450631F32E64F13A6207F368103C7A7318DBAF2560D0
+F1CDD83C3E48CB30C62AF1E0896E1962C655D9ED98E1BB38477C1C60ECDB6B95
+067D3A638AD43EE886338F7AD2D2A574CE6FD2E21F6FCB4220EFEC85ABF8272A
+82081CE70E4390A74EC717F1DDD168F4A4A080A79EE2ECE0F98A96871DA4B52F
+78441601AF47763C2219F5A167604C32F478D498835EF3A6167936994F7C7139
+3019FF43C97E7978D3CDA641C1E391FEA572D308E759F28DDE2B40B5BC207A4B
+C5EB6A93EEE26782016F8B6534420BE4D790A2E1A65B6CDBE9468152230384FD
+14E9AE84418A44F94E6825DD7D77D0BB5486DE26A692B3DA96C81FA4440C5D44
+8E7F3CAA9B8DF38F87E09C4D78841F629F78F4E7CC8580CC44E59E5D9AE8B2DE
+C0682F793AE7AEC12A8AE688636197E8A08FEB70EFDB6203681A60223B9B0D39
+2DA656E5E99B82130D4BE38D7AFE18568DD30B0CC3C73C1E2914ACE11A65334D
+A9F18135E7B86157122CD221C33C62012FFB16D2D2F3473A53BE3E7B9FD4303F
+66ADF0B07155C7B9B002EA68C6AC7247EB3CE7D2670A60138049DAA964F86A05
+22983EDA7242E6BEEB90DF61C937399B2CE1061DF1E551CEED4A80D86C2D4649
+C9FF9A1F93E96773CD392478D5B70D5336A03A274E0A6EF44BE8CB2274324142
+706BC2E340DC944339D647961FD7BF29944503B4AFCDC69A706AA6B0F6AB2CB5
+D220A96ACC1EE5E7826F6F75F044224E5260D581AE761AD0C752A06AA03FD935
+FAD65C9EDD4E5505396E331D45DE88F0D1A4303D766ABE0702C17E2A7F53C0EA
+96A4DEC5A6B6186F5DBAAB05DD78E38AFE630465BEF0EC66ABA9C1C9232214A9
+795D105C33CF069F6BE20B179F4CC9F484AB63ED25C1212C457DF62CA0D56E20
+608572216F2D4C09010B03A8AA6D287C8F514BEEDC1C912552CC2489858BF4D3
+084882CE4F4B6FB9EE27C0168671E6DA154018ABEAD013C88E1D3EC918371251
+63D95BA0FE20212C20AD3F4DB614EE36B488A3F55D94C1EDFCA8E68E54A1EED4
+7DD168DCCF07C3DDB5E2B499DB5635C5C5056A7438120DB4839427D07F96AB8E
+F842E285243E40259F6DF029E27779CCF3D3BD7206B2C341045A5A4AABACC2A5
+91C6830FE05ACDCFDE99046F16F2AC183426ACA4A89FE5F09B7EB2F811BB5FB5
+AF073BDA2886070B2327D582DCBA66B47E8948C3BE05E837BE4B81402A583403
+74FF9E938F0E9DC3B1CB81B93DFD4070F9EBAED40BA570DE8F9A5C2C0A097311
+22A6065139A6580E332473E9410D9F4C734794F79E41D0D437CEC7381919DF6F
+A24B170E2BC97A6396A4E3AC3D844AD6E2B8FCE1C6AE97DFC5319F49130C3D6F
+AF2541EB2384D5D4CCBEB976846EF8C2165DBF706112BDDDEC9A57D157F5996D
+95229FD5C71B885D16B177BAB06B9DF5740A45C2A005778EE879193290419C0A
+A4A339029E37E685B8A05B111DDF94AC19B1D85C8E6026E57E3D3B373C08557A
+F96E6FE3916695ADFC1F0BF5D558565F42A71C61ACFEFC9026424397F0646642
+7EDAA05794BCCD164A645860B57EAD53CB6899B18C6E9496EA4DAB0A0C272639
+DEBC4FCBA94B3BF123F7771F602E7667C8F56E12429669F2219C7D8E294BE07B
+71E88EA62F5616CAAB7C0198E6FF12A348E36B306FE2684A401399431B6A84CF
+B46EE4BAA0F4099E65E9AF3B70274EDD6B6524F4FA38C23F9CD5273EEDC8C6C3
+E7312B6E0497C05AD3F3C246638F01387CC11DBCBD287ACF54D8E24759F51415
+35ED64132EF4158F54AB9F4D567482B3057880490F805822F71E7E2C52F7BC38
+8B1F803AC3731064B90E5E97AA3351D17E73DC2FE526CD6C91158636E395867D
+C1150FD3BD12493FFFB813AF0D08C8ED0B7418A2CF90BD5B783364358605D075
+5DEA95A9299C0654EFB28E2FE8A41358A0DD124D0314A27558E42ED5F2D74BB7
+056DE04D2CF13B9B804A3CBBA29BC155A3F18B8B48283194C33CE8291677E1EF
+0721138F8E0409D49BB99F217607586D2DF00C29A25536E21924B4CF6702CF85
+C02DFBFD2AA4DE3DBED1D2C02E21052A8D10F96629D0D18154923638FE0C48BD
+E2DEAF11663E20717EA77A5453686AAA39D6FF7919AF09B1AD956FDBF734F49E
+262F3076F62E77BD45122B55A5913902D9F91C4246FC235BA9C0FA4A96994291
+830638949BED423387DA2D455A3C9122484EFF27F5367D1D3DD27D207D973815
+965E1CFF36F43C653ED406F65348671D9FFAF55BA3FC266D438AF473181B7801
+164EA3F04FEC870743195B3F467DE36B3719BAD9BF15A18637A314C887D46673
+445BA3C212749B0A33136FEE9FE2C9A13D62E7ACC96378D257FBE0EB06AD4D4E
+D41976AB92AC720DFD33B0677062C32E6F5C992A0324FD26E984B5341A58C190
+D20EC3F1144697D514D9157340A6C9F82E62AD8CFDEE59F6FF86C6250CE33D6B
+BB82DDB4F65BEFC6F6D0E4044F7BF307CC346E2FFD191846E3CA288C6F91CB71
+5FDE855FEC5E38816CC635C470BF15263A10A409F0BC4877F7E6D4C223E3564E
+E7BB5B320AAA5AAF4F32528F7413BFB97C70FF5E6843E1FE501472129BC9758D
+7531BE576C75840CBC4CD3E6D9E5FF52559B68DE6E7827128BB2ED1BAD43F36E
+A0CB68C1A147A7093EB02062AC5492DB7EEE08B1BDB187E15339A66269E459BC
+67495937B4317AF66A498923322B087ECF47B601C26E253D223A784DB2D204FD
+0668BD403A73723848018B7C86B627B9AE0BD9038F567CD5F670CAFC5C4D86FC
+ECA211B713ACF8C1370191161CBB6C2592E8B9DBF3471133F2D9A60F15D72F9C
+5E5539D59A6A7E124D9A38A6FF6EB7C71990716F88E1888295584F17D49144B2
+B57252D7D87CFB7BE009E0E1AF68C57E2041CB837A1F9DA290FC07240D616876
+CBA29ED23952F977F27ED97503F6C6CB48DA6611E0ED9D90FA865D099740C6CE
+8A5DDBB1D6550B208321C365A5104F9ABD66A9238B8A2106AA74CAC58D1163F1
+DC4A62013C0F6DD8A3E8E1A6CC6E553746D570A744863FD8EA705890890AC5BC
+2F0A068C740572F045B32289A2AE66CC44A1C13FB8BBD4E1834995731D19B47E
+7C2FE360AE79DACB95856B01EE39EB3C7C9EAEB3D47348C47D928BC883B8E760
+6724D80DABC4D736411942BBA8CF08157F21D63C18924282193C5C8E44E09048
+FDCB8DB2E01C8A496FEE2CFC19A3A0EACA508237C8BD988ED6D33D01EB548B14
+61A546886AACDAFB7C8CA69056B1F428D72541D3F17007CBAB23C8ACC305A655
+BE646A9303F9D2FFA3E7060B7D0226EDD997605E246BFE131463B8614464591E
+425278958D87871AA4DC5D3640060B9A435BE23AB2DE953A5365623BAC1A90B0
+8268AB3A27695A5AA2F8DAEAAFE88324267FCF88909155E959F90FC2656C6B17
+7B1CD6735451BED9CC0CB038F90AC4B632A9AFF99D1B4E85661C85F7DA8C5C3B
+44322FA1D86EE66E4CF4FB3176B72AB7C9E33B530B4B36E2C05190EE3A6CC64E
+8EC29CC693DBBC748C529600BE05904A48F62C4AE175FB7707E9A28D72C4350B
+EFF065D7D52105471AC6949CF4E9D2E19BEED19913DD3996589C03E5471B1883
+B5ADD0E76316966869433D4D3C2D68897AD54BC0C1056A85F539FB568DD657EA
+3AF8B955FD3EBD10BDC86B94651A10010EAA2D7B4CDAA9D04754A2BBEEB42462
+7801380BE02FE9C387FE93CE0B2E1D0F65BEF41725130FBAEE89B44B26490D27
+DBE1D0D49D3B70ADAC4B2A46991E436070239AD0154644FC4A2773AD68558ADC
+A1AA62ABB46BB0FCE130DA7FC6755116118FF381764FBD03D1BD10AB0B8F4379
+2FE1C35AD8CFAD84738E5A5304387E958037567D2564B00219AFA30EAF2ED876
+BA2829A4D55D828E507C9C049796504220AC52CB108DBAEEF70149F452D85BA5
+F394C52C09A4A6C9434C40DAC48F9C126F06A5FE34240A16F69BBA11FCA9AC76
+CA1E62961CCA4591C6B96A84E7AE4964CEC00E7A8B003B5D8354CD1200489304
+0FA8BE1493A2408C494EEEBF30EF1BFF488852ADDCE5D087652063AAE0BB53EA
+ECF423B32495E2FC461F2F2A18B639FD6CEC09EB7CE1BDD115B5DE66A1B3FB1F
+77DF9779C16B981546E71198BBCA746E0F0ADCB09EA0F6F92608D30B9E77A082
+0BEE151189F51CDF0B7AA8AFF778DFEF01C988224506370FBE7DFED69D73FF45
+371961A0888F0DF215E909EDB9E08E56F50FFA9CDB0EBB16BED3956A75648DAA
+E0035E589C65C12BBE6904794F8C19C23A830002C6E28217731DE5A0CA604EC0
+ECC0B451822F81C725F5330B1C77A5FC085E2A11667AF816D79EE262B99597B0
+750F27E862B2D7D9FEB5DEEABD05CAEAB50C5DD1F8E89AB2A6A76B6FD4F0AD21
+81E48E86AA9C52E272C0761D3264F78024C493058A5250DCCAF943CCF4A65FEA
+3106D5359A584EF79D65DAEE9EF284524D0A40C6A6DC5033C49D740811673194
+CC1177FF10B3414334765C2BF89CA1C7D17C9EBE9486479B475A4513B3ED8AB6
+D1527B1146DA7325A9915A9E84520C043CD5806531B13773EB76B45F9E96B800
+A8C0A25FA1DC2EDB35E91AC6ED1300FFC9EB6D646155DC9FF8D12A4A676D506E
+7F15BB5355FB7F84B2F8AE9C975BE738EB0E855CBB513B391B21A4F5366921C1
+6A0A2795C5ABD2E24A70B0BDB4BEF07DE92B18E47096E2C33731DDDBFA0A0B01
+3410CF285FAEAA7BD1179CC76799C366033FC51E50569E1528D7C978C45EB936
+AF222E13C08ECC2A9EAC3B482DEDEE702BCFE3D3A58E19E74018AC6805251FFD
+BC6656DBE1B4C00F76DF3BEA8BBDCA1721ED61BD99AE4A61C0ECC9F295CC4B81
+FA6F1F8008BD5011DAE4CA73C55CCD441A5134813EC0202D634CAB14C4FDB927
+6FE8FA7C6A8DFEF29413A124EB0C6FD7217F93997C5613F02D5436BA7776A913
+B6E940D4FF0580CC1B34DACB0736ACF3A534955C9355B4B1E00EBBB6D5CD76C0
+49A1386A5552EEE2EE9A1F0C73DF8C00BD31CC14095385F0CD4FE90F8DC42E07
+588B28174D701A873121F1C71958AFB10610D90D436B1C23D8E3C4662E08646B
+E73DF766E2BB4A1DCA606F70A6DD00499A3C842D826A6DC72EC3441F71FB00B7
+AD814CB8716A8955B9B61CDCD11AB857BF04E211868E4B1B158B4BB2E60DB2FB
+25EDFB42586CE6C361A180F736354037A8E31D86231892E301CABF90DCE147DE
+B44CB65C1E5F046C5B8087201B36A634CDCACE4846118BAA464D6990FB281D13
+A9B75142A4F86E274FD7F8487CC56EE38EDBB8E688337D8EA76273B98BB4F694
+BF1F5D3C7BEE18519C72E397D87F57AA7FFE59BB49BB70184E3EEB54B81B9A15
+3FE205274C24EFD4B8388562B500D672CD32D96A0F822507C352C2BBA12450FB
+72956B639F3B56F43F77036B3A607687CA35EE92C6E1E0168709CC2454865997
+D89D968D384548DF558E27F1A213E09E5CF339523FB31BEFA5E45A9A874A00DC
+C2843351AA96704783D4620EF95475925587F37C889BE748B33BF5D3C8D99C5A
+95BB2B55B1AE23879901AE64B434F3E01C8B4493FB282F561393C972BA7BAD2A
+503E18D111ED3C1BA70AE497D01C31E6D295C5B57871020771D6A96D22B33D14
+AC4EE6F9E4698D6BC4AE0A872705BDC1E0546697B5DB2A64CE4A1F400E643ED1
+5372ECB4F2B1B0747317DA34648E590BE041C1062B23F92013A6651BD853CD0F
+2F49419C82435299A985075647C2B8F505F1182D24A3390A0718F3C255025BD1
+6919DEFD68FDDAF4C35FB75996FC3D0B793F888D1FF6B09797D8A528524677E5
+4A04F14D4EC256FFBE3846089ED716DD3567519F5F0EC8BAB700ABE6B1EC1080
+801653126A22D50D8F1964C77A371217ACD50C6D8989B3E8CF29A0FD20A5F896
+A1AF938DD27979543EEA1BA46D6EFCC1D101EE74AA0D5D110F8D1404DA4DBCE9
+4C4AE92FF9E4D7AAC3FB79BFC30B566DD1831B1D68BD0E067D963A725550D57B
+0F652A65A2AAC98FD9CD979DCB81EF7A2A18A06661FF72E5CD5D593078D4A145
+7DB25ED6480383F1E3E30085EAE0F5230FCF4BB397866E5D465F7CE1FD84FFD1
+39FCC779F3072103DA48DF38BE65355781BC259C1DB6A4ED0BF805F51BFECA21
+AB0AEF7ABD154098EC0F3DD76B136833BCFD9222F331C8AC1456BA95080F9C3E
+7B05A0CED7C26E24B03C7DC4245F1E3B8FD7BA40578CE7D61AD1E4A708C013F9
+8141F6834DB125035CEFF6A72B147027D49068B1BDB77DE7563F12994F933960
+68A87C4F50272C91B859CB83CC6488843529EF6F55977812E5F766DE23AF77B2
+DA859379045E0BDE87860BDAB3D0D37C033C05CDA9680B652FB1E2913B766CA2
+BA62CEF6BE7D6B266672D994BCFD263C32DC29674B45460E38BCB2BFCA4844D1
+1DD4BE395315946DB693E20B21031EB41C20A82495AB0E49D2DCB51D52B893DF
+48A16E3180F04C9AE15FB60FBEF9BE5A80D33C51C9FB97B89FD9891109E25F05
+00253805C693E8FC4D58DB6F730D1D80C7F4E5ABC64F88F22D2E51D1A353C307
+5D8E6FF6A1D17347BDE026E6D1D00A2195BCAD9A4A375275EA6509FC3044C5CA
+219840C08C3335CD820377534847A16EEA2EEA228D9A5EDFFE34454012E9AF65
+FB638246ECA0772825C3D72B32CF913DBA6921B35473721E263C209A7DC6414F
+C066328E084F3E3D23D8DF87B70E31EC2E9479938162B353A15DCB1320DAFA11
+6BF06231AEBAC8364AAE499EB21E4C2C5238B3CF10F2F02B39AE0B29B9BE6C7F
+86C90B6209B774317B5422BDB058AADCB888E9BDBB1CC80505089BF8A7281D3D
+69F98EFCFB87BEC440009950D0ADB1EF1FC32F4265ECE9E7AD363EBC604389F6
+82CAE39E3FE7F3C17A92FADD0DA81EF29D4BFEF9EB143C9828BBE3FF15EE999A
+A7F1D8F45647708B6AE7820AF8B82E8BDC890F2D535E3A58A94E16EA4B055FBD
+9F4F24AF32BA7395D030E6D8D3FF0F5117CD5E8CB108CC1071EE9BBF59E8E90F
+17FDC474037759BB28B9AF3DDD7E4D50F02AA3D2A161ADFEC0EB24566EE286EB
+50D0DBC27A38CE66F1F78C44C3BA373EB0C5CBD11EBCDEE495A5BBE44E9CE999
+18E50F7B65E4EF21BB51BEF70CBD9932D182E67063BAACD5DB4FC516D03F8951
+D12D92887B9E726E064E1E1F0EC4CC09EC8A90F36A358012E5B5D7749B11095C
+F8027A8C4F8D58C67EF58105AE39BB0276B7870FD90B45D73260D54D9977DD0F
+F17EF66C257ACB65636E2FB1EA6EB9B66A77310A65C9F328CB212B612F1D86D1
+02AFCB6EDCB931CDFC0DFB5D8C145096878DDD85D0A621BEE643FB3991F6EABC
+5C7DBE8FC841A401D00B7EC7C3867D0A51C1264B659A0F0D54B3733BEBA8037C
+772057BE4EBAAA8B01E4140DCE5DB31943121F1734F4B5FD0E3F8C71FD0DAE50
+8A47BD2C7F464D787CAA1ECF68689A16D650BA5890AB06689B5F57ED69DDAADF
+8D7EC1B634B294F523BC185FA525C6ADBAB0E0FD033128395B9F39D50722B2A8
+7CF8D529CBD2891F59876BCF302CCC06E9A301663B1D29F5F9B5B047EDB9F9F0
+96406FE1CEF3788ED72D1FD1733239875470A74633545ACC6E1BAD7A32FBFFA0
+9D3AAA7FB6DD0DF858D316D753B1AA5B38AB6F19A1606C68E5DE529E05F95BF3
+9FF1A51B4A8C0FAF6DDC0F2B7714A5AE4D16A1724730901236C637873129C435
+384A6D16BE80A7B5831F0495060AE8D3320018FDD68E5B3AD55E7D82D5E49933
+EFFFD35E73B26D813DF674AB7BDACEFDD5141036F433394BB5EDE175FC7E48BF
+C9BE85ADB290549290BB464AAC93F4C3D52F5A9136F8C9B00063B49ACB25CFB5
+E5F9FF277172FEAD8A36B3AB87A2D82B65C78C59A470C94570AC8D0FB3BB6919
+4853AC866CD8890A73CFE28705B379B09C4D25DC3AEB0ACA921B98225C27FD47
+52A7F9071ACA940E605890F35FAD92C4D1330773302591720A70C9192E5FAA75
+700AF91056CD02A1D54129A3C573BCF54FB3ADE21A23212556673BEDD0F96F42
+CDDD606045D5EB18E12488162DB826FF09D0EF4C2B9DE91B6D1A4AB273CB63DC
+F22ABFB8615FEAF4EEB614F3D7B3AD83B35FDA4DF8DDFE65599BB5EA87B72CC9
+3DB1C3D31CF99E2B9A8BB322885EAB2978E688CE00BDFF62AA653F72AA79FC5A
+A53FCD50205C0ACCAA5B2B46FA5A4D2FDDF27494C1F02C347941CB2EF1082D98
+D7B0407ED524D4D0D24FA5C007D8E9E13B3581086FFD40E1B317152805DA6A8D
+339B2F0CA3BFEBCA120414A5EDBA787DC0DF416DB643ED48C5AE3E1F7A91B4F7
+4898E267DF257D517700409FC72C74E267C19378D7B74201E6B2BE6FDB23138C
+ED4A081628F6130640E6837BAEADA2FB35BEB16CD781386E951CE793A6F1689B
+DEA3D1B479C33B43788DC9B61FCFC5CE75187EDA9E08C342CFB7DC624B03223B
+F83C762189575E839A54F1AAE01462670E5D30E37D72AA9EB4F846083BDE9010
+232A026C3369B88A64992EB292A41FFE5B5FEF348429C26BA53F936D18613DDE
+F50DE424D32D197B6482586BFF7659EC47723E3C8AB729B8050A7095CB757842
+DA63EA526AC4083DF375FA41CD04B1DCCEDA0C85EE4407CE858E2FAB980FE0A4
+31B02C13E6FFDD3F94E3DAC133B4DF54D2058E747F29F42782C5DBB6F5AFEC6E
+10E1C0E143BA081061948BDCCFE0ED68FB0CB360CFD80344459D2DD754FED744
+0721973DE17B998B5EE7B2510524D93ADCEF1102BA70A0F24ACDCD364409708D
+2C0CBAEB725003635E2D045711E6A84AF6F73BED391EC03BA777C9A62DEDF821
+697D6CF90BD4FD840A567A3191BE37677C6C6309CDF2670FEB739F94944BD82D
+C908C9BF333C6D2213C8F5EDD12742708009DC4B63ABA99FC3C84565466FD369
+7DC0FA50A64DD755A62E78DC9625C7424BA4CAC2F8AAB5C2BFE2375648759AA6
+52D842E15FE76EB4273E91617ACF2F3BC395A4F7A7DAAD9B18B9ED21B247A927
+ACC803C8C3ED6720BF7399F4FDD3F84241820A323C96BB95F8037C618DC820EE
+1692DF92CA48E08F4686888F155ECDB3DA21BD4A4F6EC2D498775D1163921B44
+21F3B4C6F2C8523ADA57D15B1C2BB6C5A9D25E32DD3A19CD6D6CE4E1B5691240
+F90489EEFC20F0C0A3E8FE36D61287067CE94CC364320F94A95CB244DC23C7A4
+8B4C2C5EA46AEC0D4D4B
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+cleartomark
+{restore}if
+%%EndFont
+TeXDict begin 39158280 55380996 1000 600 600 (informator.dvi)
+@start /Fa 173[54 3[59 78[{}2 83.022 /CMSS10 rf /Fb 134[71
+71 75 75 83 75 75 50 108 1[75 58 75 1[58 58 108 108 58
+58 58 46 58 100 75 10[66 75 75 62 2[33 58 1[58 75 1[75
+75 82 75 75 75 75 33 1[66 65[{}40 83.022 /SkakNew-Figurine
+rf /Fc 133[40 42 1[62 42 47 34 35 31 47 47 46 47 72 21
+44 1[21 47 46 1[42 47 41 47 44 84[49 12[{}24 83.022 /CMSSBX10
+rf /Fd 145[42 110[{}1 83.022 /CMSY10 rf /Fe 128[42 5[44
+1[60 1[46 32 33 33 1[46 42 46 69 23 44 1[23 46 1[25 37
+46 37 46 42 12[60 4[65 5[30 4[63 60 59 16[42 2[23 28
+45[{}30 83.022 /CMR10 rf /Ff 134[51 3[54 2[38 2[49 54
+81 27 6[43 2[54 49 12[70 9[50 1[73 15[49 4[49 49 49 49
+3[27 32[57 11[{}20 99.6264 /CMR12 rf /Fg 140[74 7[74
+9[74 97[{}3 143.462 /CMTT12 rf /Fh 134[70 2[70 1[51 52
+51 2[66 73 111 36 70 1[36 73 66 40 58 1[58 73 66 13[73
+2[90 6[47 7[99 65[{}22 143.462 /CMR17 rf end
+%%EndProlog
+%%BeginSetup
+%%Feature: *Resolution 600dpi
+TeXDict begin
+%%BeginPaperSize: a4
+/setpagedevice where
+{ pop << /PageSize [595 842] >> setpagedevice }
+{ /a4 where { pop a4 } if }
+ifelse
+%%EndPaperSize
+ end
+%%EndSetup
+%%Page: 1 1
+TeXDict begin 1 0 bop 0 TeXcolorgray Black 0 TeXcolorgray
+0 TeXcolorgray 0 TeXcolorgray 407 797 a Fh(Informator)42
+b(Sym)l(b)t(ols)g(Av)-7 b(ailable)43 b(in)g(the)h 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)h(18,)e(2013)p Black 0
+1460 a
+tx@Dict begin gsave STV CP T /ps@rot 0 def grestore end
+ 0 1460 a 0 1460 a
+tx@Dict begin gsave STV CP T /ps@refangle 0. def grestore end
+ 0 1460 a 0 TeXcolorgray 0 1460
+a
+tx@Dict begin gsave STV CP T /ps@rot 0 def grestore end
+ 0 1460 a 83 1543 a 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 2878 1031 7 v 133 2971
+a(Command)289 b(Output)p 83 3019 1031 5 v 133 3112 a
+Fd(n)p Fc(wb)s(etter)431 b Fb(f)133 3212 y Fd(n)p Fc(bb)s(etter)446
+b Fb(g)133 3312 y Fd(n)p Fc(wupp)s(erhand)262 b Fb(c)133
+3411 y Fd(n)p Fc(bupp)s(erhand)277 b Fb(e)133 3511 y
+Fd(n)p Fc(wdecisive)348 b Fb(h)133 3610 y Fd(n)p Fc(b)s(decisive)360
+b Fb(i)133 3710 y Fd(n)p Fc(equal)525 b Fb(j)133 3810
+y Fd(n)p Fc(unclea)m(r)456 b Fb(k)133 3909 y Fd(n)p Fc(comp)s(ensation)
+201 b Fb(n)133 4009 y Fd(n)p Fc(devadvantage)196 b Fb(t)133
+4109 y Fd(n)p Fc(mo)m(rero)s(om)331 b Fb(U)133 4208 y
+Fd(n)p Fc(withattack)316 b Fb(A)133 4308 y Fd(n)p Fc(withinit)451
+b Fb(C)133 4407 y Fd(n)p Fc(counterpla)m(y)282 b Fb(V)133
+4507 y Fd(n)p Fc(zugzw)m(ang)348 b Fb(D)133 4607 y Fd(n)p
+Fc(mate)525 b Fb(m)133 4706 y Fd(n)p Fc(withidea)399
+b Fb(E)133 4806 y Fd(n)p Fc(onlymove)359 b Fb(F)133 4906
+y Fd(n)p Fc(b)s(etteris)416 b Fb(b)133 5005 y Fd(n)p
+Fc(\014le)602 b Fb(H)133 5105 y Fd(n)p Fc(diagonal)401
+b Fb(G)133 5204 y Fd(n)p Fc(centre)480 b Fb(I)133 5304
+y Fd(n)p Fc(kside)537 b Fb(O)133 5404 y Fd(n)p Fc(qside)d
+Fb(M)p 83 5455 1031 7 v 0 TeXcolorgray 0 TeXcolorgray
+2001 1467 1007 7 v 2051 1560 a Fe(Command)265 b(Output)p
+2001 1608 1007 5 v 2051 1701 a Fd(n)p Fc(w)m(eakpt)424
+b Fb(J)2051 1801 y Fd(n)p Fc(ending)444 b Fb(L)2051 1900
+y Fd(n)p Fc(bishoppair)308 b Fb(a)2051 2000 y Fd(n)p
+Fc(opp)s(osbishops)192 b Fb(o)2051 2100 y Fd(n)p Fc(samebishops)223
+b Fb(s)2051 2199 y Fd(n)p Fc(unitedpa)m(wns)d Fb(u)2051
+2299 y Fd(n)p Fc(seppa)m(wns)321 b Fb(q)2051 2398 y Fd(n)p
+Fc(doublepa)m(wns)226 b Fb(d)2051 2498 y Fd(n)p Fc(passedpa)m(wn)259
+b Fb(r)2051 2598 y Fd(n)p Fc(mo)m(repa)m(wns)280 b Fb(S)2051
+2697 y Fd(n)p Fc(timelimit)356 b Fb(T)2051 2797 y Fd(n)p
+Fc(novelt)m(y)431 b Fa(N)2051 2897 y Fd(n)p Fc(comment)324
+b Fa(RR)2051 2996 y Fd(n)p Fc(va)m(rious)441 b Fa(R)2051
+3096 y Fd(n)p Fc(without)403 b Fb(w)2051 3195 y Fd(n)p
+Fc(with)530 b Fb(v)2051 3295 y Fd(n)p Fc(etc)598 b Fb(P)2051
+3395 y Fd(n)p Fc(see)559 b Fe(see)2051 3494 y Fd(n)p
+Fc(ma)m(rk)m(era)394 b Fb(x)2051 3594 y Fd(n)p Fc(ma)m(rk)m(erb)d
+Fb(y)p 2001 3645 1007 7 v 0 TeXcolorgray 1856 5662 a
+Fe(1)p 0 TeXcolorgray eop end
+%%Trailer
+
+userdict /end-hook known{end-hook}if
+%%EOF
diff --git a/Master/texmf-dist/doc/latex/skak/lambda.tex b/Master/texmf-dist/doc/latex/skak/lambda.tex
deleted file mode 100644
index 5285e9a5104..00000000000
--- a/Master/texmf-dist/doc/latex/skak/lambda.tex
+++ /dev/null
@@ -1,1146 +0,0 @@
-% Filename: Lambda.tex
-% Author: Alan Jeffrey
-% Last modified: 11 May 1990
-%
-% Copyright (c) 1990 Alan Jeffrey. Permission is granted to Tugboat
-% to publish any or all of this.
-%
-% A keyboard check:
-%
-% @ # $ % ^ & * ~ at hash dollar percent caret ampersand asterisk tilde
-% : ; , . colon semicolon comma period
-% ? ! question-mark exclamation-mark
-% " ' ` double-quote apostrophe back-quote
-% ( ) { } [ ] parentheses braces square-brackets
-% - + = / \ minus plus equals forward-slash backslash
-% _ | < > underscore vertical-bar less-than greater-than
-%
-
-\documentstyle[ltugboat,Lambda]{article}
-
-% This document defines a whole load of extra commands, some of which
-% over-ride how LaTeX normally lays things out. For example, ~ is
-% redefined to give a hairspace in math mode. This whole document
-% should probably be put in a group to stop it getting in the way
-% of other articles' macros.
-
-\title{Lists in \TeX's Mouth}
-
-\author{Alan Jeffrey}
-
-\address{Programming Research Group\\
- Oxford University\\
- 11 Keble Road\\
- Oxford OX1 3QD}
-
-\netaddress{Alan.Jeffrey@uk.ac.oxford.prg}
-
-\makeatletter
-
-% The mathcodes for the letters A, ..., Z, a, ..., z are changed to
-% generate text italic rather than math italic by default. This makes
-% multi-letter names look neater. The mathcode for character 'c'
-% is set to "7000 (variable family) + "400 (text italic) + c.
-%
-% This neat bit of code is due to Mike Spivey.
-
-\def\@setmcodes#1#2#3{{\count0=#1 \count1=#3
- \loop \global\mathcode\count0=\count1 \ifnum \count0<#2
- \advance\count0 by1 \advance\count1 by1 \repeat}}
-
-\@setmcodes{`A}{`Z}{"7441}
-\@setmcodes{`a}{`z}{"7461}
-
-\def\Number#1{\csname Number-#1\endcsname}
-\def\Label#1{\csname Label-#1\endcsname}
-
-\newcount\Lastnum
-
-\def\Forward#1%
- {\global\advance\Lastnum by 1
- \csnameafter\xdef{Number-#1}%
- {\the\Lastnum}%
- \csnameafter\xdef{Label-\the\Lastnum}%
- {\@currentlabel}}
-
-\def\csnameafter#1#2%
- {\expandafter#1\csname#2\endcsname}
-
-\def\Bylist#1%
- {\Map\Label
- {\Insertsort\Lessthan
- {\Map\Number{#1}}}}
-
-\def\By{\Show\Bylist}
-
-\let\bindspace=~
-\def~{\ifmmode \, \else \bindspace \fi}
-
-\def\start#1{\lefteqn{#1}\quad\\}
-
-\def\nil{[\,\,]}
-
-\newtheorem{fact}{Fact}
-\def\thefact{\@roman\c@fact}
-
-\def\cstok#1{\leavevmode\thinspace\hbox{\vrule\vtop{\vbox{\hrule\kern1pt
- \hbox{\vphantom{\tt/}\thinspace{\tt#1}\thinspace}}%
- \kern1pt\hrule}\vrule}\thinspace}
-
-\begingroup \catcode `|=0 \catcode `[= 1
-\catcode`]=2 \catcode `\{=12 \catcode `\}=12
-\catcode`\\=12 |gdef|@xTeXcode#1\end{TeXcode}[#1|end[TeXcode]]
-|endgroup
-
-\def\TeXcode
- {\@verbatim \smallskip\hrule\medskip \frenchspacing\@vobeyspaces \@xTeXcode}
-\def\endTeXcode
- {\medskip\hrule\smallskip\endtrivlist}
-
-\makeatother
-
-\begin{document}
-
-\maketitle
-
-\section{Why lists?}
-
-Originally, I wanted lists in \TeX\ for
-a paper I was writing which contained a lot of facts.
-\begin{fact}
-\Forward{Fac-cows}
- Cows have four legs.
-\end{fact}
-\begin{fact}
-\Forward{Fac-people}
- People have two legs.
-\end{fact}
-\begin{fact}
-\Forward{Fac-yawn}
- Lots of facts in a row can be dull.
-\end{fact}
-These are generated with commands like
-\begin{verbatim}
-\begin{fact}
-\Forward{Fac-yawn}
- Lots of facts in a row can be dull.
-\end{fact}
-\end{verbatim}
-I can then refer to these facts by saying
-\begin{verbatim}
-\By[Fac-yawn,Fac-cows,Fac-people]
-\end{verbatim}
-to get
-\By[Fac-yawn,Fac-cows,Fac-people].
-And as if by magic, the facts come out sorted, rather than in
-the jumbled order I typed them. This is very useful, as I can
-reorganize my document to my heart's content, and not have to worry
-about getting my facts straight.
-
-Originally I tried programming this sorting routine in \TeX's
-list macros, from Appendix~D of \TB, but I soon ran into trouble.
-The problem is that all the Appendix~D macros work by assigning
-values to macros. For example:
-\begin{verbatim}
-\concatenate\foo=\bar\baz
-\end{verbatim}
-expands out to
-\begin{verbatim}
-\ta=\expandafter{\bar}
-\tb=\expandafter{\baz}
-\edef\foo{\the\ta\the\tb}
-\end{verbatim}
-which assigns the macro \verb|\foo| the contents of \verb|\bar|
-followed by the contents of \verb|\baz|. Programming sorting routines
-(which are usually recursive) in terms of these lists became rather
-painful, as I was constantly having to watch out for local variables,
-worrying about what happened if a local variable had the same name
-as a global one, and generally having a hard time.
-
-Then I had one of those ``flash of light'' experiences ---
-``You can do lambda-calculus in \TeX,'' I thought,
-and since you can do lists directly in lambda calculus,
-you should be able to do lists straightforwardly in \TeX. And so you
-can. Well, fairly straightforwardly anyway.
-
-So I went and did a bit of mathematics, and derived the \TeX\ macros
-you see here. They were formally verified, and worked first time
-(modulo typing errors, of which there were two).
-
-\section{\TeX's mouth and \TeX's stomach}
-
-\TeX's programming facilities come in two forms --- there are \TeX's
-{\em macros\/} which are expanded in its mouth, and some additional
-{\em assignment\/} operations like \verb|\def| which take place in the
-stomach. \TeX\ can often spring surprises on you as exactly what
-gets evaluated where.
-For example, in \LaTeX\ I can put down a
-label by saying \verb|\label{Here}|.
-\label{Here}
-Then I can refer back to that label by saying
-\verb|Section~\ref{Here}|, which
-produces Section~\ref{Here}. Unfortunately, \verb|\ref{Here}| does
-{\em not\/} expand out to {\tt\ref{Here}}! Instead, it expands out to:
-\begin{verbatim}
-\edef\@tempa{\@nameuse{r@Here}}
-\expandafter\@car\@tempa\@nil\null
-\end{verbatim}
-This means that I can't say
-\begin{verbatim}
-\ifnum\ref{Here}<4 Hello\fi
-\end{verbatim}
-and hope that this will expand out to Hello. Instead I
-get an error message. Which is rather a pity, as \TeX's mouth is
-quite a powerful programming language (as powerful as a Turing Machine in
-fact).
-
-\section{Functions}
-
-A {\em function\/} is a mathematical object that takes in an argument
-(which could well be another function) and returns some other mathematical
-object. For example the function $Not$ takes in a boolean and returns
-its complement. I'll write function application without brackets,
-so $Not~b$ is the boolean complement of $b$.
-
-Function application
-binds to the left, so $f~a~b$ is $(f~a)~b$ rather than $f~(a~b)$.
-For example, $Or~a~b$ is the boolean or of $a$ and $b$, and
-$Or~True$ is a perfectly good function that takes in a boolean
-and returns $True$.
-
-The obvious equivalents of functions in \TeX\ are macros ---
-if I define a function $Foo$ to be:
-\begin{eqnarray*}
- Foo~x & = & True
-\end{eqnarray*}
-then it can be translated into \TeX\ as:
-\begin{verbatim}
-\def\Foo#1{\True}
-\end{verbatim}
-So where $Foo$ is a function that takes in one argument, \verb|\Foo|
-is a macro that takes in one parameter. Nothing has changed except
-the jargon and the font. \TeX\ macros can even be partially applied,
-for example if we defined:
-\begin{eqnarray*}
- Baz & = & Or~True
-\end{eqnarray*}
-then the \TeX\ equivalent would be
-\begin{verbatim}
-\def\Baz{\Or\True}
-\end{verbatim}
-Once \verb|\Baz| is expanded, it will expect to be given a parameter,
-but when we are defining things, we can go around partially applying
-them all we like.
-
-Here, I'm using $=$ without formally defining it, which is rather
-naughty. If I say $x = y$, this means
-``given enough parameters, $x$ and $y$ will eventually
-expand out to the same thing.'' For example $Foo = Baz$, because
-for any $x$,
-\begin{eqnarray*}
- \start{Foo~x}
- & = & True \\
- & = & Or~True~x \\
- & = & Baz~x
-\end{eqnarray*}
-Normally, functions have to {respect equality\/} which means that:
-\begin{itemize}
-\item if $x = y$ then $f~x = f~y$, and
-\item if $x$ respects equality, then $f~x$ respects equality.
-\end{itemize}
-However, some \TeX\ control sequences don't obey this. For example,
-\verb|\string\Foo| and \verb|\string\Baz| are different, even though
-$Foo = Baz$. Hence $string$ doesn't respect equality.
-Unless otherwise stated, we won't assume functions respect equality,
-although all the functions defined here do.
-
-All of our functions have capital letters, so that their \TeX\ equivalents
-(\verb|\Not|, \verb|\Or| and so on) don't clash with standard \TeX\ or
-\LaTeX\ macros.
-
-\subsection{Identity}
-
-The simplest function is the {\em identity\/} function, called
-$Identity$ funnily enough, which is defined:
-\begin{eqnarray*}
- Identity~x & = & \Identity{x}
-\end{eqnarray*}
-This, it must be admitted, is a pretty dull function, but
-it's a useful basic combinator. It can be implemented
-in \TeX\ quite simply.
-\begin{TeXcode}
-\def\Identity#1{#1}
-\end{TeXcode}
-The rules around this definition mean that it is actually part of
-\verb|Lambda.sty| and not just another example.
-
-\subsection{Error}
-
-Whereas $Identity$ does nothing in a fairly pleasant sort of way,
-$Error$ does nothing in a particularly brutal and harsh fashion.
-Mathematically, $Error$ is the function that destroys everything
-else in front of it. It is often written as $\perp$.
-\begin{eqnarray*}
- Error~x & = & Error
-\end{eqnarray*}
-In practice, destroying the entire document when we hit one error
-is a bit much, so we'll just print out an error message.
-The user can carry on past an error at their own risk, as the code
-will no longer be formally verified.
-\begin{TeXcode}
-\def\Error
- {\errmessage{Abandon verification all
- ye who enter here}}
-\end{TeXcode}
-Maybe this function ought to return a more useful error message \ldots
-
-\subsection{First and Second}
-
-Two other basic functions are $First$ and $Second$, both of which
-take in two arguments, and do the obvious thing. They are defined:
-\begin{eqnarray*}
- First~x~y & = & x \\
- Second~x~y & = & y
-\end{eqnarray*}
-We could, in
-fact, define $Second$ in terms of $Identity$ and $First$.
-For any $x$ and $y$,
-\begin{eqnarray*}
- \start{First~Identity~x~y}
- & = & Identity~y \\
- & = & y \\
- & = & Second~x~y
-\end{eqnarray*}
-So $First~Identity = Second$. This means that anywhere in our \TeX\ code
-we have \verb|\First\Identity| we could replace it by \verb|\Second|.
-This is perhaps not the most astonishing \TeX\ fact known to humanity,
-but this sort of proof did enable more complex bits of \TeX\ to be
-verified before they were run.
-
-The \TeX\ definitions of \verb|\First| and \verb|\Second| are pretty
-obvious.
-\begin{TeXcode}
-\def\First#1#2{#1}
-\def\Second#1#2{#2}
-\end{TeXcode}
-Note that in \TeX\, \verb|\First\foo\bar| expands out to
-\verb|\foo| {\em without\/} expanding out \verb|\bar|.
-This is very useful, as we can write macros that would take
-forever and a day to run if they expanded all their arguments,
-but which actually terminate quite quickly. This is called
-{\em lazy evaluation\/} by the functional programming community.
-
-\subsection{Compose}
-
-Given two functions $f$ and $g$ we would like to be able to {\em compose\/}
-them to produce a function that first applies $g$ then applies $f$.
-Normally, this is written as $f \circ g$, but unfortunately \TeX\ doesn't
-have infix functions, so we'll have to write it $Compose~f~g$.
-\begin{eqnarray*}
- Compose~f~g~x & = & f~(g~x)
-\end{eqnarray*}
->From this definition, we can deduce that $Compose$ is associative:
-\begin{eqnarray*}
- \start{Compose~(Compose~f~g)~h}
- & = & Compose~f~(Compose~g~h)
-\end{eqnarray*}
-and $Identity$ is the left unit of $Compose$:
-\begin{eqnarray*}
- Compose~Identity~f & = & f
-\end{eqnarray*}
-The reader may wonder why $Identity$ is called a {\em left\/} unit
-even though it occurs on the right of the $Compose$ --- this is a side-effect
-of using prefix notations where infix is more normal. The infix version
-of this equation is:
-\begin{eqnarray*}
- Identity \circ f & = & f
-\end{eqnarray*}
-so $Identity$ is indeed on the left of the composition.
-
-$Compose$ can be implemented in \TeX\ as
-\begin{TeXcode}
-\def\Compose#1#2#3{#1{#2{#3}}}
-\end{TeXcode}
-
-\subsection{Twiddle}
-
-Yet another useful little function is $Twiddle$, which takes in
-a function and reverses the order that function takes its (first two)
-arguments.
-\begin{eqnarray*}
- Twiddle~f~x~y & = & f~y~x
-\end{eqnarray*}
-Again, there aren't many immediate uses for such a function, but it'll
-come in handy later on. It satisfies the properties
-\begin{eqnarray*}
- Twiddle~First & = & Second \\
- Twiddle~Second & = & First \\
- Compose~Twiddle~Twiddle & = & Identity
-\end{eqnarray*}
-Its \TeX\ equivalent is
-\begin{TeXcode}
-\def\Twiddle#1#2#3{#1{#3}{#2}}
-\end{TeXcode}
-This function is called ``twiddle'' because it is sometimes written
-$\widetilde f$ (and $\sim$ is pronounced ``twiddle'').
-It also twiddles its arguments around,
-which is quite nice if your sense of humour runs to appalling puns.
-
-\section{Booleans}
-
-As we're trying to program a sorting routine, it would be nice to
-be able to define orderings on things, and to do this we need some
-representation of boolean variables. Unfortunately \TeX\ doesn't have a type
-for booleans, so we'll have to invent our own. We'll
-implement a boolean as a function $b$ of the form
-\begin{eqnarray*}
- b~x~y &
- = &
- \left\{
- \begin{array}{ll}
- x & \mbox{if $b$ is true} \\
- y & \mbox{otherwise}
- \end{array}
- \right.
-\end{eqnarray*}
-More formally, a
-boolean $b$ is a function which respects equality,
-such that for all $f$, $g$ and $z$:
-\begin{eqnarray*}
- b~f~g~z & = & b~(f~z)~(g~z)
-\end{eqnarray*}
-and for all $f$ and $g$ which respect equality,
-\begin{eqnarray*}
- b~(f~b)~(g~b) & = & b~(f~First)~(g~Second)
-\end{eqnarray*}
-All the functions in this section satisfy these properties. Surprisingly
-enough, so does $Error$, which is quite useful, as it allows us to
-reason about booleans which ``go wrong''.
-
-\subsection{True, False and Not}
-
-Since we are implementing booleans as functions, we already have the
-definitions of $True$, $False$ and $Not$.
-\begin{eqnarray*}
- True & = & First \\
- False & = & Second \\
- Not & = & Twiddle
-\end{eqnarray*}
-So for free we get the following results:
-\begin{eqnarray*}
- Not~True & = & False \\
- Not~False & = & True \\
- Compose~Not~Not & = & Identity
-\end{eqnarray*}
-The \TeX\ implementation is not exactly difficult:
-\begin{TeXcode}
-\let\True=\First
-\let\False=\Second
-\let\Not=\Twiddle
-\end{TeXcode}
-
-\subsection{And and Or}
-
-The definitions of $And$ and $Or$ are:
-\begin{eqnarray*}
- And~a~b &
- = &
- \left\{
- \begin{array}{ll}
- b & \mbox{if $a$ is true} \\
- False & \mbox{otherwise}
- \end{array}
- \right.
- \\
- Or~a~b &
- = &
- \left\{
- \begin{array}{ll}
- True & \mbox{if $a$ is true} \\
- b & \mbox{otherwise}
- \end{array}
- \right.
-\end{eqnarray*}
-With our definition of what a boolean is, this is just the same as
-\begin{eqnarray*}
- And~a~b & = & a~b~False \\
- Or~a~b & = & a~True~b
-\end{eqnarray*}
->From these conditions, we can show that $And$ is associative, and
-has left unit $True$ and left zeros $False$ and $Error$:
-\begin{eqnarray*}
- And~(And~a~b)~c & = & And~a~(And~b~c) \\
- And~True~b & = & b \\
- And~False~b & = & False \\
- And~Error~b & = & Error
-\end{eqnarray*}
-$Or$ is associative, has left unit $False$ and left zeros $True$ and $Error$:
-\begin{eqnarray*}
- Or~(Or~a~b)~c & = & Or~a~(Or~b~c) \\
- Or~False~b & = & b \\
- Or~True~b & = & True \\
- Or~Error~b & = & Error
-\end{eqnarray*}
-De~Morgan's laws hold:
-\begin{eqnarray*}
- Not~(And~a~b) & = & Or~(Not~a)~(Not~b) \\
- Not~(Or~a~b) & = & And~(Not~a)~(Not~b)
-\end{eqnarray*}
-and $And$ and $Or$ left-distribute through one another:
-\begin{eqnarray*}
- Or~a~(And~b~c) & = & And~(Or~a~b)~(Or~a~c) \\
- And~a~(Or~b~c) & = & Or~(And~a~b)~(And~a~c)
-\end{eqnarray*}
-$And$ and $Or$ are {\em not\/} commutative, though. For example,
-\begin{eqnarray*}
- \start{Or~True~Error}
- & = & True~True~Error \\
- & = & True
-\end{eqnarray*}
-but
-\begin{eqnarray*}
- \start{Or~Error~True}
- & = & Error~True~True \\
- & = & Error
-\end{eqnarray*}
-This is actually quite useful since there are some booleans that
-need to return an error occasionally. If $a$ is $True$ when $b$
-is safe (i.e.\ doesn't become $Error$) and is $False$ otherwise, we can
-say $Or~a~b$ and know we're not going to get an error. This is handy
-for things like checking for division by zero, or trying to get the
-first element of an empty list.
-
-Similarly, because of the possibility of $Error$,
-$And$ and $Or$ don't right-distribute through each other,
-as
-\begin{eqnarray*}
- \start{Or~(And~False~Error)~True}
- & \ne & And~(Or~False~True)~(Or~Error~True)
-\end{eqnarray*}
-As errors shouldn't crop up, this needn't worry us too much.
-\begin{TeXcode}
-\def\And#1#2{#1{#2}\False}
-\def\Or#1#2{#1\True{#2}}
-\end{TeXcode}
-
-\subsection{Lift}
-
-Quite a lot of the time we won't be dealing with booleans, but with
-{\em predicates}, which are just functions that return a boolean.
-For example, the predicate $Lessthan$ is defined below so that
-$Lessthan~i~j$ is true whenever $i<j$.
-Given a predicate $p$ we would like to be able to
-{\em lift\/} it to $Lift~p$, defined:
-\begin{eqnarray*}
- Lift~p~f~g~x & = & p~x~f~g~x
-\end{eqnarray*}
-For example, $Lift~(Lessthan~0)~f~g$ takes in a number and applies
-$f$ to it if it is positive and $g$ to it otherwise. This is quite
-useful for defining functions.
-\begin{TeXcode}
-\def\Lift#1#2#3#4{#1{#4}{#2}{#3}{#4}}
-\end{TeXcode}
-
-\subsection{Lessthan and \TeX if}
-
-Finally, we would like to be able to use \TeX's built-in booleans
-as well as our own. For example, we would like a predicate
-$Lessthan$ such that:
-\begin{eqnarray*}
- Lessthan~i~j &
- = &
- \left\{
- \begin{array}{ll}
- True & \mbox{if } i < j \\
- False & \mbox{if } i \ge j \\
- Error & \mbox{otherwise}
- \end{array}
- \right.
-\end{eqnarray*}
-The $Error$ condition happens if we try applying $Lessthan$ to something
-that isn't a number --- $Lessthan~True~False$ is $Error$%
-\footnote
- {Actually, that's a little white lie --- trying to persuade \TeX\ to
- do run-time type checking isn't much fun. So the \TeX\ implementation
- of this is actually a {\em refinement\/} where the $Error$ condition
- has been replaced by whatever it is \TeX\ does if you try doing
- {\tt\string\ifnum $x$ < $y$} when $x$ and $y$ aren't numbers}.
-This is fine as a mathematical definition, but how will
-we implement it? If we assume we have a macro \verb|\TeXif|,
-which converts \TeX\ if-statements into booleans, we could just
-define:
-\begin{TeXcode}
-\def\Lessthan#1#2{\TeXif{\ifnum#1<#2 }}
-\end{TeXcode}
-So the question is just how to define \verb|\TeXif|.
-Unfortunately, the ``obvious'' code does not work:
-\begin{verbatim}
-\def\TeXif#1#2#3{#1#2\else#3\fi}
-\end{verbatim}
-For example, \verb|\TeXif\iftrue\True\True| doesn't expand out to
-\verb|\True|. Instead, it expands as:
-\begin{verbatim}
-\TeXif\iftrue\True\True
- = \iftrue\True\else\True\fi
- = \True\else\True\fi
- = \else\fi
- =
-\end{verbatim}
-Another common \TeX nique is to use a macro \verb|\next| to
-be the expansion text:
-\begin{verbatim}
-\def\TeXif#1#2#3%
- {#1\def\next{#2}\else\def\next{#3}\fi
- \next}
-\end{verbatim}
-However, this uses \TeX's stomach to do the \verb|\def|, and we are
-trying to do this using only the mouth. One (slightly tricky) solution
-is to use pattern-matching to gobble up the offending \verb|\else| and/or
-\verb|\fi|.
-\begin{TeXcode}
-\def\gobblefalse\else\gobbletrue\fi#1#2%
- {\fi#1}
-\def\gobbletrue\fi#1#2%
- {\fi#2}
-\def\TeXif#1%
- {#1\gobblefalse\else\gobbletrue\fi}
-\end{TeXcode}
-So if the \TeX\ if-statement is true, \verb|\gobblefalse| gobbles
-up the false-text, otherwise \verb|\gobbletrue| gobbles up the
-true-text. For example,
-\begin{verbatim}
-\TeXif\iftrue\True\True
- = \iftrue\gobblefalse\else
- \gobbletrue\fi\True\True
- = \gobblefalse\else
- \gobbletrue\fi\True\True
- = \fi\True
- = \True
-\end{verbatim}
-Phew. And so we have booleans.
-
-\section{Lists}
-
-A list is a (possibly infinite) sequence of values. For example,
-the list $[1,2,3]$ contains three numbers, the list $\nil$ contains
-none, and the list $[1,2,3,\ldots]$ contains infinitely many.
-A list is either {\em empty\/} (written $\nil$) or is comprised
-of a {\em head\/}
-$x$ and a {\em tail\/} $xs$ (in which case it's written $x:xs$).
-For example, $1:2:3:\nil$ is $[1,2,3]$.
-
-In a similar fashion to the implementation of booleans,
-a list $xs$ is implemented as a function of the form
-\begin{eqnarray*}
- xs~f~e &
- = &
- \left\{
- \begin{array}{ll}
- e & \mbox{if $xs$ is empty} \\
- f~y~ys & \mbox{if $xs$ has head $y$ and tail $ys$}
- \end{array}
- \right.
-\end{eqnarray*}
-Again, we are implementing a datatype as a function, a quite powerful
-trick, just not one usually seen in \TeX. We will assume that
-whenever a list $x:xs$ is applied to $f$ and $e$, $f~x$ respects equality.
-This allows us to assume that if $xs = ys$ then $x:xs = x:ys$,
-which is handy.
-
-\subsection{Nil, Cons, Stream and Singleton}
-
-The simplest list is $Nil$, the empty list which we have been writing
-$\nil$.
-\begin{eqnarray*}
- Nil & = & Second
-\end{eqnarray*}
-The other possible list is $Cons~x~xs$, which has head $x$ and tail $xs$.
-\begin{eqnarray*}
- Cons~x~xs~f~e & = & f~x~xs
-\end{eqnarray*}
-Every list can be constructed using these functions.
-The list $[1,2,3]$ is $Cons~1~(Cons~2~(Cons~3~Nil))$, and the
-list $[a,a,a,\ldots]$ is $Stream~a$ where $Stream$ is defined:
-\begin{eqnarray*}
- Stream~a & = & Cons~a~(Stream~a)
-\end{eqnarray*}
-There's even at least one application for infinite lists,
-as we'll see in Section~\ref{outputroutines}.
-
-The singleton list $[a]$ is $Singleton~a$, defined as:
-\begin{eqnarray*}
- Singleton~a & = & Cons~a~Nil
-\end{eqnarray*}
-These all have straightforward \TeX\ definitions.
-\begin{TeXcode}
-\let\Nil=\Second
-\def\Cons#1#2#3#4{#3{#1}{#2}}
-\def\Stream#1{\Cons{#1}{\Stream{#1}}}
-\def\Singleton#1{\Cons{#1}\Nil}
-\end{TeXcode}
-
-\subsection{Head and Tail}
-
-So, we can construct any list we like, but we still can't get any information
-out of it. To begin with, we'd like to be able to get the head
-and tail of a list.
-\begin{eqnarray*}
- Head~xs & = & xs~First~Error \\
- Tail~xs & = & xs~Second~Error
-\end{eqnarray*}
-For example, the tail of $x:xs$ is
-\begin{eqnarray*}
- \start{Tail~(Cons~x~xs)}
- & = & Cons~x~xs~Second~Error \\
- & = & Second~x~xs \\
- & = & \Tail{\Cons{x}{xs}}
-\end{eqnarray*}
-The tail of $\nil$ is, as one would expect,
-\begin{eqnarray*}
- \start{Tail~Nil}
- & = & Nil~Second~Error \\
- & = & Error
-\end{eqnarray*}
-And the head of $Stream~a$ is
-\begin{eqnarray*}
- \start{Head~(Stream~a)}
- & = & Stream~a~First~Error \\
- & = & Cons~a~(Stream~a)~First~Error \\
- & = & First~a~(Stream~a) \\
- & = & \Head{\Stream{a}}
-\end{eqnarray*}
-So we can get the head of an infinite list in finite time. This is
-fortunate, as otherwise there wouldn't be much point in allowing
-infinite objects.
-\begin{TeXcode}
-\def\Head#1{#1\First\Error}
-\def\Tail#1{#1\Second\Error}
-\end{TeXcode}
-
-\subsection{Foldl and Foldr}
-
-Using $Head$ and $Tail$ we can get at the beginning of any non-empty list,
-but in general we need more information than that. Rather than write
-a whole bunch of recursive functions on lists, I'll implement two
-fairly general functions, with which we can implement (almost) everything
-else.
-
-$Foldl$ and $Foldr$ both take in functions and apply them recursively
-to a list. $Foldl$ starts at the left of the list, and $Foldr$
-starts at the right. For example,
-\begin{eqnarray*}
- Foldl~f~e~[1,2,3] & = & f~(f~(f~e~1)~2)~3 \\
- Foldr~f~e~[1,2,3] & = & f~1~(f~2~(f~3~e))
-\end{eqnarray*}
-These functions will be used a lot later on. $Foldl$ can be defined:
-\begin{eqnarray*}
- Foldl~f~e~xs & = & xs~(Foldl'~f~e)~e \\
- Foldl'~f~e~x~xs & = & Foldl~f~(f~e~x)~xs
-\end{eqnarray*}
-So $Foldl~f~e~\nil$ is
-\begin{eqnarray*}
- \start{Foldl~f~e~Nil}
- & = & Nil~(Foldl'~f~e)~e \\
- & = & \Foldl{f}{e}\Nil
-\end{eqnarray*}
-And $Foldl~f~e~(x:xs)$ is
-\begin{eqnarray*}
- \start{Foldl~f~e~(Cons~x~xs)}
- & = & Cons~x~xs~(Foldl'~f~e)~e \\
- & = & Foldl'~f~e~x~xs \\
- & = & Foldl~f~(f~e~x)~xs
-\end{eqnarray*}
-For example, $Foldl~f~e~[1,2,3]$ is
-\begin{eqnarray*}
- \start{Foldl~f~e~[1,2,3]}
- & = & Foldl~f~(f~e~1)~[2,3] \\
- & = & Foldl~f~(f~(f~e~1)~2)~[3] \\
- & = & Foldl~f~(f~(f~(f~e~1)~2)~3)~\nil \\
- & = & f~(f~(f~e~1)~2)~3
-\end{eqnarray*}
-as promised. Similarly, we can define $Foldr$ as
-\begin{eqnarray*}
- Foldr~f~e~xs & = & xs~(Foldr'~f~e)~e \\
- Foldr'~f~e~x~xs & = & f~x~(Foldr~f~e~xs)
-\end{eqnarray*}
-For $Foldr~f$ to respect equality, $f~x$ should respect equality.
-
-When we do the unfolding, we discover that
-\begin{eqnarray*}
- Foldr~f~e~\nil & = & e \\
- Foldr~f~e~(x:xs) & = & f~e~(Foldr~f~e~xs)
-\end{eqnarray*}
-$Foldr$ tends to be more efficient than $Foldl$, because $Foldl$
-has to run along the entire list before it can start applying $f$,
-whereas $Foldr$ can apply $f$ straight away. If $f$ is a lazy function,
-this can make quite a difference. $Foldl$ on infinite lists, anyone?
-\begin{TeXcode}
-\def\Foldl#1#2#3%
- {#3{\Foldl@{#1}{#2}}{#2}}
-\def\Foldl@#1#2#3#4%
- {\Foldl{#1}{#1{#2}{#3}}{#4}}
-\def\Foldr#1#2#3%
- {#3{\Foldr@{#1}{#2}}{#2}}
-\def\Foldr@#1#2#3#4%
- {#1{#3}{\Foldr{#1}{#2}{#4}}}
-\end{TeXcode}
-
-\subsection{Cat}
-
-Given two lists, we would like to be able to stick them together,
-which is what $Cat$ (short for ``concatenate'')
-does. For example, $Cat~[1,2]~[3,4]$ is
-$[1,2,3,4]$. It can be defined using $Foldr$:
-\begin{eqnarray*}
- Cat~xs~ys & = & Foldr~Cons~ys~xs
-\end{eqnarray*}
-So
-\begin{eqnarray*}
- \start{Cat~[1,2]~[3,4]}
- & = & Foldr~Cons~[3,4]~[1,2] \\
- & = & Cons~1~(Foldr~Cons~[3,4]~[2]) \\
- & = & Cons~1~(Cons~2~(Foldr~Cons~[3,4]~\nil)) \\
- & = & Cons~1~(Cons~2~[3,4]) \\
- & = & \Unlistize{\Cat{\Listize[1,2]}{\Listize[3,4]}}
-\end{eqnarray*}
-The \TeX\ code for \verb|\Cat| is suspiciously similar to its mathematical
-definition.
-\begin{TeXcode}
-\def\Cat#1#2{\Foldr\Cons{#2}{#1}}
-\end{TeXcode}
-
-\subsection{Reverse}
-
-We can reverse any list with the function $Reverse$, defined using
-$Foldl$:
-\begin{eqnarray*}
- Reverse & = & Foldl~(Twiddle~Cons)~Nil
-\end{eqnarray*}
-For example, $Reverse~[1,2,3]$ can be calculated:
-\begin{eqnarray*}
- \start{Reverse~[1,2,3]}
- & = & Foldl~(Twiddle~Cons)~Nil~[1,2,3] \\
- & = & Twiddle~Cons \\
- & & \quad (Twiddle~Cons~(Twiddle~Cons~Nil~1)~2)~3 \\
- & = & Cons~3~(Cons~2~(Cons~1~Nil)) \\
- & = & \Show\Reverse[1,2,3]
-\end{eqnarray*}
-The \TeX\ code for \verb|\Reverse| doesn't even take in any parameters.
-\begin{TeXcode}
-\def\Reverse{\Foldl{\Twiddle\Cons}\Nil}
-\end{TeXcode}
-
-\subsection{All, Some and Isempty}
-
-Given a predicate $p$, we can find out if all the elements of
-a list satisfy $p$ with $All~p$. Similarly we can find if something
-in the list satisfies $p$ with $Some~p$. For example,
-\begin{eqnarray*}
- All~(Lessthan~1)~[1,2,3]
- & = & \All{\Lessthan 1}{\Listize[1,2,3]}{True}{False} \\
- Some~(Lessthan~1)~[1,2,3]
- & = & \Some{\Lessthan 1}{\Listize[1,2,3]}{True}{False}
-\end{eqnarray*}
-These can be defined
-\begin{eqnarray*}
- All~p & = & Foldr~(Compose~And~p)~True \\
- Some~p & = & Foldr~(Compose~Or~p)~False
-\end{eqnarray*}
-For example, $Isempty$ can be defined
-\begin{eqnarray*}
- Isempty & = & All~(First~False)
-\end{eqnarray*}
-This is probably not the most efficient check in the world, but we
-hardly ever need it --- $Foldl$ or $Foldr$ will normally do the job.
-\begin{TeXcode}
-\def\All#1{\Foldr{\Compose\And{#1}}\True}
-\def\Some#1{\Foldr{\Compose\Or{#1}}\False}
-\def\Isempty{\All{\First\False}}
-\end{TeXcode}
-
-\subsection{Filter}
-
-$Filter$ takes a predicate $p$ and a list $xs$, and returns a list
-containing only those elements of $xs$ that satisfy $p$. For example,
-\begin{eqnarray*}
- Filter~(Lessthan~1)~[1,2,3] & = & \Show\Filter{\Lessthan 1}[1,2,3]
-\end{eqnarray*}
-$Filter$ can be defined as a $Foldr$:
-\begin{eqnarray*}
- Filter~p & = & Foldr~(Lift~p~Cons~Second)~Nil
-\end{eqnarray*}
-Another easy bit of \TeX:
-\begin{TeXcode}
-\def\Filter#1%
- {\Foldr{\Lift{#1}\Cons\Second}\Nil}
-\end{TeXcode}
-
-\subsection{Map}
-
-$Map$ takes a function $f$ and a list $xs$ and applies $f$ to every
-element of $xs$. For example,
-\begin{eqnarray*}
- Map~f~[1,2,3] & = & \Show\Map{f~}[1,2,3]
-\end{eqnarray*}
-This is another job for $Foldr$.
-\begin{eqnarray*}
- Map~f & = & Foldr~(Compose~Cons~f)~Nil
-\end{eqnarray*}
-We shall see $Map$ used later on, to convert from a list of
-names such as \Show\Map{\Compose\mbox\tt}[Fac-yawn,Fac-cows], to a list of
-labels such as \By[Fac-yawn,Fac-cows].
-\begin{TeXcode}
-\def\Map#1{\Foldr{\Compose\Cons{#1}}\Nil}
-\end{TeXcode}
-
-\subsection{Insert}
-
-The only function we need which isn't easily defined as a reduction
-is $Insert$, which inserts an element into a sorted list. For example,
-\begin{eqnarray*}
- Insert~Lessthan~3~[1,2,4,5] & = & \Show\Insert\Lessthan3[1,2,4,5]
-\end{eqnarray*}
-$Insert$ takes in an ordering as its first parameter, so we're not stuck
-with one particular order. It is defined directly in terms of the
-definition of lists.
-\begin{eqnarray*}
- Insert~o~x~xs & = & xs~(Insert'~o~x)~(Singleton~x) \\
- Insert'~o~x~y~ys & = & o~x~y \\
- & & \quad (Cons~x~(Cons~y~ys)) \\
- & & \quad (Cons~y~(Insert~o~x~ys))
-\end{eqnarray*}
-We can then define the function all this has been leading up to,
-$Insertsort$ which takes an ordering and a list, and insert-sorts the
-list according to the ordering. For example,
-\begin{eqnarray*}
- Insertsort~Lessthan~[2,3,1,2] & = & \Show\Insertsort\Lessthan[2,3,1,2]
-\end{eqnarray*}
-We can implement this as a fold:
-\begin{eqnarray*}
- Insertsort~o & = & Foldr~(Insert~o)~Nil
-\end{eqnarray*}
-And so we've got sorted lists.
-\begin{TeXcode}
-\def\Insert#1#2#3%
- {#3{\Insert@{#1}{#2}}{\Singleton{#2}}}
-\def\Insert@#1#2#3#4%
- {#1{#2}{#3}%
- {\Cons{#2}{\Cons{#3}{#4}}}%
- {\Cons{#3}{\Insert{#1}{#2}{#4}}}}
-\def\Insertsort#1{\Foldr{\Insert{#1}}\Nil}
-\end{TeXcode}
-Interestingly, as we have implemented unbounded lists in \TeX's mouth,
-this means we can implement a Turing Machine. So, if you believe
-the Church-Turing thesis, \TeX's mouth is as powerful as any
-computer anywhere. Isn't that good to know?
-
-\section{Sorting reference lists}
-\label{thissection}
-
-So, these are the macros I've got to play with --- how do we apply them to
-sorting lists of references? Well, I'm using \LaTeX, which keeps the
-current reference in a macro called \verb|\@currentlabel|, which
-is~\ref{thissection} at the moment, as this is Section~\ref{thissection}.
-So I just need to store the value of \verb|\@currentlabel| somehow.
-
-Fortunately, I'm only ever going to be making references to facts
-earlier on in the document, in order to make sure I'm not proving
-any results in terms of themselves. So I don't need to play around
-with auxiliary files, and can just do everything in terms of
-macros.
-
-\subsection{Number and Label}
-
-Each label in the document is given a unique number, in the order
-the labels were put down. So the number of \verb|Fac-cows|
-is \verb|\Number{Fac-cows}|, which expands out to~\Number{Fac-cows},
-the number of \verb|Fac-people| is~\Number{Fac-people}, and so on.
-
-Each number has an associated label with it. For example,
-the first label is \verb|\Label{1}|, which is~\Label{1},
-the second label is~\Label{2} and so on. So to find the label for
-\verb|Fac-cows|, we say \verb|\Label{\Number{Fac-cows}}| which expands
-out to~\Label{\Number{Fac-cows}}.
-
-These numbers and labels are kept track of in macros. For example,
-the number of \verb|Fac-cows| is kept in \cstok{Number-Fac-cows}.
-Similarly, the first label is kept in \cstok{Label-1}.
-As these macros have dashes in their names, they aren't likely to
-be used already.
-
-So the \TeX\ code for \verb|\Number| and \verb|\Label| is pretty
-simple.
-\begin{verbatim}
-\def\Number#1{\csname Number-#1\endcsname}
-\def\Label#1{\csname Label-#1\endcsname}
-\end{verbatim}
-
-\subsection{Lastnum and Forward}
-
-The number of the most recent label is kept in \verb|\Lastnum|.
-\begin{verbatim}
-\newcount\Lastnum
-\end{verbatim}
-To put down a label \verb|Foo|, I type \verb|\Forward{Foo}|.
-\Forward{Foo}
-This increments the counter
-\verb|\Lastnum|, and \verb|\xdef|s \cstok{Number-Foo}
-to be the value of
-\verb|\Lastnum|, which is now~\the\Lastnum. So
-\verb|\Number{Foo}| now expands to~\Number{Foo}.
-Similarly, it \verb|\xdef|s \cstok{Label-\Number{Foo}} to be
-\verb|\@currentlabel|, which is currently~\Label{\Number{Foo}}.
-So \verb|\Label{\Number{Foo}}| now expands to~\Label{\Number{Foo}}.
-\begin{verbatim}
-\def\Forward#1%
- {\global\advance\Lastnum by 1
- \csnameafter\xdef{Number-#1}%
- {\the\Lastnum}%
- \csnameafter\xdef{Label-\the\Lastnum}%
- {\@currentlabel}}
-\end{verbatim}
-This uses \verb|\csnameafter\foo{bar}|, which expands out to
-\verb|\foo\bar|.
-\begin{verbatim}
-\def\csnameafter#1#2%
- {\expandafter#1\csname#2\endcsname}
-\end{verbatim}
-
-\subsection{Listize, Unlistize and Show}
-
-At the moment, lists have to be built up using \verb|\Cons| and
-\verb|\Nil|, which is rather annoying. Similarly, we can't actually
-do anything with a list once we've built it. We'd like some way
-of converting lists in the form \verb|[a,b,c]| to and from the
-form $[a,b,c]$. This is done with \verb|\Listize| and \verb|\Unlistize|.
-So \verb|\Listize[a,b,c]| expands to
-\begin{verbatim}
-\Cons{a}{\Cons{b}{\Cons{c}{\Nil}}}
-\end{verbatim}
-Similarly, \verb|\Unlistize| takes the list $[a,b,c]$ and expands out
-to \verb|[a, b, c]|. \verb|\Unlistize| is done with a $Foldr$.
-\begin{TeXcode}
-\def\Unlistize#1{[#1\Unlistize@{}]}
-\def\Unlistize@#1{#1\Foldr\Commaize{}}
-\def\Commaize#1#2{, #1#2}
-\end{TeXcode}
-The macro \verb|\Listize| is just a \TeX\ hack with pattern matching.
-It would have been nice to use \verb|\@ifnextchar| for this, but
-that uses \verb|\futurelet|, which doesn't expand in the mouth. Oh well.
-\begin{TeXcode}
-\def\Listize[#1]%
- {\Listize@[#1,\relax]}
-\def\Listize@#1,#2]%
- {\TeXif{\ifx\relax#2}%
- {\Singleton{#1}}%
- {\Cons{#1}{\Listize@#2]}}
-\end{TeXcode}
-This only works for nonempty lists --- \verb|\Listize[]| produces the
-singleton list \verb|\Singleton{}|. It also uses \verb|\relax| as its
-end-of-list character, so lists with \verb|\relax| in them have to
-be done by hand. You can't win them all. So
-\begin{verbatim}
-$\Unlistize{\Listize[a,b,c]}$
-\end{verbatim}
-produces
-$\Unlistize{\Listize[a,b,c]}$. This is such a common construction
-that I've defined a macro \verb|\Show| such that
-\verb|\Show\foo[a,b,c]| expands out to
-\begin{verbatim}
-\Unlistize{\foo{\Listize[a,b,c]}}
-\end{verbatim}
-For example, the equation
-\begin{eqnarray*}
- Filter\,(Lessthan\,1)\,[1,2,3]
- &=& \Show\Filter{\Lessthan 1}[1,2,3]
-\end{eqnarray*}
-was generated with
-\begin{verbatim}
-\begin{eqnarray*}
- Filter\,(Lessthan\,1)\,[1,2,3]
- &=& \Show\Filter{\Lessthan 1}[1,2,3]
-\end{eqnarray*}
-\end{verbatim}
-Many of the examples in this article were typeset this way.
-\begin{TeXcode}
-\def\Show#1[#2]%
- {\Unlistize{#1{\Listize[#2]}}}
-\end{TeXcode}
-
-\subsection{By}
-
-Given these macros, we can now sort any list of references with $Bylist$,
-defined
-\begin{eqnarray*}
- Bylist~xs & = & Map~Label \\
- & & \quad (Insertsort~Lessthan \\
- & & \quad\quad (Map~Number~xs))
-\end{eqnarray*}
-This takes in a list of label names like \verb|Fac-yawn|,
-converts it into a list of numbers with $Map~Number$,
-sorts the resulting list with $Insertsort~Lessthan$,
-and finally converts all the numbers into labels like
-\Label{\Number{Fac-yawn}} with $Map~Label$. For example,
-\begin{eqnarray*}
- \start{Bylist~\Show\Map{\Compose\mbox\tt}[Fac-yawn,Fac-cows]}
- & = & Map~Label~(Insertsort~Lessthan \\
- & & \quad (Map~Number~
- \Show\Map{\Compose\mbox\tt}[Fac-yawn,Fac-cows])) \\
- & = & Map~Label~(Insertsort~Lessthan~
- \Show\Map\Number[Fac-yawn,Fac-cows]) \\
- & = & Map~Label~\Show\Compose{\Insertsort\Lessthan}{\Map\Number}
- [Fac-yawn,Fac-cows] \\
- & = & \Show\Bylist[Fac-yawn,Fac-cows]
-\end{eqnarray*}
-The \TeX\ code for this is
-\begin{verbatim}
-\def\Bylist#1%
- {\Map\Label
- {\Insertsort\Lessthan
- {\Map\Number{#1}}}}
-\end{verbatim}
-So we can now stick all this together, and define the macro \verb|\By|
-that prints out lists of references. It is
-\begin{verbatim}
-\def\By{\Show\Bylist}
-\end{verbatim}
-So \verb|\By[Fac-yawn,Fac-cows]| is~\By[Fac-yawn,Fac-cows].
-Which is quite nice.
-
-\section{Other applications}
-\label{outputroutines}
-
-Is all this worth it? Well, I've managed to get my lists of facts in
-order, but that's not the world's most astonishing application.
-There are other things that these lists are useful for, though.
-
-For example, Damian Cugley has a macro package under development for
-laying out magazines. {\sc Mag}\TeX's output routine needs to be quite
-smart, as magazines often have gaps where illustrations or photographs
-are going to live. In general, each block of text needs to be output
-in a different fashion from every other block of text.
-This will be handled by keeping an infinite list of output
-routines. Each time a box is cut off the scroll to be output,
-the head of the list is chopped off and is used as the output routine
-for that box. That way, quite complex page shapes can be built up.
-
-Mainly, though, these macros were written just as a challenge.
-I learned quite a lot about \TeX\ and needed some \TeX niques I'd
-never seen before. It was also quite pleasing to see that \TeX\ code
-can be formally verified, albeit in a rather noddy way. Without
-some sort of abstract view of lists, these \TeX\ macros could
-not have been written.
-
-\section{Acknowledgements}
-
-Thanks to Jeremy Gibbons for letting me bounce ideas off him
-and spotting the duff ones,
-to Damian Cugley for saying ``Do you really think \TeX\ is meant
-to do this?'', and to the Problem Solving Club for hearing me out.
-This work was sponsored by the Science and Engineering
-Research Council and Hewlett Packard.
-
-\makesignature
-
-\end{document}
-
diff --git a/Master/texmf-dist/doc/latex/skak/longmove_king_bug.tex b/Master/texmf-dist/doc/latex/skak/longmove_king_bug.tex
new file mode 100644
index 00000000000..8af601c3f54
--- /dev/null
+++ b/Master/texmf-dist/doc/latex/skak/longmove_king_bug.tex
@@ -0,0 +1,23 @@
+\documentclass{article}
+
+\usepackage{skak}
+
+\begin{document}
+
+\styleC
+
+\longmoves
+
+\newgame
+
+\mainline{ 1. e4 e5 2. Ke2 Ke7 }
+
+% \lastmove
+
+\showboard
+
+\end{document}
+%%% Local Variables:
+%%% mode: latex
+%%% TeX-master: t
+%%% End:
diff --git a/Master/texmf-dist/doc/latex/skak/makefile b/Master/texmf-dist/doc/latex/skak/makefile
index 61218d5c820..cacef853585 100644
--- a/Master/texmf-dist/doc/latex/skak/makefile
+++ b/Master/texmf-dist/doc/latex/skak/makefile
@@ -4,6 +4,7 @@
# Version: July 1999
SHELL = /bin/sh
+LATEX = latex
# where should the .sty and .tfm files go?
TEXMFROOT=$(HOME)/Library/texmf
@@ -14,13 +15,13 @@ 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
+SKAKMACROS= skak10.600pk skak15.600pk skak20.600pk skak30.600pk skakf10.600pk skakf10b.600pk tex/skak.sty
.SUFFIXES: .dvi .ps .600gf .600pk
all: fonts doc
-doc: skakdoc.ps tuggame.ps refman.ps informator.ps
+doc: skakdoc.pdf tuggame.pdf refman.pdf informator.pdf
fonts: skak10.600pk skak15.600pk skak20.600pk skak30.600pk skakf10.600pk skakf10b.600pk
@@ -44,27 +45,30 @@ skakinf.mf: mf/skakinf.mf
skakdoc.dvi: doc/skakdoc.tex $(SKAKMACROS)
(cp tex/*.sty .; \
- latex "\batchmode\input doc/skakdoc.tex" \
- latex "\batchmode\input doc/skakdoc.tex")
+ ${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")
+ ${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")
+ ${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")
+ ${LATEX} "\batchmode\input doc/informator.tex" \
+ ${LATEX} "\batchmode\input doc/informator.tex")
-.dvi.ps :
- dvips -o $@ $<
+%.pdf: %.dvi
+ dvipdf $<
+
+.dvi.pdf :
+ dvipdf -o $@ $<
.600gf.600pk:
gftopk $<
@@ -89,6 +93,12 @@ skakf10b.tfm skakf10b.600gf: mf/skakf10b.mf $(MFSKAKBASE) skakbase
(mf "\mode:=localfont; input mf/skakf10b")
install: fonts doc
+ install -d ${DESTPK}
+ install -d ${DESTGF}
+ install -d ${DESTTFM}
+ install -d ${DESTSOURCE}
+ install -d ${INPUTS}
+ install -d ${DESTDOC}
install skak*.600pk $(DESTPK)
install skak*.600gf $(DESTGF)
install skak*.tfm $(DESTTFM)
@@ -99,7 +109,6 @@ install: fonts doc
@echo "Remember to run texhash!"
clean:
rm -f *gf *pk *.ps *.dvi *.aux *.log *.tfm *.mf *.fd *.sty *.toc
-
-
+ rm -f test/*.dvi test/*.log test/*.aux
diff --git a/Master/texmf-dist/doc/latex/skak/refman.pdf b/Master/texmf-dist/doc/latex/skak/refman.pdf
deleted file mode 100644
index 098140006d5..00000000000
--- a/Master/texmf-dist/doc/latex/skak/refman.pdf
+++ /dev/null
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/skak/refman.ps b/Master/texmf-dist/doc/latex/skak/refman.ps
new file mode 100644
index 00000000000..e273f763c38
--- /dev/null
+++ b/Master/texmf-dist/doc/latex/skak/refman.ps
@@ -0,0 +1,6586 @@
+%!PS-Adobe-2.0
+%%Creator: dvips(k) 5.991 Copyright 2011 Radical Eye Software
+%%Title: refman.dvi
+%%CreationDate: Thu Jul 18 23:26:37 2013
+%%Pages: 3
+%%PageOrder: Ascend
+%%Orientation: Landscape
+%%BoundingBox: 0 0 596 842
+%%DocumentFonts: CMTT10 CMBX10 CMSSBX10 CMSY10 CMR10 CMSSI10 CMTI10
+%%+ CMMI10 SkakNew-Figurine
+%%DocumentPaperSizes: a4
+%%EndComments
+%DVIPSWebPage: (www.radicaleye.com)
+%DVIPSCommandLine: dvips -o refman.ps refman.dvi
+%DVIPSParameters: dpi=600
+%DVIPSSource: TeX output 2013.07.18:2326
+%%BeginProcSet: tex.pro 0 0
+%!
+/TeXDict 300 dict def TeXDict begin/N{def}def/B{bind def}N/S{exch}N/X{S
+N}B/A{dup}B/TR{translate}N/isls false N/vsize 11 72 mul N/hsize 8.5 72
+mul N/landplus90{false}def/@rigin{isls{[0 landplus90{1 -1}{-1 1}ifelse 0
+0 0]concat}if 72 Resolution div 72 VResolution div neg scale isls{
+landplus90{VResolution 72 div vsize mul 0 exch}{Resolution -72 div hsize
+mul 0}ifelse TR}if Resolution VResolution vsize -72 div 1 add mul TR[
+matrix currentmatrix{A A round sub abs 0.00001 lt{round}if}forall round
+exch round exch]setmatrix}N/@landscape{/isls true N}B/@manualfeed{
+statusdict/manualfeed true put}B/@copies{/#copies X}B/FMat[1 0 0 -1 0 0]
+N/FBB[0 0 0 0]N/nn 0 N/IEn 0 N/ctr 0 N/df-tail{/nn 8 dict N nn begin
+/FontType 3 N/FontMatrix fntrx N/FontBBox FBB N string/base X array
+/BitMaps X/BuildChar{CharBuilder}N/Encoding IEn N end A{/foo setfont}2
+array copy cvx N load 0 nn put/ctr 0 N[}B/sf 0 N/df{/sf 1 N/fntrx FMat N
+df-tail}B/dfs{div/sf X/fntrx[sf 0 0 sf neg 0 0]N df-tail}B/E{pop nn A
+definefont setfont}B/Cw{Cd A length 5 sub get}B/Ch{Cd A length 4 sub get
+}B/Cx{128 Cd A length 3 sub get sub}B/Cy{Cd A length 2 sub get 127 sub}
+B/Cdx{Cd A length 1 sub get}B/Ci{Cd A type/stringtype ne{ctr get/ctr ctr
+1 add N}if}B/CharBuilder{save 3 1 roll S A/base get 2 index get S
+/BitMaps get S get/Cd X pop/ctr 0 N Cdx 0 Cx Cy Ch sub Cx Cw add Cy
+setcachedevice Cw Ch true[1 0 0 -1 -.1 Cx sub Cy .1 sub]{Ci}imagemask
+restore}B/D{/cc X A type/stringtype ne{]}if nn/base get cc ctr put nn
+/BitMaps get S ctr S sf 1 ne{A A length 1 sub A 2 index S get sf div put
+}if put/ctr ctr 1 add N}B/I{cc 1 add D}B/bop{userdict/bop-hook known{
+bop-hook}if/SI save N @rigin 0 0 moveto/V matrix currentmatrix A 1 get A
+mul exch 0 get A mul add .99 lt{/QV}{/RV}ifelse load def pop pop}N/eop{
+SI restore userdict/eop-hook known{eop-hook}if showpage}N/@start{
+userdict/start-hook known{start-hook}if pop/VResolution X/Resolution X
+1000 div/DVImag X/IEn 256 array N 2 string 0 1 255{IEn S A 360 add 36 4
+index cvrs cvn put}for pop 65781.76 div/vsize X 65781.76 div/hsize X}N
+/dir 0 def/dyy{/dir 0 def}B/dyt{/dir 1 def}B/dty{/dir 2 def}B/dtt{/dir 3
+def}B/p{dir 2 eq{-90 rotate show 90 rotate}{dir 3 eq{-90 rotate show 90
+rotate}{show}ifelse}ifelse}N/RMat[1 0 0 -1 0 0]N/BDot 260 string N/Rx 0
+N/Ry 0 N/V{}B/RV/v{/Ry X/Rx X V}B statusdict begin/product where{pop
+false[(Display)(NeXT)(LaserWriter 16/600)]{A length product length le{A
+length product exch 0 exch getinterval eq{pop true exit}if}{pop}ifelse}
+forall}{false}ifelse end{{gsave TR -.1 .1 TR 1 1 scale Rx Ry false RMat{
+BDot}imagemask grestore}}{{gsave TR -.1 .1 TR Rx Ry scale 1 1 false RMat
+{BDot}imagemask grestore}}ifelse B/QV{gsave newpath transform round exch
+round exch itransform moveto Rx 0 rlineto 0 Ry neg rlineto Rx neg 0
+rlineto fill grestore}B/a{moveto}B/delta 0 N/tail{A/delta X 0 rmoveto}B
+/M{S p delta add tail}B/b{S p tail}B/c{-4 M}B/d{-3 M}B/e{-2 M}B/f{-1 M}
+B/g{0 M}B/h{1 M}B/i{2 M}B/j{3 M}B/k{4 M}B/w{0 rmoveto}B/l{p -4 w}B/m{p
+-3 w}B/n{p -2 w}B/o{p -1 w}B/q{p 1 w}B/r{p 2 w}B/s{p 3 w}B/t{p 4 w}B/x{
+0 S rmoveto}B/y{3 2 roll p a}B/bos{/SS save N}B/eos{SS restore}B end
+
+%%EndProcSet
+%%BeginProcSet: pstricks.pro 0 0
+% $Id: pstricks.pro 647 2012-02-12 15:03:40Z herbert $
+%
+%% PostScript prologue for pstricks.tex.
+%% Version 1.12, 2012/02/12
+%%
+%% This program can be redistributed and/or modified under the terms
+%% of the LaTeX Project Public License Distributed from CTAN archives
+%% in directory macros/latex/base/lppl.txt.
+%
+%
+% Define the follwing gs-functions if not known, eg when using distiller
+%
+systemdict /.setopacityalpha known not {/.setopacityalpha { pop } def } if
+systemdict /.setblendmode known not {/.setblendmode { pop } def } if
+systemdict /.setshapealpha known not {/.setshapealpha { pop } def } if
+%
+/tx@Dict 200 dict def % the main PSTricks dictionary
+tx@Dict begin
+/ADict 25 dict def % The arrow dictionaray
+/CM { matrix currentmatrix } bind def
+/SLW /setlinewidth load def
+/CLW /currentlinewidth load def
+/CP /currentpoint load def
+/ED { exch def } bind def
+/L /lineto load def
+/T /translate load def
+/TMatrix { } def
+/RAngle { 0 } def
+/Sqrt { dup 0 lt { pop 0 } { sqrt } ifelse } def % return 0 for negative arguments
+/Atan { /atan load stopped { pop pop 0 } if } def % return 0 if atan not known
+/ATAN1 {neg -1 atan 180 sub } def % atan(x) (only one parameter)
+/Div { dup 0 eq { pop } { div } ifelse } def % control the division
+/tan { dup cos abs 1.e-10 lt
+ { pop 1.e10 } % return 1.e10 as infinit
+ { dup sin exch cos div } ifelse % default sin/cos
+} def
+/Tan { dup sin exch cos Div } def % sin(x)/cos(x) x in degrees
+/Acos {dup dup mul neg 1 add dup 0 lt { % arc cos, returns 0 when negative root
+ pop pop 0 }{ sqrt exch atan} ifelse } def
+/NET { neg exch neg exch T } def % change coordinate system to the negative one
+/Pyth { dup mul exch dup mul add sqrt } def % Pythagoras, expects 2 parameter
+/Pyth2 { % Pythagoras, xA yA xB yB
+ 3 -1 roll % xA xB yB yA
+ sub % xA xB yB-yA
+ 3 1 roll % yB-yA xA xB
+ sub % yB-yA xA-xB
+ Pyth } def
+/PtoC { 2 copy cos mul 3 1 roll sin mul } def % Polar to Cartesian
+/Rand { rand 4294967295 div } def % a real random number
+%----------------- hv added 20050516 ---------------
+/PiDiv2 1.57079632680 def
+/Pi 3.14159265359 def
+/TwoPi 6.28318530718 def
+/Euler 2.71828182846 def
+%/e Euler bind def
+%
+/RadtoDeg { 180 mul Pi div } bind def % convert from radian to degrees
+/DegtoRad { Pi mul 180 div } bind def % viceversa
+%----------------- hv end---------------------------
+/PathLength@ { /z z y y1 sub x x1 sub Pyth add def /y1 y def /x1 x def } def
+%
+/PathLength {
+ flattenpath /z 0 def
+ { /y1 ED /x1 ED /y2 y1 def /x2 x1 def }
+ { /y ED /x ED PathLength@ }
+ {}
+ { /y y2 def /x x2 def PathLength@ }
+ /pathforall load stopped { pop pop pop pop } if
+ z
+} def
+%
+/STP { .996264 dup scale } def % BP/PT scaling
+/STV { SDict begin normalscale end STP } def %
+%
+/DashLine {
+ dup 0 gt
+ { /a .5 def PathLength exch div }
+ { pop /a 1 def PathLength } ifelse
+ /b ED % pattern should fit evenly in b
+ dup /X ED % pattern array
+ 0 get /y ED % length of first black segment
+ /z 0 X {add} forall def % length of the full pattern
+ %% Computation of the scaling factor as described by van Zandt:
+ b a .5 sub 2 mul y mul sub z Div round
+ z mul a .5 sub 2 mul y mul add b exch Div
+ %%%% scaling factor on stack.
+ /z ED %% now, z is the scaling factor
+ false % for the length test below
+ X { z mul } forall X astore %% modification TN 04-08-07
+ %%% Checking whether at least one dash in X has positive length:
+ {0 gt or} forall
+ { X 1 a sub y mul }
+ { [ 1 0 ] 0 }
+ ifelse
+ setdash stroke
+} def
+%
+/DotLine {
+ /b PathLength def
+ /a ED /z ED /y CLW def
+ /z y z add def
+ a 0 gt {
+ /b b a div def
+ }{
+ a 0 eq {
+ /b b y sub def
+ }{ a -3 eq {
+ /b b y add def } if
+ } ifelse
+ } ifelse
+ [ 0 b b z Div round Div dup 0 le { pop 1 } if ]
+ a 0 gt { 0 }{ y 2 div a -2 gt { neg }if } ifelse
+ setdash 1 setlinecap stroke
+} def
+%
+/SymbolLine { % on stack [ x y x y ...
+ counttomark % number of elements
+ 2 div cvi /n ED % n pairs
+ /YA ED /XA ED % the start point
+ n 1 sub {
+ /YB ED /XB ED
+ /XLength XB XA sub def
+ /YLength YB YA sub def
+ /PAngle YLength XLength Atan def
+ /XYLength XLength YLength Pyth def
+
+ %% for negative SymStep we calculate the distance
+ SymStep 0 lt
+ { %XYLength SymStep div abs cvi
+ /nSym SymStep abs cvi def }
+ { /nSym XYLength SymStep div cvi def }
+ ifelse
+ 0.5 setflat
+ /Shift Symbol stringwidth pop 2 div def
+ /deltaX XLength nSym div def
+ /deltaY YLength nSym div def
+ curveticks
+ { XA YA moveto }
+ { XA Shift sub YA Shift sub moveto }
+ ifelse
+ nSym {
+ gsave
+ curveticks
+ { PAngle 180 sub CorrAngle sub tickAngle add /rotAngle ED
+ currentpoint translate rotAngle rotate
+ 0 SymbolWidth 2 div moveto 0 SymbolWidth 2 div neg lineto
+ SymbolLinewidth setlinewidth stroke
+ }
+ {
+ rotateSymbol { PAngle 180 sub CorrAngle sub rotate } if
+ Symbol show
+ }
+ ifelse
+ grestore
+ deltaX deltaY rmoveto
+ } repeat
+ /YA YB def /XA XB def
+ } repeat
+ curveticks
+ { XA YA moveto }
+ { XA Shift sub YA Shift sub moveto }
+ ifelse
+ gsave
+ curveticks
+ { PAngle 180 sub CorrAngle sub tickAngle add /rotAngle ED
+ XA YA translate rotAngle rotate
+ 0 SymbolWidth 2 div moveto 0 SymbolWidth 2 div neg lineto
+ SymbolLinewidth setlinewidth stroke
+ }
+ {
+ rotateSymbol { PAngle 180 sub CorrAngle sub rotate } if
+ Symbol show
+ }
+ ifelse
+ grestore
+ pop % delete the mark symbol
+} def
+%
+/LineFill { % hv ------------ patch 7 -------------
+ gsave
+ abs /hatchWidthInc ED
+ abs /hatchSepInc ED
+ abs CLW add /a ED
+ a 0 dtransform round exch round exch
+ 2 copy idtransform
+ exch Atan rotate
+ idtransform pop /a ED
+ .25 .25 itransform pathbbox
+ /y2 ED
+ a Div ceiling cvi /x2 ED /y1 ED
+ a Div cvi /x1 ED /y2 y2 y1 sub def
+ clip
+ newpath
+ 2 setlinecap
+ systemdict
+ /setstrokeadjust known { true setstrokeadjust } if
+ x2 x1 sub 1 add {
+ x1 a mul y1 moveto 0 y2 rlineto stroke
+ /x1 x1 1 add
+ hatchWidthInc 0 gt { CLW add } if
+ def
+ hatchSepInc 0 gt hatchWidthInc 0 gt or {
+ /a a hatchSepInc add def
+ CLW hatchWidthInc add SLW
+ } if
+ } repeat
+ grestore
+ pop pop } def
+%
+/DotFill {% on stack: dot radius
+ /dotRadius ED
+ abs CLW add /a ED
+ a 0 dtransform round exch round exch
+ 2 copy idtransform
+ exch Atan rotate
+ idtransform pop /a ED
+ .25 .25 itransform
+ pathbbox % llx lly urx ury of smallest bounding box
+ /y2 ED /x2 ED /y1 ED /x1 ED
+ y2 y1 sub a div 2 add cvi /Ny ED
+ x2 x1 sub a div 2 add cvi /Nx ED
+ clip
+ newpath
+ /yA y1 dotRadius add CLW add def
+ /xA0 x1 dotRadius add CLW add def
+ Ny {
+ /xA xA0 def
+ Nx {
+ newpath
+ xA yA dotRadius 0 360 arc
+ SolidDot { gsave fill grestore } if
+ stroke
+ xA a add /xA ED
+ } repeat
+ yA a add /yA ED
+ } repeat
+ grestore
+} def
+%
+/PenroseFill {% on stack: scaling factor
+ dup dup scale
+ 1 exch div round /penroseFactor ED
+ a 0 dtransform round exch round exch
+ 2 copy idtransform
+ exch Atan rotate
+ idtransform pop /a ED
+ .25 .25 itransform pathbbox
+ /y2 ED
+ a Div ceiling cvi /x2 ED /y1 ED
+ a Div cvi /x1 ED /y2 y2 y1 sub def
+ clip
+ newpath
+ systemdict
+ /setstrokeadjust known { true setstrokeadjust } if
+ /I/S/L/W/G/+/Z/F/E/D[/def/exch/for{E D}/add{s E get mul}
+ { Z -36.2001 1 33 }{25 E S rlineto}{/q Z dup q G E q 1 + G}{Z 2 2}]{cvx def}forall
+ [0 72 1008 {dup sin E cos }F ]1 setlinejoin/s W{/a W{/b I 10{/i I 4{/m I moveto
+ i m +/j I 10{/l Z b m l + G a l G sub s m get div .2 + floor .3 + 25
+ mul j l + S rmoveto}F i L j L stroke }F}F}F}F
+ grestore
+ pop pop
+} def
+%
+/TruchetFill { % on stack: scaling factor
+ 10 dict begin
+ dup dup scale
+ 1 exch div round /penroseFactor ED
+ a 0 dtransform round exch round exch
+ 2 copy idtransform
+ exch Atan rotate
+ idtransform pop /a ED
+ .25 .25 itransform pathbbox
+ /y2 ED
+ a Div ceiling cvi /x2 ED /y1 ED
+ a Div cvi /x1 ED /y2 y2 y1 sub def
+ clip
+ newpath
+ systemdict
+ /setstrokeadjust known { true setstrokeadjust } if
+ /ma a neg def
+ /ha a 2 div def
+ /mha ha neg def
+ /tile {
+ rand dup 2 idiv 2 mul eq { 90 rotate } if
+ mha mha moveto ha mha lineto
+ ha ha lineto mha ha lineto
+% closepath .1 setlinewidth stroke
+ contents
+ } def
+ /contents{
+ 0 ha moveto ha 0 lineto
+ 0 mha moveto mha 0 lineto
+% 1 setlinewidth stroke
+ } def
+ /dotiling {
+ f ma mul a f a mul {
+ /i exch def
+ f ma mul a f a mul {
+ /j exch def
+ gsave i j translate
+ tile stroke grestore
+ } for
+ } for
+ } def
+%
+ /f 3 def
+ 5 srand dotiling
+ end % local user dict
+} def
+%
+/BeginArrow {
+ ADict begin % hold it local, for end see EndArrow
+ /@mtrx CM def
+ gsave
+ 2 copy T
+ 2 index sub neg exch
+ 3 index sub exch Atan
+ rotate newpath
+} def
+%
+/EndArrow { @mtrx setmatrix CP grestore end } def % end the ADict
+%
+/Arrow {
+ CLW mul add dup
+ 2 div /w ED
+ mul dup /h ED
+ mul /a ED
+ { 0 h T 1 -1 scale } if
+ w neg h moveto
+ 0 0 L w h L w neg a neg rlineto
+ gsave fill grestore
+} def
+%
+/ArrowD { % the sides are drawn as curves (hv 20071211)
+ CLW mul add dup
+ 2 div /w ED
+ mul dup /h ED
+ mul /Inset ED
+ { 0 h T 1 -1 scale } if % changes the direction
+% we use y=w/h^2 * x^2 as equation for the control points
+% for the coordinates the arrow is seen from top to bottom
+% the bottom (tip) is (0;0)
+ w neg h moveto % lower left of >
+ w 9 div 4 mul neg h 3 div 2 mul
+ w 9 div neg h 3 div
+ 0 0 curveto % tip of >
+ w 9 div h 3 div
+ w 9 div 4 mul h 3 div 2 mul
+ w h curveto % upper left of >
+ w neg Inset neg rlineto % move to x=0 and inset
+ gsave fill grestore
+} def
+%
+/Tbar {
+ CLW mul add /z ED
+ z -2 div CLW 2 div moveto
+ z 0 rlineto stroke
+ 0 CLW moveto
+} def
+%
+/Bracket {
+ CLW mul add dup CLW sub 2 div
+ /x ED mul CLW add /y ED /z CLW 2 div def
+ x neg y moveto
+ x neg CLW 2 div L x CLW 2 div L x y L stroke
+ 0 CLW moveto
+} def
+%
+/RoundBracket {
+ CLW mul add dup 2 div
+ /x ED mul /y ED /mtrx CM def
+ 0 CLW 2 div T x y mul 0 ne { x y scale } if
+ 1 1 moveto
+ .85 .5 .35 0 0 0 curveto
+ -.35 0 -.85 .5 -1 1 curveto
+ mtrx setmatrix stroke 0 CLW moveto
+} def
+%
+/SD { 0 360 arc fill } def
+%
+/EndDot { % DS is the dot size
+ { /z DS def } { /z 0 def } ifelse % outer or inner dimen
+ /b ED % the color definition
+ 0 z DS SD
+ b { 0 z DS CLW sub SD } if
+ 0 DS z add CLW 4 div sub
+ moveto
+} def
+%
+/Shadow { [ { /moveto load } { /lineto load } { /curveto load } {
+ /closepath load } /pathforall load stopped { pop pop pop pop CP /moveto
+ load } if ] cvx newpath 3 1 roll T exec } def
+%
+/NArray { % holds the coordinates and on top of stack the showpoints boolean
+ /showpoints ED
+ counttomark 2 div dup cvi /n ED % n 2 div on stack
+ n eq not { exch pop } if % even numbers of points? delete one
+ ] aload /Points ED
+ showpoints not { Points aload pop } if
+% { ] aload /Points ED }
+% { n 2 mul 1 add -1 roll pop } ifelse % delete the mark symbol
+} def
+%
+/Line {
+ NArray n 0 eq not
+ { n 1 eq { 0 0 /n 2 def } if ArrowA /n n 2 sub def
+ n { Lineto } repeat
+ CP 4 2 roll ArrowB L pop pop
+ } if
+} def
+%
+/LineToYAxis {
+ /Ox ED % Save the x origin value
+ NArray % all x-y pairs on stack
+ n { 2 copy moveto % go to current point
+ Ox exch Lineto % line to y-axis
+ pop % delete old x-value
+ } repeat
+} def
+%
+/LineToXAxis{
+ /Oy ED % Save the y origin value
+ NArray % all x-y pairs on stack
+ n 0 eq not
+ { n 1 eq { 0 0 /n 2 def } if
+ ArrowA
+ /n n 2 sub def
+ CP 2 copy moveto pop Oy Lineto
+ n { 2 copy moveto pop Oy Lineto } repeat
+ CP
+ 4 2 roll
+ ArrowB
+ 2 copy moveto pop Oy
+ L
+ pop pop } if
+} def
+%
+/Arcto {
+ /a [ 6 -2 roll ] cvx def
+ a r
+ /arcto load stopped { 5 } { 4 } ifelse { pop } repeat
+ a
+} def
+%
+/CheckClosed {
+ dup n 2 mul 1 sub index eq 2 index n 2 mul 1 add index eq
+ and { pop pop /n n 1 sub def } if
+} def
+%
+/Polygon {
+ NArray n 2 eq { 0 0 /n 3 def } if
+ n 3 lt
+ { n { pop pop } repeat }
+ { n 3 gt { CheckClosed } if
+ n 2 mul -2 roll
+ /y0 ED /x0 ED /y1 ED /x1 ED
+ x1 y1
+ /x1 x0 x1 add 2 div def
+ /y1 y0 y1 add 2 div def
+ x1 y1 moveto
+ /n n 2 sub def
+ n { Lineto } repeat
+ x1 y1 x0 y0 6 4 roll Lineto
+ Lineto pop pop closepath } ifelse
+} def
+%
+/SymbolPolygon { % on stack [ x y x y ...
+ counttomark % number of elements
+ 2 add /m ED
+ 2 copy m 2 roll % copy last two
+ m 2 div cvi /n ED % n pairs
+ /YA ED /XA ED % the start point
+ n 1 sub {
+ /YB ED /XB ED
+ /XLength XB XA sub def
+ /YLength YB YA sub def
+ /PAngle YLength XLength Atan def
+ /XYLength XLength YLength Pyth def
+ /nSym XYLength SymStep Div cvi def
+ /Shift Symbol stringwidth pop 2 Div def
+ /deltaX XLength nSym Div def
+ /deltaY YLength nSym Div def
+ XA Shift sub YA Shift sub moveto
+ nSym {
+ gsave rotateSymbol { PAngle 180 sub CorrAngle sub rotate } if
+ Symbol show
+ grestore
+ deltaX deltaY rmoveto
+ } repeat
+% XB Shift sub YB Shift sub moveto Symbol show
+ /YA YB def /XA XB def
+ } repeat
+ pop % delete the mark symbol
+} def
+%
+/Diamond {
+ /mtrx CM def
+ T rotate
+ /h ED
+ /w ED
+ dup 0 eq { pop } { CLW mul neg
+ /d ED
+ /a w h Atan def
+ /h d a sin Div h add def
+ /w d a cos Div w add def } ifelse
+ mark w 2 div h 2 div w 0 0 h neg w neg 0 0 h w 2 div h 2 div
+ /ArrowA { moveto } def
+ /ArrowB { } def
+ false Line
+ closepath mtrx setmatrix } def
+%
+/Triangle {
+ /mtrx CM def
+ translate
+ rotate /h ED 2 div /w ED
+ dup CLW mul /d ED
+ /h h d w h Atan sin Div sub def
+ /w w d h w Atan 2 div dup cos exch sin Div mul sub def
+ mark
+ 0 d w neg d 0 h w d 0 d
+ /ArrowA { moveto } def
+ /ArrowB { } def
+ false
+ Line
+ closepath
+ mtrx
+% DG/SR modification begin - Jun. 1, 1998 - Patch 3 (from Michael Vulis)
+% setmatrix } def
+ setmatrix pop
+} def
+% DG/SR modification end
+%
+/CCA {
+ /y ED /x ED
+ 2 copy y sub /dy1 ED
+ x sub /dx1 ED
+ /l1 dx1 dy1 Pyth def
+} def
+%
+/CC {
+ /l0 l1 def
+ /x1 x dx sub def
+ /y1 y dy sub def
+ /dx0 dx1 def
+ /dy0 dy1 def
+ CCA
+ /dx dx0 l1 c exp mul dx1 l0 c exp mul add def
+ /dy dy0 l1 c exp mul dy1 l0 c exp mul add def
+ /m dx0 dy0 Atan dx1 dy1 Atan sub 2 div cos abs b exp a mul dx dy Pyth Div 2 div def
+ /x2 x l0 dx mul m mul sub def
+ /y2 y l0 dy mul m mul sub def
+ /dx l1 dx mul m mul neg def
+ /dy l1 dy mul m mul neg def
+} def
+%
+/IC {
+ /c c 1 add def
+ c 0 lt { /c 0 def } { c 3 gt { /c 3 def } if } ifelse
+ /a a 2 mul 3 div 45 cos b exp div def
+ CCA
+ /dx 0 def
+ /dy 0 def
+} def
+%
+/BOC { IC CC x2 y2 x1 y1 ArrowA CP 4 2 roll x y curveto } def
+/NC { CC x1 y1 x2 y2 x y curveto } def
+/EOC { x dx sub y dy sub 4 2 roll ArrowB 2 copy curveto } def
+/BAC { IC CC x y moveto CC x1 y1 CP ArrowA } def
+/NAC { x2 y2 x y curveto CC x1 y1 } def
+/EAC { x2 y2 x y ArrowB curveto pop pop } def
+%
+/OpenCurve {
+ NArray n 3 lt
+ { n { pop pop } repeat }
+ { BOC /n n 3 sub def n { NC } repeat EOC } ifelse
+} def
+%
+/CurvePath {
+ %% for negative SymStep we calculate the distance
+ SymStep 0 lt { gsave PathLength SymStep div abs /SymStep ED grestore } if
+ 0.5 setflat
+ flattenpath /z 0 def /z0 0 def
+ { /y1 ED /x1 ED /y2 y1 def /x2 x1 def
+ x1 Shift sub y1 Shift sub moveto
+ gsave
+ curveticks
+ { x1 y1 translate startAngle rotate
+ 0 SymbolWidth 2 div moveto 0 SymbolWidth 2 div neg lineto
+ SymbolLinewidth setlinewidth stroke
+ }
+ { startAngle rotate Symbol show }
+ ifelse
+ grestore /z0 z def }
+ { /y ED /x ED PathLength@ z z0 sub SymStep ge {
+ x Shift sub y Shift sub moveto
+ gsave
+ curveticks
+ { y yOld sub x xOld sub Atan 180 sub CorrAngle sub /rotAngle ED
+ x y translate rotAngle rotate
+ 0 SymbolWidth 2 div moveto 0 SymbolWidth 2 div neg lineto
+ SymbolLinewidth setlinewidth stroke
+ }
+ {
+ rotateSymbol { y yOld sub x xOld sub Atan 180 sub CorrAngle sub rotate } if
+ Symbol show
+ }
+ ifelse
+ grestore /z0 z def } if
+ /yOld y def /xOld x def }
+ {} %% the lineto part
+ { /y y2 def /x x2 def PathLength@
+ x Shift sub y Shift sub moveto
+ gsave
+ curveticks
+ { y yOld sub x xOld sub Atan 180 sub /rotAngle ED
+ x y translate rotAngle rotate
+ 0 SymbolWidth 2 div moveto 0 SymbolWidth 2 div neg lineto
+ SymbolLinewidth setlinewidth stroke
+ }
+ {
+ x Shift sub y Shift sub moveto
+ rotateSymbol { y yOld sub x xOld sub Atan 180 sub CorrAngle sub rotate } if
+ Symbol show
+ }
+ ifelse
+ grestore
+ }
+ pathforall
+% curveticks
+% { gsave
+% x y translate rotAngle rotate
+% 0 SymbolWidth 2 div moveto 0 SymbolWidth 2 div neg lineto
+% SymbolLinewidth setlinewidth stroke grestore
+% } if
+ z
+} def
+%
+/OpenSymbolCurve {
+ OpenCurve
+ 0.1 setflat
+ /Shift Symbol stringwidth pop 2 div def
+ CurvePath
+} def
+%
+/AltCurve {
+ { false NArray n 2 mul 2 roll
+ [ n 2 mul 3 sub 1 roll ] aload
+ /Points ED
+ n 2 mul -2 roll }
+ { false NArray } ifelse
+ n 4 lt { n { pop pop } repeat } { BAC /n n 4 sub def n { NAC } repeat EAC } ifelse
+} def
+%
+/AltOpenSymbolCurve {
+ AltCurve
+ 0.1 setflat
+ /Shift Symbol stringwidth pop 2 div def
+ CurvePath
+} def
+%
+/ClosedCurve {
+ NArray n 3 lt
+ { n { pop pop } repeat }
+ { n 3 gt { CheckClosed } if
+ 6 copy n 2 mul 6 add 6 roll
+ IC CC x y moveto n { NC } repeat
+ closepath pop pop
+ } ifelse
+} def
+%
+/ClosedSymbolCurve {
+ ClosedCurve
+ 0.1 setflat
+ /Shift Symbol stringwidth pop 2 div def
+ CurvePath
+} def
+%
+/SQ { /r ED r r moveto r r neg L r neg r neg L r neg r L fill } def
+/ST { /y ED /x ED x y moveto x neg y L 0 x L fill } def
+/SP { /r ED gsave 0 r moveto 4 { 72 rotate 0 r L } repeat fill grestore } def
+%
+/FontDot {
+ DS 2 mul dup
+ matrix scale matrix concatmatrix exch matrix
+ rotate matrix concatmatrix exch
+ findfont exch makefont setfont
+} def
+%
+/Rect {
+ x1 y1 y2 add 2 div moveto
+ x1 y2 lineto
+ x2 y2 lineto
+ x2 y1 lineto
+ x1 y1 lineto
+ closepath
+} def
+%
+/OvalFrame {
+ x1 x2 eq y1 y2 eq or
+ { pop pop x1 y1 moveto x2 y2 L }
+ { y1 y2 sub abs x1 x2 sub abs 2 copy gt
+ { exch pop } { pop } ifelse
+ 2 div exch { dup 3 1 roll mul exch } if
+ 2 copy lt { pop } { exch pop } ifelse
+ /b ED
+ x1 y1 y2 add 2 div moveto
+ x1 y2 x2 y2 b arcto
+ x2 y2 x2 y1 b arcto
+ x2 y1 x1 y1 b arcto
+ x1 y1 x1 y2 b arcto
+ 16 { pop } repeat
+ closepath
+ } ifelse
+} def
+%
+/Frame {
+ CLW mul /a ED
+ 3 -1 roll
+ 2 copy gt { exch } if
+ a sub /y2 ED
+ a add /y1 ED
+ 2 copy gt { exch } if
+ a sub /x2 ED
+ a add /x1 ED
+ 1 index 0 eq { pop pop Rect } { OvalFrame } ifelse
+} def
+%
+/BezierNArray {
+ /f ED
+ counttomark 2 div dup cvi /n ED
+ n eq not { exch pop } if
+ n 1 sub neg 3 mod 3 add 3 mod { 0 0 /n n 1 add def } repeat
+ f { ] aload /Points ED } { n 2 mul 1 add -1 roll pop } ifelse
+} def
+%
+/OpenBezier {
+ BezierNArray
+ n 1 eq
+ { pop pop }
+ { ArrowA n 4 sub 3 idiv
+ { 6 2 roll 4 2 roll curveto } repeat
+ 6 2 roll 4 2 roll ArrowB curveto } ifelse
+} def
+%
+/OpenSymbolBezier {
+ OpenBezier
+ 0.1 setflat
+ /Shift Symbol stringwidth pop 2 div def
+ CurvePath
+} def
+%
+/ClosedBezier {
+ BezierNArray
+ n 1 eq
+ { pop pop }
+ { moveto n 1 sub 3 idiv
+ { 6 2 roll 4 2 roll curveto } repeat
+ closepath } ifelse
+} def
+%
+/ClosedSymbolBezier {
+ /f ED % save showpoints value
+ 2 copy /yEnd ED /xEnd ED
+ counttomark -2 roll 2 copy /yStart ED /xStart ED
+ counttomark 2 roll
+ f
+ ClosedBezier
+ 0.1 setflat
+ /Shift Symbol stringwidth pop 2 div def
+ CurvePath
+ [ xEnd yEnd xStart yStart SymbolLine
+} def
+%
+/BezierShowPoints {
+ gsave
+ Points aload length 2 div cvi /n ED
+ moveto
+ n 1 sub { lineto } repeat
+ CLW 2 div SLW [ 4 4 ] 0 setdash stroke
+ grestore
+} def
+%
+/Parab {
+ /y0 ED /x0 ED /y1 ED /x1 ED
+ /dx x0 x1 sub 3 div def
+ /dy y0 y1 sub 3 div def
+ x0 dx sub y0 dy add x1 y1 ArrowA
+ x0 dx add y0 dy add x0 2 mul x1 sub y1 ArrowB
+ curveto
+ /Points [ x1 y1 x0 y0 x0 2 mul x1 sub y1 ] def
+} def
+%
+/Parab1 { % 1 end | 0 SP
+ /ySP ED /xSP ED /y1 ED /x1 ED
+ /dx xSP x1 sub 3 div def
+ /dy ySP y1 sub 3 div def
+ newpath x1 y1 moveto xSP y1 lineto xSP ySP lineto
+ x1 ySP lineto closepath clip
+ currentpoint
+ newpath moveto
+ xSP dx sub ySP dy add x1 y1 ArrowA
+ xSP dx add ySP dy add xSP 2 mul x1 sub y1 ArrowB
+ curveto
+ /Points [ x1 y1 xSP ySP xSP 2 mul x1 sub y1 ] def
+} def
+%
+/Grid {
+ newpath
+ /a 4 string def
+ /b ED % psk@gridlabels in pt
+ /c ED % { \pst@usecolor\psgridlabelcolor }
+ /n ED % psk@griddots
+ cvi dup 1 lt { pop 1 } if
+ /s ED % \psk@subgriddiv
+ s div dup 0 eq { pop 1 } if
+ /dy ED s div dup 0 eq { pop 1 } if % \pst@number\psyunit abs
+ /dx ED dy div round dy mul % \pst@number\psxunit abs
+ /y0 ED dx div round dx mul
+ /x0 ED dy div round cvi
+ /y2 ED dx div round cvi
+ /x2 ED dy div round cvi
+ /y1 ED dx div round cvi
+ /x1 ED
+ /h y2 y1 sub 0 gt { 1 } { -1 } ifelse def
+ /w x2 x1 sub 0 gt { 1 } { -1 } ifelse def
+ b 0 gt {
+ /z1 b 4 div CLW 2 div add def
+% /Helvetica findfont b scalefont setfont
+ /b b .95 mul CLW 2 div add def } if
+ systemdict /setstrokeadjust known
+ { true setstrokeadjust /t { } def }
+ { /t { transform 0.25 sub round 0.25 add exch 0.25 sub round 0.25 add
+ exch itransform } bind def } ifelse
+ gsave n 0 gt { 1 setlinecap [ 0 dy n div ] dy n div 2 div setdash } { 2 setlinecap } ifelse
+ /i x1 def
+ /f y1 dy mul n 0 gt { dy n div 2 div h mul sub } if def
+ /g y2 dy mul n 0 gt { dy n div 2 div h mul add } if def
+ x2 x1 sub w mul 1 add dup 1000 gt { pop 1000 } if
+ { i dx mul dup y0 moveto
+ b 0 gt
+ { gsave c i a cvs dup stringwidth pop
+ /z2 ED w 0 gt {z1} {z1 z2 add neg} ifelse
+ h 0 gt {b neg}{z1} ifelse
+ rmoveto show grestore } if
+ dup t f moveto
+ g t L stroke
+ /i i w add def
+ } repeat
+ grestore
+ gsave
+ n 0 gt
+ % DG/SR modification begin - Nov. 7, 1997 - Patch 1
+ %{ 1 setlinecap [ 0 dx n div ] dy n div 2 div setdash }
+ { 1 setlinecap [ 0 dx n div ] dx n div 2 div setdash }
+ % DG/SR modification end
+ { 2 setlinecap } ifelse
+ /i y1 def
+ /f x1 dx mul n 0 gt { dx n div 2 div w mul sub } if def
+ /g x2 dx mul n 0 gt { dx n div 2 div w mul add } if def
+ y2 y1 sub h mul 1 add dup 1000 gt { pop 1000 } if
+ { newpath i dy mul dup x0 exch moveto
+ b 0 gt { gsave c i a cvs dup stringwidth pop
+ /z2 ED
+ w 0 gt {z1 z2 add neg} {z1} ifelse
+ h 0 gt {z1} {b neg} ifelse
+ rmoveto show grestore } if
+ dup f exch t moveto
+ g exch t L stroke
+ /i i h add def
+ } repeat
+ grestore
+} def
+%
+/ArcArrow {
+ /d ED /b ED /a ED
+ gsave
+ newpath 0 -1000 moveto clip
+ newpath
+ 0 1 0 0 b
+ grestore
+ c mul
+ /e ED
+ pop pop pop r a e d PtoC y add exch x add
+ exch r a PtoC y add exch x add exch b pop pop pop pop a e d CLW 8 div c
+ mul neg d
+} def
+%
+/Ellipse {
+ /rotAngle ED
+ /mtrx CM def
+ T
+ rotAngle rotate
+ scale 0 0 1 5 3 roll arc
+ mtrx setmatrix
+} def
+%
+/ArcAdjust { %%%% Vincent Guirardel
+% given a target length (targetLength) and an initial angle (angle0) [in the stack],
+% let M(angle0)=(rx*cos(angle0),ry*sin(angle0))=(x0,y0).
+% This computes an angle t such that (x0,y0) is at distance
+% targetLength from the point M(t)=(rx*cos(t),ry*sin(t)).
+% NOTE: this an absolute angle, it does not have to be added or substracted to angle0
+% contrary to TvZ's code.
+% To achieve, this, one iterates the following process: start with some angle t,
+% compute the point M' at distance targetLength of (x0,y0) on the semi-line [(x0,y0) M(t)].
+% Now take t' (= new angle) so that (0,0) M(t') and M' are aligned.
+%
+% Another difference with TvZ's code is that we need d (=add/sub) to be defined.
+% the value of d = add/sub is used to know on which side we have to move.
+% It is only used in the initialisation of the angle before the iteration.
+%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+% Input stack: 1: target length 2: initial angle
+% variables used : rx, ry, d (=add/sub)
+%
+ /targetLength ED /angle0 ED
+ /x0 rx angle0 cos mul def
+ /y0 ry angle0 sin mul def
+% we are looking for an angle t such that (x0,y0) is at distance targetLength
+% from the point M(t)=(rx*cos(t),ry*sin(t)))
+%initialisation of angle (using 1st order approx = TvZ's code)
+ targetLength 57.2958 mul
+ angle0 sin rx mul dup mul
+ angle0 cos ry mul dup mul
+ add sqrt div
+% if initialisation angle is two large (more than 90 degrees) set it to 90 degrees
+% (if the ellipse is very curved at the point where we draw the arrow, %
+% the value can be much more than 360 degrees !)
+% this should avoid going on the wrong side (more than 180 degrees) or go near
+% a bad attractive point (at 180 degrees)
+ dup 90 ge { pop 90 } if
+ angle0 exch d % add or sub
+% maximum number of times to iterate the iterative procedure:
+% iterative procedure: takes an angle t on top of stack, computes a
+% better angle (and put it on top of stack)
+ 30 { dup
+% compute distance D between (x0,y0) and M(t)
+ dup cos rx mul x0 sub dup mul exch sin ry mul y0 sub dup mul add sqrt
+% if D almost equals targetLength, we stop
+ dup targetLength sub abs 1e-5 le { pop exit } if
+% stack now contains D t
+% compute the point M(t') at distance targetLength of (x0,y0) on the semi-line [(x0,y0) M(t)]:
+% M(t')= ( (x(t)-x0)*targetLength/d+x0 , (y(t)-y0)*targetLength/d+y0 )
+ exch dup cos rx mul x0 sub exch sin ry mul y0 sub
+% stack contains: y(t)-y0, x(t)-x0, d
+ 2 index Div targetLength mul y0 add ry Div exch
+ 2 index Div targetLength mul x0 add rx Div
+% stack contains x(t')/rx , y(t')/ry , d
+% now compute t', and remove D from stack
+ atan exch pop
+ } repeat
+% we don't look at what happened... in particular, if targetLength is greater
+% than the diameter of the ellipse...
+% the final angle will be around /angle0 + 180. maybe we should treat this pathological case...
+% after iteration, stack contains an angle t such that M(t) is the tail of the arrow
+% to give back the result as a an angle relative to angle0 we could add the following line:
+% angle0 sub 0 exch d
+%
+% begin bug fix 2006-01-11
+% we want to adjust the new angle t' by a multiple of 360 so that | t'-angle0 | <= 180
+%(we don't want to make the ellipse turn more or less than it should)...
+dup angle0 sub dup abs 180 gt { 180 add 360 div floor 360 mul sub } { pop } ifelse
+% end bug fix
+} def
+%
+/EllipticArcArrow {
+ /d ED % is add or sub
+ /b ED % arrow procedure
+ /a1 ED % angle
+ gsave
+ newpath
+ 0 -1000 moveto
+ clip % Set clippath far from arrow.
+ newpath
+ 0 1 0 0 b % Draw arrow to determine length.
+ grestore
+% Length of arrow is on top of stack. Next 3 numbers are junk.
+%
+ a1 exch ArcAdjust % Angular position of base of arrow.
+ /a2 ED
+ pop pop pop
+ a2 cos rx mul xOrig add % hv 2007-08-29 x->xOrig
+ a2 sin ry mul yOrig add % hv 2007-08-29 y->yOrig
+ a1 cos rx mul xOrig add %
+ a1 sin ry mul yOrig add %
+% Now arrow tip coor and base coor are on stack.
+ b pop pop pop pop % Draw arrow, and discard coordinates.
+ a2 CLW 8 div
+% change value of d (test it by looking if `` 1 1 d '' gives 2 or not )
+ 1 1 d 2 eq { /d { sub } def } { /d { add } def } ifelse
+ ArcAdjust
+% resets original value of d
+ 1 1 d 2 eq { /d { sub } def } { /d { add } def } ifelse % Adjust angle to give overlap.
+} def
+%%------------------ tvz/DG/hv (2004-05-10) end -------------------%%
+%
+/Rot { CP CP translate 3 -1 roll neg rotate NET } def
+%
+/RotBegin {
+ tx@Dict /TMatrix known not { /TMatrix { } def /RAngle { 0 } def } if
+ /TMatrix [ TMatrix CM ] cvx def
+ /a ED
+ a Rot /RAngle [ RAngle dup a add ] cvx def
+} def
+%
+/RotEnd {
+ /TMatrix [ TMatrix setmatrix ] cvx def
+ /RAngle [ RAngle pop ] cvx def
+} def
+%
+/PutCoor { gsave CP T CM STV exch exec moveto setmatrix CP grestore } def
+/PutBegin { /TMatrix [ TMatrix CM ] cvx def CP 4 2 roll T moveto } def
+/PutEnd { CP /TMatrix [ TMatrix setmatrix ] cvx def moveto } def
+%
+/Uput {
+ /a ED
+ add 2 div /h ED 2
+ div /w ED
+ /s a sin def
+ /c a cos def
+ /b s abs c abs 2 copy gt dup
+ /q ED
+ { pop } { exch pop } ifelse def
+ /w1 c b div w mul def
+ /h1 s b div h mul def
+ q { w1 abs w sub dup c mul abs }{ h1 abs h sub dup s mul abs } ifelse
+} def
+%
+/UUput {
+ /z ED
+ abs /y ED
+ /x ED
+ q { x s div c mul abs y gt }{ x c div s mul abs y gt } ifelse
+ { x x mul y y mul sub z z mul add sqrt z add }
+ { q { x s div } { x c div } ifelse abs
+ } ifelse
+ a PtoC
+ h1 add exch
+ w1 add exch
+} def
+%
+/BeginOL {
+ dup (all) eq exch TheOL eq or
+ { IfVisible not { Visible /IfVisible true def } if }
+ { IfVisible { Invisible /IfVisible false def } if } ifelse
+} def
+%
+/InitOL {
+ /OLUnit [ 3000 3000 matrix defaultmatrix dtransform ] cvx def
+ /Visible { CP OLUnit idtransform T moveto } def
+ /Invisible { CP OLUnit neg exch neg exch idtransform T moveto } def
+ /BOL { BeginOL } def
+ /IfVisible true def
+} def
+%
+%%%%%%%%%%%%%%%%% tools %%%%%%%%%%%%%%%%%%%%%%%%%
+%%%%% ### bubblesort ###
+%% syntax : array bubblesort --> array2 trie par ordre croissant
+%% code de Bill Casselman
+%% http://www.math.ubc.ca/people/faculty/cass/graphics/text/www/
+/bubblesort {
+4 dict begin
+ /a exch def
+ /n a length 1 sub def
+ n 0 gt {
+ % at this point only the n+1 items in the bottom of a remain to
+ % the sorted largest item in that blocks is to be moved up into
+ % position n
+ n {
+ 0 1 n 1 sub {
+ /i exch def
+ a i get a i 1 add get gt {
+ % if a[i] > a[i+1] swap a[i] and a[i+1]
+ a i 1 add
+ a i get
+ a i a i 1 add get
+ % set new a[i] = old a[i+1]
+ put
+ % set new a[i+1] = old a[i]
+ put
+ } if
+ } for
+ /n n 1 sub def
+ } repeat
+ } if
+ a
+end
+} def
+%
+%
+/concatstringarray{ % [(a) (b) ... (z)] --> (ab...z) 20100422
+ 0 1 index { length add } forall
+ string
+ 0 3 2 roll
+ { 3 copy putinterval length add }forall
+ pop
+} bind def
+%
+/dot2comma {% on stack a string (...)
+ 2 dict begin
+ /Output exch def
+ 0 1 Output length 1 sub {
+ /Index exch def
+ Output Index get 46 eq { Output Index 44 put } if
+ } for
+ Output
+ end
+} def
+%
+end
+%-----------------------------------------------------------------------------%
+%
+% END pstricks.pro
+
+%%EndProcSet
+%%BeginProcSet: pst-algparser.pro 0 0
+% $Id: pst-algparser.pro 594 2011-10-31 18:13:18Z herbert $
+%%
+%% PostScript prologue for PSTricks algorithm parser
+%% Version 0.04, 2011/10/21
+%%
+%% This program can be redistributed and/or modified under the terms
+%% of the LaTeX Project Public License Distributed from CTAN archives
+%% in directory macros/latex/base/lppl.txt.
+%%
+%%-----------------------------------------------------------------------------%
+%
+/AlgParser { tx@AlgToPs begin AlgToPs end } def % Dominique Rodriguez
+%
+/tx@CoreAnalyzerDict 100 dict def tx@CoreAnalyzerDict begin
+%
+% PS ANALYZER FOR ALGEBRAIC EXPRESSION V1.13
+%
+% 09/2011 DR factorial with ! added
+%
+% E->T|E+T
+% T->FS|T*FS
+% FS -> F | +FS | -FS
+% F->P|F^SF|P!
+% P->(E)|literal
+% literal->number|var|var[E]|func(params)
+% params->E|E,param
+% number->TOBEFINISHED
+%
+%% E expression, T term, SF signed factor, F factor, P power
+%
+%% parser
+%
+%% str
+%
+%% C->E<condition_operators>E
+%% STR index -> STR index+lenExpr
+/AnalyzeCond { AnalyzeExpr ReadCondOp AnalyzeExpr EvalCondOp } def
+%
+%% analyze Expression List (separator , or | )
+%% STR index -> STR index+lenExpr
+%% /AnalyzeListOfE {
+%% { NextNonBlankChar pop AnalyzeExpr%%dup Strlen eq { exit } if NextNonBlankChar
+%% NextNonBlankChar dup 0 eq { pop exit } if
+%% dup 44 ne 1 index 124 ne and { dup 41 ne { PROBLEMCONTACTBILLOU } { pop exit } ifelse } if
+%% pop NextNonBlankChar dup 0 eq { exit } if 124 ne { PROBLEMCONTACTBILLOU } if 1 add NextNonBlankChar 0 eq {toto} if } loop
+%% AnalyzeListOfEPostHook
+%% } def
+/AnalyzeListOfE {
+ /NotFirst false def
+ { NextNonBlankChar pop AnalyzeExpr
+ NotFirst { EvalListOfExpr } { /NotFirst true def } ifelse
+ dup Strlen eq { exit } if NextNonBlankChar
+ dup 44 ne 1 index 124 ne and
+ { dup 41 ne { PROBLEMCONTACTBILLOU } { pop exit } ifelse }
+ if pop 1 add } loop
+ AnalyzeListOfEPostHook
+} def
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%% E->T|E+T
+%% STR index -> STR index+lenExpr
+/AnalyzeExpr {
+ AnalyzePreHook AnalyzeTerm IsEndingExpr
+ { dup 0 ne { 32 eq { NextNonBlankChar } if } { pop } ifelse }
+ { { RollOp 1 add NextNonBlankChar pop AnalyzeTerm PreEvalHook EvalAddSub IsEndingExpr { pop exit } if } loop }
+ ifelse
+ AnalyzePostHook
+} def
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%% T->FS|T*FS
+%% STR index
+/AnalyzeTerm {
+ AnalyzePreHook AnalyzeSignedFactor IsEndingTerm
+ { dup 0 ne { 32 eq { NextNonBlankChar } if } { pop } ifelse }
+ { { RollOp 1 add NextNonBlankChar pop AnalyzeSignedFactor PreEvalHook EvalMulDiv IsEndingTerm { pop exit } if} loop }
+ ifelse
+ AnalyzePostHook
+} def
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%% FS -> F | +FS | -FS
+%% STR index
+/AnalyzeSignedFactor {
+ AnalyzePreHook 2 copy get dup IsUnaryOp
+ { RollOp 1 add NextNonBlankChar pop AnalyzeSignedFactor EvalUnaryOp }
+ { pop AnalyzeFactor }
+ ifelse AnalyzePostHook
+} def
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%% F->P|F^P|P!
+%% STR index
+/AnalyzeFactor {
+ AnalyzePreHook AnalyzePower IsEndingFactor
+ { dup 0 ne { 32 eq { NextNonBlankChar } if } { pop } ifelse }
+ { { dup 33 eq%% is there a ! DR 09/2011
+ { pop 1 add NextNonBlankChar pop EvalFactorial }
+ { RollOp 1 add NextNonBlankChar pop AnalyzePower PreEvalHook EvalPower }
+ ifelse
+ IsEndingFactor { pop exit } if } loop }
+ ifelse AnalyzePostHook
+} def
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%% P->(E)|literal
+%% STR index
+/AnalyzePower {
+ %% depending of first char either a number, or a literal
+ 2 copy get dup 40 eq%%an open par
+ { pop 1 add NextNonBlankChar pop AnalyzeExpr 1 add NextNonBlankChar pop }
+ { AnalyzeLiteral }
+ ifelse
+} def
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%% STR index STR[index] -> STR index
+%/AnalyzeLiteral { IsNumber { EvalNumber } { EvalLiteral } ifelse } def
+/AnalyzeLiteral { dup IsUnaryOp exch IsNumber or { EvalNumber } { EvalLiteral } ifelse } def%%dr 09102006
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%% recognize + or -
+%% chr -> T/F
+/IsUnaryOp { dup 43 eq exch 45 eq or } bind def
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%% a number can contain only : 0123456789.
+%% chr -> T/F
+/IsNumber { dup 48 ge exch dup 57 le 3 -1 roll and exch 46 eq or } bind def
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%% STR index -> STR index number
+%% a number can be of the form [0-9]*.[0-9]*\([eE][+-]?[0-9]+\)?
+%% STR index -> STR index' number
+/ReadNumber {
+ exch dup 3 -1 roll dup 3 1 roll
+ %%read mantissa
+ { 1 add 2 copy dup Strlen eq { pop pop 0 exit } if get dup IsNumber not { exit } if pop } loop
+ dup 101 eq exch 69 eq or
+ %%% there is a "e" or "E" -> read exponant
+ { 1 add 2 copy get dup IsUnaryOp
+ { pop 1 add 2 copy get } if
+ { IsNumber not { exit } if 1 add 2 copy get } loop }
+ if
+ dup 4 1 roll
+ 3 -1 roll exch 1 index sub getinterval
+} def
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%% a number can contain only : 0123456789.
+%% chr -> T/F
+/IsCondOp { dup 30 eq exch dup 60 ge exch 62 le and or } bind def
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%% STR index -> STR index number
+%% a number can be of the form [0-9]*.[0-9]*\([eE][+-]?[0-9]+\)?
+%% STR index -> STR index' number
+/ReadCondOp {
+ NextNonBlankChar 1 index 4 1 roll
+ { IsCondOp not { exit } if 1 add 2 copy get } loop
+ 2 copy 5 -1 roll
+ exch 1 index sub getinterval 3 1 roll
+} def
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%% a literal can contain only : 0123456789.
+%% chr -> T/F
+/IsLiteral {%
+ dup 48 ge exch dup 57 le 3 -1 roll and exch
+ dup 65 ge exch dup 90 le 3 -1 roll and 3 -1 roll or exch
+ dup 97 ge exch 122 le and or } bind def
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%% a literal can be of the form [a-zA-Z][a-zA-Z0-9]*\(\((Expression)\)|\(\[Expression\]\)\)?
+%% STR index -> literal STR index' nextchr
+/ReadLiteral {
+ exch dup 3 -1 roll dup 3 1 roll
+ %%read literal core
+ { 2 copy dup Strlen eq { pop pop 0 exit } if get dup IsLiteral not { exit } if pop 1 add } loop
+ 4 1 roll dup 5 1 roll 3 -1 roll exch 1 index sub getinterval 4 1 roll
+} def
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%% expr is ended by end of str or a clpar
+%% STR index -> STR index STR[index] T/F
+/IsEndingExpr {%
+ 2 copy dup Strlen eq
+ %% if end of str is reached -> end !
+ { pop pop 0 true }
+ %% ending chr -> clpar, comma, |, <, >, =, !,
+ {get dup dup 41 eq
+ exch dup 124 eq
+ exch dup 93 eq
+ exch dup 44 eq
+ exch dup 30 eq
+ exch dup 60 ge exch 62 le and or or or or or}
+ ifelse } def
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%% expr is ended by end of str or a +-
+%% STR index -> STR index STR[index] T/F
+/IsEndingTerm { IsEndingExpr { true } { dup dup 43 eq exch 45 eq or } ifelse } def
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%% expr is ended by end of str or */
+%% STR index -> STR index STR[index] T/F
+/IsEndingFactor { IsEndingTerm { true } { dup dup 42 eq exch 47 eq or } ifelse } def
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%% expr is ended by end of str or ^
+%% STR index -> STR index STR[index] T/F
+/IsEndingPower { IsEndingFactor { true } { dup 94 eq } ifelse } def
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%% STR index -> STR index STR[index]
+/NextNonBlankChar { { dup Strlen eq { 0 exit } if 2 copy get dup neBlkChar { exit } if pop 1 add } loop } bind def
+/neBlkChar { dup 32 ne exch dup 10 ne exch 9 ne and and } bind def
+%%%%%%%%%%%%%%%%%%%%%%%%
+%% DEBUG
+/BRK {false} def
+/BRKtrue {/BRK true def} def
+/BRKStop {BRK {BRKtoto} if } def
+/BRKEvalStop {BRK exch if } def
+/BRKBRK2true {BRK {BRK2true} if } def
+/BRK2 {false} def
+/BRK2true {/BRK2 true def} def
+/BRK2Stop {BRK2 {BRK2toto} if } def/BRK {false} def
+end
+%
+%-------------------------------------------------------------------------------%
+%
+/tx@AlgToPs 12 dict def tx@AlgToPs begin
+%
+%% algExpr -> PSVector
+/AlgToPs { tx@CoreAnalyzerDict begin InitParser AnalyzeListOfE pop pop EndingSequence end } def
+/EndingSequence { ExpressionVector aload length /end cvx exch 1 add array astore } def
+/InitParser { /ExpressionVector [ /tx@AddMathFunc cvx /begin cvx ] def dup length /Strlen exch def 0 } def
+/Strlen 0 def
+/EvalListOfExpr {} def%
+/EvalNumber {%
+ ReadNumber cvr /ExpressionVector ExpressionVector aload length dup 3 add -1 roll cvx
+ exch 1 add array astore def NextNonBlankChar pop } def
+/EvalAddSub {%
+ /ExpressionVector ExpressionVector aload length dup 5 add -1 roll
+ 43 eq { /add } { /sub } ifelse cvx exch 1 add array astore def
+} def
+/EvalMulDiv {%
+ /ExpressionVector ExpressionVector aload length dup 5 add -1 roll
+ 42 eq { /mul } { /div } ifelse cvx exch 1 add array astore def
+} def
+/EvalPower {%
+ /ExpressionVector ExpressionVector aload length dup 5 add -1 roll
+ pop /exp cvx exch 1 add array astore def
+} def
+/EvalFactorial {% DR 09/2011
+ /ExpressionVector ExpressionVector aload length
+ /fact cvx exch 1 add array astore def
+} def
+/EvalLiteral {%
+ ReadLiteral
+ dup 40 eq%%% there is an open par -> function call
+ { pop 2 index
+ dup (Sum) eq { EvalSum }
+ { dup (IfTE) eq { EvalCond }
+ { dup (Derive) eq { pop EvalDerive }
+ { pop 1 add NextNonBlankChar pop AnalyzeListOfE 2 index TrigoFunc
+ /ExpressionVector ExpressionVector aload length dup 5 add -1 roll cvn cvx
+ exch 1 add array astore def 1 add NextNonBlankChar pop } ifelse } ifelse} ifelse }
+ { /ExpressionVector ExpressionVector aload length dup 6 add -1 roll cvn cvx exch 1 add array astore def
+ dup 91 eq%%% there is an open bracket -> vector element
+ { pop 1 add NextNonBlankChar pop AnalyzeExpr
+ /ExpressionVector ExpressionVector aload length /cvi cvx exch /get cvx exch 2 add array astore def 1 add }
+ { pop NextNonBlankChar pop }
+ ifelse}
+ ifelse
+} def
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%% the derive function : Derive(n,f(x))
+%% firstparindex lastparindex ->
+/EvalDerive {
+ %% manage the function descripiton
+ 1 add ReadNumber 3 1 roll NextNonBlankChar
+ 44 ne { ANALYZER_ERROR_missing_second_comma_in_Sum } if
+ 1 add NextNonBlankChar pop
+ 3 -1 roll cvi
+ dup 0 eq
+ { pop AnalyzeExpr 3 -1 roll pop 1 add }
+ { 1 sub 3 1 roll (x) exch tx@Derive begin DeriveIndexed end 4 -1 roll
+ { (x) tx@Derive begin Derive end } repeat
+ ExpressionVector exch /ExpressionVector [] def
+ AlgToPs aload length
+ /ExpressionVector 1 index 3 add -1 roll aload length dup 3 add -1 roll /l2 exch def /l1 exch def
+ l1 l2 add 1 add l2 neg roll l1 l2 add array astore def 3 -1 roll pop 1 add
+ 1 index length /Strlen exch def } ifelse
+} def
+/EvalSum {%
+ pop 1 add NextNonBlankChar pop
+ %% read the variable name
+ ReadLiteral pop NextNonBlankChar
+ 44 ne { ANALYZER_ERROR_missing_first_comma_in_Sum } if
+ %% read the initial value
+ 1 add NextNonBlankChar pop ReadNumber cvi 3 1 roll
+ 2 copy get 44 ne { ANALYZER_ERROR_missing_second_comma_in_Sum } if
+ %% read the increment value
+ 1 add NextNonBlankChar pop ReadNumber cvi 3 1 roll
+ 2 copy get 44 ne { ANALYZER_ERROR_missing_second_comma_in_Sum } if
+ %% read the limit value
+ 1 add NextNonBlankChar pop ReadNumber cvi 3 1 roll
+ 2 copy get 44 ne { ANALYZER_ERROR_missing_second_comma_in_Sum } if
+ /ExpressionVector ExpressionVector aload length dup 7 add -3 roll 0 4 1 roll
+ 5 -1 roll 4 add array astore def
+ %% keep ExpressionVector for later and create a new one for internal Sum computation
+ ExpressionVector 3 1 roll /ExpressionVector [ 6 -1 roll cvn /exch cvx /def cvx ] def
+ 1 add NextNonBlankChar pop AnalyzeExpr
+ %% add each term
+ /ExpressionVector ExpressionVector aload length 1 add /add cvx exch array astore def
+ /ExpressionVector 4 -1 roll aload length ExpressionVector cvx /for cvx 3 -1 roll 2 add
+ array astore def 3 -1 roll pop 1 add
+} def
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%% Convert to radians if trigo function call
+%% (name) ->
+/TrigoFunc {
+ dup (cos) eq 1 index (sin) eq or exch (tan) eq or
+ { /ExpressionVector ExpressionVector aload length Pi /div cvx 180 /mul cvx 5 -1 roll 4 add
+ array astore def
+ } if
+} def
+/EvalCond {%
+ pop 1 add AnalyzeCond NextNonBlankChar
+ 44 ne { ANALYZER_ERROR_missing_first_comma_in_IfTE } if
+ ExpressionVector 3 1 roll /ExpressionVector [] def
+ 1 add AnalyzeExpr ExpressionVector 3 1 roll /ExpressionVector [] def
+ NextNonBlankChar 44 ne { ANALYZER_ERROR_missing_second_comma_in_IfTE } if
+ 1 add AnalyzeExpr
+ NextNonBlankChar 41 ne { ANALYZER_ERROR_missing_ending parenthesis_in_IfTE } if
+ ExpressionVector
+ /ExpressionVector 6 -1 roll aload length dup
+ 6 add -1 roll cvx exch dup 4 add -1 roll cvx /ifelse cvx 3 -1 roll 3 add array astore def
+ 1 add 3 -1 roll pop
+} def
+%% CondOp STR index
+/EvalCondOp {%
+ 3 -1 roll
+ dup (=) eq { /eq } {%
+ dup (<) eq { /lt } {%
+ dup (>) eq { /gt } {%
+ dup (>=) eq { /ge } {%
+ dup (<=) eq { /ge } {%
+ dup (!=) eq { /ne } { ERROR_non_valid_conditional_operator }
+ ifelse } ifelse } ifelse } ifelse } ifelse } ifelse
+ cvx exch pop
+ /ExpressionVector ExpressionVector aload length dup 3 add -1 roll exch 1 add array astore def } def
+/EvalUnaryOp {
+ 3 -1 roll 45 eq { /ExpressionVector ExpressionVector aload length /neg cvx exch 1 add array astore def } if
+} def
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%% H O O K S
+/AnalyzePreHook {} bind def
+/PreEvalHook {} bind def
+/AnalyzeListOfEPostHook {} bind def
+/AnalyzePostHook {} def
+/RollOp { 3 1 roll } bind def
+end %tx@CoreAnalyzerDict
+%
+%--------------------------------------------------------------------%
+%
+/tx@Derive 41 dict def tx@Derive begin
+%%increase ^^ for each function added
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%% algExpr variable -> PSVector
+/Derive {%
+ 10240 string 3 1 roll 0 3 1 roll
+ /Variable exch def
+ tx@CoreAnalyzerDict begin InitParser AnalyzeListOfE end
+} def
+/Strlen 0 def
+/InitParser { dup length /Strlen exch def 0 } def
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%% algExpr variable index -> PSVector
+/DeriveIndexed {%
+ 3 1 roll 10240 string 3 1 roll 0 3 1 roll
+ /Variable exch def
+ tx@CoreAnalyzerDict begin InitParser pop 4 -1 roll AnalyzeExpr 4 -2 roll pop pop 4 -2 roll exch pop end
+} def
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%% (u,v)'=-(u',v')
+/EvalListOfExpr {%
+ 4 2 roll 2 copy 9 -1 roll dup length 4 1 roll putinterval add AddPipe
+ 2 copy 7 -1 roll dup length 4 1 roll putinterval add
+ 6 -2 roll pop pop
+ 2 copy pop 0 6 2 roll GetIntervalNewStr 5 1 roll 2 copy 0 exch getinterval 6 1 roll } def
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%% (-u)'=-(u')
+/EvalUnaryOp {
+ 4 -2 roll 4 index (0) eq
+ { (0) StrConcat 7 -1 roll pop }
+ { 7 -1 roll 45 eq
+ { AddSub AddOpPar true } { false } ifelse
+ 3 1 roll 5 index StrConcat 3 -1 roll { AddClPar } if } ifelse
+ 2 copy pop 0 6 2 roll GetIntervalNewStr
+ 7 -2 roll pop pop 2 index 6 index dup 4 index exch sub getinterval exch 6 2 roll
+} def
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%% (number)'=0
+/EvalNumber { ReadNumber (0) 6 2 roll } def
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%% (u+v)'=u'+v'
+/EvalAddSub {%
+ 7 index dup (0) eq
+ { pop true }%% du=0 nothing added
+ { dup length exch 5 index 5 index 3 -1 roll putinterval 4 -1 roll add 3 1 roll false }
+ ifelse
+ 5 index dup (0) eq
+ { pop { (0) } { 4 -2 roll 2 copy pop 0 6 2 roll GetIntervalNewStr } ifelse }%%dv=0
+ { exch
+ { 5 -2 roll 7 index 45 eq { AddSub } if false } %%nothing yet added
+ { 5 -2 roll 7 index 43 eq%%something yet added
+ { AddAdd false } { AddSub AddOpPar true } ifelse }
+ ifelse 11 1 roll
+ 3 -1 roll StrConcat 10 -1 roll { AddClPar } if
+ 2 copy pop 0 6 2 roll GetIntervalNewStr }
+ ifelse
+ mark 11 -5 roll cleartomark 2 index 6 index dup 4 index exch sub getinterval exch 6 2 roll
+} def
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%% (u*v)' or (u/v)'
+/EvalMulDiv { 6 index 42 eq {EvalMul} {EvalDiv} ifelse } def
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%% (u*v)'=u'*v+u*v'
+/EvalMul {%
+ 4 -2 roll 7 index dup (0) eq
+ { pop false }%%du=0
+ { (1) eq%%du=1
+ { false }
+ { AddOpPar 7 index StrConcat AddClPar AddMul AddOpPar true } ifelse
+ 3 1 roll 6 index StrConcat 3 -1 roll { AddClPar } if
+ true }%%du!=0
+ ifelse
+ 5 1 roll 5 index (0) eq
+ { 5 -1 roll not { (0) StrConcat } if }%%dv=0
+ { 5 -1 roll { AddAdd } if
+ 4 index (1) eq
+ { 8 index StrConcat }
+ { AddOpPar 8 index StrConcat AddClPar AddMul AddOpPar 4 index StrConcat AddClPar }
+ ifelse
+ }%%dv!=0
+ ifelse
+ 2 copy pop 0 6 2 roll GetIntervalNewStr
+ mark 11 -5 roll cleartomark 2 index 6 index dup 4 index exch sub getinterval exch 6 2 roll
+} def
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%% (u/v)'=(u'*v-u*v')/v^2
+/EvalDiv {%
+ 4 -2 roll
+ 4 index (0) eq%%dv=0 -> u'/v
+ { 7 index (0) eq { (0) StrConcat } { AddOpPar 7 index StrConcat AddClPar AddDiv 5 index StrConcat } ifelse }
+ { 7 index dup (0) eq
+ { pop }%%du=0
+ { (1) eq%%du=1
+ { false }
+ { AddOpPar 7 index StrConcat AddClPar AddMul AddOpPar true } ifelse
+ 3 1 roll 6 index StrConcat 3 -1 roll { AddClPar } if}%%du!=0
+ ifelse
+ AddSub
+ 4 index (1) eq
+ { 8 index StrConcat }
+ { AddOpPar 8 index StrConcat AddClPar AddMul AddOpPar 4 index StrConcat AddClPar }
+ ifelse
+ %}%%dv!=0
+ 2 copy GetIntervalNewStr 3 1 roll pop 0 AddOpPar 3 -1 roll StrConcat AddClPar
+ AddDiv AddOpPar 5 index StrConcat AddClPar 2 copy (^2) putinterval 2 add }
+ ifelse
+ 2 copy pop 0 6 2 roll GetIntervalNewStr
+ mark 11 -5 roll cleartomark 2 index 6 index dup 4 index exch sub getinterval exch 6 2 roll
+} def
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%% str1 index str2 -> str1 index
+/StrConcat { dup length 4 2 roll 2 copy 6 -1 roll putinterval 3 -1 roll add } bind def
+/GetIntervalNewStr { 0 exch getinterval dup length string copy } bind def
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%% (u^v)'=(u^v)'=u'vu^(v-1)+v'u^(v)ln(u)
+/EvalPower {%
+ 4 -2 roll 7 index (0) eq
+ {%%if du=0 then (u^v)'=v'ln(u)u^v
+ 4 index (0) eq
+ { (0) StrConcat }%%if dv=0 then (u^v)'=0
+ { 4 index (1) ne { AddOpPar 4 index StrConcat (\)*) StrConcat } if
+ 8 index (e) ne { (ln\() StrConcat 8 index StrConcat (\)*) StrConcat } if
+ AddOpPar 8 index StrConcat (\)^\() StrConcat 5 index StrConcat AddClPar } ifelse
+ }
+ {%%du!=0
+ 4 index (0) eq
+ {%%if dv=0 then (u^v)'=vu'u^(v-1)
+ 5 index dup IsStrNumber
+ { dup (0) eq
+ { StrConcat }
+ { dup dup (1) eq exch (1.0) eq or
+ { StrConcat }
+ { StrConcat
+ 7 index dup (1) ne exch (1.0) ne and%%%dr 09102006 insert du if <> 1
+ { (*\() StrConcat 7 index StrConcat (\)) StrConcat } if%%%dr 09102006
+ (*\() StrConcat 8 index StrConcat (\)) StrConcat
+ 5 index dup dup (2) eq exch (2.0) eq or
+ { pop } { cvr 1 sub 20 string cvs 3 1 roll (^) StrConcat 3 -1 roll StrConcat } ifelse } ifelse } ifelse }
+ { pop AddOpPar 5 index StrConcat (\)*\() StrConcat 8 index StrConcat (\)^\() StrConcat
+ 5 index StrConcat (-1\)) StrConcat } ifelse
+ }
+ {%%if dv!=0 and du!=0 then (u^v)'=u'vu^(v-1)+v'u^(v)ln(u)
+ 7 index (1) ne { AddOpPar 7 index StrConcat (\)*) StrConcat } if
+ AddOpPar 5 index StrConcat (\)*\() StrConcat
+ 8 index StrConcat (\)^\() StrConcat
+ 5 index StrConcat (-1\)+\() StrConcat
+ 4 index (1) ne { 4 index StrConcat (\)*\() StrConcat } if
+ 8 index StrConcat (\)^\() StrConcat
+ 5 index StrConcat (\)*ln\() StrConcat
+ 8 index StrConcat AddClPar
+ } ifelse
+ } ifelse
+ 2 copy pop 0 6 2 roll GetIntervalNewStr
+ mark 11 -5 roll cleartomark 2 index 6 index dup 4 index exch sub getinterval exch 6 2 roll
+} def
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%% No derivative for factorial ! only cst => null derivative
+/EvalFactorial {% DR 09/2011
+ 4 index (0) eq
+ { (0) mark 8 -2 roll cleartomark 2 index 7 index dup 4 index exch sub getinterval exch 6 2 roll }
+ { DERIVATIVE_ENGINE_ERROR_no_variable_in_factorial } ifelse
+} def
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%% str -> true/false
+/IsStrNumber {%
+ true exch
+ { dup 48 lt exch dup 57 gt 3 -1 roll or
+ exch dup 46 ne%%.
+ exch dup 43 ne%%+
+ exch 45 ne%%-
+ and and and { pop false } if } forall
+} def
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%% literal switch -> func call, vector, variables
+/EvalLiteral {%
+ ReadLiteral dup 40 eq%%% there is an open par -> function call
+ { pop (EvalFunc_ ) 9 4 index StrConcat 0 exch getinterval cvn cvx exec }
+ { dup 91 eq%%% there is an open bracket -> vector element
+ { DERIVATIVE_ENGINE_ERROR_vector_not_yet_implemented }
+ { pop EvalVariable }
+ ifelse }
+ ifelse
+} def
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%% first last parpos Expr[first:parpos-1] ->
+/EvalVariable { 2 index Variable eq { (1) } { (0) } ifelse 4 -1 roll exch 6 2 roll } def
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%% (f(u))'=u'f'(u)
+/EvalFunc {
+ 4 2 roll 4 index (1) ne
+ { AddOpPar 4 index StrConcat (\)*) StrConcat } if
+ (Eval ) 4 8 index StrConcat 0 exch getinterval cvn cvx exec
+ 2 copy pop 0 6 2 roll GetIntervalNewStr
+ mark 9 -3 roll cleartomark 2 index 6 index dup 4 index exch sub getinterval exch 6 2 roll
+} def
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%% Func derivative -> Eval<func>
+/EvalFunc_sin {%
+ PreCommonFunc
+ { (cos\() StrConcat 5 index StrConcat AddClPar } if
+ PostCommonFunc } def
+/EvalFunc_cos {%
+ PreCommonFunc
+ { (\(-sin\() StrConcat 5 index StrConcat (\)\)) StrConcat } if
+ PostCommonFunc } def
+/EvalFunc_tan {%
+ PreCommonFunc
+ { dup 0 eq { (1) StrConcat } { 1 sub } ifelse (/cos\() StrConcat 5 index StrConcat (\)^2) StrConcat } if
+ PostCommonFunc } def
+/EvalFunc_asin {%
+ PreCommonFunc
+ { (1/sqrt\(1-\() StrConcat 5 index StrConcat (\)^2\)\)) StrConcat } if
+ PostCommonFunc } def
+/EvalFunc_acos {%
+ PreCommonFunc
+ { (-1/sqrt\(1-\() StrConcat 5 index StrConcat (\)^2\)\)) StrConcat } if
+ PostCommonFunc } def
+/EvalFunc_atg {%
+ PreCommonFunc
+ { (1/\(1+\() StrConcat 5 index StrConcat (\)^2\)\)) StrConcat } if
+ PostCommonFunc } def
+/EvalFunc_ln {%
+ PreCommonFunc
+ { dup 0 eq { (1) StrConcat } { 1 sub } ifelse (/\() StrConcat 5 index StrConcat AddClPar } if
+ PostCommonFunc } def
+/EvalFunc_exp {%
+ PreCommonFunc
+ { (exp\() StrConcat 5 index StrConcat AddClPar } if
+ PostCommonFunc } def
+/EvalFunc_EXP {%
+ PreCommonFunc
+ { (EXP\() StrConcat 5 index StrConcat AddClPar } if
+ PostCommonFunc } def
+/EvalFunc_sqrt {%
+ PreCommonFunc
+ { dup 0 eq { (1) StrConcat } { 1 sub } ifelse (/\(2*sqrt\() StrConcat 5 index StrConcat (\)\)) StrConcat } if
+ PostCommonFunc } def
+/EvalFunc_Fact {%
+ PreCommonFunc { DERIVATIVE_ENGINE_ERROR_no_variable_expression_in_Fact } if
+ PostCommonFunc } def
+/EvalFunc_sh {%
+ PreCommonFunc
+ { (ch\() StrConcat 5 index StrConcat AddClPar } if
+ PostCommonFunc } def
+/EvalFunc_ch {%
+ PreCommonFunc
+ { (sh\() StrConcat 5 index StrConcat AddClPar } if
+ PostCommonFunc } def
+/EvalFunc_th {%
+ PreCommonFunc
+ { dup 0 eq { (1) StrConcat } { 1 sub } ifelse (/ch\() StrConcat 5 index StrConcat (\)^2) StrConcat } if
+ PostCommonFunc } def
+/EvalFunc_Argsh {%
+ PreCommonFunc
+ { (1/sqrt\(1+\() StrConcat 5 index StrConcat (\)^2\)\)) StrConcat } if
+ PostCommonFunc } def
+/EvalFunc_Argch {%
+ PreCommonFunc
+ { (1/sqrt\(\() StrConcat 5 index StrConcat (\)^2-1\)\)) StrConcat } if
+ PostCommonFunc } def
+/EvalFunc_Argth {%
+ PreCommonFunc
+ { (1/\(1-\() StrConcat 5 index StrConcat (\)^2\)\)) StrConcat } if
+ PostCommonFunc } def
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+/PreCommonFunc {
+ 1 add NextNonBlankChar pop 3 -1 roll 5 1 roll AnalyzeExpr 1 add NextNonBlankChar pop
+ 4 2 roll 4 index (0) eq
+ { (0) StrConcat false }
+ { 4 index (1) ne { AddOpPar 4 index StrConcat (\)*) StrConcat } if true } ifelse
+} def
+/PostCommonFunc {
+ 2 copy pop 0 6 2 roll GetIntervalNewStr
+ mark 9 -3 roll cleartomark 2 index 6 index dup 4 index exch sub getinterval exch 6 2 roll
+} def
+/EvalFunc_Derive {%
+ 1 add ReadNumber cvi 1 add dup cvr log 1 add cvi string cvs
+ 4 -1 roll pop 5 1 roll 1 add NextNonBlankChar pop AnalyzeExpr 1 add
+ 4 -2 roll (Derive\() StrConcat 7 -1 roll StrConcat (,) StrConcat 6 -1 roll StrConcat AddClPar
+ 2 copy pop 0 6 2 roll GetIntervalNewStr 6 -1 roll pop 2 index 6 index dup 4 index exch sub getinterval
+ exch 6 2 roll } def
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%% literal switch -> func call, vector, variables
+/EvalFunc_Sum {%
+ 1 add NextNonBlankChar pop
+ %% read the variable name
+ ReadLiteral pop 3 -1 roll pop NextNonBlankChar
+ 44 ne { ANALYZER_ERROR_missing_first_comma_in_Sum } if
+ %% read the initial value
+ 1 add NextNonBlankChar pop ReadNumber pop
+ 2 copy get 44 ne { ANALYZER_ERROR_missing_second_comma_in_Sum } if
+ %% read the increment value
+ 1 add NextNonBlankChar pop ReadNumber pop
+ 2 copy get 44 ne { ANALYZER_ERROR_missing_third_comma_in_Sum } if
+ %% read the limit value
+ 1 add NextNonBlankChar pop ReadNumber pop
+ 2 copy get 44 ne { ANALYZER_ERROR_missing_fourth_comma_in_Sum } if
+ 1 add NextNonBlankChar pop dup 6 1 roll 3 -1 roll pop AnalyzeExpr 1 add NextNonBlankChar pop
+ 4 -2 roll 3 index 8 index dup 9 index exch sub getinterval StrConcat
+ 4 index StrConcat AddClPar
+ 2 copy pop 0 6 2 roll GetIntervalNewStr
+ mark 9 -3 roll cleartomark 2 index 6 index dup 4 index exch sub getinterval exch 6 2 roll
+} def
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%% literal switch -> func call, vector, variables
+/EvalFunc_IfTE {%
+ 3 -1 roll pop 1 add NextNonBlankChar pop SkipCond
+ NextNonBlankChar
+ 44 ne { ANALYZER_ERROR_missing_first_comma_in_IfTE } if
+ 1 add NextNonBlankChar pop dup 5 1 roll
+ AnalyzeExpr NextNonBlankChar
+ 44 ne { ANALYZER_ERROR_missing_second_comma_in_IfTE } if
+ 1 add NextNonBlankChar pop
+ AnalyzeExpr 1 add NextNonBlankChar pop
+ 4 -2 roll 3 index 10 index dup 11 index exch sub getinterval StrConcat
+ 6 index StrConcat (,) StrConcat 4 index StrConcat AddClPar
+ 2 copy pop 0 6 2 roll GetIntervalNewStr
+ mark 11 -5 roll cleartomark 2 index 6 index dup 4 index exch sub getinterval exch 6 2 roll
+} def
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%% advance in str until a comma is found (no error detection!)
+%% str index -> str index'
+/SkipCond { { 1 add 2 copy get 44 eq {exit } if } loop } bind def
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%% Convert to radians if trigo function call
+%% (name) ->
+/TrigoFunc {
+ dup (cos) eq 1 index (sin) eq or exch (tan) eq or
+ { /ExpressionVector ExpressionVector aload length Pi /div cvx 180 /mul cvx 5 -1 roll 4 add
+ array astore def
+ } if
+} def
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%% No derivative for condition....
+/EvalCondOp { 3 -1 roll pop } bind def
+/PutIntervalOneAdd {putinterval 1 add} bind def
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%% Add open parenthesis in string at the given index
+%% str index -> str index+1
+/AddOpPar {2 copy (\() PutIntervalOneAdd} bind def
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%% Add close parenthesis in string at the given index
+%% str index -> str index+1
+/AddClPar {2 copy (\)) PutIntervalOneAdd} bind def
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%% Add 0 in string at the given index
+%% str index -> str index+1
+/AddZero {2 copy (0) PutIntervalOneAdd} bind def
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%% Add open parenthesis in string at the given index
+%% str index -> str index+1
+/AddMul {2 copy (*) PutIntervalOneAdd} bind def
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%% Add open parenthesis in string at the given index
+%% str index -> str index+1
+/AddDiv {2 copy (/) PutIntervalOneAdd} bind def
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%% Add a plus sign in string at the given index
+%% str index -> str index+1
+/AddAdd {2 copy (+) PutIntervalOneAdd} bind def
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%% Add a minus sign in string at the given index
+%% str index -> str index+1
+/AddSub {2 copy (-) PutIntervalOneAdd} bind def
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%% Add a pipe sign in string at the given index
+%% str index -> str index+1
+/AddPipe {2 copy (|) PutIntervalOneAdd} bind def
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%% H O O K S
+/AnalyzePreHook { dup 5 1 roll } bind def
+/PreEvalHook {} def
+/AnalyzePostHook { 7 -1 roll pop } bind def
+/AnalyzeListOfEPostHook { 6 -1 roll mark 6 1 roll cleartomark } bind def
+/RollOp { 5 1 roll } bind def
+end%%%tx@CoreAnalyzerDict
+/tx@AddMathFunc 12 dict def tx@AddMathFunc begin
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%% NEW FUNC
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%% function arcsine in radians asin(x)=atan(x/sqrt(1-x^2))
+%% x -> theta
+/asin {%
+ dup abs 1 gt { EQDFasinrangeerror } if
+ dup dup dup mul 1 exch sub sqrt atan exch 0 lt { 360 sub } if DegtoRad
+} def
+%% function arccosine in radians acos(x)=atan(sqrt(1-x^2)/x)
+%% x -> theta
+/acos {%
+ dup abs 1 gt { EQDFacosrangeerror } if
+ dup dup mul 1 exch sub sqrt exch atan DegtoRad
+} def
+%% function arctangent in radians
+%% x -> theta
+/atg { 1 atan dup 90 gt { 360 sub } if DegtoRad } bind def
+%% HYPERBOLIC FUNCTIONS
+/sh { dup Ex exch neg Ex sub 2 div } def
+/ch { dup Ex exch neg Ex add 2 div } def
+/th { dup sh exch ch div } def
+/Argsh { dup dup mul 1 add sqrt add ln } def
+/Argch { dup dup mul 1 sub sqrt add ln } def
+/Argth { dup 1 add exch 1 exch sub div ln 2 div } def
+%% modified exponential funtion for 0
+%% x n -> x^n
+/Exp { dup 0 eq { pop pop 1 } { exp } ifelse } bind def
+%% modified exponential funtion for 0
+%% x -> e^x
+/Ex { Euler exch exp } bind def
+%%
+%% factorial function
+%% n -> n!
+/Fact { 1 exch 2 exch 1 exch { mul } for } bind def
+/fact { Fact } bind def
+/! { Fact } bind def
+end
+%
+% END pst-algparser.pro
+
+%%EndProcSet
+%%BeginProcSet: pst-tools.pro 0 0
+% $Id: pst-tools.pro 622 2012-01-01 15:36:14Z herbert $
+%
+%% PostScript tools prologue for pstricks.tex.
+%% Version 0.02, 2012/01/01
+%%
+%% This program can be redistributed and/or modified under the terms
+%% of the LaTeX Project Public License Distributed from CTAN archives
+%% in directory macros/latex/base/lppl.txt.
+%
+%
+/Pi2 1.57079632679489661925640 def
+/factorial { % n on stack, returns n!
+ dup 0 eq { 1 }{
+ dup 1 gt { dup 1 sub factorial mul } if }
+ ifelse } def
+%
+/MoverN { % m n on stack, returns the binomial coefficient m over n
+ 2 dict begin
+ /n exch def /m exch def
+ n 0 eq { 1 }{
+ m n eq { 1 }{
+ m factorial n factorial m n sub factorial mul div } ifelse } ifelse
+ end
+} def
+%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+% subroutines for complex numbers, given as an array [a b]
+% which is a+bi = Real+i Imag
+%
+/cxadd { % [a1 b1] [a2 b2] = [a1+a2 b1+b2]
+ dup 0 get % [a1 b1] [a2 b2] a2
+ 3 -1 roll % [a2 b2] a2 [a1 b1]
+ dup 0 get % [a2 b2] a2 [a1 b1] a1
+ 3 -1 roll % [a2 b2] [a1 b1] a1 a2
+ add % [a2 b2] [a1 b1] a1+a2
+ 3 1 roll % a1+a2 [a2 b2] [a1 b1]
+ 1 get % a1+a2 [a2 b2] b1
+ exch 1 get % a1+a2 b1 b2
+ add 2 array astore
+} def
+%
+/cxneg { % [a b]
+ dup 1 get % [a b] b
+ exch 0 get % b a
+ neg exch neg % -a -b
+ 2 array astore
+} def
+%
+/cxsub { cxneg cxadd } def % same as negative addition
+%
+% [a1 b1][a2 b2] = [a1a2-b1b2 a1b2+b1a2] = [a3 b3]
+/cxmul { % [a1 b1] [a2 b2]
+ dup 0 get % [a1 b1] [a2 b2] a2
+ exch 1 get % [a1 b1] a2 b2
+ 3 -1 roll % a2 b2 [a1 b1]
+ dup 0 get % a2 b2 [a1 b1] a1
+ exch 1 get % a2 b2 a1 b1
+ dup % a2 b2 a1 b1 b1
+ 5 -1 roll dup % b2 a1 b1 b1 a2 a2
+ 3 1 roll mul % b2 a1 b1 a2 b1a2
+ 5 -2 roll dup % b1 a2 b1a2 b2 a1 a1
+ 3 -1 roll dup % b1 a2 b1a2 a1 a1 b2 b2
+ 3 1 roll mul % b1 a2 b1a2 a1 b2 a1b2
+ 4 -1 roll add % b1 a2 a1 b2 b3
+ 4 2 roll mul % b1 b2 b3 a1a2
+ 4 2 roll mul sub % b3 a3
+ exch 2 array astore
+} def
+%
+% [a b]^2 = [a^2-b^2 2ab] = [a2 b2]
+/cxsqr { % [a b] square root
+ dup 0 get exch 1 get % a b
+ dup dup mul % a b b^2
+ 3 -1 roll % b b^2 a
+ dup dup mul % b b^2 a a^2
+ 3 -1 roll sub % b a a2
+ 3 1 roll mul 2 mul % a2 b2
+ 2 array astore
+} def
+%
+/cxsqrt { % [a b]
+% dup cxnorm sqrt /r exch def
+% cxarg 2 div RadtoDeg dup cos r mul exch sin r mul cxmake2
+ cxlog % log[a b]
+ 2 cxrdiv % log[a b]/2
+ aload pop exch % b a
+ 2.781 exch exp % b exp(a)
+ exch cxconv exch % [Re +iIm] exp(a)
+ cxrmul %
+} def
+%
+/cxarg { % [a b]
+ aload pop % a b
+ exch atan % arctan b/a
+ DegtoRad % arg(z)=atan(b/a)
+} def
+%
+% log[a b] = [a^2-b^2 2ab] = [a2 b2]
+/cxlog { % [a b]
+ dup % [a b][a b]
+ cxnorm % [a b] |z|
+ log % [a b] log|z|
+ exch % log|z|[a b]
+ cxarg % log|z| Theta
+ cxmake2 % [log|z| Theta]
+} def
+%
+% square of magnitude of complex number
+/cxnorm2 { % [a b]
+ dup 0 get exch 1 get % a b
+ dup mul % a b^2
+ exch dup mul add % a^2+b^2
+} def
+%
+/cxnorm { % [a b]
+ cxnorm2 sqrt
+} def
+%
+/cxconj { % conjugent complex
+ dup 0 get exch 1 get % a b
+ neg 2 array astore % [a -b]
+} def
+%
+/cxre { 0 get } def % real value
+/cxim { 1 get } def % imag value
+%
+% 1/[a b] = ([a -b]/(a^2+b^2)
+/cxrecip { % [a b]
+ dup cxnorm2 exch % n2 [a b]
+ dup 0 get exch 1 get % n2 a b
+ 3 -1 roll % a b n2
+ dup % a b n2 n2
+ 4 -1 roll exch div % b n2 a/n2
+ 3 1 roll div % a/n2 b/n2
+ neg 2 array astore
+} def
+%
+/cxmake1 { 0 2 array astore } def % make a complex number, real given
+/cxmake2 { 2 array astore } def % dito, both given
+%
+/cxdiv { cxrecip cxmul } def
+%
+% multiplikation by a real number
+/cxrmul { % [a b] r
+ exch aload pop % r a b
+ 3 -1 roll dup % a b r r
+ 3 1 roll mul % a r b*r
+ 3 1 roll mul % b*r a*r
+ exch 2 array astore % [a*r b*r]
+} def
+%
+% division by a real number
+/cxrdiv { % [a b] r
+ 1 exch div % [a b] 1/r
+ cxrmul
+} def
+%
+% exp(i theta) = cos(theta)+i sin(theta) polar<->cartesian
+/cxconv { % theta
+ RadtoDeg dup sin exch cos cxmake2
+} def
+
+%%%%% ### bubblesort ###
+%% syntax : array bubblesort --> array2 trie par ordre croissant
+%% code de Bill Casselman
+%% http://www.math.ubc.ca/people/faculty/cass/graphics/text/www/
+/bubblesort { % on stack must be an array [ ... ]
+4 dict begin
+ /a exch def
+ /n a length 1 sub def
+ n 0 gt {
+ % at this point only the n+1 items in the bottom of a remain to
+ % the sorted largest item in that blocks is to be moved up into
+ % position n
+ n {
+ 0 1 n 1 sub {
+ /i exch def
+ a i get a i 1 add get gt {
+ % if a[i] > a[i+1] swap a[i] and a[i+1]
+ a i 1 add
+ a i get
+ a i a i 1 add get
+ % set new a[i] = old a[i+1]
+ put
+ % set new a[i+1] = old a[i]
+ put
+ } if
+ } for
+ /n n 1 sub def
+ } repeat
+ } if
+ a % return the sorted array
+end
+} def
+%
+/concatstringarray{ % [(a) (b) ... (z)] --> (ab...z) 20100422
+ 0 1 index { length add } forall
+ string
+ 0 3 2 roll
+ { 3 copy putinterval length add }forall
+ pop
+} bind def
+%
+/dot2comma {% on stack a string (...)
+ 2 dict begin
+ /Output exch def
+ 0 1 Output length 1 sub {
+ /Index exch def
+ Output Index get 46 eq { Output Index 44 put } if
+ } for
+ Output
+ end
+} def
+%
+%-----------------------------------------------------------------------------%
+% END pst-tools.pro
+
+%%EndProcSet
+%%BeginProcSet: pst-dots.pro 0 0
+% $Id: pst-dots.pro 130 2009-08-27 08:55:03Z herbert $
+%
+%% PostScript prologue for pstricks.tex.
+%% Version 2.02, 2009/06/16
+%%
+%% For distribution, see pstricks.tex.
+%%
+%% Timothy Van Zandt <tvz@Princeton.EDU>
+%%
+%% This program can be redistributed and/or modified under the terms
+%% of the LaTeX Project Public License Distributed from CTAN archives
+%% in directory macros/latex/base/lppl.txt.
+%%
+%% Modified by Etienne Riga - Dec. 16, 1999
+%% Modified by Etienne Riga - 2005/01/01 (er)
+%% to add /Diamond, /SolidDiamond and /BoldDiamond
+%% Modified by Herbert Voss (hv) - 2008/04/17
+%
+10 dict dup begin % hold local
+ /FontType 3 def
+ /FontMatrix [.001 0 0 .001 0 0] def
+% /FontBBox [-571.5 -742.5 571.5 742.5] def % changed to next line 20060616 hv
+ /FontBBox [-1000 -1000 1000 1000] def % See end of file in /BuildGlyph
+ /Encoding 256 array def
+ 0 1 255 {Encoding exch /.notdef put} for % fill the array with /.notdef
+ Encoding % replace with given dot names
+ dup (b) 0 get /Bullet put % get the numerical position of b in ASCII
+% % and save /Bullet at this place in Encoding
+ dup (c) 0 get /Circle put
+ dup (C) 0 get /BoldCircle put % 67
+ dup (u) 0 get /SolidTriangle put
+ dup (t) 0 get /Triangle put
+ dup (T) 0 get /BoldTriangle put
+ dup (r) 0 get /SolidSquare put
+ dup (s) 0 get /Square put
+ dup (S) 0 get /BoldSquare put
+ dup (q) 0 get /SolidPentagon put
+ dup (p) 0 get /Pentagon put
+ dup (P) 0 get /BoldPentagon put
+%%%
+ dup (k) 0 get /Asterisk put
+ dup (K) 0 get /BoldAsterisk put
+ dup (J) 0 get /SolidAsterisk put
+ dup (h) 0 get /Hexagon put
+ dup (H) 0 get /BoldHexagon put
+ dup (G) 0 get /SolidHexagon put
+ dup (f) 0 get /Octogon put % 2008-04-18 hv
+ dup (F) 0 get /BoldOctogon put % 2008-04-18 hv
+ dup (g) 0 get /SolidOctogon put % 2008-04-18 hv
+ dup (a) 0 get /Add put
+ dup (A) 0 get /BoldAdd put % 65
+ dup (x) 0 get /Mul put
+ dup (X) 0 get /BoldMul put
+ dup (m) 0 get /Oplus put
+ dup (M) 0 get /BOplus put
+ dup (e) 0 get /SolidOplus put
+ dup (n) 0 get /Otimes put
+ dup (N) 0 get /BOtimes put
+ dup (E) 0 get /SolidOtimes put
+ dup (i) 0 get /Bar put
+ dup (I) 0 get /BoldBar put
+ dup (l) 0 get /SolidDiamond put
+ dup (d) 0 get /Diamond put
+ (D) 0 get /BoldDiamond put
+%%%
+/CharProcs 47 dict def
+CharProcs begin
+ /CirclePath {0 0 500 0 360 arc closepath} def
+ /Bullet {CirclePath fill} def
+ /Circle {CirclePath .9 .9 scale CirclePath eofill} def
+ /BoldCircle {CirclePath .8 .8 scale CirclePath eofill} def
+ /TrianglePath {0 660 moveto -571.5 -330 lineto 571.5 -330 lineto closepath} def
+ /SolidTriangle {TrianglePath fill} def
+ /Triangle {TrianglePath .85 .85 scale TrianglePath eofill} def
+ /BoldTriangle {TrianglePath .7 .7 scale TrianglePath eofill} def
+ /SquarePath {-450 450 moveto 450 450 lineto 450 -450 lineto -450 -450 lineto closepath} def
+ /SolidSquare {SquarePath fill} def
+ /Square {SquarePath .89 .89 scale SquarePath eofill} def
+ /BoldSquare {SquarePath .78 .78 scale SquarePath eofill} def
+ /PentagonPath {
+ -337.8 -465 moveto 337.8 -465 lineto 546.6 177.6 lineto
+ 0 574.7 lineto -546.6 177.6 lineto closepath
+ } def
+ /SolidPentagon {PentagonPath fill} def
+ /Pentagon {PentagonPath .89 .89 scale PentagonPath eofill} def
+ /BoldPentagon {PentagonPath .78 .78 scale PentagonPath eofill} def
+%-------------- hv begin 2004/07/25 from: er 2003/03/24
+ /HexagonPath {
+ 0 550 moveto -476 275 lineto -476 -275 lineto
+ 0 -550 lineto 476 -275 lineto 476 275 lineto closepath
+ } def
+ /SolidHexagon {HexagonPath fill} def
+ /Hexagon {HexagonPath .89 .89 scale HexagonPath eofill} def
+ /BoldHexagon {HexagonPath .79 .79 scale HexagonPath eofill} def
+% 2008-04-18 hv
+ /OctogonPath {
+ 550 dup 22.5 tan mul dup neg dup add /xMove exch def
+ exch moveto 7 { xMove 0 rlineto 45 rotate } repeat closepath } def
+ /SolidOctogon { OctogonPath fill } def
+ /Octogon { OctogonPath .89 .89 scale OctogonPath eofill } def
+ /BoldOctogon { OctogonPath .79 .79 scale OctogonPath eofill } def
+%
+ /AsteriskPath {
+ 20 0 moveto 10 250 180 500 0 500 curveto
+ -180 500 -10 250 -20 0 curveto closepath
+ } def
+ /Asterisk {
+ AsteriskPath 60 rotate AsteriskPath 60 rotate AsteriskPath
+ 60 rotate AsteriskPath 60 rotate AsteriskPath 60 rotate AsteriskPath fill
+ } def
+%
+ /Basterp {50 250 220 500 0 500 curveto -220 500 -50 250 -50 30 cos 100 mul curveto} def
+ /BoldAsteriskPath {
+ 50 30 cos 100 mul moveto Basterp
+ 60 rotate Basterp 60 rotate Basterp
+ 60 rotate Basterp 60 rotate Basterp
+ 60 rotate Basterp closepath
+ } def
+ /BoldAsterisk {BoldAsteriskPath fill} def
+ /SolidAsterisk {CirclePath .9 .9 scale BoldAsteriskPath eofill} def
+ /CrossPath {
+ 40 550 moveto -40 550 lineto -40 40 lineto -550 40 lineto
+ -550 -40 lineto -40 -40 lineto -40 -550 lineto 40 -550 lineto
+ 40 -40 lineto 550 -40 lineto 550 40 lineto 40 40 lineto closepath
+ } def
+ /BoldCrossPath {80 550 moveto -80 550 lineto -80 80 lineto -550 80 lineto
+ -550 -80 lineto -80 -80 lineto -80 -550 lineto 80 -550 lineto
+ 80 -80 lineto 550 -80 lineto 550 80 lineto 80 80 lineto closepath
+ } def
+ /Add {CrossPath fill} def
+ /Mul {45 rotate CrossPath fill} def
+ /BoldAdd {BoldCrossPath fill} def
+ /BoldMul {45 rotate BoldCrossPath fill} def
+ /Oplus {CirclePath .9 .9 scale CirclePath eofill .775 .775 scale CrossPath fill } def
+ /SolidOplus {CirclePath .775 .775 scale BoldCrossPath eofill} def
+ /BOplus {CirclePath .8 .8 scale CirclePath eofill .775 .775 scale BoldCrossPath fill} def
+ /Otimes {CirclePath .9 .9 scale CirclePath eofill 45 rotate .775 .775 scale CrossPath fill} def
+ /BOtimes {CirclePath .8 .8 scale CirclePath eofill 45 rotate .775 .775 scale BoldCrossPath fill } def
+ /SolidOtimes {CirclePath 45 rotate .775 .775 scale BoldCrossPath eofill} def
+ /BarPath {40 660 moveto -40 660 lineto -40 -660 lineto 40 -660 lineto closepath} def
+ /Bar {BarPath fill} def
+ /BoldBarPath {80 660 moveto -80 660 lineto -80 -660 lineto 80 -660 lineto closepath} def
+ /BoldBar {BoldBarPath fill} def
+ /DiamondPath {0 742.5 moveto -428.5 0 lineto 0 -742.5 lineto 428.5 0 lineto closepath} def
+ /SolidDiamond {DiamondPath fill} def
+ /Diamond {DiamondPath .865 .865 scale DiamondPath eofill} def
+ /BoldDiamond {DiamondPath .73 .73 scale DiamondPath eofill} def
+%%%
+ /.notdef { } def
+end
+%
+/BuildGlyph {
+ exch
+ begin
+% Metrics 1 index get exec 0
+ 0 0
+% BBoxes 3 index get exec
+ -1000 -1000 1000 1000
+% -571.5 -742.5 571.5 742.5
+ setcachedevice
+ CharProcs begin load exec end
+ end
+} def
+%
+/BuildChar {
+ 1 index /Encoding get exch get
+ 1 index /BuildGlyph get exec
+} bind def
+%
+end
+/PSTricksDotFont exch definefont pop
+%
+%% end
+
+%%EndProcSet
+%%BeginProcSet: pst-node.pro 0 0
+% $Id: pst-node.pro 645 2012-02-12 09:09:51Z herbert $
+%%
+%% PostScript prologue for pst-node.tex.
+%% Version 1.13, 2011/11/21.
+%%
+%% This program can be redistributed and/or modified under the terms
+%% of the LaTeX Project Public License Distributed from CTAN archives
+%% in directory macros/latex/base/lppl.txt.
+%
+/tx@NodeDict 400 dict def tx@NodeDict begin
+tx@Dict begin % from main pstricks dict
+ /T /translate load def
+ /CP /currentpoint load def
+end
+/NewNode { % on stack: { x y } boolean N@name type InitXnode
+ gsave
+ NodeScale % a bugfix for xelatex, it's empty for dvips
+ /next exch def % { x y } boolean N@name type
+ dict dup % { x y } boolean N@name dict dict
+ 3 1 roll def % { x y } boolean dict N@name dict def
+ exch { dup 3 1 roll def } if % { x y } dict boolean
+ begin % { x y } dict begin
+ tx@Dict begin
+ STV CP T exec % set scaling
+ end
+ /NodeMtrx CM def % save CM
+ next % InitXNode
+ end
+ grestore
+} def
+%
+/InitPnode {
+ /Y ED /X ED
+ /NodePos { NodeSep Cos mul NodeSep Sin mul } def
+} def
+%
+/InitCnode {
+ /r ED /Y ED /X ED
+ /NodePos { NodeSep r add dup Cos mul exch Sin mul } def
+} def
+%
+/GetRnodePos {
+ Cos 0 gt { /dx r NodeSep add def } { /dx l NodeSep sub def } ifelse
+ Sin 0 gt { /dy u NodeSep add def } { /dy d NodeSep sub def } ifelse
+ dx Sin mul abs dy
+ Cos mul abs gt { dy Cos mul Sin div dy } { dx dup Sin mul Cos Div } ifelse
+} def
+%
+/InitRnode {
+ /Y ED /X ED X sub /r ED /l X neg def Y add neg /d ED Y sub /u ED
+ /NodePos { GetRnodePos } def
+} def
+%
+/DiaNodePos {
+ w h mul w Sin mul abs h Cos mul abs add Div NodeSep add dup
+ Cos mul exch Sin mul
+} def
+%
+/TriNodePos {
+ Sin s lt
+ { d NodeSep sub dup Cos mul Sin Div exch }
+ { w h mul w Sin mul h Cos abs mul add Div
+ NodeSep add dup Cos mul exch Sin mul
+ } ifelse
+} def
+%
+/InitTriNode {
+ sub 2 div exch
+ 2 div exch
+ 2 copy T
+ 2 copy 4 index index /d ED
+ pop pop pop pop
+ -90 mul rotate
+ /NodeMtrx CM def
+ /X 0 def /Y 0 def
+ d sub abs neg /d ED
+ d add /h ED
+ 2 div h mul h d sub Div /w ED
+ /s d w Atan sin def
+ /NodePos { TriNodePos } def
+} def
+%
+/OvalNodePos {
+ /ww w NodeSep add def
+ /hh h NodeSep add def
+ Sin ww mul Cos hh mul Atan dup cos ww mul exch sin hh mul
+} def
+%
+/GetCenter { begin X Y NodeMtrx transform CM itransform end } def
+%
+/XYPos {
+ dup sin exch cos Do
+ /Cos ED /Sin ED /Dist ED
+ Cos 0 gt
+ { Dist Dist Sin mul Cos div }
+ { Cos 0 lt
+ { Dist neg Dist Sin mul Cos div neg }
+ { 0 Dist Sin mul } ifelse
+ } ifelse
+ Do
+} def
+%
+/GetEdge {
+ dup 0 eq
+ { pop begin 1 0 NodeMtrx dtransform
+ CM idtransform
+ exch atan sub
+ dup
+ sin /Sin ED
+ cos /Cos ED
+ /NodeSep ED
+ NodePos NodeMtrx dtransform CM idtransform end }
+ { 1 eq {{exch}} {{}} ifelse /Do ED pop XYPos } ifelse
+} def
+%
+/AddOffset {
+ 1 index 0 eq
+ { pop pop }
+ { 2 copy 5 2 roll cos mul add 4 1 roll sin mul sub exch } ifelse
+} def
+%
+/GetEdgeA {
+ NodeSepA AngleA NodeA NodeSepTypeA GetEdge
+ OffsetA AngleA AddOffset
+ yA add /yA1 ED
+ xA add /xA1 ED
+} def
+%
+/GetEdgeB {
+ NodeSepB AngleB NodeB NodeSepTypeB GetEdge
+ OffsetB AngleB AddOffset
+ yB add /yB1 ED
+ xB add /xB1 ED
+} def
+%
+/GetArmA {
+ ArmTypeA 0 eq
+ { /xA2 ArmA AngleA cos mul xA1 add def
+ /yA2 ArmA AngleA sin mul yA1 add def }
+ { ArmTypeA 1 eq {{exch}} {{}} ifelse
+ /Do ED
+ ArmA AngleA XYPos OffsetA AngleA AddOffset
+ yA add /yA2 ED
+ xA add /xA2 ED } ifelse
+} def
+%
+/GetArmB {
+ ArmTypeB 0 eq
+ { /xB2 ArmB AngleB cos mul xB1 add def
+ /yB2 ArmB AngleB sin mul yB1 add def }
+ { ArmTypeB 1 eq {{exch}} {{}} ifelse
+ /Do ED
+ ArmB AngleB XYPos OffsetB AngleB AddOffset
+ yB add /yB2 ED
+ xB add /xB2 ED } ifelse
+} def
+%
+/InitNC {
+ /b ED /a ED % second and first node
+ /NodeSepTypeB ED /NodeSepTypeA ED
+ /NodeSepB ED /NodeSepA ED
+ /OffsetB ED /OffsetA ED
+ tx@NodeDict a known tx@NodeDict b known and dup {
+ /NodeA a load def
+ /NodeB b load def
+ NodeA GetCenter /yA ED /xA ED
+ NodeB GetCenter /yB ED /xB ED } if
+} def
+%
+/LPutLine {
+ 4 copy
+ 3 -1 roll sub neg 3 1 roll sub Atan /NAngle ED
+ 1 t sub mul
+ 3 1 roll 1 t sub mul
+ 4 1 roll t mul add /Y ED
+ t mul add /X ED
+} def
+%
+/LPutLines {
+ mark LPutVar counttomark 2 div 1 sub /n ED
+% t floor dup n gt
+ t floor dup n ge % to allow npos<= hv 2008-08-14
+ { pop n 1 sub /t 1 def } { dup t sub neg /t ED } ifelse
+ cvi 2 mul { pop } repeat
+ LPutLine
+ cleartomark
+} def
+%
+/BezierMidpoint {
+ /y3 ED /x3 ED /y2 ED /x2 ED /y1 ED /x1 ED /y0 ED /x0 ED /t ED
+ /cx x1 x0 sub 3 mul def
+ /cy y1 y0 sub 3 mul def
+ /bx x2 x1 sub 3 mul cx sub def
+ /by y2 y1 sub 3 mul cy sub def
+ /ax x3 x0 sub cx sub bx sub def
+ /ay y3 y0 sub cy sub by sub def
+ ax t 3 exp mul bx t t mul mul add
+ cx t mul add x0 add ay t 3 exp mul
+ by t t mul mul add cy t mul add
+ y0 add 3 ay t t mul mul mul 2
+ by t mul mul add cy add 3 ax t t mul mul mul
+ 2 bx t mul mul add cx add atan /NAngle ED
+ /Y ED /X ED
+} def
+%
+/HPosBegin { yB yA ge { /t 1 t sub def } if /Y yB yA sub t mul yA add def
+} def
+/HPosEnd { /X Y yyA sub yyB yyA sub Div xxB xxA sub mul xxA add def
+/NAngle yyB yyA sub xxB xxA sub Atan def } def
+/HPutLine { HPosBegin /yyA ED /xxA ED /yyB ED /xxB ED HPosEnd } def
+/HPutLines { HPosBegin yB yA ge { /check { le } def } { /check { ge } def
+} ifelse /xxA xA def /yyA yA def mark xB yB LPutVar { dup Y check { exit
+} { /yyA ED /xxA ED } ifelse } loop /yyB ED /xxB ED cleartomark HPosEnd
+} def
+/VPosBegin { xB xA lt { /t 1 t sub def } if /X xB xA sub t mul xA add def
+} def
+/VPosEnd { /Y X xxA sub xxB xxA sub Div yyB yyA sub mul yyA add def
+/NAngle yyB yyA sub xxB xxA sub Atan def } def
+/VPutLine { VPosBegin /yyA ED /xxA ED /yyB ED /xxB ED VPosEnd } def
+/VPutLines { VPosBegin xB xA ge { /check { le } def } { /check { ge } def
+} ifelse /xxA xA def /yyA yA def mark xB yB LPutVar { 1 index X check {
+exit } { /yyA ED /xxA ED } ifelse } loop /yyB ED /xxB ED cleartomark
+VPosEnd } def
+/HPutCurve { gsave newpath /SaveLPutVar /LPutVar load def LPutVar 8 -2
+roll moveto curveto flattenpath /LPutVar [ {} {} {} {} pathforall ] cvx
+def grestore exec /LPutVar /SaveLPutVar load def } def
+/NCCoor { /AngleA yB yA sub xB xA sub Atan def /AngleB AngleA 180 add def
+GetEdgeA GetEdgeB /LPutVar [ xB1 yB1 xA1 yA1 ] cvx def /LPutPos {
+LPutVar LPutLine } def /HPutPos { LPutVar HPutLine } def /VPutPos {
+LPutVar VPutLine } def LPutVar } def
+%
+/NCLine {
+ NCCoor
+ tx@Dict begin
+ ArrowA CP 4 2 roll
+ ArrowB
+ lineto pop pop
+ end
+} def
+%
+/NCLines {
+ false NArray
+ n 0 eq
+ { NCLine }
+ { 2 copy yA sub exch xA sub Atan /AngleA ED
+ n 2 mul dup index exch index yB sub exch xB sub
+ Atan /AngleB ED
+ GetEdgeA GetEdgeB
+ /LPutVar [ xB1 yB1 n 2 mul 4 add 4 roll xA1 yA1 ] cvx def
+ mark LPutVar
+ tx@Dict begin false Line end
+ /LPutPos { LPutLines } def
+ /HPutPos { HPutLines } def
+ /VPutPos { VPutLines } def
+ } ifelse
+} def
+%
+/NCCurve {
+ GetEdgeA
+ GetEdgeB
+ xA1 xB1 sub yA1 yB1 sub Pyth 2 div dup 3 -1
+roll mul /ArmA ED mul /ArmB ED /ArmTypeA 0 def /ArmTypeB 0 def GetArmA
+GetArmB xA2 yA2 xA1 yA1 tx@Dict begin ArrowA end xB2 yB2 xB1 yB1 tx@Dict
+begin ArrowB end curveto /LPutVar [ xA1 yA1 xA2 yA2 xB2 yB2 xB1 yB1 ]
+cvx def /LPutPos { t LPutVar BezierMidpoint } def /HPutPos { { HPutLines
+} HPutCurve } def /VPutPos { { VPutLines } HPutCurve } def } def
+%
+/NCAngles {
+ GetEdgeA GetEdgeB GetArmA GetArmB
+ /mtrx AngleA matrix rotate def
+ xA2 yA2 mtrx transform pop
+ xB2 yB2 mtrx transform exch pop
+ mtrx itransform
+ /y0 ED /x0 ED
+ mark ArmB 0 ne { xB1 yB1 } if
+ xB2 yB2 x0 y0 xA2 yA2
+ ArmA 0 ne { xA1 yA1 } if
+ tx@Dict begin false Line end
+ /LPutVar [ xB1 yB1 xB2 yB2 x0 y0 xA2 yA2 xA1 yA1 ] cvx def
+ /LPutPos { LPutLines } def
+ /HPutPos { HPutLines } def
+ /VPutPos { VPutLines } def } def
+%
+/NCAngle {
+ GetEdgeA GetEdgeB GetArmB
+ /mtrx AngleA matrix rotate def
+ xB2 yB2 mtrx itransform pop xA1 yA1 mtrx itransform exch pop mtrx transform
+ /y0 ED /x0 ED
+ mark
+ ArmB 0 ne { xB1 yB1 } if
+ xB2 yB2 x0 y0 xA1 yA1
+ tx@Dict begin false Line end
+ /LPutVar [ xB1 yB1 xB2 yB2 x0 y0 xA1 yA1 ] cvx def
+ /LPutPos { LPutLines } def
+ /HPutPos { HPutLines } def
+ /VPutPos { VPutLines } def
+} def
+%
+/NCBar {
+ GetEdgeA GetEdgeB GetArmA GetArmB
+ /mtrx AngleA matrix rotate def
+ xA2 yA2 mtrx itransform pop
+ xB2 yB2 mtrx itransform pop
+ sub dup 0 mtrx transform
+ 3 -1 roll 0 gt
+ { /yB2 exch yB2 add def /xB2 exch xB2 add def }
+ { /yA2 exch neg yA2 add def /xA2 exch neg xA2 add def } ifelse
+ mark
+ ArmB 0 ne { xB1 yB1 } if
+ xB2 yB2 xA2 yA2 ArmA 0 ne { xA1 yA1 } if
+ tx@Dict begin false Line end
+ /LPutVar [ xB1 yB1 xB2 yB2 xA2 yA2 xA1 yA1 ] cvx def
+ /LPutPos { LPutLines } def
+ /HPutPos { HPutLines } def
+ /VPutPos { VPutLines } def
+} def
+%
+/NCDiag {
+ /lineAngle ED
+ GetEdgeA GetEdgeB GetArmA GetArmB mark
+ lineAngle abs 0 gt {
+ /xTemp xA2 10 add def
+ /yTemp yA2 lineAngle dup sin exch cos div 10 mul add def
+ /dY1 yTemp yA2 sub def
+ /dX1 xTemp xA2 sub def
+ /dY2 yB2 yB1 sub def
+ /dX2 xB2 xB1 sub def
+ dX1 abs 0.01 lt {
+ /m2 dY2 dX2 div def
+ /xB2 xA2 def
+ /yB2 xA2 xB1 sub m2 mul yB1 add def
+ }{
+ dX2 abs 0.01 lt {
+ /m1 dY1 dX1 div def
+ /xB2 xB1 def
+ /yB2 xB1 xA2 sub m1 mul yA2 add def
+ }{%
+ /m1 dY1 dX1 div def
+ /m2 dY2 dX2 div def
+ /xB2 m1 xA2 mul m2 xB1 mul sub yA2 sub yB1 add m1 m2 sub div def
+ /yB2 xB2 xA2 sub m1 mul yA2 add def
+ } ifelse
+ } ifelse
+ } if
+ ArmB 0 ne { xB1 yB1 } if
+ xB2 yB2 xA2 yA2
+ ArmA 0 ne { xA1 yA1 } if
+ tx@Dict begin false Line end
+ /LPutVar [ xB1 yB1 xB2 yB2 xA2 yA2 xA1 yA1 ] cvx def
+ /LPutPos { LPutLines } def
+ /HPutPos { HPutLines } def
+ /VPutPos { VPutLines } def
+%
+% GetEdgeA GetEdgeB GetArmA GetArmB mark
+% ArmB 0 ne { xB1 yB1 } if
+% xB2 yB2 xA2 yA2
+% ArmA 0 ne { xA1 yA1 } if
+% tx@Dict begin false Line end
+% /LPutVar [ xB1 yB1 xB2 yB2 xA2 yA2 xA1 yA1 ] cvx def
+% /LPutPos { LPutLines } def
+% /HPutPos { HPutLines } def
+% /VPutPos { VPutLines } def
+} def
+%
+/NCDiagg {
+ /lineAngle ED
+ GetEdgeA GetArmA
+ lineAngle abs 0 gt
+ { lineAngle }
+ { yB yA2 sub xB xA2 sub Atan 180 add } ifelse
+ /AngleB ED
+ GetEdgeB mark
+ lineAngle abs 0 gt {
+ /dY2 yA2 yA1 sub def
+ /dX2 xA2 xA1 sub def
+ lineAngle abs 90 eq {
+ /m2 dY2 dX2 div def
+ /yA2 xB xA2 sub m2 mul yA2 add def
+ /xA2 xB def
+ }{
+ /m1 lineAngle dup sin exch cos div def % tan alpha
+ dX2 abs 0.01 lt {
+ /yA2 xA1 xB sub m1 mul yB add def
+ /xA2 xA1 def
+ }{%
+ /m2 dY2 dX2 div def
+ /xA2 m1 xB mul m2 xA2 mul sub yA2 add yB sub m1 m2 sub div def
+ /yA2 xA2 xB sub m1 mul yB add def
+ } ifelse
+ } ifelse
+ } if
+ xB1 yB1 xA2 yA2
+ ArmA 0 ne { xA1 yA1 } if
+ tx@Dict begin false Line end
+ /LPutVar [ xB1 yB1 xA2 yA2 xA1 yA1 ] cvx def
+ /LPutPos { LPutLines } def
+ /HPutPos { HPutLines } def
+ /VPutPos { VPutLines } def
+%
+% GetEdgeA GetArmA
+% yB yA2 sub xB xA2 sub Atan 180 add /AngleB ED
+% GetEdgeB
+% mark
+% xB1 yB1 xA2 yA2
+% ArmA 0 ne { xA1 yA1 } if
+% tx@Dict begin false Line end
+% /LPutVar [ xB1 yB1 xA2 yA2 xA1 yA1 ] cvx def
+% /LPutPos { LPutLines } def
+% /HPutPos { HPutLines } def
+% /VPutPos { VPutLines } def
+} def
+%
+/NCLoop {
+ GetEdgeA GetEdgeB GetArmA GetArmB
+ /mtrx AngleA matrix rotate def
+ xA2 yA2 mtrx transform loopsize add /yA3 ED /xA3 ED
+ /xB3 xB2 yB2 mtrx transform pop def
+ xB3 yA3 mtrx itransform /yB3 ED /xB3 ED
+ xA3 yA3 mtrx itransform /yA3 ED /xA3 ED
+ mark ArmB 0 ne { xB1 yB1 } if
+ xB2 yB2 xB3 yB3 xA3 yA3 xA2 yA2 ArmA 0 ne { xA1 yA1 } if
+ tx@Dict begin false Line end
+ /LPutVar [ xB1 yB1 xB2 yB2 xB3 yB3 xA3 yA3 xA2 yA2 xA1 yA1 ] cvx def
+ /LPutPos { LPutLines } def
+ /HPutPos { HPutLines } def
+ /VPutPos { VPutLines } def
+} def
+%
+% DG/SR modification begin - May 9, 1997 - Patch 1
+%/NCCircle { 0 0 NodesepA nodeA \tx@GetEdge pop xA sub 2 div dup 2 exp r
+%r mul sub abs sqrt atan 2 mul /a ED r AngleA 90 add PtoC yA add exch xA add
+%exch 2 copy /LPutVar [ 4 2 roll r AngleA ] cvx def /LPutPos { LPutVar t 360
+%mul add dup 5 1 roll 90 sub \tx@PtoC 3 -1 roll add /Y ED add /X ED /NAngle ED
+%
+/NCCircle {
+ NodeSepA 0 NodeA 0 GetEdge pop
+ 2 div dup 2 exp r r mul sub abs sqrt
+ atan 2 mul /a ED
+ r AngleA 90 add PtoC yA add exch xA add
+ exch 2 copy
+ /LPutVar [ 4 2 roll r AngleA ] cvx def
+ /LPutPos {
+ LPutVar t 360 mul add dup 5 1 roll 90 sub PtoC
+ 3 -1 roll add
+ /Y ED add /X ED /NAngle ED
+% DG/SR modification end
+ } def
+ /HPutPos { LPutPos } def
+ /VPutPos { LPutPos } def
+ r AngleA 90 sub a add AngleA 270 add a sub
+ tx@Dict begin
+ /angleB ED /angleA ED /r ED
+ /c 57.2957 r Div def
+ /y ED /x ED
+} def
+%
+/NCBox {
+ /d ED /h ED
+ /AngleB yB yA sub xB xA sub Atan def
+ /AngleA AngleB 180 add def
+ GetEdgeA GetEdgeB
+ /dx d AngleB sin mul def
+ /dy d AngleB cos mul neg def
+ /hx h AngleB sin mul neg def
+ /hy h AngleB cos mul def
+ /LPutVar [
+ xA1 hx add yA1 hy add xB1 hx add yB1 hy add
+ xB1 dx add yB1 dy add xA1 dx add yA1 dy add ] cvx def
+ /LPutPos { LPutLines } def
+ /HPutPos { xB yB xA yA LPutLine } def
+ /VPutPos { HPutPos } def
+ mark
+ LPutVar tx@Dict begin false Polygon end
+} def
+%
+/NCArcBox {
+ /l ED neg /d ED /h ED /a ED
+ /AngleA yB yA sub xB xA sub Atan def
+ /AngleB AngleA 180 add def
+ /tA AngleA a sub 90 add def
+ /tB tA a 2 mul add def
+ /r xB xA sub tA cos tB cos sub Div dup 0 eq { pop 1 } if def
+ /x0 xA r tA cos mul add def
+ /y0 yA r tA sin mul add def
+ /c 57.2958 r div def
+ /AngleA AngleA a sub 180 add def
+ /AngleB AngleB a add 180 add def
+ GetEdgeA GetEdgeB
+ /AngleA tA 180 add yA yA1 sub xA xA1 sub Pyth c mul sub def
+ /AngleB tB 180 add yB yB1 sub xB xB1 sub Pyth c mul add def
+ l 0 eq {
+ x0 y0 r h add AngleA AngleB arc x0 y0 r d add AngleB AngleA arcn
+ }{
+ x0 y0 translate
+ /tA AngleA l c mul add def
+ /tB AngleB l c mul sub def
+ 0 0 r h add tA tB arc r h add
+ AngleB PtoC r d add
+ AngleB PtoC 2 copy
+ 6 2 roll l arcto 4 { pop } repeat
+ r d add tB PtoC l arcto 4 { pop } repeat
+ 0 0 r d add tB tA arcn r d add
+ AngleA PtoC r h add
+ AngleA PtoC 2 copy 6 2 roll
+ l arcto 4 { pop } repeat
+ r h add tA PtoC l arcto 4 { pop } repeat
+ } ifelse
+ closepath
+ /LPutVar [ x0 y0 r AngleA AngleB h d ] cvx def
+ /LPutPos {
+ LPutVar /d ED /h ED
+ /AngleB ED /AngleA ED
+ /r ED /y0 ED /x0 ED
+ t 1 le {
+ r h add AngleA 1 t sub mul AngleB t mul add dup 90 add /NAngle ED PtoC
+ }{t 2 lt {
+ /NAngle AngleB 180 add def r 2 t sub
+ h mul t 1 sub d mul add add AngleB PtoC
+ }{
+ t 3 lt {
+ r d add AngleB 3 t sub mul AngleA 2 t sub
+ mul add dup 90 sub /NAngle ED PtoC
+ }{
+ /NAngle AngleA 180 add def
+ r 4 t sub d mul t 3 sub h mul add add AngleA PtoC
+ } ifelse
+ } ifelse
+ } ifelse
+ y0 add /Y ED x0 add /X ED
+ } def
+ /HPutPos { LPutPos } def
+ /VPutPos { LPutPos } def
+} def
+%
+/Tfan { /AngleA yB yA sub xB xA sub Atan def GetEdgeA w xA1 xB sub yA1 yB
+sub Pyth Pyth w Div CLW 2 div mul 2 div dup AngleA sin mul yA1 add /yA1
+ED AngleA cos mul xA1 add /xA1 ED /LPutVar [ xA1 yA1 m { xB w add yB xB
+w sub yB } { xB yB w sub xB yB w add } ifelse xA1 yA1 ] cvx def /LPutPos
+{ LPutLines } def /VPutPos@ { LPutVar flag { 8 4 roll pop pop pop pop }
+{ pop pop pop pop 4 2 roll } ifelse } def /VPutPos { VPutPos@ VPutLine }
+def /HPutPos { VPutPos@ HPutLine } def mark LPutVar tx@Dict begin
+/ArrowA { moveto } def /ArrowB { } def false Line closepath end } def
+%
+/LPutCoor {
+ NAngle
+ tx@Dict begin /NAngle ED end
+ gsave
+ CM STV
+ CP Y sub neg exch X sub neg exch moveto
+ setmatrix CP
+ grestore
+} def
+%
+/LPut {
+ tx@NodeDict /LPutPos known
+ { LPutPos } { CP /Y ED /X ED /NAngle 0 def } ifelse
+ LPutCoor
+} def
+%
+/HPutAdjust {
+ Sin Cos mul 0 eq
+ { 0 }
+ { d Cos mul Sin div flag not { neg } if
+ h Cos mul Sin div flag { neg } if
+ 2 copy gt { pop } { exch pop } ifelse
+ } ifelse
+ s add flag { r add neg }{ l add } ifelse
+ X add /X ED
+} def
+%
+/VPutAdjust {
+ Sin Cos mul
+ 0 eq
+ { 0 }
+ { l Sin mul Cos div flag { neg } if
+ r Sin mul Cos div flag not { neg } if
+ 2 copy gt { pop } { exch pop } ifelse
+ } ifelse
+ s add flag { d add } { h add neg } ifelse
+ Y add /Y ED
+} def
+%
+%
+end
+%
+% END pst-node.pro
+
+%%EndProcSet
+%%BeginProcSet: texps.pro 0 0
+%!
+TeXDict begin/rf{findfont dup length 1 add dict begin{1 index/FID ne 2
+index/UniqueID ne and{def}{pop pop}ifelse}forall[1 index 0 6 -1 roll
+exec 0 exch 5 -1 roll VResolution Resolution div mul neg 0 0]FontType 0
+ne{/Metrics exch def dict begin Encoding{exch dup type/integertype ne{
+pop pop 1 sub dup 0 le{pop}{[}ifelse}{FontMatrix 0 get div Metrics 0 get
+div def}ifelse}forall Metrics/Metrics currentdict end def}{{1 index type
+/nametype eq{exit}if exch pop}loop}ifelse[2 index currentdict end
+definefont 3 -1 roll makefont/setfont cvx]cvx def}def/ObliqueSlant{dup
+sin S cos div neg}B/SlantFont{4 index mul add}def/ExtendFont{3 -1 roll
+mul exch}def/ReEncodeFont{CharStrings rcheck{/Encoding false def dup[
+exch{dup CharStrings exch known not{pop/.notdef/Encoding true def}if}
+forall Encoding{]exch pop}{cleartomark}ifelse}if/Encoding exch def}def
+end
+
+%%EndProcSet
+%%BeginProcSet: special.pro 0 0
+%!
+TeXDict begin/SDict 200 dict N SDict begin/@SpecialDefaults{/hs 612 N
+/vs 792 N/ho 0 N/vo 0 N/hsc 1 N/vsc 1 N/ang 0 N/CLIP 0 N/rwiSeen false N
+/rhiSeen false N/letter{}N/note{}N/a4{}N/legal{}N}B/@scaleunit 100 N
+/@hscale{@scaleunit div/hsc X}B/@vscale{@scaleunit div/vsc X}B/@hsize{
+/hs X/CLIP 1 N}B/@vsize{/vs X/CLIP 1 N}B/@clip{/CLIP 2 N}B/@hoffset{/ho
+X}B/@voffset{/vo X}B/@angle{/ang X}B/@rwi{10 div/rwi X/rwiSeen true N}B
+/@rhi{10 div/rhi X/rhiSeen true N}B/@llx{/llx X}B/@lly{/lly X}B/@urx{
+/urx X}B/@ury{/ury X}B/magscale true def end/@MacSetUp{userdict/md known
+{userdict/md get type/dicttype eq{userdict begin md length 10 add md
+maxlength ge{/md md dup length 20 add dict copy def}if end md begin
+/letter{}N/note{}N/legal{}N/od{txpose 1 0 mtx defaultmatrix dtransform S
+atan/pa X newpath clippath mark{transform{itransform moveto}}{transform{
+itransform lineto}}{6 -2 roll transform 6 -2 roll transform 6 -2 roll
+transform{itransform 6 2 roll itransform 6 2 roll itransform 6 2 roll
+curveto}}{{closepath}}pathforall newpath counttomark array astore/gc xdf
+pop ct 39 0 put 10 fz 0 fs 2 F/|______Courier fnt invertflag{PaintBlack}
+if}N/txpose{pxs pys scale ppr aload pop por{noflips{pop S neg S TR pop 1
+-1 scale}if xflip yflip and{pop S neg S TR 180 rotate 1 -1 scale ppr 3
+get ppr 1 get neg sub neg ppr 2 get ppr 0 get neg sub neg TR}if xflip
+yflip not and{pop S neg S TR pop 180 rotate ppr 3 get ppr 1 get neg sub
+neg 0 TR}if yflip xflip not and{ppr 1 get neg ppr 0 get neg TR}if}{
+noflips{TR pop pop 270 rotate 1 -1 scale}if xflip yflip and{TR pop pop
+90 rotate 1 -1 scale ppr 3 get ppr 1 get neg sub neg ppr 2 get ppr 0 get
+neg sub neg TR}if xflip yflip not and{TR pop pop 90 rotate ppr 3 get ppr
+1 get neg sub neg 0 TR}if yflip xflip not and{TR pop pop 270 rotate ppr
+2 get ppr 0 get neg sub neg 0 S TR}if}ifelse scaleby96{ppr aload pop 4
+-1 roll add 2 div 3 1 roll add 2 div 2 copy TR .96 dup scale neg S neg S
+TR}if}N/cp{pop pop showpage pm restore}N end}if}if}N/normalscale{
+Resolution 72 div VResolution 72 div neg scale magscale{DVImag dup scale
+}if 0 setgray}N/psfts{S 65781.76 div N}N/startTexFig{/psf$SavedState
+save N userdict maxlength dict begin/magscale true def normalscale
+currentpoint TR/psf$ury psfts/psf$urx psfts/psf$lly psfts/psf$llx psfts
+/psf$y psfts/psf$x psfts currentpoint/psf$cy X/psf$cx X/psf$sx psf$x
+psf$urx psf$llx sub div N/psf$sy psf$y psf$ury psf$lly sub div N psf$sx
+psf$sy scale psf$cx psf$sx div psf$llx sub psf$cy psf$sy div psf$ury sub
+TR/showpage{}N/erasepage{}N/setpagedevice{pop}N/copypage{}N/p 3 def
+@MacSetUp}N/doclip{psf$llx psf$lly psf$urx psf$ury currentpoint 6 2 roll
+newpath 4 copy 4 2 roll moveto 6 -1 roll S lineto S lineto S lineto
+closepath clip newpath moveto}N/endTexFig{end psf$SavedState restore}N
+/@beginspecial{SDict begin/SpecialSave save N gsave normalscale
+currentpoint TR @SpecialDefaults count/ocount X/dcount countdictstack N}
+N/@setspecial{CLIP 1 eq{newpath 0 0 moveto hs 0 rlineto 0 vs rlineto hs
+neg 0 rlineto closepath clip}if ho vo TR hsc vsc scale ang rotate
+rwiSeen{rwi urx llx sub div rhiSeen{rhi ury lly sub div}{dup}ifelse
+scale llx neg lly neg TR}{rhiSeen{rhi ury lly sub div dup scale llx neg
+lly neg TR}if}ifelse CLIP 2 eq{newpath llx lly moveto urx lly lineto urx
+ury lineto llx ury lineto closepath clip}if/showpage{}N/erasepage{}N
+/setpagedevice{pop}N/copypage{}N newpath}N/@endspecial{count ocount sub{
+pop}repeat countdictstack dcount sub{end}repeat grestore SpecialSave
+restore end}N/@defspecial{SDict begin}N/@fedspecial{end}B/li{lineto}B
+/rl{rlineto}B/rc{rcurveto}B/np{/SaveX currentpoint/SaveY X N 1
+setlinecap newpath}N/st{stroke SaveX SaveY moveto}N/fil{fill SaveX SaveY
+moveto}N/ellipse{/endangle X/startangle X/yrad X/xrad X/savematrix
+matrix currentmatrix N TR xrad yrad scale 0 0 1 startangle endangle arc
+savematrix setmatrix}N end
+
+%%EndProcSet
+%%BeginProcSet: color.pro 0 0
+%!
+TeXDict begin/setcmykcolor where{pop}{/setcmykcolor{dup 10 eq{pop
+setrgbcolor}{1 sub 4 1 roll 3{3 index add neg dup 0 lt{pop 0}if 3 1 roll
+}repeat setrgbcolor pop}ifelse}B}ifelse/TeXcolorcmyk{setcmykcolor}def
+/TeXcolorrgb{setrgbcolor}def/TeXcolorgrey{setgray}def/TeXcolorgray{
+setgray}def/TeXcolorhsb{sethsbcolor}def/currentcmykcolor where{pop}{
+/currentcmykcolor{currentrgbcolor 10}B}ifelse/DC{exch dup userdict exch
+known{pop pop}{X}ifelse}B/GreenYellow{0.15 0 0.69 0 setcmykcolor}DC
+/Yellow{0 0 1 0 setcmykcolor}DC/Goldenrod{0 0.10 0.84 0 setcmykcolor}DC
+/Dandelion{0 0.29 0.84 0 setcmykcolor}DC/Apricot{0 0.32 0.52 0
+setcmykcolor}DC/Peach{0 0.50 0.70 0 setcmykcolor}DC/Melon{0 0.46 0.50 0
+setcmykcolor}DC/YellowOrange{0 0.42 1 0 setcmykcolor}DC/Orange{0 0.61
+0.87 0 setcmykcolor}DC/BurntOrange{0 0.51 1 0 setcmykcolor}DC
+/Bittersweet{0 0.75 1 0.24 setcmykcolor}DC/RedOrange{0 0.77 0.87 0
+setcmykcolor}DC/Mahogany{0 0.85 0.87 0.35 setcmykcolor}DC/Maroon{0 0.87
+0.68 0.32 setcmykcolor}DC/BrickRed{0 0.89 0.94 0.28 setcmykcolor}DC/Red{
+0 1 1 0 setcmykcolor}DC/OrangeRed{0 1 0.50 0 setcmykcolor}DC/RubineRed{
+0 1 0.13 0 setcmykcolor}DC/WildStrawberry{0 0.96 0.39 0 setcmykcolor}DC
+/Salmon{0 0.53 0.38 0 setcmykcolor}DC/CarnationPink{0 0.63 0 0
+setcmykcolor}DC/Magenta{0 1 0 0 setcmykcolor}DC/VioletRed{0 0.81 0 0
+setcmykcolor}DC/Rhodamine{0 0.82 0 0 setcmykcolor}DC/Mulberry{0.34 0.90
+0 0.02 setcmykcolor}DC/RedViolet{0.07 0.90 0 0.34 setcmykcolor}DC
+/Fuchsia{0.47 0.91 0 0.08 setcmykcolor}DC/Lavender{0 0.48 0 0
+setcmykcolor}DC/Thistle{0.12 0.59 0 0 setcmykcolor}DC/Orchid{0.32 0.64 0
+0 setcmykcolor}DC/DarkOrchid{0.40 0.80 0.20 0 setcmykcolor}DC/Purple{
+0.45 0.86 0 0 setcmykcolor}DC/Plum{0.50 1 0 0 setcmykcolor}DC/Violet{
+0.79 0.88 0 0 setcmykcolor}DC/RoyalPurple{0.75 0.90 0 0 setcmykcolor}DC
+/BlueViolet{0.86 0.91 0 0.04 setcmykcolor}DC/Periwinkle{0.57 0.55 0 0
+setcmykcolor}DC/CadetBlue{0.62 0.57 0.23 0 setcmykcolor}DC
+/CornflowerBlue{0.65 0.13 0 0 setcmykcolor}DC/MidnightBlue{0.98 0.13 0
+0.43 setcmykcolor}DC/NavyBlue{0.94 0.54 0 0 setcmykcolor}DC/RoyalBlue{1
+0.50 0 0 setcmykcolor}DC/Blue{1 1 0 0 setcmykcolor}DC/Cerulean{0.94 0.11
+0 0 setcmykcolor}DC/Cyan{1 0 0 0 setcmykcolor}DC/ProcessBlue{0.96 0 0 0
+setcmykcolor}DC/SkyBlue{0.62 0 0.12 0 setcmykcolor}DC/Turquoise{0.85 0
+0.20 0 setcmykcolor}DC/TealBlue{0.86 0 0.34 0.02 setcmykcolor}DC
+/Aquamarine{0.82 0 0.30 0 setcmykcolor}DC/BlueGreen{0.85 0 0.33 0
+setcmykcolor}DC/Emerald{1 0 0.50 0 setcmykcolor}DC/JungleGreen{0.99 0
+0.52 0 setcmykcolor}DC/SeaGreen{0.69 0 0.50 0 setcmykcolor}DC/Green{1 0
+1 0 setcmykcolor}DC/ForestGreen{0.91 0 0.88 0.12 setcmykcolor}DC
+/PineGreen{0.92 0 0.59 0.25 setcmykcolor}DC/LimeGreen{0.50 0 1 0
+setcmykcolor}DC/YellowGreen{0.44 0 0.74 0 setcmykcolor}DC/SpringGreen{
+0.26 0 0.76 0 setcmykcolor}DC/OliveGreen{0.64 0 0.95 0.40 setcmykcolor}
+DC/RawSienna{0 0.72 1 0.45 setcmykcolor}DC/Sepia{0 0.83 1 0.70
+setcmykcolor}DC/Brown{0 0.81 1 0.60 setcmykcolor}DC/Tan{0.14 0.42 0.56 0
+setcmykcolor}DC/Gray{0 0 0 0.50 setcmykcolor}DC/Black{0 0 0 1
+setcmykcolor}DC/White{0 0 0 0 setcmykcolor}DC end
+
+%%EndProcSet
+TeXDict begin @defspecial
+
+ /landplus90 true store
+
+@fedspecial end
+%%BeginFont: SkakNew-Figurine
+%!PS-AdobeFont-1.0: SkakNew-Figurine 001.003
+%%CreationDate: Mon Feb 02 15:14:46 2009
+%%VMusage: 120000 150000
+11 dict begin
+/FontInfo 15 dict dup begin
+/version (001.003) readonly def
+/Notice (Copyright (c) Ulrich Dirr 2003, former designs by Piet Tutelaers, Torben Hoffmann, Dirk Bächle. All rights reserved.) readonly def
+/FullName (SkakNew-Figurine) readonly def
+/FamilyName (SkakNew-Figurine) readonly def
+/ItalicAngle 0 def
+/isFixedPitch false def
+/UnderlinePosition -100 def
+/UnderlineThickness 50 def
+/Weight (Regular) readonly def
+end readonly def
+/FontName /SkakNew-Figurine def
+/Encoding 256 array
+0 1 255 {1 index exch /.notdef put} for
+dup 78 /N put
+dup 88 /X put
+readonly def
+/PaintType 0 def
+/FontType 1 def
+/FontMatrix [ 0.001 0 0 0.001 0 0 ] readonly def
+/FontBBox {0 -114 1241 842} readonly def
+currentdict end
+currentfile eexec
+D9D66F633B846A989B9974B0179FC6CC445BCF7C3C3333173232E3FDBFF43949
+1DB866C39088C203DC22FDC758584860EC7BB67FDA28CC6208249060E18FAB32
+204779B5C03C0493BBBBC95CF02692CC4DEAA8D2EA90B5C2E64374E92BCB8501
+429B8FAE4A76C0C6B76D6FF7CF9A7D5EDFBCA0E959541C59BD05B7DE43D25D53
+FC3DDA6EF0C2743978A6D03E19CCED4A11F2EA4BCC3110BE8B8D9E2772361969
+C19258EFAFDC276CB1ADE9208A941A36D18F9FB1C33DEF76AA315DDB04A81691
+6676E5A648D7DE382599A7743325F8403952F71AC144CB079B79EA0F6CC70FE9
+5F3188F983A1F1EC77ACFC7CCF01778F00CCFB385AFDEB4E5A9CE7CC620FF716
+C61C9DE01E055E0CAFD45A716C0BE3FCBE9055D993851DE60E1E573FA960A4E0
+DA00D6FC534C4CF679C935A5D4A5B19672767A386D945B17D996CF36231F8E98
+218CA1C3BBB7D39931D4D50B1D1EF947277C4A9C9E84D419D55550E2A5FF0549
+1FA0277DC7AD9334BF50CC5492D5EAA01A2BD4770AD8B320B546FDD69F0FE7B8
+7DCE3B013AFA239B624C50424184F8B2E6C035CD8D09C0AEEA727DA23EBB0563
+F296F801C2D059FAA56DDC675D141E980EE19E8693DD546BB1EFAF23B25EE18F
+401F89336BBB74A63088F8D1EEBE74494B265B6B737BBE29B09C257B26F2DC39
+B3CC5E66AB9A1696EE887C7638A4455C101BA7567859E0E604629B5D3FF0C3BD
+9415B98896048B159A2B809B92737580090FE1E59963263B10DCFDBFEFE15B88
+68ADC79BDC0DF2CA41AEBB4338C85C6CC6C21EA274FF5724D26BC8563E63DACC
+067651091F0E4F77C75213298BCD391606C39E1C1F37DD9C2C4515172E0DB0AB
+3E93275D2FCA7CBFA53CB4D8123F6F54D0986482FE3E98ECF421B3A21437BD9E
+E1556833796B0E3BDAAB179595F761991103B3CF06E89E5DDA1F6D91AE06E510
+6896FF0B71F0D2911767CB1DFEEF3500F070270EADED32C917A92CEE4B70D0AA
+AEC0F959827BFFAB9A4BCDD270540B157307FC76AA894CE6094B0A399768CC90
+A73760A26EA9F28C74DA6FD1AEE7BD8F21404F8FC3215606F8E3838371563F7C
+27C0833ED579C89FF32E4F2275FE27F5E70B4B6D62EBB0E0E26724A5B882D939
+13C29A0FE8B6823CF7E0FD24EAFEE0B17FD81119F9E9E730F889E0E6A6BF83C4
+C3AB5B3335202013A4C07D71EDCB645D75EBE01B6D98DF536ABDCEDFCFE0C622
+333D69C242E78C42BDC2E33ABEAC4122F4596B941EEE41F2B753588999185585
+F81C9AEDA32A0BD44F9524B9507F56322B2F69125FA7879FE893379DB4E9B623
+4A4284E77EC96EB41BD5014C4D2C952C8B879ECDD46A7D6F765AF5CFDC63EB48
+F3F635F1FD8DA05FBEDB7792CC93AE900A7E6D0D5E651DB84901133618EF2A2E
+0171B1265CD7728C0BE06A039942CFBCE56565997574AAB2E4D872A51D8BF02B
+8C9FF495D51DA88E25C017DA0BCFD68F818DBC70C21B0D1A5BFAA10D703FD9EA
+70DB8A6D0713921E6A9F06D18EB8C923D578B49B56B957F2829078137A1654D7
+07092331189B3832622448CAEA135A077CEEFD9F115DBCF8F8EFD10A7E9ACED8
+465CAAB3C01D7DA2DA499E4356F15DC5F39D92C89652D2076DA4156E2F6FF1CC
+CD25F6103A1ADA4D804AF9713EDC2E735305BF84268AC987D25E618FF5830ABC
+664C7D24F5BE04A94B10508F995F25551F09DDE397411C32DFE1DE7BB4B362EE
+F0E89BCC857F6A90A2E16A87B235EA5F907D242886828533DE028CAF26599169
+51786065E65083F6E7998D450209A662EBBE0F47FE9F857830D0A53FB713BD10
+1F617F1534AC91EF42C29F809333A085CF82E28FD4C4CE70E005C968FA255598
+FB48DCDB10D59E0BDEA6E48DB2DC38A73D7DDA26E4DC6C20D789C9DE0FD07DBE
+77C505C5481790BE351E82B2E71797BC63C4FD2E5A3D2200FC869C8731D1C4D4
+52927DB2FB6A9A9D94E5A9B82386BD671317D335068F327B80A76B76821197ED
+7477E1A0F3E825319F38B5B19D8D4254A568404F573503A98486EA3FE9D90B49
+B8FB9A14C78C398FEE336C6C06D26094253CB3C05DE94D479246F98955525E5B
+D396DB0463D820EFE630E45FDE82A1AEC969005BBBECF953A4E4D36FEA40774E
+257696BA1AA6893D8F50A739291882B49D194AA6CB52B6A9A5A0BA572D888611
+1D820E39A37484CB2F59442267F69CE3A98AA183B301EF970EFE0CBA542946D2
+B9A3376F2EDC866218B68FB3B04F95DAA1414BB2044863226EFBA073668EB743
+D77E06DF99647DBDCCD31821EB3FAF7FE8492230D69863CBA258F0E0AB8D706E
+32C3D545CFED4D6B3EC8D75B6D44B0CBD3D101217C9188711C50D7F96001B86D
+A6FDFD52372F09F7D4F9AD059B4C16E96F4E4B7956D7BC1A5202FCCD97F69580
+EAE80A741927F939513C39258BEBC1336F60F2F9E1BB946CCB222BB5F7923A0E
+54AB540082DD231B11E1F262EBAEA0E01E90D212BF3CBA3CBEED477CB1823C4E
+B98F9D1D10B4E036AD5E21504A2B9257C6A0183F194E9C048CB520DED328F39F
+5BC23801CB9668D693FBA408A32D9FA99A47FB3B29D8
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+cleartomark
+%%EndFont
+%%BeginFont: CMMI10
+%!PS-AdobeFont-1.0: CMMI10 003.002
+%%Title: CMMI10
+%Version: 003.002
+%%CreationDate: Mon Jul 13 16:17:00 2009
+%%Creator: David M. Jones
+%Copyright: Copyright (c) 1997, 2009 American Mathematical Society
+%Copyright: (<http://www.ams.org>), with Reserved Font Name CMMI10.
+% This Font Software is licensed under the SIL Open Font License, Version 1.1.
+% This license is in the accompanying file OFL.txt, and is also
+% available with a FAQ at: http://scripts.sil.org/OFL.
+%%EndComments
+FontDirectory/CMMI10 known{/CMMI10 findfont dup/UniqueID known{dup
+/UniqueID get 5087385 eq exch/FontType get 1 eq and}{pop false}ifelse
+{save true}{false}ifelse}{false}ifelse
+11 dict begin
+/FontType 1 def
+/FontMatrix [0.001 0 0 0.001 0 0 ]readonly def
+/FontName /CMMI10 def
+/FontBBox {-32 -250 1048 750 }readonly def
+/UniqueID 5087385 def
+/PaintType 0 def
+/FontInfo 10 dict dup begin
+/version (003.002) readonly def
+/Notice (Copyright \050c\051 1997, 2009 American Mathematical Society \050<http://www.ams.org>\051, with Reserved Font Name CMMI10.) readonly def
+/FullName (CMMI10) readonly def
+/FamilyName (Computer Modern) readonly def
+/Weight (Medium) readonly def
+/ItalicAngle -14.04 def
+/isFixedPitch false def
+/UnderlinePosition -100 def
+/UnderlineThickness 50 def
+/ascent 750 def
+end readonly def
+/Encoding 256 array
+0 1 255 {1 index exch /.notdef put} for
+dup 60 /less put
+dup 62 /greater put
+readonly def
+currentdict end
+currentfile eexec
+D9D66F633B846AB284BCF8B0411B772DE5CE3C05EF98F858322DCEA45E0874C5
+45D25FE192539D9CDA4BAA46D9C431465E6ABF4E4271F89EDED7F37BE4B31FB4
+7934F62D1F46E8671F6290D6FFF601D4937BF71C22D60FB800A15796421E3AA7
+72C500501D8B10C0093F6467C553250F7C27B2C3D893772614A846374A85BC4E
+BEC0B0A89C4C161C3956ECE25274B962C854E535F418279FE26D8F83E38C5C89
+974E9A224B3CBEF90A9277AF10E0C7CAC8DC11C41DC18B814A7682E5F0248674
+11453BC81C443407AF41AF8A831A85A700CFC65E2181BCBFBC7878DFBD546AC2
+1EF6CC527FEEA044B7C8E686367E920F575AD585387358FFF41BCB212922791C
+7B0BD3BED7C6D8F3D9D52D0F181CD4D164E75851D04F64309D810A0DEA1E257B
+0D7633CEFE93FEF9D2FB7901453A46F8ACA007358D904E0189AE7B7221545085
+EDD3D5A3CEACD6023861F13C8A345A68115425E94B8FDCCEC1255454EC3E7A37
+404F6C00A3BCCF851B929D4FE66B6D8FD1C0C80130541609759F18EF07BCD133
+78CBC4A0D8A796A2574260C6A952CA73D9EB5C28356F5C90D1A59DC788762BFF
+A1B6F0614958D09751C0DB2309406F6B4489125B31C5DD365B2F140CB5E42CEE
+88BE11C7176E6BBC90D24E40956279FBDC9D89A6C4A1F4D27EC57F496602FBC4
+C854143903A53EF1188D117C49F8B6F2498B4698C25F2C5E8D8BD833206F88FC
+BD5B495EB993A26B6055BD0BBA2B3DDFD462C39E022D4A1760C845EA448DED88
+98C44BAAB85CD0423E00154C4741240EB3A2290B67144A4C80C88BE3D59AD760
+E553DAC4E8BA00B06398B1D0DFE96FB89449D4AE18CE8B27AFE75D2B84EFDB44
+143FD887F8FB364D000651912E40B0BAEDDA5AD57A3BC0E411E1AD908C77DCE3
+981985F98E258A9BB3A1B845FC4A21BCC54559E51BC0E6C22F0C38540F8C9490
+88A0E23EA504FA79F8960CC9D58611C519D3ACDC63FB2FBCAE6674357D7F2285
+4BCC9F54D3DA421D744D3A341DA3B494BB526C0734E1A8FC71501745399F7683
+FD17EC3044419A88C3979FD2ABA5B0130907B145A8462AAF0A9B511D2C8A7C7F
+347FF6AC057E6512902BFD2918E2CD31DE615F5D643764E900B60287670AE18F
+FDE15545D8BC69591A8CBBB275AFFC9B14BD68DF0AAB32268FB84844D4DBC7BB
+C591C1AC5102C50A9C7BAAA848DA88B0519F0F5F0813BF055CF0E3C86F633A04
+B779D2E8E656DB1E09A66A85FE21CA8BA5523F472A229E83F2C4E91ABA46C733
+F3C7B5775B06C97782BC225C46385BEBDC61572458EFC5CF4190AB7A9C1C92DA
+29F84BAACF552089195966E3AD9E57CC914D20B6962BE80429A16D4DF1ECAA66
+36C4343FADF0B2B48F12E2EB8443C4AA29D00949255F3968617F98B8ABD4CC12
+048B838EE243A21AC808BD295195E4AE9027005F52258BFCA915C8D9AED9A2C0
+80814F79CF943FBE3594C530A22A92E11BE80FCEC1684C4F56712D5846B0749C
+9B54A979B315222F209DEE72583B03093EC38F7C5B9F9BCB21DBE8EDDAE9BE8B
+75ACE6B12A31083AC8348EC84D1D29D2297A266284B7E9734E207DAF59A25F4E
+4AA38509E993C5394FED76E6A2F25462685C4C86C6E8CFC9863338EC1428BDFC
+74616BB1BC8948B0ED4C87C15B4405F3A7796F9DB3798FFFE8BD0A94E834817B
+D5E9812E308D0CC920470A6F2CD088FCB80462BF7CB3F039A7DF3DAF5B2B5355
+E083A385CD2EAF0FC181E40E96DD7E9AB9EF5C7E6866A13B8A54718E950FE097
+EF0951A357114F18CE9933D28B3A77AA71E3CE884661F13284BCED5D5FD1A86D
+543E588FF473DC2CF9A4DC312500135F29C2D0174B32018C8DBD40EF9A232883
+710A1F2AB2CD11312300ACDF789A9B7B93D2035D81D1C84984D92D78A53A00C6
+EDA94B24BBAC1AD17774A4E07E6F74ABD90415965616AD540C8ECD8C3A44EE4F
+7F4F6BB6238C5062D63FA59B7BF08BE93FAEA70A2AB08FBEAAF7DBF56B95FD93
+03CA406543BA6C9527D0DF01F5108D31A51778A5EB1C93F27B72B46146A353A2
+01CACBC829603B9989A87CF64528682CCBA0562A8165B185C58A5C6BB72F5E89
+500ACCAAB8ECEFBB2640E99EAEEC4EA979AA793D013D61D8ACF8784FF8D9398F
+F6A252A709324FB39509F0B3A4E725E82F53543383C6765BE556CC897C758208
+AA3AD37B0406E4A79F8F0A6C1983FC73E71CD858C0DB66ED66D5D992978614EE
+1EA91EBE191E082EBA1FC040AF19A2202575C2EBEB8058833E3520FA03D2F915
+85C1ED337E457B9FEEB0C6EF2735EFDA6E0D05FA641BCF698AC6B97751E8306C
+4DF00A39B8581FF53DB8F8525FDB196D85950906CCB59B8EF171349AA3B567B1
+6A00819947A995FB383C3C1709C9A2C113B2E40BB832B7D4A0FBA0B16A2C455F
+55809CC425C403E9668DC66BE45B71A81C332FD4DB279D22A2959962304A8F18
+085893DAC61317D24A8F198FDAB95F3B86F0AFD35047B868A9A17037A2829A02
+BAB042F75F349E197A7EED41984C2859754CAFD0251439921C248B463B516951
+2E1322C80D73F9CBCAA63A585450275AC2492E4D3FB78E800F788254DB5E610D
+CF788DF5C70FF99892BCDF16133E34B24B77C8F097F546B87C603DDB8998B66E
+BACB68BA27462AF54AA405682EC96D701F0D474DECD5F95CA2102DF639EB169E
+D518162C2BAE45FF698B6DE15FC6E7DE48C336C40A670FD26952A6BAB09115E1
+991F0073419F2CC2A1C08BE91096936AA0C37E4ED3CCCEE235476074B8FF1125
+6BDE3701F85532D8BB64CCC927CC335281C95EA689706F0AC717DC2CF680C754
+E5EFD7FA4BB8880B2B727A964C876D4A223069D4E6001771F0E23EAD2A4BBC80
+E76675297B2EF05F52BF4E71B3EE2BE3048CF088C79540113C66AE98B2FD3CB1
+B0741A215FD070882C52765009D7D711DAA2508F19AE7DDA15229A856AC49BC3
+4DDF40814FF96500E4B9B02D412E94623C5FDCC76C0FB8E42DF56A904FE49D65
+1DA7C53901B2EA71AB658A464D3ABDE27D9DB8D9E0B48F64E61A2495AD5D8DAB
+B5E72424AD017DF37964AF911BD7FA21A5EB4775DC8E95EF0C0EB856B00D89D7
+8172A1DE8530767D317B8256103E53CFB877E10686A04F5A08F8DC58D843DEBA
+FD5F40597588663D103689F6EB3EB14D06E18C8078F2538B43E712DF491FC5C6
+AF639256C8C6134B64D560D8476DEA6329D995E46CC4BC78841C59E73648B47E
+BFA7DE0846422F738454AE77E822A083405289247BD7C478BE4974F742CD6051
+E99FBB1D1B3FBABFEE855174734EE45E87D0AADF32B1283B911162A9955847FD
+38944D70584FAA6B1A7191C5C134B73F98EB632B69E2F0C0F94156787C34C8A3
+7622A029D58F9626B74F8A8A1F3803E0BC20E0EADEB1E99B70F1BD9F980FB751
+2A842843DE42EB142A84D5D3138629AE9EAF6F3479C423E8829C8816FA6EFA27
+DCE5580E65AA9854B1C64163DC318420CD993C15BFD76A8BA1182860A6B03D6D
+22B8CF43CFE6C8AB27C64842E239CAE707D3086BADDE1D7C94E3BC96319470D6
+8D26915C575CFDD03271D6BB9DE86A0EB6EEA6E768B224A626C62A9AB48A6EDB
+44F70BB5AF991CDF9736D65933E81CC57A78F623F33EC9AF535F2F25FA4EEC90
+D50DB7E87F31E971A75A33A301CA6013EEC5A4E179D695B33DADF2C98364434A
+42926776000B610E17524162253F6FA638D6581C18F99EA0BD1D2E24D2424ADF
+C05010D08192485153DD03930C7BF45237593E484F9851E6D464FA10FECA5D9E
+0C8CCC97DE029030900CDBB491C5CF226DBF903CFE7735D939C3FDF3A20B70CE
+66579B28B99313FEE914E295388C7BC8E055A2E54EA3A8206D3C8F4F7C0BA5E6
+E519419FD8CE215F7B8E9BEC604A9E3FE272A0328A24E31997C8A91E0946BCF1
+6943A97CBED2AB9FC636B49828BBB8B89E0BBC2653796431224895ABA5DAC41E
+1854BD9764E86147FD7624F736F40DE3B7582EDDFD15C2BDE3F22B5A54D7DF10
+B87A1301CE85CFC061689A890A321412A13314AE96DCD3EDA75035FDD8F4AB9B
+897A2C68263A68457032C469987970648BA2D88B1C5375DFEAA35A917B8A952E
+EE670427942AEDB3CB599C5746180E392837D371E15D860620ABDB6AA7772C40
+A5E346661673ACA530BE3D8E3FFB895E5DA3DC23B1B43C080C77F7E47847F0F3
+F3AA5CA9E4BF75FC5EBD18D19F21A7DAA3B11CABC6E4070A15F7DBC8B05EB6AA
+A02EF1B078EB66D61D6AFE41DA9B36FE7EC9EF94D1EA26282A9871E2CACB3126
+2AD49C2D9B50A6E47D8F2CCAD50992D1B430979A45FD9E76182A19964BB2A1F6
+51779A2B258DC1DF4C2F3074621286831F3848AC152DDD2BA561E6586ADA88D3
+598A2CE2CD048F027CE0008B828BD915887D7785341E8305DF2346ADB76BE99F
+87B02173BDC334E9221C8DF54114A6B24C1C5340299512FA6C8C51AB4C8778CE
+178CEF531C6D1B5FF0A1BE8EFF767F959BD4C345C52699A29A17B2A230842BF6
+4B011217D6D24EDAC3F6D53482786F1CA33169B90ECD499407D37CE9B70DDF78
+7B7547B32952535BA9ACD1E244447AE3FCED3AF28717083CF9590A09780984D6
+AF0743C82AE4FB3E2BB2856A4153A3967A023FFC35382D6C22D84A924900B6A6
+3DDD400E6D2418DA6C27F2FA34C075C902B89EBAE658B3C9A18EEE449DA5A379
+337DE95CB7AB3F0970CF1A5D8FAD8090E495570FDFB2FBBA79244780D8035547
+C5A55BB21A2270F724BF5D442CDC5BB9F09BE0CAE59B1C2270F0BDACE698F2C5
+DE8F66BFB9634904B161F5BA2B1950048300D69BABD312D58D89C4ED527AF7BA
+7DA2478EDC2CDEE3473DD8A8ED9D891CD1FC21F23013228BB3281B71FCE959BD
+6F8E9059D682A7FCC5265A0620992D4FA8D78377EB34CE3ECA070EE3707239BC
+98907DB0120CE42ABA32CF97127E28382BDDFD685674279F588D4F951216C355
+821361790F64C2CC720DE97E8ECB57326C43EE47367628E05769E106868B54F4
+C33C9951908DF6FC4F5ED2C7787BD8FA591BBB3E9C6C1DA94CC5E38D9B20C886
+7D237572FF46DD896A4D6163408EA6CEFAC398EE041EAE29D577E75326CA17A6
+B072D47A7B13EC441CE6DAA042ECD02134CBFA6809A435050413817193DAEB16
+A5882C8AEA44BCF36E74E9ECCDFE7E19FF5A5DD7A94E5AB4F8702C3DA7F42325
+23C808670A0490F5B373DADE40814FF9650241D3D69C91FBC5ECE728F827D9BF
+C928602E05477903449E079164CA39859C4BCA60C579F490AA455F82B5050BB3
+969AFB478E0D4A257B3356EA3CD62051FCE6C6B1929CFF85BFDF166BEF658E10
+3A55E007F38EBBB248B3F0B8ED1925106B499B762E45113AE1AC9DE09644C84B
+9C08034B297314EE69BC32DB6E7D7FB9913CE5AC17E7335979E9DCCE2BAB3725
+1976155551F9706A576FE0E3ADCCF72C87683291528ECB749CB0ED291966E239
+B5E3630676BD409E08F85BC1AEC9A2D4135376284A96EA24431243BD6FE8B966
+95F11A4BB53F392E0AEFEA623064FF8A7002367B0A515635CB2D2DDFB9B4A8D7
+FE721754E81BBA548848A235B91AD4E4F7DB19CCE2F61D277FC00AB956EB93BE
+44AB4970CA56BF59506C94ED160FB1E25D3DF2988A532BDB787BFB8539D22986
+FDC378AC31444E63C4727FEE121A43751043849E6DCAC5B59D0FC703AAFBBFD4
+E8B7C268F21615AD02CE9DABEFA27B5FE6A6441B619539CAB1F810F1263447AA
+633F5DAF483752EF1A0421740E3A811D2D2898CBF53E7F686C9223FD7235F02D
+6F90D2D48CC20AB87778DE3C6FB335E0F0EC20B5DC5B65223FE117526DE2C72F
+FE839DF93CB2A7D66CD900CB325F891E311BEC932F703FB4FEFA29DB8B9C88DD
+375EC71B3D58C7BC59ADA91971A3BDA1ADEA629CE6CC92BD542CDDFAA7706FB2
+6CDDE2DF07E56D6741916AE8E8744339816F3E6C38062747AA9FDA2A2678A6B7
+EFEA870AA3A4D71B25EE3013EAB1DBA34401B867C7A41AE51E0421D41D3BB83C
+E120C8FEABA6E5DEC53A689C21426D4BBCB68CB37568761C360E6D4E3596FB7D
+F4DEC7918E58C0293D12D6DDA7E9DCDAAD7C939F55CD1BC4A228B31E9A904156
+DA6B40B08E6ACE674618B768DD681C772A3E55FE096CF949CF3B0460ABDCD891
+D17B37B355B29AB5137899C036F31DA026244FA25FB798FBE5105BDA29F46538
+D3D3AC1001A7BCECE64DE94FFE6C354166A0F97256137BDFA07F6E22A3D1D2F4
+9588DBAE95E895BC5E64DDCBBAA8D0A22C229B42CB717FC711E7E9DF793DF80B
+9F14754585A3C7E17F37B32924B9F9870DA8635E3E18BD1DCD81EDF01834D9C6
+B33F23C956C2FCBFA47D84422F583459D827D1E120B97694D12F1F54D02379C0
+D288F7104F3FFCF4F76E3494F4ACBD1BE3A15543CC680924C78A473F8E311ADF
+8FE00A04C6C393DE61AD3EDA5BC031E2353076A2489391B52632387CA28A7B93
+FBB065A6EF3658AE80B1ADA47E9B2539E73A71FA75645F85ED8ECC257FB4CF26
+B6C912DE9D0F9899E70BECCB934AD32CF49A093371A9F73DE6255EBC39DE1E7F
+00D0CBDABD4D0383977E694890E71FBE5C376BE5F3A80C28987417504F515C50
+909F3D31178BB9B1D085BE514F71B910A9085BD6122DDC72A150BFE266920E49
+5661BCB4BAB51D6DEFE32B616963DBD989FCDD1637B294CE4E288655FBEFA1BF
+7F25BBF8CF17C2D5FD161A7C2CC9CC7490D9BF15A1D35B3BFA43ADE256E88BDA
+BD490D92907C57BAC408A575EC84D6AEE070148C7C9A91C03B09FDBD792E8FF0
+C0B886AAD2EDD86541E5E579359D40E3AC312ACD3D8FD49F71BD533DDF8859B1
+BAF17F1884E331DD07CEEF93B71D492AEBAADF7A263450A7A72210CE630A0D37
+BF024BDC09ACC882816B8C22C62AE38A3A8D0F6EBC2B1B2C0B8161A8B076DD5D
+4B779C0788546BB4CF57332230D237856B00D79C28A7C01D11F44B7304F69075
+94B97A745DA43D1BE561372CE611C345A843834E46AD9DDB16CABCD3FA33D6F1
+F6B5C0497F5EE5400B305CDC16A7EC286AA4D45D0EEBB9DA06AC9C5294D68EC9
+E4DC3CA2B92CE8FC0526184A86EDC7AB34D67E60AC12D9CA8FD300235EC968BA
+92C6FBDA47572BC5600F25249F60AD287CBDAE980E747FCBE7EE5CD323E733F0
+63553B494D3DDEB9CC1480B5C3BB79A28E419AA65B18CB297AB383419E890E2A
+CE6F98C9900CCB4675280A10CF060B8D220DDA1BE55DFA65715EABCC1AFAA271
+B1F8732341613E17B231231A0D24D4D7FC198AE04D89A99C4536217769C6FBD9
+5EE24A6302F97438F7C0E311C878F674B4477A5ADA3952CDE4055AC408B8174E
+86F8FB797646DFFFE0ECA25D1BAB9A9F71F3926D3D85AA63E7A8C931D71E79E0
+AF1EAC26FADE468F4FF7F3861D14C10E3BE1F9EAFD6D3A544E8108D5DAB5B180
+3950C74818BC8AF4758A108F462EF1826647A49667F5E482038C54716856D9BC
+35F29922846D2148F92F943E951D7438C73D6A60459A8003174036C64E1629CD
+155D47FD04B03C023AD67CD5A70C98AB556EEAB8C48169706E5B352F6505D580
+AC945171BFE62E81F8F500438AC3B64D857BA5BC54C2C4BBB237F8FA51296255
+E66A92A61FE13FDE781D393557EB72CEBAD86511035F775FAC39A0479CCD400F
+226709118F887F47CC2ECC8F79816D4A945B2845F50AFD62D8C9A9BBF4739496
+9E644BC9F7B04803B7EE75A09EAE94365F6F374B4FCEB0B506C76297564B9B6B
+8B812BC3A33929AA94692572B010E6210AEAA312BDFC88BF302244AB9D587A9B
+919823FD01DE12438D960944D1977800FEB49E638C32E5B188B1CA033E0C37EE
+A142F746367888AA119535F0CCAF7EAA461B790EB089D2D6962E28A398439BB7
+9C9943654D7A2D765B46BC0DD1F915327F369162E1BA1BA83110B93F442905E0
+523BFF5E279508A98568CD5CFD18FABBE9D17265A9081E7BF64155A2CE3C0DF7
+88D00671AD65654709589BAD7EA65BBA811387ABA5CA0BC3F66D3D48597A0D1D
+2C268375DF47CCF62166262AE4840AB03BF49BE67A05EF66328EC729F03CA5FF
+AD3937FC053E223303565DC771ACF32E63DFB96D5030E787961D72D02C195C66
+B48E9AF0309DC169CFE8D16E2818DA94693A18F027DEA0D9173633D9B50449E0
+F9026E7A4CC1A3694D6C030E5AE53C0DAAF90B0046E22E14FF2787AC8194C42A
+4B8846856AFE4CA20940A4E53896A851344E2E5538B9550721332077A972C793
+89CE532A20FA4A52F80B5D7EE0FF0915523A98E98B71B8ABB4D7F35DA6C05364
+A8B3D5DA9B1716C5C4D4402847C5A9BDA2F668709D51041BD566B7E1E675DCEC
+1AF4BD172F05A73329FBB30BC7D1D7EC85FEAF5CF1ED6BE70F7526E115381BF2
+47D955C5032404DA2FD82824C73F530E15E157EF023A2D9B50F4516A611B3F99
+3803C6EFE49E08AE983B4D15CE6699B5111C0A45913DE61EAC437709143AF4ED
+0D5136428AEEEF3776F9BA48212963150132D63DB4098AC124EE86C3AC7138AF
+B90A504A1E15524BA2662D7E0FFD6377FF7CAA3B6113DAB8AF64837C4A99D99E
+A499EC597828133A4C6421E0707E7E978C9B2A459620D0CB189775816D1421C1
+87110675A765C25DC2FB607ECCD8C53F705B406932F41A9DFE08
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+cleartomark
+{restore}if
+%%EndFont
+%%BeginFont: CMTI10
+%!PS-AdobeFont-1.0: CMTI10 003.002
+%%Title: CMTI10
+%Version: 003.002
+%%CreationDate: Mon Jul 13 16:17:00 2009
+%%Creator: David M. Jones
+%Copyright: Copyright (c) 1997, 2009 American Mathematical Society
+%Copyright: (<http://www.ams.org>), with Reserved Font Name CMTI10.
+% This Font Software is licensed under the SIL Open Font License, Version 1.1.
+% This license is in the accompanying file OFL.txt, and is also
+% available with a FAQ at: http://scripts.sil.org/OFL.
+%%EndComments
+FontDirectory/CMTI10 known{/CMTI10 findfont dup/UniqueID known{dup
+/UniqueID get 5000828 eq exch/FontType get 1 eq and}{pop false}ifelse
+{save true}{false}ifelse}{false}ifelse
+11 dict begin
+/FontType 1 def
+/FontMatrix [0.001 0 0 0.001 0 0 ]readonly def
+/FontName /CMTI10 def
+/FontBBox {-35 -250 1124 750 }readonly def
+/UniqueID 5000828 def
+/PaintType 0 def
+/FontInfo 9 dict dup begin
+/version (003.002) readonly def
+/Notice (Copyright \050c\051 1997, 2009 American Mathematical Society \050<http://www.ams.org>\051, with Reserved Font Name CMTI10.) readonly def
+/FullName (CMTI10) readonly def
+/FamilyName (Computer Modern) readonly def
+/Weight (Medium) readonly def
+/ItalicAngle -14.04 def
+/isFixedPitch false def
+/UnderlinePosition -100 def
+/UnderlineThickness 50 def
+end readonly def
+/Encoding 256 array
+0 1 255 {1 index exch /.notdef put} for
+dup 110 /n put
+dup 111 /o put
+dup 116 /t put
+readonly def
+currentdict end
+currentfile eexec
+D9D66F633B846AB284BCF8B0411B772DE5CE32340DC6F28AF40857E4451976E7
+5182433CF9F333A38BD841C0D4E68BF9E012EB32A8FFB76B5816306B5EDF7C99
+8B3A16D9B4BC056662E32C7CD0123DFAEB734C7532E64BBFBF5A60336E646716
+EFB852C877F440D329172C71F1E5D59CE9473C26B8AEF7AD68EF0727B6EC2E0C
+02CE8D8B07183838330C0284BD419CBDAE42B141D3D4BE492473F240CEED931D
+46E9F999C5CB3235E2C6DAAA2C0169E1991BEAEA0D704BF49CEA3E98E8C2361A
+4B60D020D325E4C2450F3BCF59223103D20DB6943DE1B57C5FD29DA32D34C95E
+2AB2ADB3F60EEB0600C8ADE15A2380DE10AC5AAD585FBD13097B1A7E8E210D4A
+EE96785449E07F0C8EBC2EC5EFBFD0897DFDC15E5BFAC9584D8DE95C5AB288CD
+8AD8B9BEF0B8E5F887B3B0B331542FC8184DCCB753DB6ACEEF98B85756B988DF
+CAF1AE0DBE7D37D5F44A2E760AAE3A5197C27B15E32275A64946C3E4D0476FD2
+7FDE148C788DD2106F7C825E270588AC05B57E625AB17BDD02306F9E5FC851DC
+32A5A6EDC43C770A71419B2C0C8074EF3F222C8A2097CD81A91F333A521B3A09
+482A4FE1CB231CE344AD126AA284C3280AAC3AD162CF0EE241BFB4C8F20502FF
+118507F5D1B5FD898571015E73E5CF2281085072E00D401F6F59761EEC3E8381
+1F26F75DB66C504AB6BABA87D121B1E7040A07AA2FE01F80DBC246CC03C4B2DC
+C2A715980C52B7F96BC1A78FCC7F4F52EEED5F705E08FC1E5BBFCAD121FA88AA
+8EBE58172C162AF409DBB0728F14923ED02A65EA24E5D52B6AD07777455A70A4
+61833D3789C719BA92E901232599767E423D5AD9C807670BE0E7B5CFF8256A20
+C7BF7214FFE0342809570F5966A2C43E784F35015D9040BA34FEAB6A6F089504
+3A40A9E9D711A2721D3F4998371430FB3C94BFC619559B97D49627BB630F4B70
+9D0A8FE4E916235335C3962F3CFDB04C4A3CF714DB5E260F4E66FFF2F27CEF2A
+D4AA26BBCAED23B8BDC98F8F453BA27AD7758537561E766B82DC3032E92A9EB0
+125D98A22C5466AF069BF72A9BFA052A8628FEC6A6AD0B711DFFEDE3AA2D7CE8
+34EA487038EF50F953B8B4471CBA6FC3C53877EC1BC94582B1123EDF44B4056A
+30F49394BDE22CDAD7F01951C7013D26979277D18EFA594E8F4F2B5E615187D9
+39E842EC28461B9ABA52020A127D2CB9002A673A435B13C10602EEFDBBA6BD49
+9DDEAB9E68D655443A5C2492BA061C1391A51592BA8C353A6F6A0708E8860184
+2B5D031D2CAB87D618E9F6F7A0BF3F66B3FD5A25BB91F7F1F5F99CFF56EFF4FF
+0A35C55658001ED2E97B26C869292F6274D433A5443179DBB8EE987196306348
+3F9E87C6422AFFDD30080C9AC4EE7FE5E2DCBFEE4974331F4AAE479FD8806D4D
+9C2B85FC69EB0453AD827A1E767E5C484BDFBF5C8D6E2B3C96298B390F22D757
+802643A79D5E29CF3AEDF0E12CFBECA4663444FC87F2027571DBA9ECF688BF28
+FF0DDB3AEDBA0FB28447CB4B5D5205F40C1E7A525FD7373392EEFFD910AC82D0
+98E71660A1B3227C4A2592F3E853CA4CDF64DF19A52582E167234F4036FAAAB9
+5446BE102DE2BF43E82F0112C2A20F15A3F92C6571AC761665A905362C4F8BDF
+AC8705519C99862CD9C0D75113C4AB5FBB83C880E46B82715B5628890D9103AD
+A2329638B95D93C4DECDC5E6C588C9D5183EE6FC28FAF9825F02DCA567306D93
+5440987A81B51EE7291107A08F201C609FEF91A8F0587E8B13D4BAF74A5A6815
+DE9E4441F46AF8E1DDDFA2D611C889614040B144A5EC064DEE4638C04EAB2E37
+4CA8F50FB8C4D65BB296DCCCD39F1F554CFBED96670A91F515CA10EF896874BC
+8EF48C6447752C70FF5A06F928DB55586354076773BFF7E94C4C3A7A1C1F421B
+A9B4E3936EC26E0C19BBBFC90F021E877F54B62108F6DD1C7F6D5B8E64FC9362
+E173F01BF2904B7E5A08B3543611562C2714099DE7D4FA330DB148B560A9601F
+42A84452811CE213DCE782A0D7809CFD954D6BC1EBF2BA4D1B18F50FA8174C96
+3E0120E266AD5DDB40B3F6798AC28CDC5C3C4BC34583528F5B5DC8A222B80B59
+A3A93DC715D061EC6915E6E6E21A25425C25E8747C60F170D61047108826F96F
+7830E220C108B441B6EA3198E33C49BAD8D43086E49F5A2BC7958A1A8CD011C4
+49045193394696EC3DDD0BE084E8F2E9F0B9496F035C0DEC1CE11409DF566428
+D50043CFF5CDD1092F6E0807E660B68163BCA738E8D98FC6EE3F713164CD204C
+0BA84FFF4F33F47BC31750B448603D7ADB9AE92FA91AEBBBEC0DCD66980E6955
+CEB425ED07115B24E40F53B29B9D840842EAC691B4F591F866DF27556474B485
+1C6F53DD72499847109B16C7093984A6B8487D4F3870DD517945CD90E648C1BB
+8A6861E540FCF9D75B984B5009B5CC760CBE297042C240DD624111670B703388
+6FE6FC0E89C6B4C88F51DFF3913D0CC1FB4770C8CBEADD4B86393605C0B6C468
+83CA5594754411B6FC331EF56D7CD6D247FAE42E966583C29239A8F862348D29
+60B177984B6B957E733DB4D275015691D91443BBB13C2DA96097A29733CDB284
+42F89C85A7A743338C9DD3BBC4EE53F695E5163E6E1ABE5791ABF100B198B9B2
+1C21E2FA2FB4AFE7F9BB2D381260CDD3A2CC05BF513AA1E80ED69FA27BC5ED5A
+21445BF00BC2F997B356D94AF13736C6D3B0613EB6F4CD96A685FEB672661DCA
+206105EDC3CA07900676EB2FAB37F48D2E8207BDE1463894DA3C5B1488AC1EE9
+D39DAF691648048F5D7A384B8927F8DA2BE3602669F71D80686E427F395134E7
+7ADCC611BA91AD4B7A0237213C60CF2C905359C90795230344FC3C50A22BD44B
+55B2044792509F50F5C21F53D9F9E9F063ADBED3AB99E2613B23334FE8DF70B4
+6120F2EDF69F50BE793EE145B9FF9C73179DE640FC2ACEB5C6617F918CEEB762
+4CD81E665B2E544864D13230B058717B207D3CC5D6647D5343DB4D0356082392
+871EFFA896631A7E0D6477942B632074A9A4EF7B09D4701B1639BAAB4E03A40E
+9B54A7A4F845CD63F88831EBFA4FB847847CB98F3455CB5957F2E0A0F5623645
+DBB5C5564C7F8B117D6E27E65C0F3EA81AE67B4AE4B201E7C4FB0A8364FE53F5
+41A7CE8F834C2C4B322809B353A5E63BBA7BF3B7DC1A85EA700BD287C2BD3FC8
+2832B0BB4695FC937FF5EF06FCD87DCE6DE793C2B1EE10E6450352C17726155F
+220D550B1759E15AB2C1D5968E52C8080CD280E99D3CCC0E80C2EF8BBFD96001
+A226FEED7311EFB4B67F424B557A877379A15BCA54780F0CD2CCA00400B9B39D
+981C6B552AFD2506D1B23618FA9AE6D8143CD7198A8482CB416CCE62B992347F
+337D505A4078713BBD91E5535BD58EF0351EBDCD749CC24D4AD39F8CECD7D6C8
+139756680A4C03A58B3374CEC658D30160AE4863A3938A891BB59CBE02BB451B
+1BA4B2B6E68AB61DEB85F95E3C909B8B66E220B9F18280161C279F10F7093CDC
+100A53D542F071CC0A5AF834DC1D18738F5DD62A5573E884E1FFD22BD810828A
+1EA47F8218C15A2E97CBC609927DA3CC2B802EA4A0D7EB57627C135E3B065905
+F97597D818A2C5CC6F328AD25AD11FA50F1E4FE637980B7474D6F85A521892FB
+72989AABEBE02A2D0EFE88A6F67AC29F5D8DDFEDAAF465C439983C6B84389FF7
+A6434462BEB7B07DBE4BBA61ACD4A60C55B5C0AAE527DE381DFECA2E6BAFDC8D
+310364ECB42CAFF72BA93C067B2F02D1CA7C34AE7CDC46787A0E234C8BE8A928
+7A6F3DDE0338FAD532A9886E8E3525B85DD39364AB03EC4C0DD25DC179CC1989
+1BE232E387E857C78332D834679195E10F1E7B87B7966DA3B2238F53D1E13FE2
+8F55ED6A92A750C7250C9B91E29796621E7E9520373214D7DA81B2875A986D33
+80382AFF6DE1F829F048E57664D9C4ACE91E4684A51023943A4964AB5657D610
+3A5405EFD4CFD1EBA684243E15093C9667797BB47617B66054EE02C41FFEC45C
+C1BAE8AD56B00D323FCB1D2744F061FA16E161988741A319B1564E04BA210996
+4F9F02A3268CABE450D166A763F5284954564A1C86B76544C5F5ACDFE0D758DB
+865A1CFCF9FE8CD5F9C3B2998C56468FD52DF8EE60C6935A3D221EAEC7714E3B
+301371C7DDA0B03A2416238F2B47BAD3A2C5021C886DF51C695AF9C87A864B48
+3BB3FE0B355EED5454B59B25A0D8A1B8CBD356C24F64D9B55E16C30C011365C9
+1E0380753BA3EDC0868788D5F50B9353D0227BCEE1BE36998B2622C0759BD66B
+E4444250589F9CEDE766D8B940770CB6B89503E925B35C00CBEC2873D2DC4A29
+0823FB7A3717B69A7DEDBAAECC067949932728E89BEECAA91DE3AF9BF070B9C0
+30EEFA8C0A55C8388CAA2F0515915C98E67FA095BB98967D14B0DCAFA9622E4E
+2E0EBFC768D80585ACDF28D8A5C2B6EE2FE7AAF62FFB90F569F84A0903996DF0
+C1D5723366C436E4088F3E2BB9B47F9789052A71CF5C49908CDC1DDA194BFB89
+14D7E3D7D4D72A150FD6FFD8303E9DE5A97A71B808B8BDF2AE466F31BF5D7A4A
+44F81230BBE2B456A221E2F72A8B59F8FEA8D31F8A005A5BD93B9F49CFDC3DCC
+CE2B67090460F632271C7157BDC2F05BC2749FD562FC28682A616A52D1B67654
+DF78B7843A9EC26A7DE2EB168F874904C2915B97534B2D4D9F74A9573A771D34
+9F7BC855E8F794621BF6AD471BCC347E2DF5F620F5C209E33A4CBF1EA85AEA87
+4492A77342DD33EF615FF34037D660B713C908786D9022051B825226545827A3
+2AD1B05D654DB6E6D261B4E8AF0933AD1F0FCFC7201E1A7C1B4199F160C38676
+21ABA2DDF1CEB655B3EC3226E0B122976EEA998F7A5241F062E54AD1DFD6ED26
+47C99A439E0AE95415059179867CDD3F0FF751F3141309F40E00A6C7C28433E4
+F649BCD5DAA64177580E05C495EE7BCBCC5FBF104DAF360CC2711386655B26F9
+D349D887EEB32ADE595241560FD5924A1745A22E6A01DB9C285EF14596EBFF0F
+03F36EB2E0A7C3864F819EF7B0855121292D49482F046A55CD7271FE03F02EA5
+886864D9D8EC22A68C23089EAEFFF03DED6484D8C341861EF8B6FD3C5BDF5AC8
+352DA4E13A1E30D0CB71E090E9CFB9AB2CAFD0CA7C34AE7D8E3B2EB4666834BD
+9CCD1AC2108348AFEF6071796F4BB2FFA4A67ED917E76A109FA2DC2A30D744A0
+9AE653A748C1D18FB52595D84E87F1C1FB6B2F32667FE203262C66627AEFFED3
+92B23861E5EB238BB4EDCE09DAE1C65BAFC198CDD1B45D42CDF93E16BB82D35F
+821E9E49067E966AFAB2AB52928F8DD6359984071FC37AA652FB834A09E5BD93
+3AFAE161140E74C6531E413E8FBBFC42BFE8A464B71EB1D8CAA93B33D7BCC3B0
+47C7EEFCD3E9FCF26FF9441DD9BDE68D77AD7251C06BBB9A2103049E8827CAF0
+F26BEF33F656A690235DEEC623CC519AFA82DE2AE16FB99F780FD7D8290DA40B
+9B604AEF36B529FD184239E7D50561A07428D28E51B55546590A1AEAD4B7F2B1
+AB8C5B9022C1FA03E33F8F409B24911AB8BFCF6EF4A8E415263C789F89063E71
+C0910DC20347469380B7FC1EEB87D4CED7F4A361E58B61C91AFCABA35C03F978
+B9FB5257C31657EE48504C355CE893FE3C553274C641DBC4004F5D5B879CC5ED
+D3F21F867F6DF054127067DE86189F0B59A1B90FDABCDFEE61423609D888EEFD
+F4A1367129962110C651D9481CEDDB8C5C2576A59AED64E95F7ED042AEAE2F7E
+81AC0C408E593DC30DCAC334EDE9EE27D932B98F040DDCD195D6155607DD2038
+970EB78221A94C52BD4F0EAC65F1FC10E5DAA93C17266F351669CAE56F42B68C
+6D01E1EA03AE554D63CE76D800FDD9CFD89F80A241EAEFF7EDFA41794EA25CE7
+97BD5028464D2CD45B53834B4AEF8BF0B9E7C6ECDEACEC887E8790A47A93F668
+A9095E5FA1116A122C0E5B74E2226C654D3187C6CFD8807917820423DA3EC1DE
+AA020EEEF2280C44A15209EE2F3FC1776875308CEAD38571E7BF889F287E4594
+971A83605E0B4169D4A23EE790515223DF8724054EDAD905F57918FC0BC64F96
+514B4BF7DC9BA79E763C22C977FB6146B10D26FEA1BAA7BAF21312F78D1625A7
+8E242D743471DB5821408AB786E4A7EA9D35E30E85533C617689F95758FB2C7C
+392E759C299DCCE36689686DE0C4DCE32649493650BA194A6208C5EAB670B170
+3F2C70BF0EF0E3BE2FB0A79224FF4ECECD6BB3388C6D06867A0E5E3DB93C1B2F
+464C23E44D3132E7D4086E3B59B1D13F49EB4772DEDF8EDC4F603217233FB7BE
+C13C28648E9AA51D53F11FB896839F97AEDD8834BCA53CB0021AE91FD8E95E2E
+F8A094093AF556B9639F508A401542B06821FF9DE1A745FE9AC5CACD5E8E1053
+911442FC15CA5333751ABFE2C617D38FA1DC332BFEF44AE569DC631C93EC54D6
+261583A695F5A392867A57F59B741EFCD2DCFECBC55D1EA5F2317601C9DFE9ED
+D1EA466210FFA905A8F85BD58B98991BEA58DFD1CDED5C9B086D42CCE632DADA
+147941917B879139E016B0DDEB8446BA017FC8EE5A354533D667B0835F5D027D
+C2D580C16B80B3D05CC92C0465CAE077729F0A15B2DAFC89DCD349B3F81D0516
+C65526EB5C10E45A8A85D716EE35FB9AB201FD7C89ADE5AD925A174169DA20FB
+61E96C73A143DF964C20589EF24A0FCFE6195317F2FA0D2249C0D8E649C3D9AD
+FF13332EA2E4C9CD36D8443EC8F027B61CEF92C6A6B72DD4ACBACC16E429A9A3
+F5F29C1631360E32F8C1C93ACB22F810B86D2969A7480F486F62F8488BEEC74C
+2C1AF13BB92BC578E8CD30BEA6BC8CB68ED730F54CED0167605FA76AD7B7E88C
+7AE7688E598F91C471BD65A542E96D64B1EAF19FB4F1234308C48C2DC86E2193
+11ABDB4C6189C6F201627C693691A86DD07FF55C30FDB3F72381E09C6080FD7C
+9182762E5001E30F52A216E0B71E4D2D4E2F3B20F95DF3A11FDB2D2B5B5FAA66
+C46226D5E0C77066349770514E5675550FAC9394FB27CD2C2F974F1FD58C04A3
+1EF53A8AB3B2202CCA1CEFA66228E1480A0709436C44BD3319C40CF888AE4692
+5DBBB52B15CF3A518F627F672135A24D5DB9B2EBEF04C860AECF231EBB5A3BF5
+6DCCD5E72FE4B6DD29E896691868A7DE4120AD06AC573F5608B8449B38E71CA0
+EB5CDA3F942482EA7973661170F81DC88D54DD5B92323F46F833DFA757107E9E
+F62A47CC50FAA1B68ED535C3E0E1073532A05ED339C8D70B3B9864808ABACD23
+AA95E9FDA43D54C66A675FA074E0A5B8777D3C07850A09087F36852B5351F35D
+8BC4DDFCA35CF29CD5E3DE118A741FAC4DED36847F2E2C6CFE08669301722D94
+376F540982958074E7F1383C409652F6C99DA39FE90B38221E75BC1ECB93ABF6
+B00F410A0C5651DB418566AB350FDA1789AFD88286AF3BCB42B98386F7BC144B
+02DEB8940D20A6B3062F0C4244EABC50923390064F1D027A8BACC3DE45156E56
+4A942D1B87F1C4A76B0D4D6801AE792CCAE3009BF25368B31B6AD5476FBD3BFF
+9759EF463EF5E78E10B7BF64005B2ABE0E8813950A08A1808587A98E0021D0DD
+751AD515E8278F1A0759E85D8A084490BBB0F8206484AA36388B1013643D3198
+3509078847BDAE08E76FA5BF3E3A73C323CE093DCC148E3C02C2DE1E26C94D5A
+40EC8308ECB02FF7DD04EC1005A2A0DC74D4E587F10A3EF349E828F69FD38962
+2F0C74D5DAB3ED6CC9F97008ACCE74C086A503948DEF1AAF58FC8BEC703CD360
+D32098A56AC776B1BD08442052A2A4EF6C8798F7CDC102AF1A2009657254762A
+0793F79A39DCD6ADBAA5EC84A7ED6018BBE727E5D477893D84F157074B24C13E
+8D4881C7DF8ADC13EBA0D89745EF93B7616EC5355600BB0D2B630AABA3CF2946
+AFFD0B2B724EF0F28393F3DEFD59E05F83ED622EF1906B1A24A599C58E9CB8EA
+E9A28325A5DD621EDB3642FC06FFB416FB3029ADCFE5D7D23192C650FCD7D1F8
+ED7AEDC7166E26191B12F8E56F060D2D08D41E533813A8D64E5B7F2F151EC8E7
+E2333ACD6F78ACA804CD809616BE4342A5047C07E7421CCFAFA7B057B6F5A801
+21254E447FB15A8D020E976D8544D374B3A5974A7F194FDB147A2350923DDABE
+457B7AA8A2D05B2B993D1E3D64D048CEB465BDDB93249897B7470D7885E09640
+0C493522A4B260106698DC076B24ED70A29B29ACAD8E0976BC0C4C647716BD75
+A008490BD634504BD01639C0260C04DF791FFA51D5BD6DB0B4881071E7BEA3B3
+B457217E778ABF7E5CDFFE6E0408A8414C68F7BB0D5E2DFD34798763D6EC004D
+0C5E1CD575A379579F80E0036A8D3CE7C9A033D993567AF9959567FF8FC473C2
+A2545ED18E039847BD1FEBA958F0C9E5CEBFBC3EA8301823629A588F77AFABB6
+5309BAEF9A4E762A1C56434E83FD96ADF1129585E409D3148E4BF724A0E0FB52
+8655FC71A34655C85F6D8A0CA2801A97547AA83ADF8C829D0392B985C9F2D60F
+8105103B2EB1600189CD93ECAB2449CEBC5D364576B73EB26E8EC760AD31848F
+065DDEC8D51DB284D7395A719237CF2262946EA7A90DBF818272ABD8799DAD3D
+98FA7ED773708399D198399306D44717CCBF6030C5B68A5FA420B0132974120B
+D9C8A6FA8D096854AFBD4DF4E9188CA4D9CD3AFD65DA452D7B642DFA305F8627
+2ED7406E4E11D522C3B700C1C5D51131D6A8813D89CBDC469AABB4E8EC4A5649
+EA75095BEDED116B9CA61D884285A326F1527686A507912D8B44333032BB168D
+58A2B5532A76142B3B7F2157D17E70FC65BEC4A9DF1830F40A19FDF862001A66
+EF30F571470D58962352EBBEA70134564F6BFA8D0D3E5738875018EA87587137
+990C1F817EEBC1C5EE77F4001F9B9AE40ECAB505BC87EB382E6D7D1328E391B5
+6925F46E63D26EA1539FC422C4E7C70D6F8B3EC291709E3E38E4BF8A613D5973
+FBF6EEA30CFCD0EADA75E9C148EA563A0EA36DBC72D99E72D3EC18EC
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+cleartomark
+{restore}if
+%%EndFont
+%%BeginFont: CMSSI10
+%!PS-AdobeFont-1.0: CMSSI10 003.002
+%%Title: CMSSI10
+%Version: 003.002
+%%CreationDate: Mon Jul 13 16:17:00 2009
+%%Creator: David M. Jones
+%Copyright: Copyright (c) 1997, 2009 American Mathematical Society
+%Copyright: (<http://www.ams.org>), with Reserved Font Name CMSSI10.
+% This Font Software is licensed under the SIL Open Font License, Version 1.1.
+% This license is in the accompanying file OFL.txt, and is also
+% available with a FAQ at: http://scripts.sil.org/OFL.
+%%EndComments
+FontDirectory/CMSSI10 known{/CMSSI10 findfont dup/UniqueID known{dup
+/UniqueID get 5000810 eq exch/FontType get 1 eq and}{pop false}ifelse
+{save true}{false}ifelse}{false}ifelse
+11 dict begin
+/FontType 1 def
+/FontMatrix [0.001 0 0 0.001 0 0 ]readonly def
+/FontName /CMSSI10 def
+/FontBBox {-97 -250 1077 759 }readonly def
+/UniqueID 5000810 def
+/PaintType 0 def
+/FontInfo 9 dict dup begin
+/version (003.002) readonly def
+/Notice (Copyright \050c\051 1997, 2009 American Mathematical Society \050<http://www.ams.org>\051, with Reserved Font Name CMSSI10.) readonly def
+/FullName (CMSSI10) readonly def
+/FamilyName (Computer Modern) readonly def
+/Weight (Medium) readonly def
+/ItalicAngle -12 def
+/isFixedPitch false def
+/UnderlinePosition -100 def
+/UnderlineThickness 50 def
+end readonly def
+/Encoding 256 array
+0 1 255 {1 index exch /.notdef put} for
+dup 12 /fi put
+dup 44 /comma put
+dup 45 /hyphen put
+dup 47 /slash put
+dup 48 /zero put
+dup 49 /one put
+dup 53 /five put
+dup 56 /eight put
+dup 65 /A put
+dup 66 /B put
+dup 67 /C put
+dup 69 /E put
+dup 70 /F put
+dup 75 /K put
+dup 78 /N put
+dup 80 /P put
+dup 81 /Q put
+dup 82 /R put
+dup 83 /S put
+dup 91 /bracketleft put
+dup 93 /bracketright put
+dup 97 /a put
+dup 98 /b put
+dup 99 /c put
+dup 100 /d put
+dup 101 /e put
+dup 102 /f put
+dup 103 /g put
+dup 104 /h put
+dup 105 /i put
+dup 107 /k put
+dup 108 /l put
+dup 109 /m put
+dup 110 /n put
+dup 111 /o put
+dup 112 /p put
+dup 113 /q put
+dup 114 /r put
+dup 115 /s put
+dup 116 /t put
+dup 117 /u put
+dup 118 /v put
+dup 119 /w put
+dup 121 /y put
+readonly def
+currentdict end
+currentfile eexec
+D9D66F633B846AB284BCF8B0411B772DE5CE3C05EF98F858322DCEA45E0874C5
+45D25FE192539D9CDA4BAA46D9C431465E6ABF4E4271F89EDED7F37BE4B31FB4
+7934F62D1F46E8671F6290D6FFF601D4937BF71C22D60FB800A15796421E3AA7
+72C500501D8B10C0093F6467C553250F7C27B2C3D893772614A846374A85BC4E
+BEC0B0A89C4C161C3956ECE25274B962C854E535F418279FE26D8F83E38C5C89
+974E9A224B3CBEF90A9277AF10E0C7CAC8DC11C41DC18B814A7682E5F0248674
+11453BC81C443407AF41AF8A831A85A700CFC65E2919BE7E94DF619E5D4CC604
+78288A019B254A5A0A8E2D5ED465C9DB3CFEF0F444DA2A7DB2022495EA1B3FF8
+BA3E769C503BAC77336BAAEFA8F7B4BCF9BD63253ABE621C7C696DDD22E0EDDE
+ABDE1706338BB5F604B4F42356E2A96751B8EAF1112A1BE30B618E7F7BAA96CC
+A264B5EA7138FD007E2CBE19B1F008AE13B47252D2956A06299FB28035624C39
+08E9E5A4BC08DADE08861DB9940F6F0FA67E97E9A73C9F41525E865D0BF68F8B
+6D48D1595EB69B3FF78F5F4B18470370BA219A010F9B5EA904289205DF20C7EC
+91A2B866BA05251BD3D00FE5229CE2D2F220B6E25DA5B3C0EAC68979BB312E2C
+532264814FF214CBD46C8B9C8E45878C9E28FF334C5CC7DF9D378EA5A37986DF
+0450E2D5645371B8C577C28A008AB7A702E89FF337A17D05AFB0FDC55856AB3D
+FFF997FF51AAD70FED81A5D307FFBE26E862070E361DDF6D162934B7852D2FC2
+F3FE611F218E28CE0B964BE311E59D8729C7C0FC2B2D5781F73C87D64E6388D1
+D7798FE70E74E76368174F5E055FB8CDA3809536768B0E6028826436C7E6454E
+895EB7E435FF8AA342BDAD46A2C7BE5FEC83B8AD16F2C773F55F58870E70F2D4
+FFCA12D89B06A706CC204383C0238C17EFD01E0118FA4CB77681CB7260BBACE8
+30C8E7B16669700F884F234C36EE9694841EDD4FE5644949AA28AE2745FACFDC
+CFEF1590F99B0DE494BB0851205DF4E7F2EB88CFF794DFA7958F6EC9197021DC
+D4C3590B2729779345143AF6C349CBD2F17AEDDDC23AA8F0998C27170C44FE2F
+163C1E2FC314C6CE27D6CB497C3A12F6D10B92D699E1578C23B5D9A907EEA297
+4BF7D5C4ADFACA310E61EBE5655745FDCC48B661CC2D3EC016A87632AE410B69
+C2B98B87D3F46491EE8611E31CE17843B05C05924FA42FBAD7687003C14599DB
+08D72670855271EA55082BBF6AC146D452C1531338138D9AAC7E4D2F0CA1FDAD
+11E4CB830A9F38A83999F6F0ED15D12FA631B8604D4E3018E625C8BABD8E1075
+93F5E17CAD3CADA2210088E71C02CC6654DB4E12F8C2B6B7EADE37E52FAD3FD5
+83E45B62FC9B573A6068EF3B43856CD4B6C3E096BA93728B05AEE2BB96C60AEF
+58214FD24DEFA63E3FA299289B211A57E4B0CE9EB58414FB78E20151BCED3F4A
+9AE6B1D7ED559B3B619385AA8496D6F56D2B353E4B1BCCFA0A50247E283B1540
+4300E1119F710664ED5DECAAE9087B8C0CBA63F3FA09F217757B8448D13648BD
+D16FEAB50D245C198EDF27C8628CC7BD02385EEB04AF8F4C76308BEF4D640C8D
+6F2FDA7BED98F1498CEB1226F009BFAF6425265EC0D13FCACF4909B7495F4211
+BA32B04A3B0BCBAC89D6A9088C47C47B4BAC36FB59D9B5D73B2E9E926A9DD183
+1AE00AC58E9485379FC6DA119EEA3F6E478F22B60A464F192B2F43379407D4A8
+795073B4309C27D8E945468055493D0204B4A57C39CFDC951A04E0288775FCFB
+DE3993852671BE697999C9831A33CADEA75B369C179EB8A807CFEEA5CD97BC55
+1B0EE49DCC4B6BF4137124123626A5C91603B01B4E0AC759526C129F6AC5BE74
+B77B4E431B596E29C17BCCD1CE8279E9C00DF7557AB25770FC9B02762D7EF141
+84FFB4730BB8451A485F784A34647741D9B8D2127D158283E01B38BDC39BFA8D
+EAE249871ADB347827989E11FAC23F76C2389F8E883B01FFD1EA4968B44D1B1D
+760A1FC8F79B50385D8327D6A6381923BE9A2FB8AB0CC6ACAAF5C7701C8F7BDC
+81424F63D2CB312235AADD050FC4B71448EE02B7B25C82B6BFB070261919DC1E
+32F5E6DD4C38691581D472C254BAF83D7F568016B5AFAEC895187E88AA4D05C8
+FEBB3AEBC348AAB84907BC4D85C1F888ECAA5ED2714598384D7369F5FBA0B92B
+ACA0B6BCD2D22F9F10B27FBF11A8AF204794CED402A3597D2D469A99CE64BF1C
+9242867251B8EFEC0001A1ED0F470A4346BCD9DA22C005A079EE1DE3E33970FE
+56620C318D2FD3DD9DFBB773B4FEA7FEECEA9FA1923AD4B2F49DAFEF48E1C529
+DBE9EC77299E02DEA39C7B91F9E4F6D68EB224F4555F53E66CD00326CCB5FBAE
+70243CDD407BE63DF7BB85E70A99F8B58BEC1562C290D8E50666E1E4EAA484DD
+487C567B7BBFEED34A65A6407E3D8925E3C667AF40DB0EFBAE2C07EBE60A83DD
+C1A02842861C994C4D314A87986CC94EE74DD4E29AA9E70F393CF956D3BE586B
+AC618055571DE00541BA60D022DB49CB62C13FFCB3932DFBFD2D52C8F0C72F1E
+9337D95767E376B80AB35264405CC5C385ED6DC9F95535E00C5252DE66961AFC
+BC7C83ABFCFD5E0A055E37E7D261A19039D47EE792CA30EA673F80C48C0EEB20
+DB21686ABD169A45DB94E35FF086C9946F51409E9E0836041081B04F861838C1
+87157DB76A983928BB4122798551318EEB70A32C11A412FD56B7805BDA93AFCD
+B11D35FE799224AE30C3BD09D971AC651D06184FCE45D898D09685009DA35EC9
+CAB63751F8241297562AE2FEB577AB074D36381B0E5FC0DD5572E3A3079B166F
+56C42FBE6147FBDC7EC2ECF6380A70F87D1E44CFD02A70BB3AF4BD9D350C7B21
+5DDFD4FE288F0D9EB2FF4C24612FA759B41D0854C04163DC973570B974BAD7B7
+BF766AD59D543E808E8F56F831472ECFEECFA7BEA74CBCCB025AB04079AE0838
+75852BDC83E1D723824761459DA6A8920A27282043C38BDDB43157A70D552072
+400E84CED5FDFDA0F09DF94431956F304F6E92F3DE5F99874F995B467E2038A3
+B9C787E650C4A31B2FEFF078BCAC93ACA5816F5DC3FCE322C9DDB15E34856182
+BA15F2D56FF4E91573BD2D8B34767974BE928F10EDB3525C2B259F320DF99B88
+87801826F2B6AAB2C178270B27730496C44CC83C8036EE6D7D33D6D4C0D871A3
+62B7BBC8D8A4E86AEB2CAE76CC7B091B7DF5516EEF043C7D2727FE569B2E28FF
+F6BCC6FD3696A85CF5ED26571BFD346494CD6C0974BDE257EDD4A2C53C70FA89
+C81F9D32F5CCBAB39A7C00A1BE116FA1254F291AD26C1DE4CBA27BC03C5E5561
+8E960A7169F86C0DF884419ECAC607FA82B00CE0B41F7696B2C384582AF6A986
+5A9FF800D3A1F4B6C2524F1A4300B9FCDAE2C2050B9882BE4F512FF539FA6BE4
+C9577484EB323E7BFA5BDF628875A3634214B14947F7C16541CCE359F72A0E27
+C0DB4CCD1653693F7D0BA68D02D5A61AB516173E794BBE4C2C3F34ED9C33BE3C
+4A9E20A687498DA1DF7BCB1F6C595B90A5730A10070A54180318A1BD01844585
+E78C6EA28EEACCDCB49F1CAF1D21EE97B1DF74523291FCE2ABFE2C000E8F061A
+7CAEA494183B9261307CEAC6CD13B362130AE56A651DFACBBE7A6F6747CB61BF
+F94BF393769F2A1BD493E1E6502A3507416984FE0F7E509D901A106B857E2448
+7284E7ECC2D316EC1C54EE4FD7DC9972DE33B46356E414C92CF8DF9E472F7FE6
+7404362C8DFF6BE223B8886503A83A83348F7E9F88726CE068C904D45496494C
+641E4443D9474344508ABACF3FF3424383D79A8BDFE6E9D9138E660EB3FFCDCF
+8F4E01B24B3070E8B480064D946D0D200F4468EDDF7BDE9D3DAFF03B6D8165F4
+0CCB584D542D40DC72554A7597A19EFF3BD72B8520EA71A51048F15E2CA53F3B
+C3432278CC19751B38AEB52534BE6CD9BBD489444D313F8C78C2C252AB25AE6A
+5EC7D05F3FC21202C4B30A7FF9E1BDC6AE3F6B39B1E09F65E95292FBB1915D20
+44D7212A60408FC0F5A2E957BCEBE93DDDAD35D05D23F7E58A3602FB3FC1D431
+754A3A21F181C437437D7A22C402DC82275DE903E256979985B6E794B459FEFB
+393317FE573DAA5416AC52AED36AE9E79040097E2BAF6A0C6CB68C346E4EB059
+5E8A6AA1C751CA4A4094257C39ED48FE4414BE73B4E0BF6394FAC05CEEFD1C3A
+F5F5233CEB4625752057789ADF113E1E2F77F5B471A0AAA761AEB46CF37C2360
+E701B0DCAE13D4583D8DA516BE2E264230DEEE5053AED15368B6CD81DB761A49
+9987A07FC48E1EC246D04D80D86B32F7A093AA23B769B0DBC554EE48DA202C28
+55847E3D36D80B7C8E779DFE6EAFE3EB35811A1EF80DC639195D5810D90B4DB9
+6BABF8F4468AD92939567DEB43BB00CADB46964B73AE13ECC82C3A57A63A23A9
+92A46206C70B027CE34FB81E6919828462F8C2166AEBE9663259CE5D4CD8084A
+8BA479CDB203F1B0C3579B3E0B8B8E7AA616D798970A11423C391C25EAD95351
+A46A856512518A92C7693B42BE92C2E375047E9DF8620B624AF8DCF2836FB1BA
+801C822472AAF5AAA719038D3B53D0AE481753F2EC689394CFF9A911C42BE535
+C5B4A187712D487C63A0C8607D67D1DBD0EE766B526184768A93416366B2CCF6
+364F2D24B44021D0935CAEA289B120A613378399B53E2B50C11F67B7DC4BB1E5
+861D745B7FA3C7906AD591765884FA7D746A19EF86C30309DE0F43D4747EA290
+8E3C68BAF4D5F4C0C4E08DCA301E46AE3A0141A58074BA2EBBAD8B3F326C240E
+ABE33FA5AC689444E7E04B78C29E49D3A128567D08E712C5EC42EC1BD3D95E19
+5A7337B8AB2AA410EF1C0EB31D5766575340016CE477CBA3478FB68A98362C60
+18CDC9BA410A545AB339B2AAA2934222DA734F6A1AED9942B43B18BAF77FB63A
+71059FA66EE04B76730B499FA022A52139BEFF9CA6CE3F9855C7706E3F804F6D
+D622A6929D049F921079DF979F31828C31A73CA0238C0D2F11BE2FD68F2228EF
+BDE9837348C10E9F08477F754F6343A39736386912D6BC865BE30D1862BACA23
+0DF2061049CDF9F894D73A549C10E7BE7790043F9A642E4676F9DE2B934A7F8A
+7B0917DDF3255E6FE122D88DBD80252D0C1C8047A13F835E3FCFBFC0AA1D92CD
+F1CAB8D1C673EBDC5601B84615F513E4D9FE1F8CBF2337C9FFCDDAC85B6922E0
+0BCB0DEF0FA647E6828DED2F5B20F227AF3A792C0C63AD888D7AF39B10171FB1
+A24840EDC55158FF3D8513C89F666A2DECB4AA4A1D46503919A4CFD911977DAE
+4779F23271C23BDF14F4EF8352D9C66A7C24100C28CAD7BCD89E6E344EEE173F
+CF8BD462E1C67F06D73A9085A2AD1EA3DFCD19EB5FE217406771B80C8A3EE798
+A4CBFAB9AA93672B8FC9D02014F7076FBB477A777867C6A6AF2E6FFE3CBF3917
+1E4F68BCED22EC345F87A92480F4568006BAC16A2DAB940CB9F3462D254614B7
+78ECD86F7C3B3A7DAF06DA2D790F353D9254133C38D668C38082D0CC1BDC226B
+4A7EBB1460735A5CB04BCA4D71995483CDDC9EA7D3E070C00D5EA6DD4AB539E7
+E5C8E436656C99F30B3B464E5BA6CF7025E098C1FDED8B76260ACF62D1A08DB1
+F126517B05C47376D20C999565399B06CC686A817B226101AEE3644A706F3767
+372117607576BC2B9AD2637DD13C76F9CF2A356F1B9101496868EA8875C94C3B
+D181936A02D5387D1C3C285F2DBEEA25457F6A74FF7E00449FA41878776C0DF7
+C58FE07009574AE6B457F3BDE448E71CD04AC7E3C22E0CC8AF56B8B5611C4014
+3CC20A39A5FA3D9F6A5599495BA0457109823CE71BAC2B7057AF826DC623213E
+A6738E640DAECF08E69FE365741CFF8858337131B53A0AF9E49C3655F62E367E
+DE824A37A5DA853E1DD5970EC07D3594A59DA1AA85D4FFE3E9E7745FA7FC7F2F
+AFD4B9405C7907F383A5149D4DEACA083B457151CDCE3BA5F0C350945E8B92A1
+635239241B8FAF7704E3013EE5D21F421254F23194B537C36F8B673E70073189
+8B2DE6C30159232A2D054AB8254A450759ACE9C0B94DE035D9D6E5024E8AB56B
+644A5C3EF00A5B2EAC0F89C5FE8D7DEB9BC817EF1F87C2BBD956AFE4DD4B50C3
+A3BA4931A32827E612DC3059E97069D3894234BAC0E9AA1DB7B7EEE7F97C648E
+0B7E7012CA4977258733C72CE466A2EBA8F2B391BDB7652BC07C2343FC8A4B5F
+7C6B926D1B751BFFC6FCFDFAB9CBFF6D630CFC8BF374DF4DFB4B0845237E1E0A
+E2D044324B4F05C8C96970451C9348E8AA6F1153EAC8BA1C57FFA09B3A181CF1
+3EACE89F204BDBA7884FF6F90D1D0CB578DE1CDE56F526AB11F9DEC4FC09642C
+A68C8F1DD2EFC7BB301279F474967B1B10DD7FBA6B09B95E7B4D34F66CAAE07B
+F792BFE7755882FC790961FAD109A7C35258021DE25BB14410828F9122E01428
+D72EDC917C835553A30FBCAE5D067266A205DDD3AF3A4734371426968A7BF7C7
+9F48A5D91B596D765E15356F388E74D100B2243D230BFB33147BBCB298320930
+000670CB15B7EE9C787EC751621851C3BD5EA6E70FDE66C9834189A9B0D796C4
+1FA4179D594B7E8A39987A3DB806F337945A02DDD2B33D43F1E39FD20F41CA25
+BA3B5ECD3B32F961F4A98BE40604BF61732690F3C8B247C6E381AED4F277788E
+223F8EBECE8CBA7F48801118966E39D4EEEE3F04B254A87EB21C2E4B00F15AE6
+F1E2E59DA6353A45BD0A5BF4B822D86E0E7237809C1F0129B83BA2DF82D5D54A
+522697FD78DC73D8A75DC6BEE09FC523E5DDEA837BEDD90DEFCF214640DFD4E5
+477FD73B86A08885AC44CEE72F0E27AA63A901F2DCC7C42EC261EDD9699A278B
+507ABA7BE7101057297C6A3D67C37D61CA4015E7A46C30202617F3585D719309
+7DFF48AF4FBDFC7DD9F66E9549B8B800DDFB2D8AD69B3C6D2C3410E982559191
+93498926825E6A96A2CB12F8FD15F858AA28E4F9A9D1457D7B9AB16D9B9D4D45
+8FD6853853DF5851C529D134CBE17C6B99A8286519535CC1368407909A5B3CF3
+C75B4F86A40BD2EAB1918F03D93A283EB119A8F63E346E7502F0CFD12369B2B0
+09A2AD610FD210E8CBAEF4C0498B0E53BF4EE1A00B0C067C113F88E5E000E6F4
+FACE37B09D72B4242CD320E4F72F5E123E5578ACC48F604124A0A45559E1DCD9
+B58D9EE14F3BC6B4452B9236F6A3CAD7FB7E7D5C949DF2875CE44537DBA8B1D4
+C7ECEB76F55EA06D56209E0BAC984AD37A459B6C45B4D7F8B84CA66BF274F1D8
+02BF247751733715BDCAFBD55854B0F436BCC787F66B44784838F56AA29F83B7
+7D46F0D88835E45159413BEDFEC525BDEDE44291003D313CD2268E240C2388DC
+37380A430557D988332DF505B16CE488AF68C8F8626B7EA790121D6ACB87D94C
+83418919E0CAF58E41A3E036DF13D13C6B107500902A747CD7D7BF12235A766C
+00539129C31EA3E738733C4E443698673AAF4E9588AFAFBD00577721011A12BA
+D556591A82E2739AC4234917DD7A850C05F595BD87E0F7719D42DCBD9D724C85
+520006A9069E1CB2557D2F97D7A0C54AB564DC62759F793D60A4760854AFB05B
+AE445CB9131D0C14B6A6ADFE12DB225684D8254EFD295E7542031CCADC4B27E4
+F579C84F35DC502F17DAD24C1775F15F505888F0C3E0FD42357ED07FB5076E78
+E862016F7E5835CD5BAF87CECAC4BC92375B426E9512928E748E0328947B1844
+E251F3A6E99BAA5B97045D1ACA798296D0CCEC2044E59F32075BB7CB7C636BDE
+755916CB59C802761A99B211EEB550EF9BC14AADC70818D0053993C9F299B3D5
+AB1427B463A4D76459385F036A95770A8157D225FB75B2C92CA39D1AE7411AD7
+19AB8DEAABDE9A2F7530B474CC7119E4335AE12A9CE84BA7FA92AD46D6A7AD54
+A676EF1B2B0F3A73E6FB24B20F9702ED522DB7BC30DD2212ED63C88128ED1FA3
+7B05D70B0BD95BC58F1330343EAD91AED48EB4252314CA3B7FF921B61E040858
+EB3F545F8A8ADD86FD770249BDAAD02613AD5A45C3997E33188E59E004E2255D
+BDC14AFFD80F49365D5006821F2A4A2F801820D4D1DA9D11F02CA514EED93425
+742D97CC8F84E529FDE0BF4C6437A849A6630BD6760B31870D69C4C15EEA09E1
+831354F7C4A70C5F04DDB4B27952C3745B76EE5B168F047E59360CDD5D084D3D
+BC8BA0C569C7DDE62033CE401D65C35DF34D2875D4E6E83E7854E73F44EDBADA
+9368225C6160F4B0C4032A9800198C83EABDE656CFC1C1B65993D629A1BE0263
+41D83EDDCD589F05D1135AE5FDF759260CAA81FFA75E52E7721686F09ED30B6F
+A7E3A8B23FD647A7156FC46A098835E130519E9B03D51BE72D93AFD1C8E26369
+1003E8DECAB113FB42AFEC3EB1B58E4D4C57DA6A7EFF05766E9640AD6221244D
+863351C7E11AAE874D2C37B6AD9F9324344621662E0F626F85F2466C4DD58751
+8CF9D2ABFFE134E2281BEC8D06F7B41B1E46873EDDD6D5EE7953B988399A6C98
+57B8186F02ED58B05FA74B94FD084CB58F31EBFD5EBC64404C2DAEF49047078B
+06C8A968F278BA7BCA00EA900B268D520162BD000C1F8359A11D488DCE3E1240
+72620E53A10E1A0B555FC30C8CC126593508297A962130FF121C9621988B5909
+B8DAA24AD638AF9C9E4B9A8A99F13E8E0E1A1C7666BA3372C3432B5BD650F404
+BA14C3E9EAF67AD47B14035E4555E73E38D51BE87D6819BBE989CAF6F7B670C5
+B0D37784AA64A2F9636175C36B9997A071BDD275850A4F13A09FF65D57BA71AC
+87EA99A7C3C898D707553AA905E009F13662C2CCB8A22A4D6A236642F9EB8BF5
+65CFC666A8087C4B9D2B67E91911E03F9D9898B246E414AACB8CA8A22522A688
+2F513EE7D3DA11312A2B33128BDD0D9611564C99CDD4218B6097B1A8D527250E
+D06D7A6E316CC400C43D101C708062E98B2E3E6F0C2B4843A7615CB8F7A62B41
+1B6E77C241BB03BCB2A0FDF5C777A91F0B28330E00E9D2C9BF34F9861C47C420
+B509E436C446CCEC37AE97A88E17EDFE1C1451E1F922E7D6BF1C07FCF5BA55E5
+086C44F64DC8CF01E5B7329985500E0843243FAE19FFC776DD40D3CDFD3F3F5E
+380A603BE26E115F1581FA37FDBCBC3F74BE8B7481B377258AB9883A9FAF4AE0
+2BFB5505446BCA1A571E27A0D6DAAC312F7F5893A55D366E629237CD018458EA
+ECD90980C2E25FF13A928153E48347A50DBC46E60BC23F2AB1A25255C7C43B56
+ACF69FE81D608DA6A4744E88A4E6B3BAD37085DCAC470CFF413429B3CB33647F
+DE74E89C657FB6E95DFF863F70B0FB9C9AEA84AD4026907A4F2F1F5B73394E54
+5F24857D07F27C2B7F05565BF9B8227CCC870E578EDA8333B280CFAF6AB53FC5
+986EF9B3DDD2F97418526B89F3C166735F1E9FB8DCDF274326E41A9475789638
+29DB011B8508B09FF0D016ED1993382FD8B112AE89215955E34DC8117544FF86
+9BBEDFD821636C4666D5F85A6285B4F072A6B2BB39983E940AA149335E5CA57C
+9227EFDCAC25D1389D048192A848E2B57A0DADBD54D759E24B73CF56A580C38F
+6C0A41FD898F28B86A7E35F1D9C6301237C35828229C43A10D5C2F624EE80616
+CCD087884A919301754DB026DD7B5D0BF7F92FDD3663935D92716C0A6D73E432
+55E60BCF8E257E2B16BFE9BCEB5E1CADB082EFF5BC8362760F9DBF482AC53550
+DE8E7307CC94A17269F4E072C214C30965FF8001302A33A6682FF1B646E7FBD9
+82FF696174772548F04BF5703272CC5243915C0BA12E1E16A8A13FF1CD91832D
+14EFEB996D87395BE57985614DD69A438F06D3EA35C1984FFB124253DF153BF8
+7A23E50A601A34E20EC2ED6060B4A305BFF150E99F8C1DFC5FD0B149AEA55338
+4CEAB0B7673B8B33D18E2BDD3BFDE7A0B0269645E99D74B913CA74225D35F3F0
+4B7B868BAA796203E6FC720E6CD5753ACCC84BE4A4693D83A216C3D2EBA24606
+EC2AA7D30ACEE8DB8724D14D4DA28FD3D0BC8CAE5F05E8F667308D5D291DC1A0
+6A04107B93A6F3BC4F5C43DD989CECCAE3C263F32E1D87BE884203FFF304CCFE
+AB8D782E001263982E436750E53C5A21BE7B9F25D6B6CE178C529CD741BC14C6
+A9DD3CFBFBAAE1381BF375F622054AB84E487A9715EB718C09072EB43F173BEA
+EE0A3D981DF89F3E2911C8D0180B2FB117022CD3BD2728FD7A2B210D22863741
+5B67D94A4512A6CBF00F451E27AED24BD1E94D2C33CC1F5BF10618840106C79C
+0A70C547B6A739AA763B975C5AEEFAF3ED37DFCA33BEFBB6F17E8DE96E6E9D93
+DDAAF22A7F369F9564E688729112E25BE2C8952B496196705B72AE20FD65DC7C
+177B4564AB3F5E2C0D744209BCDC6E7D732071C9EB9F35386C29174C110D3714
+00420597CE811D2A891F845029FAC350278A79641FC2E62D8EF85DC4DEAD6362
+0945B22B25EA8ADA8AF3CDC1B907510BC028EEDEAC9EC1048B64B576D3B95FBB
+0864D96DBFE6408C5E680717A4C6D6BEC5D997699DEAD866315D28483F96CDAA
+490643EEAB079C47836DA0BE6EB432467BA84AAB278888E0E3520072AD999759
+B3BB99066BCDDB347467C1185CDD9BE1B6EBBA0D1348D1F4E41A78FCDBA97AE8
+D0A3A4619754685259ED1F24CDC39E36651307384467D51D7E15707B8C0EE506
+1C9995949B334E4891E0107BFC45849AAD5D13CB0500106B9E35D30F4C201AC4
+6C7F64C49DFF7921BF765BA7A840F757C192A21986765CC69A0B8B5678BA03EC
+06392E18756AFE81DCDCF2303EBC515E7314A2F030D6D5982E971B6E76B75553
+6EE103CAEC61923735BE23826E6188D2026B9BDE6D5EDCE539AABAEC01D390D7
+1036913A7D9149AA8B386999B5A78B7EF5315A0A07D6125CB2A3E0C6A6FCBD0B
+627325730E613C31937DA670530780EEA08AECA730C1246DA651357B7E4CF808
+ECF5E9E2ECC28357E4F5857E21396BC04582D0CC7647049A830AEC277DA82E31
+FD28E305C18C408AF4C2EAAD1A780BC7165494EED0B109E7A61265441D0FF0BF
+716E3A275DDAEC49579CEEE0CAF3C1BDD39DE0E958848550405962DE23E298F8
+EE78171374FB6D4ECC267AAE3A44E986CB5067958AEA67E2F5FAED6F3455395A
+C9D57CDAC571B5225619FBC801C322004589CB676D04CE4003E534FC74AA77FF
+1A400A6888EE3A1F395D31CDC412C39B27A758835DA380D319A7C4586FA682DE
+4C2C311F3CFA0AB281D2298B97053039AADA6136ACBD090582D552F7E5DC2335
+2F3920C0B7AE12AEFEF44EBE0E5C46F1C8723DEC22F8D4A4081C88105D41D305
+99F11751E1CDE4F9A4FD1DC5F46620B18ACF5273A0556B046C2CDF9272A6B093
+9EDC8F4A07457095C29D741DA644540C97C8CD4DD6422931A875B7D508ADE031
+30AE4E53B076358780D154B8DEC44CD4634415BD6F6A5ED4FB67B6C8BFE46E04
+0825E942E3372DC12364DC4258D4581A53C84F7B40FB8C2AB487C40C076FB2E0
+2119C09604DA55D04A3CD71A64FE3CC40630FCF4526CD23D9209C38A63CEB5DC
+5A38AB584937F75DEC7849C7B87B986D2557EEC20A621101055EA371E13B0F44
+695CBC4E1399DDC577E9B254F10144357C88F1F6FA97B2E7C589BFC16A4EED08
+85B17967429FDCDC16A22EF656935BB2C5AD7C1F7730EE9CAAFDDC680A876555
+0039AB74B913EDCA4B4847C9EC328BEEA65BB634FA3CB8A830E3D244C25ECADA
+9C3F7B64242779AC2CB12A43A90994D3233D447EE89AA1439FEA5A924AB77B15
+0321BC42C8129FDA3AB471AA002F9EC629E0E59D792A6EC43C7DC815C83BD7B3
+E8859C3CF707C700300BF475F585B2E61599AB988728DE07E8FAD97794F7F72F
+FAE04D436AA069C28DA27482F62102FEDD78B0FBB3DEC60EEF6F3B34CAD38DA9
+4C580279EDA8B9978315805539D3FA0F91E8FE31BCC0D841EEF75CD810F95714
+19CF1FD5834AED4C2ED817B62E571D4C42971788692DD2C4323DAA4032323A2A
+1F8E91BE8CAEB35992C890159DAF1EF50FC2A400CA13F716A694FAC7EB165714
+68133A6889C968D989CF9A3130AB5DB9EB2403D07EA6B6A9790B31F54FD5D039
+749D2B1D5BB579570600B5C051F83E2EECCAD8C087879270B60AA966C3FFE28B
+C8F7E805074D665524205E93B828909410FEC4494FE71D2935EA75B8231CD600
+B13411538D73B2EDE351F5C135A4138F10EFBC2EFB255FA3583B90014BFC5476
+5D9DF52DED61C7B8D1D03D2AE323E2F97448546BD4EEE26C24AFB1F0F07B461E
+7DFF0C40040385B56080F2D4C0F9614450A26A73FF410FA05DAD6865E207E3D7
+CA06CA08FACA85DA4BD5494E2F6E59040063AA4D5554DDA97AAAE956C340D46A
+04A3D90448FA9C2E4D803525F04FEA55FA48FF888CA9859560F90EA2884F04BA
+EFA2ADC837D0C3BDD94AFC36171FB44FBF6C9410115348A4A0C3CBD799F05C60
+AC944711AF4444B5C1B9A3A4D8486B036E8EB5E0A614FE46D0BD2C851AAE1A62
+E6BC80F4DF23D2E8219D124D0EDA1A1AC4E0F6826F90583D1FCCE6072E3BDE39
+D7AA16E0F84140812F906A63F1BD8693FE1F60259D3CF28BAEA60CA4F96A2243
+C09331B283F4825A85FE23D27093A102335ED62571FDF43760A5C0B6780B8AFE
+BB793C128307E65058A06B9CCD1FBBBAAE2A761179C4C4E1AE06743178940C58
+FD24711ACF0B16C0A1FE73AD4A2D43A7E986B3C401AEC31A1282BC489F8B2856
+2671F43D11CC7120789CFF12384E8048502BA3C5550635FE41F4B53D2B14FD50
+B4531FEACBDCBEBD7FA6F340732F0C820A5FFF7A1C505E9B82AA5E805CAE5E5A
+A979CB66A9821A8443D5A0C30C459ADE51B87B2088A12ABBDB85B12E8044F994
+900FD73E924A4EE76A9FD4C5B72AE3278143C79CAF1C58993C575940A6CA1CB8
+5DF299A27CC978DBFC845517A1F45DE76057CF1EB854044E1F0DEEC492842C13
+C46509DCD78185EE8C702826BAD9988370CCF24C7EE4F64866BA4D61AA2CE114
+153FA58F17B5EBC87EA46F2F23634ADA8957101340092A3703C3E7AD3A7C2C40
+73FC655531DAE01E1901F71C2920F825D5BD2E60A8B4C4D05518C631CCEEA92D
+729C8ADC9359D1C5B8CDC769D945A11E7B7B0B5A7136145DD77C84EFD04DDB7D
+AF1305234C5235D94FE416BB2DFD7342C8FF24B11A07295240C9E4519B4E3ABA
+45582FE5007A008602885FFA8D0C0C6E4929724EC8A1B1919ACEE2A84BEF4E04
+182BC6D6687784B6DE7FBC853AAE9A30F903FCED1D16EB9B5FF9DC1E5E6EDB2A
+D43F7E6497BBD11C5A668E6D76EB494790816FD4B3AD01F7FE4DCD3D045DA8E0
+8D98B214195ECDA182F6052E443B71AB6EA5D68086449390B613C69D3A0DAFEB
+2F29F4F306A47200CA7C1842E7F329A77F9D04EFF1636899B3CF49FAA3260ACC
+9B278CB5E006A172134D2423396B476758B49C4B75E970F179936D2FF45887A4
+04E9A6D932EC8AC7B3427F44D0085C80AA5FF08C8BC5FD470EC499AB11772920
+8B1868513D048867337053C886F4D5048210BEDC4C589375CA9A1440414F2FB9
+E80F9FD5729157E6DD07B2B0068F6AF9394E9C17252AB81FE68DEB609AD8A42E
+50D5879D4D638EB76573BEDB6E78C3132F016BBC547D4391558D228FAFEE9A84
+ACC27C6981A7294C55C87F6E3C4B4226C86D99D17E12FA91DF9CD0396B740874
+7B3401AC08F2F3CDE7FFC1C95B8CC48D63AF009E4F6FA1D12576EDE381B150F4
+0372997921D0E0B55C94169835A7091A4C335CEA972893D24386A1934F9DC7CF
+31FB39CD70EC9E5D29D76BB9E12D3012F1B771D0B0F5E97C323332F4F89BECD0
+DF217CE4C2B0FFC095FFF3DA9644FF0DF043562D3DB1E40D61D2236E43245232
+F48C21CDF7E1E7C7B67B823784E45A178C724199532F5832916E44A0003A82A7
+6119AFEA841CDE11182F04E133033CA72F75BD1C911D914455D9B1DE47B93E80
+F74593BD8385E33064F7524BFE81BFA79544B1A2F7E96885054DEF9FC36B52DB
+7ADEBC340616BCA96959170EECE50AB2961DCB39BAD3C648028803BB5DC10090
+0F0AB818841F736B268E06EBC317A45905C9F723078561177D580BCEAD729328
+4C987E6071267252AE217839E7213E96170EF8B24BEF73D40A65D501A63A5E7D
+614F88F7B00A0BE3BBA4AC04F2704D9367231BC7D23C353A264E6191F67398F4
+83FF7E7E9365B476138A083D378A4C448436542DA895CACA5F1A465A188F55EB
+B9BBFEA0AEFCEEAA5F2536AA8EE03ADE16A1A1B0B34E53ABAF34E4311FD26FC2
+81557A04F4D890B6A1E26018FC3E28DD57E46109A30A5FB65AD121C182672DCD
+F45D1A738E62B64B4224FA20FD0F22E492548B07CE1F6CBA0966ED1D86914424
+C0BCBE258E38F5A6972122856AD38F87840BBD154EDEE7DCD9BACB834E63AD7D
+3862D8F37BDB71AC595D8378DFAC81BA749C7CB1687ADF5F05EC8A18A9C57075
+D2D82275CC9B8150054526BD78284B43C6DC180468A386C655503A3EDE694FBC
+7905C8DFBD8F573BAEB0839A3C85E9434F19BBB569827FBA207666FFD37F1BDC
+F0CC71A277FAA9E3C25B5D6E3D24AD9FEF1782169ECE7CB2A2095613095232FA
+60CA70D962AFEEAB0199759B917D83DF7F695BAF5FB55DFF040C9E18F219D59B
+A0429CA824B655448210888BAB47F407E878EF29933577268FA8CF3BB764DEC8
+0337BF121ECAFF024EC0EF18B56617CC47A7F7BD2030C6838D5DBB67675C7A79
+D0772A8B515DCE57C04DF173CCD71159721672AE541B91A1BF7A45292D95FFCF
+2062E7E4A01693750CDA8B9A09E742D96C0A9A17C5C39C0EAB3B1214182E7D55
+873BCE23E46912F44EF6B9E3C7E50E340926C30A1FB1AB638EE15617301B4197
+B85C1C703F9A54D51CA10FD6CFD0A7659899D0B3525A8608A437279160D49393
+88E6E3FFBA88E5CCA8F833B6FBC30F32DF89E717347C464619E0EF172C72ADE9
+628FC3F22F6FE185ED66D87C992823EE779316BD7016B42A8B31D5C08A4C77A0
+24BEFDAA4FC771A54716DC19BA9A3FDE31A0127AF69730A5C038C96540980E34
+A60C64683997CE491CAA40829171EE1799665B3DF16F8A3CF1E4391EA3FE2E55
+41E19008BACD478B900CA9CA3553F854F6C506CA466D9CD85F77092EBAE37D77
+B6217ADD9C1E70A20988F3DBCE74FA45B0FA5A850A051A216A090F69BCC1AA8A
+2C5494E79DC7A74355D890F2E38301CBA018F73ACFCA9CA9FDD84D870A1174F7
+D36FD7B1DF9B668CC8399924E5AAAB1C1D5EAEB66CA9A45DBE10073E35826ED9
+863EA4B88CE8A3E0BDAE1A709F951230712B0402C670C17C886919154C974220
+935E16E146ABCCDE8EB50E7E1D569C03E1D8CD3CA1D2CEF7C3D5596EF61471BD
+0071EAC87F998209F6B77EF4FD8CBAF201F96BD911DAAD9AE38D4474B77F222E
+DCC9D0BADFEF1E5683884511DDE519ED77F655222C54FD3E6C6689AE542CBCAD
+173D609CA323F55DEF622D8973FF50B0291D7B29D5AB1B922BB8DC0ED492A49D
+3FF1590B5F01A87BC4E40D3A2978D09927DD0C7081F48C967EBCCC49A9DA5057
+78CA0C
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+cleartomark
+{restore}if
+%%EndFont
+%%BeginFont: CMR10
+%!PS-AdobeFont-1.0: CMR10 003.002
+%%Title: CMR10
+%Version: 003.002
+%%CreationDate: Mon Jul 13 16:17:00 2009
+%%Creator: David M. Jones
+%Copyright: Copyright (c) 1997, 2009 American Mathematical Society
+%Copyright: (<http://www.ams.org>), with Reserved Font Name CMR10.
+% This Font Software is licensed under the SIL Open Font License, Version 1.1.
+% This license is in the accompanying file OFL.txt, and is also
+% available with a FAQ at: http://scripts.sil.org/OFL.
+%%EndComments
+FontDirectory/CMR10 known{/CMR10 findfont dup/UniqueID known{dup
+/UniqueID get 5000793 eq exch/FontType get 1 eq and}{pop false}ifelse
+{save true}{false}ifelse}{false}ifelse
+11 dict begin
+/FontType 1 def
+/FontMatrix [0.001 0 0 0.001 0 0 ]readonly def
+/FontName /CMR10 def
+/FontBBox {-40 -250 1009 750 }readonly def
+/UniqueID 5000793 def
+/PaintType 0 def
+/FontInfo 9 dict dup begin
+/version (003.002) readonly def
+/Notice (Copyright \050c\051 1997, 2009 American Mathematical Society \050<http://www.ams.org>\051, with Reserved Font Name CMR10.) readonly def
+/FullName (CMR10) readonly def
+/FamilyName (Computer Modern) readonly def
+/Weight (Medium) readonly def
+/ItalicAngle 0 def
+/isFixedPitch false def
+/UnderlinePosition -100 def
+/UnderlineThickness 50 def
+end readonly def
+/Encoding 256 array
+0 1 255 {1 index exch /.notdef put} for
+dup 12 /fi put
+dup 33 /exclam put
+dup 39 /quoteright put
+dup 40 /parenleft put
+dup 41 /parenright put
+dup 44 /comma put
+dup 45 /hyphen put
+dup 46 /period put
+dup 48 /zero put
+dup 49 /one put
+dup 50 /two put
+dup 51 /three put
+dup 52 /four put
+dup 53 /five put
+dup 58 /colon put
+dup 65 /A put
+dup 66 /B put
+dup 67 /C put
+dup 68 /D put
+dup 69 /E put
+dup 70 /F put
+dup 73 /I put
+dup 75 /K put
+dup 76 /L 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 84 /T put
+dup 85 /U put
+dup 87 /W put
+dup 88 /X put
+dup 97 /a put
+dup 98 /b put
+dup 99 /c put
+dup 100 /d put
+dup 101 /e put
+dup 102 /f put
+dup 103 /g put
+dup 104 /h put
+dup 105 /i put
+dup 106 /j put
+dup 107 /k put
+dup 108 /l put
+dup 109 /m put
+dup 110 /n put
+dup 111 /o put
+dup 112 /p put
+dup 113 /q put
+dup 114 /r put
+dup 115 /s put
+dup 116 /t put
+dup 117 /u put
+dup 118 /v put
+dup 119 /w put
+dup 120 /x put
+dup 121 /y put
+dup 122 /z put
+dup 124 /emdash put
+readonly def
+currentdict end
+currentfile eexec
+D9D66F633B846AB284BCF8B0411B772DE5CE3DD325E55798292D7BD972BD75FA
+0E079529AF9C82DF72F64195C9C210DCE34528F540DA1FFD7BEBB9B40787BA93
+51BBFB7CFC5F9152D1E5BB0AD8D016C6CFA4EB41B3C51D091C2D5440E67CFD71
+7C56816B03B901BF4A25A07175380E50A213F877C44778B3C5AADBCC86D6E551
+E6AF364B0BFCAAD22D8D558C5C81A7D425A1629DD5182206742D1D082A12F078
+0FD4F5F6D3129FCFFF1F4A912B0A7DEC8D33A57B5AE0328EF9D57ADDAC543273
+C01924195A181D03F5054A93B71E5065F8D92FE23794D2DB9B8591E5F01442D8
+569672CF86B91C3F79C5DDC97C190EE0082814A5B5A2A5E77C790F087E729079
+24A5AC880DDED58334DD5E8DC6A0B2BD4F04B17334A74BF8FF5D88B7B678A04A
+2255C050CB39A389106B0C672A1912AFA86A49EFD02E61E6509E50EE35E67944
+8FC63D91C3D2794B49A0C2993832BC4CDC8F7BD7575AD61BCDF42E2E421AA93E
+3FF9E4FAD980256D8B377043A07FC75D6169338028692CCA8CD1FE92FD60AD26
+D57B7519B80A8F8DCE9CEE5CDF720AF268D3C14099498A843D76E3B6C0328F24
+D36EFE7F5C4E5B5C612786200C8DE3A41EE5F1FFAF4097653CFCDC8F4FD32E0B
+03EDB3E413283B9EFB0AC33B055617005BC9B0057FD68C52D1B0E67F0C571685
+767F2AA85ADE4E0104A1C777733D5E318A22A9944336E5B98D965E50D31F357A
+8B6EA5A0EA98E1B027CE68C2EDB149EDDD04ED74A1B3D206D471A0C11C11449B
+DE190BBFEBC08C9E1B7513B43DA3134D6B11A2516E6E86B67F68C970A320D05E
+94FEC57FB347606DF89989C33482BD09D011C55AA920319E7B26A205D3D0F004
+22466F09C0482A164CFB27EF6ED2B040ECCC3DCAF345B5A73676F193D43123B7
+72FD6CFC5E37930E61EBD5A6307E4DE70194E6384EC0D79DB6AD86D3B319A31C
+8B0589D0FE28241D8ACE280D0530EE99C80723E560BB72AE9D53F4713181F491
+344B06D3027BA4E9E94D4305BE1D817197C54C8FF56CD6964165F6448ECC8A8A
+64B48B4F0FD69299A137589E2491A283509B21A3A5772F75B7602A9F60AE559B
+07A58436D04222C73EAEA72DE9A5A441F88D27C11F4F91255EFE280E91A4ACAC
+1E98A4E5E6C57B9AE86FD218C3CD8F24A4104156A80F13821384E529783C52C8
+78B94AB3A0096090867ED32E8A30980E737922037F75F062BD83BF4F5929BC51
+CC22AEE2DBBAAA001CFFBFF41D258424FAD888FFF1BEAB796A44E3126159E120
+7E4025C676CF94888A1971AEF8B6764B3AF4A92D36FAF6FC56FD049710EE3782
+BC2CD84FE2473F133BE03C1346B875463F126DCAB15C7A9BCC9A727D23611462
+4E8D2BFD2466600285D79518712B8681ABCD69608E6AA9578F7BD771EC36E01A
+5A17BC17E375020ECA59B43790ABEB9DF5F4FBBEF807E5699EFEAC563E1ACC5D
+EFA336E75DE6D8248E9381BB110884FDC89C2F9A41EBBC9A8A1F98E6A41F68BE
+EE30E25CA148C1EFF42DFF8C214A6537AB11F260B8C329A4947B5FC8DC9C5622
+4DF7BF4FBFB00380D47BABB03BC30627AA74103E553F55278F538EDD8C1E64CE
+0F1398CA0AB5A86630139B4A7E8FC02804CAFF3830114640AE50D2FDA3B561B5
+C63AD7EE3347804CBB40FB1E77A6C89735DD870351C3A1811591AB493251B904
+314F65791963C0412377C1D02362C5E9655F1C3D4803CD379A8EF24C48218C2E
+DF1165840462BF37DDE1B8D5FF09FA2C3B261E2F1A65ECFBE5D4EAD43B52C029
+EEB3948CB8A252CBAF545C8FA1C31E920E23A12DD7222CEF2D2A513BD758EA13
+DA33BF5FBF1D734653EB83DA2D374A5B9A0CE316F24EE375D6DF6BDA49954C2E
+DB25A88821193636119D469BA66E5DAA9C92520FD4F84426A4E54273FA469084
+7517817A6EE3E21176D333825E88046F50B3CF6938AF9BA79A2F51398239EB91
+1A2D07F7FCD948427FF62F40FF95E39FE1A1AA8451411563FD5388472251C155
+69BDE9283B41900B21EB1190D06E6B13B7794FED020D2C1BDD205AE77B084BCE
+EF628249398B496DE85B406FC2E1939EF00DFC84C07E26CF72EC401BAAE756E5
+7F6673216E7560D1C2A723CB405EE5CA474A07F61B81F8836482F73DC9516D67
+CE0CB770EAD755B6B356198B4B97EBB29C63456953270CCC8D5650C1D006E69D
+38DE2DFEAB27DAD50A817F0D645D30AF5B75A7B53CBD3D2B8D87BD0A7E525AF3
+22F7ADDFCE31716914C2318260C2E2B4664893921B68C5A93334A361D94A759C
+0D7B146D6FD94F0442D672BDA0F6432E18F3C5DFA37ADA378D95B75F413C9ED1
+BB5C606A3EC7DFB3F796F59B0478C13FD1900381EFE0BB5242D5B5D34D03AF1D
+4BDC93EAF8020E26CA23C8B0E7DDEBBC6762A557067A4CE05A524188A8F02E2F
+3625DA38DFCF381727887F5646A3995A8A38A5FB1E5D5EBB395FDD0B7C8E71AD
+B48EEDB62AB2CE99D121435EFBBFCEEA69AE9ED8238B60CC7288DE33C766CDFE
+15B767B4AE2E6CE0965E77272AC9F86023DA620548CFAC85BC751C44218A29C9
+849F1C2DCBDFAD895B54E51A569952ED50F82DC8A19F367E7E44643854EFD6B3
+FCAEB04E55E4661C82D31E2932611748480EF61FB2FBFB0CFB940BEA81AFCD84
+4C6A6332D7A600170E38A8EAFCD4F93DC153C43175434C86BC747348FAC61B76
+1FEC9027C1A193E55C80F1F20B5317AA0A05AAA36AE235F6E49F06E570FEE798
+84857D7552EA92EF3EFAD52DE39C2F8F43C59E3A957B7B926FC95FC4B60186DF
+7F3523EE2AB74E294C8C4BCD8B4975E84849E0FBDA6C0B0F24A636DFA578B122
+CF97BC5089E21E9F5298D1C9F30CB8BAFF6A3A11BB4D9A0A5CF2B18D055C44CA
+4FD4D8FE1AF3630907DE7E585AA811F9CD11FB2C8FC791851D651009FA5DF20B
+3C33FD2FF848A9E3F5652BD294965A332DD3F246C91B0ADA34017FF2451D1394
+F9C3C95AAC6EC8062BE98E8914D51DA6A164AD13938693D446044859D03A949D
+F9AC5DF4A000CDA98BB516D762CB9F6D44B5268FD0C26E88BC4A760C0F75A140
+DEBDECA4F511128B7D2805872160C55236F0A0FA7637FF0D4E94AC079CD3C8A7
+D03A5A56F26B0438B577C46011A10532FEBCAD14FBD6032E224F45691A726886
+56F305231EB2FCDF59C8BBFCB5DBD2D093A0E84D62AC93A2312CA69295E937C4
+8DBA1802B85F54B5E7E6D6216A918F911FF705D3B5CF055F1D873B96283A0B53
+59344D910CD396D883F6F7836BA65FAB4393A773A8F6BC298069E5BA38210EED
+49C9D920F718E3FCE692527DC7CCE6963BF744F2C91BC5952564196D60574E86
+87A0FAB21F2DB2BD5A51D7FBD8FC19946D24E5A228462C4772F978E650ADCE3B
+8D66B9C21279C531CA1C3A8ECE3420BB65837287A7222CC3673A2A5F8BBFDB60
+C719CD073EF9A23675198462C7C87B24CC92D6AEE5C25AC63855CC3281494342
+D28F3D2FDE0C183486769A4FD5B0143193D31FCB2C2A14E487BBD96D0BADBB64
+D1B56021C363A795BF10E2DB448261C363A54A4AC1182B470C457AA82DF3F5D1
+F4B329806141EBD53CAE309319B94133D7EBDC2D0453A905ADD207364371E178
+0A95C2686E3B34C4A978BFC0EE968C39ABA00889BC5149162C2B54483D44FD3B
+5CFF41F611C7E03B94945F414560E874D7CF27FFD0630890D7D7EA66CBD15448
+229059E1C436BB33D69552B5367AB5D53591C4678D0C704DD3EA23F5D9E8A7AC
+17D003C19E333E726FFFA2961F33C70F429085F7BFE3E2510F59B78F58B19CB4
+01B48E184BAD9020FECCE3AF52048A056981DAEA02AE78197E65855DDB170616
+F54278395D9EA50DC83761AE759F9CDEF9E1948E7002414FC05286ED793E6662
+3347F2A9AF8917493D7305B92CF93E8E9185F70015F5594084298A6C2F9FD3C0
+689F262AC9FEDC9B89577ECDE92F08D3142209FBCE7B5C0A840CC767BCA56C20
+4E4E545E2BE4D21C53855CEE4CD0AB35D1A604C0FFFF77DBAE4289752276559F
+A05FEE65F45ECAF44E95E23FAB6052195C7948AF0B1126482D4E02D72BF8AB03
+DE0F1A632F7672AD9DDE70EDC82AA993678A82BEAD0BC2649C4707FD8509810D
+364B5C6FE0E10772E95288C622C2F06C634F4DF8C7FD1432BC9310D5F24FEE3F
+7AB324863D6DABAA1576E70643CA79EF4D7DF4105093D66CEE0F3B87D2164A7F
+26EA05F5C4645B22D3E1BFD2219657712C168FD90DE801FB0F32759E80DEC1E1
+43CEEB19FED12D757205043FC98FEC62D6A8D8B97BC083B4A0E985AF7850D6FD
+8716B9957C1C35A0675BC53DF672C425C79F43FDABAEE7D63F092CF271C9A9D7
+C41F40C4189510987887942E60A412B3EEC84C9A6E1AC7D54D528F5604B72C08
+94B7882621A5BF1F325B92FF96B80878CC550D1AE4D8196E41CB1251856609A5
+C4D3BD05A922D0D45E039D9450DEF8490A3E924E41434194910BF60BA1B08BE1
+B41824345627745541A4F1703E956328F6227D11C74946B38CFB096139979E56
+4E723B889B44C6D78673868C89912F8B4F0B4B485F1587A637B630F92E6072D5
+7F3B44EA6FD96BBD4FC28A6C1D90805E3BE3E42A7BC9C880762966C55BC04E01
+204D083AE976FAE6F37C94F27E68F8C0F28D52B17F6C0FD7C9150701FD78F8CE
+B8E8DC9260E3974005EB5CA728171F482D765016C94D4ADFE4A42EF42212BC56
+7E4EEEE8B0D2A7856CD4E44F55C0BAB762F92CB8D64C17022D4BF3A47C12F5E6
+279FC23101FEE93753653CE8CEDC3B75C9CCB29BF1D4554C6120DE8EE750FCBB
+E38B5D915206974962E320362E59B3F21B3AB1875703191043D03284D4467346
+CFF2F98CEB4845B73ED8E003E0DC94251B73E13A9B51A3F1430BCF6A21EB9B7A
+65E17FA411F53BE6432F1506232B8159E008FA257F884A4A01AC53BE91754D78
+BF14A5B0FBFB9C31BF4908355F8A762052968DF526D118708CCB0B7CB5BEE285
+6DAB6CD2E3934178E60BECB11AAB5478623CF6C50C92F8BB5D1A583609028FA7
+B8A53B791BDC9EF76A124F3F7641857E4BEA0837CB36176EC9A522EA7F41B8D3
+63C37D1145367BD300F17B54522A834BBB74DE12BF9EB26ACE6F24A046D58F89
+4D4B7DF74875F1A0C1C9D97BE0849593D7B398EB4B00BEBC8C8D1497B6EF831A
+A35380FFB7F1AFA4D888AA52C9482E8B1755CC209905F98F40D95B44D4DCBCB6
+67423D1BC2F3560FF0A8B4F0CAC352A4EE2C1D946E45AAEC8A6AD40303F3382C
+DF0756BFA3B1ED64C169E56ED1C760F2FF0E24DC5C9F41306EF8D2628153D30A
+5DCB0791126BEFD4947D7EF08301FE015F2B0008DFFCBF9F2D4D859FD43EC7D9
+C5BE237E9BF6665B7B1BEBB362F0C0C3A8D86010B9C97FA741C97C2E0513386C
+9C26C235B14DD2A58BFDAC7B5F63DB4DA6D5D37D0098175A9071590E1DF66A3D
+B8173A047C29D7D35557F06132CC920B5460B8AFC11D23D09A4E45D089F5EB51
+963FA1A6256E359D485107FD143B2BF21FDE9DA5744BC2615E86C31C89470CF0
+D06C6397D9FCCB316EA9989430240759D2C4945D941F159FC02327F34B042BAB
+B5C3A47C78E8C1A6FBCD396B1A51CC4B020B8AD401841EDABACECDB482D6EC5B
+72D2BFEB4556720FADD49D07307C8B22ACB7E310CA4151A85C71EEF70E8D15DE
+B3B00F26E0E166C14647A65ADA228A3D1C89025BE059306565DB1B1EFC37D358
+8C1EB024254AFD049BA977BD4C2C605050E17940A89D0D4C5D963E792320F5DB
+3706682E03D25D9E02487247819551465092CC22B6B56E93F3AB528038FEC3F0
+668F866707A19B0463BE706EC729D2EE1653AAC7E29BD25BFB3241D4792F5152
+ED415B4E7FA92C2EE5A22E27E8B75542C492E56D811C192E95542A6FE0BFE5A5
+69273C2ABED4300D491B92D2AECDD278404CB84B1BB1BD7AFEC858215837D118
+C0E928BE7E07CFEEB51A6D21375B772B8248C994564014015232A0DA4BEA1754
+3274F407FED0837A236371F1A32056240F2015B1E7F4B2CA72C6B58610A66F13
+407CFFBA5E0A2893C1F572D50F51286E9133B5A84239C9493B0574E77D281D01
+11D00683354A000C9700EAFBC1FD104EA19DFCB87470190E7E2CE26E3A6FD0FF
+2620B87B82AC8686B6206B530F17E9348BC7D04B948348802CE53A312443DB87
+4DBBA5313A6A2A8DAB8A1CC9A594FF8C299281C0A261C8CB2226B732FBEEDE40
+2C6ACC74A1A61379E2E1CD5548CD908268A32FA83D8504C442EA0E183ADBF7FF
+9FD09C037AB03516ECCA93FF048235BD11A25DB07F164512A079C5392AC7F889
+CE96AE5C8D9580BCAFCC087C35E76EED1A671E87C12E3045E15A687134736DF8
+DA984772AFD189D68571A2ED7256F1E204230E41D3D9DD876F938951714A3973
+0CA9310489F8E807C1C7A4E51AEA5BC030610A5D7263FF7E0F9FDE3E5E37A362
+5B919000BD94D978583B942EB79CF2BEAC33FEBC9A67272EB10865BA8FB75FD7
+9D280AB59F91B96C16C982DE848D76D8FA8620DFD7C80B7DEAE7264350D6FB3A
+EF04794DA3305844A7CF718F6D1A4A3AFF6826173A076A1372ABFC54ED3AC6C2
+09C9287FC830556CA694E21CA5342ECA7B10C90AFC4783D841D7B1E34FA3DB7A
+2B706F3E21B0FBAB23E7257962FC3BC309CEA2C7239A9D6B44CC96825115ABD2
+AF9A2566D2F3382C01569FBDB94C8D664A5DA0F7DC3DD140CA77C743D7BC1420
+324ECF9E4780280EB119885E96A6C619CE3C0C8E1E264E2DEB137E5DC8149786
+486D65667ECF47B1A1E20E9E6E4FC8323E0BC8E61BDD3BCDFC6575C69C03E31A
+EFFC290472CBBD049DE3F840AEE37A2486034240F80E75D8A79E0762377DF660
+52B12EAA16D678990B11A9BFBC03C1D4FCDA9FD4FFBB3E88352438102F10B7C5
+9F04C013B6575B5E948FAB58EA691984A0E54E6B9F3F505FFFEF74D06FA1CDF3
+4B8A95904C8A2763AA8AF5B71D00F5DE09DC1CDF87A08B6D181453063E14C12D
+B7BB3775A6E2A901636273D9EEB833EA8CF20FD83AE899E28DADE10EEEC20BD7
+BD93085A4B1AC80AC1AE8280C14767F1A487BD066007A0D050317BD081131A14
+6EA0898ED59E46DA7B6254BDCCBC660686E2EDA0E77A705A653733BB5C5497D0
+B130359F866CF293FB6EF0C2AC5BAA2DB0DED045E2DED3A2612D078333260359
+16CF0CCB272D34767EA069E0F0B0D42327A18529D72E890EDA6195C2688438ED
+E9ACDBEED41E81CA8EB5E43C2B09CE266EFCA03F2D7FF57F12B06F9E54FCC6A6
+546676F6FFC5B8B7D3F0982B6FF0D21D949309F0C0B175CC1D0976F8C55C6AED
+6E821C39041E22D91AB30922F2B2EC2746BC7DAB484991542FBC82D87B487507
+559AB466F73EE23C2D3194DC5CE4C9AE66D3164613AC5CBB3DB501B64DA7C91B
+C7ED2EE9027FC0906820B35D4F2CF66C4F9CE4A884B7C07155BCA884ECA5EB3A
+ABB83F84DB1F5639599DC7D3F51241AB5D95C3BCB7AB1EC90B4BC989F74FB354
+04B2D7366A34D335A47B8C00C05CB423482BF6C7970A95545424A08AFF9A035B
+7F83F52B65A9799CE76E303B85664B624C65E9CA58184C7BE2BB9D9C86A4DE5A
+8165EE3DA2E652B5022EE7893896BABD88931DE1D538F615787645DF5ACBBA0B
+A8E5B899A37321AA7D4B283AC9234978C2DD81813A1EE5DB6EC170DAC1B6EF02
+94892635B498765C07A38D2E9DB0B7581B11056C28278F89B0E60998379C07EB
+C0EAEDC32AA69B8B836F92A61AFD35688315B2C3F860632FC13E4BDFB63214BC
+41CC6859EAB3AC3034449213CAB99FA1D216563419CD6D6CE4E1B56F33E6C654
+7AA9DCB5B05FC068DF02AC32408C8010AD004F6CCA9887830927F8CBCD49CDB5
+18CAC1EAFF815FF2F6F527F936948201565003022C6C7390B4E3C2B219FB4F76
+9F12BD25CA7B3B61D1A2F8DFEE795D04D5428B42FB66E0C254AF7B7A10CEF7FD
+E5ADA5E217BE24851180E9A1700FBA66C7D2B0D7BFDE4F4EED1D24B821A40947
+5620363657F6D048E651A689822CF815E72FC8AE9D835BE31D1DD8B54C9A717F
+4DC319B4B59AE073936EA40B070524C7E71D5A7B64436DA107749746B516E29F
+E3BBCB8F8C473E706670E11E5B221716F315FF097CD1841D0069FA69EA1898FF
+9F9EC2518C77806A19730C97F54BEAD604548D553D4A6EDB247853225E24E7E9
+89D71F6BC94DB986467E755CCC99069B313F5745B02B4BB608A39F0A0A732B87
+7EA2DED68219754BF1FBCA350327572D769C962EF9242132D93A5C8E9725D8D3
+AAAEC15ED0F43F9A1290E91C463895BD12E8A831DAD661EF23CB9AD2C26CFB26
+71B72D15270CD8CB1D59CA2D9DE884C96BB923B1EC8208BD7DCEAB0FC2293629
+2AA1F72C6B470701C381E335C2364CFCEBACDD20CA36182CA7E70AFF5B14B02B
+75CBD0738E35DAD8E60CB3DA4DDED557FF9ED386DA52D10615E700751C842FBC
+85D89C0E713F556814E051C6CEFE7E83C2F379B88A801DDA565BE73013DD56D9
+44D97798564787AE6D5A6A9FB777EEB850C7481B4A353EB9279731512C9B95D3
+2ACA3A0D44585E55AFD968135F6492A9381FA2D126CF50373AB7D47B509AE6F5
+C4B100BE8334ABE2268DAFB7983BF339540A8D8280F3576CDCD4F21408AA7D92
+BBB218043ADCAB60ADF6385516C2A5A9BFC5C3845124E0954EC5C627FA7C65AE
+AC1A283A5A9670ED2A2073826941E9AAD904A05CDB5B692AF725B6B9102574E2
+461D2FAE65B7321C0093A2A34996C214331F7A91B4F74898E2FAD14576F81B1D
+688DD9ADCABD51FF07C966B61B0118F09E24354A9F75277B03026CA1C783CF92
+76255E2A560768B3A8764F0BBACFC2BCEBF870EC12EF096A2BE42692EA401E2A
+3A12BA99AA66F8BEC315412BA9A17E6574742A624447122C877F80740924F346
+0E22CA288DC767537CFC7236CB28E31AC2C563B89563D0A57F798CB843680E9A
+26A03BAD01DA05792528BDD89944986C15BEF8D3E84C08B3CFD68AD25993B6A3
+903A215F9BAE352E428CA0E862EBFCED059D65F3C47D22B2B8E48E97507E8399
+AD4FC0BE438049A369F1C68E0430642B5CA02080DD55A96E34ACFAC469B18732
+655CE5C09F9E499346B2E0DB6FCD5D64384C2F529685F91BFAED8E85CD5704A2
+54E457F74B77B97BC47EBB0F292F8B9839D248B20DFA40ED6AC6C136A7451F9E
+57FE699CD9F0CABE94AA602DD5F17214F05886AD032731EDA504B76A19DCB8C5
+02B38C86D8D507AC17AA803E5A22632DD205AF07F8AE35EE4129EB0B37E20231
+463C95CD9943F718E9635F8765BC693AA01D8B18E0318D56BE2225A82EAE9027
+257F2186CF716C6853EC7389FDC1874319631E4C662C9C68868890B42D93A44F
+4F90FF43CABCCE04E27E3D9DABF95CE121CA4B3389E3FAA8AD725CFCC84AA3BB
+820A654E2172ADDF88F7AAE1EB3E34869AD5A9FEE87CB3C125AE6CC4F723DA9E
+6E7040E6A0131184185A428C37E133A909D6CBEA24B0C9920CC4A8F933F7D7E7
+1505B73C16EAE85FFBAD53C403EC4BCD0B75DF8008633BCACB1FF8C6275B0025
+F5169291029FE697BD123AA4EF021B951DAEE133E2A1C17F6B89FAC0D0D8829B
+994386AF7574278AAE385AD7B587A7E8E59EF92E6CC1D2BC815E17AC56D1946A
+608EA2655E2E2A8DCCBE54353F36F4E774CF776840DD148024FB210E217E0852
+031A7D7F36BF1B708F787EDD1CAA6A64AF0E4738E5785A13DDAEAD02B13FBD8E
+CAD50825E0805A6B7C6A9B3D9363DEE1FF11AD7311DE1E29EECC0B3B592C4E22
+637826FEE4F51D273ED865B89F6E1A6A781D86A0C662DA545F41320F1BC615E4
+2A6E79BAA8C8D4127BA30637E2548D045FDFCB7879A80950B920717296570932
+E1456B873972DE35878B25BE36FD03D80D7F0FAF3C270451B5A9923E57A4F551
+67FE8A2F947030413B8C42BDC2E33ABEAC4132883FC9107AD8C633ECBC2EC7B5
+5F467F12BB61BF99669E3449EAADC717918F45CF83D8C5A955A34E87ADED2BFF
+B3A4972640A8BDB9A8A3593C10F20A118BA6B85CA52B36DF9185814B65B339B6
+79F5830E4BDCCF6D32E9BB5B03E860B59A297D7DCF797C8F18CC0644CFED52DD
+450B0D34EBA62E99CBD1AC1A0CB1E7BB27C347E379817760012E134F225CB1B8
+A2C0F7339B45431179AB4CC2F2E6B107A0F419AF8DD2D9B46E1F8C42A3D70C7D
+DABE98B213EA221F1129ABDB9B85AD5549133EF4D6C4D74EB5448642FC41D20E
+9994A1F6C35E1C0A7E812419A59B5310567A38E88190011E19389EC52BABD91F
+477B06FE855C45A924199B057DAE78F8DE0451BE2D39031BCFA0FC4F604F7F00
+EC0A18AF6E0C71CB53D01ACFCABB35BD34693C21BD24037CA7A96E3C66FB6A93
+CD041D9A34FC79121E46873EDDD6D5EE7953B988399A6C9857B8186BCF91C21D
+63B69BF99C8690A400D1CA2FE0E78ED83CB3D71908740B1CAEF5127D119986C6
+0E8474360DD1D3A7ECF49D9E6EC014E952660E9E16109F9CC8170475C298C715
+49E86B585CBD2B71DFAA94111B892DCA762BCE71DA37C609A831C2C5739F4629
+05B1C1244304606C26777E858635C1A842070CF69B7333D58873663239C9397C
+79645EE1471EB95D5ADDF0821009F5686D8E1027A7D7B9990F04DF98ADD8468A
+EF74790EA23BF76211CD865F328F54DBBEF0181E9379C2A199464C4E1550F7B9
+6BD586A956F89B8C0E91891321A1DDDC6B39335C85E12121AC8CBABF042A6A15
+7BBCC127E2E2011181E9DAA9C0E01D0F11FE571BD75E0493A03EF1D6982AC51B
+003A4D5A6099CFD9D88FAC3D958013F8DE7F22E7FB13ED50BD3F26AA67B8FC1B
+1350787B084ABDB846B808969D529740949C437A7DDFFD4C18A858C2ED18D068
+E2C6C21E7D2A1403C4ACB7DE2DFA80E34A90B12646B3A5FECF77538CE55BF99A
+E121F495A9135BFF73C1A531D5F9AE0D448ECAC997FB83DD9C099B73ACAAF2F2
+9B7AFB6D1710CB6E2D3C5E05D7A90B5BBF36845CD641E85C4F6D5103FD92791C
+A43F0AE5BE4ADCCE414B562824672DCBCBEBF7F69B2C513EDA46C9AAF35264F5
+A590CE01ABC8EFFD9B0B6F1AA6DAE282D69E25CB2C0BB3B039CABA8FBA79D946
+765AAD67418EBCC961ED8FF9D514EB7A5042D9D52A210969CF48AF899CF2272E
+5D4A4C2001B71D52D3E83FFC086397EABA35C15A5B0610214F0A6CBAB285A0B9
+DA9475D34528238F3697113D936DA8B01806128E41A91EE43C4EC19A0D63112D
+71A72A8ABCF89071C9EB5BEBD2166E7CAE33C7522AA1AB43F5D26BB072F2540E
+9612D605E39346DF44036D0E11020AF2C67BDE0D385104C7C0839389DF2DE45C
+75BA94A27BD08AED6F66E7C536F6759ACC4C6FBF1E3B70E1A00E87EDA4C7B9E7
+AA036CD174EAB0F5CBE249C234AC0A313FF090EC82E0BF9FBF432EF46FEE4E36
+2E91A4B5F518445A66CE1C1B433FFE0DFA8F2BC135B4DEB7D540E46CD2824DDD
+A8CF5C7004C2A603DE8D88BC029D03BCECD2516B26D8C8D2A4F3F90F622382CC
+9ABB385D300EAA72C74E18A9670D2576675EA38B6FB6CE8134B888F972723266
+4259182202DB21A73395BCA830DFEC0A2252A1F976B7A48101ECA141ACD68FCF
+7E1E3791E910896957AE263EC2EBA316F10AFE92048510BFB0D09B560FF43A19
+CA43E66167AA9A49D8948ED4D54325986EE678833815E2F744AF97D7C02586ED
+B98FBE60B6F7491BCC891E8688AA96B495873B270AA3E60391407D31B5C62854
+B3D276E1EF1B97C67A3A2A384C92029F3941F8768E3FBBEFF11615453BCB4D3A
+C46CE7AA1C6AEC94CBD224C35F11523178F724DB01EC7E67FCB37C0796597233
+D90A21249238E0092A1708B1A968EB32FFE46340DC10B9EC7590C31F3DA4CB96
+A4B4D3F47AC0B592C30DB09B415495635BDFF798B9CFBA71FFB5F4FCFB4ED010
+74C776108CF5F166883E54D1FDBD0316F104DC95DDBD1FA5CC26D439A9687BD9
+F33D19327646851E976E986092C6850FC3B010EE523352299DA2A2209688963B
+35C3521EBE7C5497413D4BD74244CAA8BAE0E25601F2EDE3CF3F028E00965DEF
+CCE3E144F053F55B75BDE37DFB709A424799F8DF33D9271E20F0913AEB920AC0
+3641019D7735DE32DC8120E63045002D044B71370D2195B07457A646A203D58B
+74C3A4A0927374A0D87992244FDD432B79605E1591E19AD0E79B616787F348A0
+66401EAA31ABFC926F03982C54D7D03E02278C3CDF154D1DCA305FD1D602269C
+73C8B107D49B98E5E0C823066636932D3B9A492B777A5246BACE613DBC2CA3C0
+30354B824DB613D561C49C85A31472E074183D3427FCA4CB60FBD2CF9261DCA3
+EEED67EC08D704A5C76187E8FE00747407A1C3C0D2CD37814E058AC017CA546F
+6C4C6B34EEA836994665A4E41C750E53E61A74BE0CF33EF1B7F5B2138AF50A52
+AE4A7EAA8D51402EF8AD97296C73BD7041D048AB23E6A8DC8F1FB53400CF2CEB
+91C815998B9080882620469AC4D0251F21FF313C69074164C253326CCDDFC28F
+B32AC6A369680233B5F65CD966D4A24C782DDC09305942D9D5334058573A75B7
+2F5BB465941B59D8ECFC37031A9DE46A8FA9ECE13E0D01EB0532153D5C6216D9
+C9F43ACAD6C5DAF01B737E30BF4312B139CCEF00722ACDA099D2E3B026BB1896
+3A81D696FB4E01A4F028DC5EF2E073BD163C11B1D33DA05721E17313490F4CDE
+233ED8AC7E69264270AF05EE7FD59641A99D3529DD3B8224D77F85FE0C0FA84E
+5982631047678177BDB1EC93DF74839B0D2B28C3EC7D6505E47D6E76BD5C9CC6
+EC08DB9DEC5670442C353BFF38589785CF58BD802870D89C85F9ED422C5FDE3D
+C0FF5DAD20F71DE5A8EA592AA84FB05F2673F4CA1A38DC169CC6B40412A7F5CD
+26A041E7FD808475B0E9F612EC00075FA5D1419F9A6EE0D3DEF420127F7C3C3B
+405D04931471FE89F97A171C4E8118331723BB811D3E9C54875B2146E9555BE7
+87A8BA43CB32D81E9A0328E93EC7C5D9F10B663B4A29EFCF6A0C6CC0E315A83B
+AB96B42A9792F731C249271CC9FB13F198D4B2A61465C958D38C79FC41348ED9
+C56652892C0BD2965A1F5B6132C363163D1F60CF7601DEE167F5F2576189EA61
+289B87371E8089D21977D5E9611F4BE039132A78B7F60C1B896AE1214578E550
+75B781E183F46FADAA2D1C235B021121ABE6D0F3F07AB62D3E9AA5858D29458C
+9FD93DAA342F7EE545CC302E87B5781993A3571B347735CF8743EEE9BA042D9E
+09F44EE4854F5312AC651BB7042A1DEB52F28334EDA5BE5A647C3C98BCB9E123
+B8520BCACCEC7E44C1B460FF152DADAD834A4337A4F3ABD7BD597B4547380FAA
+E6D63A5452671713BCC9475BD6D9DF05E57E2CFA6521C575FEED4BDDF41F3DCD
+EF0A62D30B5D646E907407F6671708D2E93CB86E2E14E7A13680158B6369888E
+623215498F8810A77688D932305700C0BAF6F531D0AF48CC858945C7AC4D2155
+BACEA3DF2351DCA1E675A9164BD9E45715F46574FC956197B0DD7B3689184396
+DA726793683C16CE628F19377CBDCA9497951EC5A5380DABFF783CA37491E90F
+E85599447DEA5FB3CB6C2EC95CBFFF9AD28992870613722CF009287F2618A354
+56A0137B99EE21355A7A2950955D1483F5FEBD36CECB32C41E234840D6B3E15B
+2B858BC442594669827B752E4F0C4C21E3120615A67A445EA6BB8E192215EFE5
+B63E669303FD91D72612DC32427AEB32AD1F48CFA187C7D08E41191C9CBB1DE7
+0DAB1289079E84AAC599CAF4692EC27C297C2F419D579A5B46B0EF83532AC9D6
+854D8CA02890BA2948B126BB018E2FBEB9E96F3B52EC41A7776C5A35140F3893
+EFF849FEA4963554D300193E89B3879BA0011B35EB850B78D70E85B5BF8C2C22
+762B35F4478601FC3AB06413D6C26AD26D57934033B1AFF5245946F87B6D8307
+B0BB18EB1C848C6F6C82D5AB21E42F25506C090F9B89CE5047476F2034FEEC96
+E6C1847416A0543775F266E73D534E7773871FFAAF646D62315F5E3A47D09445
+B18516E452AE332560A1793F80D9F65CF464223A9740A7291F8314EA87FC11EC
+E41D489A1C263A0B11C7D838FBD8C8E13DFA6F3CB88C163DD95749AEF53B2C52
+18A0D7E64AA1ED89A7B7BFBE653CF5B287636A94809540D7197900BE39D18C7C
+D060BEC1843ADBDBD5AB1F8DA35720A7D4133C14C19C81BDA35BECD81AEBB4CA
+E45903E6D944386B92F56165F27CAF7B20F3440AE425E167D2CC79CD5307D190
+8F288BE070103DB7B3C506BA455A223744CBB0D921B270DA922287758A6D3912
+E32CF5EE0121CCBAB5DA252B4BABEF2C61908A21E2BA209750ABD4269034FF0F
+3980002CF653AA398268E8E2560D32C090E3F6D90B77A87C08D82444D0AE000E
+8CC562C0773B8E0AD16B9B82D177B6ACC21E91EA84CC8AE62F63EFF6D632F30C
+27CA5B9A3E6EA20CC7BE934007F73B056E4CBB6041935806ADC46D9AC3AB7AD1
+15041F513191DAC59745AFB67A821BF400F4C41EF7E1D056016248BA883E89B6
+260C62AB9F70090D04D91DBCF3D315C9E13DC7141AE73174E152632252F22CFD
+DDA96F8B25840BF6C1FDEB6EAE57E6DDC58399EE8540614F2862475E273DA1E1
+CAE15E7F9AF4C9A74A66BEC3854BEB1196A3E94E53E2C6BBD98C291719E53030
+BBA9CBB1FAAE31389D324A0B00B9CB380694149D74EEA7186C27A87CE961E0DD
+15B5D3C1E452E1E22AE11250737C5215D5F187B7739A5EAC13BDD829D1081131
+AE6CBA39DA326A846711E5E33E9B31B082A6A7A7AECDC771B8F2380073A20803
+4B14B7777705CA83AC0ECCA867C89FA4B2B654BC5EF0654DA81DE1D9B03729B8
+0CB0873477B739476D4A23A81EFC63260FA461611960F689B94EE9C44982552B
+02D710A283E84A67102B57B53942435D22F798F5B4F164CA3B17C20B9D94BE97
+3BBF2D7C7220CC6D41C71E83A013104F5AA9F7E1353D115B622B5F5EFA95296A
+0C97FD912206C8C7C467286A685F713FE527D94B04426DF78DD44A19DB94A158
+5F66F8D1A93152E465827884CF5693C5B69C7AD7A104AB1A27FD74784F0378B1
+2AA00C7B04FC5D788F0BA82C81DEC0CACE755181DF72E231D46B8E5A97C88681
+0CD9F476FAD370FBB2668E48B31D55BB964A078D40ADA170A17263C32E35E40C
+9C27F31BB31ACFA06261583D4224689D53B61A56E252F0A936BB747E0167EB64
+18AF31F967DE4878F3B4B354A43F8A32B703424E9614F26D67F1D3B2BAC82C30
+C25830F63614D85B362E0EDB01A2D46D8C16D6D154116EAA6310644BE814FCC1
+E5594C05D6A7485F7433176651F1B8329AA5334CA26B3501654E770B3C00176B
+4E34B6AB7502B668369F81BABAA8C34ACDF5C02D3A7B72A972D5F3631D12B3D8
+04F5309F74D52FE491ADF7B0FD4C79D452478F055A5A7AED37B374190331C1E9
+32795E40596E940DA034BF1BD6181A2E7D84DF61B4D1B72FDD793C064693DBE5
+8152EEE1752C8B38F1A0AEB2089389CB7BF2C353334A805204DA8496B5344059
+E30CD43DF34C5BD40FE52D9D90E2713F0CA5E0231E06423B6F62688EBA17C137
+5C2DC50BECE8AE23D030FF1D8371DCCF73F1F8BA83B6FAF26FA8F675967EAF0F
+4AB529600B0A1781FCDFBAAB30F9DD313E834EDFFB1F64512C1FE701098F77CD
+8686F7BFA53730CD3BE819315492E77E135677EF09CC71B1A4DFFB8A491FA2C9
+052783A8FE7BD599F8B1D47B3E440C6CD94DF036BB823110AF7F7EA4A09BCCCC
+B8093EECF3C734294704EC67269E3FE3E59DC6DD39DD5D0BED8080B2197BEED9
+E164ED36CC893993A6484414DE23A4F59E4323C3E04C15A992BD7256F98F8113
+2E3BE53E4F79C03BF22B934B64B7153E5EC55F0FED4E80940A1DF5ADFA515426
+38A87F84FBBF73C0CA39C0FA920D784CB39E0A482868B102C93D68BF7D2321F7
+3DF74F937A890A342025958C696919E885BEC8BD87889ECEC76D739460DFC5D6
+357FEB46D7393341A4C50D4E99075883343516D912BEEE2C390F1536F13B2CED
+965D302CAE3245F40EB6241068A36D0A63724AA3F8D618C4AB110D2E40B33CE4
+918962E7D2C367D69C4B930C8D486C3A17EEBCA33BC20DE3EB505CF188091216
+14BD6620BDB1CF205DF5CBEAE4830A480E1F616E14D022C92034E628848A1B17
+8646CA6CAD8A94292781DA0754C4A117678089E04DEFF6BF2A3942656EEFDD0D
+E1E47F92E822BD83FB9C492B67137C4D01FCEC010A2019680A7B179FDB772223
+932862E227D0B25249B5D5DA3CC1EA8C07BD0F89D723D2853D6ED3A2A504712E
+53550F30F9CB9E587C16AF687A0F5F8D444C2AAAA08D270BAD2CF27F14B6A918
+3803B204EE11FD092415B90633E98F3F73BA7BD790F084E337ABB96B056B3F24
+6F061F9AF1C33D69FF08CD41000B9C8F592615E8AB55A05C9E68B7EE0B47644B
+35239B81663A5E6A21848E7AEF7AE5FB1523DCA5496C277190FC32E4020AE860
+B797EB58B8FC4ECFAF926B627FCCE7879FBDDDA998AEE234052AB98B6AEE3859
+5CE50666C056B32A85DA0CEB5190B246B52A27E8F499989B384B6B0DDFDA82F9
+48E0E8A7B3F1EEE51D66A0E2F6EDEF3D0E095446BA683851D0B89120918EF4E9
+E5BAE8ABF8D0ED16BECC8A14AE5BAA50A6507512690D2DF6A339B703BE33D035
+794EFE575ED176256C9CE036213A7D85ABE09D942F1A81D574E8CF5A5F289528
+E630680B44CFD4379E15E6F8E10373AF66786767FA3BA060C0A60B6A6BD7DFB6
+FBFFA93BB13F75B1148751D1EBEB4FEBBC4E5AB6CED0373EBB31819A3412E544
+FFBB67EF665BFC7E09D4FFC65DF77538E2515C68DA5228107A5250C4E586391E
+9F12EEF67ED37562D402E5539504F49435C6A8FC38D3E69325DF1C381CA3B18B
+4BE3185DF2B0C95C1078F1A1BF01C5E6294A15F56874D348792FF90E5C150C18
+BCA828B1059444B2EB9714779F128F503606AAC7E1BC04EBD0CD799D8DE68E68
+5A26855C559F20576740910AC79CD410EDFDECCAAB44DB171DB6CDB0FCAE2978
+3E078B7C99DE96543C338F2040C8483C8FAE98C21B7E8DD17C48082912B2A04C
+580E9B9EB6784848C00BB1EAB3C6C08819B80E0F227EC8F4230EAAEAE8E95809
+392E23E62D96F7F7024C75B312709B8F2ABE6BB23F57B5C52F41C934AC395EE4
+DE5D574D44CDBAFE76C414AB9A57A5FB6B8B9652CA2FE6C2A8F9ED3B0F63C84A
+E13640A6EE2A32B2950F54B61EEDF443C3A5EC2A3748249DD2FA0426622BBD13
+7B7F3A5E2C5CDC2F41C57A110705EFC67D28D26DD05FF4A75EB51AAD244F8CA2
+04D4D6C2B97770B1CB1A31780BE0E2DB62B8E22CE7E8FBDC0D99AD3EAD3C9BC8
+F6A1E01EA13DF95F15051F28909650EDD5CF2A39DFFE7BC67B814C3EC266F53E
+D8298B663E2E98E96B18EC7AC95CBF828E195AD9C2A816921E0DED82A9D002C1
+DF25A3AD7DB63C076A64C40344350397869C01E70CDC0110EECE0C4A0CFB86ED
+99892DEC28F4357C165569373DE0E518D7A6270E9BECD50BE18528261984E026
+37E83516546DAF23579C03FF778DF6A5953B3229E46EAE38049EEC99AFCEF595
+1305A40F82391CFF8DC915EA884B8F24386DED2DC26C28A403BB6D84417A38E0
+BA9DCC37764F44E80B38439E12C85CAE8CD62C2672D74CA554FD16982CBBAA62
+F05AC754DA56C395B64F66E609DAB1E7B869F293CAB2F8431A91315B81A8BDE6
+7F564A054443472B8900FC9A096ABB404C016D2BBBBF08F538376EB6761375E4
+690280C2A65AF639E6F884B0C6A98BE4D4F3241B29D6D90505B8C5458DC5DAF2
+B71D37D3BF0E6B0C5982FD145FA7B1DEB84BA31F9CEEFF193E098AA125E63B22
+037AC5F33A40740C97D869E9DE483E26EE6CC605D6D37C62C3EC5E2D70731B7C
+1C1A810FCE38719CBF746B19A6B6407A82A5CA6CDE5579F331BD6D214600103F
+2CB1DB5E4EA115A2B7FDBD4AD3711F76F0AF388A9C0842492692C9FF85311A99
+2438A7BAB685F0B2D595356DF8900149D3DA7CA2B07D5CC1137196FD6DCEA0DF
+9ED738DC0E4EBCD7E89B19CF453B751ACB6EF68623036CBF47D49012E2D05F0C
+C4133842495E939E3825F22804B6D40525DB77FACCFCD9686E19E8280B1B0FE9
+97C741F3E31E8343F77A96D73680AC7D15FBEC9FCBDAC770C7074ECF9B9E27C2
+A57CF6FADFE0A853E39C904FBA7E72A361726B359962FA59D3BD0239821E3334
+E2A244E66440804188355C2F92C5B096FF20A9AAB29ECC193557ABE31C9AA46E
+A964F52EE49BF794083FAAB661F1A114A83550DE9DAEC62AC24BFE480AF01107
+E7C0E1D17955049D48A4C82485E0AAED3855106DFFCC1EDDECB1F002E8C1BA6C
+84628613FBAB88D412B456EA77B3ECC04F8F689086BB7F43F4CEEE2AAE3444F4
+63C292726DDA4CAF38788B1293A733B4FF579B43C3C82739B7A12346B442CEAA
+DF67303018171991C7702B4319DD83367635BA74A5233BA0487820F95E037B1B
+DBA168CB85403096205F625E8E4BF3143CE998121A2022429B5F314508328199
+60364E00D907D1F8F0D81F4896F6611F85AC2C2538E4158477ABA1B2C26DCEC4
+75517A0A2400D35FB2D63518E33F23C5A4F7210D38AEB82542BFB6EB7E06BE80
+EA27362B337D53F340B0ABB809CB20EEC536B9CBD9399D9B603C94509A050D31
+A685B29F16F3F2ED4D8E715E1CB28F0E4D2897F7C1DD466AF64590F4AAAEB337
+2E4154FCFBB5F5044D046811B66F16C2887F3220802589B3A6FD9819CE72307E
+63EB146B4B76F24403DEA09456D8613A8236057D1B0FC6B0615DB595EE64FE13
+22533431344B59D93BC85B572041C47FA26FAFD56023EEDCA2BD827E2AED7D25
+BCA2547A6DDA7799741699E5B55C5F9D900FF10C9F9837A9636A47208122D144
+B6EDBE1849A0FF8764066A277F9AC4F670657B2297FD202AB52A0DEE3F42C3F8
+22D060E7E12B68655E7BE0FD98C8F9D9EA2BF6FFE8D56EBD3A475201BE41FD57
+CB378D548E0F60C1B39DFA6FDAC87144701477B9D5D95C8F8221684CD1CF8410
+8765B9E53345A7B4EB6D93A246F0AC92F2DFCA5608EB92B3D623DBC69899BB7C
+20175C86EE09D92D2283CE74597B93E684111F97313C2CC1E607C1EE5D387200
+A16A545C4207CB5A0853FFAAB66363A505D13F9455734A2E4AE72FCE46AD4953
+60EB6D986792CF5865BEEBDD9628CD910E6305B9E537910C36FD2A4EFC35BD7D
+75C8B2A3544FE04DE229A9F5613FBBF36AE361CDDAE57DE5C41AF3237DC67736
+B4DAFC0AFEA42CD956E6B9B53D3A013986B49FA8BFB1D8E179BFEB990C439CBD
+E183F7B34462E0EF3F3FAE54C37A50A64C0423C61DEEC1201B57989FAFB71310
+68921101D459C1E637092B31D2A9645742C236E019B65EB8CF51F0281F2AF327
+45A9CDFFB267301075930E104A86F481958E3A1A97FB52B606950F5A663C1072
+8B50D82DFE3CE783D1708C7BC1EE5429923889EF180BD52AE93C907B4DE30767
+27084C5815D99CAF65EB5B17DD0BD989FC77885BB82D0F58B7FFDB8556062D14
+F5B0E6B44C5467F1B0BFACF7D41B111DBF57A03D28FF4F7488AE938785F56C21
+84FFA937ADA59F1ABD0EF17D05D0076F444EC3BA12E2E135B0EC8D61458BBA60
+E44CD9AC676725D9E256A1A97C462E9685353FA83D1B12164DDF740D71DB4ACF
+E9647570736718BDA388244D96ED6F22ACA77316ACC455064A334049FE24CAC6
+A031EAC85CAA93DD1CDFBA587818820A1AF7459EE70422024A7111D902068F83
+9C9D431C6CF675FE99AD3DD83C941D86AA50DDC7A991FE7D7AC375142E1330C0
+8160D2D92096E90B00631E609E77A6B19542D3D8C62FDE9901533D876285031B
+EF6DF462373B595EDFFC36E585621DF391EA65F7DF3EF92E2CD268F9368CA91A
+46E040C184F9B9F4147F38CD0B55DAC9D5CBBDEA0F9A2E1627FB9D1BC8391553
+122154028E7E48BA9B29244C1674A8D3BACF50C70C8B2C2EA06CC77FFDC3BC37
+DD535985BA830172D0204028CCA20EC05F494E5EFB08A37584141C1222A4E214
+9B69F1647CED393857B574E3F16C128EEB36750E88191E381D44835FF636827F
+EAA630E13B47C2C93FF668CB1F17B9ADFB497AC91FA84C78DCBF083587330523
+811BD811CBD8E4FF4EB894C7396183087F8445A451BB8D5CF86515FFAC955548
+E7BCF576E064604DCF9E142244EEF7B5561BCCEF28AC11F6AF8154FAFB8A75D9
+F89BE523BAC02924C2099C316E331CFC39DF04B952067853692DD30CC84D3E53
+9E55253BABB9662EFDA1D26007A117082048F15E7C809035014C5E4B546CEC44
+C1F75A8FA429C7B567605F0F9C3A0ACB86C6AEB80D0EC6640EA518AEDC4ADE86
+CDF9DC9DF91A1523C0D3FD6B532D07B72AED86742DFFDE8BE485E5CE0141CF2E
+F7DD73E2F0E4C14CA03F06F1D11EF523F72AA7913710624D1BD536FAC0BD73F8
+C8B3E07C89D6AA0F28782D5FFF7E8BB3108485C51D0EFD13C7FCC532947843F3
+72AF0C42F480BB0CCA42B642F47D97BB14E2F183B5E14CFD14B774CF506A8684
+3E75715C44A5354A3D1C388DF88B5FF977BFB1EA0AFA6A9DB641DC86D3322E80
+18491B35AE50C3DA3923A0998BFCDDA0B23B226F2F7266D530EC8B9FA8A3FEAA
+54C6F30069F1F075F348B7207CC2A4D881F7268B79B064839320608126FF6A3D
+9AC1E4FA459094363A03D6B43AE53D2B5E6692F65BB35B2500EC243DF50CB14A
+8633DD76882E6883C19C7F06E1406DA82241BDB9F204C02BC2E7C5CA389FEFFF
+F842670BD9860530E7376108C089A67B07657932ED08098D84015360D1268865
+E92644B365827C0ED09A1B2043F297C603143D57477D8F1777370D9417B8CCAA
+A29B707D61A273589AA16C9D854173DD8F0A384393A1DDF2F3DFBAE60DBAC13C
+52FDDBB4521FB8AC6EAF0788ADD6414C1230E3A7F9426BB5CE7A755AC2D95987
+4FDC1248E830DF7388FC7D459DBD219126ED47366297FF1A54950572FDD07A44
+E9D6D28B569884E2E013C53EC0D36B6FBD675D62415B0C8B7F7E4387145F4F6B
+6706847CDCB928701934132B84A25577680B36F76B0FA9DF164524BA090D97AC
+65551A510C67ECF3258FB3BB2236439B2FA1AF55AB4AC70897E2F3B015D53344
+2E218ACC544D88860FCFEE30577A9AE910F3093E397117F79FF6949595B9FA23
+35FE83BB2D964310674BAF62144DC98A91EDADA24A85049B03B0F3D4FA9BC452
+B51FBD53F07BEBE5CB31A9A06CCE0D3C99B9575854CF9F5595B56A90863642BE
+F3CE7A131083215226F3748E0F427ADD3C952C8982357ACD7CD7B6F5F4E48FA6
+74C13E9154AC725E5AB161386FC2B2EB089064622CB4E96E5D55BCD90F5759F8
+AB42B5C0FCC592363C839F683348AEAA0A20A0DAF1FBD75AC1233833E1995272
+A3EC0DBC8E2DF182E44F9DEF9BC76804ED16305F8A431B757C0F5459C2C780AC
+3451C86C9650B6A1A6922EA91C9D57945796E6141347D1B66005EBCC3B0A327A
+90E16092E78B5F2D98632B99991AC4A127D4604914E113429635889965CE8B3A
+F587D96C71F213294DAB6560EF1913CABACDD05893531360C9FF47B42FB26349
+17685C52DC0255357CA502AB8AF4B6F56331F44DB16319D401AF8374F88A2619
+89FC1975C5AEAF11625F935B8A8D86FE7FA475AB8CEC2B023BDAB07D750E56D4
+6A73D5F985098AE8EE5A90E0B177E48F9D6B522B869DFAB57BCCAD899A3107F5
+66B70F9EED4C1A1B18BD1316034E69C4F6D2D71911577ED1E71C29277E208680
+FC5461C8F746A8CE09BB2A83ECD32F2F16E7FE65505CD5371461AAF620EA7AFB
+A5E6B75A94BAE9DF3A64737FE596D7DED0E5DC8DCF4C32844B999E057AB3BDDE
+B344F9931F57B59B61A29A88687F83B36056CCEDF294BF50E4EF9EF1301B8FF9
+09A6D0A9F82D0D1E077787BB1B8ECD8C90BAA891E7D8BE930E97F60F8D701E66
+7B9B3BE513063B2B8CF5404B22855BEFFED8C74D762B45A75F606AE16BA0A7AA
+B7947C9A55FC77A9A1A2B6EDC05DC5E056D5A2400E0CB20D28648B152E4E049C
+509D38C97550753CD8D47FE1AB02E6737913F8CEE99D40D075DE0C839BF4BCA2
+98413EB9AAE34AF3F7CCE9ED39E3421AA0F101BA284DAB29624EA761B70EB436
+D648FEF00EB1AC11ACE5054897BDE77E3371520032301CE52DB6B9E0393289B2
+0F38B51E7E459C4BC65102E834B12B905227B0E83828CC83A5106F702F0C7890
+10DD4AD72F4B46A107C222D38DE41A73F7E7CDD174EEB4E844160D80B8B30BB1
+D7D4048E5F4BC0A40C37B2512709447C377D29754F33C51EF8BEF48CDA91BB94
+0A3273D31BD51249577A2440919206A031F3685AEDC1DC219D81013BFF457A53
+0BC8844CA44E513FB470B59846AA40A4127955BABE057B586555F018C131166D
+11087267B05AC994CA6E4A120D7F4B83241550988CD20CCFC8AC30D4F7691BB8
+74776B791AA81CBAE360E47C9D3E1AE6CC53ACE31AA52AE615864906AE7DF80F
+806D1C1805D030209F38B908C179CE715FC3DE41E0DAE8EAE6021835E3271437
+9A39BB9317E5959441B0C274C396A0A23BC559E9C487BE315D4218FCCB2F4B77
+4177A43B78976D9A772D58F707A95E77F301D7789DEFE284EF1C921710524C68
+D58C46DCFEF1AF5BED73CA78CC045C193CA472D316C4AA5F8171365626392397
+7C5BDBFF28CA3CDFD75E4C4CF7836E8C5DADDC733AB5EB3B3011DA456B979544
+151577F38DF3888F45330801FE208ECC29503191ADE4BB98C9BF2F2B0999772F
+433F976168DBC18E928682C90108C38F54E9E2EC164A17899C88ADD7348D3E65
+2BFFF124FFD09FF0355F7A30258359849AC8B955DD11D417CA487F3E7538F278
+358E2CE00BAEB9FF195F542D2F5F7B09F8BF5F04BAC7976155C3A0DBEA415682
+D20F267E76B0886865DB7F7D34B4CAED1A5CA8EA2CC276CB18F663FE570138B0
+444F4E61DABADDBCE7D501BD4A9E06C947B93C44B028053D52F933FE4FD397A0
+F1A43CAD67BE4B97069F84FCE6BF9085335FB7FE6A65420F93879A00ED5EC1D5
+5166B6DD5A1F0BBBA087007B69F3431B400DD2AA8211283B9F26A97116BA13C5
+2A96078B665AD62C60BC10E5A9748B2C7CF049F688CD1AFDAC13F82A6F2F5489
+062C9DEE23435EAAF352C22EDFF7BE110938B52077A6E1306C90FFEDB6933CE1
+384FFE323F92AAF5314AAB2B29BD85A2222275102ECAC3D7BA95913E317ADD3E
+85053BE91937B2EFBA797583F59884D2EE1675F355A6EDA48DDB894CEBAB9DE9
+70B50D1F2F02B033ACB7280D22A2E538FC8CD4A5C0F7E1184DC534869E707B35
+5D257495423B03CFE7E00DF966CB5AC5D877CA87A377ADBF20271815570988F6
+563163B440FA92B6C8D48DD818257B22C997CB2A9E3882D30D132E83037463E0
+C1AE69D8F29DC825DF19C0F1DD2EEEEAB6F8E2C02D837D9D71BED1FF77327EEC
+79738DF541913DDDC18DF5B5F75DF06A3037B078B288C197F12057CB0A418393
+6557014E5FB2201F77EE19D1A1247577FCC26128300AEC98E69D73B86C622870
+FCEF2E9AA65BB6BF2A790883DDB1D3C6B17747DCB177E6DE97D98B81DF5CFBE7
+DD609CDAB8C2EFD920471013908BD8426A8F797371FF7A379ACFA1EA334397F7
+E589BB9307AA7DBCB06FF7915DF8DD21783BFE27B679DE290EC0432048B3289E
+C1A6D07A355B8E4DE93CAD903EA3AF7D01BBAA1B57E2AD9806279FBA6743F3F0
+976EFA1E424DEDA446CA1EEDC0557975DC0AEFCFCC1DF586E7E6DCB23A94AC1D
+D345FFB1194F23179355255D757DBB00FE9D09022963AD06D3DEB5DA2ED62F8F
+53D63F4541EF8CD1570FF54E5CF93EEF7BAA0950FA0B564EC0F769531130A51F
+AAEA05F0637A988EBB1F615347B1FAF64E4A03A38C76F6846C8B8B8A7C02A54D
+A981D08A948049E8FAFB8B5226695974A3B69B79E45726392D398838012510BD
+20875A839E7243CBDDA8BD71B2ECF2D02A9A3C73F5F859E2AB66E9992FC9F9B8
+F6CDE75A0EF66FB252F3E18A7852FE2373722421D7AE7C37A6EBE5591EC81DC0
+F79A89F76A94BF1B421CE8D1E5042452B582A46C2263E8961974CCAA1FC44CBE
+8841D70C177694412822E894C7330D833BC0DB52A442E8BE93BF972DBFEF76D1
+341E66FE8D9E973FCA21E7F06595B200845E0D53EE5C41600A6D9B127C5A90B3
+3249FF9EF55343A77DC6071369FDCA3985BD8AF29CA7B739248C6290A279ED35
+8D5ADC7D2B54426C90D94337472039AAC2C6DAC946617D9C7B5AD44AA702B6A7
+E216C05DDF46B5741BA5E190008DFF1D952B3C7C18CA5AE940CB9265DD577C9C
+65D7561A6790973B338194B5237B5D9948A86FDE27171A3BA227BF5443BDCEB4
+F330604421130276C0D5C0AD3BF73076893929B7982C59E76E657172BC6E0BA1
+5402E65D6812F1BD0DB84E9B28B9F86FA6708AF865170BFA902F717C30AF22DD
+DC6063C732A6F428C0930FAEFF1D2470D07AB6581D4B7DBBD6D9E246B5227BA9
+8D399415D1A9068963D707C29504B8730E87D260984760C4C7B7E0B4AC08A96B
+B4909B3BE711FDC8581C8834EAFFCFE045B1D45A327EA56BF4A61EAFFAFD5F29
+A99E798A521D8114490670E527BC95332DBF95DE70C076C137D3D5B0AC1B80BD
+C75F147276CF75AF31700C32F301848A6039F6F5A164CC33E4C8320706CE4148
+855B50E3C37C4F8ED4CE7D79B796732724A0A8F2F828CB1DD315C636253FCF3D
+6026D040A2D8BE827E39E7E0B06B1B0C4E7685BE712D925656D23317D0FAD0E6
+3EBEA4DAC99574E813AF4F72501D78FB92A8A32F408C758F785EBE774458D65A
+E1C0699D9F64D0D6F462A49979BD6FCF474E97B4E0A7FB9206B33F7A59A17A5E
+83794F56962D76B876D11CD33C610204905422080A852323A8834D981922AAAC
+2D5F2BCB0A0BA66719B60B37801E203754E1785D185EA29513F3C9BE6191F255
+72452B3698C34C32CDE4AEFC297530DBBB9E8F402FBA40C3D2E93BA0A6C911D8
+D3B73AF2689026B2F255D95FA0F097430840CEBA3C00838CCECF62709DD989B3
+8BC03B5A233DF75B7D1213329980CFCFB12A1360E9119B536CA3848C620F7645
+5B20F2F4CF50B1139F1DB6903AB982845710838B729CEDB7836F1EE1809E80B2
+6C85BF301606266F400204C11B430C89BAA234E6D354688EC1014A607B2C51B4
+2E9F464124C8F862CF5758AD7CF1415B5DDAFCE95E8AC06FB0B847E0C0E26E07
+4BD48BCE629C4D9BF6117DACC9A9972CD0CBFE537A86AA0E6C1A0D3635EF3AD4
+D2DF2A0607C0019A3B7CC9292874ABECADFEA3F3DEB90A2D99517A35BC451831
+7C673BBB207594EDA347E486C3F70EC67C55649BD4783EA351457683186BDA68
+0794703B5B337E5C912707E4122CB2200EC7E672B0B13B3D0DA532D2F7087F32
+05BA59D9C0BE703CD07CBF7A8C6EE352B1C4CF7CC990ADF8D81A672772807AEA
+BCEB36F56B59D8230C42647953A07169127F3E85B3CD2B2D3B2D06A940CCD5D3
+BACE10C323F429126F5AE12739FDE06D9DC43183C48000BEE64228990E59D9F0
+B282F6C574262E4622B2CA73405E82F418144ABA58E5C033AD0C0FEBEF8F330B
+F6970510A30E39212199729BFBEEB59B41D106B9C8C491C94D59FC570FD31858
+FE93591098CBFFF2285604FD976CFFB42CB4E3E7BDF00FB502F59237381069E5
+8ACD6FA8A324649434C09D08EBF19C7F02C11FDA51250502EE600EA717D41B5D
+65EBF066867A98793E5C1360814308E4B74EE3510705C3A105527BC7379B8129
+CE2ADF113BB01E9009E16CB43D886805437AE7BAEE8D109C4D529E6E816F7DDF
+A1EC3D79388DA5BD29DAA58AADFFC1B635F71D4280D2B1D5A9B62919F08EA188
+264EADE8D32AA577415897DE9345C42308A90D507106B457CB841BAEECA71950
+CF5091FFE041426108185EB7F58EB7F3D6C684FB216A6B8A4AA9715A93CAC34C
+6D04D0ADB51AFE9B73054A41BDD7BB24BF4A1024278687CD3E343B8650B550FB
+B706205C4705507BC67423E7214B7EB04EEDD30B3FA29048BA3C0392C196B8E3
+8BE3BA3E3360B7EFF8542CF72DD07FB73D081DF6B6E562D863E959B5972DFE80
+3B7E68DFEB6CB76F52D27DCBC3286542D9EBA6F112F5C0C747A30500DF890462
+18FA6023A59AD8690D5B665561EB70D54236782119D73879441DBD758C96C041
+9A36E9EFF7E397AEC27F49BDC1B0FA9712DAA076344598AF7AC32008EAEBB9F4
+0CFA76396A6678176BF27AB8AB22293AD9A13BDA7EA5FA85929735D5F5AFED43
+A04794308C1A55BCE37F79482BD65D5AD1E47AC669EA276620386E6323031479
+0060A65AB8756A92EC055CEFDC55BE91D24B4D7680A3A6EF4146FFF03F2E396F
+E8FD53B43EADAFF1A63ECF0D268A11F2B980E1DDB0E0A926919509712901FD04
+4F3A3D6B69C9C081F089F66796D3559FFB24D0F977A1177F8B88A42469E7E5AF
+0FF0E6EDA585E1095E6A9375BD675B202E24D76C86A7472CE931C39A9518620F
+31F9CC61496C397A1A46C69FA1888DFDF4DC5424339744836CB1C0A13F013D73
+D0C6BC868A8992EA2F747FB603CE960D43B48C4CADAA902FEF43372D5D1D92FE
+7D143FBA8719B87AE4AA8D7BF8C1F65FB2CB2D603A722684D2FBD652D747CE86
+2CD3C06E30B3566E444084682D76C854B7A997D157253CCFC757EA239EBF3A1E
+728F64F3C092477F1C44C8D723454C4D98F2369FEFFA88B1D4DAE41FBDC7581B
+60F3ECC73743D7B7E81E4DA90AC98CC9ACA77C8C7AF106C1C7145DC5D315D8D8
+2E2017F203DF0A8298F4273AEAE0268C8518A3288EC8C56D4CCF898798FA3350
+509335DD4D051015D94367B2D236C9E8F639578E3BBF140DEFBA03B813A4E7C0
+FF078C21292D8388CC990D4598A90723CA6F9BE62C08F31256CAFB6043490966
+7825417626E45CBEFDA8EFAEC8D03AB6185424C85963D80340D56A96D580A0B4
+C8B69A054CE529CD9C36104694DF3B8BB5904F2581340557C3D668337A1EBCC9
+3F282475F3CB81AD29B5E0753DB80463876F311E6C572A38B97E1CE6741E2025
+4715B704DF7080D9FFDCC0412267548215190DAA9970887D990BC8D29A5F9E7D
+4F59DEE71E0F936C9670318E90CC10EB63F3425E8CE88058DCD2CABA070FD78E
+C96E6DB7F554299D893F30806EF60DD0FB11A07A2DBD9EECC2E57546546A2550
+2FE08B3BA75E5DC2E66C100A4D72C335DE605393675F8FE5927E9BD2DD24EEA0
+7E991DB13B685AD13284E0CBB7A41DC6B7015219480FF73E0A676B3AF36DAF64
+3FBA5F10E5B789C27EE99E9C689EE66519EEF26C7300E4D90DC9FF73A9A2F938
+7F009E6211108052984CAE0F368C741A7ED2350363F148BDF963B1E31C55637E
+D1CBC916A5C8C5D6B30C5150A9A185CF001EB3FE363F7566B6937589B6EAF025
+33163043D40433305D5D6C67B98CA049B0A4F1DBDA9F0A976F346D9B3D700785
+6CD75048380B1C88FD441BA10B8F6630A9B3CB2E19484FCB6DF49BD628D46993
+C68960091CE02B457DC31B04DA70E8972F3A347B83DD922B13778E4EDE3C5121
+F411473C5B1669840BA412B7D5693E0B5F2A59CA51BCF84BA45F3F3837987709
+EAF7AD5678C7DA763E23A0B7F3BF09F0F8F4E0D9A44BD4AA7A8DD46BD1878572
+566FA20256649867525587AF615902407949DD45119526B2C3D29456192901DF
+C6E4A0209873EBF15A4A990A5E42E1E99999D535BFB68FCB1CF91AF9DD343B10
+DC8B9A5432989BE7B4AB989476FBA0A6A645AC89751912DBC2BC6EF3D85D705F
+9A7FD52FFC37BEBD42B388E73618D6A4CF61AB9CC08AE7E65BDD1C39EBC98ED9
+183535A6F05DA10849978B1325CC654EF0E799E5B56446D797F423C7E5D1EA3F
+22D801536A7B9EDFA7AD42C7C07EE168A78D116DEDBD7B3C4EAFBA5FFD7B1D83
+0B400EBFFAF9B2432FC80C38E0A144CC731BABBE8F71E70720B1F6A9120B513B
+2D6A3C54B82025296B46BD00A249A682D4353F84ACFEC7710D87905040508ACC
+7A1A974BD03C1D
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+cleartomark
+{restore}if
+%%EndFont
+%%BeginFont: CMSY10
+%!PS-AdobeFont-1.0: CMSY10 003.002
+%%Title: CMSY10
+%Version: 003.002
+%%CreationDate: Mon Jul 13 16:17:00 2009
+%%Creator: David M. Jones
+%Copyright: Copyright (c) 1997, 2009 American Mathematical Society
+%Copyright: (<http://www.ams.org>), with Reserved Font Name CMSY10.
+% This Font Software is licensed under the SIL Open Font License, Version 1.1.
+% This license is in the accompanying file OFL.txt, and is also
+% available with a FAQ at: http://scripts.sil.org/OFL.
+%%EndComments
+FontDirectory/CMSY10 known{/CMSY10 findfont dup/UniqueID known{dup
+/UniqueID get 5096651 eq exch/FontType get 1 eq and}{pop false}ifelse
+{save true}{false}ifelse}{false}ifelse
+11 dict begin
+/FontType 1 def
+/FontMatrix [0.001 0 0 0.001 0 0 ]readonly def
+/FontName /CMSY10 def
+/FontBBox {-29 -960 1116 775 }readonly def
+/UniqueID 5096651 def
+/PaintType 0 def
+/FontInfo 9 dict dup begin
+/version (003.002) readonly def
+/Notice (Copyright \050c\051 1997, 2009 American Mathematical Society \050<http://www.ams.org>\051, with Reserved Font Name CMSY10.) readonly def
+/FullName (CMSY10) readonly def
+/FamilyName (Computer Modern) readonly def
+/Weight (Medium) readonly def
+/ItalicAngle -14.04 def
+/isFixedPitch false def
+/UnderlinePosition -100 def
+/UnderlineThickness 50 def
+end readonly def
+/Encoding 256 array
+0 1 255 {1 index exch /.notdef put} for
+dup 102 /braceleft put
+dup 103 /braceright put
+dup 106 /bar put
+dup 110 /backslash put
+readonly def
+currentdict end
+currentfile eexec
+D9D66F633B846AB284BCF8B0411B772DE5CD06DFE1BE899059C588357426D7A0
+7B684C079A47D271426064AD18CB9750D8A986D1D67C1B2AEEF8CE785CC19C81
+DE96489F740045C5E342F02DA1C9F9F3C167651E646F1A67CF379789E311EF91
+511D0F605B045B279357D6FC8537C233E7AEE6A4FDBE73E75A39EB206D20A6F6
+1021961B748D419EBEEB028B592124E174CA595C108E12725B9875544955CFFD
+028B698EF742BC8C19F979E35B8E99CADDDDC89CC6C59733F2A24BC3AF36AD86
+1319147A4A219ECB92D0D9F6228B51A97C29547000FCC8A581BE543D73F1FED4
+3D08C53693138003C01E1D216B185179E1856E2A05AA6C66AABB68B7E4409021
+91AA9D8E4C5FBBDA55F1BB6BC679EABA06BE9795DB920A6343CE934B04D75DF2
+E0C30B8FD2E475FE0D66D4AA65821864C7DD6AC9939A04094EEA832EAD33DB7A
+11EE8D595FB0E543D0E80D31D584B97879B3C7B4A85CC6358A41342D70AD0B97
+C14123421FE8A7D131FB0D03900B392FDA0ABAFC25E946D2251F150EC595E857
+D17AE424DB76B431366086F377B2A0EEFD3909E3FA35E51886FC318989C1EF20
+B6F5990F1D39C22127F0A47BC8461F3AFDF87D9BDA4B6C1D1CFD7513F1E3C3D3
+93BEF764AA832316343F9FE869A720E4AA87AE76FA87A833BBC5892DE05B867F
+10FA225E233BCFA9BB51F46A6DF22ADCEACC01C3CD1F54C9AEFA25E92EFAC00D
+7E2BA427C25483BA42A199F4D2E43DFCE79A7156F7417ACF78E41FCA91E6C9EF
+B933450D851B73A6AB6AEA7EE4C710CB5C14270D1674FA334686653793FCB31B
+491E870D3C2BC654D2C1DE463EC9BA29D7371AA1078800EF93D3F66263A2EBBB
+F5723697BF7448BD0D2E301544BECF497FD475B85DFEF52AF4F8F8BE445CABE6
+019318806D10C5952157FF8F8286C1EE701545C8F60EFA854EAE66835A2046A6
+915D395F1E0366EFE0C0391583FE001FF16D82A2E2DA5F57754A2C6F69306E36
+356ECF8EFC3F1188AD6FCD2427E0580C97A5B69B4E0E09B85EEDE142F5ADD2F0
+5DE51D6DB72B127412A0D57106C19CA493048A4F815129ABE767D51715B1515D
+9C21067CB5BC88741B7298C83EAE36A866DFA87D8981F179B1C31292F56BBB64
+3C430779468AAF07C8A8B4934E1E775FE3F35186BD1FA6EE3689C1C750678AF1
+FBF9B23195A124C5C991FE670AC0C86FD39D2B07B9A319E74EFD498B45820252
+720ECDF7294F7B0B137CEB86D33BFCEB8606985A3260FD669E461C8BE94216C5
+D434FD8854F44EE66E5A289A9F9E32BC36AF645D53F96652602BAED418C8D726
+BD04A1B4617551FE4DEF54083D414F7DCE004E6BB2DC9C2EF7CE232B254BA2C5
+7DCBD36C2072ED46FF711F121A701E2284BF1B718B3164382B8F453D68FA0377
+DFE106503B8401D4DB87F5402A3AC9A442FA060B0610A9524D530C7157C26B56
+AC970FCC1D5655FFFFA39246E6420CF97D08ADFB7B05822679BD40C638DDF0E7
+A97BFE8918B611A145AC965C203F1428812F9D340AF499B3A915B22BE798594E
+0F520109FC81E452180AE45B170FF999C5FC2761C6CECD8742A5A6FC97F16743
+AD4EFCC6572A6D3F3E4E330C5CB2FF6FEA48A5B64DD3DBE943BD9918D4A18E18
+CBCF598AEFBB6AB3CD2CBC9BFD6099272F6543F3E532E0E21E614BD2880B1023
+0AC234CB705827BF016DB84E00E8C255FDEFA0101A842929540B7B4AA8A089BD
+5EFF05B72356B6BC3727817823B5CDBB1B963103000D7F2A4E2A1472FC3E614B
+5CBCB6D6D784023173DEFEBFA8F9ED87EC1A0A9EE98CA59CFC964CF943DC683F
+E9E00DA718C4425A705A69D99988EC6F152525C790912C2E46A2381A569424AB
+54DF4798BC2D7E7A361E7991641D4B756CE2A7FF4A2848927092C59C2C4B8809
+E13AB84FB6B111E680D7FB9F2FFC2C5C66B0B501E4447C2E46C10E2F6124476F
+A140C404CFE2DC9E0199BF61E035CEB481D438139A9630934E541D261FFD2906
+4CAD99E20655FA746AFB81EDBB5601F5FD6B1D6832A01D585E2C55053F6A7378
+4DAACCAC7608DBDADAAE732D66B3E7F87E79756337C1A961E53A4651BE7C77F4
+038B89C87F650C54A2A90EB7F1D525BB353F33318551EE8D84A6A83C718EA5A4
+B2AC0F7306B1E095819B87015A90CA3ED739B09061782C28CDB36BA4BD5E5308
+5CBB70414E4112193DAC4A1FA30996327230D1E021F3CD8115E12D239D93FFDC
+B645910EB29E40D830E7BAF2DB255FD7C4E776557BB38157917D993EAC245837
+A3B515147043574157B8342D829C7228CCEA843ABC89D1785A9672A5923FC4CD
+2F3FF27E6FCACF84E2D3136CA2C0FD3EF1EE7354CD04C38B5FB874553646ED2D
+CEDF7E362EADD04B18051F20A8FB0DE18E152385B9D05F98A3A7EF177824E246
+455ABE69E2F700EB78185CCFC07E3B4C6FA301112528D977367D30D0D5D59EDE
+FAEB706DDC970A9E296236C725B2B55B09B9C336B8E23CBA5FB8692D56F33B03
+16294E5FC7FAA42E96395A57CE51CA8DDD77442F142E2E576B778373FB31C81C
+16840BB422CA827E30A81829648BDF1CA36700EA32AD888D097C1FE0A05B2D9F
+483AEE40269DF09AF0D1AD3DF80C45DDC59C2A03FBB661C79B87853737C6D352
+67626B657321B16198DBD6DB98A092F17878AE4698121E1006E53D6F9B0A3BE2
+3FB68828EF854A0CDBAA68B37ABCA6AD4A3D809AAF0BAB1697A81FE59C98C472
+1E33CD70A75A22C249DD11D76C2575ED3370A25892A16D2FD569CDA70C130770
+93F493C7D47D6F9A5424A7A542BAD726BFC3AB225DCEBBE6AC4BE006F8C7C0EA
+051424B08305BF2D951AB2986AAFEA04E078CA79B399585BFF0F1ADCED02E15B
+8765EB6BF6A8E4D0901EFF2C3AA104924EAD9637A35D877E0C51A3C37DA78CD4
+8643C8CE6DCDDE3F116A6C2390F948E5371BEB5AD2E87B41C5F01FB5C196C436
+6E256A88D082E3F46E4EFFBF605B2EFF1E9D9AD5EE4DDC323A137CD9451EDEE0
+06F7D82898D71FAF2362C0FCF1F726F97F820305B7CE20728CA08C63575083A7
+84BA28B7DE2B916432475510E274C12FFD1660A717F51DACFDF0A102D85224E0
+D6DB607BB72569ABB8A7BC6A10354CBBC01732EFE35B72062DF269CB25EA3DE6
+DC603B04C90C5912D2C38D7A5ACDCDD3F6F116D884F0D8C528F69D5D47BA20DB
+0A9E585C7D8CC3C324FE8A1DF150279F7E8FB43BDB720E624E5E9918032C02CD
+8020636AE5C38DA2484B7F4B34163E0D0A561B43B80E97746DC05C871AB620EC
+C5D47101ECED4A7E25F291184BEF8B80024AA7BB456C1B83A907652B331DEA34
+754226C39C6889EBEEFDAD081E01EF8FE47751987667836FDE4C8BB8A3FD4406
+1E643B4EA37BD370734D1A2DB17C2F4B74B4ED75098B433601F75A88C9A37A05
+CCB157EF6E32023BFA33973F3E655A4D58289136996FCFA61EEABD70791B6523
+1FF5DE71AB8A17038923118A5EED8D59C4C58D246FFA9BB26472346B40C8741F
+153D19CAFF20DD2A86C6DB89154A630FB1761929FC3F0448EE2F089C1C953E02
+905BA8DE75D101A982A611056C4B237596C10951DD98BAB838B742D3CF7DE718
+617DB72E5268583223E37E029D1C8FD3F1D21690151F76B76C52C725CA135CA2
+8666553E863CE188BFC9B99AF56AC2DB5BFEBEB12FB563D00244EB89E478657A
+98AF2E1223C1ABC25A4500E8119B86EB3C26B8A2F3505A3E5610F89B7C34E278
+53FA0A54A7F46D84A35EFEC36AE660A9E3C37EE3864106702DE5AF6C45ABF64B
+888A4A51323138CE77DB935576FE6B4824B6942DF80625098CE1B5B32B234F1D
+052A9D6039697118A9D793793775D8729D8574A2E74D7109C7B7E23BC5E2E87A
+CA8E019203952A4892544E1AD3D4EDD22971611358AB230E9A2ABDF00A288501
+A01B67C42B33F6B78C39562DB50F4663B922D9BE0D8A150311AE44B83C1F129F
+07337323E9A23211EE58E16043E127C6F9574019179F5635648A011266677B56
+B5D0201A4E1470B952A1579B57AB2329CD4C615395023C653F784D36B5EE3672
+10D191F29EA508CE84763CA4CE7C2C5229E38E241255A5CABCD6C7CBAED901A2
+CA53B5E24111921CDDF83578D33D463D70EDACA0E470D8F592303FB6BFD68B4D
+3F3BE2D7C5EC8BBF10C90111A33E205F2649B56E8443F6FAA6C721C66575AE12
+D4C40F1F46CF9E9DA675AB5D5840D938780CD9E4AD6736ECBEB6A4397613586F
+849B51048AC5F9405E03E14540A5E5582F61CDCDB57EDDF95A8C6705F433EE16
+648F098C03DED8A2AD94AE3DE202D629B9422ABB031318D48F2C85F9DBFA17BE
+84708AA3B6C9F81F4508F7A5CB7B6646AB8722ECF817877B77D473F577556DAA
+2BA0ABACFCF5DEA7498C47328E873019A956FBB250FD9D8885D21D368FA70CBD
+2709D2DA44EE7A9869963EAB48789541906DE49FAE785ECE1F18A22C7E7ED204
+9768896B78E9EB7A2BD6EEC1B26083940656ECD689D92942CC8AF05CBF82AED0
+B45A7DF4DD7AA6526FB597322560B9ED3087A65B5EEF1371C328A021411BFE3B
+D9B5088B2F1AAE381FFED52D2D1E02CD0DA78683E3B06171CBE94BE9760005D7
+135893D7CC2DB097F6AC664D9594CF1C650F84DA80D2EDE04802DBA33CE3DAFE
+EB7A37E8AEFA4FDA6252FF21E8673DD98E67124D5DBC7BACF361E57077B71939
+C1D1FB923E4E35C075CD1BCBE0E80DAEA1320D55B43EAB45D9B26C366B278782
+7519FDC482D98839BF0DF2E7C3A56A1C1A3FC0E57A75CA414F6536C1FE8EB7A0
+4ADFEE3BEDA0F53BE8CF5F64230784A797133E8CD46BCCB3BF38BCE38A73CCE2
+9E073ADE792F7128231DDD1F63E6156ADB2609C200837C2E8A2D93D2A7BC9171
+050C709A71E44E32B1B03C92EB5CF1D3BAB1C38E027DC4ED9AED633D98CD7486
+3F773ACF8AE332631CF2ABE6D606607593FE862ADE31803964E3F4DC3CE3A271
+C76BDD95C87CDB3B87BC26FC7A16D567EEC62E6FF0D471B4853DB8A94D4CACF8
+843824F818083F10E88D52FC4253E8203292CB40F1414AE7E51DD7347007C342
+CD70E8E9F2D2A13D71213B841DDEAAB208AD9EA644591C15DEB084165F9DF24B
+B91D3BBEEC2E34E38EF16A0C3F00700A7BDCBBFED2EC0D09601AD6538288DB50
+3478B051B5E16B604A0341FE621A58718D960D699D3FAD284310DCF54EB13175
+19A75A539EE98E804AEA24689D3540F0F12951A3C01FACCE9A7BAF4D0DAFA946
+FF65A4D2A4C39969607272C6886F44E90ABE27CA3A1F12A29D9B32E60E8E34F0
+17C5FE43D0E69A99A922D98909B2BBCD145E59A5E7F5426B3988F73B09A525F6
+8BD4915663C1301323180E760BE81CB874B020FDA3AE63340E4261E4F3E4949B
+CC0966BDC4426190BE9F5D77F76A72AD925662E5FE1CEF9CCAB68F0BD33DA003
+F11EB91AC4502FBD6AE48DA0F9D07C35B96B103E379B8A83A05FE728F1716194
+1F650F75BEBADB2E3810388F3E2DC7B19F1BA9E32925F2FD9F19F4E8701F3E4E
+4069125D7C401144740691E7A460021A47B1E27997FC1DDABEC5BD0EE0B20194
+2D579C7D6727AA124083242BDA46D8E116E2751C5F298851A62B60AEBE82A929
+9B9F2492BA35690D1EFD16215B8EF14E7A3803B93C28FA41D971B05B6AF3B593
+E74AD1E68A5FCE12A86E63B78BFEA87D3949FD164F12277A4688BE96356791CB
+8671C49365608F3EDECC109321AF92B4C29CAF073DA3A7D73E913D0D83FAC5EB
+BD884D4C686056404DAAAD6F82F94F803FA1FB0DD8908D1DF08FB87A8BB83027
+04DE0CBB1C6FEB6B517FBD7CF065120079E608CE41893C2BC96A347826CCDFD5
+C69E161217F2127A59F1A6F22037641613F191F22D5B4CDCBCC2EE5615623404
+ABA7BE6C5FE475481615B2AC1A2412E54688DD21E44CC9AF5F16E634AFCA389C
+4D740B7B51BB141BFAD1080E7C726C1606A28ED492E6BDE9F800EFACD1513909
+84E98CEB6A0B7A2A6F3E1D1DCC3B2552795E0932673E59ECC56DDD37A1D52BA6
+C3F0E905978AB568941A163F4CE3AAB5C5B16F86016EC47BA6F3F7AAAA77C3B6
+09C8C3ABDB6D514A76ECD37C37AA88B5860630B3406B494F7725975596F84777
+D9CF48686EC9C5DBCC1D78513F591C7C10AB9D153B3D41426B7BF668B0D04503
+56BCB686258462C1DC61095724B9F3312316262FD7C1AEC6E54DE7E5A7BD8EFF
+035299B8FD8A4A7B0F51404F4A760F4D8B4C0FB7A32FA4B2383AB6E9C78FDEDB
+FE6A5788D38A6701B123630C2A6D820A684166FBBC83DB17069494FBD411B333
+CB37E2491C5BD035A33867A6D3A3D420CC31ACF43AA07182CAAE67E40EC63663
+B678F71D4C6E0EC3A0AAF904CD3AA66E0DE5E3CDE049E94249B39A1C06E3CE9A
+F974B2484BB2CDA14282B9511E505B3C89F9C802218AE40D1A7541335C5736DD
+CD565D4B9F4CC78F3A393737EDB4FBD0DA299E21CCFEBA5478EEF013F0552A8B
+0BB11FF46CCDB784E8BDCF730A16363E66572049E42C695886EAB42A9AD9094C
+B635DF4B5B9BD9B9AE8455DFA3EEFC77653190F9A8B1E93B7281C2A21EA7DDA9
+33484745BDF7E3DD63C7AC66C286C9A5A698A5E4D7A91710B7FF943FB23609B6
+4B442F83CB795788FAB5E9CF3F75D5487DA26170E4561C7941C910B088C3B86D
+F844B0F340CF82786A3FCF347048463EBD2006281A816627065DDA6CD4D3AC5E
+2024BC96C7D896381BBB567951E7A1F29D4E95351298B000D29E5F3D0448CB5A
+CFDAE1BADE9403B90371C3A07D208948AFA022A69C519434B6813086ADF518D5
+88E0B92072A44BA1B3EBB630A13B7AB90992E85B6D67361C8D96F3E0D826FF37
+17B67E4B1EB7BADFD98D7F4FD17BECE740ADF13C141EBF0A91CB105DABB32FE0
+55086D56A0D358841D15FD349E6B95512E4EDF4C430216FF85C2ABE995E4B40A
+A6044CC8820AD885C07E052B3F91C2E9A1D163BFFD210F7BE95B923E2500DB50
+2075106DB541C267BD450B25B670CE80BCD068D4DBFF2D82634175B61FBD3BC3
+406131F44C7D6F18D375D1F2270829DDF29DC14DBB58A30AC193245D18DE91F8
+AB88AB548D8138605BB5A50073295534E314366E26665AE70482B890E4101D6B
+60E4F3B37ABCA1346DAAE8FDB8DD9C832EFF3E73BA470E2BACE7B8515CB43388
+C27AF99FF9322175CF8D4947E6B3846AFF5163E972156847F58A66660EC8A3A6
+5FB47C9F637B4CBB4C73B6A080B0CF6FD1E9665E92032540570FFCC747C67C50
+822811AADC404BC7ECD1673E8AA6C3A2F1D82F39430B58C29145E2F1B679C46E
+94EDC711883F1E4EA84117A54757E8895A40401A26E1437B39A2F65CAADD6E02
+D71FA8AF7453668DC613F326A3344F74AD7AC67569AF399385500ABDA5EDD3BA
+343CC5EDD4B558467626850E752B9959FEF1454E53E7A3DCBC2255AD8F6AB4FE
+894455118A61C58840CB68A925ACCAD75CEACE863D806916228F0614191A1CD5
+DC9BAE256018615AA3725834519449B0A88B4F396654E74099C007930ADB1327
+DD119BF799FE3B0B223E1EDA04FE2DA7A1C879143E1C33B6C6344F4BA033AD6F
+8E88C33DEF1977796B454BAB2494C930F492A518E8198C708A75FFEF8C49C324
+A718AB59B889DED521229E741FFE53F98EBE88B0405AD523254FD3FA4BBE96DA
+DA1C27C1C979A0DD4E61C3B1F4C4DE01E42F1C4435EECFC02D97994BC8AF5270
+E7CB1458D76ED0229C5FFB4A23B8716018F9050970895D51722CDE8F2EA3D947
+DFF374D84915D5C5D16463A6FFCD079D1ED416C4347BF831FF0C4ADFB61295DC
+4D5785BB0852BF472CFC97EC174491CAF961AB90629F055E75DAA6D9898E8653
+5BCF379816CAE46FEA62E7BE8E9B953466E51828172C4DBD0E1BBAD1CE28B5B1
+02B3E36403BE80B49A47446A6677FCED438F01D60EB10F478C89528FA337D0D8
+88D3FC123C076507ACDAF783A9A6E24ED73BF24B6E0F11C13E532DE5F70EB02A
+60651FC2E263002D3986B7B20CC2AA08330B9FC2E26765CD52266969A86EE30E
+71E0B41B6C1C6DA423D3A7E1553D2FAF26EF40DC183099322D362E4965695C52
+9FC3E5BD7ABD743CDCB717DB10372A722A39CE53FABB454EADE2179C4CBFC016
+A8E893C28EF549CA1692C8D8ADFC471DCCDE266FB4E97A1F3035801F3F034D44
+A962226E1AFD39AD32B28B924B247F85B87CC4CE00A01F0DE7DCC439C05297F8
+AB66A0899A135B400DA86109FFA7A6A6FDDD10F23FA4FB84C626402F2ADE388F
+8E15FD1310A54E213599843C7E4F6320D2E6ACD58DFA107554985C62C277D580
+6AAA79CCC71454992970B82C1EC19345B393A2D13A4F5110BA6AC7747674EF31
+6A464E208F1A38FD21BF1F62E1DA0E31C3E687393FA84708A1063BAC1B5E2640
+DFA4A30DC75B3347473A27915F6E9B3911C0228107405CBE945D5A92E25E8C65
+F9129501B87E1A3E5572A24F2436C08C2D2FF1D1A9B11052AD1E15B69C9342CA
+A71281C67CC3EC0D070E3194BA9F01F68658F210974EDE91EB4B1C67F2DF1CA8
+21C6594D49E7DE5ABD9CD93196989B7B5176E1C7F301C5163BE92DC79799757B
+7CC33A6A525423164BC94F98256EC2CD929AAF141C1810BB3D302F83C1A49903
+8C1EA4A568D9C3C27F3CEE245A9A4AE9A376EB2BD898C915B56DBD063054728B
+A69C0132640395A84760DE8D09CDC9CD54E3F5F268980C2860B66195045FF6E7
+7508F5D23E6A51A2AE1E3C7058E3F4FCE6D8147E319FEB8A5836F7810AC8D5B9
+F85F8135F813AC9F41E62BD1C10479BA112E79B080359E6CEEB2611323D69994
+5913A228E0E1DE2847E4D50C4C63EAC9F884BC3683351FEC27274728B2727421
+B6DABB1F89DD5CED4D4E75583E6A7CE327F89D70190BC917EA887E3DDD87C11E
+F838D58317721257F2CAC9E991BBDEF6ED51F0719CE1F0B4446596A78A0737B6
+0802CD6B543FCC01ADAF847C21E6966A9B2FFFEBE545D3B2E8D24732E7C44C38
+62C4999D769C15F24299D76A71DBB3178582A15CEAB6A8CF8F3E6B0E75BF73CE
+C5280880B7C88D6E9BD4B8D5A3B18CE41C681D6BC7C73CAACC7B533EEEE2B234
+D38C22612FC6D2075E4303D8470FFC72BA88618D7FF7E138199232D1BCFD1F9D
+0F
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+cleartomark
+{restore}if
+%%EndFont
+%%BeginFont: CMSSBX10
+%!PS-AdobeFont-1.0: CMSSBX10 003.002
+%%Title: CMSSBX10
+%Version: 003.002
+%%CreationDate: Mon Jul 13 16:17:00 2009
+%%Creator: David M. Jones
+%Copyright: Copyright (c) 1997, 2009 American Mathematical Society
+%Copyright: (<http://www.ams.org>), with Reserved Font Name CMSSBX10.
+% This Font Software is licensed under the SIL Open Font License, Version 1.1.
+% This license is in the accompanying file OFL.txt, and is also
+% available with a FAQ at: http://scripts.sil.org/OFL.
+%%EndComments
+FontDirectory/CMSSBX10 known{/CMSSBX10 findfont dup/UniqueID known{dup
+/UniqueID get 5000806 eq exch/FontType get 1 eq and}{pop false}ifelse
+{save true}{false}ifelse}{false}ifelse
+11 dict begin
+/FontType 1 def
+/FontMatrix [0.001 0 0 0.001 0 0 ]readonly def
+/FontName /CMSSBX10 def
+/FontBBox {-71 -250 1099 780 }readonly def
+/UniqueID 5000806 def
+/PaintType 0 def
+/FontInfo 9 dict dup begin
+/version (003.002) readonly def
+/Notice (Copyright \050c\051 1997, 2009 American Mathematical Society \050<http://www.ams.org>\051, with Reserved Font Name CMSSBX10.) readonly def
+/FullName (CMSSBX10) readonly def
+/FamilyName (Computer Modern) readonly def
+/Weight (Bold) readonly def
+/ItalicAngle 0 def
+/isFixedPitch false def
+/UnderlinePosition -100 def
+/UnderlineThickness 50 def
+end readonly def
+/Encoding 256 array
+0 1 255 {1 index exch /.notdef put} for
+dup 11 /ff put
+dup 44 /comma put
+dup 65 /A put
+dup 66 /B put
+dup 67 /C put
+dup 68 /D put
+dup 71 /G put
+dup 77 /M put
+dup 78 /N put
+dup 79 /O put
+dup 80 /P put
+dup 82 /R put
+dup 83 /S put
+dup 85 /U put
+dup 97 /a put
+dup 98 /b put
+dup 99 /c put
+dup 100 /d put
+dup 101 /e put
+dup 102 /f put
+dup 103 /g put
+dup 104 /h put
+dup 105 /i put
+dup 107 /k put
+dup 108 /l put
+dup 109 /m put
+dup 110 /n put
+dup 111 /o put
+dup 112 /p put
+dup 114 /r put
+dup 115 /s put
+dup 116 /t put
+dup 117 /u put
+dup 118 /v put
+dup 119 /w put
+dup 121 /y put
+dup 122 /z put
+readonly def
+currentdict end
+currentfile eexec
+D9D66F633B846AB284BCF8B0411B772DE5CE3C05EF98F858322DCEA45E0874C5
+45D25FE192539D9CDA4BAA46D9C431465E6ABF4E4271F89EDED7F37BE4B31FB4
+7934F62D1F46E8671F6290D6FFF601D4937BF71C22D60FB800A15796421E3AA7
+72C500501D8B10C0093F6467C553250F7C27B2C3D893772614A846374A85BC4E
+BEC0B0A89C4C161C3956ECE25274B962C854E535F418279FE26D8F83E38C5C89
+974E9A224B3CBEF90A9277AF10E0C7CAC8DC11C41DC18B814A7682E5F0248674
+11453BC81C443407AF41AF8A831A85A700CFC65E2919BE7F4437ED75BF2F7BA7
+02F85142A4EADC8C9C7F11ABE2AE2A9DEA79CBF9577DD8627E31D25A7E4DED9E
+FBB1C413696C88A07E5C937451D40A9211B29E24C9424635CD4FD6B16FA7D76F
+5BA1DF0EC26097EEADD70EAA577531177A26B5017A32675C68052E90E68538DD
+E779AB23150FCD1653460CDDCC713599EFA381C3322175809A73447720F6911C
+6BFBDC0458C477D2CE69BBAFD05B5C2DA1D2E3E8378A2112066B045243D3D080
+DAB211DCC25430973C18E7FC5574A814E3EB79F34FF5197453873C8AC66E47AB
+5EA57CB3C8365D5235E7746C8584734F002E9A28C38B0C25E3753D85A1D2F3CA
+B8DECFE14A7AFBFB76CF3E91A1E0203FBC8052C2DF967693C9BA0ABE86B5D264
+BC345D7954C9523B3E70C4AEBBB0F2D56BAD6D76E095F9390FBE2CD607F3060D
+F713ABF47F0FCA5D5C27CBCD4140C668F733F769FF5326917C0AC5D4C72F99BC
+5AF4540DB169622644D320872947BCF1D30DA4EA150AA22D6D53777345858DFA
+3286EB68314E30EC650C8BCC572D72879E431FB4297AAD6533C8F4802E0B9902
+8360C57504D4176C1DE7F57382FF2E2C0A3D5285A061CE91D3149E3096B91076
+1E914125CCA8D1C9230B72427990ED4468CE79C11E8F0CB89A3213C535B040E4
+0C5784E6D53C96696EE45C87B5E0DAA80D3A06E5759D0676ACF99020DCFC3E8B
+50002675B01959500133BC30223C75A54948DD28FA83F399924D4ACBE33F1F2E
+D85095A76AF6DD92EAD139A8D5673A35B3633D25EF3B10A40A7E28F329D6E7AD
+DBF1DAD1E666931611FB107D1FD3576F11A22B50943C536DC2BA477EBAA52BDB
+B65A98268602F26DCA5EC761526CB7F33CB5B345110B7A90E1D078A21E332F78
+33A0CF88EBB2CE852384DE3435F7B3564A0AFBB2024F79A633BA5B6EB7CC5389
+C43621C82972D60F7DAC71FD9DD38CAAB865D7DE4ABC39D71879BF31549DE649
+4B9CD8C149880504E5B34C2153E963B3FEEDA0D59F70E0ADCD24EDBBB8EA961A
+90E5AE4ABB26E1AB1757E25572622D5A2541CFFACAB673665C7693855473D78B
+847FAD590B657CC0B8289034AFEC3C54FE97B010535F70AF67ECC88E21B077D3
+A9C2C52D25CE9714EE430735DB57991AEC946C96B6988B2C85D17C8BC80EA844
+3A076618A686040ABCAC347F1B1C14676B05E13C239E99C3A2B63D0388CB50F2
+BC119D6F74F70DD96BB5343D5458950070576BD6E319AAF5792EBB9DA5778CA2
+58DE0976AEB766DA6A865F09FD6753FB4E7E0E9A06AA1A06C2636AFACF787460
+9E73BAFC4A56A99277DCB14F52555EBF6DC5E5785EF7745521FA061227B725B0
+7A5BA223D5EE9239A7A1694D4F9EC1132FA23DA44ED0FB0AFD8987A01F9FAE15
+ABD485BE098CA7B1AC780A9A02AC58DCF0425D4D110226DC7B5982FE31BB78A1
+C0AAF9B712E8D478FC4F85400B5E6D71AA653F9BB2E967A76D02B04887CEB9F0
+0EF50A956AF7F790400EBBC07467D9A8BF8BFE8200F8F7EEB5DF3E62A9A332B4
+513120FD9F8A93ED683CC47551C629B5313E4E20A207845CC37491ECC3945EE2
+71A0C5633B353B03B1A7727D5D9A0478D20D67A981F6E5CD8737548ED4348A91
+82F2CE805724A028E346E6B7C542FC69CFC7935E6CF3320ED9701C6127FBDFD3
+B20F0DC2D1F92DC69E4FEE57B457E82D5721D932B140CD6DB9BC86B961E7E6A7
+5816F42AF937D97C3149DC2AB0054564592448D0CF52427B766FD38E3B040B81
+59AA9030CE06A9A9E3A0572A11BDA85531060B75DF8791176CDEC0A9BBF472EE
+BD433BCDAB926689B8806CC8044D0925814C1784A41CEA48ABB9AC039485BFA3
+026FD30CCE84AC57DF09B1581ED01B3A840AC5E9208465BC160238EECC7A6753
+D5B65B159FB08E0DFE4C9F2EF5986352C0E0C4DCA0EE62EE5C19BB6C486FCADE
+99D3519723B70B20FACE685ED8D364905EA64A15981B00A6DC06D7B0E3D38FC0
+9DDF04221696F7A8F3CC7FDBC25A61D9AAF9F65D3A64BCAC4084CF13BBED7195
+6BA4C2445676804C333DA6569E4AB7E6999505DD1988C3E62495DF61B722A6E3
+00ECC4EC698E33F7B8225FF591B746E449D2D178880741074D0C3CA740312D21
+1F8B0B1A855FCA081AF1E69D14C9131B1769943EA6D5D6210E10BBD9E404B445
+FC3E2ADF8C9AB6AC07BC2FC0482515625523C04303F7884283D5CC35A4A6ADAF
+59738F3DDDFB51E7134327AC4CA577BAB076F3B588FA3828971FE9D561F46358
+24BEC4C7F84D8FFEEAC94E2C632AFA5AED635E867AD362E373CEA718C750B4B6
+954A7CB6E4CB2614A4E1C707412B7B09F8969EBD5B6510B66818A2F5AE4EFEE5
+9DD7690A3520C477DECB7D61FBE5F84D1C655971FAD7CDA78E695C18908016CA
+48B468BB6B43EBE1DDBC49F43B7CD667B4131D7B0C9BB048178A31D0CB70A76F
+527DD352F7A9F0F35226117FF305A9DF4AEDF474FCD5C7F31FB06D4B2CC40629
+1BE1F40B6347201F84BF35CB5155BC4D2E1DF2A5C7613C27A0EE77BE55A744B6
+DF7DA5741AB55F133D518660751B0A91E6BE43B527E9C97E2F06FBEB58DD0215
+BF4105DAE1B2A29DB05FA204D0EA6E574C7344C3B3F44092F7F997654D61EA9D
+4C811CE6087BA1615A31F8D107DC64F1CFF707234135B728EAA0ABB475E678D8
+9200950F24A8A61AE6AA18F34A067849825FB3925A8E01D64E849546FF7F4418
+19C0FFC2EEEEBDC7805612F7849BBA7BBD954BFDAF2E6FFE3CA520B79070F8E6
+B1509EE0040714C9F5023816250F40FD1C6867F77FC8ADD3A16A3A6275CD6F5A
+21BC03274B350EEFA6EE929AE91DEB8D8B309E3B3524807B4562C7758794A8C8
+4E3C6EE0C0859AC9B799428EAC242BC4AD9564F2444E3C79F11D4C1D5672DCF3
+2E191E25165C77EEA2DB51753ADE07F5E7E748704000265649A2E1DF68909F38
+68F0D5F415330C9537A065728D2104C34CE05458AC1B2A53946890DFDD67563A
+E044E7AEDA111FCBF431546D410D67602985F6E13988999E46C80A983C7F12A9
+FB56C6735454F1E194F63A1B6B21683A281AC6164B3229AE25B1189366C9DDB4
+09D1BBC8429AC3D64F8BBFEF1265611E7C2FE1D3A2FE24FBF3ED96A5CBA6FCA7
+847F5E3AD4D14C0C77C225588FBD0DA2E960FA3901DA1B46B796121DC804FE82
+C382F75AA0495312A80EF9350CE0F80CE0D18316E5D02B7BD78667C2DAABD879
+E17D5EB8F274DD2B1BFBC04EA2F72EE5376D01DAA129FE257162BD19D19B13CB
+C13181E6DBC12826AFFD87AB152A59D67D0FBBE5D9CADDB1CAA8C27689355AA8
+FDC556015E4A9708995E51E46D6D1ED7B68A61625561FB594B9BEF87A1720222
+64E4F8A47637705CA32B1B4CA5B8473F1D67FCB7E4041502B7ADA9FA4B16CC6D
+282FB636979D3DE7C76F3000ECA08AD6E116B1558FADCA251D67FDEB4607CD3A
+84BCA7DF488C97FAA4FC195661D7977A08EF04A7D9A2D619EFC7AE291D7DA633
+C6DBCA7DA01EF336E378764F6B4E4D6C517BE05F10BD1FCDB20E5ABA7F65A8FF
+17D93CDF1E60787712C40775A5C3808AD05A2F276C94B05E10C6042604F592C8
+AF1F25B98A0C78AA7BE1DE9ACF2273965F0795B0D79ED6CE2753FD0FD7B41A18
+FB490B06B5467561DFE5161C27F58E48EA5F38A5477C9CD0C2FA13683271E55D
+8B08DA0C96BDE97C653B0B18096EE7C0E6BC3894057F14E83A902FAAA4C2AC7A
+566A9EB8F9D622476DD4E722F55F28230124F67501866FFE952AE93DF5BBE2D9
+4B9CB9955320A9E256E611EA3838ACD9073107936226140ABEE92A096659764C
+4ED2485B33E75BEA57CCF19AB9409B684EB14103ABF6811E7A8C0AE0C0C11BBD
+87801F3F0260D04A8921FB9EBDA2A2048F4B5C47DF63051A0BA6DDBBD895E0B5
+F9F0F3CE62CB118B86AF595F4F34359DABD9EA354798E8561599CB32345A43B5
+93B217C43E316BD10BCE1C66A10C9A8041A14570ED7FFDD95AAA76E92EF52042
+69F0B8FBE21CA4E37647DDC890D13AF489606195900063DB0CB8D71968C1311A
+D56155D2B2382119E603AA85E9ACF1785E4C0ECA137E7E4F5EE7915E8A080509
+02FFCD2494DA2D3B2AD27DE5F11684BFFA2366B6C834AE309D8E07F98B7B556C
+DF3E0B42559610F1B78C79254AEBD7B0F5B3D7F420BA725AAA91EA20D014334E
+8FE221BB02BE7B59FC3D03D8ECBAE21F5E37E4A0352C475F9F29C5D2FCE8CB9F
+2A059AC06AD9E6F13C39F2781D7D4B3FC34291D165E5C66C5D01B5AAA2AE8F72
+9B3C634FB38FCF35283792048BACA9F7EE6789621D9243B917234405BF194BF5
+A4F137680ED10F216076AA2767C1D220AE71EA7393C7E252209B6ABD94213AE9
+F61FD2CB3160F41C4328DB8563483E13EEBA83A7935E4AC11A97DB7988585184
+6BD3DBB8241EFA1F1DC5CA9C2E16EC1EE12CAF4471FA83605DA85672B34B1F9F
+8CDBAB6907D6CAB6DD7E00A7D636EA20961BAC97D1AAF32C8096003E096855B0
+EF4845013B9243A29BD509436CA78C6F8DF4F90DDED960A0D12BFDBFCEA539AD
+BD4BF883E09542C9D75DCB8A4AE82DB495B0B918D330979F347A76D73B19995F
+4039557D337FB55B8C5922F35B354F6C8E4D861A0B66B3D803C9862C9C507404
+5EE039245AEDB521E90F83F15E44F42F0802F8DAD6A9BF6176C364286601FC80
+E14926FA518CC035337904132AEAB9785361709CA01AB0F352317294B34B2B20
+FF88CFBCC8E89863BFA2D3ABB2A596C9D9DEB261CFE48E403F88652150EEDF05
+3390F002B2E4B53446FB39C488E3D0D4EF4AE2AD19019710FDE56FE29B58B00F
+0A6D5B26B814BF64F13C35EE903FA2190F460F9438924E1D7158704F305E326D
+66CB529B3A4836DB0FE383EF989C975A2F603332FFE0748E0D695327CC8D9AB6
+E036E0E6409261C30B80977BCC3CFF8FF8A9BCBB889ABE47B0CE3450783E1EC7
+1C030CC18E074E01605908C3FB61B78CF4FDCC8E8CB13EB77CE6FF2BFF91D658
+51FB05DEDBB20B0E4C5604AE3CE6D41A4C8D71A1F90120B1F90C83989B892253
+31D06ABB335DE237CD0CDC91256A54797CBA5E284B6CEA6FAE01F7BEFD905E5E
+139D57E163137B5751A765B46A3AE6F653FF2551988CE792011E0548CFAA6ADC
+E32B876763AF6F6FD6864E7B55E341C97FFA711913F8A7FBCC1FDCB4CF2F4D3F
+17358EBCED45C975F2EFF3FB9F77A22EEE4C9DDE63360DCB2DA2C1AA4BE44BA9
+3F9CE6F27631809DBC45643DF7BEFE247E79AA7937C409986500EC1026ABFDB2
+6C30E0A4852A6976A73AD7483C36F1717460327BBC05DE729E23D370B78630D1
+7E87C99A5C3A3C0FFE204EA81A8A33D7DE80DF3C0EAB557F4E86DDF8E03AD072
+61B1D8E1BA05452A6FCA404D9BB8FE9831A367B0AB31041B474DA9536035E7B5
+EC83DEF0AE17DCE958DA19869DD51F53D4A4BFCF7CFA635D6F9F882E6F0215A7
+0494E76F258D44FF72EB5A1104E8F73AD2F6F2ED337D854B81DF4083E6A2D679
+6B5613D76DA2347118CF009E8A88924C2A42B154DF1CEFC93C89DE0ED8DB26CD
+8C2EDE2670F494DC591E79DA26CF8B5FB76613296FB1F39AF2001BBDAAB12CF4
+3906B4C304CCF1D066524DCF92FF484CC682C2B197CD797056555F318279C3A3
+7AD8EA9CB19724AF57EFC6706157A5E2F51F104F6232F252594510E0E4BC872D
+D610F4C99BC3ECB668139331216DF1AA8F6358EB90CE1F0B8267B878B19BA7E6
+77A53A674E0B029E9142865CB92A1596D5AB97FA12FD05A04369AA00BDCBC2DD
+1AECE1A4AD55A93885C626004B41FD277AAE6DF68161F7443EFA7D9C913AF909
+970F4C6292A694AF033B953CE37116A2AF2439E482867EE9EE2BFE1093A738DE
+24D3C408DD105CE6D7B8967994F7C5CE49FBF61AF135F8F7799E2FEF29A168CD
+B2F16F795FB475204FBC41AB78AF87E4E80F992FDCB770A3DC0501AE1D786ED0
+449956A1BDC93876934331C24CFE4392AA860A1ACCA39978BA8AB90A2174F5F4
+97539772660D3920E1B57E9E0674CD34C9EDA83B6AF1B06B26207FE5D67E75DB
+B170F1D01D512CF6D586DABFCA32404253F0A9985A29D46641A81D5A810469C2
+8081D7774B3188423822003AEB638F21661E0BA7AAC765CF8321F9677C85A562
+88AB1320B3256EA9FE0C67E5B69A5127DC1B13E4062CD0C9ED10AB36CD370105
+8FA04F89E3F836B01393F1E9365077A30D8E46B67400DDE8EB0AF8C815729699
+469773FC3F0ABCEF752A5768C9DAA1931421214E69053775A238553AB6620E9C
+E875223681E60B7F7B25BEFBECDD4FF799ADF34BFB397AA114515E2133304A57
+B422E97EB3FC5314F64BAADDFEF9C0EC719A78915B26E7E3F381435563F650EB
+7587F11CA3B14875F6B1D817C1EFA0B89C85B888E8391C74D77CBCC6A990C36B
+1062D049E20876B40CB030367818A3CD3E2CC354CDCC9A0FBB8DFCF7135FB2E6
+A0BB0C3A441CEB8D5FE849AC7299431DEE27CE28B33AB7E836D6958104D1777F
+8010546687CCA23DB48E53376A446136F449A92C07102315D4D0A897521313ED
+1A3A8456A70C16EAA50A3E67336DC89FEC56AB54A579EF264377A103939D5EE0
+0A90B4F20AE1F2511469C34B5984A04D5AB8A162F18DBE4D613BA1C1C85E994F
+80AFE3C18A045148018045C63376CDEEFAC53A55DA67D5980E3A99CC1C981FC5
+5C25CD0A685E3AA6F8C0B8FAAE157DB91AAA50A2B5F7D8860624F29B8DD87606
+C30F84C33D802DD5B95E090BD7AA4400E090DC1913BBC392D7E5E87717AB14C8
+A031737560F3D132BAAC0D6DD88C586322804BC2D8C505973F015F7662571FD1
+C89CA0281CD48AD84B9ED8D70D240A4EFC2715DBE98E545B987AB64FA259D81F
+3F768326717675A3A2E22F4EEEA22A5201797C6D5EC644318CDA28A2C3CCD123
+B0159205FD52E1F9A60A69AF7B40C4F7189FDED20EAC3869E5F53F4955CDA0C3
+2B06D72EA2B8CA5F0B557E9A36B8E9BE7EEEF96B5EDCA6F79F53F83234B2BD45
+6B3D631B1C9CBF7D283F377177C60B3D65ADD945D31458164043A17B8DAC8409
+B4261A4A0EB36E18BD104A8E66F45C3AECC07F4E8FA9F3D2A27334F95AB79BF8
+06C18D57EA745116DE0B36C12B6F5411A9805218B5A31731CA0A35D9AB6BF5AD
+928726A6EA61E0B69FF0F4FDAB2CF5B222FBF9BDF4F89EE47373AA3944678328
+1EB230EACCEFF4243D6B4F8797482DAB78C1A053F2800144A4C76BB839E536EA
+2D4DCEB625DC0F754EED8BE3FA53A7AC3ED17C92757CCCCDCBE21A9D733291E3
+61235172F117D4B8305B45D7728DBB2D71411954EE599B0EE786D7603D61CABA
+AB241062BE3776FA150680F9CB8784FC7A94790FBD2922772EE886254B59D0C7
+4A4DF7A2C1C4ADA1DBC51CE27D3FFF7F96BC5FF7382864369536BEB2EBA6DE2C
+1C427990F6BC84E92CF718BC6D4CE9EC1F2DDEB8637AB1FD673C5BCE1A090146
+171717B39B9A83F2DE0B79CB1B836390828B3EB6DC397AADE45B21F55D1A3583
+C3A5BA93A4ACC08CCA4DB80B78AEA6002D80C5513A705E7232938D8423FFC72E
+1B96313ADB255D43E2676DD2B00B51D116A328164BDA8475741EC234EE6581DE
+06162F006405D6D823DC47DDD14536BB530D132975C0C436F08F9243F1A9AD16
+898823B8E2739B4428E62CE0E41C291157F1886BF937B3D3B9B6DF0D0EAA38C7
+D7F17D962490AF81157E76074422D746EBA97ECE803A205B482B03FB06D080D8
+05CFE4868E62494AE445824BC127FB7367DD9F70B2168F2B8CA0CF190BB838C0
+67563169C8454E5D0DA086467F1536F5E8A1E4D3E727B1688F745FFB4F9E56CE
+4DF06341FC891C28C943B570A7A38C595E07707E41935285DFDCA777CE731DE6
+B46EE9D1C3D61DB6EB8434F17B15274840BEB842587F3B9AED05B97988E18380
+9095E88840F703E9BF997E8A666691909635B7CE630194962E4183C3838D9401
+260A743CC9A7FC4713C309364EC95DE29F6D6E1FE8C348E25A878C7133EEA500
+102E3952322F6337A44AC6070352D2594952A1234035388F5E4A9BA075B48F2B
+BB86E2FB3FADE2F7F18B865A1C5CC0DA17E34F9F8127A8D020AF96CCD64B5BB9
+90D31E59E4B8258173740252A2667C765A7567788E9F64EE4F71E704C8F7037F
+43BAA8BC434FD9680AA039F1DE6EB2DA3D71B47DF439558CB59EE04921B2E186
+4F99469C7FB363F4D59CCBEEAFA09987B5978A87A278F8D21AE383FFC43C30B4
+51DAB7F784178804D2BEB5031508FEB0ED5ECF846D99F9AF8DF98647196DEEBD
+0EB21449B5C2CE51E49A07044356A8C6C8B9C3F3E00BAF3B3C58A4DDB1BB6711
+98ADCD04C76640DE3524BD0622A445AD11BB43D8C4628D25551C686B0F7FB8E8
+1951064B4E1834FF5CAA8BBA6DFC1B2F6E8A9A91B0267E96D73A17951D0CB96D
+4B8F9CCEF3C84EAEC4CCC5C1E4B7D14AC0EFE5A42FF7077083405236F7B6BE76
+A141F2C6ECF4A6CF8E183B5D71E7EA9D370D20A8FBFAC9AAB39662E6D1DE6DB7
+00D37402DBAE9347BBF0D65ABB6224F5E5DA0FC52A80C3C2A0580D065DCECE2E
+FE228239DA44AE72F8730B607591F517CCA3BA9D94A72BFDE1AB707BF3B45F5C
+D26C958C757167ABA99BDE64A35AF5C80A1450986080788AF2E70979C4696B5B
+057E03522CF0DF8CFE4F4ACFE7114AB435241AA75EACFF4131EB35987377FC45
+32E001C04839E46FCE7C80C0AC8F720963876CE7947198C2DF6AC8869E15EC16
+D6867AC12F40F7FC462E55952C1CFD9B01A7513A6C0D273E88B504BA4429CCFA
+E9B65D65F8B3CEA519DC3A48DDF2185AC8B1DF1AE3A3115352DC3C7E17413B20
+5E111B8140646020648F9677A27019A909954D5C4C02366F97D8DE10A8EAB4F2
+D6F6EC7137544FB6D10F9577490D9588B730FE9A349A7F13641DA4F0C6A8309C
+E5BC7E0E00B732FF41483EB5A5751A722648BC8C8C7996060C9118EB00C227C1
+2BDE3E261A4CC4D74A0F20733C42AC4E1D88BA79AE7124C17057675387FD1E81
+CF24F6AB1512B8A9AEA7FBB6E53D7DAF283BF863EB3DD7F9F55C21A04F1AAED8
+7C854F0EB136FB76BB96D8503D6844B79000254377EF99CB72433AC6DB6C8CCF
+F47E4D44F2B4BCA4F750BE236F541C763CC890DBE03F39C90EF39A352FEDAE19
+B261BCCA04AEC45E8C9D3276D4B5062522F44A925B555A6EA6E5F16C33474080
+C50F068696F90B465620CCA8B2181CE92417030D00AAE28A85BB1A31B0FC5A91
+404F77036F0EC33C21773C46EADBAAFF95C07F50083319EB83205F2B8137B343
+02AC094DBCF0506C3CC757D3663A9C06B49FB9B251DCC4D2708499C877D26D03
+4FDD5735D5EB233DE2C17258DF16DF6D4974916F5A6D014C600CF7AD18A3153A
+39EF17B01F13524EE7DCAA5CCC0D80EEC526F59DABA970CB5651CD6E9E71BF4F
+09F7356C2DB0A1DFE82C4C4969DA1CB1D0AE0E263A53B8F0529AB5BF0FC1F653
+DEB838C8ED968AFA0BF8D9B7D51A645C95A415931AE587DA37213C0C51CD34C1
+66A69B1FF7DA7E1A1BCF8496AB284E326786963B59D9A09C7AD30115FFF92536
+FE458D70AE2DE5EFBC54763176A52565111C05A0E81468F58F5BC98E55C12193
+DBEDEA09AFE84A9292983E882ECC6620278E7DDEC5C6D8FCA4AC3DB1FA0E39CE
+B198CBF6204C25A8BEEFB45D53FC0E6895B29AE2F95160723B11DCFC06E34E0A
+D4D216A8148F39767D142A14FA96E7F0B92DBB7886ADFB4E55B7A7B4719AFF55
+0FFCB6C913D3D0A5287EE3E01476802F3996854E1C43C5136C6BF73ECA3092CE
+5A42AB40AD6B235330ACF421637A07B4C473FE0F8373D3721C56699078D0737E
+A90587194647F24785B302C756C44D900E0286628A3C560715D504F578890B8D
+E836F9B058CE94DACA1E8D1F985B6FDFF6A333BC8FB9E0CDB5215E2157D7D044
+56CA63DA9955A67AF2E74AA249E4F4E9A6740195F8F7F217B724DD78BF229051
+CF865DEEF4DDA79B66C410C224CCE4E887184A706A278A6E280DAEC8A6DCB4F9
+729E9FA77B7A71210D5E9FF8493C6731A2E06CCCAB2DDF2609462F7AE842CDAC
+3B330E77DE11F8933D0047F2AE7C1511D91C9EFCDA71B665F941ECBB02C25A0B
+9F93498EC1D4FF58630DA69C0EF224669A64764A2B7CE2AA28267A54EE7D6D30
+3129BEB24FDB02F234C87DFED18F99AEA42292262E0250275E3CBD337FFF75C7
+7A24D5FC81E9B92EF35EAF2C94D9DA8B7CDA46B4D5D04B05A8012549600C01FD
+0A479208058DF898F9F2D66CC5800D3AAE341037684012239F852B33353B90EC
+A187BAF521E12266FAA1F2147B524C14719A22EE48ECD5C1904403F6D24B423C
+6F2581355A55186009E57266D206DDED832CFF38AE62A7C4C2AF813A84B38867
+EBC5AB8BFC2F6DD92ADD7C25EF6861A2E858CFD9E8071A927E8A6D21F32E1D2B
+3841261A0A65453FE299AE9D9F92343FD3E59BF896BE4F8F5E37301E1FF54445
+29A78ABADC532F573B3AA814A2B8E8F3BB7384C9B1E2CF076D6A4CD12735B732
+D86A6060745C3F2259532F2F736121695C9E68DF2C492600351418EB5A898BA9
+EA56103B5E362C368671D30A51312EA1ADC0D461FA7AD0AD0F1E12138DD4EF42
+D95EE63303C802CF9323EB0BA982F0762222D2FAA808075BDC3C98E921F335E0
+A165821C5D5D94B74C9A58085EB4F4BF49D6890F31D0A36188CFE1962C14D5C9
+4E38FB3CA04CBBAD7DF0B93B54B73981C9CA5B0F29AD880B4DBCCAE5362BAC2A
+CFF5287031DA97EC29D758332CAB38B1FD366ADE966771B5AF7472B9CE45D1E1
+4C8E7CCE80EAC82E3F862AED69465CD0A5BEE34490CD77F0B0AB6283D0211F2E
+AB4E11B8C82EA079623B4C72C5F515DC6328210AF19C3A7DFE965AAF74D505DC
+22EBFBDBD9C9D60D6D78A00BFB189B951C63457EAA2EA85914C8B170EA410468
+2E73B28DD36AC2BC59970500FA332488F1B926EBEB43F37CEE560190963D6862
+0C8F7F9CBAFEA3855503B8BC04A75CA357C3415584E9A6E7AD11D3ACA0E48032
+3263292DB49F5B2D68BF08438B2DD99B53CD91FF206FBC520CA93CBD1E94AFFC
+57A10246AE461AF37E2A30DDB18766C17506A9913783A336C9DC4948E7B78CE4
+F773A12606424260A6885E032BCF4499464C12ED15E0D01A2CDC28DADB8746A3
+81D4AF22F02D075C5D2694363AB65E2383B629F572B6A3327507A5D0A0E3BDD5
+8ACFB96368A60FFF7F1FDDB27FE8CCA96B64022E2FCB6F0BFDCE088C3A26D8DF
+DCFAAF3A2C3D404B7A6CA002C9DC171B02F806F0C9B7F571B5474F4D9318A005
+AD6A983047B23BEE8F55C980A4255386BBA9B1DFC45374670EBDF72EEAB0E5B0
+A3F2940FD70CE16F5F598C6B0F6A38048F2EA10F68D5F0C6FFBC07BCECBD0E3C
+246A53B0483A0A9F1FAD2815B97CF5D3115B409DDFFEE27545D2772043025537
+3D04EFA9EF5563F3E5F6379580EFB79941EA961E77D42B1C3CACE31BA462B82A
+DFDCAE87FDA2392032FD811DDDED35864E4A85EC61B68DC5A55361B3F3B54147
+05F683DE5555BA3065BC0FF577624D6AF22120A795A9906AABFCE03E0399B7E9
+31A53030B2014B57E32A2F2548C4BBD88D112D86819A74DCA21E4F24F9BC632F
+4B6A07180796B05E1C329E3B137C476E7833F42516D71A7E6E8ACC3EFA2AD8B0
+E243EEB86E8764BAD95237D0DE6DE8C96D5A850B6B4AADE1BDE62B7A29DADD01
+D8AD258A291F98B57EB56A7E53CA2CA37E400FA52AD8EDA9992538B3DC69D5F7
+55052DB9BE972F8CACF0F1820DF5672714597EBCBDA59BB8A91F8C9D353895F4
+6FFB1301806BB3A194550C798CBA7F2E1799CC7AD8816C97F5D42DF44285AAF8
+D94B22BA2DA93B961C3447A9E36E73E62C3158BAB675BC46BE0584140D58621C
+F80E5225EFD57459055CB5FC8D17E3FDBF1355A4FA515E39663EDEAA66BD677D
+E9FFABECF40E2836AA7CF8D7438C244BFAFB343D1866A5504D55F6B5219D0FEC
+980B7B91C718AB802A8C3EF19D4C33550034D686D04385DA603A6A099C986622
+00C64E39E27C95596652640F26938C248D1FA7F2ACAF5F0DDBC70F8C6DA2EC74
+315C590692BEB807927B7A60F16061AEC0A57119A73D88FC3EACA1BE1537BC80
+CC963B2FB7EADF916B506C78F32930FA2159F23B8F9C8FC73FC998C972128278
+590F4000F567F85A6362284DAEDDE4E7996DF5F18FDD5985AA379CFC8D501F55
+62F68333676C1A750B344A8C2950024AFFE8322B86BEB28B00B1A179F48B2A7A
+3B814C840BD47852FA6EC5D1A6948BE58E5AD931A4CF3249BDD8C945CD9CC2E7
+FA20A3A6DC3D5E43DD88B1A85003CFB546C6CE4E5278D0C60DB1D6200AD5FA32
+682C9E3F4B5C95D0788CFB2E2BB042ED6BD0A9643F8B31DA412CE97F665FB356
+08488ECEA5D18F6C38746545422F700150D32D86ED59AD1F7A32D185A38D555B
+3992FE710B379B4CB6ED0612FAD4EB10EEE8B915E40545EC924BF0434AA2E15D
+E8958604E80F2EBA44CF0F3D0FA461A20BC31369FDF487BB8F820D226F1F5013
+660B935F40F6FD5BA538780E569618F25120F26CB6903786F0D38E20F504AAB2
+52D7170871A73C6C9FEAE12A0CDDFABB0D133EBD31598CB8D14A1559DB8CBFE4
+301BB7B8C811D4612F91496FCFCAB7D110639F49BE71C3478EF633EBE6EE4ED8
+B7AC835A975B2FF6684810BB0CF57BB88ED5FF8A00FD00F28F7D46F8BA089BCF
+F7CCF4DA30DEFB2330DBEBCF928875F40ACBCA8C815F7B3A64E297CF3FD626CC
+47D247CCAB9B7B772BC934F0983E6643787AE1F50502B4D6DD3824F3963AEF8C
+62353F8CC09FDFCBC69B3EF51F1B2CB8907B8E26E8792E22DC46B9A9F2CAD94D
+0916F6FB3F189B5621D374878E636EFD089E81B7DA5C7F67131B267AAD36124D
+E3DC8BC08B7FEC1D8EFB873798613528E04B694780E2C4AD132B212D59CBCE57
+EB0D92B5C590ACE21F79233FF8FAA9F03141F84CC59AEAB1622A76034539DF61
+59DF9E448B7DDDAACBCBDC996CA2A2D2281A9FF9DC3085FAB099E0538174DA8A
+480E6B2C82DB804FF228992270E1039CAE24FA6C7ECCF47FC8FE3DC93AF5CE5F
+FDDC9D104966B8C098232486727FFF7D7174451D1C559AB0AB4E75BC64785F74
+2569C78EA16F0F516CE3065C483E6923656E924AD61027D7B2D33F2FD97B783B
+D7171AA6C02534543F76F56D0D397C8E981C0D32DF71845ECB1B0E8DE3A09FA6
+A232C2B120A80FF68B779710493AF2EFBC22090C190AF97C4445BCB7690518C9
+4E59517C36935BB565559D1F36A1F9B6C9B4773265EB63902568FF99E7CDCC8F
+9AC8F6A1130294527F59187DD7E69A0412D5BD5AD4E1EE12C5A4A5E21E460D67
+16A5F7279FCABCA3BEA9655A159036417018139F31C43D2B50F1EFE12DEF52FA
+24BC855751201D413AD322E884CB4BD220725C53B4534084958FB53862A9CF34
+996E9491B848A9827D1856E2F4E83BA71C15C2132B64967509802798A11089CB
+47E0474D0D62AB4BC9AB39B7B41F93332B2B68BAC5979BD46403FA4B079B20F1
+E36C5DC8CDAAE3C5D97A289538A8BFB7B2F425D94FBAB3632BD44064EE1FCC01
+CACC75076BA87D29A4079B24C20E5AC57645B3BBA1D67FBDCDEB134FBA62E011
+F50B8728B5DC0E0517EB39551A6DB31E332CEA857E8E5FD62C8204EA4061018D
+83B9A441D730A05332FC7FA9DD10C9F785B14F4A6B9CD06CD0C3DE492FDD9B4E
+BFD04C5E38B10C2D12B10A1475B753E1E4906D4EA72C7F2ACEE0D69D0FDADC9F
+982B151078F96328E9909A9C39F282028EAAA4CA6D95938D8BF9CD1034CF0501
+9AB0CD7B19AEFFE54EA25BB0418DB5D068B68DCC68B45B2027C5D534B9D66984
+CA6ADA7A52BA677F8DEFFE844656347B514ADB52AD0509FC0F9986D8D33311D6
+C014E6B8BC0EA58721D9C4D92A55E8B973FE59BDD6DE5451280ACFB0C2FFF54D
+FC5184B2390C02BC342872366B98CFDC692111A5D2D5322AFED9C4049B1A5276
+9283F09F362344DEABA5B5EFF2748964C3D3149A9DC92A4A7B66E1C8E3F2D3EF
+075DF53BFBCF1790B255C7FA87B398CB4DCFDE1692673ACE41A49921A00F2E96
+F2909E3C8DD7315CA1DC44A9F504084BF32B442B72566E9041BCEC2DCB2EEC02
+532A7864D00CD9AF4676C0BF7ADD7F82AFD03E94062B2297B32EE22EC57E39FB
+82A52D9E53F446CB7EB9E1372CF30C269C4CE5BC6ABED3887C679948711CE525
+FCFF55A15AFCB88BD9B03DE2D4A8FCA7F1A5F75124677237E667DB4A19ECD57D
+9FC9EDA5A7DE854C8C862AE0133C993D19643BC7ACF722FFE9CBE54987B09E21
+BC24DF15E8669F1B89BB7606D791ADCAB5747F29DC814A33DAEA5E7E239F9ECD
+08DA565A271B15BB9A0201B80999D067DD96AA2BC79B4C5FF94127F50C5C62B9
+C0F805F54C5C11FE40952D962624DC8EB57C6494780926F0266AC161A7D6538B
+5E536518D99D9397B37199ACCDC7E5D506782ACC9E455A4FF2EEBF6E32804402
+6CD996ED3FD8D834B7BF693EE569320688672BCCCDB2CDC454A54D53D2F58F99
+B6F3FE0AEFBEB573FC054159F73E5806B9EDDD6CA00B982159CAE4D6AA001322
+1EE16D0A7F1249277EE4A12249864167F38DECCCEA91A86514425C2677589A51
+CCBA755E7A82F864AC991071504DCE6C21253F3C952C4A8844826D2682168573
+DDB07F5E27A4A5F5DCE16120B0AF579C546B73BB3003F0821A071EAF4DAE7BD8
+79789F0F4B9198716F023A0B79E021F588D0E60E8B1BBCD4C4A0065582AA89E7
+9097077CAA4A35D34BFE16290ED3443AB1ADB5468D78C3B3064E96BCFF71EFDB
+BA0AB8A4D2439A51F31591622B7766078FC2D5E7D6F727898A197E818992AC10
+C6199531D60C8E8B10AE0974C979DAF7F30EA87C2A52A2394D49C8E76515F861
+8B596E17FD9B599DFFBA26C8CFDECE79DE4F871859DE9D0682A68BAEDC176967
+60F808C7FEF13F630E9307BD239914F8774A1B7072E27EF5D7F1DBB7AAF3D0C5
+AA448D07F6808A5A72D5DBB9EAE4B9D906D256C1C5691386EBF0365DD89DAE47
+66E2C29C10A1A3D1D17FFA107C5A8EFFBC7C8431A12536B464AC96CFC79BCD12
+CE09467797C6C73097AF2A9A948244FA7D310F1EF9EA900DBFD80B822B5A7B1B
+0AD222516C5BAA35AD8588597FDD75721BB4E23B4AE1F79835C8D6766A18CCDF
+F179A2510DA9DE4D5BFDFE44E315661D93E1634E7F043D9A04B6428D3B9AE1C4
+F22CB3A3AC1978C93E0DDB57311825AD1FD13AFCCB67B2391E967555F9E3A3B2
+4F453091A719A0CAE3CF514BC9B68ED65E928AEEA1E61BC9AEB1EABDE876522A
+9ED439A92433CA8A95B441D19C1236F1B1EA69DCA366F92E4C3F0D4E1151CEF9
+C083470E2F8202C06EDE655E14B239D6F5F4458E30414DC9A247A10932BEE664
+946450341BD1BD5C3F5A6111D1BAD32EF1EB5ECE513335576A9089BC3DF2A586
+7CB8CF140A3B9D181AEC90CD17999B37F1947926B2DC12DACC6652DB4E399C6E
+B878862850F2FF07B04A16FF88E81D97AD93BE222C39C9BCFD0473E04C26DA09
+CEF8BA97B832790D52092DBD362C987D15D6B3E586
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+cleartomark
+{restore}if
+%%EndFont
+%%BeginFont: CMBX10
+%!PS-AdobeFont-1.0: CMBX10 003.002
+%%Title: CMBX10
+%Version: 003.002
+%%CreationDate: Mon Jul 13 16:17:00 2009
+%%Creator: David M. Jones
+%Copyright: Copyright (c) 1997, 2009 American Mathematical Society
+%Copyright: (<http://www.ams.org>), with Reserved Font Name CMBX10.
+% This Font Software is licensed under the SIL Open Font License, Version 1.1.
+% This license is in the accompanying file OFL.txt, and is also
+% available with a FAQ at: http://scripts.sil.org/OFL.
+%%EndComments
+FontDirectory/CMBX10 known{/CMBX10 findfont dup/UniqueID known{dup
+/UniqueID get 5000768 eq exch/FontType get 1 eq and}{pop false}ifelse
+{save true}{false}ifelse}{false}ifelse
+11 dict begin
+/FontType 1 def
+/FontMatrix [0.001 0 0 0.001 0 0 ]readonly def
+/FontName /CMBX10 def
+/FontBBox {-56 -250 1164 750 }readonly def
+/UniqueID 5000768 def
+/PaintType 0 def
+/FontInfo 9 dict dup begin
+/version (003.002) readonly def
+/Notice (Copyright \050c\051 1997, 2009 American Mathematical Society \050<http://www.ams.org>\051, with Reserved Font Name CMBX10.) readonly def
+/FullName (CMBX10) readonly def
+/FamilyName (Computer Modern) readonly def
+/Weight (Bold) readonly def
+/ItalicAngle 0 def
+/isFixedPitch false def
+/UnderlinePosition -100 def
+/UnderlineThickness 50 def
+end readonly def
+/Encoding 256 array
+0 1 255 {1 index exch /.notdef put} for
+dup 46 /period put
+dup 49 /one put
+dup 50 /two put
+dup 101 /e put
+dup 105 /i put
+dup 110 /n put
+dup 111 /o put
+dup 114 /r put
+dup 115 /s put
+dup 118 /v put
+readonly def
+currentdict end
+currentfile eexec
+D9D66F633B846AB284BCF8B0411B772DE5CE3DD325E55798292D7BD972BD75FA
+0E079529AF9C82DF72F64195C9C210DCE34528F540DA1FFD7BEBB9B40787BA93
+51BBFB7CFC5F9152D1E5BB0AD8D016C6CFA4EB41B3C51D091C2D5440E67CFD71
+7C56816B03B901BF4A25A07175380E50A213F877C44778B3C5AADBCC86D6E551
+E6AF364B0BFCAAD22D8D558C5C81A7D425A1629DD5182206742D1D082A12F078
+0FD4F5F6D3129FCFFF1F4A912B0A7DEC8D33A57B5AE0328EF9D57ADDAC543273
+C01924195A181D03F5054A93B71E5065F8D92FE23794D2D43B233BABF23DF8DB
+B6C2BD2F04672F9A3B7FE430263E962F16A948319C51B8ADE6E8A80D3D88023A
+6DEA4D271676C2C8615C4A0EA7DC8F6601610F398673A4D4B905F49EA868FEF6
+39BE073001A36DEA6C08ED51452F062B971740019692E221F4455EDE46AF24B8
+407A98B791F6AD525C72C09776247E194043281D04FE1CD1D8AD8DCEEC3045B4
+F95B3B41CD3300768D8A049815348BD7AC1004F5500817E3A267D694AE108BAF
+285B288FC5F28A03E9D34FE5D9B2F9A9BB26ADE66B1CF8EB5BE606E83D213C33
+DE083C20D636EF780E761944FCE3B8A950B1E6E7568F33B557C6D59E0CEAF185
+53E609A4F58AC4D5269116F958C4D115C44B5A6DABAB79D3BB6E60BDFCECE108
+74CFBE258779F32C80CD7D9A7CEBA50A0966BD9961F71560119668C4A0C30A5D
+ED91ACB30940502B24F33906D6E0F16F81DA87EB6D7FC8B7853BE388C40D75C2
+2CA8F94713AAA1561F5321CE97997CB4AF0E37F44E25B0F73CF4986422B1CD89
+8F861CA623004ADB1C28268D7F8C484AA10C9519B6AEADC95AFAA3304D60E85D
+718B2F67D2B734095E5A92C90785252C98067DC05137BE735220BBCB7C341D61
+C4B98BFB1EAF883D38D7A93195A059EF82B42027F23B6CD633231D704B891A9B
+03D11A646F13898F20321D7BC150C63FD6DC6BF9CAFD8DA759E95384B729A0B2
+767B9F3E55C682F7A248BC1184F7D294CFFAE0B246DFCC8F215625DDD4F49F09
+FA8D41CBF4A06152FEB152C61539ADF7E70A4D23AF8267D25CE3B12D39D62377
+547E2528D18DC4134FA3BE0437EE0B3509223D71F06D44C6227D62BD01AC0A2A
+3EDA975E894371C07CA1027B102549A7D552FFD25ED2DCC68E29E71BBAB43C62
+57B0BFC6A953ABC2EF703F35D112F6B5460018CDCEAD17F149DBE5B52C2B9E10
+9818EA6D97C8AC884F6841C9B600A7D868F59C1D80E98DE0741D06D69858EC84
+1B33C6C9938B7E8A6FF6C12AD456EECBD3EBAF0D7331536B9F6422019FAFFFA4
+822E79D6D89D6366DA636CB708894FEF904F366E295F1CB808E78E883913C4FB
+1631248ED6A7CF1095C0C61C4F05E4B9DFC47533A5FD24540AD71A0E2907B98B
+28085EB88ABFC3478C9644594C7DC4244ED5A7C1CA8D960B65497D56D174645A
+B88F12C2CF0A807DA314017984CF3C4FB7F47392A651EB9CFA961B28E2989893
+9FC4D97171BD5338673F5D1CE2C3C08D48A1B77769F01D5058236C655FFD864B
+80E28F900191D4EB349AA5E400A7B0A0FCA0F3E79D7A7C69775BF754329397B7
+D18B20B2683CBC4A19729BA878B3C17EBA0A7E9EE297A5B67E915CAD92C8F356
+582B8299DE6A58E73408F525F7EA895C48A8F0D626A06A96A50348DFBE479D89
+4272576FBB0CD332193D28A8F11503BAE98F8E1D73CF5BCADF23DCD4E6586ABB
+323568F5A34E359661074D50CD8D9DF27191FCE24F10225A5D721EFDE2547E1D
+CA998077D2340B1A4ADFFF570AA677CDF3305D5E3A394BB1626EB35074D4EEAC
+2F037CA2EA389F7683FD17A8E07C12B4CB3BA8C249C9B12D297C618009F76717
+0EBF5F2DD39A6BDA10A2E5A811D4E190660F5FDDBA29201B6F8042620397AB2C
+E59267A7247B0463891831A6F40582BC3F614E5167B646A8F53D8A31717DD9A1
+9034034E705BA7884F0E0738307AF69D3517147C282747F2788462FDC4336A4F
+9CD222908401A25F0A1F7B13B8DAE622DC965AD0BE62497420B70C04AF432237
+E0FDD043456187658ED93B0F9822A3998511DF05E59CC85B7B9992CA0CE3B814
+9723BAE70D2631F32B4BF93511F67179FFAD2075E1591CA5907A4C67701B56CF
+A5E5B02EB4A842BA1F18D6864E5677359C2FB4AF5BCBABAFB053F230CC129B45
+8D15413F736EB07C571521C7DE2A13F2AC1C133D491B0A607197BE9AA1231D96
+BED7968788246B2E4D2BD330F802810F5BDA3760FEA5210CFC6F54748FB1D921
+5CC3624BBA5B8962AA7D94159651589540B17CF7A785F297264F9C1006D36928
+6E2756D3B623A6087E4B106FBA76255903C624C07E18A1AF4E185A533C640711
+86BB477A906ADD36EB6C8F4A12BC2F01B2B98412E4E105977640930CD998D990
+0254A1E5E9843B7A8ADE0AF6D5871E6D3D666465AE69813A2E26333213FF6713
+6F08D55A90C079A56E1B9AC655F720FC22B5AD8550FFF26DA7B0C5A0B60DDB05
+64E8FAF684F3A455BA9BC9278043D79537D201D520E38750335A4C8FEA887377
+879331B68DAD6B253F4FF9981D0F9B9550ED5179B15EEEB00E560A3DB6E5973B
+63403E4E2F40A3D0B937246E9652000B917B1369741E0F913C14C2D2D6D1FCBE
+2CEC4422177C58523715BD070002EC2E13D383A1DC8C84228862B6C5D3B65667
+9FA97E175239BB7FE7E37E14B96DD7960A8AD49DF428CFC13B5D3CC22E245317
+47B5244DA97F1DF954CED2D552477237CB23D037C0DE728E26C82738954EEA1F
+F34FE497DA005AF03746DD2ACF77F6E6F2C224862A1D18AF6F7A5DAF34564387
+9E01DBFF49F8621C058C04C2B3F4F3033FF3E8A977B2CD6B2A3CA4A6C569B19F
+C5AC457AE9AF334DA66A730960C7565E93A2D373C0E3DE14646FFDA05DF4C6EB
+6D4CA8ACCA3C3115764F77B842581760BFB9E5C0EBE55308B0577A8F4D968CE2
+BA3361D79378D451DD150C34D7E901397AC63B33BD7DB13C50D678F5DE999238
+4B4EA15BD449C46F262D931478F5685CDEEC4C4201FC3EFA607AFB8F27AF6751
+125DE42D2FE2D31DE769B7E7FD8CC8C5D91343B537139A822A5BC4160BB5314E
+37501F65B4FC35475FE9E03E34CBF6795AE86CE409500BD0799DE39FA69978B6
+EC74D2197C03632D3F59B85F404DB31240968FA75059B2581B101E028CDECC2E
+7E5E25DFA106E9B8ADB81E82BE9ED3BAA9D03EEB22B7B67AB1262DF6AF5F5EFD
+A5627EFEB84F3A5F92EF2557EDA2843D7D18C592635623CEAB14CC3620F33986
+410D6DBAEF9F86E4E6682054540E2B01D8FF2161F10E66851A188BC15BD6666E
+8D3F21709F196A31EE676D28A2D12639CC2E7020A52910F052E61A0710DF09B0
+064171D05611451BD24FAD64716F141E1C41D3218A8115A3D73CA041D02B46D9
+28C3D07DF0FB668E8E91409C8D0A26A65CD737C075E026AC0A974C9BE658199B
+3B9D82ED95E4646977D8F60717DA4C68767DBD7E8320D5AA1D5DEB2E6B009759
+8282F27D64F1F904830AAB501CDA4D9233FC2F12F77F0FBCC46E6B729C71F6D5
+E6F3EA02EC35D1048394F4EF2177FC5EB726DE5EF2DE7997166B8BE5B5105D08
+EAAC3481FC612665CA112D3F889A0E5B7843EFFCEFACA24A01B6AC2B7DDE02F4
+A9295AA2409A3756BAAB44608DACBB56840060037869455BEBA46F10AFC68DD0
+0563843DF111C6D34911CF13AA6023E5E899060B5EC60D0F78FDEF3E981151A9
+24903EB13ED1A67EA1977449716D1A5A7EDE1A2E9465C9C2B20A58AF02D9F373
+73E627CBF296B3A6A4670C39F3B5EA30D76F0362C81020A1777F0ADDBC6B52F7
+213FEE1718214087837049CF2AF00407639657428B9E8B532F68B631611A3501
+3D9DCA38090E227BD0D6D0FB4130EE866DB6B195C873AFD18DDB3B1E40F740C6
+B3B375ADCBBF628A07A5FACED539FEDA3379D3B60216C2EA6629BE2F65199D82
+FE3AE627D7C67270F3497AE75F7A9514968B5950E2D63C38DA240AF4E6CAE88E
+E25167D179108679876E7C80C85FE1D2BCC2EC9B88BE76A8F5736E8E6B3A9CF9
+42E58A4ECB7914865E67C1468CF66D658206830B9380FE346DC2DC4BB56A92CE
+4B5E4EA9036C177869315A2D9E6CFE97E3BFD7CBE0747D40CE5E8A3A0988576B
+8AD2B1E4314C0D8A0CBCA08844A49F7E054D31BA7543730C0A7390BC4A288D10
+CE29E389A4791305D3AC1BB6F77C805F1032787306F78FF76A20A9E629899F6D
+13356768D33D7B9E294E8CD50CBFB9CA02A193922BD9B4372C912D1689B6644D
+52CAA30F7421E8114D077288119AD9514EF21E5B9989CCE2ABA0C12549FDF493
+FFB39736AC9EB72DAF45E4EA6057527FA9F5AA0A1A3F03C12F7482E465C766D3
+760DA7714D56C91BDAED507A5572BEB51A895F8DD3BD5AAB042650154FC7E4E5
+5EEA6194DF73AC5EE2CBD4EE26E29B1D2D0C458B4850BFE842DDF2EBB4E2A25D
+C6A11CA2D8F346E2B736DF88A3D57BC0380B52396A6C039212699F5D3342EB58
+0C3DD5D01D5078479BD9FD10C07925556C0AB0F03606F33796BA72074549EDA6
+E33644F62CA35207D7421D2727AD8419AD1772789D33405FCDDC9286BC34C974
+A52297F5BBD2E541E8BB473F733AE5097BBC9D5FACF18DE4173B4711E28B23ED
+16E0A6746A60F6FF903026A3900169EDA87D98396E762C2EC963D89197B8CD0C
+25244806BE7CBF46BE60A8F9171731EADFC969C28679B025371E5572E52A0EF8
+B3FD9B4638D03E20BFDEC9345E70B8166D38846DCA68E0D0B4B53629C7E7620B
+45E0A610BCD07FEF8814CF915CFB11119F42407D1C6DC1E6353451D40A382C2E
+C74DF2A4889ED5A3495C3E973565F7178CA190D22C9693C10EB12C1E7A8679CE
+4AFECFC964CC98111BA4ED2BA9B10292A71D5B11870EB08EB483922CE8628A06
+05E7CF6DF93E112B60EF888AA8DB52994EC33DC7277D7B7A4F913AD30257261A
+D6EE80476A9A8D316D190BE6CE0046CBBCED365AB305495284FA921BE0638E00
+63DB2AA4C5F163340BCCD1061B469504DEE350B82FBE1689C1B65D095405614B
+35997D6F0DACA7190D64ABA351705B17B23FE2EE5996FCD607F49F54392463EC
+DD5B944A4B82FA2BE3E75E2946D483060DF99277340B0AB65A2042AD088E2B75
+BBDAB869D1940F64B50D25078519D18748AD64AC5615EFAAF4F3105B0111AD40
+70EE173ABE6A4ACE486B4E5999158A4377FDA6922FAA6E9305F48570D14BC81F
+BFF4C663E1EA9D1E050534F9315A663C4C5DA52CB02EA6408AA473C32CB0CD71
+169BB43C0508A842F400240F0063243B4C459A1FCB3312C41C32ED0EE87F591A
+BCB6D5D3830AE4645CB4D40336DB4AB6540B52E70E1EA415CC6D886827EBC5B3
+EC35CC5C136243B0C20B3C603B648B132B99D05F9B48263ACFA59A856BE74441
+FECF5C6D1FE9D1F4F9942F460961901E16017144C37E83C6822177B2A6C47ECC
+6C47A1104460665E5BCFCF08874008302750EB991CD98D0D8D22B921F90B99B9
+05EE7C39F2BC2A7798157503743C9F2F267BDBE2E8A4CDA7317F81DBF8962E1C
+EC02822CC7F770FD4D08D335904375BF0C6DAA0510771627ECB9EE69C0F47D30
+69A87052989DF80D9F4F19F75B070C3689AB3BE0966453F9D56CED6C1745B50D
+813AE6D7E44B73423AB3778ABE4CD2C4DF40E14C5A426043F7057E2DFA2DAA70
+EA6723F1C7967FECB1E7C1C0CA283334163FBE31C32254490170C3513580A552
+19A5DD75E6C4ADCB12D33517A03318A6BBC7E4214266E125140D8C40F78A0340
+1F95D9FBEC4DCC55B71E89375AA94B0D55646F6C069561480407D0A3AC127024
+D7D1E9ED6B599A2A8766B8792F46D35508B66F302D289405B101A3C6BADA680D
+8C56E2A00B766A4CB155446F862FCF17537A2BE85418E20CD77C4F1F69F70BC6
+17BB5DA8FAA876D0E8BABE273A19C04A8697B3E3CF4725E2C77C8761A9243F24
+96F8AE96399996001A57FD75106745AB4646FB9C6421F1D4EBF3BE533BD11AE8
+14BFBD6D308376B26E08E4ADA490DDCCA94BE8240403D5EB0FE3549061DFB668
+4105B4FE77189546619B6BCF3F9723E278E98D50A17DB8A4C46744FA21760635
+5B332689316BD17C966D466AE737FE3ED7ABC443ADD88D4823A10BC9747ABDEE
+027515AC353A420523F85298029475D8BFD83A2CD00C02CA07974BAA581D2215
+A850E6E4C0A5E17E0EDF91C63FAC18C70093F40FEEAF0350B403E2806F4EAE96
+BF616A805616EE55C4657418C26CAF54187A6684821B86A76F15088AC4D5B551
+66C3CA8DC61E9810858D1204F899C7E3A1754F483134609F6EEE6364B1CC04FD
+92C86EF194FA3249601AD722D75D1D395CD15A93C768EC60A486AE885683364F
+93DA00A865C1035F913FDA69E7D9A0422880FB81EC23C00427F07A5EA3CCB613
+83C859958AC53FAEA26A6BB39ABA068863CCE3D447720BC31A5136E08EE58963
+093AF587A72112D55853A1048A2B1695DB2D7F13CC924F2F0902071260C33ED6
+30893A04577C0ACF0681C0FEC23E5404F844A83BB5A2F8DE1F0792196139993C
+1152094BC36A6AE5BAB4B8281E506F485F0BAEEBBE71E174B7CED1E52A8242F9
+DBDF3E0FBA296538D964EB5B7A4E23B1BB0F59872C9D4FE8498203E3AC08B71E
+D2B965AA6CD5D20DA6C83FDC86F4A5D68A58A72C5BB9BFE9BC755C56B24025CE
+6F24443D3CF32CD711D3D94C7C1DC275DDAE3341D840090F97CB6CAEF274C94F
+9F3BD3AAB3F98BA8A7B5CE5E48D1462DAAB37BEB1C10B410E8D33FA42D898183
+BD4F807112D78AA94509E33C179BF7C9E82E55AA7D09E128A0DA06A330CF4AF8
+5DC861498CE029CE8C1BD15C923A708F2E7AF98E4F7B34212A0CB417553C86EB
+6DD46B0466F1A21D29FC5111226794ECFCA5DD4240C0B8D106CCD7EA6F03E133
+BB7733F055D6FFA04EF5C6F872B4FDA3E42F0F036C4825543D75682ACF71B548
+DED160ACD05625274799D0AE201305DA526E01A3D2A719B1B15C05CC09467F3A
+5627860C0F36C503EE392E1786620F3F2287AFE56634E03566B9B1F537FD92A2
+913166228791871A8F8CBA1A1DA634E8224058052A10FE1E67CBD3FD21A6C07E
+243CBF58BDC78577847664EEA5225EB8D6679AB17C563848A9D4D58995EA3609
+51C1443B752A070D9872FE1643F0677019235AC25DC2B29169D38308F2170A1A
+A0FDCC59E6602197D2815B914041FFC7106DAAAF30CD97400C6D0826A40385A4
+C8520119A065CF32CF2FC5FBD8DFD29222528A7F96FDA533145846B3428F8239
+E50277C366418D713F84B12A5FD4F904DC13DB1844A391FDAEB97643A6FD2945
+942FD4FC5A4A35E184F23304B8B4D93D0C37EFCC4E106D4FCD0DA3E5D2117589
+3FFC2BD1D121026562C55C455C3585050B9460891B006F62D9D9B66695C3D348
+A467C14C0256FA9621CB056E7CD389505194FF463BCC4010897F9A690EA87D9D
+BB3ED4C174FBADB8A4744C6E4A44D773967FD703EC37672F9993DC48BCC8A060
+6CEFE8E6B8F10886E15BA0466AF410B90DF0020FAB88BE493606B6A734EA85BB
+926950EB10D2F2CFDBD182B0F133809612CCF6ACCAD049C8005A42FAF78368B9
+E7684F98DE421BE0A3BC0FAEE024A7BE67E15C8394F17FE84DFD8156C2A3E94D
+08259E15CC657E8CE3088395BF6B5F825764E141AE15EBD186DC049261623D26
+8636705E06C6E4A1F8ACAEA59F91B042DF5DB9C2AB986A784384706A43E5F18E
+42C29CC1CA86D4F247B3BBBC89F3633EE074DCA4AC15B1E33EE4822812A62E88
+C32B0AA57249980EE17AFC1346074800FA529445D18649A0475246A25CF325A0
+BDA06AAF392FD455218B13D9ED577D51A9500B9FB7860716A8E2FB3A8C4BE3B3
+6656C6A5653AEF00184020ACA0BCCBF48BE3BF91E11C8658686C89848E714E6D
+DC158DCD1C1BC03B83FF94C60B1DC71CE8A86B46DBE661C9F8F4677F8A2C7CF1
+E41A91EBDA2304735147BE66CDFF2673F09D408297302124C127F0B35690CAE9
+CE1679120CC4D582FB69550AD34A047DDFCD9D411724554CCED753DB52D6AA7B
+22B0C55EB698ADDBB0F8ED15C971AEF113C74B9E25DA29199237B98DA4023665
+C2A63A837E4CAB38F8DF37DBAB5DC80C0C3FA72C8A70DC76B5B36B2EEADDCE74
+23CF794B66E4DD3B35BF99893789063BF7B01D5F186B2FDE518B2CF2EDE51F81
+38244BC64548AC3433A80B86D6A0CA26D77F403C06D65B7394BF1FC7D06D37A5
+E70ACD844E3367DE4DB71312CBB85ADD21D5A1F99BB8427F252D90ABB66D7154
+EA5AF4A165DF6415A0880AE784071E6B3E2101F0B663DE14DB1ABF8B7CE0E6D9
+D24F9CDD9F80028D37C9CB4067A28D41E879AEFECDA71F649EB3C250BFF809D8
+1E427E3BF24E85C75F080D93E0314883988B3A4A2B72A1B4A3D2189AB6ECFFBB
+C58151AF05AE335200711ED945E18B4BBCE24A8A162BD9BB26137253BA8B5819
+41E759A7CA7CBA129BAAD438E87189F2F6AE7C86F4EA099DEB23705A500332A7
+4F141D8778EAF3910486B2EA25AAD16B60DD804D0E5BAB0FEBB77BC95EDED08D
+B8941E040D99E8F44E70FF842306ACCF65C0AC9673859DB9C3A724238CB8CE62
+255BAF0145692EE3B52643A0DE3E667AD03EEF6C753F57E34AECAB0CFEC7B07A
+150D7151E57BB3A026D50C7A88DF5F480147D87DFEFE463F76122EEB5128796E
+46CB0AF4B537987C2ED552B37D83F393222659DB735F2A293159AD84AF082B95
+6F1454471FC36D805485D619D58FC53FBD6E3F72660ABA559B91ECDEFB267268
+86A75650C3919962B0139409A29F5E3FA70B901CD5D2C49144778CFFF1D5B63E
+099C92AABDAA73D54689812279C95FB7A4F7E840DD53DD3197A4E6D3099446FA
+C0032FD40411E8F3300A8A8934B5216B01D916D41DDB32513DC4ACFCEFE43D6B
+22FEF13D3567B047C6B35C477ACF2E172701FDB0FFFBE01DD58D7E54398EF4AF
+DA5A404E194BCC39BEADEE5C76D7CD1E602793B950256F25871A9760C80B1EB4
+D1E1179C390BC240DA061C9D539B20F4FCFB72DD0C1E860DEA2988E749819787
+F04BA7A9CC3EDBF9CDE46895FE31EF0F8DEB63E295E8826BF920C8FEAE3B2080
+8C98DC43DB22C6537028798198E2D3B0453ED725B774686310F635AE6153D9E1
+8A0514882D4CCFE9D2D2465513E42E548F64A50ED78AEC9D62E0F9CF61EBFC9E
+E8832D60E91796C916FAFE58F51818B80BBA52C1C06D94E602481654E5378C8D
+137E3A872753CCDE4B2618C031CFB13EE91C91335441C434296DDEF61CDFBF8E
+8FAF25DB3B6D6796FCCE2711938D605AAC00F0A58DD1A03FCE8732DE541E5E8A
+41FC87E1FCA5CD9B5E8D63E7A7D6CEBA67D8A83EAFCF490DB7185AD55ED0F43F
+9A1290E91C463895BD12E8A831DAD661E36E1B01ED4C112B8E1D0991D0294BB9
+A13B7E9A8835B12A7133E834379B3477DAD425B7996592FB0395E3B4FEDADF4E
+23A07F6C0E1387DD54F5C8BD071C4E9E4CC98BB16FD06B69192A2146790B67AA
+56FADF3E66C9DE6A975007BF6EFC3BE05801B2FFB32162A41F22B8CEC7D01555
+1B07AAD8C85C6196DC28076CF4C4A1C4569E58941EC067EC4C03A2F8D4D19690
+C2AFC60AB75F8A618D455B3B13A9AAF2BD7442D393B3431CDD133C7C3BB39FB2
+4F9C16AF9C4EFEE51EF298B5F6040755C8EC13E0CB4A7EF88E3592E577E044F4
+2EC01203E8C0EDE2D696E60DFEE5F15D5EA092DCC4D49B12ED573CDE6BCD32FD
+6801B199C3BD68C675412849099612EA52BCD504367D0DCCCF62D091D5276CE5
+65DD41674FCE08A600644BA6809C10739E3DC03011481D2AD6D0270F9B030756
+2905FC6B07D20248F857B32920AD49354FA7A748A71FC9BAE2F5714E57C8F6AA
+9362E8A8C69E14731135956DDDCE694AA0656AE18670DAA3BC88E7A85599FC79
+4A93D7F051F55968F63A8507C386FCB705BBF46AAE7CE33D950E79953DDE9F3B
+04019CE057473CE62550F2DB9D317DCCAC277B9FDBCCA8E99A035B26D05EC9AB
+5B3FDEEA5E6B5F589744DB14DA1B182397CF03F07D66C46A4BB5842DB2F4AB03
+FD01A2657AE0E24179E719D6674DBBB512BA97E4085C23730EEBBBC2D1323B23
+9944FC0727155B6A248DE14B83C7B313FE192599F5C1BE52AD65C5F78B048C00
+28AFD0E5B70F8524CB12BC34CD34C3251813CE12B7620D9B713FC26F35AB339A
+BB48DD4EC07C9F30EF7E85931AED5B2CA6B68415E301B14680A3B9650D699C9A
+592C464FE65352F56E7855FEEE8886025336AAF350CEFFCFACC48629586C7D5D
+F306BD03A3C8BB99996749691B0E9C8A3C32C3C394AE9B2E7E7CC48F7869C019
+717E4F7691688FDB8B30E08C9681BAFB0F0EC7233746DAA9EFE32783C300FD83
+731BF72F6C13EFF7AF02A722D5BFA4EA491DF016DEEEC4AA85D17812F9302EE8
+C0D3169B31AF7034155870747FCA1150FF64B719550BB63C46244F0115F1CFD2
+7B102E3AB251EB9FD654EF7057A74C206BE178320D01B4DF145D6DC515C88CCA
+36F894B4EE4F16964E6C44133145FFFDA237FE9329F03A34955CD521F35DE66F
+1E96F90A8FB2B785287A4A6D77D423F8B82923BCF82ED05DB98A2EED951E7A3A
+24E661E7F98C07845CD85D5A41A317A9D1F5F14377D75506A966334C622CEA33
+2147C7E17F4E7D1A3D592C795528D30A8F10854D497B84048CC3954B44D35852
+7B20D9741AE93676CA3925E9D2221524FBE68BED4C64FF1B61A76FF8FEDDD552
+F26F829E105E486C829264B058D390127F6F40CB8387218CD94EF127847A48B6
+48FD0B691D5E1AB0CD9B4F53D76767CEBB5907ED1D486993131F24D58247DE6E
+D8D91F32EBED2672A3B75FACE3944869DE18407AB99EEF38F110610C982A4797
+32DB1F8AC46237680ABAEAAD15FCC022B7E44A97CCFC95552FB1189648FCDB9B
+4E11514A957757D2A7DE972650DB9E7822A7E76D06CA8843CEEFC991073DC00B
+B1B12F5F1FD47AF9F648A4883EDE733CD79552BE2C55747D7A733196FA6DCAEB
+E4C8059F524810E76A41D85840139298877221F8DD695404E083A59089A726F8
+627C03F34D3497CB9A895D5B84664934FC4D65BC6B73CF85EA4ED9C2FA5127A5
+1CF68FD2DCB05FFE2923670AEC10EFB838FF77A47366316DFAB72FA65617E1E1
+1F6E58380B604CA1B1E67715D33A3405DB4C5BDA12D6BC74227FFD29102910A6
+2F9B937CD016F3A2C486C0397CA068EF73F6745D4E07AE431935C86900995600
+1CB414839555437CAA2596E7676EED3BD4C545BC36CBFBA3BA1C7FFE79A00837
+C7DFC6CB623C871E204A2AB5880D33230F4D14DE16CF1379D6DBBF1F53A4AF06
+079573D3CE3D7A70B9FCF6415E8161BCF58257C1D243EC2E0C788FD9013759B4
+AE948304ACF34F0661254C4C0E9A795A7AE38D94CA85F0AB987BC6CD15782D3E
+0A907EF1071494B3B43D3615675A9BF0A25A2E73283DDE5D92BAE6709F99AF03
+F923F3B1759FA3857F76636634E05397AE767968ED4CF408AD2EABA2C58642D9
+8F284D433AD44CE6D656AE33137CB508A718F2C6D6255A1BCDD5A8511F6D51BA
+9929B3035FF57C27A39E08164F4D7FABCF7890A8D05CA70DF8343F630C406FCA
+83ACBA24FB6EDF0966CED4754A6D5E5492E7C6D7E68199C72CD505B705D047B3
+7BD0389BEFBA9FFAAC78B6814B1CEFD348CE29484BEF3A598DD4999F5423D0AF
+7E21A589EC463F659591DFDF6482CAAA3605853256062EB72116573126F1507D
+CF280F96F425238C9D82D79D7CD399DB5F8F75FCB66645C65CC17FA55B4AC8FE
+B1CFA98C1A8BD360F943B9761203DDB59CDCAF6474107A53B880B69EB00419FC
+D8DF80A69949E9B431C524F8FC6C619D6B61BB35990323493358266FBA0DDBCC
+242FF0D9759B6E9A190924BB180C2FC480AD23D3D1F968DB91CB7C898A5B6A31
+6285A79B0FF893563999F00422F81D3C7BE97C850B177E32FBE823C3D59E3513
+B895446BE443236ABD095D25589231F995BF177E03D35E12870B680CEF505645
+8BE5B45860D905315BC27700F5C17D23B6224C27161748515E4D3D0CD17BDEAC
+F137048C626C3AE67867BD5488F6895BD9225BA59B6F41B00EBEF04483754FC1
+09DFE918660EBC9E2E3682D3F3DB37231A086DA36C6F7B8D4A33F28792C259E4
+572A425EC1761D3EB74D8B46DEA01A89B0376662CEFD2D632379EEC34D5DFCA1
+94ACF58358B7D9F6B65DC32200E796531DE450654662753BB8241CC0600389EB
+42FCECF23F7781B7985CD6BEDC5F3FEF7CD5A48EBD652ED5352C713E9D36D936
+1BDA95D18DAD5E7E48C901F7C0BFBFECE431D937DFBF86A034B36E7F682E4BD1
+E7F229341795ADDEC27BD550478DBC031DB8A1198C703E46FB2DC7F4BBB4412D
+93C126E77D2461AB00C3FCE46BFD20F8F03F223B6B698D07258E7BE2FD1A3FB8
+C8FA19011078B8A498F1972CEAC6B4E5A30553EF75A12F65918AAE593CB46C10
+670C95387DD01F86935DC105E7B4ECB3C33F198B90D14433093DF9BC994A07D6
+DAFB9FB081F123EE651C868F2ACD0B50B1AE66A64180106BCA4A5279B40D3CB8
+C64E50D8506AE17B131D6F8D078C98BFD1260D731189BA6F6B411D7D250D4EBA
+AE115DABBA864901E69539643F53608DFEA8738645CF29CEF244C62509562164
+666195274757A3A8269DCB600E81811AE932CA1C37814854BACBC0AEF9D75056
+B8400563AE9EB767FE8478CDA103295B951C397136BF6CD87D0F5EBB4B00CA22
+711D948F36AF201B749F979B0827D78D99B470B9385FB67BD2011C1DC5AF326F
+B7B08953FA7F0FBAEB12947BAE2C5F7FD30F410CD86C987888F3755674D5D4B9
+51BD9D7C6C07EFA27F0A87BCCCA6895EC8676AE98C8B490BF565B6AA0CA274E5
+A028B9D12E52C47B2564BF2F4484118D1E77E6B672582BA630A6B7D7A61EE5DA
+DA8B7D5BB579EE7E05E2EA92980364BD59A9DCC0BAAC3FB8DE34D8E1F9786933
+721DD0A73C10EB61E1E1DF623E13EB0458996DA50E295EF15E804186EDE46608
+BC4C8A0851887DC87D4EBC41CDD34ED1EEA66C7F30A9C890A95A65AF81168041
+E421D2D5AA1D756FD5DD
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+cleartomark
+{restore}if
+%%EndFont
+%%BeginFont: CMTT10
+%!PS-AdobeFont-1.0: CMTT10 003.002
+%%Title: CMTT10
+%Version: 003.002
+%%CreationDate: Mon Jul 13 16:17:00 2009
+%%Creator: David M. Jones
+%Copyright: Copyright (c) 1997, 2009 American Mathematical Society
+%Copyright: (<http://www.ams.org>), with Reserved Font Name CMTT10.
+% This Font Software is licensed under the SIL Open Font License, Version 1.1.
+% This license is in the accompanying file OFL.txt, and is also
+% available with a FAQ at: http://scripts.sil.org/OFL.
+%%EndComments
+FontDirectory/CMTT10 known{/CMTT10 findfont dup/UniqueID known{dup
+/UniqueID get 5000832 eq exch/FontType get 1 eq and}{pop false}ifelse
+{save true}{false}ifelse}{false}ifelse
+11 dict begin
+/FontType 1 def
+/FontMatrix [0.001 0 0 0.001 0 0 ]readonly def
+/FontName /CMTT10 def
+/FontBBox {-4 -233 537 696 }readonly def
+/UniqueID 5000832 def
+/PaintType 0 def
+/FontInfo 9 dict dup begin
+/version (003.002) readonly def
+/Notice (Copyright \050c\051 1997, 2009 American Mathematical Society \050<http://www.ams.org>\051, with Reserved Font Name CMTT10.) readonly def
+/FullName (CMTT10) readonly def
+/FamilyName (Computer Modern) readonly def
+/Weight (Medium) readonly def
+/ItalicAngle 0 def
+/isFixedPitch true def
+/UnderlinePosition -100 def
+/UnderlineThickness 50 def
+end readonly def
+/Encoding 256 array
+0 1 255 {1 index exch /.notdef put} for
+dup 45 /hyphen put
+dup 46 /period put
+dup 51 /three put
+dup 52 /four put
+dup 66 /B put
+dup 68 /D put
+dup 75 /K put
+dup 76 /L put
+dup 78 /N put
+dup 83 /S put
+dup 84 /T put
+dup 97 /a put
+dup 98 /b put
+dup 99 /c put
+dup 100 /d put
+dup 101 /e put
+dup 102 /f put
+dup 103 /g put
+dup 104 /h put
+dup 105 /i put
+dup 107 /k put
+dup 108 /l put
+dup 109 /m put
+dup 110 /n put
+dup 111 /o put
+dup 112 /p put
+dup 114 /r put
+dup 115 /s put
+dup 116 /t put
+dup 117 /u put
+dup 118 /v put
+dup 119 /w put
+dup 120 /x put
+readonly def
+currentdict end
+currentfile eexec
+D9D66F633B846AB284BCF8B0411B772DE5CE3DD325E55798292D7BD972BD75FA
+0E079529AF9C82DF72F64195C9C210DCE34528F540DA1FFD7BEBB9B40787BA93
+51BBFB7CFC5F9152D1E5BB0AD8D016C6CFA4EB41B3C51D091C2D5440E67CFD71
+7C56816B03B901BF4A25A07175380E50A213F877C44778B3C5AADBCC86D6E551
+E6AF364B0BFCAAD22D8D558C5C81A7D425A1629DD5182206742D1D082A12F078
+0FD4F5F6D3129FCFFF1F4A912B0A7DEC8D33A57B5AE0328EF9D57ADDAC543273
+C01924195A181D03F5054A93B71E5065F8D92FE23794DDF2E5ECEBA191DB82B3
+7A69521B0C4D40495B5D9CE7A3AF33D17EE69979B82B715BAD8A5904C5DE0260
+6C15950CCF6E188A0CDF841EB68E5A2F88253E382140F87C87E55C9EA93B8C89
+14A36CDF630D6BE7CD36DBDCE22B21778E8648B97B7EC6742EB5114BDF0454B0
+0EA7B1FE236C84C0E5308C871F67B973892890557AA12E00B2C20C71F516C397
+3F3BBD14A1D0149CA064391056E45E9470FC7F6F556ABC82653B3C8049AB5CF4
+BA83C8F2158C236B2FFD4208846013BAF4165E8BB8D334C8FF2E8D74AF5DAB2F
+D44788869B08399421AAA900ECC6A2D594641C121660D4B5F512938994C18DD0
+FCD9B008F68F0351D21ED735B2740CB1E0C1CCD25EB548C35B844601D98828DB
+556F71D07E081A593FF12DAF83676492A0FFE16E95717A07082B43A966C1EE8F
+8A59E1255E1705C43A23CF29A5E4A6547C93F1680A870EE7BAD8CF74D838CD5E
+F806911D8FE4262ED8E7F5BC58B92C9C6D74F8AD45FBB021EC7E97393018B9DB
+B1B84E7B243ADB05ADD3F1DB3692ADC5D47FEC7DF93080669E63281F1576B673
+125EDF08016664BE73364F65389F7C3B66623AD1754ECBEF9E5CE6948D933787
+A5674279ACB2EBECD3B4E6361419AB32028A27670C9F3E18B746A10B00AF6D77
+4EC00E3BE521C02A99AE5BAA98F793EB1228952BE67934B91472E01AF7B816BC
+56D7F19F631A1927846D800C107B1E9CBFF9D2DD513B4A8CE2E0DFD77B1ED178
+E43FA7052765E9FAF89989D490D8FEF6C536EC0D4AE27A74F474B98DA9E6B92F
+15E063DB260571979A5DE2423920CE1F59F56EB11E00E3BB9D466A8263E1E385
+2014BEFDA8D1EA3EDA04BE32AEE6CD15C5C010A1DF7F705A2C0C18E87C8DCCE9
+05D9163181CBA56C0FAC8C06A2990554C8E759D076B01BBEADE3B5FB8B551390
+6C8E4A2A1C6E7D9C708614626F3770C0AB7DD2027469C77975C27576065862AD
+04E5E50CEBE907E3E991FA0C627302C0E207B4D5992BEBAB5853AD1C0D271728
+C76F40A79392ACCA7358F948AC65DC823CFDA59E1FF69CEBB6B7EC3CF21669E4
+70D999508F9C49E2D9F8818CA53C977D93E15FBBBAF75B1E84F0BA62BCC4BAFA
+4EEC82D804C8A8C0210F3E5E258BB1F6921AF02BA9861BAD5C3D5FC8CEFABA8A
+A607E547B802096F7AEB09FBA99C83C9A494B94408DD607CA6561A6E6660C473
+62CF8D35F31D052F6C6C8138A8E1430CBA7EA6973D6D510C1A06B3FBD79D9364
+240C1A00272DA44B89A9FE8D5BF36DC1B5EBB4A78ADBE9C5EDB485F093D9517D
+69E1AC9A8E6C9D7C324E3797CFEAD9A18E82E03F69B2CED7D5DDCD1A218BF2E2
+ED2293AE999FE2A4B5213A10083EE0407BCF8007670B8C737EAB30311C868D84
+121149ACB4A27F3ED6C0C181C98AAAF51B105F264B5672D7F745131ABAB5BEA4
+0C9B43C0DD9116D6DC61F90BE72018F290D26D5E9D341055CAF09C9F45333CDB
+D45B7954271767F638EEC499F7B53C2CC5774EA7A7F024C4CABFB93D9CB1856A
+0C671A4ECA7C62EA5242648A84E7F3AFB9547A0AFC29593CFCE6D8B873A78157
+D337CABD291431C0A2CE1F37E0CD7340567AC206FF98E4B5A6410F70F750451C
+550EFB54AA259A1B236CA9CB730D2CEF125EC65D959441F7CC9768F777B44844
+CC9842A307C72B740680ACBBF6AA35FA7A94825069BF7696ED81A371A9E5475A
+9D997F2DFAD339AADF797F7E03E654234455AC3D17702A420EE0A597BA31BDE4
+FEB8DBA7C61D311CC90441A620164DC22DC2D373973EF84CC553453AB1B3337F
+7B39983B8DFFB3A9425F119B45C1CD37A76F905777B3154CA6200792F1759D06
+E017890F4041A385F2238E3C48B6C8EE6F5258463FDBFF7AC762F6C4363926D6
+50F004D473B7B7F73CA686B559C2885F1AA761653C727A77D73431E9D110E76A
+2E55C68CD50F43997C9B2FC4710F8C8540909829E215678E63BB8363C4B8AF05
+9986102BB36580D9CA95CD216B7C321822CB41B2E0422CD077F3B55E0246FDB2
+44D5976F67296B5B0BE4B06F6E43535C21164E6C5089C3E9BA2D6B30888C57DE
+49DC8D9D46C0D5EDC47ACF2C03B72DE3B69512508539019B759280BABEA12BC9
+385308A0395C4CD33182A10A5A229743379C2075D82D8BFCE4A66E1AA087A091
+8F5372684FA5037D1B92D50CD9CB4F50AD4F8EE7D51F1C9E63C721CB5B9BD011
+6F0A8DD4FDCD2B008F223A1036D90F0F3B252487DE7898F9AFBB3A9D9CD49E0C
+EF4ADAD5155A98D2125ED5A3D3907F67301649519419F33CD942E8DDEAC1BDA0
+E90C431B198F646766A8FA9F8D1561B57E126EF604838C0C1966655CF31FB7EB
+C8CCC434FC1C96046D38203E1791EC824A3D7AED85C029288D4608CA7668A2BE
+484C99639F121845B22EEFCE0A3B808261921AA042AE19E641769E91277BEC29
+4594082CCB3058F90FAC4A700A8A827ACA00FCF574ABC8EB7DBCECD97F2B22C0
+0AA19E8739B81AF8C6F621D69B8E6F29BAE233FBA655A0AF5BDFD7F5C6B9167C
+6BC7AB693D45EF2AD999F5DA3CEFA39BA48A17EE6D9F2C4DAB91AE3F0044DC3F
+5D5506CE4675AA928B0092D6F173644F91295216D8BBB14CDDE0AD524A4D545C
+1B5E284A3BF0396664081CFB4F186A84A0D24D61E82F4767C1E55A0642720CF3
+909FA1AB8EAB78030B59BEA067DEDBD2F1D0340E790AB2777DB18248521934A8
+BB38A58B7F633DEA4291B0D5D13E9A882C974697CC6D3B49E030C94EA29B5506
+CC29C44D01B4751B453A46A9F6BF3BF135AE87A4CE232AF57B66578310DE41E0
+2A6AC422117F1963C4D7CC306BD25A6E724E51921779F22F029733122E23E2F0
+CB340008813ABB104380C80A492B3FC6D0BB07CB8D8409E9576891EF6E5C9D08
+EB8320DFA31BAFFBD336D0C2BBC3D3B2D30368B9860768FC080D30569C7F7811
+0EBEDA2962476113625EEB555490B8CE4C5F99D74ED10F738C61854CFF8B41C6
+9402E56BE8856144A1A05D0B05F4CB7EF728B2F4F5A439F18C3B68CEFA41E59A
+D8308ADC92EC1289DC84CF48D2CDEFF509A145BF945E1E00D552D329EBD2A7C4
+21D58082CC8FA790E981F4AC8EAB99950678FD3A7DA3DF13778681B208DD71A0
+7C3CBD0664B37C9EDC6B601D79A2C51FB54DAEE849F93209793849104E722D3F
+52DFAF7047EEEDDFE744787A5801E4AC2C3D58EC5DDC15FCEE03990C53B0C57A
+FC54F125A04C8E4A0ADAA725808C587E7DAFB9F784FA2875689979D316DC22BD
+AA36B306A1ABCF907B63C6476737B746099973CAEA8C1E2C5C41F27E0F7DE8D7
+F0D942E34E92F43FE902653D4D2EBB6F3B9F7928B1550A82AF234D45D028F429
+067652BD3D391BF423AE72B9CB1E8D91E898161BE3A7849D456A861A2046711E
+E934DC59442AE7D81661CE8EF727D8D7DDC0270E937E40F896AEAE6171661431
+C1025C53172F9D366834BA0054FBFD84503FBAE328B6FDEA180F8EA35B1DA937
+5CC3B8F00C206908C2FFFFA6A7AC6915D15EA44BDCF29E2BFCFD4A849535F19B
+0D307C696BE8205C7D84B9C77F02EF27D911056EDBB4080E4D3ED72788666CAD
+CD91B0ECE27A177DB23320A7FA9C31408B4D02D2A4B1CC6DDE1A6CAC3D8EC1EC
+2226EC98E51046D1EC26FA20EE62D24747D83CF4941DCE5CCEEC0DBE387149CD
+E05B19FFCAFC0D117F9A3E60DCD4C815228D98EF95EB559AD0ACC0D50FFDF714
+56C3C812EA5ADBB013BBD956A7C4CC0ED7D3E25D5C9AF5E626F18297F75D4957
+F5B0B33379114B903FE98BCF35C3FF76FEE1D9AEB711F2962276531F7380EE3F
+E368720E0292A170A15C5539B1FC7BB954EE2624B504CB8C805B8D31AC38307F
+0513606F09211AE64DAC447693B2A0AD15E9A64C34F5A911ECD0ABCA90E9791D
+67C6BD202B0858EF96E7722305B8AC02B01AB1706CC6AE875A8DDD15EE349046
+EAA65005E7866B506EDFB7A5A2AFD5C9E9DCC821A79EE9C1EA2C7BBA32A40BC7
+CEC26DB1AC473C8C3960ACEC581B37D6569E8C8C42950BAB7930B65E1570E3F8
+9A7FA719F1DCFDA45A3BF2AAB32C9A93BA3552608A61C623DE59BCB346E87EF5
+9CF025A87803161221C5C1C6F6B3403712C76E9D755C7BD68D7F2DC03C14CDF0
+C1BBED1D648B905B4B17037B7263C1EA7A7F06FAAC4E09E08483A8D714C19861
+327CD9C32DDF850302DD6DDE24912D00C22ECDF3CDFB18FA831A41A7488EC203
+F564CFE30D506F0829A96D35A7E09C3DCD107D589B627A15B55C5D6649126BEC
+60B88C55ECCBB4E680265D9EAB4CE22965D3B1AF759B01ACB0D0E6C92B6B4EFD
+A81E6A648708979487FC591CF09631310D46891423F4EC159A73E30D8DD147A4
+B0EACF6D45D18CD16CEB8176F03ABCB41F2234747B9733C8FAF34AE5D43D3BA5
+0CE0FACFC9B087F84FB6C68678BC6E76022B1526D6E5B3A48EC1A110BD75F45F
+1C4DC6D39F254976453F57DF873B7D635C80C42026DE020E5BAFE0DA0D54D1E1
+DC634D2621BA184347E5252F645A6A1DB7657C48124186F0E4C644077457C24D
+55753C651A9A7B6349867641464B515B821349C795A645420508673B93750D0C
+7A3B33EB1F09782033742AE8F3A23FC02284E6C03818FADD1731361542E3FA3E
+75B8D52B668C3E18A4AE967D0FC3157083D952AFB8144D549E69EAAC51C279C5
+E5D88A0D9D53013DFFB4352A1598FF84DCDE6FA32FC377306B9B92C0F96EE149
+8CD55E7B2445B86CCA7A547FA732D52D59025129FD8C6333AC0DF4F0CFF6287E
+F2036D5DBBB3B91B92F12FEBE0B61A313A4DB5A9CF0BB3DDB781A56FEBFFACCB
+8CB9D1D3DBDBC4CB6AAE6769E470582403CB920630221B68BCB625CD4605FA8F
+D3D5B7A1A28D15E44B38E92E906C138E72C15B86F64C38E23BF0440052A8C914
+54397F49DBED99D0AF7CEA3B0A05FF37C2D7EAE1412567E6776333237C31E3C0
+49949EC8BFD6E0F6446CE2D4DCD2C1524A288818CC5D159BF8463A847AE4A2B9
+CC8C58F822804B81B13BF4F2DEB6229C4F51F093075581791D02C36A13B855A0
+34900AA7CD4F1A797652656FE3A8425A38F421C4CC0ACA1CDD44FA6B31219276
+1CDE1CD63D6A58CE705CB56CCA1260F9B86E989019071563A9B4C274A87558CA
+6EF1660D574EDA276801F0057740E2C3B80D253D697736484D892CE1AB128B8A
+DECD69712F5E70E895FBAA927E8194D792A04AB6CE205E04E38A433BBB793FB4
+E8BBC4279D58A223C6673D909D6AFECD246E66A52F4CB35E5931D24C828489BD
+4ECAF621A220D8ECF702BEB01C4FC7510197D3F6D15321EC87175ADBA6434ECD
+2B5A306E91375CAD22CD94301763E4A8B981472890422C5488FCD523C9CB17DC
+ED22FBF12D5F7525D0D6BCFE8CE85B0DFB1D6F989C267FFBA0A996D309E4A934
+3DB54A9D29C88B9D55D7300DA3D46419256C5A07A2A529A8DE8BD1727281F5FE
+97033D861E0531B14E811378EC1AF1CC7EE9BA2B07D935843D3053F673979F8C
+FAFD59D555B56CE338F606747238B22BD62C42BB7238FEA335678D474A643570
+A9E7B4970E8C541CE9DBC7BF70ED7BA33639D6744A18379455029E934C95E2EF
+639C4848CE9A0879B51649FAB023A71782444B451F92A34CB8A124270CCF86D4
+D18EEF5C1D2B2A29012613851C49F50702D63BACF95EE2AB4D72B375E0A62615
+E0991E130A67ECBA9E05329B740708F1CB148724C3A6E5E3AEC1F88EBCA398D2
+1CA8827C977D72734310233176D1AE26C55CF2CEACA62223315C28FCF6305C7E
+A22414D4739A059F552F1F9372CCCA5FED4F9AC987942848EB498900269511F3
+F408CBEA0659B954F5F1B18AE4FB270213646F9B28AE4439D2BA2D3E0AAAA780
+5E530E4EFC8A060EB979E12191044509DA0C14397AFF949E12DC970658D5EAF5
+4EA963F5BC1407A32F3837CA6A24B7F3D60EB8E6222B702E25ED903F9D21AE50
+664A095009BDEAF4B78DAF94E5A55D48366CABF07791A1684B2F54EA69070844
+4F031AF8DF416C2D3679F8BA038B0DC9DD0400CA6B34667BCBBC07E62C1668A8
+35A8C57C9048A7227E672E89681B54D662079A189A9E96A3CA96D8DD10189B04
+1DA49BA2729F1CA585B1BD5C467295285D52E47CA904235A1A3E48EFAE9EB6F6
+01374125CE89D53C276858668CF45D2F092DDCAA52418E0BB94C2B8266B4D88A
+5D911507BB1DDA3D8F6E7C14A91CA11AE799EC42E993098E18CADA70BD2A1D82
+2C39326C6E3F9E84CD9758B9AE43D79BF99E6A0CD713E95B3D9B7DB90D127DE0
+DAFEBF850CAAACBD860B5DEF2082F1ADA64B44B193C4A1417BE221FDCA36456C
+BE5934C8CE3ED55AE3A11697C2D682B7D0F72D48976451D205783BE25DBD2507
+39C14FFB4BB828DFD187104F38A7F11D5F0698C11E8C1D4F107CACE573FDC4B1
+C56FDAE47024D6FD16A2FEABB434CA320300FC4B6C1B6CA08F76C60B7C08A665
+99F404DBA8A2A1EB18EF6750E4EC186E31561A3F080BA6562967546715859481
+7BA782940F5C5D06626D6F6A412CA7C13820EC7C1DF23E15E5829F698CF617BE
+D940523E4EE4ADECEC48C24297DBAD528BA1DCE7AC335A1D15D55415B108EFC8
+6D45030D27B3EA63B2B4CD771DBE66AE0218ABB1153D4B7482289D1313CEF184
+5C960B1E3C3C953912CC6F4521D1E15636C1545EEE457EFB87B88C9E43CC2F38
+6BC4BC96969F4FF28ABB06F4454C01CEF1B6DC538F1E832FC1666D977E5A881B
+F72F1B4C7DD4BE167A5535F1163A0706F9A0B26400178DF8A128FB5EBE6A7B81
+E478AD183EC06622B591337B9F1872AAEA356F4FC67EE767B34CB5A4D90702D9
+39FB846947F4096FB3DCF16EC81455164783BA0B5D723060DAFF411B68307E81
+7BEA1D9A47A5AA3D648E618C83C60F060029E6EC4D46B045FA7415BAB2AD0AA5
+ED9C729C24136F6AF61E6409C0B5CA760B16225641E268A68CFB8260BBEAFC77
+6626EBD97195E77CAB425CFB0096D805D9EE699E41680D095AE9FA10122A7882
+2F00F495C9EB2102DF0D3E61833BC0A2E468C5CF7AB430FDB7C0BE3DF2C0D230
+1580BAA25D65F599378D873165482A1FBB224AEA89C6BCCFBDBA42AE1C5DCF41
+06969F585CD3B737D1388D6359F5468D88FCD2279BDB270F6A858FB7D2ABDEFE
+5EE8FB79FA437F8F50237B92C307B73B0DCB808D07A9C3255CB9B3B17039CE5A
+288103D05D132863FB522A02CEE3839EF9AF7F07D99732F0B8B384745369FB3E
+7901166478F4A16076A1504C5E98D17408494E270BBF4470ED12B4332422679F
+759F1D93984D7E506D16950DB6C2682FE1379EFFA6F6C95DD71F6E55BE3EF6AF
+E0CB25388EEB436E6527806FC75484133F6E561DEB979D5C1FFEFDAF2A6D964E
+03BAE0BD593C2992AD84569C81050F7A793C5263E50C2F50B98C4CC703EAE17A
+6AEDAACE312DAFAF5278D125B6EFC5587484F61DAFF46B87B7C9B1EEDECA4859
+314A9A9E2248467DE1E54D90DD671660B9040B3E0DD982260822177EFD757266
+74A16C83A7FB168016A320D3DF3BD7726F1F4EC90EE5DFE810C96B099FD4368D
+906AE4699049EFD37E8EF058D4B97BF71106445AADD4FC6E90615A0066823A36
+673B8DE32322BBE861AE251226B4385AB28702831270DBD25D666FBB0AD7B96E
+A44E891EA1EAF0F87013AFC982E33D67A28E96E0C9CB99B9E4192536830D9901
+931A8CAFA41289633B20BA3BD7AA3414B6DA8D57CCF2FBE39920CC06361F075B
+CC40335DB9A0071CFF77F6B7BB47F3100DBDC9C4A58C2B81EC99E8E966AF3390
+E3FBCC28BA1D79961C8A1584266454DF772FBA99664D74D4A89FC82FFEDFCFE1
+4C9E4A04291E803D142E37E7ACA66AB279378F2F192FFB2B5BBAD18B95F03136
+2CB594A3D6D3F8576B90A6C4DAD6D6C8EE07AF682F925F01D0B26CBA347C03BE
+F3B0585CF4539FDC66915E22117078CC94D621F31DCB3E021998A5D6EE94CA4B
+E214D07517283D56973D8E4367392BF6C1150DEBF459D141AE0941C1C8C5CFBE
+E735D796E365A1B0F60BB4CF2801EAFE4889EE5F338D3C4885368281B3C95CCE
+251C28A90D318A8A0384439B38D63B94757252062EA44E88509FDD2E75FAAB71
+7329622828B2785C1A8B26351BC7448C1719C88FE99BCB73F7DEA427FBFCDF4F
+00EE079B0C712F7D2C8DF98D4830A9D8C8B70A8C5D54BC1DF3171135278BED55
+DA1CF0E696B12935EB59B606AA3C0CC50C7A259AF32F4C81D9B39470D9993CBC
+8644403D2833B34AF40511654F96BCE0064860F39849DC62E4A0693F75308FF5
+FF450EC05F142D5E300D3850C66D432BA581D5D8DFA97D901589C53181CB5057
+7FA8B2C95DF751A861DD1A614B2F32ABD284607F40B3462FB05C79DCBB586B43
+B853D7F77AF5ED7AF2A913FB2CE66241C5102CAEC3992BEEF19A4F760E98EAF5
+063E373A084CD6829DC18D063618B4AE443B35B63BFA956368397A69D41DD715
+6C5ED849CFCB2825CCB577C1669626E2C87DE60D69559B3CB98FAA07F1893EE9
+DAAAE01D549A252D77E79AD37BF64540DAF7FDF2FDF4017F94D9D89F1B6F249B
+CAAC5BF817A1979163F3A316640E382B501A6BE18C334DED469CA5643FD07D8F
+6E37275108F7168F45BFB5024D4FFBDB140741D2C8AA4AF19F22592587A05FF0
+A324A0DD415F312D653513ADE6EDE9E560BA16573295F6B3A0427A15A585A40D
+5265A4CB711011332AAE28B05BE6E4B11B1B3C178225B2108D94089E6544907F
+DDC2496B0B36E2E8C1494640BC702AC192A3CF82B04FC836B9A8F2B42AD59DC3
+77DB2F1D8B7F9C0DC9CB7BD85C3D2C7730AF276E6F22D1158896CA00870B4B64
+B72731CE69E9A92BFCA929E0834456AA81EEDF26F58D771229C2A3A491455426
+500E410A707ABAA26C2EBC0178A2DC6A24350823AAB33A391820EC085C6C7F35
+65B4A26C6C28C08567BF5860D0930D7EACCC5227BCA1589504504DE109D1AAC3
+9B97AB1FF22BF698E5C01C812B0C32F4F0110E37BEB86AC57D1842C8DD13102D
+2AFFAE9B89C5965994D167E4008EEF6ECA04DF853985B8E7E5783D62CB82BD0B
+1984EC07B99D887C2344393FA940D33B693F074E58FFB1B0CBBDD1263A9AEDB2
+9E4B3D4C87EDB94FF5664A8B29A0FAFE5E61900FAC8F910C7F073FA7C227DEBE
+F9D38482DCFC5F6F6E6590E30852211E3953CD7AD902B72051DA4A839D61846C
+633967FDE5A3C7F8E670E4BA0CD7D2227F5FFBE12A10FB29634CAD38F0B948CB
+022868DD84BEBB8142D95D00364B969F8AA651DFD7BFC5FC1ED5CC71B9F43B5B
+E8837EA00B304EF419E41F0169D250AB650794B7BA5F7F92FA3FE7A7DF7F4EE6
+D26D6C66A45541320F1BC615E42A90EBFF77422970D01D5A056E2D16DF2FC184
+D547684B190468BFB7BF81602799930DE5E32CBC4CDB2199A47BBCC9753491EB
+90F9FD2E532F971AAD224D6E9A5A869916E8F6A31EEEC01E83B18DE3C0BAA2B0
+8F811A23E1897EFB01FAA2676E16FCF3BB0E6BBAFCF65D434E8A92A2CAC20ED1
+7BF006616A3453365758F50534E6ED6794D38BE3C3E79047A38BCC6BEEE1B892
+52A246887920976D383241758D0D5EA9018EB689C9F20EE15F98A4010CA4DD07
+82520D170267CC9BB5EB439D43ACA47BC3DF2C96046816223BE4157F0A4307D1
+18828992D032C341F9B8CDBFDEA3CBF8189CAC95333DBC8305E2D7B5D30DA9A2
+E715D31B2A9F95A6306F7D5261C85D4A011886DDD520D8A429FCDCA476EDDFE1
+5E63310A8BE3EDC46871AE21A24A0AC523379D9F2ADD4BFAFF031C32BBFFB33C
+7C11726F5B7DB8A8D7F3E1C56E50C986D9DE03CCC5709F6D80ECEE69FB2D921E
+6819C33950E7DF87FF3B51680A23603F2267173EDC0E27D2E91AF18427CA61F1
+7DE1E2FE17E87E20B973635459474A064BBF94DB3DFFE16B447FFF69499F029D
+2AA21FAC0ADB16ED438E9577B1DB34F9DA70EFF044F21E58E6CCBC63A6415ECD
+55BE2301E115BF38212DC6A01F45384CC706BF6B6F85F1407BB061886BF564BD
+D888F397697A70416E36E9127419F27499232B36CE27F29A9BCF43FC7B4676DF
+805447BD7AD01EB17C5D14F4E6B98F584664D911B0E64203D75D3911C3E60CF5
+683BCDC2F4524323E067A69959FCFE3179134C3CA13ECEEA7A16305AA80B0CBF
+0B5A64309B4D30CB87799DA576274B6896EA3FC5082386B939F6C6B628B89501
+1B8DA347EE03B97FD19D4CC070A06FAA516DAAC180C7FA5CCEF819CFD86A06EF
+122451DD2380BEC359FC48129FED52D8782A2D295FCC07346BE82080C78085AB
+907493BFB424316E1AA433892A68A36C0A7E8FB0AEC8429706986B502216EE84
+2B1B7EE5CFBF9B70964B3A8AB43FAF4980FBEFDDFBE9DC4CF11BE9CE560DD2C1
+658D75329245640329667BDB2B79A6C97B54B8BFE82A1E6D7F3FE9433BC4B809
+68AD1178A8DDBF0175562C2E450B9BF2902FE31CF600427C11D65BD670F22FEA
+570C34D7C3320F4B0562FBC0AA2A4525AB8C8AC6D254E74DC132283448AF16E2
+F6896603072ADB6CCE65BD6A3A5D23E96C0B0616DA2E2448F499AE49E8437431
+EBF58521D5C9ACF119025B3EBCC8A2E60ADF67A1867B9E09A5A39270E37AC4E8
+08834EA5E1F1409C0185280F62DD2CC436E9D88A6B89D36D0DCAEDE5018EF41C
+5D418651E3B1EDFE3F14ED7BA85AA036C15338BDC24238BB910C11D23439CBBC
+7CC32B387E42044765E800D817BFFF2D0818403A26D1ED01722E83609862BD36
+44ED8993C4CBE39FBE830678A19912E7197A423405389974C5CE46B247AA0FBE
+DFBB823DDD3AA01A1B487324E304F996BBF6132EB91BC1D37E1D9D351DA60B65
+08F49A8E959132D9929266498E6D409FDBD910BE7886D6172393058EA872F7D6
+3258654378484F5700C33B474300FB97FD7DAC00B46C36448FE2DBFDE99043C9
+E69434290C26AC940EA1D3D6433BC3EF7F2748F126BFFCE0AF7438B170502CBD
+EB3982F857D11869F41C4B4624238448EFF5A1FEABA071E9F7701FA7DCDDD053
+008FFE748BEB9851EAD2D9A4C9C6B422548DA9E80C85B746408B794212E5BF33
+63A7BD9BCFC1DBF4B3F47A82596075BDDED840436A6D487EA59EE1F031D2F369
+5C5087A2F4232EDE2994914DA29155F292E9A75BAF7EF413888DF12274EFA541
+405139C62EF85E7F14479E7D8C80DAC237C034AB6E55ADD91D7EA476932AE079
+07D1B1454F424CFF149DEBCA8B8CB54B2FB900F1B1924443A85BB87581AC180B
+181C09E46669C52C5BBC47E007174C5C3722A5EAA0C8F43F36429A5804997ACE
+90D45F5E89A171AFB5FC5CA1075DABA918C3B0A45780F0BA276D794533BCC224
+FD990347DC10307365919914E4B235D91FD6609820C578E77BF103C7D76A5C3A
+026693A3834D9D286AA159AADA7D1C3CF5E5B078C27B4399B1B79177DF54231B
+D83337B400038A80286DAE1DEA5C1A0C9CCF8A427FB7A9D3C9F850D2328DB47A
+624C0296013AF251918EE824878018A3048EEE1FF3BE6C3516B3742777A5C1D4
+34F2BCC7AFC5E4E9F9F14F8567573E95E13AA99BE913021FC2D6526821C6A0B5
+8808E1555A49AD087347116E6F068B8037575FCD1AE8F191CE1ADAFE01B1B25C
+62A0A6F94AC26199811C7A46615AA20EABA3B8C7CEEE8C1273E59E12156FA535
+50780F7707B23695100CBFC23DA2636FBBCF8F974B4B63B2FACB13CD9094006C
+EAE505D8A58107437BA59253D9BD9A431921C9B0D5FA31AB145E989D0488F073
+A246A06DE64816BF3494EC3A25B1A7018000BE34C03B566BCC75735473808936
+89001FD98067E231F6A17A1E6829DFE906D0F26BA8DAAB40EBD5460074555ACA
+3D9A06A85A6BFCB9A89D9D895426FCC9E1786A3BBE8572FFA0ADFF4FA441B1F8
+93A1F2825F83D0F39AAD50F81C9C502C4D2A389756BF7CD41F40B7E00DB971F3
+1F79BFAFAD4F5C1DCCC295E9D7EE3E8C935B948F63A37BAC3A8C3395B768AF90
+9D7A3BDE3614159D5BE42A302761E70913C419B8735DB8BD003C88A222AEE9B2
+7ADEA0AA9867E56479A35B982CB227C30DBC0B17D89F8BB736AAAF64A85CC8FE
+D6F3F3C38F09982D6B9863B2AD1DD209F7D7CCC73C20EF069FC21A17A7F5DD8E
+5E909B78A23D621B1B715AFFF927BA680DBFFD0FACA27A007D9B7A9D6149AF19
+DB19133B02845DF2D5B41AC037D2F1E0207909DAAF7AB7AE4ECA6F1576E56B43
+2B101E445F5DDE49CCC1E220951621D1B375B38AF2C8B8060C2AE4EC36BECC2B
+8E48175BCDA6404B9A9776FDE9ADC7D846CFE341A490E4F84BF9C88EEB8CFA0C
+71C7F9C70A166EB4A3D7B285DA39595CD5C58A91445D1FF01A1772D2C6A30924
+CF4AE0A521DFDE9321AF5D9BD9BC88424C5CE13FC4BB9768848499204A1CE4FF
+3E19E5CAA58870A24274A1E8B8B7FD81979448506B37A05FE47206F82F1DAF24
+93745F328137A5FCD09950C59DBF30F335136ADAC47EE6DF56688BADE4BE7F93
+FB60EF3C8046C68E7A5C1AF812E30F6E6A21B5E0195B6DC383ECAC0AA6BF76E3
+8BC64B9F68E7F7EE86C91B6590C155CC793BEA88B7BC142439E8A554039AE55E
+EAE7456BC31486F997635D756B98AD011345E4F96361CA12B051F81B17DAEF91
+1DD10F5CA9FCBDD6B371872D18EE12EA51D3E7C6BC0A188C47C2773ECF4441B7
+AD94735E327264FD738137A23312C40648F125B75CB7ADFC904C00E72BD74B47
+E5F5EB75CCDAE8B11CE33E468014DA1E87EF63BA7B898E61F03D414C8B67FA9E
+F5AB2C74903BC196D200E5E9DA2116DC5F6922F35A0AAC8CBB81AAAB95C1C337
+64FBCCC1635FB1203A4D8F545189048DA98E7938B05C6A5468464ECD5E2512DC
+1E7523890987ED095FAF98CE425474E813E5DF4C6EE9C0441A5DDB75E8C158D8
+1649907A0A136D52288962B150E3749D993CE76C3F1376E0899E8C3B06767563
+A71E0F94E611A71BBED10E4F00310BB1803FB3DA376892E57557E6B049AD4848
+D205FE19358BDD9A78AD754BC39265E51DCD45F39DD45C9DC4EA3776C726C111
+0CA3754CC7B2FF7067B0E86AB24417D8AB5CC849A80132816DBA63F8F8E266DF
+66107F9533DDA3E0735E5F32AC1E39ACCE64E45F7958B9D69BF52F87B21781EA
+A7B1193BA98C4433407C56ADFFDCEAC621AB4B60C0C293BB158A8CBCBADF4F88
+BFDAC62243F57757EC33990AD15E0C3F202661210AEF980C50F26786532AF1FD
+162FD82D10CD1C130B8DD72FC7819EDDFB455548ADC5AEC93169E26130275557
+A40E3A0507C33ABD1337B07546E470942FB1B44ED2D4B961FBFBA2DF21F8C4AF
+E90BAA5E8F73A090F63696CE0F5F2A78621B7A0BF579856DD6D2C4BC10392663
+9B15EA5E63F0407962576373A6B462BA09394ED5E1D2F80DA13FBF3E77AC1992
+2BFC86622B4E5F3F19B941B2E74CAD1674EF7656ECAD894C17D7F1EB8F616A08
+5F940B8BA909EBF960B60FBA0C107C3B8473890125AA7FD77CB534E74F59AE7B
+BA364BC989382ED656A2512BFC5146DE7B11EDF42309163B94600861140F125D
+D0C0305C2DED435F98A9CD52C07EF2C8202DDBAD4F4CBCA1BB2A991BAB9261B6
+C8949B70605D0B3FF8145CCBF3BC642A363E4D432BFA03F772CACF35CDE51CBA
+5BB14B426DDCDF08E275786A9C1CF040A8945AC2FD369BC53F2262F1ADB27871
+E711B7F0C67D2DB65A4FB892FA72F88BDF2DE1C3D3877BE6149A335519702830
+F27F07EA02C921A73E44A4DEE6D4D11ED16C9DF2E914952865AB0F1A9E46FC43
+4EC18296BD068870F1FB936B814B16E8C83200DC078DA0E856AF477AEEB3BE4F
+4C98AD0BD79DAB678BC97E122664AEAC251192C3C6A0A02EF9FE7CF81EE3DAF6
+BF9E8459B5128F2C270FC1C452701BEE026EC93BD3B1373612C37560D7E73DB5
+88EA90EBCD1B78E579AC0983899B9C092A2D870C519F44DD29596F9DDD98944A
+BCBDF56BC16C02A3B34B39B422C51B6A003E8C31A7F552649913ED5B190EF3AA
+5D9A285613ABB7A88212A5FE1FDB1E7E97615A94C79F7255C11AE7768FF3D795
+43F3F9B0C5ECDF9715A1148DD3E9868372D3F8967D34FEE7A6E5ABCB3976AA59
+D6C205C7652A54D2EC8A988EE20C4A675E4D422823FD8DBD93CB0EE12AD86C87
+056903A7639D91572C54D193336F145E45E1C2B1E4C1348BDDD96B06773D6F23
+2A424046A7AC21324A2A4C339C5F849A0189C91006CAC30600B3347919B41D62
+01CB3103A5116818A1D986A49CD294D6A0D44894201C8DA852338DD7D177B719
+EFC34429B60AE19D1CC1CC6E3C653C677CE6F0D175A2A4F33E509FA3AFED1C3F
+27C2BE2ABD0D00CFAD4C28D8DCA9E8FEC4DF43C85EB11250498F3B6743023976
+72B9FA7EEA0838AA5BF59349DAC852E1B712E0F42F6F95DE73EC1EE585B6D08B
+3039232559B97270F88FDB8A9971757CD4F74088C8E4386BED2942137FC603CA
+5C48A08AF753C720544DDBF419CBBFCC0094ED6E426A6914EDCDBFF782FE5904
+986716E075C855002B5AE15C2E8DE58E70F94FCE9CB3F15EC963A84FEFDAD012
+F7E49F220C9C7EB9F387D95091882C688F5A661ABD214C3AB891FD4865D734A5
+42FF37007306AEE7883B5D229A41A20622BF12A06B907A938142CDBA5B2323A2
+3FB3C5407F122AE2580772252716F1C249AB457EB21EA14C919C426D99A8C1A5
+A71FB14516B931ADFEE851C106C32F9973F95644B141CE8B669663BE3B83FDBC
+BC7AE9C07DBC14EB54F98F657A62B3ADCAADB9C3D3985621B0CE816EC7538EAC
+7AB801FA7C688C7925C3B69D93862244C625421ED707199D1E1DFF6000B0BC36
+6251E989FA5A3584B32862DCC65ACC44444E9EC15D742A4A4E860936B4B18237
+FEC4021295A1523DEB1B3596968FE7B65B18B04D73B3D331E18403A6E9FF8767
+6D5BEF04E9D500932BCC6D47DFFAB2A1B12048A717D14C9A8C2416CA600D3EAA
+22DF60124EC9E1A177498EEECDE88F9214CBCC14520DCA6EA0AEC710E345D10D
+DEE7ECDEA83810A6A9F5A8BC2655FB6ADE99CF1F3C9D2D6FB809016DBE406872
+AEBD3F1A3DEE15E28FC00FEB73A075C85D2088CF1CDACA30BD55C9E2F7B4D2E1
+6C3C59C6CD18384AA4D7618CD68022A3F9964D932C98351A9E26C6C8B150B8AA
+91165D6E1D37C2E0D59760C917610BA3116867A0225191297E533991033EB770
+28EF61050962894BECD66FDDD5EC8194279E5280025594CA2D24576B34B89103
+18BFA198F06ED188B8341EB63A61FB11483754248C7D395A835E57C90618CF9C
+962E7B59B0AA6319585E7AD5780C70F634607ED4889DFC82FA600996832D770C
+C75A1D1A58976A1222E6AE38354742C05F133FF64CF1464FB468A5212768DA0D
+1AA4BDE59CE93FD594052BF8B476B5889ADF864D4347684775C778E838AD245D
+D04A5A0CA410949A02855F70E7C0C292D7C0BC7FC7BD58659C167B65ECCC1BEB
+D3BE173E7899AE4E1D03A5A96FF6C6E7B40D368CB23ECD3225C27A1A81B11C1C
+BABB8F3C63EC967AB3F5A43D7C3521F2526E2051DD950F00ED71E4E4BA26F747
+E4CB2C607FD31D237DAC9E5BDDC4B076633909F4F50FA76DC152259140146C14
+793FBFA0FCCFE05F29761CE7A8A0ECB677AFC17642A5067072557CCDCC56532B
+F1805AA83D4449A15293A75B559A55B7B6B27166746C81FC3D320291C0D88E2D
+FCBEE754190B5C3C00A35721BC469C4BF045D5695E827152D4FE496F593BAB40
+E8305381E7E6615C14CDDBB962D84373508BC3764A52412383478C3760EC5B9A
+B28FB151E8F93C4CD097F2F5842D84AC330921C1AFCF3C978E81F6D6CC52CAEE
+D1C2080B644F32C97B9571B50DE6932901EF9F3C232AB9C5ACA7B9834558C2E2
+62834B6DA12C3F6AB98CAA7537D5DEE061A7CB2BC0787517C75BECA2658A422F
+C69B8493B314F3531A8C24A86E3C7922DDC1FA642B69664AC0F79A8FE45429EB
+C52897FA3528BA6BBD3679DE7304A69A49BCC57D7E3463F32BCCE93CF501B524
+03C1F1B08901EB3F0AADE811709AF1C53918874BD5A1F5FA8224E6E6E4BF2FFD
+1F75848B67F57183BA93C051D5DF6CEDD84ADDC305185D12789EBBDCBA92058B
+A464D44049C7BDF71C67383A6DC38528D9B2B4328431C9FED18431855DB98AAE
+BC85C4CA37FDE476CE0F4EE25250462CC747477446BA6375CCD72647C3A62E27
+759FE92621522A5815F02819F1F127805078D1945C6B5C91A09133C05E38CF15
+11966BA0C0C1EDB2601DACCE3823FA8F0B7C147EECE12C27CA629DE958EE88C7
+506FF8ACC164AE2F84263A84871664A411ECD21F38E580646DDA140824F78E2A
+CFA4F230256C8C6ACA374358D705EEB228FE6287590C09AB3945C5781282E983
+531D2346F4F3F8A9D7DA641995E291E65493BB49D4C73D5848B771EBA7887C90
+9EEA2ED6483AEE6B872A85ED677335A3444D643B1ACD8D8C7A28CC69CF436F29
+CA1BB157E48C50A7C5285E6EF96E3462AFBAC03EA387B1C740A52F3286FE44C5
+019771E29CB71E6A8DBA063966AA7E7809FEBED3D6DD8B59DB1148BAFD00070C
+4348FA2C3D4C79D415465E2BB2AB7955D8AFC378EE7FF7AD30495425AA8E1CA7
+26F94AD3E0CE97A54BDAB5541A66064C987A445AD31BD84B3956E7C7A7490BEC
+C71FB27CF47B1C1BBEF350B1A292AE42274EB8951E6317B22C44A6B41F5FFD8C
+EA0E2B153A55FD5959AB20563D0AF87834641F3E088D94BC83D918FF6C135FCC
+DFBCEE2C0D72A8D860824C6D5D49CA061A7FC66171206AC522801B88BD99981A
+3F012715D19F9F75DC19C39E106EE07FFFD5902E6E650EEA932325FD0F3C06BD
+BDE3796DE7B2E4844273CBA2EF29BFD210168261C396ADBCA70F4D0B8895779C
+099D09B84516A1494A25C4DCB93F1DAF7C616301A793E55308CDC1EA165AD12B
+45C60F2E0131BD59951F840DAC5E316E4E287A6DD7CB39DB811DEF405F76D739
+5FA11220DC99F4E773AD6E3AC8355E2F002DEFA280E1C9871B6E9A4D344400A8
+E2C3B8B1270B0BBEB5D0D00A91FE1920CDC950CC041D73BCE70E19868132DD46
+C042E2B5531B227A38794189273BEF0D0AEC976386D3A6E1A9E094D5FAD1F28E
+FC34357DE397C66809C369A42741F0F7495B49C27D630EE2424025A26E426F83
+1E1463482E81D9759B16C5524CD32BA173512B85940776E27671C52DAD1CF777
+A238A175654E87DFF60BA6DD49CD44726EF0D477698AE57741241FA90E362C82
+E11C98E05BDF19AD96DC237B9336F4D672920A99C36BE42165244FFAD5796406
+520349F098DE9C9D6F2368CF5B6318C5661D2ECA41B7118E9F27156EA140C2C6
+941375A07DC940293E378FC0CC742FDB4A15C8C1A9DF90DD4E87A7CEAEFD6AE7
+50A8755630AB66DB2812654ABB2D69041CF9F90B9A9C64F48FC5E12742169D
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+cleartomark
+{restore}if
+%%EndFont
+TeXDict begin 55380987 39158274 1000 600 600 (refman.dvi)
+@start /Fa 167[50 9[75 78[{}2 83.022 /SkakNew-Figurine
+rf /Fb 193[65 1[65 60[{}2 83.022 /CMMI10 rf /Fc 139[28
+4[42 47 110[{}3 83.022 /CMTI10 rf /Fd 134[38 1[57 38
+43 30 32 28 43 43 42 43 66 20 41 1[20 43 42 25 37 43
+37 43 40 3[24 1[24 7[46 54 61 53 1[59 2[58 4[47 50 1[53
+55 55 8[42 2[42 3[42 42 42 1[28 23 31[45 12[{}44 83.022
+/CMSSI10 rf /Fe 131[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 8[62
+85 1[62 60 46 61 65 57 65 62 76 52 65 1[30 2[54 57 63
+60 59 62 6[23 4[42 42 42 42 42 42 1[23 28 23 2[32 32
+23 5[23 20[46 12[{}62 83.022 /CMR10 rf /Ff 145[42 3[23
+2[42 42 102[{}4 83.022 /CMSY10 rf /Fg 133[47 50 1[74
+50 56 40 42 37 1[56 55 56 86 25 53 1[25 56 55 33 51 56
+49 56 52 11[76 1[61 2[70 1[79 97 5[73 2[79 70 67[{}31
+99.6264 /CMSSBX10 rf /Fh 134[42 1[62 42 47 34 35 31 1[47
+46 47 72 21 44 1[21 47 46 28 42 47 41 47 44 14[58 2[66
+1[81 9[58 61 61 20[25 32[53 11[{}30 83.022 /CMSSBX10
+rf /Fi 137[50 2[38 39 2[48 53 4[27 3[44 50[48 48 2[27
+46[{}10 83.022 /CMBX10 rf /Fj 135[44 44 44 44 44 44 44
+1[44 44 44 44 44 44 1[44 44 44 44 44 44 44 44 44 12[44
+44 4[44 1[44 44 6[44 1[44 13[44 44 4[44 44 45[{}33 83.022
+/CMTT10 rf end
+%%EndProlog
+%%BeginSetup
+%%Feature: *Resolution 600dpi
+TeXDict begin
+%%BeginPaperSize: a4
+/setpagedevice where
+{ pop << /PageSize [595 842] >> setpagedevice }
+{ /a4 where { pop a4 } if }
+ifelse
+%%EndPaperSize
+ @landscape end
+%%EndSetup
+%%Page: 1 1
+TeXDict begin @landscape 1 0 bop 0 TeXcolorgray 2220
+-242 a Fj(skak)31 b Fi(v)m(ersion)g(1.2)g Fh(Reference)h(Manual)p
+452 -209 4912 4 v Black 452 -5 a
+tx@Dict begin gsave STV CP T /ps@rot 0 def grestore end
+ 452 -5 a 452 -5 a
+tx@Dict begin gsave STV CP T /ps@refangle 0. def grestore end
+ 452
+-5 a 0 TeXcolorgray 452 -5 a
+tx@Dict begin gsave STV CP T /ps@rot 0 def grestore end
+ 452 -5 a 0 TeXcolorgray
+0 TeXcolorgray 83 x Fg(Up)s(dating)38 b(the)e(b)s(oa)m(rd)452
+214 y Ff(n)p Fh(newgame)452 313 y Fe(Initialises)28 b(the)g(b)r(oard)e
+(to)i(the)g(op)r(ening)f(p)r(osition.)452 437 y Ff(n)p
+Fh(mainline)p Ff(f)p Fd(SAN)g(moves)p Ff(g)452 536 y
+Fe(Up)r(dates)33 b(the)h(b)r(oard)d(with)j(the)f Fd(SAN)g(moves)39
+b Fe(and)32 b(t)n(yp)r(esets)h Fd(SAN)g(moves)452 636
+y Fe(according)26 b(to)i(the)g(curren)n(t)e Ff(n)p Fh(mainlinest)m(yle)
+p Fe(.)452 759 y Ff(n)p Fh(hidemoves)p Ff(f)p Fd(SAN)h(moves)p
+Ff(g)452 859 y Fe(Up)r(dates)32 b(the)g(b)r(oard)e(with)i(the)g
+Fd(SAN)f(moves)38 b Fe(but)32 b(do)r(es)f Fc(not)39 b
+Fe(t)n(yp)r(eset)31 b(the)452 958 y(mo)n(v)n(es)37 b(|)i(this)g(is)f
+(useful)h(for)f(commen)n(ting)g(a)g(game)g(where)f(y)n(ou)h(w)n(an)n(t)
+452 1058 y(to)29 b(fo)r(cus)h(on)f(a)f(certain)h(p)r(osition)g(after)g
+(some)f(mo)n(v)n(es)g(ha)n(v)n(e)g(already)g(b)r(een)452
+1158 y(made.)452 1281 y Ff(n)p Fh(fenb)s(oa)m(rd)p Ff(f)p
+Fd(FEN)d(p)r(osition)p Ff(g)452 1380 y Fe(Initialises)35
+b(the)g(b)r(oard)e(to)i(the)g(p)r(osition)f(describ)r(ed)h(with)g
+Fd(FEN)f(p)r(osition)q Fe(.)452 1480 y(The)28 b(format)f(of)h(a)f(FEN)g
+(p)r(osition)h(is:)452 1580 y Fb(<)p Fd(b)r(oa)n(rd)f(ro)n(ws)p
+Fb(>)g Fd(w)p Ff(j)p Fd(b)i Fb(<)p Fd(castling)d(options)p
+Fb(>)g(<)p Fd(en)h(passant)g(squa)n(re)p Fb(>)452 1679
+y(<)p Fd(50)g(moves)g(counter)p Fb(>)f(<)p Fd(move)h(numb)r(er)p
+Fb(>)452 1779 y Fe(The)h(FEN)g(for)f(the)h(op)r(ening)f(p)r(osition)g
+(is)452 1879 y Fd(rnb)r(qkbnr/pppppppp/8/8/8/8/PPPPPPPP/RNBQKBNR)452
+1978 y(w)h(K)n(Qkq)e(-)i(0)f(1)452 2078 y Fe(Note:)42
+b(the)30 b(50)g(mo)n(v)n(es)e(coun)n(ter)h(is)h(not)g(used)g(b)n(y)g
+(the)g Fj(skak)f Fe(game)g(engine,)452 2177 y(but)g(it)f(is)f(up)r
+(dated)h(to)g(sta)n(y)e(in)i(sync)g(with)g(external)e(programs.)p
+0 TeXcolorgray 0 TeXcolorgray 452 2370 a Fg(Describing)37
+b(moves)452 2600 y Ff(n)p Fh(va)m(riation)p Ff(f)p Fd(SAN)26
+b(moves)p Ff(g)452 2699 y Fe(This)20 b(will)g(t)n(yp)r(eset)g
+Fd(SAN)g(moves)25 b Fe(using)19 b(the)h(curren)n(t)f
+Ff(n)p Fh(va)m(riationst)m(yle)p Fe(.)32 b(This)452 2799
+y(command)c(undo)r(es)f(the)h(last)f(mo)n(v)n(e)g(so)g(y)n(ou)g(ha)n(v)
+n(e)f(to)h(start)g(one)h(ply)f(bac)n(k.)452 2922 y Ff(n)p
+Fh(va)m(riationcurrentt)p Ff(f)p Fd(SAN)d(moves)p Ff(g)452
+3022 y Fe(Lik)n(e)j Ff(n)p Fh(va)m(riation)p Fe(,)f(but)i(do)r(es)f
+(not)h(undo)g(the)g(last)f(mo)n(v)n(e.)452 3145 y Ff(n)p
+Fh(continueva)m(riation)p Ff(f)p Fd(SAN)d(moves)p Ff(g)452
+3245 y Fe(Con)n(tin)n(ues)j(the)h(v)-5 b(ariation)27
+b(but)h(undo)r(es)f(the)h(last)g(mo)n(v)n(e)e(\014rst.)452
+3368 y Ff(n)p Fh(continueva)m(riationcurrent)p Ff(f)p
+Fd(SAN)c(moves)p Ff(g)452 3468 y Fe(Con)n(tin)n(ues)27
+b(the)h(v)-5 b(ariation)27 b(without)h(undoing)f(the)h(last)f(mo)n(v)n
+(e)g(\014rst.)p 0 TeXcolorgray 0 TeXcolorgray 2949 78
+a Ff(n)p Fh(wmove)p Ff(f)p Fd(SAN)g(move)p Ff(g)2949
+178 y Fe(T)n(yp)r(esets)36 b Fd(SAN)g(move)41 b Fe(using)36
+b(the)g(curren)n(t)f Ff(n)p Fh(va)m(riationst)m(yle)p
+Fe(.)59 b(Example:)2949 278 y Ff(n)p Fj(wmove)p Ff(f)p
+Fj(Nf3)p Ff(g)23 b Fe(giv)n(es)k Fa(N)p Fe(f3.)2949 406
+y Ff(n)p Fh(bmove)p Ff(f)p Fd(SAN)g(move)p Ff(g)2949
+506 y Fe(T)n(yp)r(esets)44 b Fd(SAN)h(move)k Fe(using)44
+b(the)h(curren)n(t)e Ff(n)p Fh(va)m(riationst)m(yle)f
+Fe(but)j(with)2949 605 y(.)14 b(.)g(.)g(\(or)42 b(something)f(similar)g
+(according)g(to)h(the)g(st)n(yle\))g(in)g(fron)n(t)g(of)g(the)2949
+705 y(mo)n(v)n(e)35 b(|)h(can)g(b)r(e)g(used)g(to)f(describ)r(e)h(a)f
+(single)h(blac)n(k)f(mo)n(v)n(e.)60 b(Example:)2949 804
+y Ff(n)p Fj(bmove)p Ff(f)p Fj(Nxd4)p Ff(g)23 b Fe(giv)n(es)j(.)14
+b(.)g(.)g Fa(NX)p Fe(d4)2949 933 y Ff(n)p Fh(movecomment)p
+Ff(f)p Fd(Chess)25 b(moves)p Ff(g)2949 1032 y Fe(T)n(yp)r(esets)38
+b(the)h Fd(Chess)e(moves)44 b Fe(using)38 b(the)h(curren)n(t)e
+Ff(n)p Fh(va)m(riationst)m(yle)p Fe(,)i(but)2949 1132
+y(do)r(esn't)28 b(c)n(hec)n(k)f(for)g(mo)n(v)n(e)f(n)n(um)n(b)r(ers)h
+(lik)n(e)h Ff(n)p Fh(va)m(riation)d Fe(do)r(es.)p 0 TeXcolorgray
+0 TeXcolorgray 2949 1335 a Fg(Sho)m(wing)37 b(the)f(b)s(oa)m(rd)2949
+1474 y Ff(n)p Fh(sho)m(wb)s(oa)m(rd)2949 1573 y Fe(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 1702 y Ff(n)p Fh(sho)m(winverseb)s(oa)m(rd)2949
+1801 y Fe(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.)p 0 TeXcolorgray 0 TeXcolorgray
+2949 2004 a Fg(St)m(yle)37 b(selection)2949 2143 y Ff(n)p
+Fh(st)m(yleA)2949 2243 y Fe(Cho)r(oses)27 b(the)h Fd(st)n(yleA)f
+Fe(for)g(t)n(yp)r(esetting)h(of)g(mo)n(v)n(es.)2949 2371
+y Ff(n)p Fh(st)m(yleB)2949 2471 y Fe(Cho)r(oses)36 b(the)g
+Fd(st)n(yleB)43 b Fe(for)36 b(t)n(yp)r(esetting)h(of)f(mo)n(v)n(es.)62
+b(This)36 b(is)g(the)h(default)2949 2570 y(st)n(yle.)2949
+2699 y Ff(n)p Fh(st)m(yleC)2949 2798 y Fe(Cho)r(oses)27
+b(the)h Fd(st)n(yleC)37 b Fe(for)27 b(t)n(yp)r(esetting)h(of)f(mo)n(v)n
+(es.)p 0 TeXcolorgray 0 TeXcolorgray 2949 3001 a Fg(Size)38
+b(of)e(the)h(b)s(oa)m(rd)2949 3140 y Ff(n)p Fh(no)m(rmalb)s(oa)m(rd)
+2949 3240 y Fe(The)19 b(default)g(size)f(of)h(the)g(b)r(oard)e(t)n(yp)r
+(eset)i(b)n(y)f(the)h Ff(n)p Fh(sho)m(wb)s(oa)m(rd)d
+Fe(commands.)2949 3368 y Ff(n)p Fh(tinyb)s(oa)m(rd)2949
+3468 y Fe(The)28 b Ff(n)p Fh(sho)m(wb)s(oa)m(rd)d Fe(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.)p
+0 TeXcolorgray 2887 3717 a(1)p 0 TeXcolorgray eop end
+%%Page: 2 2
+TeXDict begin @landscape 2 1 bop 0 TeXcolorgray 0 TeXcolorgray
+2220 -242 a Fj(skak)31 b Fi(v)m(ersion)g(1.2)g Fh(Reference)h(Manual)p
+452 -209 4912 4 v 0 TeXcolorgray 452 78 a Ff(n)p Fh(smallb)s(oa)m(rd)
+452 178 y Fe(The)c Ff(n)p Fh(sho)m(wb)s(oa)m(rd)d Fe(commands)i(will)h
+(b)r(e)g(t)n(yp)r(eset)g(in)f(a)h(small)f(fon)n(t.)452
+305 y Ff(n)p Fh(la)m(rgeb)s(oa)m(rd)452 405 y Fe(The)h
+Ff(n)p Fh(sho)m(wb)s(oa)m(rd)d Fe(commands)i(will)h(b)r(e)g(t)n(yp)r
+(eset)g(in)f(a)h(large)e(fon)n(t.)p 0 TeXcolorgray 0
+TeXcolorgray 452 605 a Fg(Notation)38 b(and)e(mover)452
+743 y Ff(n)p Fh(notationOn)452 843 y Fe(The)28 b Ff(n)p
+Fh(sho)m(wb)s(oa)m(rd)c Fe(commands)j(sho)n(w)f(rank)g(and)h(\014le)h
+(names.)36 b(This)27 b(is)g(the)452 943 y(default.)452
+1070 y Ff(n)p Fh(notationO\013)452 1170 y Fe(The)h Ff(n)p
+Fh(sho)m(wb)s(oa)m(rd)d Fe(commands)i(sho)n(w)g(only)g(the)h(b)r(oard.)
+452 1297 y Ff(n)p Fh(sho)m(wmoverOn)452 1397 y Fe(The)e
+Ff(n)p Fh(sho)m(wb)s(oa)m(rd)e Fe(commands)h(indicate)h(|)g(with)h(a)e
+(small)h(b)r(o)n(x)f(|)i(whic)n(h)452 1496 y(pla)n(y)n(er)32
+b(has)g(to)g(mo)n(v)n(e.)52 b(Note:)47 b(this)33 b(only)f(w)n(orks)f
+(when)i(the)g(ps)g(option)g(is)452 1596 y(used.)452 1723
+y Ff(n)p Fh(sho)m(wmoverO\013)452 1823 y Fe(The)28 b(dual)g(of)34
+b Ff(n)p Fh(sho)m(wmoverOn)p Fe(.)p 0 TeXcolorgray 0
+TeXcolorgray 452 2023 a Fg(Selective)j(sho)m(wing)g(of)g(pieces)452
+2161 y Ff(n)p Fh(sho)m(w)m(all)452 2261 y Fe(Mak)n(es)27
+b(the)h Ff(n)p Fh(sho)m(wb)s(oa)m(rd)d Fe(commands)i(sho)n(w)g(all)g
+(pieces.)452 2388 y Ff(n)p Fh(sho)m(w)m(onlywhite)452
+2488 y Fe(The)h Ff(n)p Fh(sho)m(wb)s(oa)m(rd)d Fe(commands)i(will)h
+(only)f(sho)n(w)g(the)h(white)g(pieces.)452 2615 y Ff(n)p
+Fh(sho)m(w)m(onlyblack)452 2715 y Fe(The)g Ff(n)p Fh(sho)m(wb)s(oa)m
+(rd)d Fe(commands)i(will)h(only)f(sho)n(w)g(the)h(blac)n(k)e(pieces.)
+452 2842 y Ff(n)p Fh(sho)m(w)m(onlypa)m(wns)452 2942
+y Fe(The)i Ff(n)p Fh(sho)m(wb)s(oa)m(rd)d Fe(commands)i(will)h(only)f
+(sho)n(w)g(the)h(pa)n(wns.)452 3069 y Ff(n)p Fh(sho)m(w)m(only)q
+Ff(f)p Fd(piece)e(names)p Ff(g)452 3169 y Fe(The)33 b(argumen)n(t)e
+Fd(piece)h(names)38 b Fe(is)32 b(a)g(comma)g(separated)f(list)h(of)h
+(names)e(of)452 3268 y(pieces)24 b(to)g(b)r(e)h(sho)n(wn)e(using)h(the)
+g Ff(n)p Fh(sho)m(wb)s(oa)m(rd)e Fe(commands.)35 b(White)25
+b(pieces)452 3368 y(are)30 b(named)h Fd(K,Q,R,B,N,P)38
+b Fe(and)30 b(blac)n(k's)g Fd(k,q,r,b,n,p)s Fe(.)47 b(Note:)c(called)31
+b(with)452 3468 y(no)d(argumen)n(ts)e(all)h(pieces)h(are)e(sho)n(w)n
+(ed!)p 0 TeXcolorgray 0 TeXcolorgray 2949 78 a Ff(n)p
+Fh(sho)m(w)m(allbut)p Ff(f)p Fd(piece)f(names)p Ff(g)2949
+178 y Fe(The)33 b(argumen)n(t)e Fd(piece)h(names)38 b
+Fe(is)32 b(a)g(comma)g(separated)f(list)h(of)h(names)e(of)2949
+278 y(pieces)h(whic)n(h)f(will)h Fc(not)40 b Fe(b)r(e)32
+b(sho)n(wn)f(when)h(using)f(the)h Ff(n)p Fh(sho)m(wb)s(oa)m(rd)d
+Fe(com-)2949 377 y(mands.)37 b(Note:)g(called)27 b(with)h(an)g(empt)n
+(y)f(list)h(no)f(pieces)h(are)e(sho)n(wn!)p 0 TeXcolorgray
+0 TeXcolorgray 2949 608 a Fg(Move)37 b(a)m(rro)m(ws)2949
+760 y Ff(n)p Fh(p)m(rinta)m(rro)m(w)q Ff(f)p Fd(from)p
+Ff(gf)p Fd(to)p Ff(g)2949 860 y Fe(Dra)n(ws)27 b(an)h(arro)n(w)d(on)j
+(the)g(last)g(t)n(yp)r(eset)g(b)r(oard)f(from)g(the)h(square)f
+Fd(from)j Fe(to)2949 959 y(the)e(square)f Fd(to)5 b Fe(.)2949
+1101 y Ff(n)p Fh(highlight)p Fd([ms])i Ff(f)p Fd(squa)n(re)25
+b(list)p Ff(g)2949 1201 y Fe(The)j(comma)f(separated)f
+Fd(squa)n(re)h(list)32 b Fe(will)c(b)n(y)f(default)h(b)r(e)g(highligh)n
+(ted)f(us-)2949 1301 y(ing)k(a)g(thic)n(k)g(frame)f(on)h(the)g(last)g
+(t)n(yp)r(eset)g(b)r(oard.)46 b(The)31 b(optional)f(mark)n(er)2949
+1400 y(sym)n(b)r(ol)f Fd(ms)36 b Fe(can)29 b(b)r(e)g(one)g(of)g(X,)h
+(x,)g(O)f(and)g(o)g(in)g(whic)n(h)g(case)g(a)g(cross)e(or)i(a)2949
+1500 y(circle)e(is)h(used)f(to)h(highligh)n(t)f(the)h(square.)2949
+1608 y Ff(n)p Fh(p)m(rintknightmove)p Ff(f)p Fd(from)p
+Ff(gf)p Fd(to)p Ff(g)2949 1708 y Fe(Dra)n(ws)f(a)g(b)r(en)n(t)h(arro)n
+(w)e(from)h(the)h(square)e Fd(from)j Fe(to)f(the)g(square)e
+Fd(to)5 b Fe(.)p 0 TeXcolorgray 0 TeXcolorgray 2949 1939
+a Fg(Customizations)2949 2091 y Ff(n)p Fh(newsk)m(aklanguage)p
+Ff(f)p Fd(language)p Ff(gf)p Fd(piecenames)p Ff(g)2949
+2190 y Fe(De\014nes)52 b(a)e(new)i Fd(language)j Fe(for)50
+b(the)i(input)f(of)g(SAN)h(mo)n(v)n(es.)105 b Fd(piece-)2949
+2290 y(names)52 b Fe(are)45 b(the)h(upp)r(ercase)f(letters)g(used)h
+(for)f(the)h(pieces)g(in)g(the)g(or-)2949 2389 y(der)59
+b(King,)66 b(Queen,)h(Ro)r(ok,)f(Bishop,)g(Knigh)n(t,)h(P)n(a)n(wn.)129
+b(Example:)2949 2489 y Ff(n)p Fj(newskaklanguage)p Ff(f)o
+Fj(da)o(nis)o(h)p Ff(g)o(f)p Fj(K)o(DT)o(LSB)o Ff(g)28
+b Fe(de\014nes)35 b Fd(danish)g Fe(as)f(a)g(new)h(in-)2949
+2589 y(put)29 b(language.)2949 2731 y Ff(n)p Fh(sk)m(aklanguage)p
+Fd([language])2949 2830 y Fe(Cho)r(oses)e Fd(language)32
+b Fe(as)26 b(new)i(input)g(language)e(|)i(defaults)g(to)f
+Fd(english)q Fe(.)2949 2972 y Ff(n)p Fh(mainlinest)m(yle)2949
+3072 y Fe(Activ)-5 b(ates)34 b(the)f(t)n(yp)r(esetting)h(st)n(yle)e
+(for)h(the)h(mainline)f(|)g(this)h(command)2949 3172
+y(can)28 b(b)r(e)g(rede\014ned)f(if)h(sp)r(ecial)f(requiremen)n(ts)g
+(for)g(the)h(t)n(yp)r(esetting)g(exists.)2949 3314 y
+Ff(n)p Fh(va)m(riationst)m(yle)2949 3413 y Fe(Similar)g(to)f
+Ff(n)p Fh(mainlinest)m(yle)g Fe(just)h(for)f(the)h(t)n(yp)r(esetting)g
+(of)g(v)-5 b(ariations.)p 0 TeXcolorgray 2887 3717 a(2)p
+0 TeXcolorgray eop end
+%%Page: 3 3
+TeXDict begin @landscape 3 2 bop 0 TeXcolorgray 0 TeXcolorgray
+2220 -242 a Fj(skak)31 b Fi(v)m(ersion)g(1.2)g Fh(Reference)h(Manual)p
+452 -209 4912 4 v 0 TeXcolorgray 0 TeXcolorgray 0 TeXcolorgray
+452 78 a Fg(Game)38 b(sto)m(rage)452 214 y Ff(n)p Fh(savegame)p
+Ff(f)p Fd(\014le)25 b(name)p Ff(g)452 313 y Fe(W)-7 b(rites)27
+b(the)f(FEN)g(string)g(for)f(the)i(curren)n(t)e(p)r(osition)h(on)g(the)
+h(b)r(oard)e(to)h(the)452 413 y(\014le)i Fb(<)p Fj(file)42
+b(name)p Fb(>)p Fj(.fen)452 534 y Ff(n)p Fh(loadgame)p
+Ff(f)p Fd(\014le)25 b(name)p Ff(g)452 633 y Fe(Load)i(the)h(p)r
+(osition)f(stored)g(in)h(the)g(\014le)g Fb(<)p Fj(file)41
+b(name)p Fb(>)p Fj(.fen)452 754 y Ff(n)p Fh(sto)m(regame)p
+Ff(f)p Fd(name)p Ff(g)452 854 y Fe(Stores)27 b(the)h(curren)n(t)f(game)
+g(p)r(osition)g(using)h Fd(name)33 b Fe(as)27 b(reference.)452
+975 y Ff(n)p Fh(resto)m(regame)p Ff(f)p Fd(name)p Ff(g)452
+1074 y Fe(Restores)g(the)h(game)f(previously)f(sa)n(v)n(ed)g(using)i
+Ff(n)p Fh(sto)m(regame)p Fe(.)p 0 TeXcolorgray 0 TeXcolorgray
+452 1262 a Fg(P)m(ack)m(age)37 b(options)452 1398 y Fh(ps)i
+Fe(Includes)f(the)h Fj(ps-tricks)c Fe(pac)n(k)-5 b(age)37
+b(in)i(order)e(to)h(mak)n(e)g(ornamen)n(ts)452 1497 y(on)g(the)g(b)r
+(oard.)66 b(Required)37 b(to)g(mak)n(e)g(the)h(follo)n(wing)f(commands)
+g(w)n(ork:)452 1597 y Ff(n)p Fh(sho)m(wmoverOn)p Fe(,)26
+b Ff(n)p Fh(p)m(rinta)m(rro)m(w)q Fe(,)h Ff(n)p Fh(highlight)p
+Fe(,)e Ff(n)p Fh(p)m(rintknightmove)p Fe(.)452 1718 y
+Fh(pso\013)34 b Fe(Do)r(es)27 b Fc(not)36 b Fe(include)28
+b(the)g Fj(ps-tricks)c Fe(pac)n(k)-5 b(age.)452 1838
+y Fh(mover)29 b Fe(Issues)e(the)h Ff(n)p Fh(sho)m(wmoveOn)d
+Fe(command.)452 1959 y Fh(movero\013)34 b Fe(Issues)27
+b(the)h Ff(n)p Fh(sho)m(wmoveOn)d Fe(command.)452 2080
+y Fh(notation)g Fe(Issues)i(the)h Ff(n)p Fh(notationOn)c
+Fe(command.)452 2201 y Fh(english)41 b Fe(Mak)n(es)f(english)h(the)h
+(preferred)e(input)i(language)d(|)i(the)h(only)452 2301
+y(de\014ned)28 b(language)e(at)i(the)g(momen)n(t.)452
+2421 y Fh(st)m(yleA)g Fe(Cho)r(oses)f Ff(n)p Fh(st)m(yleA)g
+Fe(st)n(yle)g(for)g(the)h(t)n(yp)r(esetting)g(of)f(mo)n(v)n(es.)452
+2542 y Fh(st)m(yleB)h Fe(Cho)r(oses)f Ff(n)p Fh(st)m(yleB)g
+Fe(st)n(yle)g(for)g(the)h(t)n(yp)r(esetting)g(of)f(mo)n(v)n(es.)452
+2663 y Fh(st)m(yleC)i Fe(Cho)r(oses)d Ff(n)p Fh(st)m(yleC)i
+Fe(st)n(yle)f(for)g(the)h(t)n(yp)r(esetting)g(of)f(mo)n(v)n(es.)452
+2784 y Fh(tiny)h Fe(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.)452 2905 y Fh(small)h Fe(The)g(b)r(oard)e(is)i
+(sho)n(wn)f(using)g(the)h(small)f(size)h(fon)n(t.)452
+3025 y Fh(no)m(rmal)f Fe(The)h(b)r(oard)f(is)g(sho)n(wn)g(using)g(the)h
+(normal)f(size)g(fon)n(t.)452 3146 y Fh(la)m(rge)h Fe(The)g(b)r(oard)f
+(is)g(sho)n(wn)g(using)g(the)h(large)e(size)i(fon)n(t.)452
+3352 y(The)20 b(default)h(options)e(are)g Fh(notation,)i(no)m(rmal,)i
+(pso\013,)h(english,)g(movero\013,)452 3452 y(st)m(yleB)p
+Fe(.)p 0 TeXcolorgray 0 TeXcolorgray 0 TeXcolorgray 2887
+3717 a(3)p 0 TeXcolorgray eop end
+%%Trailer
+
+userdict /end-hook known{end-hook}if
+%%EOF
diff --git a/Master/texmf-dist/doc/latex/skak/skakdoc.pdf b/Master/texmf-dist/doc/latex/skak/skakdoc.pdf
deleted file mode 100644
index 0f40b14f9fb..00000000000
--- a/Master/texmf-dist/doc/latex/skak/skakdoc.pdf
+++ /dev/null
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/skak/skakdoc.ps b/Master/texmf-dist/doc/latex/skak/skakdoc.ps
new file mode 100644
index 00000000000..970718088c3
--- /dev/null
+++ b/Master/texmf-dist/doc/latex/skak/skakdoc.ps
@@ -0,0 +1,13426 @@
+%!PS-Adobe-2.0
+%%Creator: dvips(k) 5.991 Copyright 2011 Radical Eye Software
+%%Title: skakdoc.dvi
+%%CreationDate: Thu Jul 18 23:26:33 2013
+%%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 SFRM1000
+%%+ SkakNew-Figurine-Bold CMSS8 SkakNew-DiagramT CMR5 SkakNew-Figurine
+%%+ CMTI10 CMSY8 CMTT8 CMR8 CMITT10 CMBSY10
+%%DocumentPaperSizes: a4
+%%EndComments
+%DVIPSWebPage: (www.radicaleye.com)
+%DVIPSCommandLine: dvips -o skakdoc.ps skakdoc.dvi
+%DVIPSParameters: dpi=600
+%DVIPSSource: TeX output 2013.07.18:2326
+%%BeginProcSet: tex.pro 0 0
+%!
+/TeXDict 300 dict def TeXDict begin/N{def}def/B{bind def}N/S{exch}N/X{S
+N}B/A{dup}B/TR{translate}N/isls false N/vsize 11 72 mul N/hsize 8.5 72
+mul N/landplus90{false}def/@rigin{isls{[0 landplus90{1 -1}{-1 1}ifelse 0
+0 0]concat}if 72 Resolution div 72 VResolution div neg scale isls{
+landplus90{VResolution 72 div vsize mul 0 exch}{Resolution -72 div hsize
+mul 0}ifelse TR}if Resolution VResolution vsize -72 div 1 add mul TR[
+matrix currentmatrix{A A round sub abs 0.00001 lt{round}if}forall round
+exch round exch]setmatrix}N/@landscape{/isls true N}B/@manualfeed{
+statusdict/manualfeed true put}B/@copies{/#copies X}B/FMat[1 0 0 -1 0 0]
+N/FBB[0 0 0 0]N/nn 0 N/IEn 0 N/ctr 0 N/df-tail{/nn 8 dict N nn begin
+/FontType 3 N/FontMatrix fntrx N/FontBBox FBB N string/base X array
+/BitMaps X/BuildChar{CharBuilder}N/Encoding IEn N end A{/foo setfont}2
+array copy cvx N load 0 nn put/ctr 0 N[}B/sf 0 N/df{/sf 1 N/fntrx FMat N
+df-tail}B/dfs{div/sf X/fntrx[sf 0 0 sf neg 0 0]N df-tail}B/E{pop nn A
+definefont setfont}B/Cw{Cd A length 5 sub get}B/Ch{Cd A length 4 sub get
+}B/Cx{128 Cd A length 3 sub get sub}B/Cy{Cd A length 2 sub get 127 sub}
+B/Cdx{Cd A length 1 sub get}B/Ci{Cd A type/stringtype ne{ctr get/ctr ctr
+1 add N}if}B/CharBuilder{save 3 1 roll S A/base get 2 index get S
+/BitMaps get S get/Cd X pop/ctr 0 N Cdx 0 Cx Cy Ch sub Cx Cw add Cy
+setcachedevice Cw Ch true[1 0 0 -1 -.1 Cx sub Cy .1 sub]{Ci}imagemask
+restore}B/D{/cc X A type/stringtype ne{]}if nn/base get cc ctr put nn
+/BitMaps get S ctr S sf 1 ne{A A length 1 sub A 2 index S get sf div put
+}if put/ctr ctr 1 add N}B/I{cc 1 add D}B/bop{userdict/bop-hook known{
+bop-hook}if/SI save N @rigin 0 0 moveto/V matrix currentmatrix A 1 get A
+mul exch 0 get A mul add .99 lt{/QV}{/RV}ifelse load def pop pop}N/eop{
+SI restore userdict/eop-hook known{eop-hook}if showpage}N/@start{
+userdict/start-hook known{start-hook}if pop/VResolution X/Resolution X
+1000 div/DVImag X/IEn 256 array N 2 string 0 1 255{IEn S A 360 add 36 4
+index cvrs cvn put}for pop 65781.76 div/vsize X 65781.76 div/hsize X}N
+/dir 0 def/dyy{/dir 0 def}B/dyt{/dir 1 def}B/dty{/dir 2 def}B/dtt{/dir 3
+def}B/p{dir 2 eq{-90 rotate show 90 rotate}{dir 3 eq{-90 rotate show 90
+rotate}{show}ifelse}ifelse}N/RMat[1 0 0 -1 0 0]N/BDot 260 string N/Rx 0
+N/Ry 0 N/V{}B/RV/v{/Ry X/Rx X V}B statusdict begin/product where{pop
+false[(Display)(NeXT)(LaserWriter 16/600)]{A length product length le{A
+length product exch 0 exch getinterval eq{pop true exit}if}{pop}ifelse}
+forall}{false}ifelse end{{gsave TR -.1 .1 TR 1 1 scale Rx Ry false RMat{
+BDot}imagemask grestore}}{{gsave TR -.1 .1 TR Rx Ry scale 1 1 false RMat
+{BDot}imagemask grestore}}ifelse B/QV{gsave newpath transform round exch
+round exch itransform moveto Rx 0 rlineto 0 Ry neg rlineto Rx neg 0
+rlineto fill grestore}B/a{moveto}B/delta 0 N/tail{A/delta X 0 rmoveto}B
+/M{S p delta add tail}B/b{S p tail}B/c{-4 M}B/d{-3 M}B/e{-2 M}B/f{-1 M}
+B/g{0 M}B/h{1 M}B/i{2 M}B/j{3 M}B/k{4 M}B/w{0 rmoveto}B/l{p -4 w}B/m{p
+-3 w}B/n{p -2 w}B/o{p -1 w}B/q{p 1 w}B/r{p 2 w}B/s{p 3 w}B/t{p 4 w}B/x{
+0 S rmoveto}B/y{3 2 roll p a}B/bos{/SS save N}B/eos{SS restore}B end
+
+%%EndProcSet
+%%BeginProcSet: pstricks.pro 0 0
+% $Id: pstricks.pro 647 2012-02-12 15:03:40Z herbert $
+%
+%% PostScript prologue for pstricks.tex.
+%% Version 1.12, 2012/02/12
+%%
+%% This program can be redistributed and/or modified under the terms
+%% of the LaTeX Project Public License Distributed from CTAN archives
+%% in directory macros/latex/base/lppl.txt.
+%
+%
+% Define the follwing gs-functions if not known, eg when using distiller
+%
+systemdict /.setopacityalpha known not {/.setopacityalpha { pop } def } if
+systemdict /.setblendmode known not {/.setblendmode { pop } def } if
+systemdict /.setshapealpha known not {/.setshapealpha { pop } def } if
+%
+/tx@Dict 200 dict def % the main PSTricks dictionary
+tx@Dict begin
+/ADict 25 dict def % The arrow dictionaray
+/CM { matrix currentmatrix } bind def
+/SLW /setlinewidth load def
+/CLW /currentlinewidth load def
+/CP /currentpoint load def
+/ED { exch def } bind def
+/L /lineto load def
+/T /translate load def
+/TMatrix { } def
+/RAngle { 0 } def
+/Sqrt { dup 0 lt { pop 0 } { sqrt } ifelse } def % return 0 for negative arguments
+/Atan { /atan load stopped { pop pop 0 } if } def % return 0 if atan not known
+/ATAN1 {neg -1 atan 180 sub } def % atan(x) (only one parameter)
+/Div { dup 0 eq { pop } { div } ifelse } def % control the division
+/tan { dup cos abs 1.e-10 lt
+ { pop 1.e10 } % return 1.e10 as infinit
+ { dup sin exch cos div } ifelse % default sin/cos
+} def
+/Tan { dup sin exch cos Div } def % sin(x)/cos(x) x in degrees
+/Acos {dup dup mul neg 1 add dup 0 lt { % arc cos, returns 0 when negative root
+ pop pop 0 }{ sqrt exch atan} ifelse } def
+/NET { neg exch neg exch T } def % change coordinate system to the negative one
+/Pyth { dup mul exch dup mul add sqrt } def % Pythagoras, expects 2 parameter
+/Pyth2 { % Pythagoras, xA yA xB yB
+ 3 -1 roll % xA xB yB yA
+ sub % xA xB yB-yA
+ 3 1 roll % yB-yA xA xB
+ sub % yB-yA xA-xB
+ Pyth } def
+/PtoC { 2 copy cos mul 3 1 roll sin mul } def % Polar to Cartesian
+/Rand { rand 4294967295 div } def % a real random number
+%----------------- hv added 20050516 ---------------
+/PiDiv2 1.57079632680 def
+/Pi 3.14159265359 def
+/TwoPi 6.28318530718 def
+/Euler 2.71828182846 def
+%/e Euler bind def
+%
+/RadtoDeg { 180 mul Pi div } bind def % convert from radian to degrees
+/DegtoRad { Pi mul 180 div } bind def % viceversa
+%----------------- hv end---------------------------
+/PathLength@ { /z z y y1 sub x x1 sub Pyth add def /y1 y def /x1 x def } def
+%
+/PathLength {
+ flattenpath /z 0 def
+ { /y1 ED /x1 ED /y2 y1 def /x2 x1 def }
+ { /y ED /x ED PathLength@ }
+ {}
+ { /y y2 def /x x2 def PathLength@ }
+ /pathforall load stopped { pop pop pop pop } if
+ z
+} def
+%
+/STP { .996264 dup scale } def % BP/PT scaling
+/STV { SDict begin normalscale end STP } def %
+%
+/DashLine {
+ dup 0 gt
+ { /a .5 def PathLength exch div }
+ { pop /a 1 def PathLength } ifelse
+ /b ED % pattern should fit evenly in b
+ dup /X ED % pattern array
+ 0 get /y ED % length of first black segment
+ /z 0 X {add} forall def % length of the full pattern
+ %% Computation of the scaling factor as described by van Zandt:
+ b a .5 sub 2 mul y mul sub z Div round
+ z mul a .5 sub 2 mul y mul add b exch Div
+ %%%% scaling factor on stack.
+ /z ED %% now, z is the scaling factor
+ false % for the length test below
+ X { z mul } forall X astore %% modification TN 04-08-07
+ %%% Checking whether at least one dash in X has positive length:
+ {0 gt or} forall
+ { X 1 a sub y mul }
+ { [ 1 0 ] 0 }
+ ifelse
+ setdash stroke
+} def
+%
+/DotLine {
+ /b PathLength def
+ /a ED /z ED /y CLW def
+ /z y z add def
+ a 0 gt {
+ /b b a div def
+ }{
+ a 0 eq {
+ /b b y sub def
+ }{ a -3 eq {
+ /b b y add def } if
+ } ifelse
+ } ifelse
+ [ 0 b b z Div round Div dup 0 le { pop 1 } if ]
+ a 0 gt { 0 }{ y 2 div a -2 gt { neg }if } ifelse
+ setdash 1 setlinecap stroke
+} def
+%
+/SymbolLine { % on stack [ x y x y ...
+ counttomark % number of elements
+ 2 div cvi /n ED % n pairs
+ /YA ED /XA ED % the start point
+ n 1 sub {
+ /YB ED /XB ED
+ /XLength XB XA sub def
+ /YLength YB YA sub def
+ /PAngle YLength XLength Atan def
+ /XYLength XLength YLength Pyth def
+
+ %% for negative SymStep we calculate the distance
+ SymStep 0 lt
+ { %XYLength SymStep div abs cvi
+ /nSym SymStep abs cvi def }
+ { /nSym XYLength SymStep div cvi def }
+ ifelse
+ 0.5 setflat
+ /Shift Symbol stringwidth pop 2 div def
+ /deltaX XLength nSym div def
+ /deltaY YLength nSym div def
+ curveticks
+ { XA YA moveto }
+ { XA Shift sub YA Shift sub moveto }
+ ifelse
+ nSym {
+ gsave
+ curveticks
+ { PAngle 180 sub CorrAngle sub tickAngle add /rotAngle ED
+ currentpoint translate rotAngle rotate
+ 0 SymbolWidth 2 div moveto 0 SymbolWidth 2 div neg lineto
+ SymbolLinewidth setlinewidth stroke
+ }
+ {
+ rotateSymbol { PAngle 180 sub CorrAngle sub rotate } if
+ Symbol show
+ }
+ ifelse
+ grestore
+ deltaX deltaY rmoveto
+ } repeat
+ /YA YB def /XA XB def
+ } repeat
+ curveticks
+ { XA YA moveto }
+ { XA Shift sub YA Shift sub moveto }
+ ifelse
+ gsave
+ curveticks
+ { PAngle 180 sub CorrAngle sub tickAngle add /rotAngle ED
+ XA YA translate rotAngle rotate
+ 0 SymbolWidth 2 div moveto 0 SymbolWidth 2 div neg lineto
+ SymbolLinewidth setlinewidth stroke
+ }
+ {
+ rotateSymbol { PAngle 180 sub CorrAngle sub rotate } if
+ Symbol show
+ }
+ ifelse
+ grestore
+ pop % delete the mark symbol
+} def
+%
+/LineFill { % hv ------------ patch 7 -------------
+ gsave
+ abs /hatchWidthInc ED
+ abs /hatchSepInc ED
+ abs CLW add /a ED
+ a 0 dtransform round exch round exch
+ 2 copy idtransform
+ exch Atan rotate
+ idtransform pop /a ED
+ .25 .25 itransform pathbbox
+ /y2 ED
+ a Div ceiling cvi /x2 ED /y1 ED
+ a Div cvi /x1 ED /y2 y2 y1 sub def
+ clip
+ newpath
+ 2 setlinecap
+ systemdict
+ /setstrokeadjust known { true setstrokeadjust } if
+ x2 x1 sub 1 add {
+ x1 a mul y1 moveto 0 y2 rlineto stroke
+ /x1 x1 1 add
+ hatchWidthInc 0 gt { CLW add } if
+ def
+ hatchSepInc 0 gt hatchWidthInc 0 gt or {
+ /a a hatchSepInc add def
+ CLW hatchWidthInc add SLW
+ } if
+ } repeat
+ grestore
+ pop pop } def
+%
+/DotFill {% on stack: dot radius
+ /dotRadius ED
+ abs CLW add /a ED
+ a 0 dtransform round exch round exch
+ 2 copy idtransform
+ exch Atan rotate
+ idtransform pop /a ED
+ .25 .25 itransform
+ pathbbox % llx lly urx ury of smallest bounding box
+ /y2 ED /x2 ED /y1 ED /x1 ED
+ y2 y1 sub a div 2 add cvi /Ny ED
+ x2 x1 sub a div 2 add cvi /Nx ED
+ clip
+ newpath
+ /yA y1 dotRadius add CLW add def
+ /xA0 x1 dotRadius add CLW add def
+ Ny {
+ /xA xA0 def
+ Nx {
+ newpath
+ xA yA dotRadius 0 360 arc
+ SolidDot { gsave fill grestore } if
+ stroke
+ xA a add /xA ED
+ } repeat
+ yA a add /yA ED
+ } repeat
+ grestore
+} def
+%
+/PenroseFill {% on stack: scaling factor
+ dup dup scale
+ 1 exch div round /penroseFactor ED
+ a 0 dtransform round exch round exch
+ 2 copy idtransform
+ exch Atan rotate
+ idtransform pop /a ED
+ .25 .25 itransform pathbbox
+ /y2 ED
+ a Div ceiling cvi /x2 ED /y1 ED
+ a Div cvi /x1 ED /y2 y2 y1 sub def
+ clip
+ newpath
+ systemdict
+ /setstrokeadjust known { true setstrokeadjust } if
+ /I/S/L/W/G/+/Z/F/E/D[/def/exch/for{E D}/add{s E get mul}
+ { Z -36.2001 1 33 }{25 E S rlineto}{/q Z dup q G E q 1 + G}{Z 2 2}]{cvx def}forall
+ [0 72 1008 {dup sin E cos }F ]1 setlinejoin/s W{/a W{/b I 10{/i I 4{/m I moveto
+ i m +/j I 10{/l Z b m l + G a l G sub s m get div .2 + floor .3 + 25
+ mul j l + S rmoveto}F i L j L stroke }F}F}F}F
+ grestore
+ pop pop
+} def
+%
+/TruchetFill { % on stack: scaling factor
+ 10 dict begin
+ dup dup scale
+ 1 exch div round /penroseFactor ED
+ a 0 dtransform round exch round exch
+ 2 copy idtransform
+ exch Atan rotate
+ idtransform pop /a ED
+ .25 .25 itransform pathbbox
+ /y2 ED
+ a Div ceiling cvi /x2 ED /y1 ED
+ a Div cvi /x1 ED /y2 y2 y1 sub def
+ clip
+ newpath
+ systemdict
+ /setstrokeadjust known { true setstrokeadjust } if
+ /ma a neg def
+ /ha a 2 div def
+ /mha ha neg def
+ /tile {
+ rand dup 2 idiv 2 mul eq { 90 rotate } if
+ mha mha moveto ha mha lineto
+ ha ha lineto mha ha lineto
+% closepath .1 setlinewidth stroke
+ contents
+ } def
+ /contents{
+ 0 ha moveto ha 0 lineto
+ 0 mha moveto mha 0 lineto
+% 1 setlinewidth stroke
+ } def
+ /dotiling {
+ f ma mul a f a mul {
+ /i exch def
+ f ma mul a f a mul {
+ /j exch def
+ gsave i j translate
+ tile stroke grestore
+ } for
+ } for
+ } def
+%
+ /f 3 def
+ 5 srand dotiling
+ end % local user dict
+} def
+%
+/BeginArrow {
+ ADict begin % hold it local, for end see EndArrow
+ /@mtrx CM def
+ gsave
+ 2 copy T
+ 2 index sub neg exch
+ 3 index sub exch Atan
+ rotate newpath
+} def
+%
+/EndArrow { @mtrx setmatrix CP grestore end } def % end the ADict
+%
+/Arrow {
+ CLW mul add dup
+ 2 div /w ED
+ mul dup /h ED
+ mul /a ED
+ { 0 h T 1 -1 scale } if
+ w neg h moveto
+ 0 0 L w h L w neg a neg rlineto
+ gsave fill grestore
+} def
+%
+/ArrowD { % the sides are drawn as curves (hv 20071211)
+ CLW mul add dup
+ 2 div /w ED
+ mul dup /h ED
+ mul /Inset ED
+ { 0 h T 1 -1 scale } if % changes the direction
+% we use y=w/h^2 * x^2 as equation for the control points
+% for the coordinates the arrow is seen from top to bottom
+% the bottom (tip) is (0;0)
+ w neg h moveto % lower left of >
+ w 9 div 4 mul neg h 3 div 2 mul
+ w 9 div neg h 3 div
+ 0 0 curveto % tip of >
+ w 9 div h 3 div
+ w 9 div 4 mul h 3 div 2 mul
+ w h curveto % upper left of >
+ w neg Inset neg rlineto % move to x=0 and inset
+ gsave fill grestore
+} def
+%
+/Tbar {
+ CLW mul add /z ED
+ z -2 div CLW 2 div moveto
+ z 0 rlineto stroke
+ 0 CLW moveto
+} def
+%
+/Bracket {
+ CLW mul add dup CLW sub 2 div
+ /x ED mul CLW add /y ED /z CLW 2 div def
+ x neg y moveto
+ x neg CLW 2 div L x CLW 2 div L x y L stroke
+ 0 CLW moveto
+} def
+%
+/RoundBracket {
+ CLW mul add dup 2 div
+ /x ED mul /y ED /mtrx CM def
+ 0 CLW 2 div T x y mul 0 ne { x y scale } if
+ 1 1 moveto
+ .85 .5 .35 0 0 0 curveto
+ -.35 0 -.85 .5 -1 1 curveto
+ mtrx setmatrix stroke 0 CLW moveto
+} def
+%
+/SD { 0 360 arc fill } def
+%
+/EndDot { % DS is the dot size
+ { /z DS def } { /z 0 def } ifelse % outer or inner dimen
+ /b ED % the color definition
+ 0 z DS SD
+ b { 0 z DS CLW sub SD } if
+ 0 DS z add CLW 4 div sub
+ moveto
+} def
+%
+/Shadow { [ { /moveto load } { /lineto load } { /curveto load } {
+ /closepath load } /pathforall load stopped { pop pop pop pop CP /moveto
+ load } if ] cvx newpath 3 1 roll T exec } def
+%
+/NArray { % holds the coordinates and on top of stack the showpoints boolean
+ /showpoints ED
+ counttomark 2 div dup cvi /n ED % n 2 div on stack
+ n eq not { exch pop } if % even numbers of points? delete one
+ ] aload /Points ED
+ showpoints not { Points aload pop } if
+% { ] aload /Points ED }
+% { n 2 mul 1 add -1 roll pop } ifelse % delete the mark symbol
+} def
+%
+/Line {
+ NArray n 0 eq not
+ { n 1 eq { 0 0 /n 2 def } if ArrowA /n n 2 sub def
+ n { Lineto } repeat
+ CP 4 2 roll ArrowB L pop pop
+ } if
+} def
+%
+/LineToYAxis {
+ /Ox ED % Save the x origin value
+ NArray % all x-y pairs on stack
+ n { 2 copy moveto % go to current point
+ Ox exch Lineto % line to y-axis
+ pop % delete old x-value
+ } repeat
+} def
+%
+/LineToXAxis{
+ /Oy ED % Save the y origin value
+ NArray % all x-y pairs on stack
+ n 0 eq not
+ { n 1 eq { 0 0 /n 2 def } if
+ ArrowA
+ /n n 2 sub def
+ CP 2 copy moveto pop Oy Lineto
+ n { 2 copy moveto pop Oy Lineto } repeat
+ CP
+ 4 2 roll
+ ArrowB
+ 2 copy moveto pop Oy
+ L
+ pop pop } if
+} def
+%
+/Arcto {
+ /a [ 6 -2 roll ] cvx def
+ a r
+ /arcto load stopped { 5 } { 4 } ifelse { pop } repeat
+ a
+} def
+%
+/CheckClosed {
+ dup n 2 mul 1 sub index eq 2 index n 2 mul 1 add index eq
+ and { pop pop /n n 1 sub def } if
+} def
+%
+/Polygon {
+ NArray n 2 eq { 0 0 /n 3 def } if
+ n 3 lt
+ { n { pop pop } repeat }
+ { n 3 gt { CheckClosed } if
+ n 2 mul -2 roll
+ /y0 ED /x0 ED /y1 ED /x1 ED
+ x1 y1
+ /x1 x0 x1 add 2 div def
+ /y1 y0 y1 add 2 div def
+ x1 y1 moveto
+ /n n 2 sub def
+ n { Lineto } repeat
+ x1 y1 x0 y0 6 4 roll Lineto
+ Lineto pop pop closepath } ifelse
+} def
+%
+/SymbolPolygon { % on stack [ x y x y ...
+ counttomark % number of elements
+ 2 add /m ED
+ 2 copy m 2 roll % copy last two
+ m 2 div cvi /n ED % n pairs
+ /YA ED /XA ED % the start point
+ n 1 sub {
+ /YB ED /XB ED
+ /XLength XB XA sub def
+ /YLength YB YA sub def
+ /PAngle YLength XLength Atan def
+ /XYLength XLength YLength Pyth def
+ /nSym XYLength SymStep Div cvi def
+ /Shift Symbol stringwidth pop 2 Div def
+ /deltaX XLength nSym Div def
+ /deltaY YLength nSym Div def
+ XA Shift sub YA Shift sub moveto
+ nSym {
+ gsave rotateSymbol { PAngle 180 sub CorrAngle sub rotate } if
+ Symbol show
+ grestore
+ deltaX deltaY rmoveto
+ } repeat
+% XB Shift sub YB Shift sub moveto Symbol show
+ /YA YB def /XA XB def
+ } repeat
+ pop % delete the mark symbol
+} def
+%
+/Diamond {
+ /mtrx CM def
+ T rotate
+ /h ED
+ /w ED
+ dup 0 eq { pop } { CLW mul neg
+ /d ED
+ /a w h Atan def
+ /h d a sin Div h add def
+ /w d a cos Div w add def } ifelse
+ mark w 2 div h 2 div w 0 0 h neg w neg 0 0 h w 2 div h 2 div
+ /ArrowA { moveto } def
+ /ArrowB { } def
+ false Line
+ closepath mtrx setmatrix } def
+%
+/Triangle {
+ /mtrx CM def
+ translate
+ rotate /h ED 2 div /w ED
+ dup CLW mul /d ED
+ /h h d w h Atan sin Div sub def
+ /w w d h w Atan 2 div dup cos exch sin Div mul sub def
+ mark
+ 0 d w neg d 0 h w d 0 d
+ /ArrowA { moveto } def
+ /ArrowB { } def
+ false
+ Line
+ closepath
+ mtrx
+% DG/SR modification begin - Jun. 1, 1998 - Patch 3 (from Michael Vulis)
+% setmatrix } def
+ setmatrix pop
+} def
+% DG/SR modification end
+%
+/CCA {
+ /y ED /x ED
+ 2 copy y sub /dy1 ED
+ x sub /dx1 ED
+ /l1 dx1 dy1 Pyth def
+} def
+%
+/CC {
+ /l0 l1 def
+ /x1 x dx sub def
+ /y1 y dy sub def
+ /dx0 dx1 def
+ /dy0 dy1 def
+ CCA
+ /dx dx0 l1 c exp mul dx1 l0 c exp mul add def
+ /dy dy0 l1 c exp mul dy1 l0 c exp mul add def
+ /m dx0 dy0 Atan dx1 dy1 Atan sub 2 div cos abs b exp a mul dx dy Pyth Div 2 div def
+ /x2 x l0 dx mul m mul sub def
+ /y2 y l0 dy mul m mul sub def
+ /dx l1 dx mul m mul neg def
+ /dy l1 dy mul m mul neg def
+} def
+%
+/IC {
+ /c c 1 add def
+ c 0 lt { /c 0 def } { c 3 gt { /c 3 def } if } ifelse
+ /a a 2 mul 3 div 45 cos b exp div def
+ CCA
+ /dx 0 def
+ /dy 0 def
+} def
+%
+/BOC { IC CC x2 y2 x1 y1 ArrowA CP 4 2 roll x y curveto } def
+/NC { CC x1 y1 x2 y2 x y curveto } def
+/EOC { x dx sub y dy sub 4 2 roll ArrowB 2 copy curveto } def
+/BAC { IC CC x y moveto CC x1 y1 CP ArrowA } def
+/NAC { x2 y2 x y curveto CC x1 y1 } def
+/EAC { x2 y2 x y ArrowB curveto pop pop } def
+%
+/OpenCurve {
+ NArray n 3 lt
+ { n { pop pop } repeat }
+ { BOC /n n 3 sub def n { NC } repeat EOC } ifelse
+} def
+%
+/CurvePath {
+ %% for negative SymStep we calculate the distance
+ SymStep 0 lt { gsave PathLength SymStep div abs /SymStep ED grestore } if
+ 0.5 setflat
+ flattenpath /z 0 def /z0 0 def
+ { /y1 ED /x1 ED /y2 y1 def /x2 x1 def
+ x1 Shift sub y1 Shift sub moveto
+ gsave
+ curveticks
+ { x1 y1 translate startAngle rotate
+ 0 SymbolWidth 2 div moveto 0 SymbolWidth 2 div neg lineto
+ SymbolLinewidth setlinewidth stroke
+ }
+ { startAngle rotate Symbol show }
+ ifelse
+ grestore /z0 z def }
+ { /y ED /x ED PathLength@ z z0 sub SymStep ge {
+ x Shift sub y Shift sub moveto
+ gsave
+ curveticks
+ { y yOld sub x xOld sub Atan 180 sub CorrAngle sub /rotAngle ED
+ x y translate rotAngle rotate
+ 0 SymbolWidth 2 div moveto 0 SymbolWidth 2 div neg lineto
+ SymbolLinewidth setlinewidth stroke
+ }
+ {
+ rotateSymbol { y yOld sub x xOld sub Atan 180 sub CorrAngle sub rotate } if
+ Symbol show
+ }
+ ifelse
+ grestore /z0 z def } if
+ /yOld y def /xOld x def }
+ {} %% the lineto part
+ { /y y2 def /x x2 def PathLength@
+ x Shift sub y Shift sub moveto
+ gsave
+ curveticks
+ { y yOld sub x xOld sub Atan 180 sub /rotAngle ED
+ x y translate rotAngle rotate
+ 0 SymbolWidth 2 div moveto 0 SymbolWidth 2 div neg lineto
+ SymbolLinewidth setlinewidth stroke
+ }
+ {
+ x Shift sub y Shift sub moveto
+ rotateSymbol { y yOld sub x xOld sub Atan 180 sub CorrAngle sub rotate } if
+ Symbol show
+ }
+ ifelse
+ grestore
+ }
+ pathforall
+% curveticks
+% { gsave
+% x y translate rotAngle rotate
+% 0 SymbolWidth 2 div moveto 0 SymbolWidth 2 div neg lineto
+% SymbolLinewidth setlinewidth stroke grestore
+% } if
+ z
+} def
+%
+/OpenSymbolCurve {
+ OpenCurve
+ 0.1 setflat
+ /Shift Symbol stringwidth pop 2 div def
+ CurvePath
+} def
+%
+/AltCurve {
+ { false NArray n 2 mul 2 roll
+ [ n 2 mul 3 sub 1 roll ] aload
+ /Points ED
+ n 2 mul -2 roll }
+ { false NArray } ifelse
+ n 4 lt { n { pop pop } repeat } { BAC /n n 4 sub def n { NAC } repeat EAC } ifelse
+} def
+%
+/AltOpenSymbolCurve {
+ AltCurve
+ 0.1 setflat
+ /Shift Symbol stringwidth pop 2 div def
+ CurvePath
+} def
+%
+/ClosedCurve {
+ NArray n 3 lt
+ { n { pop pop } repeat }
+ { n 3 gt { CheckClosed } if
+ 6 copy n 2 mul 6 add 6 roll
+ IC CC x y moveto n { NC } repeat
+ closepath pop pop
+ } ifelse
+} def
+%
+/ClosedSymbolCurve {
+ ClosedCurve
+ 0.1 setflat
+ /Shift Symbol stringwidth pop 2 div def
+ CurvePath
+} def
+%
+/SQ { /r ED r r moveto r r neg L r neg r neg L r neg r L fill } def
+/ST { /y ED /x ED x y moveto x neg y L 0 x L fill } def
+/SP { /r ED gsave 0 r moveto 4 { 72 rotate 0 r L } repeat fill grestore } def
+%
+/FontDot {
+ DS 2 mul dup
+ matrix scale matrix concatmatrix exch matrix
+ rotate matrix concatmatrix exch
+ findfont exch makefont setfont
+} def
+%
+/Rect {
+ x1 y1 y2 add 2 div moveto
+ x1 y2 lineto
+ x2 y2 lineto
+ x2 y1 lineto
+ x1 y1 lineto
+ closepath
+} def
+%
+/OvalFrame {
+ x1 x2 eq y1 y2 eq or
+ { pop pop x1 y1 moveto x2 y2 L }
+ { y1 y2 sub abs x1 x2 sub abs 2 copy gt
+ { exch pop } { pop } ifelse
+ 2 div exch { dup 3 1 roll mul exch } if
+ 2 copy lt { pop } { exch pop } ifelse
+ /b ED
+ x1 y1 y2 add 2 div moveto
+ x1 y2 x2 y2 b arcto
+ x2 y2 x2 y1 b arcto
+ x2 y1 x1 y1 b arcto
+ x1 y1 x1 y2 b arcto
+ 16 { pop } repeat
+ closepath
+ } ifelse
+} def
+%
+/Frame {
+ CLW mul /a ED
+ 3 -1 roll
+ 2 copy gt { exch } if
+ a sub /y2 ED
+ a add /y1 ED
+ 2 copy gt { exch } if
+ a sub /x2 ED
+ a add /x1 ED
+ 1 index 0 eq { pop pop Rect } { OvalFrame } ifelse
+} def
+%
+/BezierNArray {
+ /f ED
+ counttomark 2 div dup cvi /n ED
+ n eq not { exch pop } if
+ n 1 sub neg 3 mod 3 add 3 mod { 0 0 /n n 1 add def } repeat
+ f { ] aload /Points ED } { n 2 mul 1 add -1 roll pop } ifelse
+} def
+%
+/OpenBezier {
+ BezierNArray
+ n 1 eq
+ { pop pop }
+ { ArrowA n 4 sub 3 idiv
+ { 6 2 roll 4 2 roll curveto } repeat
+ 6 2 roll 4 2 roll ArrowB curveto } ifelse
+} def
+%
+/OpenSymbolBezier {
+ OpenBezier
+ 0.1 setflat
+ /Shift Symbol stringwidth pop 2 div def
+ CurvePath
+} def
+%
+/ClosedBezier {
+ BezierNArray
+ n 1 eq
+ { pop pop }
+ { moveto n 1 sub 3 idiv
+ { 6 2 roll 4 2 roll curveto } repeat
+ closepath } ifelse
+} def
+%
+/ClosedSymbolBezier {
+ /f ED % save showpoints value
+ 2 copy /yEnd ED /xEnd ED
+ counttomark -2 roll 2 copy /yStart ED /xStart ED
+ counttomark 2 roll
+ f
+ ClosedBezier
+ 0.1 setflat
+ /Shift Symbol stringwidth pop 2 div def
+ CurvePath
+ [ xEnd yEnd xStart yStart SymbolLine
+} def
+%
+/BezierShowPoints {
+ gsave
+ Points aload length 2 div cvi /n ED
+ moveto
+ n 1 sub { lineto } repeat
+ CLW 2 div SLW [ 4 4 ] 0 setdash stroke
+ grestore
+} def
+%
+/Parab {
+ /y0 ED /x0 ED /y1 ED /x1 ED
+ /dx x0 x1 sub 3 div def
+ /dy y0 y1 sub 3 div def
+ x0 dx sub y0 dy add x1 y1 ArrowA
+ x0 dx add y0 dy add x0 2 mul x1 sub y1 ArrowB
+ curveto
+ /Points [ x1 y1 x0 y0 x0 2 mul x1 sub y1 ] def
+} def
+%
+/Parab1 { % 1 end | 0 SP
+ /ySP ED /xSP ED /y1 ED /x1 ED
+ /dx xSP x1 sub 3 div def
+ /dy ySP y1 sub 3 div def
+ newpath x1 y1 moveto xSP y1 lineto xSP ySP lineto
+ x1 ySP lineto closepath clip
+ currentpoint
+ newpath moveto
+ xSP dx sub ySP dy add x1 y1 ArrowA
+ xSP dx add ySP dy add xSP 2 mul x1 sub y1 ArrowB
+ curveto
+ /Points [ x1 y1 xSP ySP xSP 2 mul x1 sub y1 ] def
+} def
+%
+/Grid {
+ newpath
+ /a 4 string def
+ /b ED % psk@gridlabels in pt
+ /c ED % { \pst@usecolor\psgridlabelcolor }
+ /n ED % psk@griddots
+ cvi dup 1 lt { pop 1 } if
+ /s ED % \psk@subgriddiv
+ s div dup 0 eq { pop 1 } if
+ /dy ED s div dup 0 eq { pop 1 } if % \pst@number\psyunit abs
+ /dx ED dy div round dy mul % \pst@number\psxunit abs
+ /y0 ED dx div round dx mul
+ /x0 ED dy div round cvi
+ /y2 ED dx div round cvi
+ /x2 ED dy div round cvi
+ /y1 ED dx div round cvi
+ /x1 ED
+ /h y2 y1 sub 0 gt { 1 } { -1 } ifelse def
+ /w x2 x1 sub 0 gt { 1 } { -1 } ifelse def
+ b 0 gt {
+ /z1 b 4 div CLW 2 div add def
+% /Helvetica findfont b scalefont setfont
+ /b b .95 mul CLW 2 div add def } if
+ systemdict /setstrokeadjust known
+ { true setstrokeadjust /t { } def }
+ { /t { transform 0.25 sub round 0.25 add exch 0.25 sub round 0.25 add
+ exch itransform } bind def } ifelse
+ gsave n 0 gt { 1 setlinecap [ 0 dy n div ] dy n div 2 div setdash } { 2 setlinecap } ifelse
+ /i x1 def
+ /f y1 dy mul n 0 gt { dy n div 2 div h mul sub } if def
+ /g y2 dy mul n 0 gt { dy n div 2 div h mul add } if def
+ x2 x1 sub w mul 1 add dup 1000 gt { pop 1000 } if
+ { i dx mul dup y0 moveto
+ b 0 gt
+ { gsave c i a cvs dup stringwidth pop
+ /z2 ED w 0 gt {z1} {z1 z2 add neg} ifelse
+ h 0 gt {b neg}{z1} ifelse
+ rmoveto show grestore } if
+ dup t f moveto
+ g t L stroke
+ /i i w add def
+ } repeat
+ grestore
+ gsave
+ n 0 gt
+ % DG/SR modification begin - Nov. 7, 1997 - Patch 1
+ %{ 1 setlinecap [ 0 dx n div ] dy n div 2 div setdash }
+ { 1 setlinecap [ 0 dx n div ] dx n div 2 div setdash }
+ % DG/SR modification end
+ { 2 setlinecap } ifelse
+ /i y1 def
+ /f x1 dx mul n 0 gt { dx n div 2 div w mul sub } if def
+ /g x2 dx mul n 0 gt { dx n div 2 div w mul add } if def
+ y2 y1 sub h mul 1 add dup 1000 gt { pop 1000 } if
+ { newpath i dy mul dup x0 exch moveto
+ b 0 gt { gsave c i a cvs dup stringwidth pop
+ /z2 ED
+ w 0 gt {z1 z2 add neg} {z1} ifelse
+ h 0 gt {z1} {b neg} ifelse
+ rmoveto show grestore } if
+ dup f exch t moveto
+ g exch t L stroke
+ /i i h add def
+ } repeat
+ grestore
+} def
+%
+/ArcArrow {
+ /d ED /b ED /a ED
+ gsave
+ newpath 0 -1000 moveto clip
+ newpath
+ 0 1 0 0 b
+ grestore
+ c mul
+ /e ED
+ pop pop pop r a e d PtoC y add exch x add
+ exch r a PtoC y add exch x add exch b pop pop pop pop a e d CLW 8 div c
+ mul neg d
+} def
+%
+/Ellipse {
+ /rotAngle ED
+ /mtrx CM def
+ T
+ rotAngle rotate
+ scale 0 0 1 5 3 roll arc
+ mtrx setmatrix
+} def
+%
+/ArcAdjust { %%%% Vincent Guirardel
+% given a target length (targetLength) and an initial angle (angle0) [in the stack],
+% let M(angle0)=(rx*cos(angle0),ry*sin(angle0))=(x0,y0).
+% This computes an angle t such that (x0,y0) is at distance
+% targetLength from the point M(t)=(rx*cos(t),ry*sin(t)).
+% NOTE: this an absolute angle, it does not have to be added or substracted to angle0
+% contrary to TvZ's code.
+% To achieve, this, one iterates the following process: start with some angle t,
+% compute the point M' at distance targetLength of (x0,y0) on the semi-line [(x0,y0) M(t)].
+% Now take t' (= new angle) so that (0,0) M(t') and M' are aligned.
+%
+% Another difference with TvZ's code is that we need d (=add/sub) to be defined.
+% the value of d = add/sub is used to know on which side we have to move.
+% It is only used in the initialisation of the angle before the iteration.
+%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+% Input stack: 1: target length 2: initial angle
+% variables used : rx, ry, d (=add/sub)
+%
+ /targetLength ED /angle0 ED
+ /x0 rx angle0 cos mul def
+ /y0 ry angle0 sin mul def
+% we are looking for an angle t such that (x0,y0) is at distance targetLength
+% from the point M(t)=(rx*cos(t),ry*sin(t)))
+%initialisation of angle (using 1st order approx = TvZ's code)
+ targetLength 57.2958 mul
+ angle0 sin rx mul dup mul
+ angle0 cos ry mul dup mul
+ add sqrt div
+% if initialisation angle is two large (more than 90 degrees) set it to 90 degrees
+% (if the ellipse is very curved at the point where we draw the arrow, %
+% the value can be much more than 360 degrees !)
+% this should avoid going on the wrong side (more than 180 degrees) or go near
+% a bad attractive point (at 180 degrees)
+ dup 90 ge { pop 90 } if
+ angle0 exch d % add or sub
+% maximum number of times to iterate the iterative procedure:
+% iterative procedure: takes an angle t on top of stack, computes a
+% better angle (and put it on top of stack)
+ 30 { dup
+% compute distance D between (x0,y0) and M(t)
+ dup cos rx mul x0 sub dup mul exch sin ry mul y0 sub dup mul add sqrt
+% if D almost equals targetLength, we stop
+ dup targetLength sub abs 1e-5 le { pop exit } if
+% stack now contains D t
+% compute the point M(t') at distance targetLength of (x0,y0) on the semi-line [(x0,y0) M(t)]:
+% M(t')= ( (x(t)-x0)*targetLength/d+x0 , (y(t)-y0)*targetLength/d+y0 )
+ exch dup cos rx mul x0 sub exch sin ry mul y0 sub
+% stack contains: y(t)-y0, x(t)-x0, d
+ 2 index Div targetLength mul y0 add ry Div exch
+ 2 index Div targetLength mul x0 add rx Div
+% stack contains x(t')/rx , y(t')/ry , d
+% now compute t', and remove D from stack
+ atan exch pop
+ } repeat
+% we don't look at what happened... in particular, if targetLength is greater
+% than the diameter of the ellipse...
+% the final angle will be around /angle0 + 180. maybe we should treat this pathological case...
+% after iteration, stack contains an angle t such that M(t) is the tail of the arrow
+% to give back the result as a an angle relative to angle0 we could add the following line:
+% angle0 sub 0 exch d
+%
+% begin bug fix 2006-01-11
+% we want to adjust the new angle t' by a multiple of 360 so that | t'-angle0 | <= 180
+%(we don't want to make the ellipse turn more or less than it should)...
+dup angle0 sub dup abs 180 gt { 180 add 360 div floor 360 mul sub } { pop } ifelse
+% end bug fix
+} def
+%
+/EllipticArcArrow {
+ /d ED % is add or sub
+ /b ED % arrow procedure
+ /a1 ED % angle
+ gsave
+ newpath
+ 0 -1000 moveto
+ clip % Set clippath far from arrow.
+ newpath
+ 0 1 0 0 b % Draw arrow to determine length.
+ grestore
+% Length of arrow is on top of stack. Next 3 numbers are junk.
+%
+ a1 exch ArcAdjust % Angular position of base of arrow.
+ /a2 ED
+ pop pop pop
+ a2 cos rx mul xOrig add % hv 2007-08-29 x->xOrig
+ a2 sin ry mul yOrig add % hv 2007-08-29 y->yOrig
+ a1 cos rx mul xOrig add %
+ a1 sin ry mul yOrig add %
+% Now arrow tip coor and base coor are on stack.
+ b pop pop pop pop % Draw arrow, and discard coordinates.
+ a2 CLW 8 div
+% change value of d (test it by looking if `` 1 1 d '' gives 2 or not )
+ 1 1 d 2 eq { /d { sub } def } { /d { add } def } ifelse
+ ArcAdjust
+% resets original value of d
+ 1 1 d 2 eq { /d { sub } def } { /d { add } def } ifelse % Adjust angle to give overlap.
+} def
+%%------------------ tvz/DG/hv (2004-05-10) end -------------------%%
+%
+/Rot { CP CP translate 3 -1 roll neg rotate NET } def
+%
+/RotBegin {
+ tx@Dict /TMatrix known not { /TMatrix { } def /RAngle { 0 } def } if
+ /TMatrix [ TMatrix CM ] cvx def
+ /a ED
+ a Rot /RAngle [ RAngle dup a add ] cvx def
+} def
+%
+/RotEnd {
+ /TMatrix [ TMatrix setmatrix ] cvx def
+ /RAngle [ RAngle pop ] cvx def
+} def
+%
+/PutCoor { gsave CP T CM STV exch exec moveto setmatrix CP grestore } def
+/PutBegin { /TMatrix [ TMatrix CM ] cvx def CP 4 2 roll T moveto } def
+/PutEnd { CP /TMatrix [ TMatrix setmatrix ] cvx def moveto } def
+%
+/Uput {
+ /a ED
+ add 2 div /h ED 2
+ div /w ED
+ /s a sin def
+ /c a cos def
+ /b s abs c abs 2 copy gt dup
+ /q ED
+ { pop } { exch pop } ifelse def
+ /w1 c b div w mul def
+ /h1 s b div h mul def
+ q { w1 abs w sub dup c mul abs }{ h1 abs h sub dup s mul abs } ifelse
+} def
+%
+/UUput {
+ /z ED
+ abs /y ED
+ /x ED
+ q { x s div c mul abs y gt }{ x c div s mul abs y gt } ifelse
+ { x x mul y y mul sub z z mul add sqrt z add }
+ { q { x s div } { x c div } ifelse abs
+ } ifelse
+ a PtoC
+ h1 add exch
+ w1 add exch
+} def
+%
+/BeginOL {
+ dup (all) eq exch TheOL eq or
+ { IfVisible not { Visible /IfVisible true def } if }
+ { IfVisible { Invisible /IfVisible false def } if } ifelse
+} def
+%
+/InitOL {
+ /OLUnit [ 3000 3000 matrix defaultmatrix dtransform ] cvx def
+ /Visible { CP OLUnit idtransform T moveto } def
+ /Invisible { CP OLUnit neg exch neg exch idtransform T moveto } def
+ /BOL { BeginOL } def
+ /IfVisible true def
+} def
+%
+%%%%%%%%%%%%%%%%% tools %%%%%%%%%%%%%%%%%%%%%%%%%
+%%%%% ### bubblesort ###
+%% syntax : array bubblesort --> array2 trie par ordre croissant
+%% code de Bill Casselman
+%% http://www.math.ubc.ca/people/faculty/cass/graphics/text/www/
+/bubblesort {
+4 dict begin
+ /a exch def
+ /n a length 1 sub def
+ n 0 gt {
+ % at this point only the n+1 items in the bottom of a remain to
+ % the sorted largest item in that blocks is to be moved up into
+ % position n
+ n {
+ 0 1 n 1 sub {
+ /i exch def
+ a i get a i 1 add get gt {
+ % if a[i] > a[i+1] swap a[i] and a[i+1]
+ a i 1 add
+ a i get
+ a i a i 1 add get
+ % set new a[i] = old a[i+1]
+ put
+ % set new a[i+1] = old a[i]
+ put
+ } if
+ } for
+ /n n 1 sub def
+ } repeat
+ } if
+ a
+end
+} def
+%
+%
+/concatstringarray{ % [(a) (b) ... (z)] --> (ab...z) 20100422
+ 0 1 index { length add } forall
+ string
+ 0 3 2 roll
+ { 3 copy putinterval length add }forall
+ pop
+} bind def
+%
+/dot2comma {% on stack a string (...)
+ 2 dict begin
+ /Output exch def
+ 0 1 Output length 1 sub {
+ /Index exch def
+ Output Index get 46 eq { Output Index 44 put } if
+ } for
+ Output
+ end
+} def
+%
+end
+%-----------------------------------------------------------------------------%
+%
+% END pstricks.pro
+
+%%EndProcSet
+%%BeginProcSet: pst-algparser.pro 0 0
+% $Id: pst-algparser.pro 594 2011-10-31 18:13:18Z herbert $
+%%
+%% PostScript prologue for PSTricks algorithm parser
+%% Version 0.04, 2011/10/21
+%%
+%% This program can be redistributed and/or modified under the terms
+%% of the LaTeX Project Public License Distributed from CTAN archives
+%% in directory macros/latex/base/lppl.txt.
+%%
+%%-----------------------------------------------------------------------------%
+%
+/AlgParser { tx@AlgToPs begin AlgToPs end } def % Dominique Rodriguez
+%
+/tx@CoreAnalyzerDict 100 dict def tx@CoreAnalyzerDict begin
+%
+% PS ANALYZER FOR ALGEBRAIC EXPRESSION V1.13
+%
+% 09/2011 DR factorial with ! added
+%
+% E->T|E+T
+% T->FS|T*FS
+% FS -> F | +FS | -FS
+% F->P|F^SF|P!
+% P->(E)|literal
+% literal->number|var|var[E]|func(params)
+% params->E|E,param
+% number->TOBEFINISHED
+%
+%% E expression, T term, SF signed factor, F factor, P power
+%
+%% parser
+%
+%% str
+%
+%% C->E<condition_operators>E
+%% STR index -> STR index+lenExpr
+/AnalyzeCond { AnalyzeExpr ReadCondOp AnalyzeExpr EvalCondOp } def
+%
+%% analyze Expression List (separator , or | )
+%% STR index -> STR index+lenExpr
+%% /AnalyzeListOfE {
+%% { NextNonBlankChar pop AnalyzeExpr%%dup Strlen eq { exit } if NextNonBlankChar
+%% NextNonBlankChar dup 0 eq { pop exit } if
+%% dup 44 ne 1 index 124 ne and { dup 41 ne { PROBLEMCONTACTBILLOU } { pop exit } ifelse } if
+%% pop NextNonBlankChar dup 0 eq { exit } if 124 ne { PROBLEMCONTACTBILLOU } if 1 add NextNonBlankChar 0 eq {toto} if } loop
+%% AnalyzeListOfEPostHook
+%% } def
+/AnalyzeListOfE {
+ /NotFirst false def
+ { NextNonBlankChar pop AnalyzeExpr
+ NotFirst { EvalListOfExpr } { /NotFirst true def } ifelse
+ dup Strlen eq { exit } if NextNonBlankChar
+ dup 44 ne 1 index 124 ne and
+ { dup 41 ne { PROBLEMCONTACTBILLOU } { pop exit } ifelse }
+ if pop 1 add } loop
+ AnalyzeListOfEPostHook
+} def
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%% E->T|E+T
+%% STR index -> STR index+lenExpr
+/AnalyzeExpr {
+ AnalyzePreHook AnalyzeTerm IsEndingExpr
+ { dup 0 ne { 32 eq { NextNonBlankChar } if } { pop } ifelse }
+ { { RollOp 1 add NextNonBlankChar pop AnalyzeTerm PreEvalHook EvalAddSub IsEndingExpr { pop exit } if } loop }
+ ifelse
+ AnalyzePostHook
+} def
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%% T->FS|T*FS
+%% STR index
+/AnalyzeTerm {
+ AnalyzePreHook AnalyzeSignedFactor IsEndingTerm
+ { dup 0 ne { 32 eq { NextNonBlankChar } if } { pop } ifelse }
+ { { RollOp 1 add NextNonBlankChar pop AnalyzeSignedFactor PreEvalHook EvalMulDiv IsEndingTerm { pop exit } if} loop }
+ ifelse
+ AnalyzePostHook
+} def
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%% FS -> F | +FS | -FS
+%% STR index
+/AnalyzeSignedFactor {
+ AnalyzePreHook 2 copy get dup IsUnaryOp
+ { RollOp 1 add NextNonBlankChar pop AnalyzeSignedFactor EvalUnaryOp }
+ { pop AnalyzeFactor }
+ ifelse AnalyzePostHook
+} def
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%% F->P|F^P|P!
+%% STR index
+/AnalyzeFactor {
+ AnalyzePreHook AnalyzePower IsEndingFactor
+ { dup 0 ne { 32 eq { NextNonBlankChar } if } { pop } ifelse }
+ { { dup 33 eq%% is there a ! DR 09/2011
+ { pop 1 add NextNonBlankChar pop EvalFactorial }
+ { RollOp 1 add NextNonBlankChar pop AnalyzePower PreEvalHook EvalPower }
+ ifelse
+ IsEndingFactor { pop exit } if } loop }
+ ifelse AnalyzePostHook
+} def
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%% P->(E)|literal
+%% STR index
+/AnalyzePower {
+ %% depending of first char either a number, or a literal
+ 2 copy get dup 40 eq%%an open par
+ { pop 1 add NextNonBlankChar pop AnalyzeExpr 1 add NextNonBlankChar pop }
+ { AnalyzeLiteral }
+ ifelse
+} def
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%% STR index STR[index] -> STR index
+%/AnalyzeLiteral { IsNumber { EvalNumber } { EvalLiteral } ifelse } def
+/AnalyzeLiteral { dup IsUnaryOp exch IsNumber or { EvalNumber } { EvalLiteral } ifelse } def%%dr 09102006
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%% recognize + or -
+%% chr -> T/F
+/IsUnaryOp { dup 43 eq exch 45 eq or } bind def
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%% a number can contain only : 0123456789.
+%% chr -> T/F
+/IsNumber { dup 48 ge exch dup 57 le 3 -1 roll and exch 46 eq or } bind def
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%% STR index -> STR index number
+%% a number can be of the form [0-9]*.[0-9]*\([eE][+-]?[0-9]+\)?
+%% STR index -> STR index' number
+/ReadNumber {
+ exch dup 3 -1 roll dup 3 1 roll
+ %%read mantissa
+ { 1 add 2 copy dup Strlen eq { pop pop 0 exit } if get dup IsNumber not { exit } if pop } loop
+ dup 101 eq exch 69 eq or
+ %%% there is a "e" or "E" -> read exponant
+ { 1 add 2 copy get dup IsUnaryOp
+ { pop 1 add 2 copy get } if
+ { IsNumber not { exit } if 1 add 2 copy get } loop }
+ if
+ dup 4 1 roll
+ 3 -1 roll exch 1 index sub getinterval
+} def
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%% a number can contain only : 0123456789.
+%% chr -> T/F
+/IsCondOp { dup 30 eq exch dup 60 ge exch 62 le and or } bind def
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%% STR index -> STR index number
+%% a number can be of the form [0-9]*.[0-9]*\([eE][+-]?[0-9]+\)?
+%% STR index -> STR index' number
+/ReadCondOp {
+ NextNonBlankChar 1 index 4 1 roll
+ { IsCondOp not { exit } if 1 add 2 copy get } loop
+ 2 copy 5 -1 roll
+ exch 1 index sub getinterval 3 1 roll
+} def
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%% a literal can contain only : 0123456789.
+%% chr -> T/F
+/IsLiteral {%
+ dup 48 ge exch dup 57 le 3 -1 roll and exch
+ dup 65 ge exch dup 90 le 3 -1 roll and 3 -1 roll or exch
+ dup 97 ge exch 122 le and or } bind def
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%% a literal can be of the form [a-zA-Z][a-zA-Z0-9]*\(\((Expression)\)|\(\[Expression\]\)\)?
+%% STR index -> literal STR index' nextchr
+/ReadLiteral {
+ exch dup 3 -1 roll dup 3 1 roll
+ %%read literal core
+ { 2 copy dup Strlen eq { pop pop 0 exit } if get dup IsLiteral not { exit } if pop 1 add } loop
+ 4 1 roll dup 5 1 roll 3 -1 roll exch 1 index sub getinterval 4 1 roll
+} def
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%% expr is ended by end of str or a clpar
+%% STR index -> STR index STR[index] T/F
+/IsEndingExpr {%
+ 2 copy dup Strlen eq
+ %% if end of str is reached -> end !
+ { pop pop 0 true }
+ %% ending chr -> clpar, comma, |, <, >, =, !,
+ {get dup dup 41 eq
+ exch dup 124 eq
+ exch dup 93 eq
+ exch dup 44 eq
+ exch dup 30 eq
+ exch dup 60 ge exch 62 le and or or or or or}
+ ifelse } def
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%% expr is ended by end of str or a +-
+%% STR index -> STR index STR[index] T/F
+/IsEndingTerm { IsEndingExpr { true } { dup dup 43 eq exch 45 eq or } ifelse } def
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%% expr is ended by end of str or */
+%% STR index -> STR index STR[index] T/F
+/IsEndingFactor { IsEndingTerm { true } { dup dup 42 eq exch 47 eq or } ifelse } def
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%% expr is ended by end of str or ^
+%% STR index -> STR index STR[index] T/F
+/IsEndingPower { IsEndingFactor { true } { dup 94 eq } ifelse } def
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%% STR index -> STR index STR[index]
+/NextNonBlankChar { { dup Strlen eq { 0 exit } if 2 copy get dup neBlkChar { exit } if pop 1 add } loop } bind def
+/neBlkChar { dup 32 ne exch dup 10 ne exch 9 ne and and } bind def
+%%%%%%%%%%%%%%%%%%%%%%%%
+%% DEBUG
+/BRK {false} def
+/BRKtrue {/BRK true def} def
+/BRKStop {BRK {BRKtoto} if } def
+/BRKEvalStop {BRK exch if } def
+/BRKBRK2true {BRK {BRK2true} if } def
+/BRK2 {false} def
+/BRK2true {/BRK2 true def} def
+/BRK2Stop {BRK2 {BRK2toto} if } def/BRK {false} def
+end
+%
+%-------------------------------------------------------------------------------%
+%
+/tx@AlgToPs 12 dict def tx@AlgToPs begin
+%
+%% algExpr -> PSVector
+/AlgToPs { tx@CoreAnalyzerDict begin InitParser AnalyzeListOfE pop pop EndingSequence end } def
+/EndingSequence { ExpressionVector aload length /end cvx exch 1 add array astore } def
+/InitParser { /ExpressionVector [ /tx@AddMathFunc cvx /begin cvx ] def dup length /Strlen exch def 0 } def
+/Strlen 0 def
+/EvalListOfExpr {} def%
+/EvalNumber {%
+ ReadNumber cvr /ExpressionVector ExpressionVector aload length dup 3 add -1 roll cvx
+ exch 1 add array astore def NextNonBlankChar pop } def
+/EvalAddSub {%
+ /ExpressionVector ExpressionVector aload length dup 5 add -1 roll
+ 43 eq { /add } { /sub } ifelse cvx exch 1 add array astore def
+} def
+/EvalMulDiv {%
+ /ExpressionVector ExpressionVector aload length dup 5 add -1 roll
+ 42 eq { /mul } { /div } ifelse cvx exch 1 add array astore def
+} def
+/EvalPower {%
+ /ExpressionVector ExpressionVector aload length dup 5 add -1 roll
+ pop /exp cvx exch 1 add array astore def
+} def
+/EvalFactorial {% DR 09/2011
+ /ExpressionVector ExpressionVector aload length
+ /fact cvx exch 1 add array astore def
+} def
+/EvalLiteral {%
+ ReadLiteral
+ dup 40 eq%%% there is an open par -> function call
+ { pop 2 index
+ dup (Sum) eq { EvalSum }
+ { dup (IfTE) eq { EvalCond }
+ { dup (Derive) eq { pop EvalDerive }
+ { pop 1 add NextNonBlankChar pop AnalyzeListOfE 2 index TrigoFunc
+ /ExpressionVector ExpressionVector aload length dup 5 add -1 roll cvn cvx
+ exch 1 add array astore def 1 add NextNonBlankChar pop } ifelse } ifelse} ifelse }
+ { /ExpressionVector ExpressionVector aload length dup 6 add -1 roll cvn cvx exch 1 add array astore def
+ dup 91 eq%%% there is an open bracket -> vector element
+ { pop 1 add NextNonBlankChar pop AnalyzeExpr
+ /ExpressionVector ExpressionVector aload length /cvi cvx exch /get cvx exch 2 add array astore def 1 add }
+ { pop NextNonBlankChar pop }
+ ifelse}
+ ifelse
+} def
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%% the derive function : Derive(n,f(x))
+%% firstparindex lastparindex ->
+/EvalDerive {
+ %% manage the function descripiton
+ 1 add ReadNumber 3 1 roll NextNonBlankChar
+ 44 ne { ANALYZER_ERROR_missing_second_comma_in_Sum } if
+ 1 add NextNonBlankChar pop
+ 3 -1 roll cvi
+ dup 0 eq
+ { pop AnalyzeExpr 3 -1 roll pop 1 add }
+ { 1 sub 3 1 roll (x) exch tx@Derive begin DeriveIndexed end 4 -1 roll
+ { (x) tx@Derive begin Derive end } repeat
+ ExpressionVector exch /ExpressionVector [] def
+ AlgToPs aload length
+ /ExpressionVector 1 index 3 add -1 roll aload length dup 3 add -1 roll /l2 exch def /l1 exch def
+ l1 l2 add 1 add l2 neg roll l1 l2 add array astore def 3 -1 roll pop 1 add
+ 1 index length /Strlen exch def } ifelse
+} def
+/EvalSum {%
+ pop 1 add NextNonBlankChar pop
+ %% read the variable name
+ ReadLiteral pop NextNonBlankChar
+ 44 ne { ANALYZER_ERROR_missing_first_comma_in_Sum } if
+ %% read the initial value
+ 1 add NextNonBlankChar pop ReadNumber cvi 3 1 roll
+ 2 copy get 44 ne { ANALYZER_ERROR_missing_second_comma_in_Sum } if
+ %% read the increment value
+ 1 add NextNonBlankChar pop ReadNumber cvi 3 1 roll
+ 2 copy get 44 ne { ANALYZER_ERROR_missing_second_comma_in_Sum } if
+ %% read the limit value
+ 1 add NextNonBlankChar pop ReadNumber cvi 3 1 roll
+ 2 copy get 44 ne { ANALYZER_ERROR_missing_second_comma_in_Sum } if
+ /ExpressionVector ExpressionVector aload length dup 7 add -3 roll 0 4 1 roll
+ 5 -1 roll 4 add array astore def
+ %% keep ExpressionVector for later and create a new one for internal Sum computation
+ ExpressionVector 3 1 roll /ExpressionVector [ 6 -1 roll cvn /exch cvx /def cvx ] def
+ 1 add NextNonBlankChar pop AnalyzeExpr
+ %% add each term
+ /ExpressionVector ExpressionVector aload length 1 add /add cvx exch array astore def
+ /ExpressionVector 4 -1 roll aload length ExpressionVector cvx /for cvx 3 -1 roll 2 add
+ array astore def 3 -1 roll pop 1 add
+} def
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%% Convert to radians if trigo function call
+%% (name) ->
+/TrigoFunc {
+ dup (cos) eq 1 index (sin) eq or exch (tan) eq or
+ { /ExpressionVector ExpressionVector aload length Pi /div cvx 180 /mul cvx 5 -1 roll 4 add
+ array astore def
+ } if
+} def
+/EvalCond {%
+ pop 1 add AnalyzeCond NextNonBlankChar
+ 44 ne { ANALYZER_ERROR_missing_first_comma_in_IfTE } if
+ ExpressionVector 3 1 roll /ExpressionVector [] def
+ 1 add AnalyzeExpr ExpressionVector 3 1 roll /ExpressionVector [] def
+ NextNonBlankChar 44 ne { ANALYZER_ERROR_missing_second_comma_in_IfTE } if
+ 1 add AnalyzeExpr
+ NextNonBlankChar 41 ne { ANALYZER_ERROR_missing_ending parenthesis_in_IfTE } if
+ ExpressionVector
+ /ExpressionVector 6 -1 roll aload length dup
+ 6 add -1 roll cvx exch dup 4 add -1 roll cvx /ifelse cvx 3 -1 roll 3 add array astore def
+ 1 add 3 -1 roll pop
+} def
+%% CondOp STR index
+/EvalCondOp {%
+ 3 -1 roll
+ dup (=) eq { /eq } {%
+ dup (<) eq { /lt } {%
+ dup (>) eq { /gt } {%
+ dup (>=) eq { /ge } {%
+ dup (<=) eq { /ge } {%
+ dup (!=) eq { /ne } { ERROR_non_valid_conditional_operator }
+ ifelse } ifelse } ifelse } ifelse } ifelse } ifelse
+ cvx exch pop
+ /ExpressionVector ExpressionVector aload length dup 3 add -1 roll exch 1 add array astore def } def
+/EvalUnaryOp {
+ 3 -1 roll 45 eq { /ExpressionVector ExpressionVector aload length /neg cvx exch 1 add array astore def } if
+} def
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%% H O O K S
+/AnalyzePreHook {} bind def
+/PreEvalHook {} bind def
+/AnalyzeListOfEPostHook {} bind def
+/AnalyzePostHook {} def
+/RollOp { 3 1 roll } bind def
+end %tx@CoreAnalyzerDict
+%
+%--------------------------------------------------------------------%
+%
+/tx@Derive 41 dict def tx@Derive begin
+%%increase ^^ for each function added
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%% algExpr variable -> PSVector
+/Derive {%
+ 10240 string 3 1 roll 0 3 1 roll
+ /Variable exch def
+ tx@CoreAnalyzerDict begin InitParser AnalyzeListOfE end
+} def
+/Strlen 0 def
+/InitParser { dup length /Strlen exch def 0 } def
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%% algExpr variable index -> PSVector
+/DeriveIndexed {%
+ 3 1 roll 10240 string 3 1 roll 0 3 1 roll
+ /Variable exch def
+ tx@CoreAnalyzerDict begin InitParser pop 4 -1 roll AnalyzeExpr 4 -2 roll pop pop 4 -2 roll exch pop end
+} def
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%% (u,v)'=-(u',v')
+/EvalListOfExpr {%
+ 4 2 roll 2 copy 9 -1 roll dup length 4 1 roll putinterval add AddPipe
+ 2 copy 7 -1 roll dup length 4 1 roll putinterval add
+ 6 -2 roll pop pop
+ 2 copy pop 0 6 2 roll GetIntervalNewStr 5 1 roll 2 copy 0 exch getinterval 6 1 roll } def
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%% (-u)'=-(u')
+/EvalUnaryOp {
+ 4 -2 roll 4 index (0) eq
+ { (0) StrConcat 7 -1 roll pop }
+ { 7 -1 roll 45 eq
+ { AddSub AddOpPar true } { false } ifelse
+ 3 1 roll 5 index StrConcat 3 -1 roll { AddClPar } if } ifelse
+ 2 copy pop 0 6 2 roll GetIntervalNewStr
+ 7 -2 roll pop pop 2 index 6 index dup 4 index exch sub getinterval exch 6 2 roll
+} def
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%% (number)'=0
+/EvalNumber { ReadNumber (0) 6 2 roll } def
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%% (u+v)'=u'+v'
+/EvalAddSub {%
+ 7 index dup (0) eq
+ { pop true }%% du=0 nothing added
+ { dup length exch 5 index 5 index 3 -1 roll putinterval 4 -1 roll add 3 1 roll false }
+ ifelse
+ 5 index dup (0) eq
+ { pop { (0) } { 4 -2 roll 2 copy pop 0 6 2 roll GetIntervalNewStr } ifelse }%%dv=0
+ { exch
+ { 5 -2 roll 7 index 45 eq { AddSub } if false } %%nothing yet added
+ { 5 -2 roll 7 index 43 eq%%something yet added
+ { AddAdd false } { AddSub AddOpPar true } ifelse }
+ ifelse 11 1 roll
+ 3 -1 roll StrConcat 10 -1 roll { AddClPar } if
+ 2 copy pop 0 6 2 roll GetIntervalNewStr }
+ ifelse
+ mark 11 -5 roll cleartomark 2 index 6 index dup 4 index exch sub getinterval exch 6 2 roll
+} def
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%% (u*v)' or (u/v)'
+/EvalMulDiv { 6 index 42 eq {EvalMul} {EvalDiv} ifelse } def
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%% (u*v)'=u'*v+u*v'
+/EvalMul {%
+ 4 -2 roll 7 index dup (0) eq
+ { pop false }%%du=0
+ { (1) eq%%du=1
+ { false }
+ { AddOpPar 7 index StrConcat AddClPar AddMul AddOpPar true } ifelse
+ 3 1 roll 6 index StrConcat 3 -1 roll { AddClPar } if
+ true }%%du!=0
+ ifelse
+ 5 1 roll 5 index (0) eq
+ { 5 -1 roll not { (0) StrConcat } if }%%dv=0
+ { 5 -1 roll { AddAdd } if
+ 4 index (1) eq
+ { 8 index StrConcat }
+ { AddOpPar 8 index StrConcat AddClPar AddMul AddOpPar 4 index StrConcat AddClPar }
+ ifelse
+ }%%dv!=0
+ ifelse
+ 2 copy pop 0 6 2 roll GetIntervalNewStr
+ mark 11 -5 roll cleartomark 2 index 6 index dup 4 index exch sub getinterval exch 6 2 roll
+} def
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%% (u/v)'=(u'*v-u*v')/v^2
+/EvalDiv {%
+ 4 -2 roll
+ 4 index (0) eq%%dv=0 -> u'/v
+ { 7 index (0) eq { (0) StrConcat } { AddOpPar 7 index StrConcat AddClPar AddDiv 5 index StrConcat } ifelse }
+ { 7 index dup (0) eq
+ { pop }%%du=0
+ { (1) eq%%du=1
+ { false }
+ { AddOpPar 7 index StrConcat AddClPar AddMul AddOpPar true } ifelse
+ 3 1 roll 6 index StrConcat 3 -1 roll { AddClPar } if}%%du!=0
+ ifelse
+ AddSub
+ 4 index (1) eq
+ { 8 index StrConcat }
+ { AddOpPar 8 index StrConcat AddClPar AddMul AddOpPar 4 index StrConcat AddClPar }
+ ifelse
+ %}%%dv!=0
+ 2 copy GetIntervalNewStr 3 1 roll pop 0 AddOpPar 3 -1 roll StrConcat AddClPar
+ AddDiv AddOpPar 5 index StrConcat AddClPar 2 copy (^2) putinterval 2 add }
+ ifelse
+ 2 copy pop 0 6 2 roll GetIntervalNewStr
+ mark 11 -5 roll cleartomark 2 index 6 index dup 4 index exch sub getinterval exch 6 2 roll
+} def
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%% str1 index str2 -> str1 index
+/StrConcat { dup length 4 2 roll 2 copy 6 -1 roll putinterval 3 -1 roll add } bind def
+/GetIntervalNewStr { 0 exch getinterval dup length string copy } bind def
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%% (u^v)'=(u^v)'=u'vu^(v-1)+v'u^(v)ln(u)
+/EvalPower {%
+ 4 -2 roll 7 index (0) eq
+ {%%if du=0 then (u^v)'=v'ln(u)u^v
+ 4 index (0) eq
+ { (0) StrConcat }%%if dv=0 then (u^v)'=0
+ { 4 index (1) ne { AddOpPar 4 index StrConcat (\)*) StrConcat } if
+ 8 index (e) ne { (ln\() StrConcat 8 index StrConcat (\)*) StrConcat } if
+ AddOpPar 8 index StrConcat (\)^\() StrConcat 5 index StrConcat AddClPar } ifelse
+ }
+ {%%du!=0
+ 4 index (0) eq
+ {%%if dv=0 then (u^v)'=vu'u^(v-1)
+ 5 index dup IsStrNumber
+ { dup (0) eq
+ { StrConcat }
+ { dup dup (1) eq exch (1.0) eq or
+ { StrConcat }
+ { StrConcat
+ 7 index dup (1) ne exch (1.0) ne and%%%dr 09102006 insert du if <> 1
+ { (*\() StrConcat 7 index StrConcat (\)) StrConcat } if%%%dr 09102006
+ (*\() StrConcat 8 index StrConcat (\)) StrConcat
+ 5 index dup dup (2) eq exch (2.0) eq or
+ { pop } { cvr 1 sub 20 string cvs 3 1 roll (^) StrConcat 3 -1 roll StrConcat } ifelse } ifelse } ifelse }
+ { pop AddOpPar 5 index StrConcat (\)*\() StrConcat 8 index StrConcat (\)^\() StrConcat
+ 5 index StrConcat (-1\)) StrConcat } ifelse
+ }
+ {%%if dv!=0 and du!=0 then (u^v)'=u'vu^(v-1)+v'u^(v)ln(u)
+ 7 index (1) ne { AddOpPar 7 index StrConcat (\)*) StrConcat } if
+ AddOpPar 5 index StrConcat (\)*\() StrConcat
+ 8 index StrConcat (\)^\() StrConcat
+ 5 index StrConcat (-1\)+\() StrConcat
+ 4 index (1) ne { 4 index StrConcat (\)*\() StrConcat } if
+ 8 index StrConcat (\)^\() StrConcat
+ 5 index StrConcat (\)*ln\() StrConcat
+ 8 index StrConcat AddClPar
+ } ifelse
+ } ifelse
+ 2 copy pop 0 6 2 roll GetIntervalNewStr
+ mark 11 -5 roll cleartomark 2 index 6 index dup 4 index exch sub getinterval exch 6 2 roll
+} def
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%% No derivative for factorial ! only cst => null derivative
+/EvalFactorial {% DR 09/2011
+ 4 index (0) eq
+ { (0) mark 8 -2 roll cleartomark 2 index 7 index dup 4 index exch sub getinterval exch 6 2 roll }
+ { DERIVATIVE_ENGINE_ERROR_no_variable_in_factorial } ifelse
+} def
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%% str -> true/false
+/IsStrNumber {%
+ true exch
+ { dup 48 lt exch dup 57 gt 3 -1 roll or
+ exch dup 46 ne%%.
+ exch dup 43 ne%%+
+ exch 45 ne%%-
+ and and and { pop false } if } forall
+} def
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%% literal switch -> func call, vector, variables
+/EvalLiteral {%
+ ReadLiteral dup 40 eq%%% there is an open par -> function call
+ { pop (EvalFunc_ ) 9 4 index StrConcat 0 exch getinterval cvn cvx exec }
+ { dup 91 eq%%% there is an open bracket -> vector element
+ { DERIVATIVE_ENGINE_ERROR_vector_not_yet_implemented }
+ { pop EvalVariable }
+ ifelse }
+ ifelse
+} def
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%% first last parpos Expr[first:parpos-1] ->
+/EvalVariable { 2 index Variable eq { (1) } { (0) } ifelse 4 -1 roll exch 6 2 roll } def
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%% (f(u))'=u'f'(u)
+/EvalFunc {
+ 4 2 roll 4 index (1) ne
+ { AddOpPar 4 index StrConcat (\)*) StrConcat } if
+ (Eval ) 4 8 index StrConcat 0 exch getinterval cvn cvx exec
+ 2 copy pop 0 6 2 roll GetIntervalNewStr
+ mark 9 -3 roll cleartomark 2 index 6 index dup 4 index exch sub getinterval exch 6 2 roll
+} def
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%% Func derivative -> Eval<func>
+/EvalFunc_sin {%
+ PreCommonFunc
+ { (cos\() StrConcat 5 index StrConcat AddClPar } if
+ PostCommonFunc } def
+/EvalFunc_cos {%
+ PreCommonFunc
+ { (\(-sin\() StrConcat 5 index StrConcat (\)\)) StrConcat } if
+ PostCommonFunc } def
+/EvalFunc_tan {%
+ PreCommonFunc
+ { dup 0 eq { (1) StrConcat } { 1 sub } ifelse (/cos\() StrConcat 5 index StrConcat (\)^2) StrConcat } if
+ PostCommonFunc } def
+/EvalFunc_asin {%
+ PreCommonFunc
+ { (1/sqrt\(1-\() StrConcat 5 index StrConcat (\)^2\)\)) StrConcat } if
+ PostCommonFunc } def
+/EvalFunc_acos {%
+ PreCommonFunc
+ { (-1/sqrt\(1-\() StrConcat 5 index StrConcat (\)^2\)\)) StrConcat } if
+ PostCommonFunc } def
+/EvalFunc_atg {%
+ PreCommonFunc
+ { (1/\(1+\() StrConcat 5 index StrConcat (\)^2\)\)) StrConcat } if
+ PostCommonFunc } def
+/EvalFunc_ln {%
+ PreCommonFunc
+ { dup 0 eq { (1) StrConcat } { 1 sub } ifelse (/\() StrConcat 5 index StrConcat AddClPar } if
+ PostCommonFunc } def
+/EvalFunc_exp {%
+ PreCommonFunc
+ { (exp\() StrConcat 5 index StrConcat AddClPar } if
+ PostCommonFunc } def
+/EvalFunc_EXP {%
+ PreCommonFunc
+ { (EXP\() StrConcat 5 index StrConcat AddClPar } if
+ PostCommonFunc } def
+/EvalFunc_sqrt {%
+ PreCommonFunc
+ { dup 0 eq { (1) StrConcat } { 1 sub } ifelse (/\(2*sqrt\() StrConcat 5 index StrConcat (\)\)) StrConcat } if
+ PostCommonFunc } def
+/EvalFunc_Fact {%
+ PreCommonFunc { DERIVATIVE_ENGINE_ERROR_no_variable_expression_in_Fact } if
+ PostCommonFunc } def
+/EvalFunc_sh {%
+ PreCommonFunc
+ { (ch\() StrConcat 5 index StrConcat AddClPar } if
+ PostCommonFunc } def
+/EvalFunc_ch {%
+ PreCommonFunc
+ { (sh\() StrConcat 5 index StrConcat AddClPar } if
+ PostCommonFunc } def
+/EvalFunc_th {%
+ PreCommonFunc
+ { dup 0 eq { (1) StrConcat } { 1 sub } ifelse (/ch\() StrConcat 5 index StrConcat (\)^2) StrConcat } if
+ PostCommonFunc } def
+/EvalFunc_Argsh {%
+ PreCommonFunc
+ { (1/sqrt\(1+\() StrConcat 5 index StrConcat (\)^2\)\)) StrConcat } if
+ PostCommonFunc } def
+/EvalFunc_Argch {%
+ PreCommonFunc
+ { (1/sqrt\(\() StrConcat 5 index StrConcat (\)^2-1\)\)) StrConcat } if
+ PostCommonFunc } def
+/EvalFunc_Argth {%
+ PreCommonFunc
+ { (1/\(1-\() StrConcat 5 index StrConcat (\)^2\)\)) StrConcat } if
+ PostCommonFunc } def
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+/PreCommonFunc {
+ 1 add NextNonBlankChar pop 3 -1 roll 5 1 roll AnalyzeExpr 1 add NextNonBlankChar pop
+ 4 2 roll 4 index (0) eq
+ { (0) StrConcat false }
+ { 4 index (1) ne { AddOpPar 4 index StrConcat (\)*) StrConcat } if true } ifelse
+} def
+/PostCommonFunc {
+ 2 copy pop 0 6 2 roll GetIntervalNewStr
+ mark 9 -3 roll cleartomark 2 index 6 index dup 4 index exch sub getinterval exch 6 2 roll
+} def
+/EvalFunc_Derive {%
+ 1 add ReadNumber cvi 1 add dup cvr log 1 add cvi string cvs
+ 4 -1 roll pop 5 1 roll 1 add NextNonBlankChar pop AnalyzeExpr 1 add
+ 4 -2 roll (Derive\() StrConcat 7 -1 roll StrConcat (,) StrConcat 6 -1 roll StrConcat AddClPar
+ 2 copy pop 0 6 2 roll GetIntervalNewStr 6 -1 roll pop 2 index 6 index dup 4 index exch sub getinterval
+ exch 6 2 roll } def
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%% literal switch -> func call, vector, variables
+/EvalFunc_Sum {%
+ 1 add NextNonBlankChar pop
+ %% read the variable name
+ ReadLiteral pop 3 -1 roll pop NextNonBlankChar
+ 44 ne { ANALYZER_ERROR_missing_first_comma_in_Sum } if
+ %% read the initial value
+ 1 add NextNonBlankChar pop ReadNumber pop
+ 2 copy get 44 ne { ANALYZER_ERROR_missing_second_comma_in_Sum } if
+ %% read the increment value
+ 1 add NextNonBlankChar pop ReadNumber pop
+ 2 copy get 44 ne { ANALYZER_ERROR_missing_third_comma_in_Sum } if
+ %% read the limit value
+ 1 add NextNonBlankChar pop ReadNumber pop
+ 2 copy get 44 ne { ANALYZER_ERROR_missing_fourth_comma_in_Sum } if
+ 1 add NextNonBlankChar pop dup 6 1 roll 3 -1 roll pop AnalyzeExpr 1 add NextNonBlankChar pop
+ 4 -2 roll 3 index 8 index dup 9 index exch sub getinterval StrConcat
+ 4 index StrConcat AddClPar
+ 2 copy pop 0 6 2 roll GetIntervalNewStr
+ mark 9 -3 roll cleartomark 2 index 6 index dup 4 index exch sub getinterval exch 6 2 roll
+} def
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%% literal switch -> func call, vector, variables
+/EvalFunc_IfTE {%
+ 3 -1 roll pop 1 add NextNonBlankChar pop SkipCond
+ NextNonBlankChar
+ 44 ne { ANALYZER_ERROR_missing_first_comma_in_IfTE } if
+ 1 add NextNonBlankChar pop dup 5 1 roll
+ AnalyzeExpr NextNonBlankChar
+ 44 ne { ANALYZER_ERROR_missing_second_comma_in_IfTE } if
+ 1 add NextNonBlankChar pop
+ AnalyzeExpr 1 add NextNonBlankChar pop
+ 4 -2 roll 3 index 10 index dup 11 index exch sub getinterval StrConcat
+ 6 index StrConcat (,) StrConcat 4 index StrConcat AddClPar
+ 2 copy pop 0 6 2 roll GetIntervalNewStr
+ mark 11 -5 roll cleartomark 2 index 6 index dup 4 index exch sub getinterval exch 6 2 roll
+} def
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%% advance in str until a comma is found (no error detection!)
+%% str index -> str index'
+/SkipCond { { 1 add 2 copy get 44 eq {exit } if } loop } bind def
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%% Convert to radians if trigo function call
+%% (name) ->
+/TrigoFunc {
+ dup (cos) eq 1 index (sin) eq or exch (tan) eq or
+ { /ExpressionVector ExpressionVector aload length Pi /div cvx 180 /mul cvx 5 -1 roll 4 add
+ array astore def
+ } if
+} def
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%% No derivative for condition....
+/EvalCondOp { 3 -1 roll pop } bind def
+/PutIntervalOneAdd {putinterval 1 add} bind def
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%% Add open parenthesis in string at the given index
+%% str index -> str index+1
+/AddOpPar {2 copy (\() PutIntervalOneAdd} bind def
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%% Add close parenthesis in string at the given index
+%% str index -> str index+1
+/AddClPar {2 copy (\)) PutIntervalOneAdd} bind def
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%% Add 0 in string at the given index
+%% str index -> str index+1
+/AddZero {2 copy (0) PutIntervalOneAdd} bind def
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%% Add open parenthesis in string at the given index
+%% str index -> str index+1
+/AddMul {2 copy (*) PutIntervalOneAdd} bind def
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%% Add open parenthesis in string at the given index
+%% str index -> str index+1
+/AddDiv {2 copy (/) PutIntervalOneAdd} bind def
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%% Add a plus sign in string at the given index
+%% str index -> str index+1
+/AddAdd {2 copy (+) PutIntervalOneAdd} bind def
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%% Add a minus sign in string at the given index
+%% str index -> str index+1
+/AddSub {2 copy (-) PutIntervalOneAdd} bind def
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%% Add a pipe sign in string at the given index
+%% str index -> str index+1
+/AddPipe {2 copy (|) PutIntervalOneAdd} bind def
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%% H O O K S
+/AnalyzePreHook { dup 5 1 roll } bind def
+/PreEvalHook {} def
+/AnalyzePostHook { 7 -1 roll pop } bind def
+/AnalyzeListOfEPostHook { 6 -1 roll mark 6 1 roll cleartomark } bind def
+/RollOp { 5 1 roll } bind def
+end%%%tx@CoreAnalyzerDict
+/tx@AddMathFunc 12 dict def tx@AddMathFunc begin
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%% NEW FUNC
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%% function arcsine in radians asin(x)=atan(x/sqrt(1-x^2))
+%% x -> theta
+/asin {%
+ dup abs 1 gt { EQDFasinrangeerror } if
+ dup dup dup mul 1 exch sub sqrt atan exch 0 lt { 360 sub } if DegtoRad
+} def
+%% function arccosine in radians acos(x)=atan(sqrt(1-x^2)/x)
+%% x -> theta
+/acos {%
+ dup abs 1 gt { EQDFacosrangeerror } if
+ dup dup mul 1 exch sub sqrt exch atan DegtoRad
+} def
+%% function arctangent in radians
+%% x -> theta
+/atg { 1 atan dup 90 gt { 360 sub } if DegtoRad } bind def
+%% HYPERBOLIC FUNCTIONS
+/sh { dup Ex exch neg Ex sub 2 div } def
+/ch { dup Ex exch neg Ex add 2 div } def
+/th { dup sh exch ch div } def
+/Argsh { dup dup mul 1 add sqrt add ln } def
+/Argch { dup dup mul 1 sub sqrt add ln } def
+/Argth { dup 1 add exch 1 exch sub div ln 2 div } def
+%% modified exponential funtion for 0
+%% x n -> x^n
+/Exp { dup 0 eq { pop pop 1 } { exp } ifelse } bind def
+%% modified exponential funtion for 0
+%% x -> e^x
+/Ex { Euler exch exp } bind def
+%%
+%% factorial function
+%% n -> n!
+/Fact { 1 exch 2 exch 1 exch { mul } for } bind def
+/fact { Fact } bind def
+/! { Fact } bind def
+end
+%
+% END pst-algparser.pro
+
+%%EndProcSet
+%%BeginProcSet: pst-tools.pro 0 0
+% $Id: pst-tools.pro 622 2012-01-01 15:36:14Z herbert $
+%
+%% PostScript tools prologue for pstricks.tex.
+%% Version 0.02, 2012/01/01
+%%
+%% This program can be redistributed and/or modified under the terms
+%% of the LaTeX Project Public License Distributed from CTAN archives
+%% in directory macros/latex/base/lppl.txt.
+%
+%
+/Pi2 1.57079632679489661925640 def
+/factorial { % n on stack, returns n!
+ dup 0 eq { 1 }{
+ dup 1 gt { dup 1 sub factorial mul } if }
+ ifelse } def
+%
+/MoverN { % m n on stack, returns the binomial coefficient m over n
+ 2 dict begin
+ /n exch def /m exch def
+ n 0 eq { 1 }{
+ m n eq { 1 }{
+ m factorial n factorial m n sub factorial mul div } ifelse } ifelse
+ end
+} def
+%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+% subroutines for complex numbers, given as an array [a b]
+% which is a+bi = Real+i Imag
+%
+/cxadd { % [a1 b1] [a2 b2] = [a1+a2 b1+b2]
+ dup 0 get % [a1 b1] [a2 b2] a2
+ 3 -1 roll % [a2 b2] a2 [a1 b1]
+ dup 0 get % [a2 b2] a2 [a1 b1] a1
+ 3 -1 roll % [a2 b2] [a1 b1] a1 a2
+ add % [a2 b2] [a1 b1] a1+a2
+ 3 1 roll % a1+a2 [a2 b2] [a1 b1]
+ 1 get % a1+a2 [a2 b2] b1
+ exch 1 get % a1+a2 b1 b2
+ add 2 array astore
+} def
+%
+/cxneg { % [a b]
+ dup 1 get % [a b] b
+ exch 0 get % b a
+ neg exch neg % -a -b
+ 2 array astore
+} def
+%
+/cxsub { cxneg cxadd } def % same as negative addition
+%
+% [a1 b1][a2 b2] = [a1a2-b1b2 a1b2+b1a2] = [a3 b3]
+/cxmul { % [a1 b1] [a2 b2]
+ dup 0 get % [a1 b1] [a2 b2] a2
+ exch 1 get % [a1 b1] a2 b2
+ 3 -1 roll % a2 b2 [a1 b1]
+ dup 0 get % a2 b2 [a1 b1] a1
+ exch 1 get % a2 b2 a1 b1
+ dup % a2 b2 a1 b1 b1
+ 5 -1 roll dup % b2 a1 b1 b1 a2 a2
+ 3 1 roll mul % b2 a1 b1 a2 b1a2
+ 5 -2 roll dup % b1 a2 b1a2 b2 a1 a1
+ 3 -1 roll dup % b1 a2 b1a2 a1 a1 b2 b2
+ 3 1 roll mul % b1 a2 b1a2 a1 b2 a1b2
+ 4 -1 roll add % b1 a2 a1 b2 b3
+ 4 2 roll mul % b1 b2 b3 a1a2
+ 4 2 roll mul sub % b3 a3
+ exch 2 array astore
+} def
+%
+% [a b]^2 = [a^2-b^2 2ab] = [a2 b2]
+/cxsqr { % [a b] square root
+ dup 0 get exch 1 get % a b
+ dup dup mul % a b b^2
+ 3 -1 roll % b b^2 a
+ dup dup mul % b b^2 a a^2
+ 3 -1 roll sub % b a a2
+ 3 1 roll mul 2 mul % a2 b2
+ 2 array astore
+} def
+%
+/cxsqrt { % [a b]
+% dup cxnorm sqrt /r exch def
+% cxarg 2 div RadtoDeg dup cos r mul exch sin r mul cxmake2
+ cxlog % log[a b]
+ 2 cxrdiv % log[a b]/2
+ aload pop exch % b a
+ 2.781 exch exp % b exp(a)
+ exch cxconv exch % [Re +iIm] exp(a)
+ cxrmul %
+} def
+%
+/cxarg { % [a b]
+ aload pop % a b
+ exch atan % arctan b/a
+ DegtoRad % arg(z)=atan(b/a)
+} def
+%
+% log[a b] = [a^2-b^2 2ab] = [a2 b2]
+/cxlog { % [a b]
+ dup % [a b][a b]
+ cxnorm % [a b] |z|
+ log % [a b] log|z|
+ exch % log|z|[a b]
+ cxarg % log|z| Theta
+ cxmake2 % [log|z| Theta]
+} def
+%
+% square of magnitude of complex number
+/cxnorm2 { % [a b]
+ dup 0 get exch 1 get % a b
+ dup mul % a b^2
+ exch dup mul add % a^2+b^2
+} def
+%
+/cxnorm { % [a b]
+ cxnorm2 sqrt
+} def
+%
+/cxconj { % conjugent complex
+ dup 0 get exch 1 get % a b
+ neg 2 array astore % [a -b]
+} def
+%
+/cxre { 0 get } def % real value
+/cxim { 1 get } def % imag value
+%
+% 1/[a b] = ([a -b]/(a^2+b^2)
+/cxrecip { % [a b]
+ dup cxnorm2 exch % n2 [a b]
+ dup 0 get exch 1 get % n2 a b
+ 3 -1 roll % a b n2
+ dup % a b n2 n2
+ 4 -1 roll exch div % b n2 a/n2
+ 3 1 roll div % a/n2 b/n2
+ neg 2 array astore
+} def
+%
+/cxmake1 { 0 2 array astore } def % make a complex number, real given
+/cxmake2 { 2 array astore } def % dito, both given
+%
+/cxdiv { cxrecip cxmul } def
+%
+% multiplikation by a real number
+/cxrmul { % [a b] r
+ exch aload pop % r a b
+ 3 -1 roll dup % a b r r
+ 3 1 roll mul % a r b*r
+ 3 1 roll mul % b*r a*r
+ exch 2 array astore % [a*r b*r]
+} def
+%
+% division by a real number
+/cxrdiv { % [a b] r
+ 1 exch div % [a b] 1/r
+ cxrmul
+} def
+%
+% exp(i theta) = cos(theta)+i sin(theta) polar<->cartesian
+/cxconv { % theta
+ RadtoDeg dup sin exch cos cxmake2
+} def
+
+%%%%% ### bubblesort ###
+%% syntax : array bubblesort --> array2 trie par ordre croissant
+%% code de Bill Casselman
+%% http://www.math.ubc.ca/people/faculty/cass/graphics/text/www/
+/bubblesort { % on stack must be an array [ ... ]
+4 dict begin
+ /a exch def
+ /n a length 1 sub def
+ n 0 gt {
+ % at this point only the n+1 items in the bottom of a remain to
+ % the sorted largest item in that blocks is to be moved up into
+ % position n
+ n {
+ 0 1 n 1 sub {
+ /i exch def
+ a i get a i 1 add get gt {
+ % if a[i] > a[i+1] swap a[i] and a[i+1]
+ a i 1 add
+ a i get
+ a i a i 1 add get
+ % set new a[i] = old a[i+1]
+ put
+ % set new a[i+1] = old a[i]
+ put
+ } if
+ } for
+ /n n 1 sub def
+ } repeat
+ } if
+ a % return the sorted array
+end
+} def
+%
+/concatstringarray{ % [(a) (b) ... (z)] --> (ab...z) 20100422
+ 0 1 index { length add } forall
+ string
+ 0 3 2 roll
+ { 3 copy putinterval length add }forall
+ pop
+} bind def
+%
+/dot2comma {% on stack a string (...)
+ 2 dict begin
+ /Output exch def
+ 0 1 Output length 1 sub {
+ /Index exch def
+ Output Index get 46 eq { Output Index 44 put } if
+ } for
+ Output
+ end
+} def
+%
+%-----------------------------------------------------------------------------%
+% END pst-tools.pro
+
+%%EndProcSet
+%%BeginProcSet: pst-dots.pro 0 0
+% $Id: pst-dots.pro 130 2009-08-27 08:55:03Z herbert $
+%
+%% PostScript prologue for pstricks.tex.
+%% Version 2.02, 2009/06/16
+%%
+%% For distribution, see pstricks.tex.
+%%
+%% Timothy Van Zandt <tvz@Princeton.EDU>
+%%
+%% This program can be redistributed and/or modified under the terms
+%% of the LaTeX Project Public License Distributed from CTAN archives
+%% in directory macros/latex/base/lppl.txt.
+%%
+%% Modified by Etienne Riga - Dec. 16, 1999
+%% Modified by Etienne Riga - 2005/01/01 (er)
+%% to add /Diamond, /SolidDiamond and /BoldDiamond
+%% Modified by Herbert Voss (hv) - 2008/04/17
+%
+10 dict dup begin % hold local
+ /FontType 3 def
+ /FontMatrix [.001 0 0 .001 0 0] def
+% /FontBBox [-571.5 -742.5 571.5 742.5] def % changed to next line 20060616 hv
+ /FontBBox [-1000 -1000 1000 1000] def % See end of file in /BuildGlyph
+ /Encoding 256 array def
+ 0 1 255 {Encoding exch /.notdef put} for % fill the array with /.notdef
+ Encoding % replace with given dot names
+ dup (b) 0 get /Bullet put % get the numerical position of b in ASCII
+% % and save /Bullet at this place in Encoding
+ dup (c) 0 get /Circle put
+ dup (C) 0 get /BoldCircle put % 67
+ dup (u) 0 get /SolidTriangle put
+ dup (t) 0 get /Triangle put
+ dup (T) 0 get /BoldTriangle put
+ dup (r) 0 get /SolidSquare put
+ dup (s) 0 get /Square put
+ dup (S) 0 get /BoldSquare put
+ dup (q) 0 get /SolidPentagon put
+ dup (p) 0 get /Pentagon put
+ dup (P) 0 get /BoldPentagon put
+%%%
+ dup (k) 0 get /Asterisk put
+ dup (K) 0 get /BoldAsterisk put
+ dup (J) 0 get /SolidAsterisk put
+ dup (h) 0 get /Hexagon put
+ dup (H) 0 get /BoldHexagon put
+ dup (G) 0 get /SolidHexagon put
+ dup (f) 0 get /Octogon put % 2008-04-18 hv
+ dup (F) 0 get /BoldOctogon put % 2008-04-18 hv
+ dup (g) 0 get /SolidOctogon put % 2008-04-18 hv
+ dup (a) 0 get /Add put
+ dup (A) 0 get /BoldAdd put % 65
+ dup (x) 0 get /Mul put
+ dup (X) 0 get /BoldMul put
+ dup (m) 0 get /Oplus put
+ dup (M) 0 get /BOplus put
+ dup (e) 0 get /SolidOplus put
+ dup (n) 0 get /Otimes put
+ dup (N) 0 get /BOtimes put
+ dup (E) 0 get /SolidOtimes put
+ dup (i) 0 get /Bar put
+ dup (I) 0 get /BoldBar put
+ dup (l) 0 get /SolidDiamond put
+ dup (d) 0 get /Diamond put
+ (D) 0 get /BoldDiamond put
+%%%
+/CharProcs 47 dict def
+CharProcs begin
+ /CirclePath {0 0 500 0 360 arc closepath} def
+ /Bullet {CirclePath fill} def
+ /Circle {CirclePath .9 .9 scale CirclePath eofill} def
+ /BoldCircle {CirclePath .8 .8 scale CirclePath eofill} def
+ /TrianglePath {0 660 moveto -571.5 -330 lineto 571.5 -330 lineto closepath} def
+ /SolidTriangle {TrianglePath fill} def
+ /Triangle {TrianglePath .85 .85 scale TrianglePath eofill} def
+ /BoldTriangle {TrianglePath .7 .7 scale TrianglePath eofill} def
+ /SquarePath {-450 450 moveto 450 450 lineto 450 -450 lineto -450 -450 lineto closepath} def
+ /SolidSquare {SquarePath fill} def
+ /Square {SquarePath .89 .89 scale SquarePath eofill} def
+ /BoldSquare {SquarePath .78 .78 scale SquarePath eofill} def
+ /PentagonPath {
+ -337.8 -465 moveto 337.8 -465 lineto 546.6 177.6 lineto
+ 0 574.7 lineto -546.6 177.6 lineto closepath
+ } def
+ /SolidPentagon {PentagonPath fill} def
+ /Pentagon {PentagonPath .89 .89 scale PentagonPath eofill} def
+ /BoldPentagon {PentagonPath .78 .78 scale PentagonPath eofill} def
+%-------------- hv begin 2004/07/25 from: er 2003/03/24
+ /HexagonPath {
+ 0 550 moveto -476 275 lineto -476 -275 lineto
+ 0 -550 lineto 476 -275 lineto 476 275 lineto closepath
+ } def
+ /SolidHexagon {HexagonPath fill} def
+ /Hexagon {HexagonPath .89 .89 scale HexagonPath eofill} def
+ /BoldHexagon {HexagonPath .79 .79 scale HexagonPath eofill} def
+% 2008-04-18 hv
+ /OctogonPath {
+ 550 dup 22.5 tan mul dup neg dup add /xMove exch def
+ exch moveto 7 { xMove 0 rlineto 45 rotate } repeat closepath } def
+ /SolidOctogon { OctogonPath fill } def
+ /Octogon { OctogonPath .89 .89 scale OctogonPath eofill } def
+ /BoldOctogon { OctogonPath .79 .79 scale OctogonPath eofill } def
+%
+ /AsteriskPath {
+ 20 0 moveto 10 250 180 500 0 500 curveto
+ -180 500 -10 250 -20 0 curveto closepath
+ } def
+ /Asterisk {
+ AsteriskPath 60 rotate AsteriskPath 60 rotate AsteriskPath
+ 60 rotate AsteriskPath 60 rotate AsteriskPath 60 rotate AsteriskPath fill
+ } def
+%
+ /Basterp {50 250 220 500 0 500 curveto -220 500 -50 250 -50 30 cos 100 mul curveto} def
+ /BoldAsteriskPath {
+ 50 30 cos 100 mul moveto Basterp
+ 60 rotate Basterp 60 rotate Basterp
+ 60 rotate Basterp 60 rotate Basterp
+ 60 rotate Basterp closepath
+ } def
+ /BoldAsterisk {BoldAsteriskPath fill} def
+ /SolidAsterisk {CirclePath .9 .9 scale BoldAsteriskPath eofill} def
+ /CrossPath {
+ 40 550 moveto -40 550 lineto -40 40 lineto -550 40 lineto
+ -550 -40 lineto -40 -40 lineto -40 -550 lineto 40 -550 lineto
+ 40 -40 lineto 550 -40 lineto 550 40 lineto 40 40 lineto closepath
+ } def
+ /BoldCrossPath {80 550 moveto -80 550 lineto -80 80 lineto -550 80 lineto
+ -550 -80 lineto -80 -80 lineto -80 -550 lineto 80 -550 lineto
+ 80 -80 lineto 550 -80 lineto 550 80 lineto 80 80 lineto closepath
+ } def
+ /Add {CrossPath fill} def
+ /Mul {45 rotate CrossPath fill} def
+ /BoldAdd {BoldCrossPath fill} def
+ /BoldMul {45 rotate BoldCrossPath fill} def
+ /Oplus {CirclePath .9 .9 scale CirclePath eofill .775 .775 scale CrossPath fill } def
+ /SolidOplus {CirclePath .775 .775 scale BoldCrossPath eofill} def
+ /BOplus {CirclePath .8 .8 scale CirclePath eofill .775 .775 scale BoldCrossPath fill} def
+ /Otimes {CirclePath .9 .9 scale CirclePath eofill 45 rotate .775 .775 scale CrossPath fill} def
+ /BOtimes {CirclePath .8 .8 scale CirclePath eofill 45 rotate .775 .775 scale BoldCrossPath fill } def
+ /SolidOtimes {CirclePath 45 rotate .775 .775 scale BoldCrossPath eofill} def
+ /BarPath {40 660 moveto -40 660 lineto -40 -660 lineto 40 -660 lineto closepath} def
+ /Bar {BarPath fill} def
+ /BoldBarPath {80 660 moveto -80 660 lineto -80 -660 lineto 80 -660 lineto closepath} def
+ /BoldBar {BoldBarPath fill} def
+ /DiamondPath {0 742.5 moveto -428.5 0 lineto 0 -742.5 lineto 428.5 0 lineto closepath} def
+ /SolidDiamond {DiamondPath fill} def
+ /Diamond {DiamondPath .865 .865 scale DiamondPath eofill} def
+ /BoldDiamond {DiamondPath .73 .73 scale DiamondPath eofill} def
+%%%
+ /.notdef { } def
+end
+%
+/BuildGlyph {
+ exch
+ begin
+% Metrics 1 index get exec 0
+ 0 0
+% BBoxes 3 index get exec
+ -1000 -1000 1000 1000
+% -571.5 -742.5 571.5 742.5
+ setcachedevice
+ CharProcs begin load exec end
+ end
+} def
+%
+/BuildChar {
+ 1 index /Encoding get exch get
+ 1 index /BuildGlyph get exec
+} bind def
+%
+end
+/PSTricksDotFont exch definefont pop
+%
+%% end
+
+%%EndProcSet
+%%BeginProcSet: pst-node.pro 0 0
+% $Id: pst-node.pro 645 2012-02-12 09:09:51Z herbert $
+%%
+%% PostScript prologue for pst-node.tex.
+%% Version 1.13, 2011/11/21.
+%%
+%% This program can be redistributed and/or modified under the terms
+%% of the LaTeX Project Public License Distributed from CTAN archives
+%% in directory macros/latex/base/lppl.txt.
+%
+/tx@NodeDict 400 dict def tx@NodeDict begin
+tx@Dict begin % from main pstricks dict
+ /T /translate load def
+ /CP /currentpoint load def
+end
+/NewNode { % on stack: { x y } boolean N@name type InitXnode
+ gsave
+ NodeScale % a bugfix for xelatex, it's empty for dvips
+ /next exch def % { x y } boolean N@name type
+ dict dup % { x y } boolean N@name dict dict
+ 3 1 roll def % { x y } boolean dict N@name dict def
+ exch { dup 3 1 roll def } if % { x y } dict boolean
+ begin % { x y } dict begin
+ tx@Dict begin
+ STV CP T exec % set scaling
+ end
+ /NodeMtrx CM def % save CM
+ next % InitXNode
+ end
+ grestore
+} def
+%
+/InitPnode {
+ /Y ED /X ED
+ /NodePos { NodeSep Cos mul NodeSep Sin mul } def
+} def
+%
+/InitCnode {
+ /r ED /Y ED /X ED
+ /NodePos { NodeSep r add dup Cos mul exch Sin mul } def
+} def
+%
+/GetRnodePos {
+ Cos 0 gt { /dx r NodeSep add def } { /dx l NodeSep sub def } ifelse
+ Sin 0 gt { /dy u NodeSep add def } { /dy d NodeSep sub def } ifelse
+ dx Sin mul abs dy
+ Cos mul abs gt { dy Cos mul Sin div dy } { dx dup Sin mul Cos Div } ifelse
+} def
+%
+/InitRnode {
+ /Y ED /X ED X sub /r ED /l X neg def Y add neg /d ED Y sub /u ED
+ /NodePos { GetRnodePos } def
+} def
+%
+/DiaNodePos {
+ w h mul w Sin mul abs h Cos mul abs add Div NodeSep add dup
+ Cos mul exch Sin mul
+} def
+%
+/TriNodePos {
+ Sin s lt
+ { d NodeSep sub dup Cos mul Sin Div exch }
+ { w h mul w Sin mul h Cos abs mul add Div
+ NodeSep add dup Cos mul exch Sin mul
+ } ifelse
+} def
+%
+/InitTriNode {
+ sub 2 div exch
+ 2 div exch
+ 2 copy T
+ 2 copy 4 index index /d ED
+ pop pop pop pop
+ -90 mul rotate
+ /NodeMtrx CM def
+ /X 0 def /Y 0 def
+ d sub abs neg /d ED
+ d add /h ED
+ 2 div h mul h d sub Div /w ED
+ /s d w Atan sin def
+ /NodePos { TriNodePos } def
+} def
+%
+/OvalNodePos {
+ /ww w NodeSep add def
+ /hh h NodeSep add def
+ Sin ww mul Cos hh mul Atan dup cos ww mul exch sin hh mul
+} def
+%
+/GetCenter { begin X Y NodeMtrx transform CM itransform end } def
+%
+/XYPos {
+ dup sin exch cos Do
+ /Cos ED /Sin ED /Dist ED
+ Cos 0 gt
+ { Dist Dist Sin mul Cos div }
+ { Cos 0 lt
+ { Dist neg Dist Sin mul Cos div neg }
+ { 0 Dist Sin mul } ifelse
+ } ifelse
+ Do
+} def
+%
+/GetEdge {
+ dup 0 eq
+ { pop begin 1 0 NodeMtrx dtransform
+ CM idtransform
+ exch atan sub
+ dup
+ sin /Sin ED
+ cos /Cos ED
+ /NodeSep ED
+ NodePos NodeMtrx dtransform CM idtransform end }
+ { 1 eq {{exch}} {{}} ifelse /Do ED pop XYPos } ifelse
+} def
+%
+/AddOffset {
+ 1 index 0 eq
+ { pop pop }
+ { 2 copy 5 2 roll cos mul add 4 1 roll sin mul sub exch } ifelse
+} def
+%
+/GetEdgeA {
+ NodeSepA AngleA NodeA NodeSepTypeA GetEdge
+ OffsetA AngleA AddOffset
+ yA add /yA1 ED
+ xA add /xA1 ED
+} def
+%
+/GetEdgeB {
+ NodeSepB AngleB NodeB NodeSepTypeB GetEdge
+ OffsetB AngleB AddOffset
+ yB add /yB1 ED
+ xB add /xB1 ED
+} def
+%
+/GetArmA {
+ ArmTypeA 0 eq
+ { /xA2 ArmA AngleA cos mul xA1 add def
+ /yA2 ArmA AngleA sin mul yA1 add def }
+ { ArmTypeA 1 eq {{exch}} {{}} ifelse
+ /Do ED
+ ArmA AngleA XYPos OffsetA AngleA AddOffset
+ yA add /yA2 ED
+ xA add /xA2 ED } ifelse
+} def
+%
+/GetArmB {
+ ArmTypeB 0 eq
+ { /xB2 ArmB AngleB cos mul xB1 add def
+ /yB2 ArmB AngleB sin mul yB1 add def }
+ { ArmTypeB 1 eq {{exch}} {{}} ifelse
+ /Do ED
+ ArmB AngleB XYPos OffsetB AngleB AddOffset
+ yB add /yB2 ED
+ xB add /xB2 ED } ifelse
+} def
+%
+/InitNC {
+ /b ED /a ED % second and first node
+ /NodeSepTypeB ED /NodeSepTypeA ED
+ /NodeSepB ED /NodeSepA ED
+ /OffsetB ED /OffsetA ED
+ tx@NodeDict a known tx@NodeDict b known and dup {
+ /NodeA a load def
+ /NodeB b load def
+ NodeA GetCenter /yA ED /xA ED
+ NodeB GetCenter /yB ED /xB ED } if
+} def
+%
+/LPutLine {
+ 4 copy
+ 3 -1 roll sub neg 3 1 roll sub Atan /NAngle ED
+ 1 t sub mul
+ 3 1 roll 1 t sub mul
+ 4 1 roll t mul add /Y ED
+ t mul add /X ED
+} def
+%
+/LPutLines {
+ mark LPutVar counttomark 2 div 1 sub /n ED
+% t floor dup n gt
+ t floor dup n ge % to allow npos<= hv 2008-08-14
+ { pop n 1 sub /t 1 def } { dup t sub neg /t ED } ifelse
+ cvi 2 mul { pop } repeat
+ LPutLine
+ cleartomark
+} def
+%
+/BezierMidpoint {
+ /y3 ED /x3 ED /y2 ED /x2 ED /y1 ED /x1 ED /y0 ED /x0 ED /t ED
+ /cx x1 x0 sub 3 mul def
+ /cy y1 y0 sub 3 mul def
+ /bx x2 x1 sub 3 mul cx sub def
+ /by y2 y1 sub 3 mul cy sub def
+ /ax x3 x0 sub cx sub bx sub def
+ /ay y3 y0 sub cy sub by sub def
+ ax t 3 exp mul bx t t mul mul add
+ cx t mul add x0 add ay t 3 exp mul
+ by t t mul mul add cy t mul add
+ y0 add 3 ay t t mul mul mul 2
+ by t mul mul add cy add 3 ax t t mul mul mul
+ 2 bx t mul mul add cx add atan /NAngle ED
+ /Y ED /X ED
+} def
+%
+/HPosBegin { yB yA ge { /t 1 t sub def } if /Y yB yA sub t mul yA add def
+} def
+/HPosEnd { /X Y yyA sub yyB yyA sub Div xxB xxA sub mul xxA add def
+/NAngle yyB yyA sub xxB xxA sub Atan def } def
+/HPutLine { HPosBegin /yyA ED /xxA ED /yyB ED /xxB ED HPosEnd } def
+/HPutLines { HPosBegin yB yA ge { /check { le } def } { /check { ge } def
+} ifelse /xxA xA def /yyA yA def mark xB yB LPutVar { dup Y check { exit
+} { /yyA ED /xxA ED } ifelse } loop /yyB ED /xxB ED cleartomark HPosEnd
+} def
+/VPosBegin { xB xA lt { /t 1 t sub def } if /X xB xA sub t mul xA add def
+} def
+/VPosEnd { /Y X xxA sub xxB xxA sub Div yyB yyA sub mul yyA add def
+/NAngle yyB yyA sub xxB xxA sub Atan def } def
+/VPutLine { VPosBegin /yyA ED /xxA ED /yyB ED /xxB ED VPosEnd } def
+/VPutLines { VPosBegin xB xA ge { /check { le } def } { /check { ge } def
+} ifelse /xxA xA def /yyA yA def mark xB yB LPutVar { 1 index X check {
+exit } { /yyA ED /xxA ED } ifelse } loop /yyB ED /xxB ED cleartomark
+VPosEnd } def
+/HPutCurve { gsave newpath /SaveLPutVar /LPutVar load def LPutVar 8 -2
+roll moveto curveto flattenpath /LPutVar [ {} {} {} {} pathforall ] cvx
+def grestore exec /LPutVar /SaveLPutVar load def } def
+/NCCoor { /AngleA yB yA sub xB xA sub Atan def /AngleB AngleA 180 add def
+GetEdgeA GetEdgeB /LPutVar [ xB1 yB1 xA1 yA1 ] cvx def /LPutPos {
+LPutVar LPutLine } def /HPutPos { LPutVar HPutLine } def /VPutPos {
+LPutVar VPutLine } def LPutVar } def
+%
+/NCLine {
+ NCCoor
+ tx@Dict begin
+ ArrowA CP 4 2 roll
+ ArrowB
+ lineto pop pop
+ end
+} def
+%
+/NCLines {
+ false NArray
+ n 0 eq
+ { NCLine }
+ { 2 copy yA sub exch xA sub Atan /AngleA ED
+ n 2 mul dup index exch index yB sub exch xB sub
+ Atan /AngleB ED
+ GetEdgeA GetEdgeB
+ /LPutVar [ xB1 yB1 n 2 mul 4 add 4 roll xA1 yA1 ] cvx def
+ mark LPutVar
+ tx@Dict begin false Line end
+ /LPutPos { LPutLines } def
+ /HPutPos { HPutLines } def
+ /VPutPos { VPutLines } def
+ } ifelse
+} def
+%
+/NCCurve {
+ GetEdgeA
+ GetEdgeB
+ xA1 xB1 sub yA1 yB1 sub Pyth 2 div dup 3 -1
+roll mul /ArmA ED mul /ArmB ED /ArmTypeA 0 def /ArmTypeB 0 def GetArmA
+GetArmB xA2 yA2 xA1 yA1 tx@Dict begin ArrowA end xB2 yB2 xB1 yB1 tx@Dict
+begin ArrowB end curveto /LPutVar [ xA1 yA1 xA2 yA2 xB2 yB2 xB1 yB1 ]
+cvx def /LPutPos { t LPutVar BezierMidpoint } def /HPutPos { { HPutLines
+} HPutCurve } def /VPutPos { { VPutLines } HPutCurve } def } def
+%
+/NCAngles {
+ GetEdgeA GetEdgeB GetArmA GetArmB
+ /mtrx AngleA matrix rotate def
+ xA2 yA2 mtrx transform pop
+ xB2 yB2 mtrx transform exch pop
+ mtrx itransform
+ /y0 ED /x0 ED
+ mark ArmB 0 ne { xB1 yB1 } if
+ xB2 yB2 x0 y0 xA2 yA2
+ ArmA 0 ne { xA1 yA1 } if
+ tx@Dict begin false Line end
+ /LPutVar [ xB1 yB1 xB2 yB2 x0 y0 xA2 yA2 xA1 yA1 ] cvx def
+ /LPutPos { LPutLines } def
+ /HPutPos { HPutLines } def
+ /VPutPos { VPutLines } def } def
+%
+/NCAngle {
+ GetEdgeA GetEdgeB GetArmB
+ /mtrx AngleA matrix rotate def
+ xB2 yB2 mtrx itransform pop xA1 yA1 mtrx itransform exch pop mtrx transform
+ /y0 ED /x0 ED
+ mark
+ ArmB 0 ne { xB1 yB1 } if
+ xB2 yB2 x0 y0 xA1 yA1
+ tx@Dict begin false Line end
+ /LPutVar [ xB1 yB1 xB2 yB2 x0 y0 xA1 yA1 ] cvx def
+ /LPutPos { LPutLines } def
+ /HPutPos { HPutLines } def
+ /VPutPos { VPutLines } def
+} def
+%
+/NCBar {
+ GetEdgeA GetEdgeB GetArmA GetArmB
+ /mtrx AngleA matrix rotate def
+ xA2 yA2 mtrx itransform pop
+ xB2 yB2 mtrx itransform pop
+ sub dup 0 mtrx transform
+ 3 -1 roll 0 gt
+ { /yB2 exch yB2 add def /xB2 exch xB2 add def }
+ { /yA2 exch neg yA2 add def /xA2 exch neg xA2 add def } ifelse
+ mark
+ ArmB 0 ne { xB1 yB1 } if
+ xB2 yB2 xA2 yA2 ArmA 0 ne { xA1 yA1 } if
+ tx@Dict begin false Line end
+ /LPutVar [ xB1 yB1 xB2 yB2 xA2 yA2 xA1 yA1 ] cvx def
+ /LPutPos { LPutLines } def
+ /HPutPos { HPutLines } def
+ /VPutPos { VPutLines } def
+} def
+%
+/NCDiag {
+ /lineAngle ED
+ GetEdgeA GetEdgeB GetArmA GetArmB mark
+ lineAngle abs 0 gt {
+ /xTemp xA2 10 add def
+ /yTemp yA2 lineAngle dup sin exch cos div 10 mul add def
+ /dY1 yTemp yA2 sub def
+ /dX1 xTemp xA2 sub def
+ /dY2 yB2 yB1 sub def
+ /dX2 xB2 xB1 sub def
+ dX1 abs 0.01 lt {
+ /m2 dY2 dX2 div def
+ /xB2 xA2 def
+ /yB2 xA2 xB1 sub m2 mul yB1 add def
+ }{
+ dX2 abs 0.01 lt {
+ /m1 dY1 dX1 div def
+ /xB2 xB1 def
+ /yB2 xB1 xA2 sub m1 mul yA2 add def
+ }{%
+ /m1 dY1 dX1 div def
+ /m2 dY2 dX2 div def
+ /xB2 m1 xA2 mul m2 xB1 mul sub yA2 sub yB1 add m1 m2 sub div def
+ /yB2 xB2 xA2 sub m1 mul yA2 add def
+ } ifelse
+ } ifelse
+ } if
+ ArmB 0 ne { xB1 yB1 } if
+ xB2 yB2 xA2 yA2
+ ArmA 0 ne { xA1 yA1 } if
+ tx@Dict begin false Line end
+ /LPutVar [ xB1 yB1 xB2 yB2 xA2 yA2 xA1 yA1 ] cvx def
+ /LPutPos { LPutLines } def
+ /HPutPos { HPutLines } def
+ /VPutPos { VPutLines } def
+%
+% GetEdgeA GetEdgeB GetArmA GetArmB mark
+% ArmB 0 ne { xB1 yB1 } if
+% xB2 yB2 xA2 yA2
+% ArmA 0 ne { xA1 yA1 } if
+% tx@Dict begin false Line end
+% /LPutVar [ xB1 yB1 xB2 yB2 xA2 yA2 xA1 yA1 ] cvx def
+% /LPutPos { LPutLines } def
+% /HPutPos { HPutLines } def
+% /VPutPos { VPutLines } def
+} def
+%
+/NCDiagg {
+ /lineAngle ED
+ GetEdgeA GetArmA
+ lineAngle abs 0 gt
+ { lineAngle }
+ { yB yA2 sub xB xA2 sub Atan 180 add } ifelse
+ /AngleB ED
+ GetEdgeB mark
+ lineAngle abs 0 gt {
+ /dY2 yA2 yA1 sub def
+ /dX2 xA2 xA1 sub def
+ lineAngle abs 90 eq {
+ /m2 dY2 dX2 div def
+ /yA2 xB xA2 sub m2 mul yA2 add def
+ /xA2 xB def
+ }{
+ /m1 lineAngle dup sin exch cos div def % tan alpha
+ dX2 abs 0.01 lt {
+ /yA2 xA1 xB sub m1 mul yB add def
+ /xA2 xA1 def
+ }{%
+ /m2 dY2 dX2 div def
+ /xA2 m1 xB mul m2 xA2 mul sub yA2 add yB sub m1 m2 sub div def
+ /yA2 xA2 xB sub m1 mul yB add def
+ } ifelse
+ } ifelse
+ } if
+ xB1 yB1 xA2 yA2
+ ArmA 0 ne { xA1 yA1 } if
+ tx@Dict begin false Line end
+ /LPutVar [ xB1 yB1 xA2 yA2 xA1 yA1 ] cvx def
+ /LPutPos { LPutLines } def
+ /HPutPos { HPutLines } def
+ /VPutPos { VPutLines } def
+%
+% GetEdgeA GetArmA
+% yB yA2 sub xB xA2 sub Atan 180 add /AngleB ED
+% GetEdgeB
+% mark
+% xB1 yB1 xA2 yA2
+% ArmA 0 ne { xA1 yA1 } if
+% tx@Dict begin false Line end
+% /LPutVar [ xB1 yB1 xA2 yA2 xA1 yA1 ] cvx def
+% /LPutPos { LPutLines } def
+% /HPutPos { HPutLines } def
+% /VPutPos { VPutLines } def
+} def
+%
+/NCLoop {
+ GetEdgeA GetEdgeB GetArmA GetArmB
+ /mtrx AngleA matrix rotate def
+ xA2 yA2 mtrx transform loopsize add /yA3 ED /xA3 ED
+ /xB3 xB2 yB2 mtrx transform pop def
+ xB3 yA3 mtrx itransform /yB3 ED /xB3 ED
+ xA3 yA3 mtrx itransform /yA3 ED /xA3 ED
+ mark ArmB 0 ne { xB1 yB1 } if
+ xB2 yB2 xB3 yB3 xA3 yA3 xA2 yA2 ArmA 0 ne { xA1 yA1 } if
+ tx@Dict begin false Line end
+ /LPutVar [ xB1 yB1 xB2 yB2 xB3 yB3 xA3 yA3 xA2 yA2 xA1 yA1 ] cvx def
+ /LPutPos { LPutLines } def
+ /HPutPos { HPutLines } def
+ /VPutPos { VPutLines } def
+} def
+%
+% DG/SR modification begin - May 9, 1997 - Patch 1
+%/NCCircle { 0 0 NodesepA nodeA \tx@GetEdge pop xA sub 2 div dup 2 exp r
+%r mul sub abs sqrt atan 2 mul /a ED r AngleA 90 add PtoC yA add exch xA add
+%exch 2 copy /LPutVar [ 4 2 roll r AngleA ] cvx def /LPutPos { LPutVar t 360
+%mul add dup 5 1 roll 90 sub \tx@PtoC 3 -1 roll add /Y ED add /X ED /NAngle ED
+%
+/NCCircle {
+ NodeSepA 0 NodeA 0 GetEdge pop
+ 2 div dup 2 exp r r mul sub abs sqrt
+ atan 2 mul /a ED
+ r AngleA 90 add PtoC yA add exch xA add
+ exch 2 copy
+ /LPutVar [ 4 2 roll r AngleA ] cvx def
+ /LPutPos {
+ LPutVar t 360 mul add dup 5 1 roll 90 sub PtoC
+ 3 -1 roll add
+ /Y ED add /X ED /NAngle ED
+% DG/SR modification end
+ } def
+ /HPutPos { LPutPos } def
+ /VPutPos { LPutPos } def
+ r AngleA 90 sub a add AngleA 270 add a sub
+ tx@Dict begin
+ /angleB ED /angleA ED /r ED
+ /c 57.2957 r Div def
+ /y ED /x ED
+} def
+%
+/NCBox {
+ /d ED /h ED
+ /AngleB yB yA sub xB xA sub Atan def
+ /AngleA AngleB 180 add def
+ GetEdgeA GetEdgeB
+ /dx d AngleB sin mul def
+ /dy d AngleB cos mul neg def
+ /hx h AngleB sin mul neg def
+ /hy h AngleB cos mul def
+ /LPutVar [
+ xA1 hx add yA1 hy add xB1 hx add yB1 hy add
+ xB1 dx add yB1 dy add xA1 dx add yA1 dy add ] cvx def
+ /LPutPos { LPutLines } def
+ /HPutPos { xB yB xA yA LPutLine } def
+ /VPutPos { HPutPos } def
+ mark
+ LPutVar tx@Dict begin false Polygon end
+} def
+%
+/NCArcBox {
+ /l ED neg /d ED /h ED /a ED
+ /AngleA yB yA sub xB xA sub Atan def
+ /AngleB AngleA 180 add def
+ /tA AngleA a sub 90 add def
+ /tB tA a 2 mul add def
+ /r xB xA sub tA cos tB cos sub Div dup 0 eq { pop 1 } if def
+ /x0 xA r tA cos mul add def
+ /y0 yA r tA sin mul add def
+ /c 57.2958 r div def
+ /AngleA AngleA a sub 180 add def
+ /AngleB AngleB a add 180 add def
+ GetEdgeA GetEdgeB
+ /AngleA tA 180 add yA yA1 sub xA xA1 sub Pyth c mul sub def
+ /AngleB tB 180 add yB yB1 sub xB xB1 sub Pyth c mul add def
+ l 0 eq {
+ x0 y0 r h add AngleA AngleB arc x0 y0 r d add AngleB AngleA arcn
+ }{
+ x0 y0 translate
+ /tA AngleA l c mul add def
+ /tB AngleB l c mul sub def
+ 0 0 r h add tA tB arc r h add
+ AngleB PtoC r d add
+ AngleB PtoC 2 copy
+ 6 2 roll l arcto 4 { pop } repeat
+ r d add tB PtoC l arcto 4 { pop } repeat
+ 0 0 r d add tB tA arcn r d add
+ AngleA PtoC r h add
+ AngleA PtoC 2 copy 6 2 roll
+ l arcto 4 { pop } repeat
+ r h add tA PtoC l arcto 4 { pop } repeat
+ } ifelse
+ closepath
+ /LPutVar [ x0 y0 r AngleA AngleB h d ] cvx def
+ /LPutPos {
+ LPutVar /d ED /h ED
+ /AngleB ED /AngleA ED
+ /r ED /y0 ED /x0 ED
+ t 1 le {
+ r h add AngleA 1 t sub mul AngleB t mul add dup 90 add /NAngle ED PtoC
+ }{t 2 lt {
+ /NAngle AngleB 180 add def r 2 t sub
+ h mul t 1 sub d mul add add AngleB PtoC
+ }{
+ t 3 lt {
+ r d add AngleB 3 t sub mul AngleA 2 t sub
+ mul add dup 90 sub /NAngle ED PtoC
+ }{
+ /NAngle AngleA 180 add def
+ r 4 t sub d mul t 3 sub h mul add add AngleA PtoC
+ } ifelse
+ } ifelse
+ } ifelse
+ y0 add /Y ED x0 add /X ED
+ } def
+ /HPutPos { LPutPos } def
+ /VPutPos { LPutPos } def
+} def
+%
+/Tfan { /AngleA yB yA sub xB xA sub Atan def GetEdgeA w xA1 xB sub yA1 yB
+sub Pyth Pyth w Div CLW 2 div mul 2 div dup AngleA sin mul yA1 add /yA1
+ED AngleA cos mul xA1 add /xA1 ED /LPutVar [ xA1 yA1 m { xB w add yB xB
+w sub yB } { xB yB w sub xB yB w add } ifelse xA1 yA1 ] cvx def /LPutPos
+{ LPutLines } def /VPutPos@ { LPutVar flag { 8 4 roll pop pop pop pop }
+{ pop pop pop pop 4 2 roll } ifelse } def /VPutPos { VPutPos@ VPutLine }
+def /HPutPos { VPutPos@ HPutLine } def mark LPutVar tx@Dict begin
+/ArrowA { moveto } def /ArrowB { } def false Line closepath end } def
+%
+/LPutCoor {
+ NAngle
+ tx@Dict begin /NAngle ED end
+ gsave
+ CM STV
+ CP Y sub neg exch X sub neg exch moveto
+ setmatrix CP
+ grestore
+} def
+%
+/LPut {
+ tx@NodeDict /LPutPos known
+ { LPutPos } { CP /Y ED /X ED /NAngle 0 def } ifelse
+ LPutCoor
+} def
+%
+/HPutAdjust {
+ Sin Cos mul 0 eq
+ { 0 }
+ { d Cos mul Sin div flag not { neg } if
+ h Cos mul Sin div flag { neg } if
+ 2 copy gt { pop } { exch pop } ifelse
+ } ifelse
+ s add flag { r add neg }{ l add } ifelse
+ X add /X ED
+} def
+%
+/VPutAdjust {
+ Sin Cos mul
+ 0 eq
+ { 0 }
+ { l Sin mul Cos div flag { neg } if
+ r Sin mul Cos div flag not { neg } if
+ 2 copy gt { pop } { exch pop } ifelse
+ } ifelse
+ s add flag { d add } { h add neg } ifelse
+ Y add /Y ED
+} def
+%
+%
+end
+%
+% END pst-node.pro
+
+%%EndProcSet
+%%BeginProcSet: cm-super-ts1.enc 0 0
+% This file is generated from `TS1uni.map' and `glyphlist.txt', `gl-other.txt'
+/TS1Encoding [
+% 0x00
+/Grave
+/Acute
+/Circumflex % ?
+/Tilde % ?
+/Dieresis
+/Hungarumlaut
+/Ring % ?
+/Caron
+/Breve % ?
+/Macron
+/Dotaccent % ?
+/cedilla
+/ogonek
+/quotesinglbase.ts1
+/.notdef
+/.notdef
+% 0x10
+/.notdef
+/.notdef
+/quotedblbase.ts1
+/.notdef
+/.notdef
+/twelveudash % ?
+/threequartersemdash
+/afii61664.cap % ?
+/arrowleft
+/arrowright
+/tieaccentlowercase % ?
+/tieaccentcapital % ?
+/tieaccentlowercase.new % ?
+/tieaccentcapital.new % ?
+/.notdef
+/afii61664.asc % ?
+% 0x20
+/uni2422
+/.notdef
+/.notdef
+/.notdef
+/dollar
+/.notdef
+/.notdef
+/quotesingle
+/.notdef
+/.notdef
+/asteriskmath
+/.notdef
+/comma
+/hyphendbl % ?
+/period
+/fraction
+% 0x30
+/zerooldstyle
+/oneoldstyle
+/twooldstyle
+/threeoldstyle
+/fouroldstyle
+/fiveoldstyle
+/sixoldstyle
+/sevenoldstyle
+/eightoldstyle
+/nineoldstyle
+/.notdef
+/.notdef
+/angleleft
+/minus
+/angleright
+/.notdef
+% 0x40
+/.notdef
+/.notdef
+/.notdef
+/.notdef
+/.notdef
+/.notdef
+/.notdef
+/.notdef
+/.notdef
+/.notdef
+/.notdef
+/.notdef
+/.notdef
+/uni2127
+/.notdef
+/circle
+% 0x50
+/.notdef
+/.notdef
+/.notdef
+/.notdef
+/.notdef
+/.notdef
+/.notdef
+/Omega
+/.notdef
+/.notdef
+/.notdef
+/uni301A
+/.notdef
+/uni301B
+/arrowup
+/arrowdown
+% 0x60
+/grave.ts1
+/.notdef
+/born % ?
+/divorced % ?
+/died % ?
+/.notdef
+/.notdef
+/.notdef
+/.notdef
+/.notdef
+/.notdef
+/.notdef
+/leaf % ?
+/married % ?
+/musicalnote
+/.notdef
+% 0x70
+/.notdef
+/.notdef
+/.notdef
+/.notdef
+/.notdef
+/.notdef
+/.notdef
+/.notdef
+/.notdef
+/.notdef
+/.notdef
+/.notdef
+/.notdef
+/.notdef
+/tildelow % ?
+/hyphendbl.alt % ?
+% 0x80
+/breve.ts1
+/caron.ts1
+/hungarumlaut.ts1
+/dblgrave.ts1
+/dagger
+/daggerdbl
+/uni2016
+/perthousand
+/bullet
+/uni2103
+/dollaroldstyle
+/centoldstyle
+/florin
+/colonmonetary
+/uni20A9
+/uni20A6
+% 0x90
+/guarani % ?
+/peso % ?
+/lira
+/recipe % ?
+/uni203D
+/gnaborretni % ?
+/dong
+/trademark
+/uni2031
+/paragraph.alt % ?
+/uni0E3F
+/afii61352
+/discount % ?
+/estimated
+/openbullet
+/uni2120
+% 0xA0
+/uni2045
+/uni2046
+/cent
+/sterling
+/currency
+/yen
+/brokenbar
+/section
+/dieresis.ts1
+/copyright
+/ordfeminine
+/copyleft % ?
+/logicalnot
+/uni2117
+/registered
+/macron.ts1
+% 0xB0
+/degree
+/plusminus
+/twosuperior
+/threesuperior
+/acute.ts1
+/mu
+/paragraph
+/periodcentered
+/uni203B
+/onesuperior
+/ordmasculine
+/radical
+/onequarter
+/onehalf
+/threequarters
+/Euro % or /Euro.alt
+% 0xC0
+/.notdef
+/.notdef
+/.notdef
+/.notdef
+/.notdef
+/.notdef
+/.notdef
+/.notdef
+/.notdef
+/.notdef
+/.notdef
+/.notdef
+/.notdef
+/.notdef
+/.notdef
+/.notdef
+% 0xD0
+/.notdef
+/.notdef
+/.notdef
+/.notdef
+/.notdef
+/.notdef
+/multiply
+/.notdef
+/.notdef
+/.notdef
+/.notdef
+/.notdef
+/.notdef
+/.notdef
+/.notdef
+/.notdef
+% 0xE0
+/.notdef
+/.notdef
+/.notdef
+/.notdef
+/.notdef
+/.notdef
+/.notdef
+/.notdef
+/.notdef
+/.notdef
+/.notdef
+/.notdef
+/.notdef
+/.notdef
+/.notdef
+/.notdef
+% 0xF0
+/.notdef
+/.notdef
+/.notdef
+/.notdef
+/.notdef
+/.notdef
+/divide
+/.notdef
+/.notdef
+/.notdef
+/.notdef
+/.notdef
+/.notdef
+/.notdef
+/.notdef
+/.notdef
+] def
+
+%%EndProcSet
+%%BeginProcSet: texps.pro 0 0
+%!
+TeXDict begin/rf{findfont dup length 1 add dict begin{1 index/FID ne 2
+index/UniqueID ne and{def}{pop pop}ifelse}forall[1 index 0 6 -1 roll
+exec 0 exch 5 -1 roll VResolution Resolution div mul neg 0 0]FontType 0
+ne{/Metrics exch def dict begin Encoding{exch dup type/integertype ne{
+pop pop 1 sub dup 0 le{pop}{[}ifelse}{FontMatrix 0 get div Metrics 0 get
+div def}ifelse}forall Metrics/Metrics currentdict end def}{{1 index type
+/nametype eq{exit}if exch pop}loop}ifelse[2 index currentdict end
+definefont 3 -1 roll makefont/setfont cvx]cvx def}def/ObliqueSlant{dup
+sin S cos div neg}B/SlantFont{4 index mul add}def/ExtendFont{3 -1 roll
+mul exch}def/ReEncodeFont{CharStrings rcheck{/Encoding false def dup[
+exch{dup CharStrings exch known not{pop/.notdef/Encoding true def}if}
+forall Encoding{]exch pop}{cleartomark}ifelse}if/Encoding exch def}def
+end
+
+%%EndProcSet
+%%BeginProcSet: special.pro 0 0
+%!
+TeXDict begin/SDict 200 dict N SDict begin/@SpecialDefaults{/hs 612 N
+/vs 792 N/ho 0 N/vo 0 N/hsc 1 N/vsc 1 N/ang 0 N/CLIP 0 N/rwiSeen false N
+/rhiSeen false N/letter{}N/note{}N/a4{}N/legal{}N}B/@scaleunit 100 N
+/@hscale{@scaleunit div/hsc X}B/@vscale{@scaleunit div/vsc X}B/@hsize{
+/hs X/CLIP 1 N}B/@vsize{/vs X/CLIP 1 N}B/@clip{/CLIP 2 N}B/@hoffset{/ho
+X}B/@voffset{/vo X}B/@angle{/ang X}B/@rwi{10 div/rwi X/rwiSeen true N}B
+/@rhi{10 div/rhi X/rhiSeen true N}B/@llx{/llx X}B/@lly{/lly X}B/@urx{
+/urx X}B/@ury{/ury X}B/magscale true def end/@MacSetUp{userdict/md known
+{userdict/md get type/dicttype eq{userdict begin md length 10 add md
+maxlength ge{/md md dup length 20 add dict copy def}if end md begin
+/letter{}N/note{}N/legal{}N/od{txpose 1 0 mtx defaultmatrix dtransform S
+atan/pa X newpath clippath mark{transform{itransform moveto}}{transform{
+itransform lineto}}{6 -2 roll transform 6 -2 roll transform 6 -2 roll
+transform{itransform 6 2 roll itransform 6 2 roll itransform 6 2 roll
+curveto}}{{closepath}}pathforall newpath counttomark array astore/gc xdf
+pop ct 39 0 put 10 fz 0 fs 2 F/|______Courier fnt invertflag{PaintBlack}
+if}N/txpose{pxs pys scale ppr aload pop por{noflips{pop S neg S TR pop 1
+-1 scale}if xflip yflip and{pop S neg S TR 180 rotate 1 -1 scale ppr 3
+get ppr 1 get neg sub neg ppr 2 get ppr 0 get neg sub neg TR}if xflip
+yflip not and{pop S neg S TR pop 180 rotate ppr 3 get ppr 1 get neg sub
+neg 0 TR}if yflip xflip not and{ppr 1 get neg ppr 0 get neg TR}if}{
+noflips{TR pop pop 270 rotate 1 -1 scale}if xflip yflip and{TR pop pop
+90 rotate 1 -1 scale ppr 3 get ppr 1 get neg sub neg ppr 2 get ppr 0 get
+neg sub neg TR}if xflip yflip not and{TR pop pop 90 rotate ppr 3 get ppr
+1 get neg sub neg 0 TR}if yflip xflip not and{TR pop pop 270 rotate ppr
+2 get ppr 0 get neg sub neg 0 S TR}if}ifelse scaleby96{ppr aload pop 4
+-1 roll add 2 div 3 1 roll add 2 div 2 copy TR .96 dup scale neg S neg S
+TR}if}N/cp{pop pop showpage pm restore}N end}if}if}N/normalscale{
+Resolution 72 div VResolution 72 div neg scale magscale{DVImag dup scale
+}if 0 setgray}N/psfts{S 65781.76 div N}N/startTexFig{/psf$SavedState
+save N userdict maxlength dict begin/magscale true def normalscale
+currentpoint TR/psf$ury psfts/psf$urx psfts/psf$lly psfts/psf$llx psfts
+/psf$y psfts/psf$x psfts currentpoint/psf$cy X/psf$cx X/psf$sx psf$x
+psf$urx psf$llx sub div N/psf$sy psf$y psf$ury psf$lly sub div N psf$sx
+psf$sy scale psf$cx psf$sx div psf$llx sub psf$cy psf$sy div psf$ury sub
+TR/showpage{}N/erasepage{}N/setpagedevice{pop}N/copypage{}N/p 3 def
+@MacSetUp}N/doclip{psf$llx psf$lly psf$urx psf$ury currentpoint 6 2 roll
+newpath 4 copy 4 2 roll moveto 6 -1 roll S lineto S lineto S lineto
+closepath clip newpath moveto}N/endTexFig{end psf$SavedState restore}N
+/@beginspecial{SDict begin/SpecialSave save N gsave normalscale
+currentpoint TR @SpecialDefaults count/ocount X/dcount countdictstack N}
+N/@setspecial{CLIP 1 eq{newpath 0 0 moveto hs 0 rlineto 0 vs rlineto hs
+neg 0 rlineto closepath clip}if ho vo TR hsc vsc scale ang rotate
+rwiSeen{rwi urx llx sub div rhiSeen{rhi ury lly sub div}{dup}ifelse
+scale llx neg lly neg TR}{rhiSeen{rhi ury lly sub div dup scale llx neg
+lly neg TR}if}ifelse CLIP 2 eq{newpath llx lly moveto urx lly lineto urx
+ury lineto llx ury lineto closepath clip}if/showpage{}N/erasepage{}N
+/setpagedevice{pop}N/copypage{}N newpath}N/@endspecial{count ocount sub{
+pop}repeat countdictstack dcount sub{end}repeat grestore SpecialSave
+restore end}N/@defspecial{SDict begin}N/@fedspecial{end}B/li{lineto}B
+/rl{rlineto}B/rc{rcurveto}B/np{/SaveX currentpoint/SaveY X N 1
+setlinecap newpath}N/st{stroke SaveX SaveY moveto}N/fil{fill SaveX SaveY
+moveto}N/ellipse{/endangle X/startangle X/yrad X/xrad X/savematrix
+matrix currentmatrix N TR xrad yrad scale 0 0 1 startangle endangle arc
+savematrix setmatrix}N end
+
+%%EndProcSet
+%%BeginProcSet: color.pro 0 0
+%!
+TeXDict begin/setcmykcolor where{pop}{/setcmykcolor{dup 10 eq{pop
+setrgbcolor}{1 sub 4 1 roll 3{3 index add neg dup 0 lt{pop 0}if 3 1 roll
+}repeat setrgbcolor pop}ifelse}B}ifelse/TeXcolorcmyk{setcmykcolor}def
+/TeXcolorrgb{setrgbcolor}def/TeXcolorgrey{setgray}def/TeXcolorgray{
+setgray}def/TeXcolorhsb{sethsbcolor}def/currentcmykcolor where{pop}{
+/currentcmykcolor{currentrgbcolor 10}B}ifelse/DC{exch dup userdict exch
+known{pop pop}{X}ifelse}B/GreenYellow{0.15 0 0.69 0 setcmykcolor}DC
+/Yellow{0 0 1 0 setcmykcolor}DC/Goldenrod{0 0.10 0.84 0 setcmykcolor}DC
+/Dandelion{0 0.29 0.84 0 setcmykcolor}DC/Apricot{0 0.32 0.52 0
+setcmykcolor}DC/Peach{0 0.50 0.70 0 setcmykcolor}DC/Melon{0 0.46 0.50 0
+setcmykcolor}DC/YellowOrange{0 0.42 1 0 setcmykcolor}DC/Orange{0 0.61
+0.87 0 setcmykcolor}DC/BurntOrange{0 0.51 1 0 setcmykcolor}DC
+/Bittersweet{0 0.75 1 0.24 setcmykcolor}DC/RedOrange{0 0.77 0.87 0
+setcmykcolor}DC/Mahogany{0 0.85 0.87 0.35 setcmykcolor}DC/Maroon{0 0.87
+0.68 0.32 setcmykcolor}DC/BrickRed{0 0.89 0.94 0.28 setcmykcolor}DC/Red{
+0 1 1 0 setcmykcolor}DC/OrangeRed{0 1 0.50 0 setcmykcolor}DC/RubineRed{
+0 1 0.13 0 setcmykcolor}DC/WildStrawberry{0 0.96 0.39 0 setcmykcolor}DC
+/Salmon{0 0.53 0.38 0 setcmykcolor}DC/CarnationPink{0 0.63 0 0
+setcmykcolor}DC/Magenta{0 1 0 0 setcmykcolor}DC/VioletRed{0 0.81 0 0
+setcmykcolor}DC/Rhodamine{0 0.82 0 0 setcmykcolor}DC/Mulberry{0.34 0.90
+0 0.02 setcmykcolor}DC/RedViolet{0.07 0.90 0 0.34 setcmykcolor}DC
+/Fuchsia{0.47 0.91 0 0.08 setcmykcolor}DC/Lavender{0 0.48 0 0
+setcmykcolor}DC/Thistle{0.12 0.59 0 0 setcmykcolor}DC/Orchid{0.32 0.64 0
+0 setcmykcolor}DC/DarkOrchid{0.40 0.80 0.20 0 setcmykcolor}DC/Purple{
+0.45 0.86 0 0 setcmykcolor}DC/Plum{0.50 1 0 0 setcmykcolor}DC/Violet{
+0.79 0.88 0 0 setcmykcolor}DC/RoyalPurple{0.75 0.90 0 0 setcmykcolor}DC
+/BlueViolet{0.86 0.91 0 0.04 setcmykcolor}DC/Periwinkle{0.57 0.55 0 0
+setcmykcolor}DC/CadetBlue{0.62 0.57 0.23 0 setcmykcolor}DC
+/CornflowerBlue{0.65 0.13 0 0 setcmykcolor}DC/MidnightBlue{0.98 0.13 0
+0.43 setcmykcolor}DC/NavyBlue{0.94 0.54 0 0 setcmykcolor}DC/RoyalBlue{1
+0.50 0 0 setcmykcolor}DC/Blue{1 1 0 0 setcmykcolor}DC/Cerulean{0.94 0.11
+0 0 setcmykcolor}DC/Cyan{1 0 0 0 setcmykcolor}DC/ProcessBlue{0.96 0 0 0
+setcmykcolor}DC/SkyBlue{0.62 0 0.12 0 setcmykcolor}DC/Turquoise{0.85 0
+0.20 0 setcmykcolor}DC/TealBlue{0.86 0 0.34 0.02 setcmykcolor}DC
+/Aquamarine{0.82 0 0.30 0 setcmykcolor}DC/BlueGreen{0.85 0 0.33 0
+setcmykcolor}DC/Emerald{1 0 0.50 0 setcmykcolor}DC/JungleGreen{0.99 0
+0.52 0 setcmykcolor}DC/SeaGreen{0.69 0 0.50 0 setcmykcolor}DC/Green{1 0
+1 0 setcmykcolor}DC/ForestGreen{0.91 0 0.88 0.12 setcmykcolor}DC
+/PineGreen{0.92 0 0.59 0.25 setcmykcolor}DC/LimeGreen{0.50 0 1 0
+setcmykcolor}DC/YellowGreen{0.44 0 0.74 0 setcmykcolor}DC/SpringGreen{
+0.26 0 0.76 0 setcmykcolor}DC/OliveGreen{0.64 0 0.95 0.40 setcmykcolor}
+DC/RawSienna{0 0.72 1 0.45 setcmykcolor}DC/Sepia{0 0.83 1 0.70
+setcmykcolor}DC/Brown{0 0.81 1 0.60 setcmykcolor}DC/Tan{0.14 0.42 0.56 0
+setcmykcolor}DC/Gray{0 0 0 0.50 setcmykcolor}DC/Black{0 0 0 1
+setcmykcolor}DC/White{0 0 0 0 setcmykcolor}DC end
+
+%%EndProcSet
+%%BeginFont: CMBSY10
+%!PS-AdobeFont-1.0: CMBSY10 003.002
+%%Title: CMBSY10
+%Version: 003.002
+%%CreationDate: Mon Jul 13 16:17:00 2009
+%%Creator: David M. Jones
+%Copyright: Copyright (c) 1997, 2009 American Mathematical Society
+%Copyright: (<http://www.ams.org>), with Reserved Font Name CMBSY10.
+% This Font Software is licensed under the SIL Open Font License, Version 1.1.
+% This license is in the accompanying file OFL.txt, and is also
+% available with a FAQ at: http://scripts.sil.org/OFL.
+%%EndComments
+FontDirectory/CMBSY10 known{/CMBSY10 findfont dup/UniqueID known{dup
+/UniqueID get 5096657 eq exch/FontType get 1 eq and}{pop false}ifelse
+{save true}{false}ifelse}{false}ifelse
+11 dict begin
+/FontType 1 def
+/FontMatrix [0.001 0 0 0.001 0 0 ]readonly def
+/FontName /CMBSY10 def
+/FontBBox {-26 -940 1332 825 }readonly def
+/UniqueID 5096657 def
+/PaintType 0 def
+/FontInfo 9 dict dup begin
+/version (003.002) readonly def
+/Notice (Copyright \050c\051 1997, 2009 American Mathematical Society \050<http://www.ams.org>\051, with Reserved Font Name CMBSY10.) readonly def
+/FullName (CMBSY10) readonly def
+/FamilyName (Computer Modern) readonly def
+/Weight (Bold) readonly def
+/ItalicAngle -14.035 def
+/isFixedPitch false def
+/UnderlinePosition -100 def
+/UnderlineThickness 50 def
+end readonly def
+/Encoding 256 array
+0 1 255 {1 index exch /.notdef put} for
+dup 110 /backslash put
+readonly def
+currentdict end
+currentfile eexec
+D9D66F633B846AB284BCF8B0411B772DE5CE3DD325E55798292D7BD972BD75FA
+0E079529AF9C82DF72F64195C9C210DCE34528F540DA1FFD7BEBB9B40787BA93
+51BBFB7CFC5F9152D1E5BB0AD8D016C6CFA4EB41B3C51D091C2D5440E67CFD71
+7C56816B03B901BF4A25A07175380E50A213F877C44778B3C5AADBCC86D6E551
+E6AF364B0BFCAAD22D8D558C5C81A7D425A1629DD5182206742D1D082A12F078
+0FD4F5F6D3129FCFFF1F4A912B0A7DEC8D33A57B5AE0328EF9D57ADDAC543273
+C01924195A181D03F5054A93B71E5065F8D92FE23E7F1981C8F40F1F993AFEE2
+6663A9C974837528B6ECA4C771A5AA1D8EEBDC8D8F230940E0B28324CF6175C5
+13ABF95F5AB967FBE9A70E9E31EE0802E3DA88A164DFF2168BB7EA3A7FE5B39C
+EC363A72004964927B96D0263CF494776902D1DFA75E191E349EACEA2BF18F99
+91F89CCAA0F0FD5CD2AAAC6EC2D24886CE7F292101BA85D6DF77EE64DCADA35B
+5AE8AB39F88D42A124BA0A01A9FB6EE1CB0AB7116539B049F6897D9ED299EADD
+537CE884AD6CC6F4E8AD57A6537C391E499820D54B4C5ADE9DFA7CDF70E80971
+ACF82446C2BF347F37B3DB0275E90D3A93B2656DEEECC3DBD94BB29A9A10831D
+20C75C68766D26284478A5EFBA38D2A9959FDFDA137F6B5110499BCC7EAFF996
+E8DFC89BF2D8AD9E201EC10F4D88FCD66BB255616E26D330E2D01F6E9C042E3C
+95374CAFA75F85775FBA913F648DBBDB16B0B9D62AB99880E42CFDDEBC0AC2CC
+2D639A9939A2A86DF0A658791063AE2558F18FFEB2591B3135A7AF156933A837
+3010ECB98263C9BA09FC92E8FDEBBBD5D32DF1C51F6FF00011B3E140F2829438
+45500A0BD86905E54A755044217D769973789E1BD6E12F1978470D204BD5482D
+0A77202D32291F70E746BEACA76CD32202CBD57B08C85E137F6C7BCBA00D5488
+1EB0CD5AE282D7F502D5982DA0E5AC1C74EA1F7FC9E52320B66C7A3D301BF53D
+ADCEDF4544D7699EED80E0D902A27A9822C218432F64D603C3232D43A0C87F24
+DCC51C9675CBFCEFE645B1621930FB3F98C7C334AA07CC79CC83A9B57AF6C3B5
+C93D88ADDF291551897E4EC9C84D1B0AF2A4D502F23BD7735E93F39A69D2A6D5
+8EEFD17FF5E01CE0F7CFDE75514F6E3F95F514D3E6F26444D889C4A281960151
+3348BA94446086FED942ABD4ACBAE6AA7C1505D0BC3693A548C47F021A98BB4E
+980E6EC4EFAEEEFFA0470F211F401D2A36C02F7DE86038336D51D8A37697280E
+FA0BED096A6722616573A104D7DA05F92F91A5A06B0BF90C512BEE37713B3705
+8D4FAC7F82FAABF0DF318B71CE7F6EC0DC653C0C34149D3404EB4EFAB3A48CAE
+A2897AF05D4739613ACEAED6686775298C22445C7BB2237F182C18D510C36D2C
+6463360A7DC14BB92666F2EA374E6E214B2E1A017CBF0E9A09E57D2AEBF6030F
+22736461C4EF4D42490565E33258C012F44566E1EDA3122BCC11717D787C1DCB
+813A52990A8EE6F7D55259891FFE54CC88CD17B802ED59F9DB82DB76E604EBB5
+811655E1E4EA63DA8ADDDFA4FE73D029FE3FB444D97C335D4FDBB75CE5E415BB
+55810A673A2871287C760C036153D42C1F8ABFE84B2F146E547F526A29ACB9F6
+C8410C6A407B7FE801C4A0ACD90C872BA790A05174FD6390DE7CD00321CC3263
+1F367C03359A3B99D934942718E5C7AECF0C5DE79DC5FE2A72C4C0D28F825986
+B86B04C0CE65155256E22450810280020D6AE77B26AE0726B21B35782DCBD4F9
+228F1B25CFCB0D684F88A41A5F28B97D06C89EA651C6950FFCCA7DFD239DCE7F
+0D33A1D94BAA633FF8BA71583845A10CF9C2B1501B34FEA60BD85DCDF3EC60D1
+0F902927A06EB13FACFB2DAAB4F4D982FDC97B3CFC66933EE781ADB8E291B933
+A77749B9090686AD1F7F3D50B506D66C2B802EB5D44F9BDFAF39BB0DF19F2154
+B681C58C65946E060BF62C8DE8E675048BB5CF44BA00AA46E7D31DF76FBE3D9B
+0203650A69A157A02C584A2285506B4D4E82BDE9ED53251C9F17B2370008CBA3
+6A75D3E1F3ED813FE539F30F47438FABB041498DD26D4FF92B196F37FC3D5A6F
+3685B4EB5DE1244D71612B9606975BE8F01318D0A4BC11CC2CC5F987584C31B4
+1D044DBB63E19A372C262362AAC74DCC106BA3C1A550835A7E941F64BE66D844
+4EED098BC76CA1EFDA2ECBED53B9C8BD4006D54C7632E9DCFFDED29A966B16F7
+EE2A6CDE7860E7A8EDC433146666D5EB32706AA39ADD4B1C437CBDFC45E842B6
+EC5270AB9A27E2406AA3576B416D98DC00F0E26F80442701FC9CA33919D49CC3
+F4C1DD4CFE9555AEDE578017E6AC1C70F9139724895EE0FC33B4D8D953CE8815
+D74522F8DDDE40B5CE3D4A5AF4AF3B088F3B6257B5A45262A3CEB57FA8AC30CE
+8797590FF418AD3A70BF9AF86DD803AFC54FB8479E70E3871E9260DF1DE867EE
+DCFFF387C24459AF4E75CA253E79E7E1E1731D779D84AD19E4DFBA9BF723C117
+8F8E57EEAA2B95D724A655C148148D825ED632CED3F6F116D884F0D8DF3CDC0A
+B4DC36330AAD8585A4621C569A355A2266E22A68DADB1A9DCB62202BC12E5001
+DD294669199E3263FD6FFF7C3741B8A58BEB0C20F7B4474151F5397C71610CDB
+83E473B9D20A72B97F4997CFA6B88D06EA84FBFF57D5F619AAA673FC009783F7
+19A262171E4905FD0EC3A7A74518C45C6732DF7BA8C0954876B9AC8AFE58609C
+ED1C0AD322A9DE1A56EEBA1E37E3FF0117BFF0D64C75F1F33EFC898543B441F9
+6738C7F0B6A472E4C0A625CB46DCA876650C6A79C97013C8359A8672F0E26EC8
+FC09B106D1787C92DDC0CAE81B2E82B33FFB755895940AFAA5D52ABD6D19AC30
+232B61BDFC06FA517BB2BE5707F404614AF720B918353C6BF2CB8269ECD05FB0
+0E2C574A191A260BBB6CFDD1AD5502FC9A6CFDE8E792D53B8E3E21956C685AB2
+BA5966C0F3EB320F5D58DCE088F08DEFAA740F2B1BBDDC25524DB4EE35039AD4
+C0A352240CC30769723A3F316E5B584DF5C848E63FE412DE0B0D77947E4C3166
+3C6A846B4BCE9937A277919F800E3D6EEA112A8795CC7BE90E3541315C723BAF
+657E2B7DC0CBDD9EFEA314D471896E8C7436D21402329D9B03C23227728EC3EF
+1DB8B8F8CFAA508EC7DC7D6A832FFB65950EFACAF9338BA66304502988E1A6BE
+A8536196DD74E852E25E534833107F9EF48F2DCBA19775B1CA26F7FB4FFA3413
+75930799EED87725F8C7D1B4B6C2436C4896187ED894042891D829AD227BCFEB
+BE1B66E26AC4ED27F134BE3DC1B0ECE42CC85E1DBB4A329E3DC5A24FF1E440C6
+BDA63CAF3A4C3D10793306D1F05551F34BA5301F54BA9BC9DAE583B63A881161
+B3B94A748288D7E12CEA01DED91BBDF714EE060521B08A8D60E5B3AC1D88705B
+FA509208296F41FBE987EFAD10DC56B07C9F9F6F04AB3800A7592EAC565E0B11
+4FDE0724A0047D87D9D1844B83E136CF83C85497BA683B1816AFF7058448C29F
+F0682CDB58EBF0D34934B4182A6737D546AFC46C59C0568A18EF77D810384ED6
+83B4506173313939D36C0D8746ACC0598D3AE26C0011A729A1B2C09D87B69631
+BBAC5ABF5550B41EA682C5B4236D50B27E32C025D125E83CC29B5A5FA2BD3136
+44EE2831EF9CCA6BDEF824D90A21F3469195538C90E7AAE8D6555146D7942A99
+0C42BDEAFC111848E0A6C13DDC57BB0F835F8318131837843FB6A1AC331E881A
+EF72171581008E0FCE9A55130A5C3FEA9D1F37FACC97F618F6F7454F56DE9D5A
+7253AB242C2FA5BF3C2455DD98D21D8095A160AD2911193D5966B9506EB4C3E6
+E50A07D4F496A6BDC13CF3BE724C401622DFC61F6DD475C39CD2FEF75699BF28
+BB90E193425992AA8B7A450C58F8A7FEFC7CCD28E4E4F57B456C72EDF6682F92
+90B0A8318C12FD0217A2D71C0062CC65708DD051487AF8FC707CC452AF4F25E5
+EA75F2BED899C966EC7B4EEA8034F15F1A67562984343A5E5CA5F45BA341B848
+F1CA442AE3E6E334F4CE114682AC75AD69F3734AA741A14E10786E0C91188689
+E08A372C956C99922730540DCC4BEF927D2979DE1EF562C82988BE92AEF5E44A
+C2BFD2D133ACDF2CB3ADA52138D1BFBAFC0B37FEE219549D5000B5EE67A7A6DF
+3F51E507A66D27E46A90124A95AD04C92605847818F36EC49014E6C68190EC88
+F0D2543250E1E4C511CC9401B9FC9B13EE5FAFD92BD3D6487A4920149B3F8551
+5615F97ED41AFA7944FD6B45913D46B6108E2993E9A30ADC07618DCB65888045
+CA6CCF99EA1BB18A13BC24E3E6787EE8C3C8D568E1CCA938D0221FB77C9180F7
+C00D63B362CDFEBC665D3C38F70937411701505606277E6FBF7808DE6FE0DFD0
+E554AD42693CC5BBD5B6389DCA7EA68D67B38904158BEC5423545C19E0C81A34
+8EBF5147B79876A84AC3D0A4D1AE373723B1A6177757D1D2D52E58D6EDAB3C54
+E4B4073DF4937D0CBDC2F7CF6CC6D3BF9154315E3F63BA123ADE18B8915C8765
+670F8AF5A38DABA191C13038A054154FC34FCB179957036B4E13C75DD68CAD95
+2C8099471118F55FD6410E1D2DD31DD3FADB4CD9826FABAE131F227566DC65BF
+218AF5C00B3FEF3BB06C05438D73DE938607DF658AA258582C140E5F323C6300
+D265964ED3D5AF3C584AE7DDC4C7C6A08128E44499C6674B5539D64CD8A7EA5B
+F28CEEDDB9CC188FF50C6FE9DCA874AE0050D70077C57B7244191E5D05FFD879
+24B6F9AD29267499D2905DCAC5DB67B68828C5A9A9F77ACE493A864D22F607CA
+BED0E9370928D9291F27B92037082E9CB7A9B6ADBF4D1E78F718699B0044924C
+566BD16FC63DC2EABD8B57E8A90E65ABD6974107B6D9B3081CA47B122A984B87
+3B46CE68DAAA56C4AFD42D5B1571D915D24B37050BF852125DD05BCE57097C42
+A5C80E741E0B78116E74110DD0DB975CA505EA0520FBB638BFD81D6391C93B3E
+FD15023D2ACCE8CFFC4880EB579B16D9EE06F7E9AB2101EDD90ABC95612BA11F
+7183FB49AA6D12C2AFA977825F90F2C3EFE48A15DEA7C3EF1F353B0CD7D8290C
+F5C13A3B49712519B43FBDE68831F78092AEF9B693F4EF692318C3B5EEE0D386
+37F005B14A06B02CF8BD7FCB2754BFE26AF95D4F53DB5482F87632D04B55FBE4
+0A5DBFE3B16C59FF330CFD18F2E57399A0C5C2E59A022221BD6D7BBD47479633
+24258241C5353E9A7034B3E80FD9DEE30542C6F3828D241D2DCF02D05572D765
+CE047E39E15F97815A0229B48D47003D007C038A701B426F2E3C802694CE942C
+04674B0BE07B47695635E22603A32CB5B865288667E552CF096584C8D3862EC8
+F03A973E2521CE26D43692E077AF754B6D88DEF4201269FC6D8794F1C0656285
+0D4361E39969FA0693C7974538AC20904A1E453E40AC1540BC50CAA7C7505CE5
+61C6DE07021BB243916D46EB2371FE0F399DCE8D40EF3AC639E163D73DBE59B3
+9D1017DB135FC74DE810CD31C8295FBC3A6D4F36EF40D7B9FEF70122809FC499
+87C1912649A977C94128560DEAD116F044FB138FD90C7EF1857EB25BFD694089
+D60132A499D84ACCF0F0017D200FBE0354AFBFFCBD14F6F6B363C1108A05D0BF
+D4F214B8F0EE49C06B20E05F116FD4A142F936E2740ADEB7CC2E4C291926B066
+C8F1017272042E5A7DAFF4C7275364754F99ADFA14F8377D41BCFA9587CD3896
+46359AE0771230E0CB26818EA69AFE994E438B8BF71263EA0009469DBA246AA0
+EF1C0C02C0786628DEEDC78059F97363E03E873E51C2A05C425748806ED13BA7
+7100488F436820DEC363DABEB2F958E5B358E771B25F7B32B80C6E9E67DCB6C1
+DE96E0EF6ADFED291228CF2E291B38501CC5377C78487AC3D53C1283C81BE59B
+87F2C053C551628E29EB7FCDC9B38C8C295BF79A73BA852BFB4768022F19F4BB
+AF0D753BB151A02E889F9BC3CA803CE35C796879C75EFE5BFA0F69D3BF25ADE2
+D4876CBDD76D870794F6182A6D0BD20744FFD00A0E88AE2FABAEC05AD8B20989
+EF38B1EE71A79C80DEEF573D7243787D710D1C4FBF9D7993F0E4900DA616AAE1
+189AC104C048CDF3E1C34E3302F8244D2F27ACE762898C0814A6584C444D3B4F
+249F08A7812ADD85C3C2F9A96E473BE9E2A22067537220ACF7BAACA4CC005DC4
+F802046BBABB2E5D0B4B6C4D45A7012912993D9A93181711962F5C593421732B
+1B17C5255E0201E7B07722B275CA3759427E1A8A62EEF25652B0C2EB60394D67
+5FE7CE796275345A29840F9F3A1A345CE0D4988F6F83FC66522A41E2682D0698
+5145104D457FD4FC10FD1DBBEDCBB0DAD9D2A87128C6BBE4CA9E456FA72DC703
+80FB474F8137F48D5BE09158ECB322D11AF532C2CB27328E077B0010A72FE439
+C52DED6E0858634C558E0BECC26456BCCF0D12965418650D0214522F37BD6A66
+F63E92A064A30E4D15948CE14C28311DFA579FABC642FE75E3B0DD584A4F5732
+4F5FBA18AE12FBD20B654F98F8618FDD25F42AC897F9B6DFFCAE4DB7BF3FCD84
+17593F384793F25C752B95939654014E202A9B7C21B0DCEE1B95DD653694B752
+E7411A62397B71B9D0436A4B854353CBD2E52CE87B78A47A1132B98E818289F9
+35A6FF0120957DBADA7277779E846C0EC537E9429FE7121B58DD423EF73876FC
+C20BC33A7B0926A4B2147E19C4455E61052575C2356ED0B34DEC0A0E9AD99DD8
+113FAC67594203F8D0430C3E05D913A10DDD0A35188DA48BF79F4DAA2B19E099
+1A67FE98621425B7AC2C56054B241A02EDD5ECD11A866F1860D6BE46C8997B35
+7C2AEDB0035F82D94FBF48CFF7157B2874A92CAC0FE685F1062F8BF32807ABC8
+A11411FB3024A165749A18F2A6B70D7FCE13E0EE7AA3E6E48E68D835B6A66232
+EE3DA36DB906BA94134A59F53F4EFF4782B3B7F9E80CE94E356A0E9ACE11DC31
+9852F9C280A369072CC2784A98B60B53BA73139F1BC786B7DBF62AFE72C8EF64
+1F82CDA5D7F337734509CFE6B783156973A1FF02C07EAAAE06A07CA57FC70010
+DCFB7CE05214DFF8D7A09AE329D8E030E5DED1F4148C2DEA719489D77774EE4C
+3EAB71B8FCF8367A10927368DF465A4CE8F389829DCA75651DC6B19D0F8BA3A1
+DAF8C0B05593ED1A1DB7AAFC0BCCDA1343D71602627E233C30B23F7FC9CF0D5B
+B460A365C760C2FFB4E1D9F57E0B34E2510B5D0E097915D4BADF85F47DC7F494
+7CE354972CE758B722416B636C056361E0CF130A54C6DD30FB81AABEA1CB087F
+42300CE35E132DA10070464A16034E67AB05F7ED2EEC9F0758F9E0ABDAE2B705
+85A861523B1372CC8FC03CB1A1F6B6DA1D65958175DAEB133892BC804EAA6CAD
+24EAE1044D2BFBCEA0F6EED8894CE73539947678F01518EE021061A1A3889CD9
+FEBA798C324FC1E8B3A7049CAB9DEFF757C5D021C3E35B4970A8426551E50D57
+21891518DF3AC30577D0A92A58236DFAD603D454C627491CECF9B6ED2B7D80B0
+B57C50978E5EDDDC7E692FECF444E20470FAA606F25FC03E530E49115803EECB
+321631D27801BF5965DD14F27161C8A6A717A2C6E3F4981766FE687166ABF4B5
+FC4702CCC77A0459926CD934B73EC2F1DF68623214E5AB44C8238DAFB65F4EFE
+5CFFFF6DE5463CABCA2F80FAFC70BFE5BF44E3290B49B22B26FBB8684A55391C
+E360A4E00107FF99F7932692E18CBDC98E0D1E8BDC17E25DDB3D509828B84FFD
+AB9AAD81FA94AB80A0EEA8656219FBD42B797558BA77BDC92ED6AD6EF95BEC65
+8A90EF090A7B6CED016F31BE8BBC162BDB5BA9BC8633805116C2FA35D00CDA68
+145F18F1CCE9EF7877E48FA94C6E355CD62A18E5FA65F129DA02DEEA576F5408
+BFFB787A0886352F140BEE54DB652847983EC4C496D624605130D5720A1447A8
+0953A5DA2523D7BF455388D404BCCE6F0F9C9BF2068808C2925DEC63E9297ACA
+9492AEB601D13C8467BD9E96205CF12467F19D11D7D9BB39FDA7014282B3968C
+B90426920B4E39E93B3B5472FDE51BCDE1D62A112EFB9D4A8EB84608A569F9A8
+6FBC14B13F18D8048B24FEE12DFB9D84EDB11E86C86C3FFB00BC61CB128A9992
+AD41E45E32B64CB012943ED54A23C40A8541D33170411E8EA08BAFF921D2DF6B
+CC3895D5068C0F9EC39CB941E19C00BB1712A05D62131C74363D5AEB66639D0A
+B4596736A075B5BE9B0F4176DD446BEA201F7186B280579E43260CB3FBAEE711
+CCD55E0C1596A551F16BF0C192B34A4D0FD20C3374D79C66E6398A5A92662BF9
+68F0104284E648CEEB1DE17D1C9FE98AAE0143510C24FA6A8F7DCFF9ED88F094
+2AF52D88222B3062F273865D2DC75CDC01B3ECF744C2C489852751E1D22A86FA
+2EDDDB20CCE1B0CF40A3CB4ABF4B593EE6A88D5F292237DFECD1F7C19E1A4C86
+5305FF2762F2F4AD43E2C2514DB2FF90DAE6
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+cleartomark
+{restore}if
+%%EndFont
+%%BeginFont: CMITT10
+%!PS-AdobeFont-1.0: CMITT10 003.002
+%%Title: CMITT10
+%Version: 003.002
+%%CreationDate: Mon Jul 13 16:17:00 2009
+%%Creator: David M. Jones
+%Copyright: Copyright (c) 1997, 2009 American Mathematical Society
+%Copyright: (<http://www.ams.org>), with Reserved Font Name CMITT10.
+% This Font Software is licensed under the SIL Open Font License, Version 1.1.
+% This license is in the accompanying file OFL.txt, and is also
+% available with a FAQ at: http://scripts.sil.org/OFL.
+%%EndComments
+FontDirectory/CMITT10 known{/CMITT10 findfont dup/UniqueID known{dup
+/UniqueID get 5000779 eq exch/FontType get 1 eq and}{pop false}ifelse
+{save true}{false}ifelse}{false}ifelse
+11 dict begin
+/FontType 1 def
+/FontMatrix [0.001 0 0 0.001 0 0 ]readonly def
+/FontName /CMITT10 def
+/FontBBox {11 -233 669 696 }readonly def
+/UniqueID 5000779 def
+/PaintType 0 def
+/FontInfo 9 dict dup begin
+/version (003.002) readonly def
+/Notice (Copyright \050c\051 1997, 2009 American Mathematical Society \050<http://www.ams.org>\051, with Reserved Font Name CMITT10.) readonly def
+/FullName (CMITT10) readonly def
+/FamilyName (Computer Modern) readonly def
+/Weight (Medium) readonly def
+/ItalicAngle -14.04 def
+/isFixedPitch true def
+/UnderlinePosition -100 def
+/UnderlineThickness 50 def
+end readonly def
+/Encoding 256 array
+0 1 255 {1 index exch /.notdef put} for
+dup 101 /e put
+dup 109 /m put
+dup 111 /o put
+dup 118 /v put
+readonly def
+currentdict end
+currentfile eexec
+D9D66F633B846AB284BCF8B0411B772DE5CE33C33655F6FF751F340A8D6C01E3
+2E02C24E186BA91B34A1F538959D4450CB683EAE5B034D030186901B458D3777
+6B3942BD2E07121385120248891AEC2EB33C4E3A0CF00828D0F130C31A918C18
+979FE94379C648EF21ABF659253E43CD1253866F157F1DF85AE7E8714F061B1E
+ABA3AD094FE8D6293916FA82EE4F486C7E513A06D4C9BE44306A8287970B4ABF
+B6D1F9274A5A0BB6ECF713ADBD1260D5D6C4420D357FD486470A74B2F0621B59
+A9373ABECDBF32FA68AABB66FAB0C970A3354A335FEDD513EB6237AC8EFFB213
+218B5D59505B920425C46EA55A185ED268DBAE2AD127742473FD1018459B7E12
+C21514D99DABAD554C53B868D24B881AE68B52684362D1AC0E86836194E335DF
+BB6D37A7215F8F4F5C816783BCBD4DB6838DB92C13E514A1CC344B43D8B8121F
+7C69BF2259D61B264AB5259DF53B7CADF565BABC47F75C56305448CDFF06E869
+91043B33C8FF9455A99BF35290E48EA7FEE38D35BC1A968A6B9489068F78E17D
+B4634A84F0ED0F884BA33B46FCE57168E787167E0A1E8EF21F7698BBBE25E23E
+F3D6F8957E9C3E858BA10AB9CCC45271F2B23D423AC0AF934ACE0FF6FDC79523
+20408F919B960A276FA88933B9920825E602C570CCE4C18BC4035BC59BF4F87E
+6D05BE7CB7D0A77A6C8E666D73D216F04AB820F477809B8410941E00F743FB6A
+55F98519E4B6DB552CCC264132BA31893928998BD1B95EA83246E90359D02566
+715AC489733A797E2532AEEA34F3702B8FD10B35803063296A3FAD8DC11C0D62
+13B2882C4C9B090AEA4097302239EC457537EE7B3BE94AFD5A8672E6069433AD
+EA5F9A60B8DF0DE474067A65F1A845949CD12CC4E0919CB7C50C0C23AF8D6365
+083C3D64103949AAD9A71FEA2C70100FCEE6E7DCF19A7AEF7584F329DD12DCF2
+E02635F8710D976F815E76D3F3CF476655494394B44FADD9A9524EF08FC31EFD
+A32B97875B55234F019F32EE4AD722B6669E27C2A629C3F170012C9AC62F612F
+2A54F7B1EAB87B8ECE7B64A3BDA7B6BFD5B6F3F964656AE949F91F216FB70770
+DB9F68C91878C624762DE0E5F88FD8EE7E81AEC130A3E16636E7B4A29D61E377
+48CE08A600644E87EC7C623D0E89C4409094CD552E29288AB0A00896501F5CD9
+9DE77FB580BF8B2D7DCF78C15AF1FB203F796886674DACBD96367DEEBD5BFA25
+882B6F2E8AD884FC8A270C7616030C605A0DA56B984F556E93A47F5FC7634DD4
+CE9E6CC4E66D21A6BE4ED1CB9A5D207D683133656251216BDBF602CE887AD86A
+5BE726F3F42312EBC0E6BCA0F7B977B04020976AE645E81615B97777ACA7E0FD
+E2D1141A55B77E3CB0CA12FDD83A3CC1E02FB861F308A98441BF6C04744940E4
+F84844E3B080D73EF1936BAB7CECC48D97B5A45A5A77A7B857D05330ACB17FCF
+68C5B21FABC42A6CE9407190386CB7AA5F0A6289DDFB14B96B23AE6BEFD37862
+AA7F9528345FD6C8D39A1E1DED1586C116999E2814B766C40438E39F34A75085
+BB270698021604FCB84182538D2681D1A74DD2AB8BA3B1733B83FB7E8B0DC3EC
+C4FF008A8123FA6554837B99CEA45EAB7595D6B66301B3283E6BAAC68263BDD6
+A4677B4688A41961D8F3DD41F7C98DD0E378E86399805BED3C7F2094799A6D55
+6F12BCB55622ACA35689DC28B483B1EFA92AA498392397FDCFEB513DCC8DF84E
+3BBA18AD1897FDE23694CD9A345A8FE2BBDB3D7710304866697AB434E00E25B6
+EE1A9F7CC52F5C3116FD20CE04E309C80686B4776EE0EE3A8C291F6451DF91F8
+DB8518100F81BC101550E55489E63B5E390B4330D43D50C2FFCB06C11403033C
+75C4BD4D99F026B42B7DBAB4AD474D0372538434CD9325430B6C2F801B7789A3
+FCF8AF577E2DDDBDBE807077F1E9CC656AACF1725E7032876163BCA87AB18BDF
+960DBB493FAE2F5545FB2C590A1C23F83FAE5C7DDD9D76E769450D62B65F9DC3
+DF90F30789457C79BAA616845548757F20B5DB7E22CC3FFFAD963956073465C3
+098121D9ACF63B89EDA479E872B989A471DAE3F5487656DB88DA93D93D4F8B3D
+6B8985B30DAC0BFC352DA5020395640A6EA78C35C42C8F9C2141A36D697B5E48
+2E5A6997597C555591DBC9CB3DE2076362E6DE45A2496F66B8E2BF5E336CA8D1
+2459D1159AB654FFFE1DC81CA4129A781075A18000DE7A55DC190259BD12CFEE
+EA18ED94555532135A6CE434EBCB33F0A41C0960FC3C199C4211A47CBE286A83
+AE7171E8964FAC8CD12D5769FA742068A3B19F79D11B2B31589AD7E5DD12E45D
+A4523125F81E868C6D812B500E1C69D03101EEEB207DFC0DF441C9C12CE2A34C
+5047F5A4DDB25B
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+cleartomark
+{restore}if
+%%EndFont
+%%BeginFont: CMR8
+%!PS-AdobeFont-1.0: CMR8 003.002
+%%Title: CMR8
+%Version: 003.002
+%%CreationDate: Mon Jul 13 16:17:00 2009
+%%Creator: David M. Jones
+%Copyright: Copyright (c) 1997, 2009 American Mathematical Society
+%Copyright: (<http://www.ams.org>), with Reserved Font Name CMR8.
+% This Font Software is licensed under the SIL Open Font License, Version 1.1.
+% This license is in the accompanying file OFL.txt, and is also
+% available with a FAQ at: http://scripts.sil.org/OFL.
+%%EndComments
+FontDirectory/CMR8 known{/CMR8 findfont dup/UniqueID known{dup
+/UniqueID get 5000791 eq exch/FontType get 1 eq and}{pop false}ifelse
+{save true}{false}ifelse}{false}ifelse
+11 dict begin
+/FontType 1 def
+/FontMatrix [0.001 0 0 0.001 0 0 ]readonly def
+/FontName /CMR8 def
+/FontBBox {-36 -250 1070 750 }readonly def
+/UniqueID 5000791 def
+/PaintType 0 def
+/FontInfo 9 dict dup begin
+/version (003.002) readonly def
+/Notice (Copyright \050c\051 1997, 2009 American Mathematical Society \050<http://www.ams.org>\051, with Reserved Font Name CMR8.) readonly def
+/FullName (CMR8) readonly def
+/FamilyName (Computer Modern) readonly def
+/Weight (Medium) readonly def
+/ItalicAngle 0 def
+/isFixedPitch false def
+/UnderlinePosition -100 def
+/UnderlineThickness 50 def
+end readonly def
+/Encoding 256 array
+0 1 255 {1 index exch /.notdef put} for
+dup 46 /period put
+dup 97 /a put
+dup 100 /d put
+dup 101 /e put
+dup 102 /f put
+dup 104 /h put
+dup 105 /i put
+dup 107 /k put
+dup 108 /l put
+dup 110 /n put
+dup 111 /o put
+dup 112 /p put
+dup 114 /r put
+dup 115 /s put
+dup 116 /t put
+dup 119 /w put
+dup 121 /y put
+readonly def
+currentdict end
+currentfile eexec
+D9D66F633B846AB284BCF8B0411B772DE5CE3DD325E55798292D7BD972BD75FA
+0E079529AF9C82DF72F64195C9C210DCE34528F540DA1FFD7BEBB9B40787BA93
+51BBFB7CFC5F9152D1E5BB0AD8D016C6CFA4EB41B3C51D091C2D5440E67CFD71
+7C56816B03B901BF4A25A07175380E50A213F877C44778B3C5AADBCC86D6E551
+E6AF364B0BFCAAD22D8D558C5C81A7D425A1629DD5182206742D1D082A12F078
+0FD4F5F6D3129FCFFF1F4A912B0A7DEC8D33A57B5AE0328EF9D57ADDAC543273
+C01924195A181D03F5054A93B71E5065F8D92FE23794D2DB9928A7C95D3A6E9B
+8E92F84CA0AA44461D2F4FA0F8B81C6F5B7BE98C9712BE166610465CF689DFAF
+27C875C029C0116DE61C21DA0092D029E7DBEDFDDEE3D67E6936623AB53FA2AF
+18BEDDD7AC19A19CADB6ED6CA7A26E6044BE414FFF59C0B98D5819A6B881F9AB
+7AD0D03BDD5CD309C67811D5CF0B93F6FDC9AE64F74ED4E81F2E18D880BD842A
+DAFD0BDF06300201C6946087FC0B999447BC370200BFB8CA420B668B32EBC242
+6DB1546A7164CF55B332FE9D239B65F532B69EF9F4F93828A44C8F5C526126F8
+B7A369114CA68D4F98638121F4E17F351723D9F1A902FCF087F94AFD23876517
+2D15B482AF2D68C3F31FFA864E031596E597882578AC7FB0DAE2A713B065B374
+3E2E72519ED6D50CBCA40A7275A7109A4F3ED8A4566AD8832890D3D1F4899850
+9B757442B7EA355175CD5D6D8B4152ED2D7EEB4CE30F174FF672140354046A45
+7098EC45B9DF3DF5CF7B417E201DA88308CEF4CED8E8903AF24FB8DD0187352D
+25738519ECBC70304F8F620CC45D2586619205DA3955696FAFFE2082402B3502
+CB682F410DE5FFE80A4DA3D3BCF02E35BD577D0DE55E7B8A33B7A2FD5136B5DD
+A0BCB61F8E7F4363C21F890CF287304DDB8FCE7FE207C0D160B81E7EA662BED2
+DFF8C444E19C91E72254257CD87240A70F1A964FA54ED9ECF27E27A57DACC3DE
+EABB92C085030870C6CF5C40B6E47F5C0AEB30E84A73ECDABB2D754EF6EA28BB
+16EBD6636BC288E62F4A38BFB55F5F4DD20FDD77D767F6CB52F9513E8EB75413
+07F1877B2C01278675177499E4E8EB09F2657821613F5C7643FC064293EC6E9E
+B519FFAEEA36B19C9D1302CF91FCBF87FCB57C5F995CB6712BB3D8681EB6F05B
+B2A4195A3C73CB4ABCCFB958EAC533BD89560D2790CDE1444C0F2E4EF27A529C
+F01052964E56F6D76A190E5FF45934BB711A3406284AF130D4DC0D8112BB3752
+762CA0200CA262359D4F54C0CCFA9A50DE18C7DB14419E2990ADDC4A54B94978
+D9174CA39434022FA77FB30179EF805E2189C35919F5EBE215EE2A00B4407826
+CE56329C5586D8B414770BA5D45513C3AF1931D632FCE69B4CA504944E03362C
+74A1177C6398A61A12DAA0F156543E2A8E9969C4308B7ACC21A5ECAC8F172541
+1B1316A88C0C163E574FFD3CD22FF08488662FCF2F9344BC25D02146F36CA6F9
+E2D0130C654B7485EEA9A110A33AA0C769121F81821E9A2BD062FAC158359D44
+3F9D9947200EF1EDDD5860F10438B162A69683957300C75AF7546C70C97AB2EE
+37EAAF0089E2623F787F252569B06C665FDB45EC9681C0774ACFBA76B98C4E89
+7EB12AA5F8798FFC110B49C25E3A483ABE83B0BCC6DF0578403ADC369E013762
+C9D08FC94D949BAE636ACA9F36F4E3F02296775A062077B011A705B6F1784D36
+A926622CB3847533D7ACB24A4EBABB14593B5D8E1DAE2BFEF8A51835C8D4E76D
+7543C126A4271C59A5881A5AF89331694F84489CA66725995DC3070F306EA447
+CF30F63CD476A46D528EC1FFBFB8EACFA2BEEDCF54C92CE2BD26DEA5827186BD
+3A4D1709415CEE7D51D671357B4A5D11E835F63521B9824EE5282E58F05A8ACC
+FD249461181A38C2F47BAC4E79BE368D64F886AA493C61CBCB2ED401C8AFBA61
+59CA6F6216D941A92AC52ACB3D7ECC28D6A58EF4CC70BA6DE23E80937AB38E89
+6F05FDD15B954C0826636267EDAF9F2BB466BF79D2E10EED9B04297E6BC93069
+79581ADD1A9D9FAE9306F46AC95B98C60A2E53D60CF1AA4069BE301E17E25070
+F98DD67BD8642B1D07571A32766072E48BF27E1576FFEED300D7313A358A823B
+49C8F135961B7E259095C9BB67F996CE0B90E95344F203922F47E11753F70D38
+2ECB615403490310CEE6C03AFA97DA2F47ED47125D110FA69725BA0018F6A40B
+29A307FDB3E52322A77A0102E6F57654CF1E96A134D13860D83AFA0A41112D3F
+2247A09ACF7D06713BE443FA27C7E7220E875965D53030FE7D2D62EFD2F1DB87
+5FB091FEAF599BA8C5167525899E578AB341BFE2BC4E53A047093168AE189237
+EA55F055514EFA939DAE9E859CB5FBCF37D99484F44FE5AA5FA386B28BB642F5
+5DBAF059A50FE96C7C6D834531D64F1F2E99AB2E96EE74D149178B1C0618495E
+293973D9A03E1790654B67C0882376ABEC17D74785B3737D81644F28B3BC6FFF
+F92FE29126995A07E0BC5EF3A4B93789A103C428943E045B8D1A5063AE71E806
+568D48072E53DEA85253B01DF0BB7367A6BE4DD7BE514AD74E3F77C825ABA405
+64DAFA25EAFF8F63344B5F6B523629776CEB090B546469F6A6008DE43072DD3C
+DEF51F62731037D1FBD0C038A1E9B669849EB3BEBA281624F13D20B61917A109
+A0A7871A73F7BAA18077360B38A4625C5DB9AB9E43BDEEB856FD0E2D3AA2E075
+267B978B9EB47F2369302E87DBD5D5B422830BEC32411FE75D584C58650EFB1D
+136FEB92B94BF8939FD63AFB7349C7511E5E46AA7324F8B1FFCA9C2A9E9720C0
+A720918E8E860F137567D386AC29870FD990BD69465B3A3D2A0ECF2753578AD7
+80DC87EBB319EB5AFE0B6F6FF8616EA30C51425FE3ECBC5F8D0B0BEFDEF32FA7
+D168B4E85C804B7326A0942CFDE732B1171C643452B7099B31649CA2C38B62FB
+46EBDF7180004C549B53F88021D029452C2B37D8C565BCDB0B11541039A13C0A
+E45D4B68C7907B8BF08C6F41F564B62BB554235D50330E78DD02795516D969C9
+66119D718798120442CB7EB9877FF84EC69DAE25F8559DCE3BD8042959F695F8
+2F99845B1B5680DDCF181D806CC4903E077D1FF5E60918EB34C0B1E028422B71
+CA63EFBF3F4F3CD813CE831EB54265A555BDD35AD7D723F9CFBDAB29C54F8AFF
+2D35C6A3299E0A2DB470C7B141B1E3E10DABB7873AE302926BA8743278FAA8C0
+DC6174501D6A289CF980A3F55F2DD5C3A514E7E7F13133C35D2697D64C25130C
+DB78FC997968D6B3BC929E8A31B6D212C5128E4412632BC52B3A1049F7F2F61B
+C74AE9A6AD19B9E2E240617E2882F7D29ED3A4279439107AF9AEBEE47CE85DE5
+CE9595A96A118ACF1EB1F5929930321AF7732E351E18C6AD378508E37B4C327B
+0E06AAE21278AFA9255AFE5C022034DA2968D260879B4B38E7EE2E11A593DC3F
+CE71ABA050C004473324CAB6F3C50E85DEDA3E9A27388D8FD3A8F6E42A79670E
+F7549CFAD4CCB337A6E0BAA4846ABCA059F1E1933CF11DC0FFBFF550CC4A1B47
+CF7BCE0875FA747AA854534960F757884505A5AEE0330179A9547A4AE3E68479
+7A457DE83326DC30B67F27CFD4AB697601CEE352F72F0966B3CEE3EA24683BEF
+6D23AD51B8432C3F0DD0D0F80791E1091F38988B7A54E466A9AC7810DE8B7893
+6B0AA6356597891D56190A7660BC7F657BC559E0525D41EC228078F2FBF89C6C
+72D666DAD838CBF0861FBF0A1D4ECC069AA49DFBAE5C56B781A1D5D79DAAC256
+13E3F9B928A2394FC71691E4355642764459714412D6F8EF803FC5F7353822DE
+6CCBB8FBE5AA1F2C7F4D384039D85E7728527DF9FE0239E2CF8BCB7411C000B7
+1FE660AE6A2A19229E5E8776CC83EFF3C27403935756463EB4721C51FE0B1197
+86C2F17842A0FB639F28083DFD4F1E86D7D3BEFA922514ABF489C5CCE93D6F72
+D2EAAE14F6CBA2BE4BBE7D7EA8EA19DB3A87350D4A52064137C3D15A5B05B03B
+70B1DA7328D10713B83974C390C3270AF5A9A47C0BFBFABB9F31063B0CCFBB10
+0F236C74446688198EFF039110F6FF42FA9F82D463AD3958B5FD205BDF85DE20
+FE3F0C7AEEF350AEE6DBC1DE2E2DA4F4599956F59D6F121F7086DC120416E180
+52DBBC4E56C09746938698860F30007091E1CC0351B43990E47208ED495310F5
+7BA9C6AB3CA10A3F1B318FD47C1CE3B9FF1304321F9623E32D315AA9CE64B35B
+F841E6C62B5B2488A311C94937879E5E0E170FA77AF0AC75C5E6E9F3E8F825AA
+09C1702682E14FDFA72D27901C5BDE009B1E52E8C4511C6F6336251BD45261F7
+401CA3DAE7C4B0CAEB91B9954BF4A97C48ECE7FAD401351D59DDAE9DA94E2335
+74A2B880E4749D3D7026CB5299F16C204B6E00A20A6619C34922C7D3FB50F127
+3157CFC08DCC5164C8023CD1B6C3556C73CB8E4ADA845339CA9BABA1457ECEE6
+ECB9849DF1F0FEBC89E5F97C92978A500196520839CEBA6C0FD2E3D27BB4B4F0
+93CB2BB565F4627C6DB62DD0E084E627D69B5DEF42EF094381B62C0D67EFD197
+301B132420F51A41561E6106870147E0D597078435BE3819ACF0DE28AD779847
+F3D2CF667DA06955D53E0204CEA2935E9E984E76963D3079EC092031E2A10E61
+1227E5EE6770DD4D745A52655369EBA06A19BD7D95BBA271E488241199D1008E
+36EA99F8DFD2A9F87B06B070158B466AA4C6EA3BA77DB0F853F0BF9A304EA291
+34069714368E0B94DFCBA3BE5EDB6C8204DFA7EAF5C3406F60A7056407D1BF6C
+CB85C1F432F97D821F5518BBA79AF8453A568FB2C2D025A70CEC75F46C545011
+ACE3A99B2582793BA1DC655230AE2EFD24DE20A01D4A441AFFAB7771F223FA6B
+9169849E727E494247F67D6E1EA9DCA06A082FE2094BD548AD7F08B565145634
+E7ED832FEC1378306DDC796303392ADB0CBA130B63B38ED57B7828B47732853A
+893E8836FE19CCF27002AE92C2B2CACFDF8A42F1B8066E033B965D2E9157FDF8
+E1264B40813C1A4CE424274AA3528A4F09B3B53DD4D23789A68B3D17BC1398AE
+0ADA2C2168427A49846DE0216908C2FFFEF4F13C1ECA12AD341E238EE46E6DC2
+B71B54C52659632911F901660261E493AE2483D64E119D9924489779B62BC9FB
+A052E822FD8D83178E09ADC825DF0DA07FCE7AD68EEB29FAA275A13691B4A5A5
+B0BC0499CD6307610CD6209583C1152C559A2760823F8DC0B9B990BFFE7B7E9F
+3969B968AFEAADB9FC0F1410EBBAA0DB979CF153F0B8C978405F8E6F2B6406D7
+AAFBF4A655A15DD6D1E9A7EAE10EF89264659B09283F50B734236885FC09FBE5
+98D780012FA77FCB19F15BDC522CC7312546C0730EF5225DEA8C22A3BC6554EF
+4FE73B9AEB5C2F7DBD474221760E5F539A064AC450591BCF3499E3968F2CBD6B
+F15BA2B37080A4129B66D4C2188524F025414F14DB3F96049A8B0E5EB2BBE7A1
+AD64A988FE875FE4FE5186BB4F5DDA16983CB052D474B7D72F3E8965663EB50E
+015C72407C3437142D3D7DBC055FA627139488DBC5A0F98D805C2143D99F491A
+167E07AF60EC9F17C36289368D740B632CB919A0E74C412B76CE7A5906D5200F
+9E79CEB9C65ADA3A0F23E8947E834AE7A329A9F0AA7A6BF545B1D7B4666C6522
+CFF268634EA06DB3A82D91A4C0A9B227E79961212881A54A6762C335DE7E0831
+130C45D94394D21C049B9D189ED955438C2151514F17BFC67E431DD9A8349202
+2F616AEC1C7B19F63D5000EB4771370924BD4B9053FE78B5E4A244B9A149D66D
+A8BF3B398396D2233E92E4A5FDC70FAADEADAFD255193D688842DBA865CF6154
+C9348D590F3FEB135D4B7BD4D76A52CB140888247CAFAB25ED51F4D187041CA0
+ABD956F83A5661CEC171B52AF92F9ADE27973B560C802E1E0FF51C4003D1289A
+CDD09F8EDA8AFDFF666D35418CEADF3B0BE298F0D1E5C8E024D6A2017A7E71F3
+3A9FEC9930F1118101E040339F9D41379170928DDF5B5875212B271DC843F612
+E0C21C67263186E3D6929160464D4D5C8928E14D0845762C36FFBDE548188E20
+3B6BAFE5EECA0385142F01216FB8A90C43A472C1D4447FE5C7C78CC088FC72E7
+3FAFA062C338BDE8A430FDF1951B107D8D73FF9376FACDE5900BA362C66F8C1D
+947F9545C5C13A53E4479B1C1A50472C05E8F8C266C6D4F4EB08E97B3B1BA972
+26973B844545089C5732322BCC9A5A8FC972FA0D7DB8BD85D2F515ADE65DA479
+0224F7EA2276CFED0B75B2C23AE7377F86F1F6F205D6FE19377D87E782143697
+984E731F83CA888199CEB425643C259D4FB8B58DD69A96085198306494BB497E
+FE7C9954EF35B679BBE3847A9C73507874F71FC97665E2A58BA41407A1745247
+44A79B588D969D11CE4B863CDA655DAA53CEA5C3C263B345E782006CE9831D49
+603D2D95DE9E370D617F5928BA416C362BB2B4DEF16A5D44BD24B34257765F3B
+6223B3F9B54DAED69A90C7050AB97B06693D253C6894CBD7B497DA449F1D9B7C
+D91B421891EC0724F59C82B9CB288DC42F2D2D7A7F22EE3D910E15953D7766AE
+276DABED3820390BAF2700C4653E1C77FE63DB71A66D93ED293E25B8412A1EFF
+809554BF04ED0DE83F7F190883ED793803CAD2C34A66524D3A580ACDF3C13B22
+08F18905E7A4A16DA9ED2A112462FB9FFE481EC2069E484E8BBFC19D594153B7
+3DED4C11762223B7586483B06BC164D824D1A6FCAE80A35DE0DB8B33396771DF
+76DC5C05578EF1BE00A70BAF3D951A01C87328DB2B0DAD6E1B4C21F37D1BC0C5
+A929BDE5EADF20DA60C4DE2E3C151005814F24824D33B95F700E09A0207EB602
+3EF60DEB1622B91DB99A855A8F1DA96358F05CFCEDBDDDFC8446AE3391BEEC41
+966E594E28D052DD5ADA49DFF65E79540EBE5329DFD86C23CC800F95221B9C18
+CBBF941D2FA47EF1EF59A89DB5DD188E75EE94AD2A79E2221107E5992C00D531
+2E00B544895A9204656867E3DE9D4CDB64B920B5CCA9A73E6514B36CABAE01BF
+94C15603B86780190595560F792E5EF01650074EA4A9BBC6ED284B9AC2020641
+DCBCEE0ED27FE58171DFE104EEE4202759E594159DF45113C00236127A46FB35
+9EC705F21C0E456C1F0F924594C09AC64D4377C5FEEF764BA4A09ABA8D09DEB1
+FC13B0CD202B2F04CF5D73DEAB65C36C2FA7C0DC236BEEF6D23BFFC9C493DC8E
+1831F19EEF81EEDD976E43BAC6B5CED13F901DE59835FC75490EA528A72CEB77
+24C38B258EC38B9E6B97F85CA8C10D8809BBE55A6FAA12456FCAC786942E123C
+06D1E55F7ED04400088BEC968BC5081DC7A1B1B65166E7821679F76694F235FC
+6854C8776AF855B83445D9FF919B1D80E98DE0741D06D6C5EEDB3E3EA6392530
+F1BA817737D8162F7B3A36AC2A03190CDEC654383E31934C3E0A012B639532C6
+26FEBE9B412F1C92D1943B7C18CEF510729D501349644C97F087F2F840074AE6
+D8CD0FB2E620FFC908BFCD938B675A0A4A687F7FBE8F3DD06A62D7B6DE7DF3E2
+49D367D60B10061EA86CD512F5A1BE8950D83C62695E130128E0037B62552D17
+064319BBB9B1FAB9D79705E5D68AAE9B36EA14BF1A59A863BDB8DAD9AB5D7B8A
+E30E2B499F952D65877C8E38EDD7DB29F9579D09E629AC188DB6A6403AB4BA3A
+D358B3770D727A2B77D84B6C9EC17E29D88E3421F9B7D2D822EB78BB8BB50692
+8C46DD6F9BBEF2E848A2B5669B200019802AD19661537A84D3514AEC5AA47445
+2C791E01DCEDF18D9506367241255FFADEEA6183F51A9F42448A7DE413C08359
+52DAD2A60FD606AFE14702BD3B0EC448720FE63438D020DEDFCDE3582FC31DF1
+17B25FC152789D2F17FD60B8209D292D2152DCF8D28B5ADC04F6659BBB746CDF
+145163361823CA343763AA951C640B5D4A99B7787105A1609EDD6A596EFC3F6F
+2AED1652A132D66117071CADB8603969B3A2F97270CF2AA8EC2AB890662FDBD5
+00EDD53F16FD0CE199660202373E2EA28D29245A4AFD3A63695F6178406A7234
+AB0C0FB1B19CB408E047BF014BBEAF4C9C19445C7819748F082C19E6E355EFDA
+BF1C2DC348AC0AE6777F679E2F62A0A3EB19B7F08114AE0E56A3D310D6958AA2
+348E1D304BA8C4389E525553A8791632EAE32B6E8D2193932B44D230FA17EDC5
+7D407CB83D2501B0D2C9E86FD23E21F26DBAE2550DD4ACA051EA0A0030107676
+3643176BAFB7DF0A157151F7625E63296E325E2C3E74BDEA10C3DA37A73F9972
+4821E1E756D3DE2C1FB121371432AEADF3328894170304038253421DEDED8B45
+D4B0DBF3B4F29F053C44053E14ED09E3E7A0FF377954754A34A9A04FE68A437B
+8306B8463247F1E670BA928FF7D401437FAA45A7875DE9FBE63BEFFEC722039B
+0EFA4F3DBBA7D50C464E3F297A0F2C1AC23880383DD1EAE1BED5DC11128649DF
+AB8C8D394E7EEEEA3CD2038DC582527BE93A66AF5795E3F8FB790158EAE26FF0
+3905C00431377233DEA8DBB68F708D35B86D297DAC95C9804D893D3A14B304FC
+A8383FF76E2DDED31E84457C936D03766AD21B45EDC9A9FA5D694052EB291880
+75952AA030C15A30D20FD1358CBB6146F9DAD481556EECE67927D5F8CD69B10F
+D72BD5379AE5BF2A3231E47737864A8B18325C60774C0AE7C8A4450684872294
+6879802CA844DA9C5ADF449CA39DFBAC5D5542D899D1E6C973F4B80DE989CB94
+570D29626046E2AB4ABACEE5F7D474069AD1CF8B5707A9F5FAED998FB4CA91CC
+DE3048D2581CD91E5C765B0F3B6CA0555DCAC85118CB818EDE4900AA906B04B9
+58AA62CD4914269D66E957BEA1C7BD760F800E992076B7BEB3B5B50BD4E1AB59
+1F8CAF2F360C1A23DE24A63BF77648C2241F1447C97BBEB48E81DF6B37608043
+6D7B54A6545D39927BFB366E03418F5C7B793DBB8E78EA4BF438B205FF5EA328
+FAE682E89E886BA5AE23227BA11F866D188C5DC1A32513CD7300590C4B809629
+B902FEE1B47554D5C15700F2C435C9A2E82E4DBCCE630C1FA64655CAD34E5278
+CEBD05AFA4FCE90C7F6DD39A029EA193341BA8C713A357645B914B3196F6F4D8
+C145234A9EF02365EFCA877D0EB5F098C675A8B1195F64242395E6C8A5F9A0BC
+06A7B4349331EC05E673FBD7FF781999561A9B4F8399FBA9D6F5DBC714E33481
+D63BF97BB47711622F24F9061D3460132BD10B207958079DD8D5C9484EBDDD4F
+094AC29B1132E7D954812C25889ECDDFE1B3A0A7B27D9A0A877F39E76F80B278
+423854860B154A2309BB95E9A7BAFD8AB3DA8708027B3BAC310742DC47A08462
+0A5A03B66302A910C1553D2CC5B8DE3187E7C433E08BB0742ED8A33408CE3F8E
+40AEB3429E5FB6DD0D5F15EAAE8DCBBE1DDAFEBB0BF520ED2B768EFFE157A294
+4FD0468084DF71016325108F3D6A523CC24466D3216FB0D7AFD9658AA4FC8B8E
+2F3920184AD084EFCDBCC13AF143CE64027061CDC632D2DAB5CDF53C48B66FEC
+14EE5B8B4FEA97576DC0F797623FB7345B3B6DA640DC41CC17A895EAE190DD74
+568FF298CE66E65983EA9C57C543920EC0E9164433E06D99E7AA18AA767454E4
+FD4A4609059899D1C8DA81D51157B3E2DEF33678DBC58C4DE519E88124AE432E
+31A5798CCECB82F25E02CDD7819787B54BFEF7B756AD77599093AFD8E4240891
+3A3D2E17624383C53D2169B2FE38ACA07BE197A22F5A31B75C709E8FF4358382
+2698E93766927D9368FB1960E07F08D642433329A12D7C4DD4A7D996CFEE01F4
+6638F1A7401EFFD3B3C5E1B9BE3C00FF47C35E23D75E3362DF32A2F97411CE6E
+6B4947C52F538CA908F1C64155258D60A9EFE65CB00E97B36FBEACA9D9710EFF
+326FF67B075F5E55B0718E2C64115ACD621250D24E6AF96B71E30F424D0A3540
+DACDB17948D434AF2AA490F34CA12F6967CCE517DE414FFCC30250ABAFF465CB
+DA4BBA353B1A64B306C21A952534187ABA62D8D92D4394B76CF0F9F77173C79C
+B70D9F928C276020105DC2CD91D0DB264115E2B11138848A113FB1AD210719FC
+935275CB4A4692393FF3E489A340CC42B5DDB6AE4C886815EA1607DE18CA24DA
+1C44C2D66C921DCA897664E85AABA1F85B9103EAED3DD2B610C8375FCE88F8CA
+A0FDAB31DDCCE7D4AE2B08390FBB94A589742461670ECA451E8CC10D9D601E84
+99A619A35562E61763B2E16E2BFD741435D4A7002FB7C3580EA493E957F2D8BC
+A6D7E6E8B8A322F9D493EE33B2E8483C8901A6762985014078148F8C4002FFDF
+98DEDD3F7D555214695269499F5BE540BA54A9323B92F052FA48DBF7C4445AA1
+F744D1ACB781FBED3D49FDA5C52892F9F68A83F46F9237452A05383CA4CFDB5B
+FCE93996BEC3AEB409BAEB5C5D54C4D6CD89E417AE4857303BC61821519A4A5C
+B8556BE6844611C2E41EA7EA17DA0BD20D8126DD9A75ED5B78C496425BDB7F26
+C85CDCA4D2EBE79C74C2A94A45B1F9FBE7974D0C01B247A22CA994C0BC2D5C7C
+D24D75C4865F6DA6ACE0BE758E285A29FCD98D690B41B839AF98084FA11ABC13
+DB7F414C115F814F59F1C075601F492D633988A8BFE43326097300E9228387B8
+9FDA2BAE42F33C6C8ACF740B9E7D1E8AD297BE0BC02F1E1630E411C1E83873E1
+45AC686DE1830808839F89D5CAAE4DFC732EF98BC2C387C8C794F6D137DA92A6
+5511205F86A4F3914C1F82DA23DB341739B4A217FF5D5571AAF36D6C02D75CDC
+81A31CDCD983220249F261533D57EF7B979A4548632B61D4F2B55602A7556BC5
+448B55197A704ED66A160F4CEB4B5925E0A172F4047B5790ED1D5CD66DAEED87
+20FF5D5372D45D30D0AC89A226E8EB269ECC70B7922375F04D159892347CCDF8
+C890BFCF37939845F13F6D3B70A69DA53C47550B39DF3DBCB17E3B26984D3047
+148011BAE81BCF134A316B43AFC18E96EB8CDCEFD9319A625F611068E7473A5B
+824D08FD8BD7FBA7E8D4EDF8373F4E84B853828622D20CA6AA076F3A6CAAA18E
+A12B968252DA3D9F06BAEC247356AF13EB3572540C69D25282605BBB88CD356F
+2A6CD9416CDF172040C23672006469C6853152559074227398267508558163AC
+C041899BB6FC6BB23F859F04C1E50248FBC3074699EEDE033055D988CD7230B3
+2B3BD8FB794CC9A8B96702221D9D75299F5329A92E9024F9B1B3279F55F195C4
+6F97B043A2B8F4CAD5250D0D54373385B80E26E9FABFF67C7A3F00AAC6DBC9FE
+14C5332BCE5307914761483106279A56663B8D5819896605CE8CC7B7CC8DC060
+AF743F3970A12ABED99F074FB32A665B53C02903A84731DD226745600F28D50B
+B9238E8516BD2A955CE3318979000334F1FEC110F0FD13F6E99935F9CFA1440D
+F852AF920CBA05D774D5BA637BDEA92BD3A5E1E9669941E8588D73617049F935
+752298AFDDAF91C976D9CB312E43A473ABAB0E00015FC8406DF868437B3C32FF
+A4DDD416727FB681046944E4CFB387036A8635812AE672522ACB989C9DEF0A83
+AC4807FC204588E8BCBE5BC7638CF39ACBE8791D08F59071E6FAF4514A53CD02
+50001751F2F7326ED6D8386D6DA6E499C9D13BBE06422D1C075D84F089DE6A88
+1B8F2D1E85881EC813002AA7DA2F859F5040FA87EF040B0E6D08F040BED41607
+8E3F4E7F24ED71DC0844CE26B92EA792EE037FB9555B53FCE1CD13BB51A535DC
+7AFF4DA9A5682171C0516C8AE7FDDA5DAF80A638AA1B44FCA7E6DF2A88473447
+9069B05D13A7925648203AB8A73DB41DF58AB1D5DA10D610DA1208DD5997758E
+FAD6C601CFB44195FE89666BDAD2F1A7AEAB98D1DE2DF5468D9E7ED891BFFD06
+A233E9D99AFBEF47B5A526F038C574DD8BEF2AE2A56E940A3517A65908C33B77
+563D5ACC51647721D4F7F36F4863C8DBAF47CA843788007C27784DA814D974B9
+DF0A20514D42F93653EE0343AFB76A2AF631CFF4409C25B1F3FFB1EE9BEAB16C
+75093281CB0BA23FA30B5BF98505EA306163D4849111D4C6F9196D2C59B67763
+65299F270CCD6DB2EE1DC21B82725168AD6B9818BC48970123FC903D47A9A67C
+65B8A30285F7BC41FB4C3D28AA05C9C2A7D990B42C6A9F9313EF16AFB6D5DA1D
+A7DBE2A6E13949B6BCF29120E9A236C5782EC8BA2E1ABA3FE9D839FD0E99DF12
+03C4DEC8878037DC2AACDB0B3442BC899A226AAF30C4ECCF2F17F8363B633814
+DEDDB7C1A1FCCAB1025D36B62E61E744A83E96C9DE4C17ABC3255012B6C3C3ED
+C38685642F9D71DF8B23E4DF20919FAFB51F010ED6B5FA63885BA05F4D59420A
+33F098D014FC6624324074AE94E678172EEB64D5EC89B4EE066BE4C46E833518
+05AF98F65887100203A6337AC0445D523A0B50B3BF360B424280A5F784CCBEFB
+0BCEA7EE7BD8174131950F31B788210971837A46FA9FF93C2BAEEEA317BC95A5
+50978A1F39A59C2715563847DFC2B5EAC12D840FE3260C9DD82AFF64BBEB1C90
+23EED5F6BEF9354584894FC7EC561F4B174A4145BD3DEE28C1044E44C50B4481
+9E85DCCE2B09BDABDEE9F2426A00A17EAA683078ED7C9E7FBC80BEB76D19FBA8
+29DC1B6AEBDCB1F2923F3F3007B3EF8FB8B9B65B267E3A60321BC7285471B38F
+03D821DB84725349360D386A44ED2A36481CD58251455EFC534C934307A62593
+101A1CD1C9903874A80C43D8FFDC35B79A0F9E65EB84A16C11144C9DF9B8D04D
+0431F92E33C562CD0350CCC694A1E4D16AEE3B720F40CB72475FD0C4F3DFE6DC
+3BC0598E631B4DFD1498D4272CED1CFE65685D2905518A0FBD94ADAE24970995
+DCBB076411352C708DD70A36B9412A4C24C5146B4576AF6018472A499CEAC5D6
+EDC59AB2E928C35900F49643F9CD9537E513EA565011557CC0D18AE386CA8232
+9794B86DABB87D6481
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+cleartomark
+{restore}if
+%%EndFont
+%%BeginFont: CMTT8
+%!PS-AdobeFont-1.0: CMTT8 003.002
+%%Title: CMTT8
+%Version: 003.002
+%%CreationDate: Mon Jul 13 16:17:00 2009
+%%Creator: David M. Jones
+%Copyright: Copyright (c) 1997, 2009 American Mathematical Society
+%Copyright: (<http://www.ams.org>), with Reserved Font Name CMTT8.
+% This Font Software is licensed under the SIL Open Font License, Version 1.1.
+% This license is in the accompanying file OFL.txt, and is also
+% available with a FAQ at: http://scripts.sil.org/OFL.
+%%EndComments
+FontDirectory/CMTT8 known{/CMTT8 findfont dup/UniqueID known{dup
+/UniqueID get 5000830 eq exch/FontType get 1 eq and}{pop false}ifelse
+{save true}{false}ifelse}{false}ifelse
+11 dict begin
+/FontType 1 def
+/FontMatrix [0.001 0 0 0.001 0 0 ]readonly def
+/FontName /CMTT8 def
+/FontBBox {-5 -232 545 699 }readonly def
+/UniqueID 5000830 def
+/PaintType 0 def
+/FontInfo 9 dict dup begin
+/version (003.002) readonly def
+/Notice (Copyright \050c\051 1997, 2009 American Mathematical Society \050<http://www.ams.org>\051, with Reserved Font Name CMTT8.) readonly def
+/FullName (CMTT8) readonly def
+/FamilyName (Computer Modern) readonly def
+/Weight (Medium) readonly def
+/ItalicAngle 0 def
+/isFixedPitch true def
+/UnderlinePosition -100 def
+/UnderlineThickness 50 def
+end readonly def
+/Encoding 256 array
+0 1 255 {1 index exch /.notdef put} for
+dup 101 /e put
+dup 109 /m put
+dup 111 /o put
+dup 114 /r put
+dup 118 /v put
+readonly def
+currentdict end
+currentfile eexec
+D9D66F633B846AB284BCF8B0411B772DE5CE32340DC6F28AF40857E4451976E7
+5182433CF9F333A38BD841C0D4E68BF9E012EB32A8FFB76B5816306B5EDF7C99
+8B3A16D9B4BC056662E32C7CD0123DFAEB734C7532E64BBFBF5A60336E646716
+EFB852C877F440D329172C71F1E5D59CE9473C26B8AEF7AD68EF0727B6EC2E0C
+02CE8D8B07183838330C0284BD419CBDAE42B141D3D4BE492473F240CEED931D
+46E9F999C5CB3235E2C6DAAA2C0169E1991BEAEA0D704BF49CEA3E98E8C2361A
+4B60D020D325E4C2450F3BCF59223103D20DB6943DE1B57D06E82116C79486D8
+C5C32DADDFCB2CBD26FE85FFCB176AA09FBE325434B8B9D358B7C180AEC54F8D
+24A1AB4D5EE5375B963A221F060453E01768F0A398352CB2C76E6E70BA017570
+BE1C3D3A86E803B10B506FD9DB49DF5CC7BE17133234D7BE9230BE8B7481B357
+08595FAE04D04B14C633C52E303B06EDEEF7CDDF20F34D7F08D991DFE2C4261F
+298E0A818EBFF29D3B29D1D0CE2F071B49B0622F65F936F6C1D4C6AA2860E56C
+9140A4FA23BA31888345142DBFA79825662511437347767D4A13A976FCF67EA6
+7882D7B391B37FC1E22787E484D19BB252C4D73AA3D73EFA5C6341CF6F127033
+2B91079B5FF8A164666CCC65D0002EF7E374098745C84E3037324B4248C5385C
+FCF0539F8C04CBC52404BDC6ABD1474617D06377A69F4851838F462E82A86BC6
+F8DB2E740B5270AECB0B922D4493A75422349138B539B6067C040F3007F04191
+CB545ACC01B4F28AF811266260FEEC04057287BB5C26C077946DDF23322FD99F
+2B3DFFB62AB8BF12000AA81ADAA6A064F9C34D5F36CB7F66A5EEB7B494FA1AAE
+32B380163AEE08F5BD270FAAD8DAF0CC5B6979B8D4FB6AD723E011DCFE119092
+D1025BB62280B745BB0FB140E82325F1FDFC029100F922BF206E5527B7D8F60C
+3F3E3AE2184CB954391D10A1618FA0940F12159167494E29A46125CB911B19C4
+97B4DC76FF53B7F79E380D7375FAB6C30A467E02E48BA73403D3900FBB440C9E
+951C081C8D5E04DC0C8E1BC7D552075CC360B7D1007367C655069324713715BF
+F8182AEB6F401A1F029FB3962BB3A0B2775979FDFFD834D5559EE20CF54D7D91
+D93C5C0B1E4BC9C5097DA97E893335D6F25B0215755AE271340453DCF8252782
+8607B0F972DB969DB772EB7BEEB185D4E20EAEE6BC04104F3D484B0A702514C1
+55113C7286CDADFF3B72732ACEE29B3711F5B1AD864B05DC35F1472686B200B2
+3FCE6AC13FAE056EA1993EC64BBCF7A0477903CF2F3D58BD5426CC64C9A6BC49
+F41EF70ACD9A306F44D4D0D2DAECB7E5070EF232701DE7FC69600456241B9F91
+FB0604DD0AD9C064123D99B39FD5AC53C5210098EABA19973BB5962589CC00B9
+F7AF32F3C9F629419962EDFB0907AF4E12B9A1995CC8DD7C4D79FCAD75A6B6B4
+89E495CDE86A55512212D0BF1FEB2DD8A46DABAC4FA91C2CE79CFA313454938C
+936EA3ABB8829ECF28618301F5058AD0FCA3D9754FF3A772319BFDBAC06F6842
+6E5E19E5527F7A9789BCBAEC1EE819742C9B7B38799450D2262098CA2F7CB87A
+72AA4F194394E1013BD793E49B6DC7056A56311C45D81389CE7D6940E61547EF
+0A2C7D43915733C8514BAAD7C8448DE8FDC4B2C8A7ECC2FE601617D2485DF3D8
+6F5D6934079403732B64DB4137C4154E0326860F859400AE077A15324E0FC7DE
+7445E3921622FEDBE3257265F620D21AB694DB93EC98E9D6515BB47706CECFCA
+ACBA5EFD0AEE1D8BC59F585D4D9961E8E0F11B7B7F197A079244D4F4597A6552
+E3874B76A3D9BCF95DE4998534C7AF942753C52402018E2F0DD6E6F13CE2E122
+26F8533927AEC411ABDDCC502903B27C69A9E1560CCAA0D34382214AD3F49587
+0A6CE2BAB310D5C46B5460C545E5E7BE6B0B5D1035F470C1927AC341FEA5821A
+4973C94B301CD34D302302FA18CD42ECED9B0651A8A7018554F52E0268472163
+CC2A53B37D85D53A31D1FDC394245F24BBBBCD7B9564FB770E2C23E0F1FFDEB7
+6F54826FF5A075ED62B97958AD01F1DADE6422236F0A56E6C2C3A9EDE8F771B6
+8764AE4F8922456D1012AC7AECC3DE4B8DA66E6FCE8152058F605492683F8FF3
+90B2597B615883BC83FC07295D5BA9D0C0242E277CD7ACE5B12FCB55959D6AED
+12216939E7F7A6D9624D0F9B4086466032D062950543CAB67EE2E2E2DC922C4F
+36B8DA8F7FD1E141F79722F41C908606381F7B687A64BE33C0A6DE0A4DF48877
+138F6BB8582F28FBD0853C346B285D8116F04CA8CE32A14CE3E6303252D6212E
+D876DF0B00D27069B07181EADBDAF4374F7FE019BD73BFB48E54244569DA62C2
+DBA424FEA187545F20FCC2B6B9586E9D89551AEE65EDCE251107433071DA9DA1
+E52CFB829EBEA262F08344AF309BE8E64CBADA06B71D089EA6
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+cleartomark
+{restore}if
+%%EndFont
+%%BeginFont: CMSY8
+%!PS-AdobeFont-1.0: CMSY8 003.002
+%%Title: CMSY8
+%Version: 003.002
+%%CreationDate: Mon Jul 13 16:17:00 2009
+%%Creator: David M. Jones
+%Copyright: Copyright (c) 1997, 2009 American Mathematical Society
+%Copyright: (<http://www.ams.org>), with Reserved Font Name CMSY8.
+% This Font Software is licensed under the SIL Open Font License, Version 1.1.
+% This license is in the accompanying file OFL.txt, and is also
+% available with a FAQ at: http://scripts.sil.org/OFL.
+%%EndComments
+FontDirectory/CMSY8 known{/CMSY8 findfont dup/UniqueID known{dup
+/UniqueID get 5096649 eq exch/FontType get 1 eq and}{pop false}ifelse
+{save true}{false}ifelse}{false}ifelse
+11 dict begin
+/FontType 1 def
+/FontMatrix [0.001 0 0 0.001 0 0 ]readonly def
+/FontName /CMSY8 def
+/FontBBox {-30 -955 1185 779 }readonly def
+/UniqueID 5096649 def
+/PaintType 0 def
+/FontInfo 9 dict dup begin
+/version (003.002) readonly def
+/Notice (Copyright \050c\051 1997, 2009 American Mathematical Society \050<http://www.ams.org>\051, with Reserved Font Name CMSY8.) readonly def
+/FullName (CMSY8) readonly def
+/FamilyName (Computer Modern) readonly def
+/Weight (Medium) readonly def
+/ItalicAngle -14.04 def
+/isFixedPitch false def
+/UnderlinePosition -100 def
+/UnderlineThickness 50 def
+end readonly def
+/Encoding 256 array
+0 1 255 {1 index exch /.notdef put} for
+dup 110 /backslash put
+readonly def
+currentdict end
+currentfile eexec
+D9D66F633B846AB284BCF8B0411B772DE5CD06DFE1BE899059C588357426D7A0
+7B684C079A47D271426064AD18CB9750D8A986D1D67C1B2AEEF8CE785CC19C81
+DE96489F740045C5E342F02DA1C9F9F3C167651E646F1A67CF379789E311EF91
+511D0F605B045B279357D6FC8537C233E7AEE6A4FDBE73E75A39EB206D20A6F6
+1021961B748D419EBEEB028B592124E174CA595C108E12725B9875544955CFFD
+028B698EF742BC8C19F979E35B8E99CADDDDC89CC6C59733F2A24BC3AF36AD86
+1319147A4A219ECB92D0D9F6228B51A97C29547000FCC8A4D80B73E7B6CB7548
+0E1D77FFC695988391DC44AEED8CC947B3D7E198B9620E2238DB3A2819182F03
+14498B8CDFBA48926DA721920B221FB33BC21A8456AF10891403501D0F6415F0
+7E041AFFE109F640E54FC1A365674711EFF94E752652A4C8DA62CDB1149DB899
+2C4A4BD77A06E81E93C5698C05DD02F74A0756082738BDB53003B483752AE498
+DD718AEA8F3FB5A6B7E2D2AE8F309065F3D556F9A34AB90C88833A54295E0982
+209C466A301BA3372AABEE20D862C6DC6B6FAC1463C8CBA8AD766ED1B4C9D712
+2BECB4E6ABF558D8AB5281C35726BB8D046982C0DDAE17BFFC9394125E4E84C0
+B283977D31460B8EED4346CCB09F64DA0ACB640C6DBF32F2DC30D54668C1CC12
+24C7280593088E9958C047125C323E9C842801346A9CE5F50413D69F6DE99471
+65D2E387765E92EA4C43F17B467DF6E266D92551009C0E52E7219AE9F5E2E8D2
+88852086FF3600BFB50AF3EAF8C009D8D5F084B510F792385F328F7EFA8C38AD
+CDAB2EEDFBC6AA45F6DD7364C2F02DD2BE6C79C8361E83D4267CEC2407689864
+B57B5D967FC80AB3BE8CA43955FB0FD3081D438437559AD24A7ADD484C1E4A77
+B00BDCB0D1B121FEE983412E1EA5489BDCE5DCB4A7310135956B230C0DE7BBED
+516369A92BC41FAC8D73490984942D930DC193BF0C774C1AEF627B969EE4B001
+11381AC57815D7581E2372A1DB740B09F4A7FB4318B765DA4E7B44E8805CEF85
+44EC3B10613FE7B397BF91B69A5CB2E9086D1E7A1FAE0A9ABF2A237A2D29ABFF
+E392A18AEACBF28274E775D3FBAED4F46B982B9DA4602E24094EDCCBC9D6FC0F
+67C60376879245606C0B9C9A678E8917516BE1CF097B1C75C9F0DDAD6899F08F
+81FB7A198D45FE060CD2A550D9B8D58B882B969D7BC3EC018A1FE92BDB262835
+26516FF97AC387EA525FF987E5EB1EAAE4EA5866C9CC043D183763C530F7D7A1
+2070E4044507C4E5611FCC117FBE4396E0B24F672CD53D5FDFA56D561FB86D40
+90A52A7C7F29A119DFFB694A8C445367746A49CA5FA83163BE448EB19625DF26
+609A8C8672631A10411036CAA3D6C2F822A4B2505DCBE8E1CE6916AE515E78CE
+E8C894B134BF811671D17C19248853131DFFAEDB24B15FF17EAC194662460642
+48D23515AD434C68DF56753806FE96DB3A29F9D4980E0B6EAED7383F9FAD2584
+8F85679D6D1933677ADF5D31FE6E43DABF137E834A1DEA632D36EA5728625159
+8F33348893C9D1C510501628E4A9A80587DF6E179FAF68B158406A3EBCD726E2
+AC17F2DF8B3607072824D2E5A6479F7BADE32E603E54E7A83BB2DFDEDB0D80CD
+1F1BDD4F6C9025CC3A8A3685DF10A8183FA80CE0F0FE2BFF2500F76B1037AE41
+56D2D7FB468C3CA7549E3599A2AACF66302572F1B35BC8EF7C23F6FC4B720228
+1D673D903111CE378AAE83480B4DEB7EA84BB35F4F7BE997DD4FFF5A9B5E7650
+3C7365BA0965B242DC369D03215651184024A08EC284F1798B0726152884B4D8
+46411B3BC8F5CB53A70AD53BD7B1AF23528849B56CF2F75609FE715878CF6448
+38579380688B47AE3D374B0DB6ECA5B8284414090123D47F3F9DF389E023F431
+6B4C0DDEE4190DEEF4CA772742012754DA9A44A8F550FADA6D8FB0C512D5BA2C
+BB7DF71B1DA41FB6936BA71B710CC6A80751E43436F0F5888F51AB370DD4A088
+40F402661E08732C960705C7E0D29B8DA1A8A3E119409E51EE575E9655F47568
+023977917C8EC610BEBDB9C1F4EBC192084D63EAA00EC87B53E86620BB5AE51A
+579B0F8E1972CE1DA02832FC75184F45409DD9D413402C2FA27BCB0AE6DB4CE1
+5AFB114E23232DE07C4674969A1FC94D152C6D3A611F029ACF4D949A2C0755D0
+31C7DACDBB4DFCFAF7E87295CCF5D4AE28D87ABC3533D87EEF1507B9FF9063F7
+F007DF03734A20BC3A198B049000C92D2849C62DDAA719FC28EB372793E20128
+D786670E08948808BA45C4F6AA0DD8A8357CCC47228A760C5C7864853BD9C9A4
+285E446CB72C5C9D3F03FAB000810DC5674061FA116153040743E846506CFA67
+FA8770E785D7DBC7293F37389A0859CC22275B23C44B57B92A033A7BD194340A
+D6BAC6E103402F8396A5394C617CB2A27D9500921D5DA06115EC81715EA8E360
+4A95DCE8689CBE268B8E6C8B806CFB0ECBF634250243C9E1AFFACAD65311FA4C
+1DB0988203537E5EF12B86FB454D06CF05E4F4FC4143D62920E99304245B6ABC
+82E21192BE94F5E980DB21E07FEDF0EB0CAF4ABDFC20EF08A2A44A7940E2862E
+08FABA516152DBA899D6CA561EB08C7C8298DD511084E5230CEBF28AB1D84C85
+B5BAF4616C28FE05AFA4BABB3BA03F8CEEF3F3EB0D3034BD3D8D06629B8E9EBD
+72484057E71C9EB4DFC7C2CE7749271AC926C2419D618FB0B60FD6F81F0F2C04
+E529CC74DCC9E4AF32D935D7CA65FBD0842A7BAF162D08F782E65DF3AD9EFE69
+198AFA9208B22BC21BC4ECABB9BFFBA84C8421B74748E1EAAACEB59E566838F2
+C439579D6C75074F94493F7D5C8942D881AAE6302C37A61003AF77684EE99AD7
+EB5EEEF050C52E75E4E842F8174470FA60CB213BB6F257EEB26CC55D1202931B
+B981DE2535A87CF37BFF912220C117EE166CCAE58BBF624170FFBC0716726B36
+304D698F2CA131675F7B1199E6581B8C812C4FAF75814282477BE2B7EBCBA7C2
+FA6356B2876F89698C6C2493989E9EB252DE03BB374622A7C88B8EE9FEB4851E
+02F85CF70CDCA7BED5EC94E81170FB557C3BFC6F32CD70B506E56A2CC5451592
+130C6F570C679577C44D60A811DCEFB3535D855259B1021AC168DB76DD38B459
+F1813E3DB20AD9275D58880CE94058490ABBBB0D8DD16D4A65F680B30057F15D
+07FF54D779CC978E90A850A2D8D79961EE276BB26B594C16F56557435671A3D8
+ADD3DD0BC4BC73B0652B9DA8462FE614A14A11ADB2214EC4910823FB4CEC8938
+24354C5C62547EE5710FB5ECD93AA45DEA7411F6CA8D5B5FA222685E622AD73C
+1BD5DFD1C8F253352D6C7D14FF2FACF07CA5EB11392C6A33E9CABFD99F743BED
+55E8DEF49E07B9444171D1780C698E5B65B540F41F845AC188DC7C0C8B5BA5F3
+546BEAAA4F29F0DF30D5AC12A60862742623100074457BF2D820DCAAB340C1DF
+22FF26992DC02F276B40A7C528C84B72CD189A4088C90070486C49A1014FDDA3
+5093FC12DAF309FBC063653E6A33E14EB51B081126AB5BCB8016E975060B796D
+6CBFDFE6CB9E191F12E309254BDD6660E3227012F5DADE246B02B6D8127F1EE2
+248F48DC5ABBD229748444420C868450602120664984FE3A8B2373232CE5CA15
+E67172CAF7EA99F73A66AE33B1EDE5E8351DB02497CE3338930147873D4E46B5
+E918F5592A21789FA9F46232BE693DFC33240E2649D6AC1940B101D806089436
+F0CE230BF6D0363510378822891DBD3EEF3365430E74FB6C994BB40C8EEDA593
+CEDAFEBC3B87C7C04F52FBD7D557A77B44855CDBEC8A8D26F44D66446B5662AD
+15B6B79D13BD262D79BF51C09F8F690A61C7F11EC2E05F6BEDA273648E9E1EBC
+3D5F1D6ED486797F753064ADDA8494405556D43D395B1487EDE877CCC1EAE954
+1AEE2513DDA94897B733609E8179DFE1975590568202EF20D58A89B34874CC3A
+A5579473AC65E0EE61545AEF578ADE10BE3FB3E2CDC96678F613E4DEF7BC1B38
+8A551C93438A0540E292F65F1FA73D9AB30A5F545284085E4930A570C1807995
+7108AA8194607304488616DD4AB189F8EDC5F4507AEFD7847817A8ECFFDD2DD5
+DE95E04EAF2774F8AF661827229F01E769A32734097C457EB6FF056D90C46C5E
+9F936AA6BF2EE8244BBEDB8862E56423F5845BB10C8809730B011D650EA18945
+83C320A3F4ED095A5EF91929FC877ECC28A1C2CE74A53245E629BF46C6534983
+307B1C94EB35CECDEE86551F0C308F66690E591C5D9D8FE14F534CF3F5DB6D32
+39D7C799F392C4E65759B7BF61F4D8312E3B26C31466206A367A0DD7A90D25E2
+805D36ED5CE0A4BEBCAC0A348FADD2D2AAD670E28BE6E33F627B4A9F35078B1D
+6688084C4C18840673EF9B3526172EE14EF64E97C8B006C27DF6EF73BA6E6459
+3608F10EB1EC4B824DD5360B42AFF2084788B165747AABFB2C9C0EBBA9C6246C
+08F28143809315D6268E386F09BBAC54C34213438B56C386B34AA457D149CC39
+A3C163F56E3C2E637C63A79CF7F2DE969EF3AAFF75F3F20499A9ACA61279D545
+866FFE57D25998244F448AAB042B141952BD653007A889B1A716A4042CBBB827
+C1ED5E3C616C22D5FCB39D3B3539F9B71D50D25ECD2E5D953C7A5194C867DDB1
+75CE10B2C3A20E8CDE15AAE9F549D034838DC066CA649C31EE365D46450AF18B
+893748D055DD88C72391FD92DDF0AA1A1316051BC756F87BC9A425019B2FA7BD
+CA9F35E89E2229B3021DD24C9DF0DC3217F44DCF510116DDC9E92EFDA3E0A892
+491C8961CA484BA29B8CACD2FED2E246FA7414F892AF7B9F08698FDEC82D2E4D
+8C6ED1FD9E0BA2645663E7E97B0F780033D025F2EF3B364574C03F04FFC4E09A
+3D4182BBFCCCD8CA54A92434E2208803ED36F931D31C7498B7FCEE4B78AECF11
+B27123A10F031F9CBA36066680E4748E346D18FD0EFA395D1A9227530618ADD9
+64D96C50A0172F712CB427E8F7170F8A1691FB95B247A271499F0E63676BD64B
+167438333A3BD9CD9641AC637E0ADB17F1E394DF34AF5A2BD02030DD087BBA02
+E1209338B74075744A9A9966039AB6D223F385E06FF359257913E6C01BF32F5B
+A3640C7CA41A6C51F296E50DC1CD1D68491CE5D75E0ABDD4C5C4A97C8BE2BA35
+D91AF9F8F38E7AB8C1778B06A212D0416E6137087329AAA2679C51D014CC4DEF
+0F1543E2FD97621E552E19B29AA1368CB5046C188BA59B1E1875B25FB269DD2D
+C0678A42CD310702465694F2BF302AEBC43F714F7C657505132DDA71CD23D17D
+628BF3400EB5DDFCE2850F31B40C5913394649AA4241CF646F3939916C2077AD
+C11F8C3E478586AA7931E327333FCD8A2EB31DF4B47AA2F31B999556602DD998
+5848143C0CBD0B5187DF08E675550F2384D48C2954EA7D16AD2B94DF97C194D2
+302CC47BF968CB1F6C9641A87525D5C6972ACCA1D4A4B4DA8EC54BEA6E7312B3
+2737754A9FCBED3BA5F8220B751506BB0A5BB5CF706AFCC04BFD713A3BE3C842
+9FFDBAA0CA5691D0FCE76134841A169970903843163DE68FF09649E99945DB64
+491FD6D8B2DF237DBAF550D1B74263B3BF1EF6211F40D4DF2DEC46E4DE557088
+5D458A7CDC6F34B8C3F5C76582C8B7D24A333AAE0B43CA67436F8ECAD7C50B12
+35BAAD521033D8024E4DFCF01580AEC63BD5F8ADB778F822AC4FF0DA608EB7CC
+1A52A51B9F38FFADC0D2F4D8394C5D598123B483AE5AC1215F24F2492EBAA134
+3C58AD4E3B493AABDF753EBF1F04058C6981C353D6788C2D3294165B667D3765
+7883A8493F5D772F789F73979B254BB9397FDE4F8B76CA6FFF312F4B012949F4
+3EDCF1AC60FFF2681549DFF430B498405E79CB407DADFCEDCAB1E2FAD3B0F4C7
+B575A33EAFF9F67D37F50BB06D06834EA683862991C5BE340D4A7F8D131E733D
+289F72977870F9958102F5D835739F0F5A642E7194E8AF7FDA2937E5C0712CE4
+EE15CB475725030CE0F238C32775D3EC95CE3D0886046E3EEAE322F59D423E83
+DE88DDAB5CE0F70537487EBA5A16A9306BA7DDCA14A85A9F83B3BC3600DC9421
+BDADA2704A5A24F7174A3A486ACE68739EC5960038CB44D969A594E97AE1F42C
+42C1B7E3A456B3CDFC7683537B337AA8777F18CA45B22C8BEB18877DC624496B
+9E8EF9F386B7FE4D94ABD5CE3B5786E76FE04A35909C472C04654A4405932EE6
+A4A3E0F6DB088603FDD82F0EFCB85A962002A662D1AD0647A2F484B59075A1FA
+9F4327D542ED7962620B998ECC3A95CE736089593461CED9B5AAAB05C2DA3820
+5AF29B32904E1EEC357C8E282189C6D8F562DB11291091E6897E24CD8F8E2A34
+67F35D261E01336152E69831B0CC6B03FF1AC7EA22B745F513A25FE10F70E74A
+3FD71FE1EC9999BEDE7CFA6A97EA2DF621711BE950FF8960965685BAAEA71FA6
+36F165573A0A6A92DAEE41A9B0C97BF03419FF6BA1F44524D00FD671EACC4233
+9A857680DFD27B9F1E7A760058C8277B3761DB9969241D1824A7DADF70BBFC38
+89C6DB9091E3BFCB36851CB9662B365A4B7384BDBA1D385902D1E5DABA72A159
+63790096B927EA49299AE03E41C7F593F3B995D1155E91C62D5F68845ED3C797
+7798B56858F96C2FE2E37D812873B7801767082A6D6B60602CEB94B7F6D7A142
+72814734DC584A18D1FFEA7333D4C7E2DFE5B91E9AD92EB52533CA52FA888980
+C79FEEDF0FAFB3B20B497F9AB668BDAFA364B405916526D5C48E57DC30BC35B9
+BF684FDFAD199D9A28541327F3899AD505FBBBBB22F419E22E0149EE5FDD2B43
+AF442E2724EC16934C307FA731F90AD1C76B74569B78CDEA7C19808233C6364B
+D049F3F50A68D3EC5F29F2B96BC58C44AF90FE13F244B7129F14B5DAC3F3F310
+B330E67CA4EB76F895DAC8025F11EC7630EEB4826B5721348FA38F28B2AEEB1C
+5F7CA413C486C94B1DD96988F07F7A08D3635E28624878E55D4FFBEB5E183CB5
+93014D8A272EBCF3A09133603CFFEF43A6FF059BCE525706D3795884FB495748
+C8AFB50DB464459A5C36D7CD087631BC09C693A11BDF1C6011D9864FE66EE8C0
+4824A42E97D16E017C0BB73732D4537E2A5BB283B3568950E5681364DBC1D6DA
+058A122862A44ED85029A7B39F2FA7C362D859D0B429E056891339626AE6091D
+74F6110CA32F8F3E9507216997E6AD1A2F1FFBE8B407C9880DE230E234F6FD41
+A291851178BEAE5DB9DEB22E3443807E2BCEF12A4AE8C490AA9E3D2918329F47
+42314CD258A0760DE5FDAC4AF7209CEB530B8508B278952A3638CA8491C3B493
+516F461610DBAF32E923ACB834B15E2D169A10F2609EC0ACDF7BDBC777DD2C19
+2DB330FD557D3B06B78824D6AB237D8F2D57A7ED35F02CFA9290ED6893B41657
+A2485524A3F1642FF5808FDB77015D9467EDAC4A6BBE8A175833B1225A5554F7
+2C60207F7A2632A4023255E8EF1F38C1B8216C9B03319B60BEC9799E5378683F
+46E698FA75F2DFD40F17C603F3335F1EC70DBA1449C7A33EDDD46CC3DE4A6557
+EE67BF349AA8680FDBF415DC527129288B5879500180F75DF80394EC7CF11BC8
+9EE9A4ABD64DE3076A2963F83FA333F19FF74F79ECF36A87A31D6F125FD2415B
+3F6A6FC33C179F54CA164835F3C3DB62AF444BDF27AFF23098C7212477F688B8
+6F48D9AD080D544D57FEDD33D3D9AED9346CBB644C97C951D4AEEB2BF6F0CB18
+E2517BA7ADCFD00FE44E290E731D53E5C0D762FCBA08004562DCE6A5EF2FBB74
+B3053CBED3B6E896B1C3356DD9E8FCB69691AAF6BEBA0424D62B9F266D560B40
+89E20A9F35AD4A7F65A7183761ABBEE0F7EF26ED3565A25516A3A5A57143979A
+1EEED8CD52A69E4E1AE4795F3EE0CA21B9F4D166783A9AF54B08B6C56703932A
+310197E328C6E6A6BADAA11D66A952964F31FD690082FA02D1E2A4512A9F2742
+33B203FB770A3A1C7490ED630D0FAEB3066429D0237E18818EC368D0DA72EB08
+1951C70139EB0DD59EB53AF5039A7618C77F6CED9F0A066FED6FEE0C0E328351
+BA39746C1224A29D191D8B86491E0A306ABA070CAA2756C3A33990EB6DDF34E8
+06EAAFF94AE6686EEB06A17D6D020D1F4E59428D533DB0EDA6434E6E1A478D5C
+2A0D08CB39DA7D5F5200199FFFE3F41729478D4F63AE01FC0BF3B378FF6402D1
+CCF1BE5F191BAEAEC7FE400C9980E103D8776EC196E741AFE11D249E0C277263
+80FBD329524C55943E25631F113FB26AF7C5FAD7E3A6908AD524ED35A9488016
+DC8381A9603FDA1A9B29972F0E6DD38102B35AC78668859A693EABD941DF29F4
+0F2C77153A7B5CFA131D306014D82806512C75EBCA3529721AB0BC17FF16DD90
+22A82202F4170E7B112889C5E5553F4FCFE9F70A843468BFABDAE2F08FFF09A8
+4515916CBD1A10C97671F6BB5B0A092A94700D661AB7BE2686B88698EE76C958
+2877D0B668201406313BED40B162372E5A986FD23F028331ABEFE02AF4AC4DCF
+E3
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+cleartomark
+{restore}if
+%%EndFont
+%%BeginFont: CMTI10
+%!PS-AdobeFont-1.0: CMTI10 003.002
+%%Title: CMTI10
+%Version: 003.002
+%%CreationDate: Mon Jul 13 16:17:00 2009
+%%Creator: David M. Jones
+%Copyright: Copyright (c) 1997, 2009 American Mathematical Society
+%Copyright: (<http://www.ams.org>), with Reserved Font Name CMTI10.
+% This Font Software is licensed under the SIL Open Font License, Version 1.1.
+% This license is in the accompanying file OFL.txt, and is also
+% available with a FAQ at: http://scripts.sil.org/OFL.
+%%EndComments
+FontDirectory/CMTI10 known{/CMTI10 findfont dup/UniqueID known{dup
+/UniqueID get 5000828 eq exch/FontType get 1 eq and}{pop false}ifelse
+{save true}{false}ifelse}{false}ifelse
+11 dict begin
+/FontType 1 def
+/FontMatrix [0.001 0 0 0.001 0 0 ]readonly def
+/FontName /CMTI10 def
+/FontBBox {-35 -250 1124 750 }readonly def
+/UniqueID 5000828 def
+/PaintType 0 def
+/FontInfo 9 dict dup begin
+/version (003.002) readonly def
+/Notice (Copyright \050c\051 1997, 2009 American Mathematical Society \050<http://www.ams.org>\051, with Reserved Font Name CMTI10.) readonly def
+/FullName (CMTI10) readonly def
+/FamilyName (Computer Modern) readonly def
+/Weight (Medium) readonly def
+/ItalicAngle -14.04 def
+/isFixedPitch false def
+/UnderlinePosition -100 def
+/UnderlineThickness 50 def
+end readonly def
+/Encoding 256 array
+0 1 255 {1 index exch /.notdef put} for
+dup 97 /a put
+dup 98 /b put
+dup 99 /c put
+dup 101 /e put
+dup 103 /g put
+dup 105 /i put
+dup 108 /l put
+dup 110 /n put
+dup 111 /o put
+dup 114 /r put
+dup 116 /t put
+dup 121 /y put
+readonly def
+currentdict end
+currentfile eexec
+D9D66F633B846AB284BCF8B0411B772DE5CE32340DC6F28AF40857E4451976E7
+5182433CF9F333A38BD841C0D4E68BF9E012EB32A8FFB76B5816306B5EDF7C99
+8B3A16D9B4BC056662E32C7CD0123DFAEB734C7532E64BBFBF5A60336E646716
+EFB852C877F440D329172C71F1E5D59CE9473C26B8AEF7AD68EF0727B6EC2E0C
+02CE8D8B07183838330C0284BD419CBDAE42B141D3D4BE492473F240CEED931D
+46E9F999C5CB3235E2C6DAAA2C0169E1991BEAEA0D704BF49CEA3E98E8C2361A
+4B60D020D325E4C2450F3BCF59223103D20DB6943DE1B57C5FD29DA32D34C95E
+2AB2ADB3F60EEB0600C8ADE15A2380DE10AC5AAD585FBD13097B1A7E8E210D4A
+EE96785449E07F0C8EBC2EC5EFBFD0897DFDC15E5BFAC9584D8DE95C5AB288CD
+8AD8B9BEF0B8E5F887B3B0B331542FC8184DCCB753DB6ACEEF98B85756B988DF
+CAF1AE0DBE7D37D5F44A2E760AAE3A5197C27B15E32275A64946C3E4D0476FD2
+7FDE148C788DD2106F7C825E270588AC05B57E625AB17BDD02306F9E5FC851DC
+32A5A6EDC43C770A71419B2C0C8074EF3F222C8A2097CD81A91F333A521B3A09
+482A4FE1CB231CE344AD126AA284C3280AAC3AD162CF0EE241BFB4C8F20502FF
+118507F5D1B5FD898571015E73E5CF2281085072E00D401F6F59761EEC3E8381
+1F26F75DB66C504AB6BABA87D121B1E7040A07AA2FE01F80DBC246CC03C4B2DC
+C2A715980C52B7F96BC1A78FCC7F4F52EEED5F705E08FC1E5BBFCAD121FA88AA
+8EBE58172C162AF409DBB0728F14923ED02A65EA24E5D52B6AD07777455A70A4
+61833D3789C719BA92E901232599767E423D5AD9C807670BE0E7B5CFF8256A20
+C7BF7214FFE0342809570F5966A2C43E784F35015D9040BA34FEAB6A6F089504
+3A40A9E9D711A2721D3F4998371430FB3C94BFC619559B97D49627BB630F4B70
+9D0A8FE4E916235335C3962F3CFDB04C4A3CF714DB5E260F4E66FFF2F27CEF2A
+D4AA26BBCAED23B8BDC98F8F453BA27AD7758537561E766B82DC3032E92A9EB0
+125D98A22C5466AF069BF72A9BFA052A8628FEC6A6AD0B711DFFEDE3AA2D7CE8
+34EA487038EF50F953B8B4471CBA6FC3C53877EC1BC94582B1123EDF44B4056A
+30F49394BDE22CDAD7F01951C7013D26979277D18EFA594E8F4F2B5E615187D9
+39E842EC28461B9ABA52020A127D2CB9002A673A435B13C10602EEFDBBA6BD49
+9DDEAB9E68D655443A5C2492BA061C1391A51592BA8C353A6F6A0708E8860184
+2B5D031D2CAB87D618E9F6F7A0BF3F66B3FD5A25BB91F7F1F5F99CFF56EFF4FF
+0A35C55658001ED2E97B26C869292F6274D433A5443179DBB8EE987196306348
+3F9E87C6422AFFDD30080C9AC4EE7FE5E2DCBFEE4974331F4AAE479FD8806D4D
+9C2B85FC69EB0453AD827A1E767E5C484BDFBF5C8D6E2B3C96298B390F22D757
+802643A79D5E29CF3AEDF0E12CFBECA4663444FC87F2027571DBA9ECF688BF28
+FF0DDB3AEDBA0FB28447CB4B5D5205F40C1E7A525FD7373392EEFFD910AC82D0
+98E71660A1B3227C4A2592F3E853CA4CDF64DF19A52582E167234F4036FAAAB9
+5446BE102DE2BF43E82F0112C2A20F15A3F92C6571AC761665A905362C4F8BDF
+AC8705519C99862CD9C0D75113C4AB5FBB83C880E46B82715B5628890D9103AD
+A2329638B95D93C4DECDC5E6C588C9D5183EE6FC28FAF9825F02DCA567306D93
+5440987A81B51EE7291107A08F201C609FEF91A8F0587E8B13D4BAF74A5A6815
+DE9E4441F46AF8E1DDDFA2D611C889614040B144A5EC064DEE4638C04EAB2E37
+4CA8F50FB8C4D65BB296DCCCD39F1F554CFBED96670A91F515CA10EF896874BC
+8EF48C6447752C70FF5A06F928DB55586354076773BFF7E94C4C3A7A1C1F421B
+A9B4E3936EC26E0C19BBBFC90F021E877F54B62108F6DD1C7F6D5B8E64FC9362
+E173F01BF2904B7E5A08B3543611562C2714099DE7D4FA330DB148B560A9601F
+42A84452811CE213DCE782A0D7809CFD954D6BC1EBF2BA4D1B18F50FA8174C96
+3E0120E266AD5DDB40B3F6798AC28CDC5C3C4BC34583528F5B5DC8A222B80B59
+A3A93DC715D061EC6915E6E6E21A25425C25E8747C60F170D61047108826F96F
+7830E220C108B441B6EA3198E33C49BAD8D43086E49F5A2BC7958A1A8CD011C4
+49045193394696EC3DDD0BE084E8F2E9F0B9496F035C0DEC1CE11409DF566428
+D50043CFF5CDD1092F6E0807E660B68163BCA738E8D98FC6EE3F713164CD204C
+0BA84FFF4F33F47BC31750B448603D7ADB9AE92FA91AEBBBEC0DCD66980E6955
+CEB425ED07115B24E40F53B29B9D840842EAC691B4F591F866DF27556474B485
+1C6F53DD72499847109B16C7093984A6B8487D4F3870DD517945CD90E648C1BB
+8A6861E540FCF9D75B984B5009B5CC760CBE297042C240DD624111670B703388
+6FE6FC0E89C6B4C88F51DFF3913D0CC1FB4770C8CBEADD4B86393605C0B6C468
+83CA5594754411B6FC331EF56D7CD6D247FAE42E966583C29239A8F862348D29
+60B177984B6B957E733DB4D275015691D91443BBB13C2DA96097A29733CDB284
+42F89C85A7A743338C9DD3BBC4EE53F695E5163E6E1ABE5791ABF100B198B9B2
+1C21E2FA2FB4AFE7F9BB2D381260CDD3A2CC05BF513AA1E80ED69FA27BC5ED5A
+21445BF00BC2F997B356D94AF13736C6D3B0613EB6F4CD96A685FEB672661DCA
+206105EDC3CA07900676EB2FAB37F48D2E8207BDE1463894DA3C5B1488AC1EE9
+D39DAF691648048F5D7A384B8927F8DA2BE3602669F71D80686E427F395134E7
+7ADCC611BA91AD4B7A0237213C60CF2C905359C90795230344FC3C50A22BD44B
+55B2044792509F50F5C21F53D9F9E9F063ADBED3AB99E2613B23334FE8DF70B4
+6120F2EDF69F50BE793EE145B9FF9C73179DE640FC2ACEB5C6617F918CEEB762
+4CD81E665B2E544864D13230B058717B207D3CC5D6647D5343DB4D0356082392
+871EFFA896631A7E0D6477942B632074A9A4EF7B09D4701B1639BAAB4E03A40E
+9B54A7A4F845CD63F88831EBFA4FB847847CB98F3455CB5957F2E0A0F5623645
+DBB5C5564C7F8B117D6E27E65C0F3EA81AE67B4AE4B201E7C4FB0A8364FE53F5
+41A7CE8F834C2C4B322809B353A5E63BBA7BF3B7DC1A85EA700BD287C2BD3FC8
+2832B0BB4695FC937FF5EF06FCD87DCE6DE793C2B1EE10E6450352C17726155F
+220D550B1759E15AB2C1D5968E52C8080CD280E99D3CCC0E80C2EF8BBFD96001
+A226FEED7311EFB4B67F424B557A877379A15BCA54780F0CD2CCA00400B9B39D
+981C6B552AFD2506D1B23618FA9AE6D8143CD7198A8482CB416CCE62B992347F
+337D505A4078713BBD91E5535BD58EF0351EBDCD749CC24D4AD39F8CECD7D6C8
+139756680A4C03A58B3374CEC658D30160AE4863A3938A891BB59CBE02BB451B
+1BA4B2B6E68AB61DEB85F95E3C909B8B66E220B9F18280161C279F10F7093CDC
+100A53D542F071CC0A5AF834DC1D18738F5DD62A5573E884E1FFD22BD810828A
+1EA47F8218C15A2E97CBC609927DA3CC2B802EA4A0D7EB57627C135E3B065905
+F97597D818A2C5CC6F328AD25AD11FA50F1E4FE637980B7474D6F85A521892FB
+72989AABEBE02A2D0EFE88A6F67AC29F5D8DDFEDAAF465C439983C6B84389FF7
+A6434462BEB7B07DBE4BBA61ACD4A60C55B5C0AAE527DE381DFECA2E6BAFDC8D
+310364ECB42CAFF72BA93C067B2F02D1CA7C34AE7CDC46787A0E234C8BE8A928
+7A6F3DDE0338FAD532A9886E8E3525B85DD39364AB03EC4C0DD25DC179CC1989
+1BE232E387E857C78332D834679195E10F1E7B87B7966DA3B2238F53D1E13FE2
+8F55ED6A92A750C7250C9B91E29796621E7E9520373214D7DA81B2875A986D33
+80382AFF6DE1F829F048E57664D9C4ACE91E4684A51023943A4964AB5657D610
+3A5405EFD4CFD1EBA684243E15093C9667797BB47617B66054EE02C41FFEC45C
+C1BAE8AD56B00D323FCB1D2744F061FA16E161988741A319B1564E04BA210996
+4F9F02A3268CABE450D166A763F5284954564A1C86B76544C5F5ACDFE0D758DB
+865A1CFCF9FE8CD5F9C3B2998C56468FD52DF8EE60C6935A3D221EAEC7714E3B
+301371C7DDA0B03A2416238F2B47BAD3A2C5021C886DF51C695AF9C87A864B48
+3BB3FE0B355EED5454B59B25A0D8A1B8CBD356C24F64D9B55E16C30C011365C9
+1E0380753BA3EDC0868788D5F50B9353D0227BCEE1BE36998B2622C0759BD66B
+E4444250589F9CEDE766D8B940770CB6B89503E925B35C00CBEC2873D2DC4A29
+0823FB7A3717B69A7DEDBAAECC067949932728E89BEECAA91DE3AF9BF070B9C0
+30EEFA8C0A55C8388CAA2F0515915C98E67FA095BB98967D14B0DCAFA9622E4E
+2E0EBFC768D80585ACDF28D8A5C2B6EE2FE7AAF62FFB90F569F84A0903996DF0
+C1D5723366C436E4088F3E2BB9B47F9789052A71CF5C49908CDC1DDA194BFB89
+14D7E3D7D4D72A150FD6FFD8303E9DE5A97A71B808B8BDF2AE466F31BF5D7A4A
+44F81230BBE2B456A221E2F72A8B59F8FEA8D31F8A005A5BD93B9F49CFDC3DCC
+CE2B67090460F632271C7157BDC2F05BC2749FD562FC28682A616A52D1B67654
+DF78B7843A9EC26A7DE2EB168F874904C2915B97534B2D4D9F74A9573A771D34
+9F7BC855E8F794621BF6AD471BCC347E2DF5F620F5C209E33A4CBF1EA85AEA87
+4492A77342DD33EF615FF34037D660B713C908786D9022051B825226545827A3
+2AD1B05D654DB6E6D261B4E8AF0933AD1F0FCFC7201E1A7C1B4199F160C38676
+21ABA2DDF1CEB655B3EC3226E0B122976EEA998F7A5241F062E54AD1DFD6ED26
+47C99A439E0AE95415059179867CDD3F0FF751F3141309F40E00A6C7C28433E4
+F649BCD5DAA64177580E05C495EE7BCBCC5FBF104DAF360CC2711386655B26F9
+D349D887EEB32ADE595241560FD5924A1745A22E6A01DB9C285EF14596EBFF0F
+03F36EB2E0A7C3864F819EF7B0855121292D49482F046A55CD7271FE03F02EA5
+886864D9D8EC22A68C23089EAEFFF03DED6484D8C341861EF8B6FD3C5BDF5AC8
+352DA4E13A1E30D0CB71E090E9CFB9AB2CAFD0CA7C34AE7D8E3B2EB4666834BD
+9CCD1AC2108348AFEF6071796F4BB2FFA4A67ED917E76A109FA2DC2A30D744A0
+9AE653A748C1D18FB52595D84E87F1C1FB6B2F32667FE203262C66627AEFFED3
+92B23861E5EB238BB4EDCE09DAE1C65BAFC198CDD1B45D42CDF93E16BB82D35F
+821E9E49067E966AFAB2AB52928F8DD6359984071FC37AA652FB834A09E5BD93
+3AFAE161140E74C6531E413E8FBBFC42BFE8A464B71EB1D8CAA93B33D7BCC3B0
+47C7EEFCD3E9FCF26FF9441DD9BDE68D77AD7251C06BBB9A2103049E8827CAF0
+F26BEF33F656A690235DEEC623CC519AFA82DE2AE16FB99F780FD7D8290DA40B
+9B604AEF36B529FD184239E7D50561A07428D28E51B55546590A1AEAD4B7F2B1
+AB8C5B9022C1FA03E33F8F409B24911AB8BFCF6EF4A8E415263C789F89063E71
+C0910DC20347469380B7FC1EEB87D4CED7F4A361E58B61C91AFCABA35C03F978
+B9FB5257C31657EE48504C355CE893FE3C553274C641DBC4004F5D5B879CC5ED
+D3F21F867F6DF054127067DE86189F0B59A1B90FDABCDFEE61423609D888EEFD
+F4A1367129962110C651D9481CEDDB8C5C2576A59AED64E95F7ED042AEAE2F7E
+81AC0C408E593DC30DCAC334EDE9EE27D932B98F040DDCD195D6155607DD2038
+970EB78221A94C52BD4F0EAC65F1FC10E5DAA93C17266F351669CAE56F42B68C
+6D01E1EA03AE554D63CE76D800FDD9CFD89F80A241EAEFF7EDFA41794EA25CE7
+97BD5028464D2CD45B53834B4AEF8BF0B9E7C6ECDEACEC887E8790A47A93F668
+A9095E5FA1116A122C0E5B74E2226C654D3187C6CFD8807917820423DA3EC1DE
+AA020EEEF2280C44A15209EE2F3FC1776875308CEAD38571E7BF889F287E4594
+971A83605E0B4169D4A23EE790515223DF8724054EDAD905F57918FC0BC64F96
+514B4BF7DC9BA79E763C22C977FB6146B10D26FEA1BAA7BAF21312F78D1625A7
+8E242D743471DB5821408AB786E4A7EA9D35E30E85533C617689F95758FB2C7C
+392E759C299DCCE36689686DE0C4DCE32649493650BA194A6208C5EAB670B170
+3F2C70BF0EF0E3BE2FB0A79224FF4ECECD6BB3388C6D06867A0E5E3DB93C1B2F
+464C23E44D3132E7D4086E3B59B1D13F49EB4772DEDF8EDC4F603217233FB7BE
+C13C28648E9AA51D53F11FB896839F97AEDD8834BCA53CB0021AE91FD8E95E2E
+F8A094093AF556B9639F508A401542B06821FF9DE1A745FE9AC5CACD5E8E1053
+911442FC15CA5333751ABFE2C617D38FA1DC332BFEF44AE569DC631C93EC54D6
+261583A695F5A392867A57F59B741EFCD2DCFECBC55D1EA5F2317601C9DFE9ED
+D1EA466210FFA905A8F85BD58B98991BEA58DFD1CDED5C9B086D42CCE632DADA
+147941917B879139E016B0DDEB8446BA017FC8EE5A354533D667B0835F5D027D
+C2D580C16B80B3D05CC92C0465CAE077729F0A15B2DAFC89DCD349B3F81D0516
+C65526EB5C10E45A8A85D716EE35FB9AB201FD7C89ADE5AD925A174169DA20FB
+61E96C73A143DF964C20589EF24A0FCFE6195317F2FA0D2249C0D8E649C3D9AD
+FF13332EA2E4C9CD36D8443EC8F027B61CEF92C6A6B72DD4ACBACC16E429A9A3
+F5F29C1631360E32F8C1C93ACB22F810B86D2969A7480F486F62F8488BEEC74C
+2C1AF13BB92BC578E8CD30BEA6BC8CB68ED730F54CED0167605FA76AD7B7E88C
+7AE7688E598F91C471BD65A542E96D64B1EAF19FB4F1234308C48C2DC86E2193
+11ABDB4C6189C6F201627C693691A86DD07FF55C30FDB3F72381E09C6080FD7C
+9182762E5001E30F52A216E0B71E4D2D4E2F3B20F95DF3A11FDB2D2B5B5FAA66
+C46226D5E0C77066349770514E5675550FAC9394FB27CD2C2F974F1FD58C04A3
+1EF53A8AB3B2202CCA1CEFA66228E1480A0709436C44BD3319C40CF888AE4692
+5DBBB52B15CF3A518F627F672135A24D5DB9B2EBEF04C860AECF231EBB5A3BF5
+6DCCD5E72FE4B6DD29E896691868A7DE4120AD06AC573F5608B8449B38E71CA0
+EB5CDA3F942482EA7973661170F81DC88D54DD5B92323F46F833DFA757107E9E
+F62A47CC50FAA1B68ED535C3E0E1073532A05ED339C8D70B3B9864808ABACD23
+AA95E9FDA43D54C66A675FA074E0A5B8777D3C07850A09087F36852B5351F35D
+8BC4DDFCA35CF29CD5E3DE118A741FAC4DED36847F2E2C6CFE08669301722D94
+376F540982958074E7F1383C409652F6C99DA39FE90B38221E75BC1ECB93ABF6
+B00F410A0C5651DB418566AB350FDA1789AFD88286AF3BCB42B98386F7BC144B
+02DEB8940D20A6B3062F0C4244EABC50923390064F1D027A8BACC3DE45156E56
+4A942D1B87F1C4A76B0D4D6801AE792CCAE3009BF25368B31B6AD5476FBD3BFF
+9759EF463EF5E78E10B7BF64005B2ABE0E8813950A08A1808587A98E0021D0DD
+751AD515E8278F1A0759E85D8A084490BBB0F8206484AA36388B1013643D3198
+3509078847BDAE08E76FA5BF3E3A73C323CE093DCC148E3C02C2DE1E26C94D5A
+40EC8308ECB02FF7DD04EC1005A2A0DC74D4E587F10A3EF349E828F69FD38962
+2F0C74D5DAB3ED6CC9F97008ACCE74C086A503948DEF1AAF58FC8BEC703CD360
+D32098A56AC776B1BD08442052A2A4EF6C8798F7CDC102AF1A2009657254762A
+0793F79A39DCD6ADBAA5EC84A7ED6018BBE727E5D477893D84F157074B24C13E
+8D4881C7DF8ADC13EBA0D89745EF93B7616EC5355600BB0D2B630AABA3CF2946
+AFFD0B2B724EF0F28393F3CB6A4DCBBA655E3D6E27F87E6D8BE12A15D35E1E75
+D36532B9C5000C06A58822444593A1038EEB23C7AFC9EEE3907DF8232322B09B
+230015E014F1B4CEB866234266440AD3686E30ABD086CF9C0926E711F0757925
+5DEB3D39C8E6D6F0C05A364A0DBF90F6E32CD28887F7E237E04093E07A94C973
+462254BC1B1586AAC29FC7F15A80FB5993ED22E79A0FB5BF0F7362CFA24BB2F3
+D4EF7D39E1902C53053C27E2AA49C4DE54A05AFB1AA6C7CCFBD9F72150DE259A
+BEBFCA5C7E828BE667E9C72222B84C4C79C2DEB885A69861DDB635B02814BAAD
+9672A14E50D6A2A236AB35C6DCBFA1165F47F8F52B0787EB4B70BFE3CAA8B511
+A630E8148A51C1394C7C321156CF52EE7BFE07B6C354CB65782464D2BE42C0D8
+14EAFBE88DA3D5C90614F22E02626ABD343F3AC0A9698AE84CB97F1CC421D34F
+98B69FF4C335B95F4222A8BAB77662B4A57A4B574265A679334D5EBCB073FF69
+66BD9322B1C2253AE85AB38889B26761BA509C7F638C6CBC4BBCDBBBF4BFE1AE
+855973129978F707C87462B67509FE6EEFB5E0949674C34768F001827F12F1BA
+77AE866711077C30DC0E40C2D8A6EF4D85355E596E26B675E8D223D4E55C3580
+5B79260E90985DA5E5B2F43DE7713D5E67080D2843D44A3585E078615BEA476C
+88233D241D3A427F9B1AD26ECD535E46C137084A835CD816CCA936D0011C53E7
+B33D5B50ED7BF3F41289F48E394BDC963EB1AFD6F14F0C146E0F13B03E76B389
+8AD8E81E41F14D1682A113D8BA1482D9DDFDE71208AFC351B62E028C3D50BE01
+FC9CD5D5F36E28DADB469201F41E9F39098B65E43FD1227A26F6FF812CE452F8
+B5476C28FC1B1B3E5FEF3A3B94CD552E29288AB0A3ABCEAAEACBD2D5E9001579
+738029B0E7F635C6C4962340187558084D9CD408EF7FDCE23F465AFCAA8EAAC4
+8855BF64EC9BC75371A98095CB51BE7FF107E4C6C21079571957B2AC35ABF77E
+9DCBD599C549D3B40A36AB846859C7BD9F87A2FBC724621FC7B305F02742A66E
+F2BBB6B21671FF62D682982C4E8F6645EA4A7D875E03774474BD86F76AFD4053
+61E9AF3C9B374D730501BE61106AFFF8A463406722AD2C14D1A81C08C2A31E60
+42DBCDBFFE4056E6AEF59CA261835523196A8921D1BE0013F8B3D6F05793FD18
+3E767E98289DA6CA9DC9E2EF9E697998D2367E45AA87B3E75A57F64021FAB21A
+A480FE7095000C29AB92E6D299B2E5EA7AE1997A6B23E1F90549334F62417196
+89BF7E9F62484C2816CF5FC2ECB7DEFBB11E63D70CA13D96BF3DB3B95F39A41D
+2E0C84ABD2FFD86525323ACE4A85A8944601CEE9D157445312EE9EB81873DD63
+A1BF3256BD6E6C845E2379D4B42D8D19FA6D540368BA9F7C6B494CDB6694AEE7
+D63B32A6A32C93477AE6756D1A028376CA2B897C7A9CE0513BBF1CB3A5ABD2D3
+CEAFD0F4559FE116641CA2388C14E11C68DB73DDAC0762468B35DB5859AB672A
+B65D7701BEDCCCF46DB441B00EBD516CB785883D6C41C2B01FF468BD01EF35FB
+6F71300BBCAB30A7619E3D729125DEBF7A3EBC7340D1A093ACF8107D109B95FF
+EE955E7C8A927D0A384EDAE386EDC52692BF6864CCD173E5422D00A8F2E40CAF
+6B594A1F2BCA7FA819ED618E1F3BF1C884FA4B7E6F7E330CAF28D3E560A6C526
+351086D8728B80B03AF6B89F3FC53F8B14B389BF8F98E058B92FF3F37B2ED82A
+B7F428D29D07E7B0F502C223B366CC9EC64E8DC1B862716EA1A2BC13AED6864E
+405F0DC1E87A360981A5FB8655BC9CD60C8EB6F359FCAC91183558144796ED68
+9E9424084CF58823A44C03451ADE1A86894A5E51E73652B902E40491B63B3C34
+613F21DF21404D27A0AA6E874293E89D3D3E5ADDC371D21A13B0FD2F36BED920
+753170F64A52947A9FA4738F4F6882F595618232976261FEB5D4554BB9504B31
+3EC2788186FBBDF95EDEBC0CABB681853130A255917E36D61A4BC635BD3F530D
+C0987EC51639F70005BAA3268B84A543ED40420CA26F64C48E56A4D5E508D8CC
+2EA04684A1A33B2E63A8B7A112B870E6A4DFB866117E63C662C1E2E866545C93
+152E712BC9DD4832E2FA2B5D0B02EB7A99D08CCC91FDE42BC08EC32FD6D6A775
+9D931293501783618B011F86C9B59DF4FAE243B02A71F6EA9367956C2FCAE92F
+8CDDF3C65A44A61BAE3DB2ED94A1BA87A1B22528BB6E5B00F2389538C4CE7963
+E0EA36E39954E08D1FEAA7A3C4A32AB57800515CAFEC40DD04DCF2F0077E6EA9
+D60CE99D54216CF2332108937B452A1449075ADBB594321DD7CB26C41D9815DD
+78F0E29053F13228DD1881048BFAD54A74A0BAA6CE0244B5D3EA12B673C27E72
+3D95F2A3F06A49D48F602D257C8CB8EC7E147F9093B939266464995DB61CE89F
+8184AD68BE7959148E5EB2DF1D51FA7176725D5E546A1EA6D1573296C898BA7E
+513538078CE1B86E9D8F25CC8F228D490636C0265412E205925CEB3FD93D823A
+45E36C65FC54D46797641E89B90DD83561DC4F3315F542D60772F8532CAC2901
+DD268E6D3E032A3D89437BFA400C524BD6ACEDC8DA584B58926680A454DA9059
+783450F77845B4EB6B737823A62F27E3A36E599C903F79D9A6ED9979A2F310D8
+D1ABE7465536B7A664EC3DB8CB3403F3D896DB746EA59159792878672C9677F1
+5BB708434DE6E221D29C2853F7CA416FECB29708F707C989CEE1BF23E4EA25E7
+5BB0A23A260346F2BF6DEBF46F2C3DBEDB9725BE362720FC314E97048ADFF4DE
+48F1A512E0B0CE5C8F17DB0BBAE375C3E09284C1B547BE1DD3A4FF0A85BE14C1
+F8B5A8D383E77A7D16720CDA5B48DF6C4F298726509DA028446C371C24153EC0
+953F7106F6E7A71791F2C464AF59EF35724E29435B770DCF2D4140881967A641
+B3A37EAE7F0E5117BAADEC62F2D8D8F3236659FEE2A65DA5FB97D4F7B898F525
+EE509455C941D77792ED32A98EF6D9624D6B3046F1FA3B08F491A3213E7C7B3C
+0739782E7F8ED81C7A5EDA48DE84BC3EFA26A92D00CB1E0021BC03C93DE4B979
+DAF94C1B5C0E3F2B12B433D70F61E86CB3FB728C2DD3E5799B7D1D57A08FE663
+C4A65B11BC53F24B07D4308077DFE10DC1A91AF9261FFD0A01222DF9D3B4A16A
+2DD27DA4A0F8B83154594A3AC8DB713C05E93B692CC5084EF2570FBF9B8FA5B6
+2A7879C6DD041D28ECCC10ECD38C0E931F735C72908130A3D56359F6D5B420A1
+D275C8EE6BFF04F41FFC12E5A128E93D2F8F25111831713C5091DB6673A01B9E
+A4EBF1BE533B7015AB54CB140CA45CF5CFC1FE796A0692A7BA48E7D3248C5BFD
+C0A11C45276D07CFB820AAE246C2362D97272718B6AD473F0C107C07755CBC20
+D9F0A561A5102C764AB6CBF99020FE4F88E52071FD1DD9937B230B80A393462F
+670DD95AF457D56BC7D7BAED4CCF5276037A3E1F27E5FCBB86E1A0D97468907C
+45B48987096EE083214CE929CB35BF3BABC31DFFB25A7699979FC291B88515BC
+B0A610075E4738DE049E4F5442EC67F3DBD2F08D9A5AF0DDDE10F2DE66A35322
+7F0F6ADC8F05B3330CD3FC38DD1F8AC734F9D29FC06F5A0196988869F8766F60
+62985217B17A021F62E02E038F219EC614F716CA1EFC096BC6716F16B5376337
+9E1363A1A3CA245DDA36D5E0FDA5CA64870843D4116D66D31F4B4F23B1CB26EC
+A67BB7A56A542CC019D2AB478F0D0599064E624DB237C6C6B21D69FDD966C36B
+738920BA0FAD6F890DAF180F797F43BAA68AF1B564D711E6E98D4C28B60AC05E
+76BA7AF8577DBA276A5D5765EF9EDA78EE7A0EF96986CC41FFB556088C677000
+FCD28D5A7B35DFEEF93C420B6517A73A255A6CA1610957D42C4B78B616ED93A2
+F4078547205305E85D52CEB35232AC1A7318265CE435460C42086339F4B8F785
+9AFCC09A27F5BB8C389464902955BEDD295A997892E2C7F444EAF8DDBC45C6EC
+4DE84D619079BC7612E0593F780AF934E41D52CA6289A7816A6F776976D99A24
+D3D105341DAF2DB7C884A650C611A1B4BDB6C937A17CE4D3A298628554F35572
+6027F6837A380BB99FA2FAF4E1D4AF398B968C9DFB6675D1BE3BA26626E0C013
+2AC2C14E81AAC5EBE2011490AE77CCF3B23A43414B0B88C6BD520D4FF109ADD6
+5123FD32F58BB82D254B6E8F7DC2D7181AB3BAC1873A8568D66C5EF4F441F417
+5C685905B6697BB7CE41B0A1FCDAE4EBAE289F7EEB169FA31DF44E3F5165C72A
+727E3DE69550949CC33C5A2FCB00E468C7D965C22E0BE51B57BA1F1CFC6960C7
+33A6788C7420FB22C933BF337DB222272A395267B08279D6559BB507F33ED5EB
+BEEE1ECC2ADC03B030BA396A97FF26488BF6F2AA5482F093E935D979FFAF6268
+1A7534A81F4B24B61EB3029D771C77DD075A640EF890DFD38C3C52360D4EBC92
+E710784D2E26D6A21C883C4314B1FFE7D3C66D0514EFA8E4D1A1239154CA42F5
+19895720FFB5D476000CD94FF9335F9104DEE6A43435FE7D2C8308563A44A8F9
+FE3C0B5ADC6D6084A72CA65688B110D2693420A449F37646457B3DC07D6DE56C
+1A8A2CF3CCB857D9BEC2B1C294C0F09F8526239FBF7D0D7382006DD12547434A
+9CDC10DD5F57E2F7735BF351079F44C58E9B6A6E50A7AF0A09F441B6F1D6A3C7
+DE172BEA39225E18A30EB9D283D2A775BF15CEEF5E32F96E57C9CC6B325A77
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+cleartomark
+{restore}if
+%%EndFont
+%%BeginFont: SkakNew-Figurine
+%!PS-AdobeFont-1.0: SkakNew-Figurine 001.003
+%%CreationDate: Mon Feb 02 15:14:46 2009
+%%VMusage: 120000 150000
+11 dict begin
+/FontInfo 15 dict dup begin
+/version (001.003) readonly def
+/Notice (Copyright (c) Ulrich Dirr 2003, former designs by Piet Tutelaers, Torben Hoffmann, Dirk Bächle. All rights reserved.) readonly def
+/FullName (SkakNew-Figurine) readonly def
+/FamilyName (SkakNew-Figurine) readonly def
+/ItalicAngle 0 def
+/isFixedPitch false def
+/UnderlinePosition -100 def
+/UnderlineThickness 50 def
+/Weight (Regular) readonly def
+end readonly def
+/FontName /SkakNew-Figurine def
+/Encoding 256 array
+0 1 255 {1 index exch /.notdef put} for
+dup 78 /N put
+readonly def
+/PaintType 0 def
+/FontType 1 def
+/FontMatrix [ 0.001 0 0 0.001 0 0 ] readonly def
+/FontBBox {0 -114 1241 842} readonly def
+currentdict end
+currentfile eexec
+D9D66F633B846A989B9974B0179FC6CC445BCF7C3C3333173232E3FDBFF43949
+1DB866C39088C203DC22FDC758584860EC7BB67FDA28CC6208249060E18FAB32
+204779B5C03C0493BBBBC95CF02692CC4DEAA8D2EA90B5C2E64374E92BCB8501
+429B8FAE4A76C0C6B76D6FF7CF9A7D5EDFBCA0E959541C59BD05B7DE43D25D53
+FC3DDA6EF0C2743978A6D03E19CCED4A11F2EA4BCC3110BE8B8D9E2772361969
+C19258EFAFDC276CB1ADE9208A941A36D18F9FB1C33DEF76AA315DDB04A81691
+6676E5A648D7DE382599A7743325F8403952F71AC144CB079B79EA0F6CC70FE9
+5F3188F983A1F1EC77ACFC7CCF01778F00CCFB385AFDEB4E5A9CE7CC620FF716
+C61C9DE01E055E0CAFD45A716C0BE3FCBE9055D993851DE60E1E573FA960A4E0
+DA00D6FC534C4CF679C935A5D4A5B19672767A386D945B17D996CF36231F8E98
+218CA1C3BBB7D39931D4D50B1D1EF947277C4A9C9E84D419D55550E2A5FF0549
+1FA0277DC7AD9334BF50CC5492D5EAA01A2BD4770AD8B320B546FDD69F0FE7B8
+7DCE3B013AFA239B624C50424184F8B2E6C035CD8D09C0AEEA727DA23EBB0563
+F296F801C2D059FAA56DDC675D141E980EE19E8693DD546BB1EFAF23B25EE18F
+401F89336BBB74A63088F8D1EEBE74494B265B6B737BBE29B09C257B26F2DC39
+B3CC5E66AB9A1696EE887C7638A4455C101BA7567859E0E604629B5D3FF0C3BD
+9415B98896048B159A2B809B92737580090FE1E59963263B10DCFDBFEFE15B88
+68ADC79BDC0DF2CA41AEBB4338C85C6CC6C21EA274FF5724D26BC8563E63DACC
+067651091F0E4F77C75213298BCD391606C39E1C1F37DD9C2C4515172E0DB0AB
+3E93275D2FCA7CBFA53CB4D8123F6F54D0986482FE3E98ECF421B3A21437BD9E
+E1556833796B0E3BDAAB179595F761991103B3CF06E89E5DDA1F6D91AE06E510
+6896FF0B71F0D2911767CB1DFEEF3500F070270EADED32C917A92CEE4B70D0AA
+AEC0F959827BFFAB9A4BCDD270540B157307FC76AA894CE6094B0A399768CC90
+A73760A26EA9F28C74DA6FD1AEE7BD8F21404F8FC3215606F8E3838371563F7C
+27C0833ED579C89FF32E4F2275FE27F5E70B4B6D62EBB0E0E26724A5B882D939
+13C29A0FE8B6823CF7E0FD24EAFEE0B17FD81119F9E9E730F889E0E6A6BF83C4
+C3AB5B3335202013A4C07D71EDCB645D75EBE01B6D98DF536ABDCEDFCFE0C622
+333D69C242E78C42BDC2E33ABEAC4122F4596B941EEE41F2B753588999185585
+F81C9AEDA32A0BD44F9524B9507F56322B2F69125FA7879FE893379DB4E9B623
+4A4284E77EC96EB41BD5014C4D2C952C8B879ECDD46A7D6F765AF5CFDC63EB48
+F3F635F1FD8DA05FBEDB7792CC93AE900A7E6D0D5E651DB84901133618EF2A2E
+0171B1265CD7728C0BE06A039942CFBCE56565997574AAB2E4D872A51D8BF02B
+8C9FF495D51DA88E25C017DA0BCFD68F818DBC70C21B0D1A5BFAA10D703FD9EA
+70DB8B3C1FEACA133DB42639F5C20F7914E55CB091F2FD6AACBEECF28834E749
+1769A83BADD38B6A3D0F3F91B5BF6BF83A5FAF99F15327E1557E293EF846DA4A
+A7CEAE69F2CD0FD47B3ED0479AC0A80DFF02C332C281A7EF8C80F282C40C9FC3
+C28AC8BDB840A16D96EF21F81996178D6D0E1DF2B0F80087A60F0F0DF579D458
+6477B0CE7CF418866EF7CCF0831186F0CA2E2D3778913AE5E64178EAAFF18492
+C0E0A7FC674D847E9D1F2FB75DC5A2EB5D68DE8E33A9F6E164A22B9B8076D8A5
+A632A3E597F2A5747048F8A690CCA4BFB91D30927A1AA010E483648B839DADAB
+103FC1A010D45B4F1DD2364991ADB1B2CADCED097F0ED3A7DB524E51559C22E0
+039FFCAC41E38770450E8E747E711E77489291D13F5516524493E72A195EB678
+BACE94615DBBF7F3BE0A6021CCD30CBD7B253C9B8DA9E26D2BF046E334791D0F
+319E7633581DACF9F167F1134943940A4F0D3FF1A5CB2BEF83F0005EEC14F067
+A7CEF0F99708D4C78ADCE33624F207E0349A34515A4FDF34F814E56F07346938
+85ED1C7DD5FAD819EA1A14237E8CEC0189B82B5103D00B74FB70184374F38159
+58BC2AB7947A5A0857B335C747CE4B47D0095E9A5EED7A380D68ED09253A65BD
+99F121AF849B78A22E631A0D940695BBBEC38D1EEA66B9C042BD23EC9253D2F8
+42E0A24E3D999B72C918E1102BA3F110C184D82F115D8925F10B2675A34E4F53
+159800A788DEC5F912A644A900D5D1878393015EE0B52BF9054E362F4539BCE3
+8F5A27ECE4311FF01D5929C2C25435B889653A750B4B34A977E0F70181768E5E
+14E7DFF091104FB5643A684748705C5ACF2FEE386520
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+cleartomark
+%%EndFont
+%%BeginFont: CMR5
+%!PS-AdobeFont-1.0: CMR5 003.002
+%%Title: CMR5
+%Version: 003.002
+%%CreationDate: Mon Jul 13 16:17:00 2009
+%%Creator: David M. Jones
+%Copyright: Copyright (c) 1997, 2009 American Mathematical Society
+%Copyright: (<http://www.ams.org>), with Reserved Font Name CMR5.
+% This Font Software is licensed under the SIL Open Font License, Version 1.1.
+% This license is in the accompanying file OFL.txt, and is also
+% available with a FAQ at: http://scripts.sil.org/OFL.
+%%EndComments
+FontDirectory/CMR5 known{/CMR5 findfont dup/UniqueID known{dup
+/UniqueID get 5000788 eq exch/FontType get 1 eq and}{pop false}ifelse
+{save true}{false}ifelse}{false}ifelse
+11 dict begin
+/FontType 1 def
+/FontMatrix [0.001 0 0 0.001 0 0 ]readonly def
+/FontName /CMR5 def
+/FontBBox {-10 -250 1304 750 }readonly def
+/UniqueID 5000788 def
+/PaintType 0 def
+/FontInfo 9 dict dup begin
+/version (003.002) readonly def
+/Notice (Copyright \050c\051 1997, 2009 American Mathematical Society \050<http://www.ams.org>\051, with Reserved Font Name CMR5.) readonly def
+/FullName (CMR5) readonly def
+/FamilyName (Computer Modern) readonly def
+/Weight (Medium) readonly def
+/ItalicAngle 0 def
+/isFixedPitch false def
+/UnderlinePosition -100 def
+/UnderlineThickness 50 def
+end readonly def
+/Encoding 256 array
+0 1 255 {1 index exch /.notdef put} for
+dup 48 /zero put
+dup 49 /one put
+dup 50 /two put
+dup 51 /three put
+dup 52 /four put
+dup 53 /five put
+dup 54 /six put
+dup 55 /seven put
+dup 56 /eight put
+dup 57 /nine put
+readonly def
+currentdict end
+currentfile eexec
+D9D66F633B846AB284BCF8B0411B772DE5CE3DD325E55798292D7BD972BD75FA
+0E079529AF9C82DF72F64195C9C210DCE34528F540DA1FFD7BEBB9B40787BA93
+51BBFB7CFC5F9152D1E5BB0AD8D016C6CFA4EB41B3C51D091C2D5440E67CFD71
+7C56816B03B901BF4A25A07175380E50A213F877C44778B3C5AADBCC86D6E551
+E6AF364B0BFCAAD22D8D558C5C81A7D425A1629DD5182206742D1D082A12F078
+0FD4F5F6D3129FCFFF1F4A912B0A7DEC8D33A57B5AE0328EF9D57ADDAC543273
+C01924195A181D03F5054A93B71E5065F8D92FE23794D2DAE26BF1F487876AD1
+16184ABCA7446A2352AB37C36E9C9BB67CEE105C612D36566FB459D6ACFB1DC3
+7A59448A06EBA21F8824266BDD0ACF9E356251A897A920C39F1AB236EE06C039
+8C4C0AE55FCED464E19AFAF548D454FCF73F6087102630AEA03E622AF2596870
+1353925801642BBDC11F09963F4ADF037671B73D48CD9C209DB4D5BE7F4CB381
+94887E8365D25C45D1F87EFFAE360104ABD3235E4D2F4BA163408448E814D49A
+3E7C171B8F1275D49937C3255326069007B302844EBF2BC1990DDFF1A34C2770
+A262ACCE874DA1E0002188D6A713C79D5E9226178EED27D6F4E4DC24ED2669B2
+3873F42A48E5C1365AAFC83FAD8B849E5D7E52BFBB01B281005A9EBEB4EA2F35
+B691489305BCFE5516DEFBA092F66ABCA2D739A9277AC69F74F786045E63B0F8
+66D545B12B0581AEB579D5E1E2A412DB8F66276E05F131EC3B9F543E11F40FBA
+8CC47071DB04A5D38A707C9F825527521CA1FC412FB54DBD72E912BA4EC8F747
+306A65040671237C8FE84AB6D6157D96EDE13B3A8FBF7140F1A9DA55B666953B
+C7FA638353F278D07066AB8DDF0DFFC832F7025DF1AF9F894D52E9FA95EBBEF5
+9D6B97768FEC26E845B87C6ACF5395C75B894B5A1F50B248BA33943C5AD6CC2A
+8D9AC65C08B3206E7F5E5913CD0D54C9FF741A4D92B628F85E43F52082397891
+66E6F922E0BFA2E45F0072217011D4B8EB40893F151E4E2E92ECE5862C467D4E
+3833311B08340AE1C0C692095AFB739E9B9A4F56BFA0F0B2AB8455A7470C22C2
+0C2EC285026195CB73EE2A713ABBDE4945AFEB92630BF852DD4845FB4C9A8C8A
+0C8C971F29440B4A786108D0DA1AEFDBE03568B6B2F3953B4D07A5B7D6FF564F
+6CC0D8C08CA459D556154A45133BD7AF70C7D8F474DE66E64FA112D776478A83
+B282EA4E941CE2FD6D8F7B68D129CE0093AAF7C1D345C3D65BE74EE9391C9B89
+2D4D31764F1BA81CB12CE46D15A6BF941C9F0EACB4A2DECC8F2F6B85FFF490D4
+ED7BB6C7CDED10F03F68282B2ED20809F95840A904020C98299E17C46243D9EF
+05B5B8173BB2E8CBAB3AA9B8207A9EFE6366C91A7674DBCD9FAF12A2EF4B5117
+5687F3DF1244F5439ECD8AB0587F492E990DD7B516C664AFAB76CE71084FDD70
+E7F5A38BD46926615659488D3548C5066C06E443016DD40275CFF3105573117E
+369C8C34E48BEE832D93F0ADA7674FC6F5A64183DB2B70FF166E02E044B7063A
+41D2F396A9158A26D3953F12982ACD1D7593F474DB98ECFD00EAF57FAAF17C7E
+C1E4775B37FCBCD6DB1B5BC6209162E57E21A6AF427043562D9854B430A0BAED
+20D31A9AC334C87875E53E0B956D33111955459DCD98D54E1BCC61BA58CDB41E
+03009979C0A541FA9F69B55D3F3750515E5F268A7B55254B8A44CA732F2B9242
+18F34C029665B31EB68331B0147607645983340D15E322E3D0532E6376D40FA2
+1041F7988EB9F56D83946757786737D8BB4A996EA7933E79BE61B4EA1115AA4C
+286B7AAFE80AB7C619329AD5FA772A6279FE85FA6B623138FAE1C6AE3FA45AB0
+95D8020D2EE2979E8A87D7E7C5DA2E6B701FEB4923F401F892D83A4928807152
+96CB664018AF24E829E582FA8B4F0E07387BAC53530AB3AADF74404EB2F311E6
+C6A70F960FA962E52A30CCC6E15097F9B7BF011626DAD38EDF78745B60C0818B
+34663683577D897B1B6AEB240F3A2AA29F1F1800FE0A5C205B35C6A6438259FF
+CCEC942AD2D7C3CFE01F956B795C0349DD5380D0140D3BB54FD99EEE5171DAF5
+4FA360A740589A1F8AB4FBC275CC06FF89A8350F4982F87E747501A74B7C81A0
+0F40FBA9D2875022DC3D417FD623D89FB6A0C0F1B930ACC2117C6CE94AAE5844
+0B5C9DAD579B7DDB73F2B26B05E1AAE30AF69937722E8360987AC0BDBE305B5B
+DDBEF5A6C03BE1743C518E6B7B58A85AC961B8755BF37688E37DE0632BBE06E0
+53FAFAFBE52EAF276365A0484A1A682C9B9486CDCFBFBC4F4A1D6BF71378F014
+56DDF9B15A5AE0276827ACBD9AB04D685F52A62BD3DA33BDC2A262B756B58C26
+4F3B552841B81CA60C951F400551166C72B8D357D8122685FE97D14AC22AB6FD
+2EE4CC429D580AD7B8D12A9C601FEE5D25C98BCBCF96C87FCFBF28419BEEFFA8
+7A4FC7B6E5FD377EBD5E743C3FDBB7554A1FB9663B648B15C4119CA952A8263B
+278E5845AB929942E1A0FC4CC413F36134884EAF3704865C1478D6988880EB54
+C5C5C1BDD7CB0548342B9C7B6F94DD6341C5744A9A3C4A866F620BB70575EABD
+AAA42E3B6E23AA029080B299294AF2E9388520367E964A3A66A84628D75F1BEB
+C7A58C92EF7335F30BD0A26D072A986635318E0473CE3CD5B4F1BBFF6E781938
+EE4E3C11AC27A1BE0C3B55586A4565E4B967ED2EE4674121A46DA1C32C5D278A
+44BEB43CCA246B730D337918AAA394728814C726DA4F9C40AC6EE877365976EE
+A53276A818CF25E995CAA34039339C55DDDE74B3C11742786C1E9FA5C432EAC4
+E184F35560EA31D687D005843B02F9252C2A16F9E4C31C18D0D45B7D5F63D589
+3C1FE3D33C912B9CD79DBCCF9FD8223FDC18D55762F0DB2DB241625B91DB17F6
+206120D6300D317E82F3DDE6D2D0825547C08BE7E6FF8FB54D4DFEF2F4E475F7
+F3838B4ADBE49F8C41409D85085DB5A030858AAEEA5AB9CD2D1172C8D0EE31AE
+507D8048E123AEAB05979C872ADBA4833D36626166BBB2A2CEF2F3E641DB429C
+AB15C97D7180E8E6AC0D871E20678516ABAA4D616B51C132F41E5661858B8C2C
+ECEE4A65A2B0FF310DFB531B213196D2E2AB015963246F44E22E603E741BBFF0
+16DBFC284906983A8C15278A36F5379F46C152304DADC8D90C313961E5F58180
+EEEC5A15131E5C48AD27F80B77EB0370482D528735FBA3E6C0548BB66CC222F7
+CCE87194F565B9EF7F32E656E6964501CE32462FFA6B87087EBAF45D454CFBA9
+ACA808C4397F3852158F1C0AE44772253ABEF6D278F726A03A9CBC4330EC80D0
+117F9131C5974445B81093C1D6E093C669CD285D1BFE864D53E5F140D40BE4CC
+2689C42C50C4137DE564374B2130609785D8F519E0083DD24A44DE24A68E4071
+4A2122AB8AB9649660D1C96DC58F37F88623528078BFDA3BA3085D527ED4CAF6
+25BA663A61AEC4938CA78C49623FE0EED33DA2D08CC78F86A807E791BC9CFCFE
+8FBFA55EC2259B64C31F6EBC45D2DF9B47EE09AA54011D40F55B6F12F49F2266
+EDDB09D44C521EC9568CA7E62283C483A436417B65B4FCBC7EA32AC6EB4E7B30
+080816F29F06D6B09E5506D3149C5D758BA85D820357D4955B0C1FFB383E10DA
+4D61774D3B23C84A339C7348ECA6078080FF8B436B2261091DBBDC02583E366A
+622ED9F95D2A85BDBA48DCE8BE45628A4ADFD5A48869800D9B54F530F43A8F53
+F765F5D5C44A9399FC1B9CEFA343966118DD11CB102423D46BA0F096795AF0D1
+BA33F089AD80A104DE7FDF8A6E7D935E6713963FE3C57CC673BCDD423DF3DCE0
+C57EADCA2AE4DBB30166C2CF1F7113DF96A27D4BBB23ABECC5A4795F1290F4F5
+5293B5870F892C9A32C776AAD06D78D0514F047373879CFC5AF9D624DCE5BC8F
+7CEA5055064050AAB2F24A1C792B2609FFDADC6AB8D0F31A12403CF3436A1E1E
+E24BA5F92587925C4D6795A3FB163245FBF054BB1B0FF01FD63DBF7C192D0F31
+33A17E7764699B669A3ACCF7C36849EEDA395E7F55174023A79904A766F21D58
+3DDB7B4C2808DE7FFB8717658084E70DBE046A13BBF1F9BB97B3AB527D68DE8E
+924DE65486C3B883CD65A95901B0DE57821CB6C6AE37644E02F5CB0163617113
+C91D2C649A0BA10736F3709BD504F22DA8831A09BD0B2D6790A498F2FBC2F642
+7845796E606ECAB2356238AAF40323D71B236CBD1E3E43BD5443F304D52F3CC0
+28DB5D33A732695AA09C0449C53C656704D820217AC035DF45F59AE445946481
+E5BFBE5D4EC0A42B5662FBEB9FF6ECFFB5E8517312F56C91A01824E401E7203E
+258C3BA073C1B2532B8312F5AE29E37F5EA71C52F171593B1370D4ED5D7341CD
+567390ED5B75D612D5873BAC518587525A591164E8D36D2BD89F792BD9EE6ACE
+99FB72B23CB2445F12B8A6A0876EE711166C9E34897D370174C17A2495D58B4D
+3DA19DBB1AF2E09C72FA42AA3D8047D05AC4F6A27F3EBF32ADD2AD2FF26EAE05
+A9AB34C9287EE00E8EC29C6603036D365AE08E00D1C7C410EA2551696954EC92
+92080C8FA5C9E67698BD7B895C82ED29391E015F83E0DA145384E223319CBA74
+19494F070649E03CE9FF905619C6CB40F562DA49C1EDD2CA221DD7D3DAFA8279
+AB50DE1C059CB8D5C9FA8137DA711B9D30F236526AA389B2F79F3D5BA6ED9534
+8852BF4448DC1B72E361A6A2B94CF865BC9C3401D995529E2A36DE755EE001FE
+C67B184AE8241D08AF88D626BD2D8AA12EE791AC4253D4761A21917C7F2F5AEC
+795CD14B33F59DD7080C7654DEFFFA669F50FB1AC8C0F2E60201673A78D03DFD
+DE0CB142F0F616C4051772BDB837CB4CE87A0C8D61E0FC7F90517EA0F5F6B1B4
+D57143CC0AE7CA9521C1536962867D6318DF1C9CE6476CEB9ADB21655D379B26
+7A0EAEC2D28430C14D38764C493BA4C06EF4BE6780131F2FEC066C4866E0B258
+51C48BEF77011A0B5763CB3D69A50BDD50C2D7EFBBF18BF42544B1AC196377FB
+4826BACB3C16DB805D38C34F9E92AA9AB5F9A9B317D8BF32AF8A758017269914
+DE3B748625D319E571187E1BFED9CCBE11ABC18C0C6123D24D2C7303DE998847
+0F6F644748ED225135CC3B957EDE8567AF3EE47F5E942EA9293F7BF74260D1D5
+A6F5E56705E12C8379DED158E66DF54349F0504EF584C6D05C44CDD8B720809E
+3DC36FF60BF55FDF1CA8C968E68346CF43C568E0B3175CB7D55343DE21CF9730
+C9DF918360036E4204CD024A67E764D3CC7677E5B229C1B909ECD1B9042134BB
+DD8E47FDBF63F212D401A797EF60011F52EAAFB88E3E70E007BF19826E40FE4A
+73B57D52FAB33A737B1341381EB2ED307E0B83B45D6911E04BE623DA82DD6BDB
+2DA096827E6A498A8D503668E45926525789D43D1BD5B896B487C0CE04FC9DAA
+CD9078D0C8A0639E27F0DCD82C552A7FABA42BFFEAD66CEBBD4D2E4B4A1B40A7
+B6FD119D37FA26C14C29A70E2EDB3253A1AAAC2650009CA3B97B430B1A05F2C6
+F2120C8981683D0976BC42FE98AB2D33014B983CE1E2F1E1AC4A524249C3CF13
+4B36652F96FCBD3660ACFC2F9778B729AFE2CE1BCF473DC5A846FCC3ACBE455E
+2C37853F5204085ABF3BEE50C28D99312A078CE2F6F4C1D2D3017F0E5BB5B614
+102BE45CAF8108407EA970111B5A97CA8C7A64C70D52D28D2EDCD27879B1003A
+6D168CD054E87C063744CDE097887CDF268D89180AF8BB4F170804AE5DA779B2
+1941775FC32FA189038D6050EC0E400BBED364E0CCD8DA571E902DAD812988E2
+4BF761F472EBEB411388FEB6F901777D090400F695D823C758882CC008D889E1
+02678FF81B252C33C89E3B04157C889D4F0F86D432F0B3DD7811BCF01C2FC041
+0D4B1DD9CB6F2433F9B34E7E8ED8BB1FA4F9F7CEB5354A8305C372C2EDEAFE5B
+4AE23CEF34AC457961B15CEA084E31B3741CF2EC317DF484736EDD688737C380
+6D868BDC02D1E63A52D21C8E7C1FD1BD8717612FC247293CC91E0EEA08D5F805
+70217761CFCA0F9C13996DE0F045F28DB67378221722416236E4DC00194E9C45
+A3839F4BB53E226919C2CD13A44E4F67334454DB7E133B2D308925CC2E275293
+F81AFEC4DCF49230F22EFA19F48CAB7E09FA727CC2E11E5A5CCF57307506D5E7
+6DD1D26BFD3DF97E73C2DC019B0A75B9D6386469ACF1A00A5AAB55F99BA1DE49
+9883DC4FB0E8AD9421B105E050519976705F7BC889FB3B6C2921D2E198FEA294
+E192DB3738EBEBF6485075728A0E16ABD53A25BB0795A21B65AFB6ABD7EAA3F7
+1DAE1BA012651B4BA0ABE02F3CCCEB9E92979F17A3338A376C57A1F13E3C90C7
+9DE8ADE421329A57369CCC2BA622840B79C0DF098EA42B810C596DE85F51EB9E
+C8F6FAA598C73F359FD7CB1D337E3B083833389846A99C87885A7537D35772DC
+A7EE51E8EEECF4E4F38AA04C3F4C447080386A41F1461599739D73C58CD02D65
+0899177F7D707AE793B4C915C590AFD6E6810700BC0C3D14B67E03129A4215E4
+953B88C7A9FF1AF4B6DA293E1DF2EF5667D408AD3F2DFDBA46EF95A1D8E1CA29
+FBFA01A4B965D1101CA6C0C2BF4670E94776753FF52C2751AE41872EBE3DC66D
+EE58BFD3BF8F543802C7614F64E7A9CC4474DAB5F4C59F8085FD523C91F0FCE2
+0CAEE1B9613064F9C9CE9556C841563A43660E0E71EE761F0448C41589AD0312
+958167F62FB166655800150F9E81A558949071F01BB11C9ACFB2ACA4F332D2AC
+598AD5ABD3D5EB17AFA97456C0DE4D3D872750F548C357FF34919A3EDCFF9658
+F3DBF53BB3D0A204E84702DF6FCF5022E753CA92323ABEDC81071ED44C306A7B
+C10D15F905672783BFCDF28D97EE156E293046C09595159C735A266ADAACB887
+7026C404951C27B88CC3EC1A6F15F016D55AE6B5DD739914DBD6861098977064
+762AE2867697967117DD7E3CDFC24D046F1D83856D49224191CBAE95C2E7B9DA
+4DC5ACB06B9F637312C1378941EF6B9D966E84DA69E66C43EDC0564D4A9B201E
+5CCD830900AC4D4EEDBBA4AD14ACBADA20179AE138CF35D6F830801D7F9D1F3A
+B48B6C2EA3B77E7EE42DC0A26C7FDA6EB64DF4136FC3AE0FADAB84CD30392E44
+49DD3F7DFAB77AC2E3A8D16C9BC002AA17A9C1E9166A21648AE2AD7F9DB250DD
+2F3F480844C93059796E89238B0DD470329C2AEC9F178B83D421063BCC18CC35
+2C562DAE86EBE6529D19066FAB70C8E73B260C71924B0B3DD652AE37DC2ADCD7
+A3E3E1936FDD259A3F32D669B6CD82D73436212D6CCBE436578139AE07BA8C5F
+07A8D2158C8F21007FC0B96E2B3588466A6FAB4F70363E994AC4FDC2CAB3A478
+9C98DE079DF219648A6219EC7040A8FA91BE9D9451BEA89906677866F50B6FAB
+E8FC00E826B115CD65FAF738492A919CCB657186BA12260C2816C44A632285CC
+25CA1D797DB0D901EECA675FFA1182AD6D48A8A96402D07A288CCC02F8A7CE0A
+39084DA379C5FD08743060851BD02A3C9CC298FFA0AEAC5F5E1928C46A6EBB42
+7D2AF9D32BD0117A8CD7B453C66FF39163092568B5A26F210900D466EA5CE01F
+14BC1F57BB0D3186BEE9BA1A5648887CAC06E23057199A31781C4C37B1A07C32
+B8AE8A40F5C481C8D2854AE5C2C3C746C4A2B48189A373A438F512642A55F2B2
+3CCD2D5A06A1859B50C1C3352B1B5B56E652F00EE79060842A33A8CBD002E777
+3CF6C051A6D5F02E35480569E9D00493C494F9FB977E665AAE4468E6DBBCC950
+33876A21B75095CF391E09E814D7A03EAA19BA0D7A560610CC36EC3A9CA39CD1
+4A359FBC14B07975379B68949C9FC2DFAF037C56C13802A7F66C809549EF2FC5
+25EF3F517F06F90EEDFA6F8A3E5F1F3531A5415F3191B8FA7B0F28950A20A1E0
+6E354480D09729E3A2D6796DB81825DADFA4580FDC7813B7989B18020C3AB1A2
+87E948890C25563CB26A068ABABD94F3D42213218F2ACBB2F5B317311474B222
+BE1844548554B37C97284940D5B7AF9E4CBD884D4994A76CC1ABF8E6AB0676A4
+0A8130F05B0ABAC088FE4F9FB536924A55451C8772B29087B8E5E649DA3B449B
+4A055214DF69D0218549440B3665E4D20C5A8660B3E0C3ABBA3426E7820E1A94
+5D273A6AC95BFBF247F695F4D7E3C2BF9FB7C5D7D1E4913953B9595C37A9C774
+3BC37749D7EDF4B3979F4DF8F5D0225B9237410F39AA49791D3E9DD2C1C33B75
+F7D79CF6A2B421E9704D68013F510E1408F0C243E58A3B01F2AB6488D1C43C1D
+11CC206EE00A0189A780A11816C1490A3D43DA1891DC61E55CCD6C1BBDE82871
+27E7848799A526BDC965C7382E650485A05341E9BA6769B4DE062EDE099928E8
+B5A7A5748A7A1AA6707FB743625A9C2EF7AEE00D188F914C8032C9FD72F110EA
+A18B8CF1F442FF1D2941ACF480E012A46BC423CF80B8B27F71AEEF12A3837683
+B835F569BF799016A0F0DED29BDDDF42FF4B0C6E9DD685DE6FF0865E46F55D8A
+2FC8EC23D31F281092AEBB07C9002ED1D7516AC8CC5881CC0B75443DF6DF9AE7
+0C373DFB29294713B2D142119D8097A35EC6EE55B0765351A47A433634F8AA99
+AC77CDFD58E5B4949F68A3B3AE8CEBC1461957D757E82FF2EDDD15631AB33EF7
+93175D3F26FE229E828E09BA0E09AD83060426A04CC0D66C4A5F68FF07ADCDC2
+DD0D86454F8722AA4DBBF313AD9711DCC07FD0FD78829201FCB6E8F101E3FDB5
+604ED8B8468235741A6001E63A13DC1019804DCE8FB3E8F1275C19515045149D
+757890701A6EB0262C1E616C9BBB2E223EF07EB47A4A767280CF6AA71F21F158
+C945B51897394DCCF42E5DB57A3FC6D68B9933A9AB17A11C83CA0EE1FB3F4549
+7A7AC43B07267C8BA09F3AB2A52C6E91D236554B0C0E25E50F6CED6BA46EE12F
+935E4E19DBC6411493EE29335EF6C3FA87AB5E70C028DDA186055C308A2DE1A9
+1193B3E15B11D1E155513349471BEFFDB5C5071BA393A1EBDDBAE2B346E522B0
+1B2812B4696369361C43EF9A2FCFCD37D32EAD713C35A1B358A0BE920F435B9B
+0D53D5573F96FC2EB63BFF0EF59B177319B02EF472054B64BC918D7B61C87250
+EE1DE8ED8C365BCAA589B9FB870CF3431D4898BE3A5BD9ADFDBF9CB20B285954
+FB18AFFC8D4C4C3CE1C15236386F2BCDB0A89BE18ECC88A189395448FB8FE090
+37DE2E03530D14C1C5A498DE640F91A4C092858AAE8ECABFD3CA48388486423B
+EAAE8AA6AD668286443BFF680A4E5475C2AE27FC0842F10EC321DEF74B3C9383
+0C1728E7D5014E53D83416658D4D039987A654231BC50937B2C71318A9671AD2
+DB628C3C99D0EB41AE2E505CBD33BBA5FDAC7439DEE3FB3422118CA5ED5023EA
+58BF1D47260AEF9EFBCC3122E42650DC69F3D8D8B575093A6F6D6F93E171C3DF
+0C82FF4ED3B1E592FB326B8EFBFA5201E80F474D2F7A68287E3C109A0B8A064A
+CDDB2330DC068B5DD69F8E7BB6FE8E647AD3A05938BB75DF93C0B3B03D76EB68
+E0DE1AC5F4A31BC2E23C3CF721D6CD0BBC3030DBD0DBB1BCEA5E136D1522E73F
+2AE7CEA2D566F8B32CA888276FD69F5FD361308A71A4B0F4E2CBFC723277F36C
+28C982FC82EF3ED04F5FEBFBF9C2D76370E9149E10626778ED2352CD8E7E0E5E
+42E27B2E31C542B1F9C172C21F2BE5932C87A6393F9AA755DFC805B5C13E94A0
+64805D8CC48F76E412EADEE158450E74F60E3BDB8D95455A765702996968BDC8
+F013A657DD6D85400CAA4CDF9BBFC714E431DFB0E59DF43AF9816A0042528EDA
+29C32D43009DE33DF99DF19C1569CBEE990A0E2FAB94AE647AF6173C690E6F78
+76C5B3019B0127DC37DB2EF1C85ED74F782F2825C52006905D8D6E27BF77DAB0
+4CEA0158482DAE525B9A2CB2686B664EAB54C75F41B90240E89C00BB1712A05D
+62743A38E63AFCE7240FBBF3F08983EC757651E74D28BCEE36894A4B234777F6
+E2800ED2D740CA1880327EE6F1609F9CA0C617F2782DFC7C6C03F1D99A94FBBF
+2D2D672026CE044164348BD7E4F73251514B6D9543CC6FA7E236F23CCE4DCEEC
+2A373F4134FB9E2A51EFAD456C431F08F6A4336955BDAB85F8704AE7769A2F64
+6E6F27EA470E2726C4A660BDB14C8712D5A68AF1380CEAA495737037C393B2AF
+07072B4247BB7D012B7AD60091E78D77917B881A4749B9BFEA05F16B9285D48D
+C5E38F9EADC31F697F308E11D32448F5AAF124B540D3E5778774B8F09D4506FC
+9C78EFEEA457048B2510C1F46F28B9EF8FCA0052ECBFFEB938830A1A5EF4703B
+CD1C445DE17A044634ADC6317AAB5D81A7700E90BA2ABCAECE474A22664106C7
+5711C23E9CC8C600879797C785292D5FA15E294C42865B1FDD59A207C388BC27
+8EE14E1F453BA173016D90843A1CE334E917A3BFA7431F09665BE57C0FBE0C97
+0BC8969FDA31EED683C479B92143B88BF6A27F3B18B12E8F1CE2B4249DB7433F
+1A0B6F7367BCDE34903049F49B4C1F2891DC381F1ABAA5795053A027E2B115FF
+644520CBC66565ADACBBE849218A0EEB6F3D7C788D1E4970BA3120C219BCB162
+596CFCC2D590689276DA9AA8847F8195B412A1584280BAF8F8CADCD2B0AFA695
+76A3190C601B5038E6E29AA502A290938D3C410E7D78919014C1160E7ED51DD4
+AE48E760A719DE1F19F45AD907A5355FD7F82E44300B095C1FEC3DEC920A0897
+79235EA5A815CB73EF76C3920EA385CFBAD1C1D4EE7EBF0F0D4105F7D1C837C6
+E407E1
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+cleartomark
+{restore}if
+%%EndFont
+%%BeginFont: SkakNew-DiagramT
+%!PS-AdobeFont-1.0: SkakNew-DiagramT 1.004
+%%CreationDate: Mon Feb 02 09:23:05 2009
+%%VMusage: 120000 150000
+11 dict begin
+/FontInfo 15 dict dup begin
+/version (1.004) readonly def
+/Notice (Copyright (c) Ulrich Dirr 2004-2009, former designs by Piet Tutelaers, Torben Hoffmann, Dirk Bächle. All rights reserved.) readonly def
+/FullName (SkakNew-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.001 0 0 0.001 0 0 ] readonly def
+/FontBBox {-15 0 1015 1000} readonly def
+currentdict end
+currentfile eexec
+D9D66F633B846A989B9974B0179FC6CC445BCF7C3C3333173232E3FDBFF43949
+1DB866C39088C203DC22FDC758584860EC7BB67FDA28CC6208249060E18FAB32
+204779B5C03C0493BBBBC95CF02692CC4DEAA8D2EA90B5C2E64374E92BCB8501
+429B8FAE4A76C0C6B76D6FF7CF9A7D5EDFBCA0E959541C59BD05B7DE43D25D53
+FC3DDA6EF0C2743978A6D03E19CCED4A11F2EA4BCC3110BE8B8D9E2772361969
+C19258EFAFDC276CB1ADE9208A941A36D18F9FB1C33DEF76AA315DD2D0A9FE76
+DE8B61CED3A549CAC0FB08F46CBFB35BE196B97136BF7D3A7C46BD5B65120194
+EB73D8BBCEC2322379B94E96FB58E7485954D301AF2FFAC68C04C239A2B22205
+EAD28C6A7011030515B132B3B45A0304E110E8C974F5C04A443060A2D11941FA
+5075D4D0355D98FCFF3E3BBF3254013BA36ACA86A53D6F3354E33B2FE863D455
+57542BD527022AA7897985AE714A9C8658BE8B9C27152B55006BD61B97ABBDE1
+E6E3A9E009CD076FE4B0E91C23E26EE34F8E522A25E14FBC5CE1C5F5BC58C5C7
+1F8799EE4EF488BFADCC922659446A9808E8DC93405A444CF29D8717A95E0154
+D492A2693970BB7D61089C1DA4FE730CAB8E54EE8EAF17BFDC448BC08D4FD484
+035C7539A085B62D242CC90F3805E4D062BB8E740CFB4FFDC9F8150D30B033D8
+AA39C0019325D55D73B90124FF1DB40FA0901C2A7BDC78122068038DF4186A5C
+5656977B39FDEDCF38B41F578C5EFA6D5A10F444F1F28F9050ED449E4D3FAFF3
+9068CC3540808C6CDA14F7ABE17077522704E548752A43DA35917CA50648415F
+D57B480A41D97F4DE825FA9103C086F910953FA0772FC8187351E0AA4FA078A1
+375B7ED24F9025B015A4BE39741E3AB021F88E40362DFCFBBD1809474195D5D6
+2392B85DADE46137490589D72A6533CE2F54790BE6B92732AFFD1DAD53671EB3
+D83A3EBEFC4C4940FAFDFF61C84F5DADFD6187F7FF020C9651269A8BF82E7B41
+C85069B65687702D683564991694EDD066DB2687C51FA24AF3520EF0A5DC1418
+9513FF00B255F7639A53A20BBCABD2B82944A927DE371476C97D96AE305B82B2
+A83812CA59705C6725B31A51F9D4DB6B6209095C516F5A29CD0AD7303899CC0F
+7440F4CB93E3DF53A79EA6C498074C0CF61C2CDD96C947C9CBBBAE3D2AA01AFC
+9DDFC00BF2C84A978A37DDE92EB9107C0825BCD23378F9FD3F10F71F53F1D55B
+036831DED648D871C835A2010C94B88ABB8D8D021083A38A0F47BB9A6F7D197D
+4CC612D0DC8CFFB07120ECD06ED8E47A186F57D96E300E42626461E9F54F0A6C
+7B80ECADEAABAEA5F7692EADBAEC006CF623178FDB8D25049AEF40EC12723945
+F1350B2608109C212EE91678B9705C80531FAF53662F99EBFF021BD55F6F3B70
+9957D9B3A4DD40E0A0A26F95A0188B8FAEBCF77CA8E904A299BD12D0E4B4DAD7
+B3630022C2E2075E7FFCFF5399A2879B850B643EA1F185B9DE01EE877FF83E6A
+940C2C1E304C7B834BE8E5D5B7E0B767D2FC94602D458D6F86807C6D620D84E6
+E054AF849415039DC1E8B21543BC7A5527349461334507DCB93D40AAAB7A25DD
+BE3FBC8272FF8275A0865E613B637F28B1DB548F9179CB8A3E3953942FBCB884
+FA6343F1B85886C9E40F9C9A554CFC6CF3C4DABD8640D2B9B1844E0B259AEECD
+CD40CE4BD3B761A4C31AB4D67CF1A434E9B36C8F072B3FF50BB44813693F427C
+D05C53548D531DB3CC73118F4082594C8D2E37F50ADE48EECDAC83B0E45E695B
+D814A41E6DC212B463F07B83C42DAEE6CBEAB4727C8EDA65347A11493A34134D
+813F37E1F3E3D838848D09346209DEEBBA41A048F991819A23E4A229EC84A4B7
+FBBB784FBCAD1E68BCD866B5154C9D020665B5EB8A17E78150BFCD0E53DFCD17
+37287E3AA3623BAFAF8E36D2F1B74C1550DEF73F9505810D5853801CF1DBEBAD
+0A2290FCC638BB8AA51657E089997893D883C106679F9CD1FAFAB4A885D86AE3
+F79BF5FF8CEB3A5AC85164302A223930908858A66117993316EDC6AD20DEBEAD
+4FD602B10ED210DB973700FB6D94203EB3C00C2D394A26B50F8BE2E7FB52F213
+DA33CF23FF868E15D6D364256C6B3822E5F034CFDBAD3FD52EEF5A555E5AC14F
+0319CC4D30AB2B841033DFF50A6DE2707D53AD61222000BA4CD50C7F352BF074
+63062EAF129667FAC8D9E2AA0F906C97E79F156C9BC16A9560A37A3030A63828
+B5CE8B9214B3B9511B06FEC6B2184D9605A9625E16118067826807914B9FE5CD
+E4C610DF6C781B28E4802F05176A4D1DC4559F5B51C2BFE780E23BB321DA56DF
+9ED733D96375E2742A6129F45971906ED5EB6066EB2D28546A2A9DDDECA24AE1
+7C231BC951E4F9A519E95BD280CC0F09A9226161E620388F557A4C8683B52955
+9F1898399A3DDFB35CBB72DCF2303A7AB597AFF7C98EE3B845816CCBE684687D
+FE74BC7A91D0693123FFAA2211199FE9204401A8584EF9A3E7703725F23D575D
+B8C763021F096C615F8936C01FBA30D1CA7B8ABF00CE962604C6C27D90FC2641
+237A489BE5632B1E4252D368775F3B71698F9D8B968FCFE7434E36803A15638A
+D5F117D595A83EAA8E5BA26FB60C1F82C1D449CB46EE4E8A5DCD44984FD1919A
+3C8130BAE5577893D2FABD400C4B96258687D33C8064BC8286DAE00E9A489B30
+45248E6C9E93B6572B7D44E8E44C14B07B9EA494127574D949072C79419D2CA7
+E1CBCECE2601E75898C6E29891E4164049518C99D127E90DE5B48C7B4363CC6E
+E334B6959B1A6603C837405B10E1EC34D358AE7FAF6099FB922A80782F706B00
+4BF178D86334F190823B76941DC1B9BFA37CCE05770222D3B2D3E1AB0E9AD056
+1C8DB2504FA682D70DD16E8176952B24F1AE4D3E77163127FB2FA1DB94C9D149
+6F2AABA9C5772726F60B214F7B9258D5D6AA3DB0E65D114FCAA8EEDC3DF77DD5
+2091E408B799859A65C144FF9F7474ACC962264624981EAB23A033909325C37E
+1E2D0CFBA1946435BC59878E5DA4508CA0075D07FD42E16E0CDB78BA7BCA00EA
+900B25DE08171ECDE75BDF0F7BF3CA116C3535ADB96E46D17DF789BCA6B43E12
+636453C1E31E1241708965E16002DBB2DCDCA6BEB765CFD9520E94FDD4FD1E74
+3292141F7408FA7E9A8751E0918FF61B641E386F7149C344AB9A7D669F989B09
+4488D3181C46CDDB8FE7ED16328AA6CABDE39F330A43B3D78B3F655B3D28E5BB
+6426A755DD9416204CE9D0690379EC44723393B2766AC061503C815FF6946BDC
+364791098A06E5F131BB993E874A0F1B707C0B7BC32EEA5FD03B74CD94F14021
+83EB49EBA4D95CD91EB27BF304780C07CD392D1FCCA0A46A1ED66DFA8AB3B494
+9390EA7625BCFC8D3D93A124CA0323AAFF118A4E14167B4966A696EC06162F77
+FE06EDC4E1678DD578084CA21F359381DEEADA2B66FD2C9736EF61B1F53218C3
+BD4A842275777946D125C376C7005191E6A94A18BC1F5E01D59D2DD4FAEDD932
+EBF29214E8FCF17ABF4B3A5F150324C44F23171413634F27867D8B25DFB33E7E
+595271E39B12E4B1EFD616831A7AD857F6344149A61AE9D4ED1E2D19A8395F01
+704FF1A435EF8D03A4E52046F47CFCABFCCE738C641FA6EAC69B34B32C386B4A
+EFBF9FB6EBE3AE072E0F0EC9D387AA6882E60D64987D6C41156A5E3B58CE19C5
+A1810A04EF243C4B389CCF9385C7926F11DCD8F0D30D1DAD88A4B9596369945E
+95D7EFD4668680FC91F9E589A5542FEE695AAF85208B73F42BDB8FE2B5CEB9A0
+CDEECE5DD22CF76DCA5C30A7450783352A92D61FEED9E5144089B9A6B2A13ED6
+326AF7C97DF6BA69A5CC09D4A3AAB93089E2792120D2892DD196F966B8BC40B7
+F40F664FE27884B20A26DE28C0A6BD1ADF36A877FCA73E841737D9AC20AE572E
+4EC4D340740D21AEBC1E8A2251169C396C96B841362769D38B632D26186796FA
+747FE003F2B6911BB7C8E09E300757D3D997B961B78F00E2E77AA867FAC8D9E2
+AA0F906E74E3F93581E275BCA54E61043A9753BFBA761CFC749A982411F639D3
+8DEB8EE1972454CBDE0C9F18D9368C8201F80C493C3175811A1BD9C7EAD1432F
+1D1E5E4E1A9871B927051012D2864A021A33464FD6BBFADB6ED5EDE8ACC0DCDC
+6AC975574760A21D938B2CB96BC756FCCC25C8D81E329F4905EB548B13231ADE
+AB5A63C8ABFED86CB2A7A6D5C6CBCF63B4FD2248EF7BB17D9A1984899BCC9CFE
+4104A6271163CB8EEE725656A2C9453B33B3458F4222AD3EB5BA7A3B41C2FB3D
+8E18C6B16F6480C217F56B377BEB3D2FCCEBEBDDFFE3A1CD8A96F449F1C703A4
+483BC87515B9CDBAB1825CF51E1B48BB73D080AD03C1B09E6D0D408F8325BC1F
+75CCAE15CCBD0A0B0C4223F9283A80F732A1E197ACF8C458AE53F0D8541B4326
+BD60C6E80D4A9886D92E764E728C363B147B0803E8997B3327B7890796372528
+F9B68184EDFF198F5AF030704C1BD95122BC202485CE04898017EFA449A990EA
+3C6B3CA35021D2F6BEFE985852ED46E6741025EC979A4196C2A7B48B1CADD20E
+9B340ADED2085D131CD9EFBEE8BBE9B7211282A72B26CBDFB46A2CB07A666E4D
+D026157BBF29F05066C3A202A4E77553F9C26F310854223B29AA3B46BF1AC9CD
+5E9D4F12E89A92089DBA3A48A013759633F6F046956FCED84909A35C273235CE
+B7C4E42B2D8E4A42607F49B45C3C8A4A30B609BEF513096506D6194BDE6761D7
+D7130D5ECC755259B032CB0296C116B90C3807ECCF932C5BB1B52AC4D223BBF8
+E3DC71BE41D26C77E2A9365D6588344BD70E69D8782FE0AC41D65B6506B2F15D
+BC6CF986D5E31A3D60BFF389BE97B750CD4017C1543375C9CB2090624BB22393
+DDB90DF1D8545651EA776FCBEA8976F522C889AA3F48827DD9280D36D698735D
+AAD56CAB8F59FE0F73577B835EE74BE1F553316A7E538CD3D8330D96CD8F687E
+8947B12E123AC89F962F83B0405EABD1DD34C94719878B9D613AF0C9401D3226
+50F91AC088F0FC67D0A203C2C5F8EA79DFA2CDC53FEE13425D8A10F2F289DBEA
+3B9DAD21E9C431EED6D4BF38ECCF14EE2FF0443BF77799E457D590247135469B
+F2B1CFD04E1F92DCBA540C6A44B3025DA828E07709862B93AB33E5B66B129048
+22C98237911453E020BCF9BB1AE6F5715FDCC38757056512214E376792DD6174
+77CB5EB50F0CCEDBD79DAA0CF6254C627A1DA4B2CA67E935B40F0E889848409B
+A9C983F2B2B3C3CF693463F4D877BCFE28216EEF35791B1630B8CC439F7E21C4
+BE1D31DA3ABB5D2ECC89574A164F24B2FB113FEEBAC192F023FE5010518D82E4
+B822F07B115853E70EE5ADDCE02196848C1EA0416C107592B777CE6D6CEC0C2B
+CD652E25410AA9BE3AE785499CDD7B16241E24EE75116CA9B45A9725093162D9
+C284DD7A9DFEBBD76941BD28780F1754750FF4863C43F7B4CC4CEA183BD1C66E
+B4ED9203381A9F41911587C9A11BBCD1B395C71F3D851DE12D1C1DE001C63AD0
+C72E1EB7031723BA7DA2BAD9A4BFC40E25C5B56C9DE3CB89C8F5787368FDC793
+0185A796596CB762BA1573E6C3E5CE41BDA443ABCACECEEB8139316D29D999B7
+9F7549062D43D492C0F6DDA50DAF29BFF9240B8C62DFD2579383F10DA2B09FB2
+3038E781CD8463856F64B897CF18987364311D115EBFD3F8ECDAB21AA6B30547
+1459F980E16FFB6897FDCB8C37E3F17646EDC94762C44B2188B55AEDC95B8890
+19F984AB5C1ABD2BB2058BEF8E3F28EABAD4CD2EDE43C547A954D74858209512
+656BD2DE32581CD63EEDDA838DE1FB8EF40078DBAB922AF45DD59D491DAAE3DE
+3F7B935A46B8C43FE8F6B55F33551D27629E0FCD2F4F04513D25B9264E3890AB
+7512A7EBD8E11EA70060ED817F1173E55F8FC840CA85BDAA4E6D09D1D5CD349A
+DB4525E8416562C7BC6FB63EC0C3A27A0444BAEF41063B507812C14AD4086027
+944CA92F04E2CFD518D512E4852E08044C7E99C14014AE118F07B7C4C9391732
+ABD2542B8041965FD2AF1E1DA1697940971B093326704A8175D113DCE2D03A10
+E9EBFD03BB2911099B07C3165FCA696CA4083E1E1176F994F22E40D35D811EF6
+CF984A5395F4BEEEEC7174802D779C2F67C5A0011EC8335CCAE1385E81DCFC02
+B7C168529453999213D8E0CD0FF7631E7EDE56D17B55BC127938A7629A50E4CA
+9E2605C1634E3638C035E87E287CC83EC1A2691FDD88FD1CFA265A4FE93764C9
+57BE134992C343AAE11A7C2DAE161771F8793F7BB8AFFD5D79818BBDAB21EB0D
+3173F7F167F3D6FE92037178BEA6459AED87D4681B146DAA8F30E0F6ADA2A990
+784F3DAA163BD6E2BED5EFE08C4F314C726AC9540033FFA39DB14BF890BEB63D
+6BF5FF5A878B46FC3217F9474FA8B25B9C2624AD65133416FCAEF37F726416EA
+6B61161BE82F86B3F0391D23203403317595503A2DDA45095AAACAE7757C0EF4
+39BE5DE9EE140DFEB4F5E62855349C8A652DF82EBF80B3E66B81D25DAEEFBE63
+D60A76B0CB15B228B69F8D6FC392CD143FD9E9A560B2464F5B0B67F6BA4DB25F
+56CBB557C302C51409CC8B80E27F55A17C4D92B288CB70132A91041962FBD1FC
+4100C2AA1A0A98C1AE54A5786ED1F50F8C14D901F05BCE36E48610D0905654A7
+EF671899B0597C5FAC7D7E93399D380F922114075B689C2BBC8DEF0820B785B2
+C48E3672BF9F86E7A6AD34392454E12D93583320B548189D085A7DE7E7E9AE82
+A1F2E2B27166D9A6A565D3B8D78BAFEE3F290B53F1CFB503BFCC4BCC4D15E533
+122066FD57C70585D3762F7A5A783A3B2D52917BA6ABB0D780C73FD2AD184723
+D40E0B41D894AF51A606BDDB354DCA62E9BFBD58F53AAE1C8469F0EE1779CBEC
+D82619B2211866C9ED7692D6CFD104136DF446974C6849F5CB93BE6783A7CF56
+2808DEB282DA1682EB6AAA9D71FBC8A7A910980F8BC85C94014B5D3BEBCC46C6
+DA24B5797565728F6AC5C4124B32A9991EE2908602464FC1D510072E9D5EBD6E
+7F0933ECF0181E11FB11370D9D0961B1CA4F46AFBDF70C44832CADAD415BE3DE
+DB69F59FB2FC1B94FB126C18ADB18BE0F1CE41CC5D839C7DBAA10C52E5E9849D
+674A1323C42CF5719E66EE0DB3A0A986EADA0BFD598930A8ECDCD5BF7794ABC8
+40EC15520D0A497ACE831543D6BA1040D37E2A19890AE61702761D5A36105287
+7E3D61FEA7763690987B3C5A59CD55BE2301D0B367EC15063EADFE778A1E8E22
+79EFA70F49DA9188CEBF8356793BA518AA14583D578FC599ABB08EA036039803
+C6F6ED319A9A64A8B09B5C3E973F69E135B9E681F97B5B0D2BD96566A024BFD5
+11D8E12C057F5EA9AF3299C71EFEAAB7A20AF19CE95901AB2D8F47C7A5E2467A
+F9AC4D3E88FB6105E25BA4A48F6571F08399B1453DFBE50870EE21EC1FCE4CFF
+F081D950C02BFBEAA5624B4848B9045BAA30538F47FD8FAEC5F62157795257BC
+CA73B150C73894551FAA382A7BD77F543BF2B3B637938BC8FE2375FF09D31492
+E948BA45FBE75DF5780568B7814B30181476F29E18F5908B0D89C26CDD5BF24A
+4ACA3F82909969A52F42AAA57BB04DE30CF24ED277E915C5957051B5B316FA8F
+6565B7CC2BA3CD27638900C39EC406227F9F4B971105CC19528F2261759A9D21
+2B708845098609E427D2EB6BBF2EC2CB709BCA425904A35F9EBFF547DBBEB17F
+BE5228E14A389F08920B31F78D593F0029A04AD29A513B7D661CD129CD4A4941
+D502924A032C16000B4433B3FB3FD74A91979EEFAFF4F750DB0DC406C7DF98FD
+59702BE48981F5D9A64324E19FABCDA67DD2A7BA394555FD79F6E52E2E410380
+A0AC5249F43FB8F082DAC54A0AAFF1688710F25818F578D26CEAE7D995EE4AA9
+C8E5A4F5915F3254C11D446060A1542B74D7A7D21A098F14C0DABEBC833F5957
+3B146A8DB8AD33ACBC56068B7EA6FA284C9FAA55BF5ECF120656536C2F60B91F
+1443715D7CFDE189398EDA707F962A4E152C8113DF80D5F696FC6E2794A897BD
+8FB822260046C933AABE788686CFC4049EA6B3CCE3F9E24A35C5329821E00E3C
+54AC2DE64D09F298B3C51C2CD304F69FF0CD05F096BC293FE035D46ECAD9B305
+8B1EEB8AE8ABA78E407D3F1DF0E33F15C94CD8FCCD1EEE69F334EB4BDB2171F5
+C30974ACB3E7CF062BC0F3A66C72534520CBDD2DD136FC557A6369335AED0652
+37EAD55FA9C1CC263135B356A79FBA652937347D7A6A0136F4B1E88225014BBD
+AF6B6C58AC69C9F36D69247885962F225FB67765C1931A3B2FC22FD01568483D
+6F7A13C843F10085471C340B36F43FC974A7CC35B6469D11569079C0EB921AE8
+D60049CC3316DF73F6AF536E54B81C0E470ECFD60455CCF160599B61451348A1
+F715433136CE96C9A192E576C458788E6C283C607738A65E89A6967973DF5903
+DD6E2CECDE0075BF0A04247C703D0FA70B3F864B40ED5B01EBF71848F6AE6234
+C673574AB0CF6D4AF584CFAD2705643B28AF259DA36A62656566D3B477B4C1A0
+64DCFABC6ED9F21F52350E85418ED5EEBBB75077C165BE2FE20FACA7B3152FD2
+CAF0A435007F4CCB5B1A8E78E7214CE0C744ADB226D4022AD5ABED614AA483EB
+2BEE0537C05218423C14422F3725AD3467170B4D8D044C179DFE352EDA3DF3F3
+7F06D84DA8C7B406D054FCF620221B4BD846504053DB08076DFD56EA70C7BD2E
+67F7F7AFF76DEA17DBC676341D754A75C894DB125769D29C4EAE9AC26FF415D4
+99A7CC908A1FB15DD412E992E9459E1668A2ED9A73BE8E59F0F2348A2ADB5981
+46151B4D043DAC22ACE46B40AEA593EB16D35D037ECD96BA7B7D72EC9EF15189
+B29B8F026776A4E2DEF3A8CA15CDFA63E62DBD0BE5A2AFF60AC0956538B3BC00
+22479A63B62108E47FF0A8E288A3190A2F8ECD905C115062D53910EF1E74BD5B
+5239F2CB9F4FDABC722DF4392DA8E32E43550475F3427E7633C2F00C50DF7A4A
+172765135EE311438507FB31BFFC46EB17DABD875702C05640E901476DCCE1EF
+2DC1C358957C1C55B79D9F0FD1C22296FE093C525253CC45EC73921473691EDC
+DC075D3ED55D04FD234C1C2C25DB23416535393DBE24AA287A88F8971180CA1A
+08710C65F7AFA94391AB723395AAD568C7E33AEF68395F4981CBE280732CBD43
+1B7431DE42540794B8337549F76B0139C5AC272E07E26D94799F9DDFE22562E1
+4E3B5C8D8DE89E2D6FF71E9394FEA7BFE9821E4036F28FA82E9A093DABAE0AEE
+FEBBBF669EDC211670CF21B26E6AE6F6CF75844E0F93B42842784C178FA4C331
+2C0F692C03E4C596C469CC59BC54A6429338FFC8E168E933EE005422F18FD0A1
+89E5C4C6A1725AEBCC5CB1F7AC46CA2351467B3737608D44396AE3AFFD687E02
+8B3BFF32AFC8448C311983AC222F890893809DDE26BC5EDF9BAC6F0799C903D1
+8C6704095D2BD19712926E230DD02AEAE6461EDD83AC935ECA0F0CC3D3B7A1EC
+FC649A614211EBEBA3D0A82B2004F815994238F3B603EA8489EF99E770EED78A
+968F1DC4B267F5CDFAAF3113D089D7C85E5859F27B8DC4C5D861697590D9BB1E
+19C3D7C3A7E1B95516EE38062D4EA75917FBF6D42D0B1804227B1F17190B56EB
+D27CEDBAC9B945BEA3F6A927E3BA6903B35183A80EB555699747DE2A22911C81
+895DAD7D74B8182DB648FC01DE11C0F21F60C262B4F5C0C775C25AFF4F5099CD
+3A2FA59ACA73571055ACE5F0257A53249617F3F4D9F5729FC7C2509021179DD4
+D8518F68846E3E5386A1D75068986D021414BCA5F29D060610E429744B45DF03
+2165ED466E72502FF62388829C78D309DB3B4824692E85E9320C26306F915148
+411E4AB3FCE54B2EC4E0F6D4EBCE888A5ACBE4C407CA59E7D2F6D9087210CE13
+D82DB656D4579EDBB52A85B1A79ACE87F60187BCA7BF49476B9F9D6E5FA63613
+E3F0FBD72EA416F01183C3C979A7A0FCD17D37602FDA0F5395C8B6561DD80E28
+CB93AD2E33E505A11DDD2FF8C9C8FEF5900AAA46FC235D65E21FDC40C05D38F0
+18C7B961E0B68825282A20AF919C35EF771C5C2FE2088FD0A9C1B87F584EA540
+8AF5EEA5889725A78B89B0D0134337E4959A8CBEA43EF35433B3D0F94E9AF89D
+BBD21341C38CE647F127AE96A57FD69BC3CAA1864AA639D6DC17987EFAA23D84
+4D7BB0C6EBF40CAA5DE3A730486725CB4040B31CFDCD512256816C142ED025D6
+AD169D535FD6F7B4812EB825918376AAF68B2BB41C80B96A3D3B9A613F488652
+BEEC391245945B88139C4EB9D20B623C1DA9AF2F7D16D5687F6EEF459557747C
+CE0D2FBD2738A24573CB09583A78A6549FF60F9980CB3BC380FB32B28415AA82
+A5CE8754EE149CC2E1C76AAC8EBB0EC32A0B1DD283E57D897B13E94F5EA3BEC7
+206C3EBB17629125A6EF88167AFBB4B1B71738ED8C1293105D09341E2F72A325
+3DFF244FE7B3027C6ABE87D7D7DE389141A2FE88F7E9C9401F8C4C2E533D8905
+E28C7A75E36D4FB400BB281194B6F740497C5F2B3357F76CE8974AB302A9DBA5
+A4214055B90009EA22FA33B4AF96117806FAAD0E761A116748EF16F2B426C369
+247FAD0E90BD3CA3BCB791C36C132B1827A2AD09E019403B91CD8E4D89B34336
+CDC17DE2EA90353B87025524283F4864FC0BE61B80C589BFF5C4C35D56ACC421
+647AF184021396579AB5300EBEC37174560DE92D8122F8C04F6B1EB6CF1B5EC0
+73C6294F2D41197B60086AAEEFB24223F5847CE60F6E83F8FFCA1FB06662196B
+AFC66EB226EC5624074CFCFF29450170C97193C83DE369C48C9E898787E475D0
+5C71752556D707360BB085F25F01992F06846EEA1504342D7B63EE9F429E038C
+000343A09DA0DFDB03580FEDC3E27F14241340EFB8C37A265AC470A32762E684
+A645E296312B56353D4A4EC43CD13105B21161607CD36D1BF21360CDDCEDD19C
+2E1125907454F4B937A58AAA65FC77DACB8832A7F896F705B48EDB0ACD864C3E
+12E56395A38661AD0EDFA2944FA7CB003FE088725F37CD5D3298E0747F3D44B6
+CCAAC972B7484001343EBE07D93731C4CAF4D3D801998C92580B93D9168EC94B
+141D368D2D66F5AA22A219CB3FB6D1082423D45FA9DE5AD5280D3251DDBE86A5
+3A2F2F63F5C2BE6B184E63FE3BB8A8276E8BC23C600727DF268593657E04F23F
+F5F9C59ADCDF87E47BC3B82C215F788260F9229930D9EE299A26AC58F2140178
+F6D871A697D9CB34D61F638C065EF056061AFE59E31C167EC77A5680CC198B22
+5BD0A51205CF3B166A1E5EB1579882BF50393D71887895ECD4FA2BB17E5CE8E6
+894AD20C70791715FFD73AA5728233B3AA2C00997B099B0F31D01D082A379E50
+6C196F081950DB2EC9A0FED3DAA1AA801FF89597CBCE9047D7A6B02F74B63C5C
+2F00CAA693F19F214EDEAAEDBE98C6AE080F50E8E6360C7D1093C51FAA556406
+E3A843FB007D4613D551F757C900AA20DD8F60F31401B13A94EF78CC8C3A43B9
+B7A3D1EF13EB2673FD0F48FA5185E258846F230830213BE358E7BED98D4E4C43
+8BE5D3039E76A62D2942C816DED6DA82B63F0614540005FE84ADEEC6EAFB89D3
+5DDCA3297025B92DD631607FE829FD1B6637DAA0053E9B9571F0F88A93DAB433
+ED2E523AA46CAA945C12AAB8F9E3703D902E881A81222FFCD82CF657AA11C9B1
+37D6546D5C03688DB57AF788FDCE436E356FBDA953D3A49EFB9DCAFA63E25871
+E6E75DCF3B2506E3E7A5C7A2B31B7480DF972F362ADB6FAF0E0C56074CD8C3E6
+9F5AFD51471E6F52EE3D1E720D32D33D84E76C5E629BFAEDD4129301E53427B7
+06EBCB48C14A7836FB12C6FCE9895B959EE78A440304BDD57B4162F0275AEA47
+19416FA7905CE046F7D525A2D9490FC6771E15CF5B80D35075B5611F9B3D3188
+3B2530260637C870E6D9EE417A44DFC3AA1D0A20C7338C8A084A02E9BA9C8771
+22742A556E8F832756381E18609A25C72501AF1C1B2D687CAAE750356D18FF26
+0EAF10AF1BB1A7F4E43A160F47C571D66A07A191F1442AF2722947CE71592964
+50F7C7D3DD3E01992AE7C9CF1ED19A2E34258496E014A39A63B7898235715C97
+EA8E8DA6A2052E8BE37DF383F33F28EE98BA0FDF73EA2FE84C34F32B465E2010
+0C1E3057749F272CA40A90C07E918339FB08D48465F699C77B71C3FC372BEA00
+72380DBDCEC5F91EED753AB9E6133EBA5D16AE0A25FCC03E8AD35CF856DCBB30
+C4E75EB7C1A7BE4057008C943C4203E228E64F2012004C7C02CBAA242C2D5A97
+4597B22BFAD26475BB78BA1B9FF2D83473DC97D971A31FA35DBDD6CCD7D2F5C6
+B0D49134AB3C691D87D4EE2DE509C8D44BD742D508CC8D8EF117DA2F0F8E543E
+451F707B2CF25B97DA0FB7C3030A13F4CB83101AB77649E3F11A1DAC63F7CBEC
+70BCCEA1DD5DB0452D952C60DCFD745EA781C33D6159D0C01952E9851C0D8A68
+B33A6F7D09417749C94EAFA3326B305EB0B27AE1C04FAA4D893D3A47C33FC78F
+D06EB28A3E2B0562ADDB1AA18C05A66BAC5026D0FD8DB032C84C1F0D0CF5D5F4
+7E2764086D228220C2F3D77E57C0BD2EC4082276B858327663958260C3CDC25F
+44E2866DE2EF7832FE6E9C0280A08535EE0EDEE7AFA53E2E438EAC540769F12E
+A6348D37E1219FE46441B41A892978FC123904F7532F2E9BAC4B1AA7B3268F8C
+F9DC674C48227BE09E63C87C0972F80076E0C79F6F9BBFCB4CC4F8534BA1B2C9
+8B885055916934499D9A4F81970E6A77B7A3F32099BB293FC9327BE4A66E8171
+A28230CAC2940B5947C4ED69261AA498586763D6F2098CB7F3DBED9827CFCC7A
+DC6D1950ED64831C18AAD715D3774B3759D056E3F40CBD377D73990620892D97
+DA1EBD97D3C906DD241C9DB84B5978A7F69FD254ABB45BBD6619ECF6DDEF37F9
+C5E372B8B03ACA3681170440BFE82F6B272B13242044C7D933AAC990B90DA35A
+29772EE1E4F46A38CB9F600759076063BC9C6BF6B2A3E128DF9D5D17B72EE6D8
+415E3E4D86A788F54E06B04854AD617C93F431708ECF484D811F5EB3B83956FB
+2603C5BB5AA042CC8FC0A8317E759DDC5C6C5A4AC9E21CE0ACF1C02A9B72F3C2
+64E40D218246E7CA384F311F23DC5A7F7DB374E0E3D066CE1D63806FEC35AAA4
+100ECC05416ECE2F061CFDBC32147B4EE770072ED026236425D096E84DD009F5
+5A48C44CC3138A7307297BF2B08A80874CF0D889281F4761B0D9557451DF3DA7
+2DE6C083E4FDF42A54520864E06191C88F62032F15D6FE8A368B398CA9379AB1
+292756DF7066BB9B9088EDA3A1565DAD1C08E402BD6CF4EC99EC3CF3C97CDD3E
+0DE35AC5CE15B36401360DD1D3A7ECF49D9963C57D5A69DD11F6760850FD686F
+798015231BA851FA8C1F961D71CC4D1A11BEF388D2B7B077697FC8F451370398
+21527F91F5F20D556E956F19270A4455D81D673DF28F37969C9B8A4E33DC3B95
+B0F930AF46521682B8C2C06DA7ABA7365B5469ADE405BBA790C8AC663D3D8B0B
+6EE23BDDDFA81DBEB89EFE330DBC2193D0CB5AA9E8431AAB8190B2D8CD0FF25B
+6F484D43E89DD0C4EA851AF4CB1A21C8F99509E2AC88699BBDF814F7BE8259D0
+00115DDCBEBC8F14F80728870976035BDB09FDF8841D1EA16A052AB54604EB02
+505B3504802D416F3FDD229E4FA374413032D41E49D000F673BF02C4AB1378E8
+72250855BD525A77989E7F7AB43F3D9DAEEBEA4F5816EA818D988983A453AF25
+718BFDC9B44323405489247D74053915CB74E458D104621FBBDDA9C07374E48E
+C0F532B8C30B22CB0D0F2A48FC5EE4296F52B8E1CF1D678F3C26D1DFFB2DB9A9
+81E3997BBFB6AB9BFD7D0345DA43E917069C2E5A7A205C68E62261CFF48B89B5
+0829367082D5CBC15179AA9B8856E6374FEE2DED2612EFDF26A7AAA13916C3B4
+38CB2D19DD2DEB414DFD0EC3149ADAEDA84CDAAC4D4A7AA12DE56EF0F476F7E1
+7B52C16E45BBFCAE27482D0B122DBE0F38CBEA0C0EC3D6081CF5166D64EA42FE
+BE65AFBC49CA12368B0C4FF30268850F19748BDE81050299EF376B0BCEE724BC
+D89F13DFD07FFA1407AE16575C363FFDAC672B635E55AE7DBA3877950CE83F4B
+B921CAF0B7D128D2C5F433E7429F8950CFF585D6D77443726C9E61DB4E6B4C64
+CDC5D1910FC5E9A82455CF2ACBD30F2BF92813B3766A44A7DB05D5AD103ABF7E
+871C485044C0264EC79FC5E180BE62BB02C8AAD47B6B3D4223BB696725223A06
+286E357066AC2041236804808B434CDC5970A61B02902AA15C39028C26214AE5
+7996E505F90584D4457D31F32FE835691F35936C5058145AEFF4D474E289B5D3
+E88D5C62820475BC49294BB66E1C719AA298DF6D4BFD8105B71AC8CB616F64C8
+3D83AB85DEECE7302C97262EE71CC9AB380BD4AA27003ED7AB9306CB76B744A2
+B6DFA69E23C072B94CCA39F01660E2F9AD03307007054179389B90316F00A491
+E5D5E54937B9F6D445F2D54E8335B92A3661C980E1CB520B1F109FF5DD1B2C1E
+2DF6F9DD3784933EE4CAD908AD8D2A15EDD2C0D6408662F9C57ACFE816619D44
+ABDEE69D695B81E535E38B3A6C6F5DC908F4EB8169C7AA0C9F59601233990344
+8B3621F8D578877387723BF7A30D71416FAC38ADE439CABE703AE37E598939DC
+94B19613C79702597E31B4E170024E1A0340553B02FC5DD761B91231BA70D919
+81C0DA29102B621EEA28AA0622135A8D3562F20F043E7D9DCE370CD30BCA81D0
+5C08AD22232D08EA71764ED574089E864B12B8AD46C5554A16F707BD654201ED
+6FDF8F0D824991B80054A4F3CBF1B0B9EFB0DE74A4EAB8011FED42A3AFDEF56E
+0D31667C6B206B73092499DF66534FE418EA3C70653C7289843BD9317A1EDF3D
+33FCEB6BEBDAB0966FEE169A23A76A525FA61CB1292CFACF46C374BB0997F686
+58E2782C2ECA15CF3B4D1448A87E42CC4094DA61BEB4CB1F24C159C72D715A79
+4DDAC90B9E67CE41D99BCD84E774AB127B923FB4B31B6FEC747FE8628F1A9772
+0DBD052E98BA90C29450FDD7BBDFA8CF473527929D14015228776DDBF2F73325
+978AA1BB6995264719930CFF839282CACAADA2C284B1C5A9EF450C2AF472F345
+240A06D1F1F2907C0C2EEB3EE7D75B10E351E459083E89187FEE20F2CD624DC6
+B4B5DEB78FA951FD627F4B644D53464AD3D66B445409D8EA62FEB927796AF4BA
+34CBF1B167BA85A4B102C8E2758A1D50F9E5034EDB0F8F4FBCAE139E037CC6BA
+A8846900F339A983DCCD6A7C82155C20788F91C94A2885733766E873A998FFCE
+FC5EC3EED1DC39FE0DB262EE6AE3E718027A6B03F1E343DA8E08E5BD27C03580
+5E9E47E644587242D5CD0A2592D8D1290C549D2E92B8EB706F51E9774F884DAE
+245CC193EFAE07259C1CC9840187BF837078C6EE3E23E029B8D614028560FA14
+96B27C7F1FCF54B472F19081E69B251EE36E55399339B74D9BC64CEC4E5662F9
+E5DCFBD532B51230DA0EEF198D0822F6C54C87735BCAF722FCF7DCD072DCD2CF
+2C45FFE2F05549DE18F2863A226757FD537F20E4BCCC62613B41CCDEBAF3681B
+6A630278A827AE2AF8D257C1A5F5BADA9FD94B35BF91F278765780B667F1C495
+C865602C9FE71F7235C2DE7ABB1A2BD21E5032ACDC456EDA1CEFD73BF776115D
+9BCD2DDA1E2F4A7E42D8437B75A22BB86727ABB18D9886DF171654828A941322
+D1281484C3AB629B0362077DE8ABD73B823DBF4E5F98CA8FB0BF58B857422156
+EF9EEB2C1ED4AABDDE31896634B81664658166EFE871091A7F5717A63D76999F
+BA160AAA5BAED913C7336DC682BE223706373AA5B6BFCB8B54E0C3CA2584A6CF
+1552A4FAF6DD15CC7723669EE1FA2AE53666FCDE7162AE10F88A7A3E2D30203D
+BF119B1669F61074EC40C40E4E5928279BB3593DDD3511478D64E827ED0BBEA1
+42869CEB9B1609D48A7D816C2C347EE95A850A870AA28EE952A73FF9BEC94DEE
+44A0195396D1588A5265E2F4EDBC12E8E133A710125C8D74ABFB2B5E5E9DB11C
+7BB68537A5A136DFDFB915F9395B3C6DD82A73FD8C813322D2F21A5EF3644532
+A903651CF43F2058A130B81CA0D141FE095B46E4ABE15F6F94E44D1731662FE3
+9ECD68FFC53464A6DF9F5D6FB27161C3E844A528EA3ACA74985B43B8B5051B61
+D84E7FB513D8C63A89FC0DC5FB2AE65D72B8AC7C6C7B5894936880BA279BC1C4
+D0FB0020494BA1AECC8F4BE6DFEE35B37AD3FCE9F217465D26D2A199ACB2FA7C
+9DF1BF064E977253C714B7083F68B4547F254093032C9C53FFF0590FBBD5D99E
+B1EB986E538F1D83C67ECEA652CC01184654CCD532AFC4300E634CB66F3C200A
+73D67879526F47CBCC6DE13197AFE5146190560FA62A01BAE13F80D5D9AF2EE8
+706A0BF373922D7C1553D1A1FA0C1BE46F902C1F95B8B9F71F697AFD7140A1CA
+6D23A721B98A90BF85975229D719FD9C7127AC411948FD66F0DC4DA3B5C90FC3
+A395E4F3447772615028D55987FF1DB5EEACA58F099A1F1A364A70A6E4C5CC16
+235E84E9E19CA3CBF5F37ADFAE65990A9E09E14A9C54DABE4324662F6A0CC736
+E16440667B00342442E04FB0FA13E8BD0090A74F9A473F040F11626BC1F983FD
+5CC8789A22096F607AEA3D63497CBE2760343AB18A2BB15272A1A1E99441CFEC
+DBE74179FBF051C3975517A48CB70E748D6662F2D32F491BF5BD9913EB8BE97F
+A5832DCA7A268C410A939F0C135ECC8D5549A1F3E42AE01D7CCE0330E5792ECD
+4BA14A3F9C70179E120374D1069857F5F981590818F880D877AEC81C08CC70E0
+E30B74ADBA378F8E2C64BC3B21C6AC672B001F8E4536FF6449963BC4BD8D6528
+873B41894837B93ECD441B261BDDC9EFD8ADA5E0F78DAD0652C794B1C2B80958
+70E76756CDE57955E2D59F33E08C94594F46B171CD0B3DFDD070A836AF19B416
+BF2CF76A57AA40E88FE1E7A26C5C7003D88E08B64515F00BCEF3EF969FE8CA62
+A821CE80CE3E9972964F5FD32AE2E50996CB7FA05A64394431188BDDF94286A4
+F473ACBA94A37EB59DA6CE7BEAF22D590E3B5C66786C6658673E2275C54A42C4
+D7F0E313E57D6E5F0D2D1D82D25B7B0C609F664FB838E47E19EA331C4A3832D7
+B5E55D931DDA96B18423CE5F4D3EF6E26C7595B783755C587752ACA1F17D7511
+9CF69A6A0186CEE194C992BE9F61F106DF82B2EC187556D475870DEF4E714D9D
+39F8F11D2486C9921358A1CF668D260666A82153833A11260567878B4DAB1755
+31336B83527BD4E71A2513B60376806F4FFCD95F5E7DAFBE24BBA2CCE97D2B6E
+C1B81C398CE957EBCC9FB06785A471DBC003A8A516D2D24C513F59B4B73C9275
+F948F8C86720122BA1B21C477F18CDB245B9CDBED7C1EBB5134F4DF91C6F0F44
+7D376A7D28D3E6FC1982545029694A023CA2F43C93E7C8171BF30D28F8F273B9
+ACC81B4E5406094AFFAE1F981ACB8E31DDF49CC997AA68A0F5D9010343D814C4
+D417CDE93CE651FCF9C1CB792EBD77FC1CB748DFE942892A2594C25D292F81D2
+998C1B408625AF52B6833709EDCC5EA74B7DAAA7CCFD584FC3EF566D980C5A7A
+6DE50F35334A0E474EE56A688427049A83CC56FEB7821231488D70C210950775
+681CB963A3A818D08978666AE291B5086DCE8A0ED586A78659F78EEB18A7CBCD
+E31575E006797630E7C788F2DE2DD385E6F57BC3D2C6EB087000CF5CC04E91A8
+0B242F75AB420BBD0E97BD1404CCD25F0954AA772BC2C7873A3396DAAB1C011B
+44CDB374094AA3176F1ABB9DFD81BDDE58BB02950B1CCD86A444A8066387BBAD
+6EB17D32DD5578B5C13DF9EB644F95BF3AC2FF900DB26154DD94E7484C39E8A1
+0140D8DB8619D2D896BE22D2FEADF64C131141BEABB219B1BA7B701D50587201
+A96DB374C6CB939A6B1ED8D2AD8125FD9AACF1FE2C8DA562900F756B615D9045
+4B64D793DE59DA699B75F495CE12A3A5269346D6B0D8C72A82DFA78844616B53
+4E5B133211D963C1BFEFB408EE348874190256F41D0EC6AAD7364FF0150F17D5
+9508BC05759F60106B4F5A3122EC40AF98EBA8408481F2FFFA0431C4DB287430
+89FCF8F87F2982030985AF175EFDCF6EE9F274DBC3600E608C999825A7472372
+0796F6D7CD638D0081DF92992A5BFD49B4E0BBA2EDF4A88BB4E3567C8FCFD8FA
+AD2883E44C3405A958EB5950F0441C3BA757578C38674091F4B85802278B7DE2
+2166D3D204FD9D82F6A1E743628EDC2FD1F049C08956AF8FEA2B258F8B28A190
+37C170A09105B6A752F3801FA04D7B376266F466332FE35AC3E7C7F58549B20D
+A7FBB94ADCD51D3050800C6D00DDF9B26F6BCB36F3DF30FF2A36B3A6121614F0
+C8BBE2204A5292C35480120925216DAADE74C35AEB06928B6950DDE11CA38C1F
+EB6CB50F1571434945497C9D36FBB91E31D7AB3E2A721BE94C395B1F55D1C70D
+99E11FFEA6B35E4CF25849B15F6A074499B8B3BEFD337821BA067039DEB40154
+34BBC2E10E21B0F489C4A23818340B870847EB099B8A07154FA699E2433297C7
+D8B271510DDFBC7CC8A942694498DCF47FD306A8B92C4F49424C41A358FDB110
+E4C34E96D3585CE4BA1F21A125FDB67A7AFC0A4E9BC3097504B68B524E19B985
+628500D5B81782885702DB3144426F4A2B2474829702A059C941C6B67C1B5B11
+4DB721494FE30D72596B8BEFD02B9070799134FE7AFF2DEA0AAC9EC7E22340C2
+E6761FFB332D436548A739D609C816E52379C2A03E5D386413B5D44B93618FA4
+9905C5A35F37590DBD51EA2D1659E9CF55D6CBE1291830BA5189C231E79EFE75
+76D7877CA3B04F387D18CFF17E88F9D8C87B110AB67D1B7C047153609B64A9F5
+0758DD9357CBE29FF0BEA410F407B3035CECADA2F289FE91F6797305787C2D71
+DBAA733D20A441E38286F7978969851C0DF584760496FB62B811175A410C2D10
+1ED792BFD393A992C9F5D3B9A17C5CE99D49D829E3EA57DDD6D4F2ABB8F4574E
+A4E3C7196E521582882F1DE9E22797E8CCD2961F0D7EA3CC8592A5F019E1FD00
+6A4CA17B1ECBA7C8F953849DB2D46FF9E4537DF1305075505009C38055A0B595
+EFAC02A120CA4C7F5A6CFFF15ECE5EAC45795FC1CA85881ED8CFDC605BD4CABA
+D1E90591BE34077733C48B16BFCA9C29D8157C553FDC4046A3BD27E10D8AC5D5
+A625F06EC1A7208F0642EB14955C056C1D8561CE9517FBA849DD1667E51325CE
+6821977DE0A028A2E4602DB513215BA382F423CA5EE1145BE0EEE91A6D964129
+3F0FF6AC4F85BE130CDD7C80725366B8ADCD1F001D66CBD0949A66C083203108
+A4FF60415E53B172181F788CCC64D35E840B48EE8ECE13EB1E3008AC4AB86003
+FB6C19AB9E98E0DC0A06508C4451F951065B9EAA221D65C5FD8922BF7AF24A4A
+B70A36F4D7520855F5593D25178A9A35B9AC27601A9E94A22A66C44C83401B45
+0D0705AC5674E6DA615A7798ADF9CBED0A1A7C4BDA85D4546BC8CD7B9851E57E
+D6F53899543B0FD1F6966B5A764C71D586A81A50DC87E68EB32029CF36E4B259
+D70F92EA2E434ABB56468058FC340FF8CA076C2BE79C57FF3AEAD7C026D6F744
+5501D2C0C3EB880FA5488B7BA8C19855E7B563820E0696E923BD4BA558AA4E7D
+6B6979FD0588793D89E7D37FCDFB3D623B149E979EB3105C77F01D7E6A86D66A
+7E687E627CFE8FD069950114DD82B2496594156C92E823039E06D30FC9BF09B2
+E6789B7580FD1CC4F0821414581E834FD957653673FA9A32C779FD7C286C8219
+6A8463BECB7828BF600C211BE9CEDE5C08B0C76FEFF48FE369937A9A7758582B
+D64041B2F959DB1DD4AD5C22928613EA3EFD205610CCBA56B514FDF7E6E144C1
+6B2732D0B7C1066635AEC504FC9258DC4F544F8AB08E40359A12B0E97475EE71
+A664521331A05352C3AB4D9B9917F1E1E1BED691F849AB9880B6AD3BCAC2CE3F
+99EF8AD1B638991C531EA363786CD6E21AE21BB13226D72129E6AA7FB852A78B
+C6107AAB948F662F542F5AE3BDADB5CB0A44AA26A2081EDBBC43E14B7C09A730
+7F82CE21AFC74CDEB3874138F6034C53565F5A0CE37BFC555E3C1D5A279D27F6
+EBC0C02C78F77BD9891722BB7EB000C98B057872EF011DBFD8CD389A79E3460F
+9AABF19FDEAB40E549CBD023B2856C454AA0FD35A07261B1EC29DAEB237ABEB2
+895388DE9B46565075C650D798B76C2108C0E50AC904E345551DA950CD956066
+99EBE2AB1C41AF387C75403EA1F922E532F9ABE31B48301BB5DC7C663287CD28
+D95925DCE18A22DEE9E448C561F321C6BDB5DDB37E12D9BE6D9479348B44D109
+665DD042FE01744C8C3B42AB84B9CD2794CE09DC18BAFB37F6364E3572991982
+104BC328B28D0792E0F66924113102FA420EC7FBFE21F52AA3D138E5198C2CA9
+D20682DA532D3B9C7BBDE18F689FB2128694DCC0006E67883134F1C3DC9ADDC1
+6FB1A17B4FBB0F5117B324D80839707C9F7E09059CCE9179FE4F8049E90E9DBD
+FBDC2EB76AC3E0C973531B750D8C56591ECB00124D113C1717314DF15A59E155
+C958FDCE8D4BDBA9F25AAB12D45046E13D337CEFCC383DD97039837E67517016
+0F0A2FE92E42F4DEBFFF3691FBB89C6C45FEA0DEEBDA73CAFB457D6BE77C9D48
+9C9AED0617DF236E28BDB7B954AEF2D54445500EC22AB3086D835E03D0D8AAC4
+BB397A98603163155B896BDEA08994C17C01E8ECB41E4ED7FF9E624894139500
+F2F1137775868D69D0C3355AF672D6DCF09A62FAA8C3E48528047B7E2905E5D0
+5DC739290B2DAC51102FC8E430D5253F1DAFEDA9173C54A50AAD336F460A6738
+8865191BDAE87C08694F73EC574D68A8D9F085543BED57597BF2452363443408
+79AB31F351E63E10264C1F83683930A1F15B384FF1BB73C15DF825BD6DA735CC
+3E329B51BFE7B28E90A8CF81B9F0D0A09A0B96A3FD4FEB501BDD8ED4B4F71BB0
+62FD8A2AF9BB28F8B587BBC7208A2B238084B2D9EF5C03C2B5F89F077E2075E2
+A472CC6DEFD0248F1216CA4E760AC613196D54A9F18A6DB92222C1FC56F24713
+E7A9B61C6D451FEB0B0133E9B4DA61D4E4EA928D93CB06CDF6FAB15AC288ECB1
+2BE253DC7835D5896E9B8ECC47EB18A059673963DB7C5B7BFAA53345A5832762
+C6F8045DA52D82F95D89A9F62AA3C15B6A9381E11C7617569EC0D65B25B34BF5
+DFB13B4C1944371632C49022835D828F0D3577360960645BDD1D65125800F417
+990EE566DAEF94F8C01AAC5BFC60215B836BB5B5AE6F2BB37EBFED061749ED8B
+102B2B5DA4699F99D873A5527AA0887FDE2DC2D62E072BC3EBD69A43EF6CEE64
+FBB5B2CE058034E96FDC4283E981BCA3F4C6BFB2CBA2CD40EE3CB00D249E5FAF
+DC766ACA416C335D9A5662A6B01F84FE12965A0A42AA0D5D8BE5387113025535
+146C4D28EBB08E47D18566A7039819D5BD8B78F3EB38CBA86A46AC1F5490F3F5
+9A7C1BCB3D4F9D6BBD8B0DE2F6D34DA5BA4B7BC825CFABD099BB13DB0969A2FC
+FDD516500B4BCBF39D6B2B780B15EC4CE268D50607662FFCD35D0E745A2A23B2
+4E510C81BBBF44BE955A683440252D0769F69A01EF6011FE0309A38DD07C7698
+82A5316716C7A7A214D3490E3E2E3803550BB55503CCBF89493F1021A88F10EA
+2951D7D9821CDE03DFE8E14E32E31220D12997967A4962B34F54BA566BBE4AAE
+3023C9BFB9F8384B828D4832BED200257A384F2A9F2DD2117CC473568133A2D2
+88CD185B245CA7A7C22FC1B7C462959BFB970566FCB4C132B03D2B211FFC5054
+872E4E157DAF93A2ED67678BE54615C08065F4CAF36B4B684C59C5B53C8C1C34
+12B6AF0338DCE73FDB823EA366541A98C5A2311EDC4CD7A45CA57CDCC30A471E
+AA92CAE7E92C85E42E7807F5FD5B1689D8359BA948D7D2E9484910E1E1A3A978
+F573351525A22880E0B1F202B39A9BC66DD085CE9A4B3F11C3D35120A8845880
+7FF5CD34CDAE4EFEB4F4460B5A12A47E7BF66ADFFA455D29BAF3B042F0B8182F
+B513B6BA8A3835CF6167EAFB7A217B50097FE64C4B57AA6A4922546FBCD49727
+30F5AA6CD96FB0ADAF75D795E54117A9142D9EFA59EFE991D9023530DCE5981C
+29C85FA0FDD80F8BB60CA8BD953EF0A7C5CE5AE7939BA83E74DB2DDCC0657AC4
+427431236C88F5FE3B018E86775CDA3953F3A78DB4453B14EF469791E60B3FB2
+9472A0F44538EF10B9368197680831CCEBB8A35BFA8E57B0A3C0D81E2B98AD7B
+A903B6FDEC52FF9954FC5EFFBB78944530840CBAEDF5339D2D417BA09529282D
+AEA455DA4986789079F6A857FC83F9A35157605A87165C14D17699DAF4CF5770
+BF3636D1FC0D33C151500AD4AB9F164DCA6E5D1869C82B79A787A99392661682
+F31862F235450AA07C416CF3E17ABA806982CBE165651C031B61A8C27A59664B
+0C9B44507E31B695D549D0C8F1AEFCBF9BF744CC02A50754C8B71947976261CC
+B75A991B0E257EC4C5AA30CD530C031EC28E5B3B86F2381C7372D643A6DAE672
+C6003397309D7BC3BF91337DC3A09ECA46832EC866A8B1F24AE105CF7C4D7947
+3962552A88E8B45CADF925F7487CEE5398E6E7A4ADA9B67B6D6EC2FF9C3855BD
+4BEB2B202087032FC27B310ABA7E2C7067B28E85DD950E9A7A7E05EDEF8A3DFE
+49CA0F94EFAFD409BD0DEC6F35264C3D44A3B8D8343C206C348DEF0B6304FF6C
+5E7B50A95ACC77BAA44B5C721931AD20E853793AC6AB5FA2B8DC15265EAF726E
+9DEC43942FCFCC22ECD06C5A4EECC3D342F48519AF96037D15C0196A11194F02
+737AAFFF47F65217F1E8E7D917464B2FB01AA2CC18EB7CE7F9966CAC38996BA7
+E957F01138CE3F67A52AD3249A580368B4BCFAA3D6CE153C1A7B9B61CAC6BB3F
+E0E4F9E0C8547B47E1F5C073FA728098C05A7735E8614E77B55FC6D4DBD13856
+01CD5D5E34E0B12A036C5061C95636B4E5529F62D9A8576A3EF54AAE9AC02110
+F54454FBA548870AEC4285630D557A8DD4A9AA37F19E5954F6E0E87422C3A32C
+5AAC90FA0218201EAA426B5BF35A294C828139F85F670AEA3F005A752FA4D9D1
+01EBC4F06187F8A06D19045F89FDF9AA827D09E6D91708AE699E2D182E8682B7
+712F153A60F3957341A1FA52F538EFBDA3FE82EA258BE035B77E7FF4C6C42A52
+C696DB41A7D1E7B75841F9F2CC9B7A3E367AA69DE46383A3645A74A45032B48E
+96655051EB8320B3E46D6F44894D82C164C1EF256C7640D2B61C44D40E467AE5
+A898A0661612FE0FF4A6002B2B5645EDBE7D5354B9F871B20B06B0A7CABE1A3F
+57EE2055DBBF85F89F578ADAAA2C08DB92A6B50F581B5DC17877C2E2AE62A380
+2787B725D78C633B6259252606FA23B8E9CC43C6E952FD6475518604917D2F43
+751593DE15012C464041E3618B686013E189D9F46DF7505D6C44172108A5C638
+7C441536653F1AD6EDECB436DA5A47EF5DA47DC4C531F690226D3D13036FC42C
+F49F111C0CB261F15CF1C893797C61811EB425406BCAD3607DD81A454E8BCB1F
+3CD40F46C3A233097B918B3EFF276399720CC2146FCFB1199EDE13F4AF97BE26
+DC448C20B44E623F82E6CB97BB1293711A089F0086CE3F4A248386A2FFA8AF6B
+239302A040D0D93ADC5F747238714D04CF9D3185F239E39A94E765CEFA114D8A
+C8BBC532D4B0255C50716B154555F5C3EAA57C5FB985C18D46216392C11AE440
+971FD1198FA6FA5B98ECC6981997626AE362268495AEBB98E04673A12D7B9B20
+DC9EA613A0B8C3FC515FA3A48840A7DFC2DE1B6D0FE0DE9FF7CB388BAE21EEDF
+030D1DD30F626D27A62A1B2AA00B517E7810E9ACAE1419595B6C258A7916579E
+DFCB4361FFC721D5B554A36B670DE199EBCBB4E1D38A75D2C0A4D0D532FB3BDF
+8F1B4FD221CA73F5E980701F62C800E2172D6B9378CCE56A669085E5D917C3B9
+4BBCE88820A516F373DD736F96CD642E81140BB691D99A5C57EB05BD032E09D8
+D0E636704F0E95528B007BDFE1910620228C43FC0D1EABE305C5054A8344CA3C
+34488A6E5FFE5DD55F2516CCB69CBBE0561D5759D1DAB918DC65DE23DEBB96C0
+A0437099483335B6C623CCD1C1A01817B5A18424A7822FB06ED6ABAC523A92A1
+62F52C1F3B235576D7D383F9F7A11B0A0B24D90D8B82CF42FAD84C78FF3A1C68
+E1E5206F74DA74D382F00648BBF0A2BD9AE19A39F118FD1816E9E10E99FDD337
+E4D111C64F45D4690DD7270DC7AF5F318F9DFD69957075DED7A08C8305A1A6F7
+1FACD0935948C45B1BD15D319C6106C5E16A0173D55A2038C0E18D3E4815493C
+6D2645ED03129D9D5FE839E0CFF83C6EF22805836E6E0440AFDCCC6C7D9E93A1
+D9887D1B5372BEE93EF862E3E8B04482CBE79FD0269837742973886558C5933A
+BC47E4C0953CABADE0FD94EA23F9EC93A701C59AA770C249680CA29CFE30B428
+52B2018D01C6ACEEC9EB6AC3966DB4ACEBA8EC8A6FDE32F9BD59776C73F3C9EE
+ECC58D6A3654B8BE84A065A60EB0E7D2D369E0DB62E91495C682D9B17C193A77
+89384B05582566B1CA600A96735C5B22A4B7F19E3C79A7255BF42164AB295F6E
+9636048C4DC1A633615781E04D1F0E734EAA889036F29B90F341973CAB8E654A
+7F6175D0F86FDCB556A8F61C155ECBDBCA0667168849EDFC3C3247F3C25A9066
+4E892628EC302081C7A4984A3A2491423716DC7AAF3BC44989677036E7CEDDFC
+6BD023C1B783C32693BB0AF0F4E26D913DCF659359827E4664AAA6004E00E50E
+F19FCECDD2A51CB5CA9705DFD2614209892251E61A395116B0A71CC6E51BAF10
+13685A025044E0DC1B1AE5131F787480A53694E07602DC70E0503200C54D448C
+4AE15E2D90B3090777826C3FCC56C30E5DD48F5ED7FE04DC327E938AEBCDD252
+57A1103B0B7032ADA46B323A26815862FF5ABE1A6277B38C8B6159088DECA925
+821EFEB0C76925C4FF4B033A9C8A29796C6EF02E8A4964CEFF9C3474910B2546
+005177C27476ABC17D07F51AB5E183B6982E7DAFAAA492C81736085971EF565A
+BAD452E49198F047F87ADA15E4D36F4FFFBC333B22D90C330A01C0D27ED815AF
+DCE7EEB3F84206D9218A42E8AAB02A633F615146C28B5A7A3941953D86470D29
+FCEB68844215B2F058A246BAC172DDE003BED068788CA146944BD4BBA54498C5
+7E90F25DC239EE8CB81EED1B21317530700A51B6B4D85026977349A0E2126BC9
+502F0422BB9D594FCA7BA401B298E5FBFC505B7CA9E0DB11A5BAC70972192092
+F8003E7FADDE0DA3ACFDFFF9B7994CDFA88D814DFFABE62A6342BFACBACD65AB
+7822BF6BEED0893597166543D6DB4CD02C113767070988719BA1D8CD80871995
+AE4E039B26E19628A30F6BD7712E368E920C0BED6FADE95368AD56C5910D8F77
+F70B25EB7ECD0CD2762EBD54A9B3FA73AA212E4B0009969AC55A5731C49AFFB3
+248A19EE66D50FF5C382504772E2566E643CE5EC0D99C6695680F22F278542F5
+6494B6CD56FBD95B11991429837252438D68087E9D082750121B6399757048B7
+277DEA9DC190741064B69741A8940C279F63BBA3E209394F3928F155B446A212
+E94A029CFC9DC3A72B6559BF92F94AAC2DAA320DB00094F16350E0767FE270AC
+D7822962DF48E92E66978AB3A23236BD8DE1149CDFFFA53C1B25DC478048E773
+0FFAB078DAC7996BA75CD751CB9E995B678B49AE100AAD70B04349D539CA72C9
+BBA4A85E6E9D24DFDEE6389EED66D951C988133FCF2CAF1C7F4AA7C15ACE0DF7
+ADC7E71E0350D9A9A60ADB8BCAE808A1D8F8190C8A4744D7EDF26B4F12601664
+427ECD88B3EAF507B6328119C8B738CAB3103860115BBC46236F97C4E6100019
+7F724B84FB8CCBBB5553003B018133AF4E92CD4BB7A75E732F0F4DA43531CF75
+B7AC836B9EE16F734D9FFF931A5312A56EB2B71CE8429331FED4F7EA228F4FE7
+D9D00A6EADAA0EFC8EA0194208544AA186981E05A0E7C49907201D905151F50C
+FF992F0933D789FE9F681B19AF913105FA2C96936EFF540779B55B83DC646BAD
+208324AAD414B29E4753DD19E532A42ECE49DD539C7FDBD157937DAD60DD4501
+6297A4619B50480DC8C9941C3AE8973EB52B7043642F62E194688CB5C270296E
+2A4403CEA918413F0EF92106CA191198EC9069E04878082B0EEE799B300784A0
+0AF46758B30AC0D99D74AF461352C2203285C027BBD21219F2C0CA1F50E7494B
+EFAC529A26ABE666D5979A7A6332C8402891C26A2A2016C3DB5AA09095775C61
+A3D9F7FAACE2277826E311D00B3CCD84F17AD74FA26EE5B29AE959015C1CA302
+D4DF9CCFFEA5820852CA21A19F3DDA8640DD6A3EC96B8C7AF337E316B98254DB
+B4108E3E0A93B7783413B36B7127F434A712726ACDDBA427CBB3DF6212B5089D
+3692D2F1771C5524E79A98EEED92D7217A1FF7AB7B8FEB478CFB480CFD5B990F
+69BB32A8861E33191B50EDA113713E3441B59666EC50FE51289B3237D2EDD4CA
+5794F81C53AEF607B6BC82190225C78382AB03CDF853FA267C79AC0FDDBF18F0
+1E419628B80918B3BBD5C0833A8E798F98909B9744B56ED9D88212637F9624F2
+3C938B62739C9E0CEB02FA79262F4E317AB68511875ED01BD5EDF71B375AEFE2
+92FCF6C1872A5F63B444C0E79FB27521B4A23566CF4061E8A869457514C32315
+E814A6021183C816B924BBDDAFBB8A20D830B8A4AC916801182A4D1AEB987E7C
+3572D04D6E93624ECA999B04C2E8F52DA037C19AF65B4FF5B149E471D9CF4EC2
+01D53CEE5BFEAFF42CBF6CF2E1C1EAF006CB2A397EA73E081BDB4E2E66615CE4
+72EE5C7542887EDF2C9AE29AD73A12173309CEC15880A8279D5FE996ABBCE605
+0B086ECB301495F7A65B5DB608AC78720B05DBF01528BA30FF134CA0C993AB04
+042087DCB06CFADE56D508F513085A5B212125F90C3C70DBC5D32407FD16EEC0
+E4FF5E05EB8FB7D8BE7A004EF1924B73E68BF76789E7EF13C3F8CA7129E350EB
+B888EF9B9F69E04D104E719F32BFA1295EAFFEF3CA137386DB5C15D209C04133
+EDC2A9931ED4267AA33D32168400F4DA81D71FC2351A361F024D36339A60E266
+0A1E91C77D495EEA1AB4C2D24514F726FB0B3348907E8FE28E0172EC30D9AB31
+ADE4675B73FE1321C90BCD9C32B1B3CDA509D702F1B2FDD00055F1FA525B6A44
+80DFE6DDB1DA30DA844FF4EA3C3196DF234F3D5024AA841E16F6299A2E5560DC
+EE963F814246B6242BB948004E95F4BAE1B591F7237FE83DD458DD116FFF1503
+5E288DCD2FA00638EF3C255C1EFD4559C38F0AA71C280169E65DAE835D16E917
+0403E0729E345821AA8490AE1EDA60BFA863C75DBEE15A9232A1C97160348C9B
+02E34A48571912049F1E6C85A91A36D8B8019CBEECF552E5B1D0064A8AC0EFF9
+7CC95CD4D257B5C0DB55081044039161606A761C418E6844794A96E5C782A278
+E4C7D92289915DF2ED2854D29468C37B535111CC7C8E466B479511B5FA977503
+063426752AADBDD96812DB4CCE0F911380CE599547CC10877E24A75FD4EEA21A
+ABB4A0B8E932E80E5C9F1351DD07D94685078572D0F132A715AF3CEC57317F00
+7FCB9100A8BC79537FDE44EA53D26CFF714F19971A5DEC18750F1E04856B2F2A
+C02B5834772CB7A3A7F1AA2581A446FAE63C5FFC126C9A03B304F9A82F8B19D0
+891F17F475C0B7E33A4320D03319DDADD94697EEEBC1AF22BB5BD903AD39D5A3
+ADBBABB2BC2F406156DFEF235E7C16388237F0EFD2D38CD86B51A5FD7C8FB918
+C046EEF7CBC4F53AF19918B56DDBFA691BB44C9C8443331EB287A6D1BDE5113B
+73F6E3532729185EC8E1EA8B82A794CBC5ADA36F551C740B1A08DC6D5EFD419F
+DBF983AC5825FD0E0268F93B821620FBCB696431D25E1BEB38ADACC8B0857C2A
+8C02B47BCEB415E910B16BA0682BA629CE00C4CBEFDD0535EC5E10F348964C30
+93B6C1772B7C14B4780EE247C2D2F1B3C8D0581CBC847543450F5D3E9A35C466
+D1B2F7AD694EAF8B832493B17B2DAC889D462EA6C21213CF9EF2414D95355156
+52B3D779943E2F4E1655D181D96698EEDB479DB67A4B9444A9F450DEC4156986
+8B914980AFA45FFCE4E0605D61FD19D8E26E5AC96E81F49194EFB7CC8369827A
+D71FB0AF73D90960B292B835F4E3EA1ACBE9EB9F2E867C39903A60C647781B06
+41F755F64D0438ED9C49F53F0CC1BBECC2ADD5435722735BB695F6D910B81E95
+3ABEB784D3C2330FA69BBE6F08CCA1AC994E0840AC4D5B186B6B124E262E43AD
+3C7007A3A37E02577930F101E1FB72F0D46283EA07AB23EAF6BFE4DDF47A61BD
+60D93E994C84D3EFE3FD6E648B7E5FCA650323D68929F67A02F4A3D8B958EC38
+444F15202914A24E7D54FE197737B409B91087C553E69818597EDBB5FC397854
+E888BE33085F8325913F0257750A0971BC9522754A4BEEC68AB46CB33C38B938
+421FB66D123487EFE6583EE841DE0DF2FE91EFBE541E75589709DCB57A62BC5C
+0501F0553EF4C3F5DE3E7ED2845C1B3B2F01702A8FC228CCEC48EB011F08D833
+411DF2611833DEF840893BE3809A20383A7915002DFC8854A8BE050F345D3839
+3589A02F95B48374147930F79461F10C8A9394E6698A34ACA52BE8308679CEA2
+D4185127D4D01ADEF85F930296FEBD9E01F87CBAF4084E5361B1E5D80C45CE95
+CAB024A68CB3DEBBD10244F1069FE9ACA7460180B157F1415C3ED33950CD679A
+DF6904B3C39CF2945ACAE97BBC96BD671ECC43D9270EB094FB692D3888CDA463
+8EECE06E55230918317B67876B15422E3F7524A26EE46130C02F4B5B30AF6FE8
+1332BBABEBF2B56E3698715D1F31E2BB950B8BBFBEA6B396B4B3F5A678CC55FB
+757DEFA8B621E0F13939FD102374910DE0456C7C232D187130E46C6CC2898B64
+0D8E010D854281C0D7B3C11E7B616FC86C46F0D3514B322FF0F1E1C5827C41DA
+4EE60422AF5AA548603E7F3F55A763F69A05327E022FF722EE6F0AED8A848769
+31A2DBBA252324F1825AD2C17FB0F6D9C47723118795A537A0BB4AD431A9759D
+656E959D4DC9D78454C6FD326E1C760FF26B9381E14BD8E57CA2DE306E6B1CFE
+55D35C57943459A64CF6B547050F3199AD98644F143BE2ED60B292733DC13A0D
+11622295C77698035DC3F399E6763356FBDFE85D542FC24D455A82145E69BB9E
+7F70FD3E3280FFCDFFAAF0036DDDE12B8B30394985BC54B7EEDA2A2C8FA20E84
+0C0406919576AD6D55C5BDAE36371D7537B7E4EC6FC6FA31D01B8E4610C03559
+9EDC4538A9F22817F38CD216165DC69DE7AA166C619D52587F4D454BD9C05525
+76E404D90671BDF360D662C94E4BF0EC05D925484F40BAD9B0B2442EAFBE3BC5
+CB4399277DAE4F61A346EFE8DA0BE1596F3351F28091F7FCF4E6DF9010CFFA40
+DA2089DE0EAC92A8A26FB4136773B254FE941DECD389D3E04A5EAE1D78FF4235
+FC234FF05526D27DBEB4773784B9FC270196744718DE3A6128050788A23CE25D
+D79F90BE761B49A5B89616E2B3DE8EB4E08A80A112B625A59BEBBDB88C0EA42E
+BCD2E2F752D7889778949DB30CE33CBE99C8EA2F15D1BBF491B3B90D94EA56F2
+9F10E34CC5C585BC236091874499708DF130C6CAD353F59997BFCFCD7A16A4B2
+F83C4F6C5DB1689D6D4B2E32F75A91C5EE76EAC56306FFEE203D3C78DCF573DB
+40CF05493FB77E956D2A9F3DBAC891C2D3F0CBE210C5356437B664B3F531F6CC
+9B507F651CF22F8C4F1C84439A67D6657A20136EA2AC6B581967C2917AF8C51F
+212450B22B2CD229C9B9943C640D8343A84097ABAA1127EABF237A6F1DA2725E
+950ABDCC695DBCA52F927A6EE8E60AB5671DC740FADA2EE69BCD18D684331021
+240934F7E9554C1CCDF87B278256C66FF233BB7A343C246BFC3891BB2C001210
+49692B8B62A78A495969E401A33134EBA1190C8C0987F38F7E440878C5C2D252
+DE1B8A63722AE60BD6FDAFE453D80F3FB12582F32F3BDC4A953B9878EB2B8C9B
+E98D1FED949907549D8834A25173F6445A748D7A3D8BA231890534CD307291CA
+182A4CAF5941145F7195D8E5B9A753AAD02877FF5413666D206DFAB2349F04FA
+D0845D8EAE1995ED2A451F9359EA1B596FFB123A0834DDC7674BC18BC6C2FDF5
+39B5CE051D22C1A78DE0C7B411AE291F5A4CB6DE5C7D20614C1BA070B3676222
+E816DC95805D27F7889334B9A059BC5BF69F94C7BB74ECABC9F4EA93EC2995F9
+5AFE0E75A6665C650A855FE5CDD54ACFCFEB08CB959A05F1409F136061F26F4D
+E75BACBC9B25453E049F119413CB0FF39D91968A64F9445BE107EAC1A6E3F520
+07175542715802AE219DCEFBFD626AA2BE45C56BC693F9A7442963315A87BC87
+54DFCB3807BB3E13357FD0C729C9B3D639B1EF512E56DDB272ACCF81BF637D1B
+F7A165E4825B5C9011BDA5698F2DAAFFB6148FFC24FA24DD11C380948E9AA758
+57C15A3B45B0FA40A5A9A94F4AE4CC2D38453D3A30A5F2DEEA51E8C476FB0FAA
+E4D6B81D5E47EB5A181AD11CE8EF83C0D470A6FE835E9B3106C682D1082D7D48
+0B90EB978611E4304A478DEEA57BB6168E78889A737C9C0BBF5361D65B015DA0
+90B248FA2610A30B61391B50EE88D7D749A51B5FDF2291B96F5203E1F66E7886
+85C5456441A5975A5CEA97ACD5D1E3BBD5AFEC4503772D1C966CEE84E4E85732
+F9015AB59AB6819F0D39DCB6F5408A6D2EE24347F6413AA49F10D18A1B0ACC86
+CFE42A428FA531678583BB13FF87C3FB2C0942E11DC56659CA787028590AC167
+EE2508B85EDFAE5B60E6ECEFD04584C7DFF682E97D59E71661B94F9FD3FCFDEE
+00429BE9415F2C5622BF87895C806F5122B2BD63EB3BCC5B646FCA1C1E87449B
+25CD489DE5B01D43F1C4C143C02480E7BFE4199A8D54FF89372F32CB10E7AF5F
+DA2F89E1C5C01F216B0B387D8535DB38D69F92D23D5760454BA21186264CB4E8
+D1D3C79228BC83782413A323B0B712CA2DE25D5F567E1CE442E269FF3366F1BC
+3F83120611E35170C60C28F5ACA6049952E2753CF9588DBADC5E49CEE27A62A7
+A97AB21B8EC711CC5A9D9E6A6ACA868DD8D47A0B317BC97964ADB331FCD627CB
+9738084879E2F1A00EB9194185FCF485CF9E0457CADC1F41B5421B57AC44EB03
+D4E78394CF2F056BBFF3C58082F59AA673F9D41577BB89D487A57CCE02345D17
+8DB3636813352DA46AC7E9004080BE3DCF8746E27F94342CDFD22BBE6D345A3A
+75AE9F572BB46F0B23859A8F3E32B12F0D978074656928CC7025005D32D18B7C
+10B8DDF728D97D1670007A65BF41DDBC572606883BE7A5812199B566DD4B37F0
+4E8EB2B3C47C4B256062B57CCE4F0C6F23CB61BD20C070E00DDF19CD0F3C61D7
+168F93FA3DFF651E005F499D584C43E97B0FCB16ABE5775941696AF678546EF1
+A1F0F0BBB871D49A180028E3C3D172890D6BCC5E29878C2413A23ED47A435FD8
+7810D326CC01863028AD38DE08A9BEC43E87A108DB8104B9E81BF7B86FF3AAEC
+52A5A8A5C2486A5402B1F7B6751944A7B951EB4EA01944376AC91DB524152991
+BBA90C55E83EDE48FA57265F6BD820DAEA4938010319055013CE3C481B49681A
+5F6456F77ED132C174077681260D7F9DD739AD7EF112FBF8FFEF512EC060B0B0
+FFC5D8AB607396FDF0489B6C1D03C8230A9EE5D98E25F2E7A4A14AFE7DC717B9
+EAC6FB4A497D467D8BE166C9A635D941BF94D3899E2309229A5C3F1DD75AEE3B
+D84AAE921FB4E96CD69FE943F1DE35E6A583FE2E3C8CEA90306BB3F93FE4E14A
+301D3048316F62710919E5D94618A645899D4DBD32306EC0BF94F4E123A9DC07
+40ECD484613A57902FA3AAF34414321B3C5702B880F1F6425F299B9D110F57EB
+E0BB940008445DC59C83B1858582CC0B448AFAABD4752212C5F0DD8D5A02ACCF
+00247C1AED2D7F671C40475614A3A857E104D5A2D940718748972EC13AD2A883
+C3150F7F5171729724DEEFC4473AD93065F50B7C7EE4C69012ED11DA1DDBB738
+6FF9C368CE45B6A0C83BA6A0A003B8F0D0022551A542DFE726E884969AFF9FFC
+EC0D5B7394B8D1C767AA0B0736925FAFFDC0978E746A6F10175CCC3722D770C1
+8D2D0B345860FDEF706A8A5A42F921C4E5F5ABC31214524DADAE6D8DF8269020
+2F9B401B7D1D3D4524DD69A2FA0030E64968132E580DD3F946498817EDBB9E99
+F06BA99C7C5C01E8D9F4B1ACB4CC889E911C9B38F143855B3CB7DE4E1CAE5F55
+CD13134DED58E03AAA89CC7F46E9A829301B8AC939C2538A68D35210AA9F261D
+EE02165F7043385065B563F7612DC6518D31F210009291752306E8294412044B
+72B8CAFFA553B40FFCAEA74C3ED700BAE4723C8EF1FD33D6C35542D8E815B44E
+0780F21AE7135C88C61779E51D8D16AC059B21235E478AF24D329D578360E08A
+02EE49D65B9D7C64F5E2F6C706CF9630E938D12D7B4312E4B16FCD88F8618918
+6267592135D5F1558D8B928BEA96CFBFB7CDC12B0DC9D0DED1ED46900279558F
+4CF39EED423B5C4B7EB1436F162EEF9DF7C5724B1EFCB443BDF41ECA9E1C01AF
+695800D69665D0BC5633C7C303420D7578154DFE1D2A111F61E9400AA1D97EBC
+7C2A014763BD022B6E59739A7246FCE5489C70C27F2B3BA804038A9CB2920341
+F4B2D38AA638C07F33E8E92EA18137E8C534F4F7E8CA53864F9D73CB38062D4E
+A747E565B0949C45A406F593843771C06BD473A8798215C71F7D2F68CF37C459
+7D62FF6D184FD522B9873B3CD581AF45403B181590201FDA26BA7C782962
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+cleartomark
+%%EndFont
+%%BeginFont: CMSS8
+%!PS-AdobeFont-1.0: CMSS8 003.002
+%%Title: CMSS8
+%Version: 003.002
+%%CreationDate: Mon Jul 13 16:17:00 2009
+%%Creator: David M. Jones
+%Copyright: Copyright (c) 1997, 2009 American Mathematical Society
+%Copyright: (<http://www.ams.org>), with Reserved Font Name CMSS8.
+% This Font Software is licensed under the SIL Open Font License, Version 1.1.
+% This license is in the accompanying file OFL.txt, and is also
+% available with a FAQ at: http://scripts.sil.org/OFL.
+%%EndComments
+FontDirectory/CMSS8 known{/CMSS8 findfont dup/UniqueID known{dup
+/UniqueID get 5000801 eq exch/FontType get 1 eq and}{pop false}ifelse
+{save true}{false}ifelse}{false}ifelse
+11 dict begin
+/FontType 1 def
+/FontMatrix [0.001 0 0 0.001 0 0 ]readonly def
+/FontName /CMSS8 def
+/FontBBox {-65 -250 1062 761 }readonly def
+/UniqueID 5000801 def
+/PaintType 0 def
+/FontInfo 9 dict dup begin
+/version (003.002) readonly def
+/Notice (Copyright \050c\051 1997, 2009 American Mathematical Society \050<http://www.ams.org>\051, with Reserved Font Name CMSS8.) readonly def
+/FullName (CMSS8) readonly def
+/FamilyName (Computer Modern) readonly def
+/Weight (Medium) readonly def
+/ItalicAngle 0 def
+/isFixedPitch false def
+/UnderlinePosition -100 def
+/UnderlineThickness 50 def
+end readonly def
+/Encoding 256 array
+0 1 255 {1 index exch /.notdef put} for
+dup 49 /one put
+dup 50 /two put
+dup 51 /three put
+dup 52 /four put
+dup 53 /five put
+dup 54 /six put
+dup 55 /seven put
+dup 56 /eight put
+dup 97 /a put
+dup 98 /b put
+dup 99 /c put
+dup 100 /d put
+dup 101 /e put
+dup 102 /f put
+dup 103 /g put
+dup 104 /h put
+dup 107 /k put
+dup 115 /s put
+readonly def
+currentdict end
+currentfile eexec
+D9D66F633B846AB284BCF8B0411B772DE5CD06DFE1BE899059C588357426D7A0
+7B684C079A47D271426064AD18CB9750D8A986D1D67C1B2AEEF8CE785CC19C81
+DE96489F740045C5E342F02DA1C9F9F3C167651E646F1A67CF379789E311EF91
+511D0F605B045B279357D6FC8537C233E7AEE6A4FDBE73E75A39EB206D20A6F6
+1021961B748D419EBEEB028B592124E174CA595C108E12725B9875544955CFFD
+028B698EF742BC8C19F979E35B8E99CADDDDC89CC6C59733F2A24BC3AF36AD86
+1319147A4A219ECB92D0D9F6228B51A97C295470093CA270C6258F0D99DCD775
+734480114DD0CD2931DC18782C4CCB90B6906CE08BF4CAEC2D4283CD44730A2C
+28919598227F98FC5524B0CC92540E349C5B190DF5F2317AE46FFB97221BDFA5
+114C21D5E8FB0D1C298EDFF8836AD72A9B2AA132F52DD5D3F30427563C97CC46
+D241B7024B4CD9F1E0037FFABCC88D8CCFDF3BC6EED778074F9590733CD147B2
+5B68387E0F19E6A81961077BB7640A3C0E27ADD72556CF84ECD981ECCB64184C
+EAB8BD9B96A873D80E3E0D5B4F5925983C80EBC3A8A12FBC452582A0B37D3C42
+4DFD22E9BADDCD2E69644AA271EECF366D63FCC29522FD72D6C1EFDB3597E866
+61443179872395E99024F152F6D6A4FD71BF1C7383BC1CC27AFD2DE3DAEFC06B
+6BA837BBEBD0BE09F6AEA31A83B1B45255DFD6FF33362AF8BCABEBB0D944B3FA
+B85FFBA0B370B9035460905432EE87395E518B4B670246FAFD535774467C059F
+DC30EA01C95EFBA4ABB41711818E23D7E69D32BD63243A6D98666BD46E234155
+BD6ABC76F551C31B6CE2E52323A9DAD5C003FB116AC8A82B46ACFC45EECCCAA9
+E12C2C8E3CEEFD98D49ECFB824E8677BC9CE9B682BB5A7117174E4B2A0B925EE
+553713780CDF3A3A4AF1560343A8A448C0B5DCC4E11EDF5ACBBA0BA8E5B899A3
+7321AA7D4B283AC9234978C2DD81813653A96F2BD129FA5F355D56C4E50310D2
+0FAA8F304D8BF333F97A6CD20CA4BA7BE6DC1446759683933BB1F1617AEAD131
+1C9EF2212EE7EA9B64E5ABFF45E1727EE82C00FD371BE1387987236F9BDBA4ED
+A966658ADF028B5DAD1F0878064221D0469BF17CB4E738258FB5D92E9D380C64
+16E95BBA6A2BD9EEB1A187A7231C53BD8ABC9BAC46CA4AFA94A4920FA805F67A
+A0C61940F6826CC4539A6CD1F9900EDC3F720AE4FA097F1D7510746BCE2E67B6
+EA2F2046613785AAB89915655408AC9D03201838BBA44F421D5F25CFD88E56E8
+1CA23CBEE9C2E323DF1866D31F309C92281E514A87A9631F33B238AC6520A20A
+346DD6A206C3CAF2830FE244F2AC5D894686CAD5F4BD1CC51EC0B547603BFFC4
+F008FDAEBC93542A43B7C907CC85046313348CC8A017C585CC370604E40AC820
+8B9D8F57A01868FDC93551DE10FA83DDA3E49E44C32118ED90FA67AB1C66B3F9
+F80CF71131977ACCF4DB44CF1EC26AB363C5F95FC2523B5DFBF4D60647EB23AC
+89CB971DCDAB3BA26846BA9317C051011C37468B21B159412E69DCB84A9F5876
+F418908678F38880B95A4BFD3566A6EDE93AE05BBDCB3C4E240A5C0A06301896
+69FCCC0B65BB269F2E10609B6446A68E2DECA905FC26D4F502CAF0EE9AB15E60
+CF42CEB376D92D80A6AEE55BCAB006999BF4415815D0F5BA3B1FF9D2E60201B5
+833FABE8B883847ADACF9B032721DEEE7FEBB583B89066ED9608F1EFBCDD09D4
+3F3C2B7B03154676151753DFF53815F2EC1517C094B0D2CC5EC483AA93772D24
+AD3B0084537B91BE1913A31C70750C6DD707761DD733F9ECA552D3F26825B2B8
+3EA263488892C929DEC07E2F988B7F7657D53CFA5542CE336D35B462E5E8649E
+05973AA54C0A4E63552004E3C77E5FA77F821D820B1620CC8CB3EC5B1D7BA751
+16CC155DEDD4DB0FFD3009729F365670DF9472435557201D8E82341B4056D2FC
+5D2F7C57599249DA2A99A522868716B076320350FA7415C3B10D77A6E1DC77EE
+2D929A038DE3EB4735A4D4F5C8C340D6D293D57E83C2F379ED0EEB16AA3A2A2C
+ECD664E526D918A3D0A934170B6E1493843E6AAE87E850D70DE65D34AA2A36DE
+8687D57A6B6B1447F9A4380CC3D4D11D54CBE762258426C46B8DE6059E6A2F31
+E748549310FF4362129080CD98E70817A06422743780B86E11101BED14BB6569
+D36903BA8BEBC24A478CD430801082CCF49382D6F04DE270D51CA5BAFEBD0F8D
+901CDBCF10DB97E2B059C8CF7CDB45BF931203D5F8CA4622DF19682DE2BA7924
+47F78908BDA23C4E21C0ACD2DA259B23648B6F233EEE830E7B82DF4371F55C30
+71993EC2BCC7BD6411690B9B1621903F358450976D6B6EC6B505A593A9FB7D92
+7223E2424DD5AABEFF254FBCEF934A4D51949BA0E8CD614AAA3AE6C3ED7B37BF
+5324BD4998D8D5DA95E4741B753AEE580FB3913770C00277C9F609B4DF3D618F
+148E0EC7A75218AD788F98D35989F3DB94413E70955EF586C0995A450BC75820
+F5490EB55E5D0D21343565E1FA94FA64A74377F87E55EE0EDDC8F4286951A4EC
+ED6FB3B444206D89BA71A9723E41E93A9F6C80240437019F3C23DFC2491A19D5
+29762876AC60A14404493D04B5537C1E6FCA67B69DC1CD859F9C956FECF4461E
+EC8B6CD5B5A89A8A838660A6C3F47B79ACE3B05C0AA2F17CF2DA947B893B42FF
+749E2CD5E7B56823A119629931B1ECF65C51000A10412668877178F589B4DBCD
+24D39F9219C46BDDD6F101C6AECFD3876056CBB858FE0C4BA2BD0B5FC26AD5BC
+7FA9E295E72BEEEC721300567B6894FC48FFE5E3067C538CBB3B77E386F50D22
+F8DCFDD0E335060CDFA49231D157981925F1CB36110809C12BA28D2D116116DE
+01898E311FAACEE0E5402CA30B64D3D5A0CA33E417FC322F2F0BB7AD3FEE2039
+56A15DD6D1E86971AD3A5A9A27F33AB62A5A3BF5660B59235398926D6BDA33BA
+BC43B062EEF199E4ED991518A62AC374EE21E8F1E1C954BA6D1493388F708D0C
+961612444BAE019E1DC18BDE900BD7A781835580A74DC696BC512F7BBDBA2D0C
+ECE5D83A049F7A3286B94FC446DB5C3F33CA2CD3DDE2D0E774A579831CFDAC37
+9612858EA613AE6939CED001EE662DB17642D0357B80BA0F82ED306218DA8505
+A613CD622FA998EBCDFB7BC70F4E4C8F1F43241FC22FC5BB208F4B20311A98B2
+73F30E4DFCEC93875CBD1ABD29ACF80585F59947F23A96D218C0CB8BDC1C49F5
+70DF3D49704CBA9A23294A88A2AD61811450921B1E5C3C86435C55AF87AAF6A3
+A13709082DA9C47D372A4226116342DECB14E4A4ADB7598321516DD637B64148
+12AB17AC5B2EB25718856D50BFC8D64C78DA6E5C145187DB0325C30A42013A81
+590E58E74094610207FC70BBF1A497395939B42A6EFCFABFD9D43221DE484753
+DFE5311F1845592B4484B1CDFCC32B4E068B11A82BA189D2268D88FE63B9C6E9
+20C9E40B543B5C401265D92A932476DAEADD4D3E2BD6E4DBEC0B30FA90A1924B
+41D2EE9D8AF2D8CA79D15518141665B542C696C2507DD2F4D987EE5E22397FA8
+FD80743186872DD67BE58103321467CF3F4B8898E66584DBB9688B9C78873CA2
+9B72AD7406CDFE8B58FACA2904869FB0EF126DE299CAC08CB89F60561939D75C
+2722CA57853372C14F5BCCA5C4FEBCEB0728BF9E30140E6B0D6C034195FCCC89
+291CD818CF66757EAEB0AB5A9D5710988EBB052850DDE97BA0DC0B054BDF5172
+2002AD6FFA44AA5D9D4EBDB6B2C04E8EF38660D9BC4C995BF37DE078C279328F
+4C360B8EB337D798962CACBBDEA517A5EDFAADF0D445FBD1099837F9D689CD2C
+E330CF587246387EDDED64A2F4C397C1B2BFC325B39114609EF57DDCD7B93C53
+811ADEFA323C59441ABC447F683B5EC43870C057463DD502E9B9DA7084C3BBFB
+2FB864D26DF1BA41ACC815F2A71E96D2C6F572E1F7E4A224FE57CD605682F98B
+AC7BDE4B85A4C11D58981E981E9FC43B87A368BAEF78AD87B7DA0FE403AABFD1
+CF414CBE75C0E9E257DADCBA035E1BF05C4E17FE92309F18633D93DF885956A9
+6C27E77540F888B8336B61598CAB04F3B5A1767C1ACFE15D32A25E5B1BF51FFB
+CF3CFB25CEE7DC95203CC44805A935D5A9154A89FBD4E465F0E599EED4033365
+0A31612F37BDAE8CC85BBC67F7E375EA68C2982FFD89284B027501184C4D2232
+CE0FE4E905C4B504EAD009F047FE627C79AF9EEDD65D00A3858F88E699E5EB45
+4957086CB22776AD06C317DEA41880D88F0EDCF71B4ED76BEE665B7937D5D0F0
+E568C7615025172086BDBD69670EA154CC52C85CBFFE88C1A4D1AFB6624EE667
+1B5BE2A31FCE8B2A4B03BC5DC57280199CC0970EBB636DDF8DF54C4A8CC8805C
+AD63CE866FB20C64725AE4BC9F0EB275BD83EC89F2F9CE23A084B45694D8C3E9
+3F3D3C1A678690877E8B1B77ED85D4F6E03DBF1F3B1D177E330475F172E0E729
+63EAD8034E6100B2A5773E2605180629972DE6BAC0A8C2F9580E9F1D2E77791F
+E1D33C2DBED3FAC47DDF1B74FD02583C3CFDBB2D1CC2B735C02B14B7AD3733CA
+1682944ECFAD673A9AD5E80B6248FBB6E5036EA7FE5CA8C34FBCA6DBD0E76EB6
+C2CB89D9815DB3C45742170DA926E03493AD86BB19A1D3FC623BDF1C920684FB
+7414EF69CF39713A9495D8CB678BD4592B53C36BC6CF93505B8E32311D42532B
+5661051B855F01A9B3D77AE38879853AF0FFE2448368DDFA3EF1DEB88AA055B7
+91459586DD2DFEDA192306DF7143F998CC5D67C1CED313430E5CC3F9CE265747
+8582102111E7AF9FB94D95B82D8E1DF01F04F2A2C22A20207B59C8976D56833F
+E3B79DCB727EE7537476A052E92F7C3D6A625AAED8F026F22AB59EC0F86E541F
+BC082D8E35234A18192862EFD232C9950B1FE0BCB91209FB540DC5729B9E36B9
+94D0913A8F01FB6CB16DE85E6B89F144111B1D911DC527C24917D909F1CF501C
+1AF2923EF71530F21F9BF049A56C7AB3249A420C28954E981EC464F61FA167A5
+C6084661808089EE7DBD80A2D92FF4040B37B2D81A2F5A568D461BE1C62B0FD1
+BF6D1063D2B5DB9CD48BB2B2AC9CEFA543E0AC5C86C462399C1E82F25A157282
+D32D538029ED22CC5935E63FA076BE22D3F53B7D7CCDD344D68B4E73F87A5F2C
+691FE68C981FF7CCFB124506FEF93F36F7181075D7BC6FEEC0E35AF57855BAB2
+44AF021C7AD8912D884424E8BAEC68A5562B881793A1B47FD338B1EE4C0B8583
+2867C78DBC2EFC8BA1431DB1C8622C99BB2C2D4D5475BFCE87B11762427867B5
+7253463C6F2E1CF5F1DC1F7851F2EF6A957CAB0C0A55076C59A6FF9237917C08
+5F97C2CB4B5CC903B76BE8C057018CD962EF90E1C0CCEECD52F2AE35A94C6EF2
+D99DF4DA88247C920623978A1DBB81D8F171B588D617AFA8285F6147E889523F
+CF11EF4BE498842D3BF8E811B4B33131416658E03293AD911516D8AED556F7E8
+0181391AF36D862F5F8B4588BC99585BFF0F1ADE4BF73320158DBACB2784768D
+D9794E2B0F2C0696E5ECE5C7A7DE78EB5CAE85EEA244D43D0280D4C87B6B93F4
+803718596FBCDB61A0BFC2DC666128E56F3133B9D4F16305940B50ECF66D80BA
+06C0A73C02F689314F1B4FAC22D16BB1E414C6F0A1A548AAB1364D2CD9DDFE5E
+C8887964D26BE84986A6B1246BC306E6343CA376F990B77BE8D68A4E54304C3F
+250B2311586A1D1EAD2C0221FE1828CE8396DEDEF13E70E0AA75FFB6089DBA9E
+9FC3FAB43B3633C8EE7598619A0C6FAE2F25274787348E3660D0EB7212F5CB38
+032A41A54FDF14B32E721819AEEC54E8FDE3AB8F0ACEA267B01081F284B008C0
+5861CEB5C236729AA17DC78E92FE1EF9F047B53A59F2D1D6A6734D0413D1A51F
+75B03234F4775523A55978C73D5BF9031EE8BC6BF9E2637DAC07F5AAF2A6C41F
+77620B272300A78E86F71F16EBCE2DBFEF4920BD3F16C282E0BA4C872E5F7E52
+7ED2B663FE45D4A36A588D228D32E2861F26AA6FA8DDBC8110F4417D0DF29285
+F06B57B1720D0D13828A4DD68D57BD530FEB9C3CF305594B70E4394BD60C82DE
+A64EC17661977B18199BA661C48860919CBEB56AB6C32848D51733F1E959EA35
+DFFD823D92F11065C643AA69776F71163A60D4941B753BBB4A4C0C47BB1D965D
+06C9BA1FDAE47926F37C0C5B591058F68FC1DF3933B2BE014F99A53A617A19CD
+8BE011234D48CB7E14D31B02B1FC47C8BFBF04C4409D32CB454E8FA0EF9AF16B
+8AFE9FDDC41F6A23D700D4AA922A0316A895D240C5595F21FEBA98FE0E74B762
+77FCC80F4950A8C55B4A008FD381E9C0EDF4427CB324BE4ABFC790CEB53E8BBE
+AA90163A7BB19E2840FDA404E830F5478DD69B85C5E69573D8CDBBDFF41A8126
+24A6AB66333C749C35BE314777CC222D54FF2C4C75717FB938724EEDDFC2EC1A
+8DA77B5482E760B68F0A2D240332BD48803004BC157C6E8E192D512CE83D5572
+D388BAE80AAF5E7240A73CDA7CFF7F8CDAA4ABE1D3BF6ECC3641B6BD1C2CC703
+275D48D62A15E5A85F003E76D1EA7DB65E3476CCCF6B504514AEB1FF1263FDB9
+81FBF1A1873FC287FC6B6DB11F0FB463637D4F3280EBD19976588F900B956FB4
+36AAA8C1F040300CAB9C4F624B22C1D3D6414B7CAD36B5AEEC90105B5A5C2129
+4CD540B9D0129813BE7E20870365F8C46FEC92DDB64D0A6C7C5B9867A4592B7C
+124B1B47899CE2D1C03811AD1B8BA253B0D29DAF2B53E312827478DBA274010F
+C919D122DF24C1E372F7F3CA77A2C0EDCDB2635F4136EA0C202D4011346902E5
+1524609DC031656660302CA36D376245A64135890C13A11C0085861792384787
+D0831FA01C11F1E7B4429DDAA0B3A7EC1DC3CFEA24C34DA4BC993300F12A953E
+80C8BDA360789FCB0F1AEEA7AAC310D0C3C56F43F7914C3B037DA02C31EB740F
+2B1A696E0E5553656942BA567DC9C4D3CA06E45EA615B7B5674016DCFA07C0B4
+285BFD9D551117A357F4BEFD58BCE60661187A5FF20D27D685B24BEEF563F0C2
+B2CFA2565112F7F49023CDD405AF3E54FF994630BE678B0D6E1CED514FC93F7F
+63710D289026CEE4B074253E7E0AB1DCCAB57DA7A1E2050D2B8D3D75F2AD7423
+0B0A7081DB1FA44055620B0A2CAA54666C5EEE3C01540D96ACAAE98644E1D210
+E0E020214550D723431813C031DC7DF0D177E82AE49798F8E0E5AE0BB8FF664E
+4793F857BA380297AFB977065B7500E4C0AA1735AF4E15703C860A016F19E593
+319D14C497F24ED8E42F3FFEBE976DF33D697656DC11A8A7C6A60219BF63F186
+E0FFE55594B31E5C312DBCCA08E84E94E8BF57CD5F5B70EBE59F0D41DD3F6B05
+F7635EA92FA9E082C80075A5A5F684160AADAD501BBFA7746327E3E606D1FAC8
+EF7AE7C612371BB52FFF41A97A349D111E861A83C9C48B0145ABC3582FCE43C5
+D121F0EB6F5D219E52E2BB660AA1DA5551D6B66A732628D640BF9D8BDE2BB3BA
+046FBFE2E28DB31AEA2ED8F9405A39C16C3800E9B5611B460BE0F6716F2BF79C
+902AD4FA3B6656E13E9DD7A785C17F28BD4D646D66058721610CD756E0D18D32
+F09C740B6023DFAD45A718BBFB2E65544D4754A5DB23CC7988A3EF45CD3786F9
+E100D9684549A16BC2DB736D43C293097E082A968C27F0C120C41A53E3464381
+F7DCFA8B36344EDA85F53FF65BCDACCDE7EAA41A6D38C1F420F8F2E287AB0F98
+A0DF7D8A6CF2E4C78D606569BFB7C51495493FACED57CF2D507DDD366247D807
+28D73CBBDE2F4F666099411B1FD2CF7B93D0E9AA161024C58892285BCAA65E55
+9FB37468777706D2C57A0DF6D520844B56D62CD10F2D7B02D17F97E4F87C16F3
+9BA09013FBD7ED8C2DBBB432288E598241369B9DA6E3EE324290D73BDBFB5448
+E9D7142036C0FE538F18E866A50DD23152E2C096E1045E7777888AF5CEFB83B1
+C6FCA18A26E83D75AB66291A5A5A285DBB1B9525919564600D71A767BB03A8BC
+7BF24CC3B318BBC0F40C79835DE626E99BB76C15719BFD5C15D967B84A6DC1B2
+450D42BD399C5316396CB294D008771E563E5640AAA9635A1EF11001D0E20298
+066B78B7F918E41FC48A6A6BAC8CD12D58CC2447D1BAC318E2717E7B5A94A4E6
+462FE9017FBACA70F73952C2FB4B57406E692684CD10FADF049EA8173068CFA5
+95F8BEBD313E01B345EA52562AE3847FFCBC685C6A6DD534BC84F502CF31BB41
+BDADCABC9B0D4DA28CD0824D82D2EDD5640F536A58087EC8C0D34AD765A9A174
+9AC7316CEA9A2E83824A18D289E8565D4B384CA51D83E9B609BE28DA4DC8C98D
+8C179AF18994F08163D740167479D2670B425BAD5E6BE092E69AFC042606D362
+C9BE6062A9F9B6648FE44557BC5CA9C98AFB8EDCCC114201E0396101552A332D
+53D51B1ADB825D84986DDD5D21415D2C72B59C9862ADDDFCE9912CF119B3A160
+A6DE9F3530919D2BE98905B8948671B7CDD7C757008A9DB37C412910C2EC2045
+0C679368F7FE5E5FA0F68495E7CF42433DE2A2266843099811EB2B6B521853F5
+03119608B331F62EE2D39A5FAB020716F07DDCD18B5B97E1E5A8B467F6A02BFF
+A50688B18E1C8B5F1E7C9E1703F5790211DA43CFC39CE4B963B0DB7E791A4B57
+5634E0C79170F4231B5FB14107B1A5C79DD4404556882C4F29D8E48C6214F2E5
+8EA4DA002C2F679D5FB31625A92288765C589095592B928E7E040BF4C6C6105B
+CFFC3E7428C40E731D3A1CDDB26B43739261D7F0BFCF750E6E7EB8E34CA627F3
+6025A4E0283B1C019355AED6BDA459B4ED8334F8F1965413380010A7F3D7786D
+327499F6559F2798CB78328754A68CD2518871BC34A035F6DA66630236A97449
+F43BC0BAF9518C449FDD0F39158F50C3F98068D6BEA0EFBBF6582493B76EEDF5
+A4F113592792BF1E1EC78B4621BB192561A66725601A5FDE0E3BC3A0E5D0E5E1
+651AA00E53748F4E673F4CE968BED3E78D094DF417E0A9DD64DFA9D8DAAF3322
+D4244F40A28B5454595A2428AAD71D29AECAA79BADB81753033272DF76B9265C
+BD2CF8F2196BBE34C9F450A95F0CD600F9E8DCF29FBA05B4543DE01876F266DF
+2D256E22A2B7199C933014314D6ADB2C9559BCA6C089DF852C7F62699021DDF8
+A12F0A5A5823526C26BB22B01A1F1820EDF10B57FE340BF33170EAEEC9E4F17C
+2180605B4A67F2D308DEFD68E9B8CA30C292BED73998E5C961745B97EAC1F974
+018DFFFE13FED7DEBE8D05934AB37B99C3AF31B7B9D3B05175EDBB0CB4B1B315
+6D5F15950578D61AF55DF6552D9D167389023CEBD2F05FE197F1A0ACFFAD3094
+6569FFF8E0F51E74D1C4D7FB44CEABC13DA37E971F779016989976E4D8FF0823
+3B480A3226E5C886559A6D968D9910CEC5352FC792B6A3A33A7CCBD7393E5895
+4D65A5BE869CEB87DE1053CC2204278A3AEE56C225535B71CD47BF86808C1518
+B2271FA99BDAA299052E466C013FB92D13DE605C84E6D10940B4A133E5829484
+329CADD9CD695D0680E6355159932ADEDD1248655378E97F8433CCBEECCD5A06
+0143759ECA25B0C06170E5936717CED6FDC465B0B6B6E2CDC0DA8ABA51C1356C
+5E78E2DC1A6C74486706569541442EB182EA87ACF934AC27125BCE22687FFEDC
+934E0397478DE8ACBB67A1EEAA89D3FF183625BFBD35D0F590426F77A7E69033
+1E50BF76462FCDD066C6E31602389C8444176D1EDD9884B0124B6F8E793EC7DA
+89F78BC8E0D39D6E5DBD4393BD905D3E1A36D00B83AF618214465084940BB76E
+CBBB3E4A18C03D6B9F229A7D3674BB6431FDB3EB6084F37673E427EFDB1CA6A6
+3F46E4E6BC79DE5B2BB178816A8EA795B4461771E0801E6A7E3BB72FC66C8A14
+171E421B5688AFFB663F8CCA482627FD79ABABA5BA7413DAC2FD93D276ACE5E9
+E177D2884CB972E05E758F1F1D677E1BA7822941F7E0B4800C799B067E507DA4
+0F08922C372046CD881E7933C4504A087D31B054200C90A4B1F8DC1617FC8793
+918CEB03E9889F3E0DD7C6E2B0414843825084A2853790538F0E38E1D5845A8D
+5373F625C280792D4B98E7EAD82BCB452F94AD28904A1C7B2126F744AC740453
+0AF793E5F60FECF460E8032D30B42452E6082A9C50A057776D922A2DDA0DBB31
+17935016D24E67B89286BEE902D835C56D03E5E58280F67FED85FBF89802FB5C
+DACA0494D3759557465892D97B2C7818C1198132A3F5672364D85FF57D2005A7
+F9FA1E398E22D32CF3B5DBAF7E214A9F0FC4F6E6B4E307AA8ADFB85B50F3F703
+8A24E649F9FC87745C89E7A65923BB873CB58E2D0F550A36E3D01F72800C8C31
+FEDA828ABA3B0CB416E2C11B1E54BF7738062D7A55B520E71959F5FA42990B1A
+392C9855BA9A660ACEDC43447CDD48F912C808D25AE7FDACF026168D1A419D7C
+E742D3B08F2CE325D6A10B4A37B51B0A450B5A5009B26652DADE54CED707813C
+E9B3EBAE23A7CB6F17CE5CFF4469CCF45C1C51E253E6DD2BEC12233684D55A0D
+5789C475C2387A832F4914397818934A0F6238102F2D2052067C6327AE6982A0
+0D3A32513541AEF2CBFF8E87C75E737066229312A0BA60BA4E578948BEC5D76E
+EFA81170B410DC50D223255EEB888E7FD4BAFB7EAA0B68C0BB6A6E33D761780D
+40650FCB13FB4C16A8C89E8EECED8E821982F02AE1CA3B614F8AFC1154B05D5E
+386E3CFD84658AD5D3ADBBAB7E3AE6272E9252140961D5D4618D857F1F6D3B10
+729AC82A0CF7AB1F092F9F6A8882F1871B66CED822CA773D84CF9BC4A2A991FF
+9A142E7A23C227E5EF710D7FF21EA7687A64FD7A8F2EA315F9267CF0E6A7D169
+A81A56B94012289CB668CAE4F32A57D62ADE4A13255876C5D71F77FD81E8C14D
+B2D2D87090F5425569D79381D9C61B7CFCAE1DA5FBE871D8D642FDA45A0B2756
+239EDECD4E8F6193A521E3305A56161DEF9D582723601D590FFB1B1AB8A35A89
+FC5214709CD15F0FE44AB2173865A2E90AAB31B3138A95F979C6C9960BF4D2F8
+5BBB1CD4F52C83D7BBDAA2A35EB13F396B40879D9A8E596DF4D94794DA2A5F13
+5CC98E89CEE7D4538E7B6A8C21CF3AA931D8A7D29344E8A6A5493D8B05D84EA1
+A3E54AE7A5FC98AB133D8CEAB123C2BECB04972281DF846645AE102A9FFA913F
+869B20DE1CAA9F4DE8E61D964843A2F337345C676D0BD30EC233F724E4AB7A23
+D8BB0783B45D3F1F8FEA708437EA83555C97BAE310F50C482C515EA57FC5619E
+0BFAA279974213E093984D9785361A99370B8B8B8BE424AF4FE36306F3BABC7A
+C7392D5AD12E00050A549629349E9C0A3806622DC465148CF66D8C314FB0FE9B
+801D5E11DB9B0D9999FAC41151732971797FF808D923A6503EB00BED775EE763
+BC9900DBBB1E3C761C434AD6584460845135E6DE2C604181CE5E1DDBB6A2E249
+DDCB618010999C996005786A13C1C49475DD2A79C9FEE0
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+cleartomark
+{restore}if
+%%EndFont
+%%BeginFont: SkakNew-Figurine-Bold
+%!PS-AdobeFont-1.0: SkakNew-Figurine-Bold 001.002
+%%CreationDate: Thu Feb 12 14:57:56 2009
+%%VMusage: 120000 150000
+11 dict begin
+/FontInfo 15 dict dup begin
+/version (001.002) readonly def
+/Notice (Copyright (c) Ulrich Dirr 2004, former designs by Piet Tutelaers, Torben Hoffmann, Dirk Bächle. All rights reserved.) readonly def
+/FullName (SkakNew-Figurine Bold) readonly def
+/FamilyName (SkakNew-Figurine) readonly def
+/ItalicAngle 0 def
+/isFixedPitch false def
+/UnderlinePosition -100 def
+/UnderlineThickness 50 def
+/Weight (Bold) readonly def
+end readonly def
+/FontName /SkakNew-Figurine-Bold def
+/Encoding 256 array
+0 1 255 {1 index exch /.notdef put} for
+dup 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.001 0 0 0.001 0 0 ] readonly def
+/FontBBox {0 -158 1430 846} readonly def
+currentdict end
+currentfile eexec
+D9D66F633B846A989B9974B0179FC6CC445BCF7C3C3333173232E3FDBFF43949
+1DB866C39088C203DC22FDC758584860EC7BB67FDA28CC6208249060E18FAB32
+204779B5C03C0493BBBBC95CF02692CC4DEAA8D2EA90B5C2E64374E92BCB8501
+429B8FAE4A76C0C6B76D6FF7CF9A7D5EDFBCA0E959541C59BD05B7DE43D25D53
+FC3DDA6EF0C2743978A6D03E19CCED4A11F2EA4BCC3110BE8B8D9E2772361969
+C19258EFAFDC276CB1ADE9208A941A36D18F9FB1C33DEF76AA315DDB07D440EF
+662966E7DB0A01929A1BB04538E2CF2BD8A1AFB22C6EC0DD4F2C4D488C742D5E
+669571267C49BCAFB5C141B2C1FA88DAC7931EFDE3A9815238A12786ECFC62FA
+829A03F564B87235AC7420AC23AEBBD71F9C9A61A5AB1DE260D375D2983DBB87
+74F692AF0FB6AD250BDFD9718C66C64B496E10CBCAA1272A4CE2A5F1AB056004
+6A925040164BC75D2DC2C125142BE35F3CC3730D755348B4871F7B8365D752F4
+1E87227E52D71057A43F80D8F8952C60AD1B492C9611CFA54734F60DCFC55069
+A5CC3D4086B8E449CFB9D8BFF2AF93A775DC2161B4F79150373C5457E7293AC2
+7FE3A244835166E48CD7AFE325F59ADB3044EB1563492ADF6B9CF08A7A5990FD
+DD569794F2C8D74C8B75C2633A58AC2700558316F587E46578F89B7F392AB6C3
+889E1979AFB38550018F0152A56D5A2C5A532A12D3B6C01B2916D158BD3C58C5
+60354E4BFC38CF937A14E8B51293EDA34D0194AA9DF7DF26DFF17408966AF9EE
+9981E7FC5202D660D75282FEBF7E9548FFA00CF8E549F66E9604200BA578D28B
+FD3611E3DCCADC448E5861752CA847CF85FE46532EBAC475558E6074B8107F22
+DAA87EF9B3611E35F301351E76E634B035DB3DF6AAFFE9B7A705E7246B469EF5
+4096B247A636661D3356A8AA466240554BC0FF629DFA9A66C8A607E48F7297F6
+5B47189D8398C7D61FC5EED7D7E1E9E105216D435F50DE83B089282C84CAEABB
+C5C18A1CB8E616C0C1E75832291A59F9839CE31278626C4C5EFD410278B3F850
+41CE1CF859FBA2870DCEB5F7E7F30FB1E250F12170D8692852666BE1920B40F3
+AA28D246C52061DFB9076201D7557AA20ABCABBDC2C05F7E120B481F8D77C8CA
+A24F1526CCE72033B37AB2E428D61D7906FF68BE2E0D6A96BB289564770D0A5E
+EBD81A73FE2DA4B58FBBDD9F6384613275A7AF3F075CE9B88F69719BAE108F34
+7F25D40A3917AE6E23981338327B9DAB8B8CFEAA801B46F1F65EF5DF3A632B05
+845F38AEDE98D51E984FEAD578755F62A385B339CF2195F15E74193E8AEFBD3F
+557DF3D62706B0B2D8402B671BB6287A295757CEAC5275EE6661C4DE72166520
+8446CAA0AD7FD946EE45EF3C791B0516561D5617906BD426172570CD0992B69A
+EC59FBA28E116467C4AC9E7EB0E35229D0830492A211B473C0606C868A1147D0
+4C4D41CF1822B374108F842E280971B171F7570002AC5A8B806E114DE484CF59
+5195DE5635099D24D56E60B23297934391673BDE956DD217E3C33D48197C7190
+F4CF4B2879A1A79F63BE0F78375DE2AB3100CD354480F5A310A96430B60EFE94
+AF727A5B7161A56F1685D3E5642F40181AD0137A494EA63AB3321C9FE6D9382A
+34EE24E135350388FAA9E8AD52D5CC888F51ED51C5215E6BAA00FBF58B3201BF
+E4896FA9ABF40DFE03ABF6CB7F3ADED28E7445C8B2411B2B72CF35172C665D12
+FB9E8C85645FF1993EF940F67997D231665381A9E50FFBA1AC0AE97B3266713D
+647E1FEE8A449BB624A7867DDBA18739309CCED3E033483DE06E84BFD48A6F6E
+21E91BDF84847A4E62BAE82AD406E1EDB90574508E37DC2620A76D79F58D6B76
+2E8988C12B59613F511A5050DD326E58CFF2622817F85C3732428BBDA82D0530
+5E841DCEDFC9B4E9205E020B16D387D0D22E4CBF5DC0B5048C5BDB4F3E22B01B
+043B3EE1F315A2DD72DFC49336702E418123E1C79B96D7431347272B978919DA
+4B89674FF15AF274744F12B4E00972D8D40B70B3B3EDB5BED928BDB2FE564DF1
+5A1E1241BBF52EADAC03E4580776A6C3B83C6DB04F0066B61FF6082749BE1B7C
+DF3E23B7D13683E6E6D4F66FD1A626A3F1249447D04923007C382E3701346D87
+89B542D10A519D745A8304560C1EF30F56AD1BF9775394F3CE5F3D1B812E5079
+76F37B7811B8CEEED078FFDC25EDD28DDAF729EB0A5C08E53440DD3E37550CD5
+845E96DA3B38549554CEDECC6327D73F42E6EBD8E3F3E57EEF78898737B093D8
+4E1F4FFBE696D57B48BC22C5AC818260E1ABFB738A78C4794BC3D0C28CD4EA3A
+B9CB1D63BC044F5C57FE61ECFDD6461E48161528D9D3CF95AF72FB21063D6FB8
+1DFEBDADB2A6E875DF65FD73FECE978D023A39BD7F8CE43E28F3C198A9777EB6
+EC98A99B8ACAD2A49FA7F8529B6AC481AF2A4CDD3F6FEA60AC1E121E9A2D0428
+D9AA4E8813E6B17B36B65FDFE425221E7B501B6098D3D16B7F40EB5C0E1792B7
+9402A8B6FB72C89149FADF51DF8ED75C2F830B137348F36A7C2A2F65C05EB11E
+631C88CB95A2026B51FFFCDDDC8438DD4E440E1E076BD5999A03EDB120BAC08D
+C61CB521CABCE79BAA4005E049999CACD69FB5B07A6E68C40FDA804A652BAC88
+858C4B10A334A655EA535CD4DF0EC593EA0E17FBF0DEC2C64E3EBB8C1EFC9402
+FB804E548DB7E403D02BE396DF5363F36B8B8CF61DE0E242E6F606EDDF2ECA75
+D820628F7E8B34D2232CF8FEB4B3909440BD5BD666909F5BB9756D5836E4EEC4
+C3905A8133A0BF72A51B11FE3C366C572AA84F9EB0007DBA9848A6F77D60547D
+A5861B5B0B3A05BB85246D6353084F65E8DB86B20BFD80886A4F8F3137EC5696
+97EF83E3FBEBBA1F7C152360D73344ADBC4E8CE562CE359A6720A56A862A775E
+FAA24EF26E9520C92E3700066DBED11A3F1885DBF01AC8424A370B07DB32E43F
+151BAE61B9ADC240131C2625F4187F335D5455508E77AF0624DB111D9DD34903
+E88255AD59EE2AAF4AF48754BD1408ADEE291305D10B80A6F8D64D1FC6780294
+8D65FE97DD7CBD4036534C1E5C5F580B0146F25858923849EB71597B8656A7C7
+EB74CA98D2DB491EAC515F703873ACDFC3D999CD12945424FFE8A950ADC75477
+ED41A451034B0783AFCDEE33963C660488E38ABEC103CED5E1545D881B7D8F9E
+2FAE081DAC900796D228FB4116BFC3702B36874342983AAA74879B0B9E058ED9
+C36DBF58CA310B90A94155917447412D44F10C0644A7ED97F93555C401B5A05B
+DABDF5340A9038D16D85ADF276BACE9B90B04D2E6945595FCFBE50EF69DA30F4
+CA789156CFFB19AB8A49624E55F4D6924CFCFB151E1A0E36C183ED5B4F95B79E
+2D38BC29D051147B2BB2616793A1E249761CDC02AAB94370CF9032EEF62C5EEC
+FB5F6D2BBDE70D7455890ADE07E951CAE8556FB802554AD4858DA6421A495D0F
+F9FE417BB175D60171E591A3EC5518A3700B0F78B5DCA8DF9ADF330BBE1EB4C0
+DB9E3065304F0886E8F6DDCB295D8368D2C170A26FC01AC34C5E27A4A28F4114
+51A27C7FDFAE70ED874248C6277CF363C85E6BEB0E8940FE124152B3840469DC
+25FAAF997CB6D3926CA5C07349EDE382712F0417B9754501DA8F2DDF7B634F16
+11E75AD1FDBC7BBE6B9D8E2954DFC9EE87B9E3C56C95DDDB6793139356DA121D
+8B62725C5F8BB4EEA74B8C57A14BB74111BCDE3180C901360D6ECD58138482FC
+875061215E705879CD0E0EE366B9E89656270754DEB04F54CBADAB4A4F2C66AD
+4DEC7108F3A9814C0BFC2B529DBD9F0B6D0E5C3ADF20D05F45485A40022DA97E
+A2267F36EF6F7927A78E9626DDEEC07F33483764478EF0ADCCFB8D3F89C915FA
+02B5ACA53FE8E2D979E77E8E1C65D7CB0F77BFC566EDD7D794E86DDA3898E4DA
+D3EEF0D0C566DCA6C0BC514F165E8CC8AA610B2DC74E8A240EAE681684D8C8CE
+BE12BDC47E0F23B1E7BC1992394FAD466D1ACE7EF5B8B78571A2B9F11D9CCDA8
+6AED4018410C0471C424F91DDC44879C93332BBC590706EEB4AA84507E0E30B4
+374AD52B992ED72C4C71452C6DC6877E207B370A317902161C1358A653056F95
+30850BF2F58BC35024658A943979419BF02570A577803DE72F298CE2D6FA01F6
+95A760AC90EEC525F975D009E4725F1CAFBBFAF1F4050C73976538AE489646EC
+E63F28DAA553ABBB4E16EA5EBF3108C961F6BCF1B38B13EBBD53C8A7C899C724
+43E6502869E5C0717B199107EB4203097BAEA6DDAC40DA4CE1C37E7B4D1B8900
+BBC9239768017E2B458F23BAE2C25892C1343A614FD4A900217D54A62DECB4CE
+2AC2BF5819F6DE69C7D62F978FD4969E593D4AA075861D6D04EA1D02015ECADB
+5DEEED942CD33D61340E2592A6D327B5CBC8EE118B5530C3C61816A75A46F33A
+2FD5A01F3417E02922A731077003E70892BAE0D9E7CEA77F3876E00DB2F2DDA5
+F74DC7852A98B4A5D1CBE2BBBDACF3AC44FA5369B4C070CFF72239259512BC4C
+255F0D9661402427D56C25F89559F9BFD00E8019D5DE6861209E8B8EAA315F04
+B519F17EB8DF44908914E1522D876BD245BE3F0B3BB3A2BE3A85EDBBF373DF4B
+43F256632BB7D2FEABEC734418D06AA3304E57B7B2E6A339DAE3C90722DD4A57
+7AF703F407B26E8BAB7E9850656473EB9976EB5850AA753F0122DE342B30DB1B
+B978EE7A018684AD93B134CB785D4AF068AF5D68E56F1AB5E08F28EFCB327831
+D5EBBAA6F7A2CF0BEA40F9C281F53240745F9FD7C006BFDDA5D901C2492250C3
+3D166AD12335AE2973A2CC43598526D5545CF5FEB3E7F12C2B85148F203E3FBC
+441E6CD33D5D54104F8629891512D21E69F6E687E4A0B25B6CB9BD94C6C4209F
+6516AC7C045602C046137A1A9DEC7E5041B83246BF4554E86F693C3407434686
+2479E1F2C136427DB3B6275AF15DA6032103D05FADECAFC9170F159A6512C6EB
+304972062623F869A87BD7FC0AD1165C8ACA114C77FC5EAFAE8F2019BECDD398
+6FB926ECEB7B4BF96CD3E20609A0D9056786E26293BE99EA0820C5C6DFDC067F
+67833E6CAE9E3103CBF372ADFB567BD77036F22365A6EB38E9D75B61BB75F697
+94D32BA61AD84B22B9F91267B02B344FBA3C2649050B100916D1019D6E20C6DF
+EE09E2B86F29BF89E476682F7FDBB7DEFCAB642CE9B0A2F08068B3914A68DED5
+F9B41C7447BF5B6F6ACD384DB373FF9E28B2F101D58C2B4EF8953BCBF6EA8C5C
+DDEA8BF49ABC7EBA44746B71A30F645A7D2A6DCDB2959231688C76808E788768
+6D845FD2F932
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+cleartomark
+%%EndFont
+%%BeginFont: SFRM1000
+%!FontType1-1.0: SFRM1000 0.3
+%%CreationDate: Wed Sep 12 2001
+% Copyright (c) 2001 Vladimir Volovich <vvv@vsu.ru>.
+% See the file COPYING (GNU General Public License) for license conditions.
+% Converted from METAFONT EC/TC and LH fonts:
+% ecrm1000, tcrm1000, larm1000, lbrm1000, lcrm1000, rxrm1000.
+11 dict begin
+/FontInfo 6 dict dup begin
+/version (0.3) def
+/FullName (Computer Modern Roman) def
+/FamilyName (Computer Modern) def
+/ItalicAngle 0 def
+/isFixedPitch false def
+/Weight (Medium) def
+end readonly def
+/FontName /SFRM1000 def
+/Encoding StandardEncoding def
+/PaintType 0 def
+/FontType 1 def
+/FontMatrix [0.001 0 0 0.001 0 0] def
+/FontBBox{-189 -321 1456 937}readonly def
+currentdict end
+currentfile eexec
+D9D66F633B846A97B686A97E45A3D0AA052BD0CE60552BD63101D7CDBEEF5B11
+69C468645FE4ED1AF2541AA0770C1DCF81623DE0ECDF49F2B522618F650CE6CB
+CC8C21885DD61AF8A523AA677EAEDDFA51A1F9B1885EEE0456196D634E04EF89
+F17499DAD982502ACC349B9EEAAE4A71A73D1147318C60A8BAC10510DE90D8D3
+F46E47295D27129A5AFE0C65E22BAD10D06885A2EE623FF8E1D90287A083E00C
+EF25195F68A2A98170E48759F267FE330B57DF626EBF73D2779A4A6B462AE6E5
+19E5878939A488F2FE1094A76925CD24DAD4573AD3CF34E426708CF06E7EBFFC
+BEF5595408106E2189F418D17AD510ED5B6A528E8902AA3A5F0FF52AE3DEAB07
+32F06B63E28BB88229E046F4FF8A356BBDDE82DF2A197F2E26CA00D5594725A1
+83A89A36487EAAE1AC312C929CDCE50722FA6C596C261E4D78D6C6ABF77F5CCE
+0E410ED74287A0F201140F8D9674A7AC585D3CBC72CCB824F9E1CEBD08AEDB3A
+A4015CADF471F7ABD9B0F0AF73A8274FD441BC1988A61799856E4770155341D6
+516CD0E25BFA59B67AB7E0571DF3F5BA70AB52137D9E6A79EFADBE70CA05AC8D
+991D0895C8FFC747FBC0E9A7212BAE6560B9E2B64FFCC58112E64A3B4CF7ECF7
+595F51C34AD1342F5678FE1E62EC5A389CF04E82B5F832914B91F921F30A7E32
+CA3919F57A2D9DE844CAAAC0DC751C255C9916595E8C9532E7A0A84A0AEFCACD
+83EDE059FD06EEE9951473180B517F25F609F347DBA012AE9F004DC3C771777B
+BE812787C3C50315D67254A384EB65F260943C6E16B2CDC64E15EEEDC67C5544
+8ADE9981A6867405E46222CACCEF79F9DC8674268BBBE1EFEC2187A75FB7FBF8
+CB2DB2134848DEA2F9CED443DCF561E7272B38F830871B2A5196A787924EF556
+4B7E9093ADD414ACBC10147944D216D35635B0CAE44A36F26E9279364FB842B3
+9B46D6738271A219E3C81D18581CD7FF96488ECF22AE7B059CF078F501EF27A7
+C401FE91CCCB7EC1DF533262B85679EB4F161B031F8416F6272CB6C002EF96ED
+130A2AE6CD36404D977932C67B1A9C9B0BAD81157FCF96A069221987A70CB34E
+834EEBA95F9ED88D8077DED5083E7A4ACBDB9EA5A5484D4BFB94C297FF895603
+5877BC04A2A6CCC73F7D8B30151B569A0BE14E361B541891B78E06AA8BCCE175
+AD81E9FC07F682D9DC50991001BF0858C1C93F5F80478B53FA235BC3435AA0E0
+DE20E6C111559EE486895C9FE73DB1E6B67A48C324DBBFD388A89BAC3F924EA6
+30E6FD3046B244BB13B52BCCDC315F1334F0DBCD09307129C046315278789D0F
+37931005401D2A36C02F7A452553206C9C0ACF9F4ADE0644C0F54DF86182CD70
+33B5EA8978F58EA8D5269308872E72AFBD603222BE25A7563998710620E9D708
+F8B9E0E76F63EB9F926D68F3F53D6F94D7EC62C6127EFFAE4962953ADD854D51
+6B404E2C1CA5A4367C5C7E9438758EAB6FBBCF197EA977B02A316BEBAB3545F6
+46F0E2901322D1F2C5801B4EDE4D4B472A362FD4BAFA31DA0FF46962EB9030C7
+EDE9848FF6156B914FC6D47FDCADB9FBC81A0FF6A2EC5DFC9750EEF2B0525CA5
+23E6133B2B7CC7BC55EE2B0992903D18E152E9C5DAB2CE7AF67CB87C1BFA2053
+9CD30B7374815937CB0669F9323447BDD149CBEF3DBCF17D4874E909D72E5CC4
+D215864DA47E18CFABCF1C9AA3632ED785BD9AC17AE3AFC8DC8E88FDD0A12E64
+81A348FE29B6F3E581D3057D4E7778ABA7522C72A67EC9C94039CC48DF60F8D7
+B1FFA5136753451F75F11701E4F42510852274E5195EA582B5881BC66650F545
+6FD9EB60D62017182ABDF600C2B24A637C121B16FAFA8B8FD732DC45729B9559
+5DD2D098E20EC3AB0A7843B80558B6077052DFED014A091DC957EDCA7BA9673A
+2E8FF09CE3B2B6C417DDF180E612EB64C4DC165BD6C64C44F44DD6272719BDBB
+0267FB93CA914C8AFC07D05B143D9F4701C67A6538B25FAA1E9F0FDE2B67BE5B
+206883CC78434B7BE9CA4DC28192DFF145D68274563F8FEAD4BA3DB2408D8325
+1001E8437E7F6D9B01FC36C06E1987EA8B94BAC3FA077D9497EC66387A49FD34
+7AF3BA4F8250E227FB09108797E78AE025DECFB7840E807E6F6AFA40526E9627
+3124FC33E497FC0401AEA001625272DA93B586717AF8D58D6DFB8F0A799F5D5F
+71F405FD459A3A389B80351218E00EB539984808520A08D611AF5B19349DAC52
+3CED56DB2F2009B41DB0F59A443BD847AC598AD257D15B1C247E7D69EDC3C3A9
+108BE9A86888F724105E99F833B652335C0B24A4624B7CD1FEC01D1CBC554284
+0C27397CF20460D40915BB24338B8723DF80E5B89A772C8480DE256A06452758
+08F9D734060F4C05089FA41958FDE0508F604DE275E7981C6BFF1A1FEDA48B19
+7B121CFA00032C1C46052FFD35EBAA2B99C2EDD5A7724A5FE71BEB084876A7D9
+D90B0C39E4F076F03E76C46BAC1F7A2F40F03384B33BC05A3C700EE32FB3C80B
+01570AB63AA765C18E03B8990D85053326D162DAF1605BF29780A7737EC11E11
+02125E50ED736D9EE1F82A47B83B63BE731868D984D303709EDA506D90FF3C88
+9FB0E7D8462F88BEE48FC93D7EF41EBF4835918338ABBB368BF0AADC3799E89B
+06F5B2166CBD8AF8B8BC7990AB2E77C3A4F5966723F07B048A3B7D61837A2985
+59E2D122F459D1526AA356359AEFE3F4208ED2259395F9FCF7B9B388D359C2F9
+F6DF7DCC5C36CD0DE61F71BA67FA0CE5238B48624A4E81527F6D4C4B86D82C27
+0CB0B5DCFE7EA3CBCCF30FA39D73D43E91115F3BE196C9252A0D874C0EB21FA5
+B6072A0B8D543A28FD4BBEF1AAAF7CE7B91BC7225B8B0F4C98521EF75AD1F61E
+CFB1883B4441730ED967A8E46A57C98EBAC4EFA1B7701726915A0E43B20B8B8D
+E4041464B803E3EB1DEC855768092105B7DC4DC91CF778CCE8F5F4251B3742FA
+390353C15FAA6F7B426D9C4E5B76CCBD3C6DB93146EC76A522DBC2FA9CB5B336
+EE8B8758B3A52B5E42857CFFA89516E173855ADD5C92A6FBF7B65770C00076E4
+86ADADA8AF511EC5FE39B03F6A18BDB4EAE7D5B7374E36996C357D7E638F006C
+052C76630B40A69C00923325A5C019CF66425439029A4189E4F47177A68A5F2C
+E7F880A790CF14F0639001A14BF00B917586DA03B6E384BA8BA4D889FD1236FF
+072C75CA223DC18CAAA582966BBCCAD547A612C32A129D38CAF24BC56651DE91
+B270668DAB550740F72D575EB5D584BB6986C40DE1FDE76C4A7E76F8B7A7B37F
+E7085A248C48DD46D9E3EFF4DB71E1A29D2966F70954567C3F74FBCA07461D21
+0C1FC5002FA5CE7DF550B6569D06D126A37A173434E158162D2C07BC08690DEA
+06453DEA34070BE2FB64E52BF3CE56D9993271DB5BF9E0465F22CC9C10590C07
+0D1548E1616B224DEC1F466ABBE25F62DE876EB1364766B000D732D9949A1E96
+F4F6F4A945BD89E1EC30B408F687975F04A6CB5B4FB320A9CD1EB7D96DC444D4
+237442FE18CBDA16BF5F30D78C191F56BC182CB4A945BACE7FC598625CDC95C3
+A4B89E5D79A8443BDE929C11653117028A379FA4FA42335083257561EBB2F577
+1B5C3B301E6A2B3EBFF2CEA46CAFBB77243277ED8B54D4DE7D685EB3AC6B19D7
+8FE079B6DE217EE3A158485AB7D96C2ACF1EBDE5FFFF60D2D3A2CF47A5664183
+312F60BC6167CAC651681C8A2110AA743CCEE78AFB02A33AC6D344B758FC9237
+C1FDD1D014DD0A7B38EE62296357F8D6B3A403C8A7A52B6F61BB07C99A752D3D
+66DC5CDCB3AB65B3F378F13D4D5914AE180039B9B1158E5DFC8CA968EA5D2212
+4C4BF440D1B94F529726B213FE1FC68D0D135F90D46C6FA97BDCA7925AEA933B
+8A61A1249936272CD80C2CDF97C3A5C4830CF8E305BF04919FCB2BCDDC15727C
+BD52951456196C5299D4F72EA091F17BA2A0F3F3A77D3BA5FC7385CC339F73A2
+3D98F1A4DBD8E6BB77F391D306121F0C1055EB0F6F28FF389B33ACFA0D7B8B7E
+21C013EE3CD986609ABCAEC8DB3DDAD3FDCACC26E2A4FD5A951827A492B4E91F
+381C566CF9C76964C2FBF17E8F3738E8B6E3B581F41A3AB9867BFA591D2BF525
+1AC329B0AF0EB7884D8DE9C349DF0CFAD70F6AB79683319344C43C513C35AE85
+AA513F8C0EC1AD99379847B0D88B53341E8094E61E81D866AB4465D4F4D92F7D
+A055885C00A32FE56D7BEF7F75313DCF0510DFC0926F8802E58D0AB34760F8D1
+36DB14C2462E940DF26604613C720DE6D3B23B3D84B27A97DDE16994523FE190
+581DDD1535747D3F7C6E9CEF59C241A0DF069387E4FF44629D79D26E799F1D26
+CDA56B940E651E38816A254C9C3763F3B12E08719DA8BBC288DC38E1BF2F2D44
+EE3111675DAE1E558969D2E801EEA46564EFAFBA0D0C9C1A43A566E23768265B
+77BB1842D47F30465B40B60274C4E43784090D9BD75A0FEA6FEE94FEA1A87031
+ACA99B4D77F27DF349735B6CF4F20CA06BFB17FFFE25DF4FADC7E1A2C37351FA
+FB36A2A946D31979CD7E81F552B60785811C3E494C40709588F26272576C6C58
+DD0DA2D3E665024AE7F32D0EB0E6EEFF23530E333F1AD34719ED0FA12413DBFF
+C006A3D88E951EC77D2132869645AA1E939DFD08735232D6CF29D59695A2DBC1
+CF0A0537288794E3232CC68C45EEE060DA6B88BE7B4423BE83A0A5F8BD7E3F2A
+8AC186C94D697D700FC70C10A7595A3FDEF5A78A41E4BDFCF29713F68988D266
+68ACFE48988629995818E9324C7A1B5C7DC8375A1D2E8D121D99EA42C69AA985
+BF7EF0B20ECB0CB937CEFA093292864C84EFFE9F7DE723288E6C55981A821A55
+634B99CD57715540308E63E0B6CA5A2367B5C90A81897B6973FAD7D4DB3EDC5D
+3BBB29195F1C45847593275FF35073F9BF68AD4FD5B1FE714F64CE91AA02E708
+04A75885A54B560F3075F2A4C5A3974F7B9312861A178802C679818CF8DF891E
+53FAC89F6B691AFA7AB9C5C94B11A5DFF77200D341E65721F384CA12B6D41E8C
+E89D30BDAC672DC6D18D1A5DBF53364BDDD7DC5356AB35544DB9AD54A6AFC519
+95CD7EB3BB034A9A68B38FBA33892ED0F2FE162CD1B19D8DAC59F6EDA4DDC706
+EC5E35EB78B9B08355C4D191C58552F1CD3A9186702A682A1AB0BD529CFA779D
+661A01F891E2EC776B1CC1D24AEC47DA7F2BFC8F025364DBA860341F3CC43A9E
+C08671F27F3AE6C9A73E86D96F99B68A3ACFAEEA98E29DE783BE36D1F9FE2974
+ED556CABD8737E303923E6D956D36DE9F5515E6D8A869F9B7D6F52481694A9F6
+B8782AFBDF2054D1AAF7B0914CF416F14DCD4C742E797248AC36C802A06B3A54
+5251416E7F381F36DFEB6612EF33A54D23A5B865B893847B4368E439C57BF3DC
+3E64C19A57CF9DFF38300063F60AB26FC8966A23AD7E8A29152315F5CE6E364D
+5D18B9C0008436E945B51006DE85D26A58DE78D6A3392C6AD5ACE62FFB970F72
+6AC9128ED85BE25FB1474F5E6EE52564DBC27AC845341C4E71D9C1FD8FA3C173
+B2E98CAF3E801A77DA7D0BD6F914B0700B82081C4C2E462E081483A4701A2377
+5E316D9D27F68F2914E7DF8DDBAE8EF68B71960883A6DBD009912678D659C124
+0C807E9727DDD03F574982E6DAF365C8CC17A2884DAD18E0EB09FFF000C31C98
+51E01DC81E5E3D14BE8911C50F4375896BEEC50E0704F27927A854234631E804
+24C147175154CDAE09020A483928FFCA2B01E953BF18BA66A98E49AE58B26B9D
+EA41D62D3837946BB2D5A2B94B7A9DF5CF6C9B82FE31E104A8A62B6121A1EAD3
+5032AFDCCEC750BE37AE380E3D2BE056D20AEC2CB8837D6493B7C6AD9FF60467
+80C3763D9C7E8DECE666928A10E2F80BC9861CC74399267D4B9778F949763B2D
+68BDEA255789EA56A3F0BE0B7D809DCF0A2DC2C3E42350E8942EE0F462DAAAD9
+3A474BCB4F4334D8B41C7165F07D9E5AC9E11B72B463666E0801178EF19CC89E
+84B5AC91F911A410A3CDC27FC7DB21C8F8940995632F0D887AC6A64A26B66D67
+30594F037D53AFFC4360E8E4982CB07A92E0B718668A71C7D6B094B14FB94F0E
+145F747754CA79D8F6EDECE0E8BD8C79C6687A5AF695D44D846F3526B5BCF13A
+9B9D6F7312B89C0C28B6ECD814EAFBE88E6EEA10A39E0D683012045C9071BF6A
+734B112931E58DACAF725919D8C00FB81E38C65E00FA8DCAB985DAEAA6494AE5
+8EBA775EAD6F217EEE6DE71F42E609EF5766F00C22FA250FA5632C0FFEF90A86
+4DFC8050FA536D709C116EB39E30E38216CB5FA24E41CECFCDACEE2073D7388B
+646BC847563C9E72C33C523F93D97F9CFDBF7206F0293034409F9328E81C7E8C
+E50E6E4171DF090D101DA4038F3E4929280B2751B6CADD1943D2C2E56526290C
+9DEE8373BA8CFEBFA2DF69EEF01B8CF240CB4EEB4CDE8DAD0AA8CB5D8FA67481
+9CEA4347C1CDE3918860886DA1E5B55AC0FFD7B3BB053051AA4CF7BB80262516
+C1C9EF83704A37870E844EB6B16F79254B0A1290ACBF37E68A44BB9134455856
+6FEC8A31B76C945EBD007DBC5B50F86E46F4896AC2825033E04DBA7F1945DDE1
+CABD48AFD1A8BD4CDFED5DA5F44E63F1BE1D77DCB6596869FAFA2676F8B5DF67
+F287A432A3CA8AB2DBA54CE370744D08C3F50D1DC599BEEEE5CE2D26684872D8
+47BE302604B867BD48C00E6739A0710ACEBB27C9321C
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+cleartomark
+%%EndFont
+%%BeginFont: CMSSBX10
+%!PS-AdobeFont-1.0: CMSSBX10 003.002
+%%Title: CMSSBX10
+%Version: 003.002
+%%CreationDate: Mon Jul 13 16:17:00 2009
+%%Creator: David M. Jones
+%Copyright: Copyright (c) 1997, 2009 American Mathematical Society
+%Copyright: (<http://www.ams.org>), with Reserved Font Name CMSSBX10.
+% This Font Software is licensed under the SIL Open Font License, Version 1.1.
+% This license is in the accompanying file OFL.txt, and is also
+% available with a FAQ at: http://scripts.sil.org/OFL.
+%%EndComments
+FontDirectory/CMSSBX10 known{/CMSSBX10 findfont dup/UniqueID known{dup
+/UniqueID get 5000806 eq exch/FontType get 1 eq and}{pop false}ifelse
+{save true}{false}ifelse}{false}ifelse
+11 dict begin
+/FontType 1 def
+/FontMatrix [0.001 0 0 0.001 0 0 ]readonly def
+/FontName /CMSSBX10 def
+/FontBBox {-71 -250 1099 780 }readonly def
+/UniqueID 5000806 def
+/PaintType 0 def
+/FontInfo 9 dict dup begin
+/version (003.002) readonly def
+/Notice (Copyright \050c\051 1997, 2009 American Mathematical Society \050<http://www.ams.org>\051, with Reserved Font Name CMSSBX10.) readonly def
+/FullName (CMSSBX10) readonly def
+/FamilyName (Computer Modern) readonly def
+/Weight (Bold) readonly def
+/ItalicAngle 0 def
+/isFixedPitch false def
+/UnderlinePosition -100 def
+/UnderlineThickness 50 def
+end readonly def
+/Encoding 256 array
+0 1 255 {1 index exch /.notdef put} for
+dup 97 /a put
+dup 98 /b put
+dup 100 /d put
+dup 107 /k put
+dup 108 /l put
+dup 109 /m put
+dup 115 /s put
+readonly def
+currentdict end
+currentfile eexec
+D9D66F633B846AB284BCF8B0411B772DE5CE3C05EF98F858322DCEA45E0874C5
+45D25FE192539D9CDA4BAA46D9C431465E6ABF4E4271F89EDED7F37BE4B31FB4
+7934F62D1F46E8671F6290D6FFF601D4937BF71C22D60FB800A15796421E3AA7
+72C500501D8B10C0093F6467C553250F7C27B2C3D893772614A846374A85BC4E
+BEC0B0A89C4C161C3956ECE25274B962C854E535F418279FE26D8F83E38C5C89
+974E9A224B3CBEF90A9277AF10E0C7CAC8DC11C41DC18B814A7682E5F0248674
+11453BC81C443407AF41AF8A831A85A700CFC65E2919BE7F4437ED75BF2F7BA7
+02F85142A4EADC8C9C7F11ABE2AE2A9DEA79CBF9577DD8627E31D25A7E4DED9E
+FBB1C413696C88A07E5C937451D40A9211B29E24C9424635CD4FD6B16FA7D76F
+5BA1DF0EC26097EEADD70EAA577531177A26B5017A32675C68052E90E68538DD
+E779AB23150FCD1653460CDDCC713599EFA381C3322175809A73447720F6911C
+6BFBDC0458C477D2CE69BBAFD05B5C2DA1D2E3E8378A2112066B045243D3D080
+DAB211DCC25430973C18E7FC5574A814E3EB79F34FF5197453873C8AC66E47AB
+5EA57CB3C8365D5235E7746C8584734F002E9A28C38B0C25E3753D85A1D2F3CA
+B8DECFE14A7AFBFB76CF3E91A1E0203FBC8052C2DF967693C9BA0ABE86B5D264
+BC345D7954C9523B3E70C4AEBBB0F2D56BAD6D76E095F9390FBE2CD607F3060D
+F713ABF47F0FCA5D5C27CBCD4140C668F733F769FF5326917C0AC5D4C72F99BC
+5AF4540DB169622644D320872947BCF1D30DA4EA150AA22D6D53777345858DFA
+3286EB68314E30EC650C8BCC572D72879E431FB4297AAD6533C8F4802E0B9902
+8360C57504D4176C1DE7F57382FF2E2C0A3D5285A061CE91D3149E3096B91076
+1E914125CCA8D1C9230B72427990ED4468CE79C11E8F0CB89A3213C535B040E4
+0C5784E6D53C96696EE45C87B5E0DAA80D3A06E5759D0676ACF99020DCFC3E8B
+50002675B01959500133BC30223C75A54948DD28FA83F399924D4ACBE33F1F2E
+D85095A76AF6DD92EAD139A8D5673A35B3633D25EF3B10A40A7E28F329D6E7AD
+DBF1DAD1E666931611FB107D1FD3576F11A22B50943C536DC2BA477EBAA52BDB
+B65A98268602F26DCA5EC761526CB7F33CB5B345110B7A90E1D078A21E332F78
+33A0CF88EBB2CE852384DE3435F7B3564A0AFBB2024F79A633BA5B6EB7CC5389
+C43621C82972D60F7DAC71FD9DD38CAAB865D7DE4ABC39D71879BF31549DE649
+4B9CD8C149880504E5B34C2153E963B3FEEDA0D59F70E0ADCD24EDBBB8EA961A
+90E5AE4ABB26E1AB1757E25572622D5A2541CFFACAB673665C7693855473D78B
+847FAD590B657CC0B8289034AFEC3C54FE97B010535F70AF67ECC88E21B077D3
+A9C2C52D25CE9714EE430735DB57991AEC946C96B6988B2C85D17C8BC80EA844
+3A076618A686040ABCAC347F1B1C14676B05E13C239E99C3A2B63D0388CB50F2
+BC119D6F74F70DD96BB5343D5458950070576BD6E319AAF5792EBB9DA5778CA2
+58DE0976AEB766DA6A865F09FD6753FB4E7E0E9A06AA1A06C2636AFACF787460
+9E73BAFC4A56A99277DCB14F52555EBF6DC5E5785EF7745521FA061227B725B0
+7A5BA223D5EE9239A7A1694D4F9EC1132FA23DA44ED0FB0AFD8987A01F9FAE15
+ABD485BE098CA7B1AC780A9A02AC58DCF0425D4D110226DC7B5982FE31BB78A1
+C0AAF9B712E8D478FC4F85400B5E6D71AA653F9BB2E967A76D02B04887CEB9F0
+0EF50A956AF7F790400EBBC07467D9A8BF8BFE8200F8F7EEB5DF3E62A9A332B4
+513120FD9F8A93ED683CC47551C629B5313E4E20A207845CC37491ECC3945EE2
+71A0C5633B353B03B1A7727D5D9A0478D20D67A981F6E5CD8737548ED4348A91
+82F2CE805724A028E346E6B7C542FC69CFC7935E6CF3320ED9701C6127FBDFD3
+B20F0DC2D1F92DC69E4FEE57B457E82D5721D932B140CD6DB9BC86B961E7E6A7
+5816F42AF937D97C3149DC2AB0054564592448D0CF52427B766FD38E3B040B81
+59AA9030CE06A9A9E3A0572A11BDA85531060B75DF8791176CDEC0A9BBF472EE
+BD433BCDAB926689B8806CC8044D0925814C1784A41CEA48ABB9AC039485BFA3
+026FD30CCE84AC57DF09B1581ED01B3A840AC5E9208465BC160238EECC7A6753
+D5B65B159FB08E0DFE4C9F2EF5986352C0E0C4DCA0EE62EE5C19BB6C486FCADE
+99D3519723B70B20FACE685ED8D364905EA64A15981B00A6DC06D7B0E3D38FC0
+9DDF04221696F7A8F3CC7FDBC25A61D9AAF9F65D3A64BCAC4084CF13BBED7195
+6BA4C2445676804C333DA6569E4AB7E6999505DD1988C3E62495DF61B722A6E3
+00ECC4EC698E33F7B8225FF591B746E449D2D178880741074D0C3CA740312D21
+1F8B0B1A855FCA081AF1E69D14C9131B1769943EA6D5D6210E10BBD9E404B445
+FC3E2ADF8C9AB6AC07BC2FC0482515625523C04303F7884283D5CC35A4A6ADAF
+59738F3DDDFB51E7134327AC4CA577BAB076F3B588FA3828971FE9D561F46358
+24BEC4C7F84D8FFEEAC94E2C632AFA5AED635E867AD362E373CEA718C750B4B6
+954A7CB6E4CB2614A4E1C707412B7B09F8969EBD5B6510B66818A2F5AE4EFEE5
+9DD7690A3520C477DECB7D61FBE5F84D1C655971FAD7CDA78E695C18908016CA
+48B468BB6B43EBE1DDBC49F43B7CD667B4131D7B0C9BB048178A31D0CB70A76F
+527DD352F7A9F0F35226117FF305A9DF4AEDF474FCD5C7F31FB06D4B2CC40629
+1BE1F40B6347201F84BF35CB5155BC4D2E1DF2A5C7613C27A0EE77BE55A744B6
+DF7DA5741AB55F133D518660751B0A91E6BE43B527E9C97E2F06FBEB58DD0215
+BF4105DAE1B2A29DB05FA204D0EA6E574C7344C3B3F44092F7F997654D61EA9D
+4C811CE6087BA1615A31F8D107DC64F1CFF707234135B728EAA0ABB475E678D8
+9200950F24A8A61AE6AA18F34A067849825FB3925A8E01D64E849546FF7F4418
+19C0FFC2EEEEBDC7805612F7849BBA7BBD954BFDAF2E6FFE3CA520B79070F8E6
+B1509EE0040714C9F5023816250F40FD1C6867F77FC8ADD3A16A3A6275CD6F5A
+21BC03274B350EEFA6EE929AE91DEB8D8B309E3B3524807B4562C7758794A8C8
+4E3C6EE0C0859AC9B799428EAC242BC4AD9564F2444E3C79F11D4C1D5672DCF3
+2E191E25165C77EEA2DB51753ADE07F5E7E748704000265649A2E1DF68909F38
+68F0D5F415330C9537A065728D2104C34CE05458AC1B2A53946890DFDD67563A
+E044E7AEDA111FCBF431546D410D67602985F6E13988999E46C80A983C7F12A9
+FB56C6735454F1E194F63A1B6B21683A281AC6164B3229AE25B1189366C9DDB4
+09D1BBC8429AC3D64F8BBFEF1265611E7C2FE1D3A2FE24FBF3ED96A5CBA6FCA7
+847F5E3AD4D14C0C77C225588FBD0DA2E960FA3901DA1B46B796121DC804FE82
+C382F75AA0495312A80EF9350CE0F80CE0D18316E5D02B7BD78667C2DAABD879
+E17D5EB8F274DD2B1BFBC04EA2F72EE5376D01DAA129FE257162BD19D19B13CB
+C13181E6DBC12826AFFD87AB152A59D67D0FBBE5D9CADDB1CAA8C27689355AA8
+FDC556015E4A9708995E51E46D6D1ED7B68A61625561FB594B9BEF87A1720222
+64E4F8A47637705CA32B1B4CA5B8473F1D67FCB7E4041502B7ADA9FA4B16CC6D
+282FB636979D3DE7C76F3000ECA08AD6E116B1558FADCA251D67FDEB4607CD3A
+84BCA7DF488C97FAA4FC195661D7977A08EF04A7D9A2D619EFC7AE291D7DA633
+C6DBCA7DA01EF336E378764F6B4E4D6C517BE05F10BD1FCDB20E5ABA7F65A8FF
+17D93CDF1E60787712C40775A5C3808AD05A2F276C94B05E10C6042604F592C8
+AF1F25B98A0C78AA7BE1DE9ACF2273965F0795B0D79ED6CE2753FD0FD7B41A18
+FB490B06B5467561DFE5161C27F58E48EA5F38A5477C9CD0C2FA13683271E55D
+8B08DA0C96BDE97C653B0B18096EE7C0E6BC3894057F14E83A902FAAA4C2AC7A
+566A9EB8F9D622476DD4E722F55F28230124F67501866FFE952AE93DF5BBE2D9
+4B9CB9955320A9E256E611EA3838ACD9073107936226140ABEE92A096659764C
+4ED2485B33E75BEA57CCF19AB9409B684EB14103ABF6811E7A8C0AE0C0C11BBD
+87801F3F0260D04A8921FB9EBDA2A2048F4B5C47DF63051A0BA6DDBBD895E0B5
+F9F0F3CE62CB118B86AF595F4F34359DABD9EA354798E8561599CB32345A43B5
+93B217C43E316BD10BCE1C66A10C9A8041A14570ED7FFDD95AAA76E92EF52042
+69F0B8FBE21CA4E37647DDC890D13AF489606195900063DB0CB8D71968C1311A
+D56155D2B2382119E603AA85E9ACF1785E4C0ECA137E7E4F5EE7915E8A080509
+02FFCD2494DA2D3B2AD27DE5F11684BFFA2366B6C834AE309D8E07F98B7B556C
+DF3E0B42559610F1B78C79254AEBD7B0F5B3D7F420BA725AAA91EA20D014334E
+8FE221BB02BE7B59FC3D03D8ECBAE21F5E37E4A0352C475F9F29C5D2FCE8CB9F
+2A059AC06AD9E6F13C39F2781D7D4B3FC34291D165E5C66C5D01B5AAA2AE8F72
+9B3C634FB38FCF35283792048BACA9F7EE6789621D9243B917234405BF194BF5
+A4F137680ED10F216076AA2767C1D220AE71EA7393C7E252209B6ABD94213AE9
+F61FD2CB3160F41C4328DB8563483E13EEBA83A7935E4AC11A97DB7988585184
+6BD3DBB8241EFA1F1DC5CA9C2E16EC1EE12CAF4471FA83605DA85672B34B1F9F
+8CDBAB6907D6CAB6DD7E00A7D636EA20961BAC97D1AAF32C8096003E096855B0
+EF4845013B9243A29BD509436CA78C6F8DF4F90DDED960A0D12BFDBFCEA539AD
+BD4BF883E09542C9D75DCB8A4AE82DB495B0B918D330979F347A76D73B19995F
+4039557D337FB55B8C5922F35B354F6C8E4D861A0B66B3D803C9862C9C507404
+5EE039245AEDB521E90F83F15E44F42F0802F8DAD6A9BF6176C364286601FC80
+E14926FA518CC035337904132AEAB9785361709CA01AB0F352317294B34B2B20
+FF88CFBCC8E89863BFA2D3ABB2A596C9D9DEB261CFE48E403F88652150EEDF05
+3390F002B2E4B53446FB39C488E3D0D4EF4AE2AD19019710FDE56FE29B58B00F
+0A6D5B26B814BF64F13C35EE903FA2190F460F9438924E1D7158704F305E326D
+66CB529B3A4836DB0FE383EF989C975A2F603332FFE0748E0D695327CC8D9AB6
+E036E0E6409261C30B80977BCC3CFF8FF8A9BCBB889ABE47B0CE3450783E1EC7
+1C030CC18E074E01605908C3FB61B78CF4FDCC8E8CB13EB77CE6FF2BFF91D658
+51FB05DEDBB20B0E4C5604AE3CE6D41A4C8D71A1F90120B1F90C83989B892253
+31D06ABB335DE237CD0CDC91256A54797CBA5E284B6CEA6FAE01F7BEFD905E5E
+139D57E163137B5751A765B46A3AE6F653FF2551988CE792011E0548CFAA6ADC
+E32B876763AF6F6FD6864E7B55E341C97FFA711913F8A7FBCC1FDCB4CF2F4D3F
+17358EBCED45C975F2EFF3FB9F77A22EEE4C9DDE63360DCB2DA2C1AA4BE44BA9
+3F9CE6F27631809DBC45643DF7BEFE247E79AA7937C409986500EC1026ABFDB2
+6C30E0A4852A6976A73AD7483C36F1717460327BBC05DE729E23D370B78630D1
+7E87C99A5C3A3C0FFE204EA81A8A33D7DE80DF3C0EAB557F4E86DDF8E03AD072
+61B1D8E1BA05452A6FCA404D9BB8FE9831A367B0AB31041B474DA9536035E7B5
+EC83DEF0AE17DCE958DA19869DD51F53D4A4BFCF7CFA635D6F9F882E6F0215A7
+0494E76F258D44FF72EB5A1104E8F73AD2F6F2ED337D854B81DF4083E6A2D679
+6B5613D76DA2347118CF009E8A88924C2A42B154DF1CEFC93C89DE0ED8DB26CD
+8C2EDE2670F494DC591E79DA26CF8B5FB76613296FB1F39AF2001BBDAAB12CF4
+3906B4C304CCF1D066524DCF92FF484CC682C2B197CD797056555F318279C3A3
+7AD8EA9CB19724AF57EFC6706157A5E2F51F104F6232F252594510E0E4BC872D
+D610F4C99BC3ECB668139331216DF1AA8F6358EB90CE1F0B8267B878B19BA7E6
+77A53A674E0B029E9142865CB92A1596D5AB97FA12FD05A04369AA00BDCBC2DD
+1AECE1A4AD55A93885C626004B41FD277AAE6DF68161F7443EFA7D9C913AF909
+970F4C6292A694AF033B953CE37116A2AF2439E482867EE9EE2BFE1093A738DE
+24D3C408DD105CE6D7B8967994F7C5CE49FBF61AF135F8F7799E2FEF29A168CD
+B2F16F795FB475204FBC41AB78AF87E4E80F992FDCB770A3DC0501AE1D786ED0
+449956A1BDC93876934331C24CFE4392AA860A1ACCA39978BA8AB90A2174F5F4
+97539772660D3920E1B57E9E0674CD34C9EDA83B6AF1B06B26207FE5D67E75DB
+B170F1D01D512CF6D586DABFCA32404253F0A9985A29D46641A81D5A810469C2
+8081D7774B3188423822003AEB638F21661E0BA7AAC765CF8321F9677C85A562
+88AB1320B3256EA9FE0C67E5B69A5127DC1B13E4062CD0C9ED10AB36CD370105
+8FA04F89E3F836B01393F1E9365077A30D8E46B67400DDE8EB0AF8C815729699
+469773FC3F0ABCEF752A5768C9DAA1931421214E69053775A238553AB6620E9C
+E875223681E60B7F7B25BEFBECDD4FF799ADF34BFB397AA114515E2133304A57
+B422E97EB3FC5314F64BAADDFEF9C0EC719A78915B26E7E3F381435563F650EB
+7587F11CA3B14875F6B1D817C1EFA0B89C85B888E8391C74D77CBCC6A990C36B
+1062D049E20876B40CB030367818A3CD3E2CC354CDCC9A0FBB8DFCF7135FB2E6
+A0BB0C3A441CEB8D5FE849AC7299431DEE27CE28B33AB7E836D6958104D1777F
+8010546687CCA23DB48E53376A446136F449A92C07102315D4D0A897521313ED
+1A3A8456A70C16EAA50A3E67336DC89FEC56AB54A579EF264377A103939D5EE0
+0A90B4F20AE1F2511469C34B5984A04D5AB8A162F18DBE4D613BA1C1C85E994F
+80AFE3C18A045148018045C63376CDEEFAC53A55DA67D5980E3A99CC1C981FC5
+5C25CD0A685E3AA6F8C0B8FAAE157DB91AAA50A2B5F7D8860624F29B8DD87606
+C30F84C33D802DD5B95E090BD7AA4400E090DC1913BBC392D7E5E87717AB14C8
+A031737560F3D132BAAC0D6DD88C586322804BC2D8C505973F015F7662571FD1
+C89CA0281CD48AD84B9ED8D70D240A4EFC2715DBE98E545B987AB64FA259D81F
+3F768326717675A3A2E22F4EEEA22A5201797C6D5EC644318CDA28A2C3CCD123
+B0159205FD52E1F9A60A69AF7B40C4F7189FDED20EAC3869E5F53F4955CDA0C3
+2B06D72EA2B8CA5F0B557E9A36B8E9BE7EEEF96B5EDCA6F79F53F83234B2BD45
+6B3D631B1C9CBF7D283F377177C60B3D65ADD945D31458164043A17B8DAC8409
+B4261A4A0EB36E18BD104A8E66F45C3AECC07F4E8FA9F3D2A27334F95AB79BF8
+06C18D57EA745116DE0B36C12B6F5411A9805218B5A31731CA0A35D9AB6BF5AD
+928726A6EA61E0B69FF0F4FDAB2CF5B222FBF9BDF4F89EE47373AA3944678328
+1EB230EACCEFF4243D6B4F8797482DAB78C1A053F2800144A4C76BB839E536EA
+2D4DCEB625DC0F754EED8BE3FA53A7AC3ED17C92757CCCCDCBE21A9D733291E3
+61235172F117D4B8305B45D7728DBB2D71411954EE599B0EE786D7603D61CABA
+AB241062BE3776FA150680F9CB8784FC7A94790FBD2922772EE886254B59D0C7
+4A4DF7A2C1C4ADA1DBC51CE27D3FFF7F96BC5FF7382864369536BEB2EBA6DE2C
+1C427990F6BC84E92CF718BC6D4CE9EC1F2DDEB8637AB1FD673C5BCE1A090146
+171717B39B9A83F2DE0B79CB1B836390828B3EB6DC397AADE45B21F55D1A3583
+C3A5BA93A4ACC08CCA4DB80B78AEA6002D80C5513A705E7232938D8423FFC72E
+1B96313ADB255D43E2676DD2B00B51D116A328164BDA8475741EC234EE6581DE
+06162F006405D6D823DC47DDD14536BB530D132975C0C436F08F9243F1A9AD16
+898823B8E2739B4428E62CE0E41C2914F1AF38B8E28459AD71A3EA6A065A8E80
+2A47C2278F2BD588E15C8E60C46CF6F66D7ABD0EBF5662FCBE698328566B94BD
+126B9CEEF1FF916E394F7D60AF299F7A6109C306A2B47BF1CC0D4E406EE3BEFA
+EA58EA82E98341B6BA6B0997A8A62296A2D3EE7B2B79BF7494BD885EA23864F1
+766C73B6798EAE89FCD73A582224D9878101FB503CDABA296D95007691F9251A
+A082772EE042DE62314EFCA92B36AF77CAD155DDE3F06C5412AB0B7EFF0B2CC2
+9279720438B5A726EB20D1E53A0B70D9256CE31A90F6C52A76417A31849ADF89
+752ABB40D49547AFF9A5DCC69C68E98E3E29666DB58288E606751FBEAD376AA4
+5802FDD15ACB6D6C689B62A9D9AEB88177F00D06AEC18BDA256D8FE35B94534B
+C971AEAD173B69588BD446CDD8C13387FF27DAF109ABF81F5235915D1CB01B72
+F6CC002DEA252CADB54C9A2D27F9EA4D1521D3ECC64D6C925719D9E5307D0589
+E9D1FADFC9657622FEDEA3B0E64B15AE7211D4879EEA03916D5B3382C3DF04CD
+C4E3F16068EFAA8DEF60F79B9422A9EB986F6C16DBA0EF44ED6841863EE85D61
+C3C5134754EC7E6EFBB23DB8611D7B398672661547924322EE979BEB3D43B0FC
+C96508429E22D386B712149FBED78548B1BD46D00A484EC04F2CA819BC4791EB
+A638E6215284105A856BA0552233328E9A743E7B968954701D2D902D4276C26A
+365C1427BC97A8812DEA3D66249FD2283C7273601D49BF8A67D6B471AF77A7A6
+B47EFF0F40CDB8C40834B1A7503BCA2C6786C8A9C7CA96DCDAB5A90E692760D8
+791A833FDBAC0E7DD46395151898242878B4255464A7DAFB0FC8D7EACC053594
+845D77254FB98840D31C4E0EBC8F417437029F583221DBC6904AEE4B01042939
+BCD710F1B94BD3175B41D24B6B529740239D6F3759875275C44DE46621E4766A
+0711F97F2969DC654292C0C2D2225543516AF3EAD62215E574E8545F4EAD030C
+7C87ECB55E9BB95A78F2F564580408C3ABEC4E17E0F6DD1D10FF3AB85E3E0401
+A069A73D5479EE588C1E2FCA2DAF0A0A7F9373142FBF4B39907D31D6709284C8
+ACC145E7BEF04D8A6DBBE3344F0F14CC6D520CA33355497C94C8407F5C94E69B
+11B14F6F1D4082C425C9517BE84D4C4912A6E8258C93274DEAA44F45269C5224
+AD15BE4353E4D701F7F92839CDBEE4393A34D36A1263DA6E1025A8B3DD9C6446
+AA55FC722699D675828CC17C2CB4E8A0296814FBF54E132EFE864CB9A8784C0A
+055889736675C4A1960274CFD85FB080D4ECDD6299D86D45D377135603D5548D
+755D27FFE73621D0FFB4E58D7395F0C7FE91316DCC367700179101B5845D82A1
+6064B6C8C0508A2BF30C8BCEA99399A3D2C9B143DCDA39B81F89E5BABC23CF0D
+57A92F2C6EA0A9CDE765E680E6CD25928FD1A439E9857AD2D71CC6ECAE452EB0
+FB5911A7C1477443A6E870D36D66F80958C1C275C508367E2B130796B92F06BC
+C6E2883A4DC690948ACAF20AD9435E6C307642EF1C6A1773A85F598152B8F244
+F81CA0B03202E11F0D3873B298C3DFFFE491ED643644283B884769C60C3180E5
+BCBFABDBF13E424D97A80BD742D7299B0B3C6127085D23DD36FB1AE50F04F925
+E613E262407B34F72556311D04B6A58AF0CE5715BEA34992E5B9948D95854CDB
+E8394E67071BE9535C947ABF5FF856DB6B0A636B05ACD2600EFA1E721A1EED1C
+B78AD86C620603F5B558C1A546F8E2EB681A7488D390C505027657960A91CA08
+47D5BEF049D96583D1C1290D68E63E8FB6F0C6777114DA1F
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+cleartomark
+{restore}if
+%%EndFont
+%%BeginFont: CMBX12
+%!PS-AdobeFont-1.0: CMBX12 003.002
+%%Title: CMBX12
+%Version: 003.002
+%%CreationDate: Mon Jul 13 16:17:00 2009
+%%Creator: David M. Jones
+%Copyright: Copyright (c) 1997, 2009 American Mathematical Society
+%Copyright: (<http://www.ams.org>), with Reserved Font Name CMBX12.
+% This Font Software is licensed under the SIL Open Font License, Version 1.1.
+% This license is in the accompanying file OFL.txt, and is also
+% available with a FAQ at: http://scripts.sil.org/OFL.
+%%EndComments
+FontDirectory/CMBX12 known{/CMBX12 findfont dup/UniqueID known{dup
+/UniqueID get 5000769 eq exch/FontType get 1 eq and}{pop false}ifelse
+{save true}{false}ifelse}{false}ifelse
+11 dict begin
+/FontType 1 def
+/FontMatrix [0.001 0 0 0.001 0 0 ]readonly def
+/FontName /CMBX12 def
+/FontBBox {-53 -251 1139 750 }readonly def
+/UniqueID 5000769 def
+/PaintType 0 def
+/FontInfo 9 dict dup begin
+/version (003.002) readonly def
+/Notice (Copyright \050c\051 1997, 2009 American Mathematical Society \050<http://www.ams.org>\051, with Reserved Font Name CMBX12.) readonly def
+/FullName (CMBX12) readonly def
+/FamilyName (Computer Modern) readonly def
+/Weight (Bold) readonly def
+/ItalicAngle 0 def
+/isFixedPitch false def
+/UnderlinePosition -100 def
+/UnderlineThickness 50 def
+end readonly def
+/Encoding 256 array
+0 1 255 {1 index exch /.notdef put} for
+dup 46 /period put
+dup 49 /one put
+dup 50 /two put
+dup 51 /three put
+dup 52 /four put
+dup 53 /five put
+dup 54 /six put
+dup 65 /A put
+dup 66 /B put
+dup 67 /C put
+dup 71 /G put
+dup 72 /H put
+dup 73 /I put
+dup 76 /L put
+dup 77 /M put
+dup 79 /O put
+dup 80 /P put
+dup 83 /S put
+dup 84 /T put
+dup 85 /U put
+dup 97 /a put
+dup 99 /c put
+dup 100 /d put
+dup 101 /e put
+dup 102 /f put
+dup 103 /g put
+dup 104 /h put
+dup 105 /i put
+dup 107 /k put
+dup 108 /l put
+dup 109 /m put
+dup 110 /n put
+dup 111 /o put
+dup 112 /p put
+dup 114 /r put
+dup 115 /s put
+dup 116 /t put
+dup 117 /u put
+dup 118 /v put
+dup 119 /w put
+dup 121 /y put
+readonly def
+currentdict end
+currentfile eexec
+D9D66F633B846AB284BCF8B0411B772DE5CE3DD325E55798292D7BD972BD75FA
+0E079529AF9C82DF72F64195C9C210DCE34528F540DA1FFD7BEBB9B40787BA93
+51BBFB7CFC5F9152D1E5BB0AD8D016C6CFA4EB41B3C51D091C2D5440E67CFD71
+7C56816B03B901BF4A25A07175380E50A213F877C44778B3C5AADBCC86D6E551
+E6AF364B0BFCAAD22D8D558C5C81A7D425A1629DD5182206742D1D082A12F078
+0FD4F5F6D3129FCFFF1F4A912B0A7DEC8D33A57B5AE0328EF9D57ADDAC543273
+C01924195A181D03F5054A93B71E5065F8D92FE23794D2D43A151FEE81296FBE
+0CF37DF6A338C826464BA5198991445EC4BE80971DB687336AE8F74B516E333D
+2D8AB74D362C559AAE6ACFAE49AEEF4F52E28C869222C1301D041E7A0BC1B608
+1BF728EF9E98F3A12EB2714E7F16B14E055FE1FA0EEFB058860ACADEDA9D0E4C
+42E3C6F1E4869471BFAA3760175F3FBD842755A9D7847EBF605F18293B42F557
+FBE2715002669091BB033E1AAD657532F34F7C66E4F04D63ABB07E6CB9D9AEAE
+78EDE8B79DD9BC87A1FF445EAA05B5572BB880E69F4DE1F82D7F0E9980AB0C18
+22C448B0B1722D3CC33C56FF287CECB80658B3AF5E7675BE82CEFF3DAD5942EE
+A03C955FF979E41E54BCFB5316A9AB8945C403A73180D0961416EC9C92F49811
+4B91BC4C788392994587517718521E416D469F69952149FF7F9224377EBA1065
+4A727BF806A112A7B45B0A1BA1D5A23683960575368D9EAC8C04753BF7465AF7
+95F25C258C63E4FDFFD0B412FD381946AA38C0B961652BCEC30322C47BF4755D
+9F91880688AF066E32FFB22E1A52DE741307AD3ED830D6BAA1D1F562919666DC
+5E8FD9862AC8600B0AE0BC7FC779252AAC57248744ACC8A8AAFA836BCF09B0DF
+9253DFBB1CB77EA8A59D42D1B18FF25E9AED72FA62FEC3F126F030F5D7DED9C3
+CF60FE890BA4A48E39E687BFFAEAB96AE542A6387F6624486037C8924002A511
+BEE5FBFD780AC1D4BEC3FBC47A930BAD0280D444259528B6C565DE11DE36BB65
+9BADC55C1EDA1A80458E98896D782DFB5C137897419602809F9BF8CA39F00C68
+EFB9E076FB324C2963F23CBFED28B9EF70EAA4E4B903225D1F199A7162AB239A
+D92D71C18B1B682D04C6A48926275BCB16D413B2A0E953E1257E0B12D8B717CE
+2EC84CFBC046A4338A69F454A469B12118E562B4F56C5FFB3CA5D357513E6FFE
+947A564B229C7FD873057D5C7CDF03E958294A1003B37D8DF565A70A00A3734B
+0138AE5277D383D10C2BD853EF806D3CCDC47739F0E374A3DF3B63638B949ED6
+4EC25869DC1C0B1F4DBDFFCC97382841D8F10F3635C792139A1EC462FDBA379C
+BE0990CA2E70FE73137AFBBF30CA54954D7E7377CC50BDD780DDD4C7FDC77AD2
+F3EB1169F14A0041F18160F43C24FAF556DB5D621709FBC544CE55424F7446D4
+6AC07A51C8CD5161AB0AD5084A96FB35D77F1CA155147DEF8D7A590EA6939514
+D4A226588295CE0007BA8A550895511C8D80BBE5CDFB8A50D249C3BDCA974415
+F5557914A9B805782F399E4078DDB6264F1A49A9A5BA45E284A5196E9828EBA8
+481D357B8D9E6ECA631A6204439FDFACE7D7E6A2392726107CB7D2517CD19A24
+FBE592C119626DB221BBB635B6EB84845C16A9585282E34958B961F4A543AF9D
+419B6A9105BF185FC767712D923437BE08A9C0EB92AB6792DBDC671029B6FCA6
+7F717FCE379C0F3B51C6CF042A762ED04898FBB4B0105C3C4ADDDC18C51BAA3B
+70A93666669547081D9246732CFF74C83EE90DA17F5B4F8BAF47FE4D81590988
+2858C9B96071341FA0A0D23BDD4947FC9BC2297913CFBD4FD6CA4303AB3179AE
+0203F1BD502065F90CE9BEA3B52DAFE4A29446082EA0E6B1D7AF1F31D0AD02CC
+9A7FACE2CA86E5FE0F6A425B28A5940ECA306891CECDB3CFC7A5BBC76B5D9E8A
+C754379ADE80B4D72CE493010317BF21A0CF4A0A55C1246218839DCA3F4D626D
+1F4161D38F54AD5142C1CEE95C61D8BB10FAD4B772F4955777AFDE8AE5A837C2
+A2BBB11D0BF5DA2E63D0B75ED421DBA9C789B281B01846B65DC572BA69591969
+21265DB722AE86BD8CAA3D887C975A617ACEDDFB7AAB341F47532AC0F354A530
+7662C089DA3939588774FFA16FC4A52555DED6D6F51DE718BF5F345C23C90198
+17B77CB8B5D53A5CE7A79F3E286B6A59F3F6178AC8BF15C0A15C1A8A95D03B60
+30EBE53DE328CE085CD9A1D49C69AA299C5B58B24334A546F6E274C1B534DC8F
+3289553F560C2F81E413ADB92FA0E7DD1C2F39D5FD268EBA97AB7335ECF28257
+96B4EADB7D0778706CB41C7E9C882760E7670936774A1088FFB2011115FDADB3
+B69EBD5108760762521C25C968C3E282DC3400001AC8FB1EA27FF643E3025950
+1D617BB8BB321281708E496277E11DD3AE0023DA9F25AD06B39C7CF527FED27B
+57397E88D3DF70EE4FCCEFC8A0927D6B05517E571B3E70ECC99F3CBA32CCD4DE
+B8BF22626B6C94FE65598A88AB90D238461EBD9A098DADEA4091AF1CDD7560EC
+8E1B9BC2321686E1759E6B8A270C8CB4A254F7368039602EAEAB86ED21CDED91
+8F2DB9889F46981C494C7EAF5E819B91C129F0740B8002B510014985E5791F59
+B16879CC6521D8E9F1C4C1890AC85A78022BE614BEFF318AB2616F0C3F02405E
+BB425D1555472A2642BA7686E431DC3FB8A1688B76660D9957C3FDE8D58109AC
+21B1234C9DDF3F0FAF93BCF7B2F88A001F23162E1A13E5E9118D51B485B70A91
+D0CBC39CF44413FD8686D9030782DAB58064F5B987E0402AF5B264B17BD31BD4
+FDF63951BECD73ACA6138854EF35B062D01F33073850D9C09A818828C581241F
+A625AB3638081DD0F00F946BE5450D38489CECEA4E66B4D85CC8AE0157E2AEE4
+A22A9313829F24D573101D84CC1784D1CED7DFAD5DD966601370C6CCBB723082
+A86BBAF0A5D867D0D2E3CA16E14E5109A29EF02649C47E12E88B3B397D65CACA
+DEB9940B92100744D686066F8250FF30E5F13D81428EE238A2E4E07ACE0F5C38
+7D79D4A336D0D26AF9C2B84088ED8ECDF94A1E3FADB45AFDAB46CAD6FF950B0F
+07AA2CDF82374DA76C56D29C80138841EB13F0D02ADD32F88B23E282ECC845F9
+BB9AAECE9CDC644AC2D49577A92307A83A99434F6493156DF25DBF0FCF2EC21E
+8C50A312C3D19E0609C0038554CF4FEF3ACEB7A833FD54B06EF0D617C2971C89
+E4C06075B09B84A4F78A82152B9A9C540B1D881313C2C74F20ED064A9606EC2C
+B56D7BB4797F1EEF4A9B13579CCF311FA4A4DFA62D80FDB7F535CC6526D1AAE5
+45C008EAF024B48C377522F74D939A475970533E645B1BFA81997549AFF26F67
+2AAE6C2EFA357DB3B525276EF330905688777057F4E4CBF584520A534A8587E5
+5A8360891E75A15205E8ADAC4A4E5A6E27D0C4A7D492216E4BC023AB027F37AF
+A8DC7579BA50204D5F45A51460C5BD8A5A7F87668CA6451137F2F59E117BBE28
+5C40820882A5546FA76F0CF49F8A6EC445F0647CC3227C400F56E7E9B84A6975
+E85E243CC1666DBAFF4E07EEAF3AF71BDACB30DAEA792F2B8504CAB071544F01
+5D66243D529C479D276FE22F7E275D9E7FA9C6EECA18716B2F213916E32C1D94
+6E32397B41AC6779543218E506569E3544803BBF9B404A983EBA62A494187B30
+8D3DFA4E1237A2E5E08224A60492C09ADAD8775B7CDB830520829BA164209ACB
+BCDEB2D574CEBFB7AE4BE72DF4EB1945FEF2458761AD8DCC0D378AEB7DA002C6
+9C14A665DAAA532B0ABA98D7BFB5A6151FF6703385AF7AE8FD315A492FCCDBCB
+B825707F9566B3B4943A3C61C3DEFDC31A843A2D67AB06891F3E110DD8C73D3B
+B5E4151B51D9F13905D7D94DB9ABBFCAF35F43B6EEE256B1A80ED6D1739D8D5E
+8C767F6F0E8704C5345D028A2A6DAFD9BB7AA048B8B895FE9423A7ACE858BADD
+595CB074A128DAFE08FDFFD6BDAC0114159A702FDCBF8013804B0CAEAD7AF38E
+FAF086A3248AD4FCA1401A85AE2F72E3E6956DC0996FE8ADB18F89B14A208A15
+13F81AF73D0DB72F78C4DA634ADE3C73756CAE6AF2E149C26316DFD93370BE1A
+FB4A79F77A67C07CB0A53C78367F21661D4AFE9E27328E077B522B50FD9AE2E3
+DA087BE481515B5DD7BF894A96A84A6C78874100505B7DDE1D22EFCE8D58B3AB
+313AB5495F72E2CA4E6AE22C0CB854302B9990372F1661D9F0A517F90686F248
+C5643008B3D29F7296E5C8FD4049886662EFDD4106E17C879F5D41CE84F87E89
+F6A3117C968B95A35940CC29C43E1E0DEF51C1E46B676301F40D59615C3F73DD
+DE37B72FF7105DB84227DA5241583272AB1C3CD97AE11C1EE98FFDB5E5F44844
+8FC41BEA5C54B26341AFF6830D9D0A5A2901B0653D8BD0746838194D240FF753
+E99750D3383373F453723D86BE97B571B8B84D8696089B5CFDD53E6C562A2197
+A8C4FB0CC690C27761A816B441029D3D306245052E0C41B53025D8CB7267CFE3
+C17FDFE348E765326F91AEB700CC49162DF748171214252CBC821493DD01AA20
+417D66DF47EBEFFF3E9BB2B0A2BE7D9B8C68BD570FC2EB0FA54CECC318F04C43
+19598BDE93F2F13DC7847354C99059AB20593EE51E94F9D4E9241869D605AAF4
+9D9B5FD88C3798A039A67993C5EC68B6326B132E647F67EACCA7F7AE7F718D85
+12666E90D7C73EF210E344964A38228B236679A2B18F5E081234CAA2458F8D83
+3F0CA308D19663CB12EB904076EF88E556407C33C9380A6A3D68A9EFE65387C1
+A1BCD2D26DFD2AC0881EC30E81C0A4E76C244A2BD822EE88C4A60B480D107E68
+90E419A1F512E865BA922A7830909BC2611A80931CB2E9344529586726614D94
+3AC5200FB9FF68AD9686506C5EFA8788C0AD0251AFE7F95E84683380CDB421C5
+B1A783B6D5F3A6BD1BC1C14B363DB01C87C0796DCDD5BECF41A1A9F43183CF6B
+82C2AE49F0BFDC5DEF7729F2E638EE6EA9E4D059EB9BB1B992AD8C82D501A550
+1BF73CBBFE740179B54E193E84A55DCD61B343C1852780FFB44248FC9426AC94
+AA2B3FE20FBA30F6C4D1E0FF3EDCDD8C0F57CCB50CDB0EFE2E04A8927E239C1D
+9B026C7929BB48461D4D695FFC766C8A0E545B1BCC2AA068D1865333108E7985
+2D93F9B00EA0A90939D0D3840D59B6CC0CE2C147B2E1A9A4F14270FE3ACF51D5
+99F7349106165AD627CBBB0ABA01ECC6D3A14C1DC1ED23A9DB9865BB4396C51A
+31ECD001EAC94B33C34E29C5611148EF3E55DD61813470B8F3CE32564C749414
+3C93C77EA5A3538A0B5AE3FC4DA32813B06772E0E48E25BB39F3F6FDCC077E86
+F86FA50E18FD19EB2F37311CE87F18F3BC85CE7FD71CA92D5C3264E34E04A2E5
+70C79D99F54D6C6D9D527AE45EBB48411221134587D2253E7C8ED7658EDCA34E
+5E768DD14E0200470F73C44D006CE8CB35DE1CA3EC10ADC668B0662A7774C891
+84EC95A31DD872F0728D9F65CA80940080E04630BE4DEC77A2C49E3913C39978
+BF145F8832AF2C4385EBCDB15F9D32C22CBA0CF950877717D6F1591D7C0B8047
+8C9BFCB16AF7124ED83137695F3D69228DB633053208C29E0ABA1B06A7FB3EE7
+5625CB44927E2DA6E038A6E62DEBDA2D96A03177982D8FA33BAAF4426E05F4B7
+9C1748B3FF7691F9888E7FF864A10B9DF761A41E6B5CFAD2BDD7E1C4924AC97B
+F4B352705316DD1A58637CC12D71C18A5CA691AB2AA8F171590EC24582B1123E
+94D4DC587D8F99E18A711776BF4013C96446BFECFEE4C809EA94B169088024DE
+0CBD20199A915AA406F0BD5F3D63D1467C49B4691AEBBB35ED6624F2D7BB74BC
+E80FD92B9FD04DD9C2BE9B6FD29EC7EC07FAB447511C61DD299C783BC09AE2A4
+7B3CBCA6A20C6631D06D0B2E2482A50612BB7C29B7E7D0A205EB0E8436702581
+596BC996ABD58CD8D5BAAE4B1478195CAFF98FE0141287296C4EFB8D2E7A8442
+F0A3AA9F9264329982532295A176BA1867EF732BBAC49AF485D9D0F7130F617E
+7F7DEEF935874D55A22240F8EDE4F247D5F73481373A392D40A8076BD91079E1
+1CE5998BA13D48D56B49A92B4A18430E316405D2E2E391B496A1934671FF1785
+AF42BA3B2D14B8E04014437FD194455C50289DFBA61B5C377BCBDADA48E82DEE
+4E70EF5E9DC03064907BCB8BE4D59DE069FB0C0CB140DA54708E630767313F9F
+744594AD8A499CFEF733E640A11FD74E46A749F9C7D18D49251BF85C6EB4668D
+67598C31A8F90922FEAEAD4B83B6E7184567DC798E4BA1C4C9B3461A478D63CA
+054F13B502DACB674EB49D6BB935E5EC82BF99FDA7D47C581AD7F940DF4FC6FA
+6C6D25D647033AC69505F0CAC58DE99087F365531A6283CB89CB644688963C3B
+8B2203A94294E58739EF23C7803630A1F9121D62BE1977DE2F41687C8CAF87FE
+CBD7AD3B98E0D95C8C6E1A7CCB0E09465AA874DC90A0F5DB2C5E7C130297FD39
+EFE63B0350B5139D09E6864D22C3F1150B29196E40EEF9723E71158B7ECFB8E4
+C426FEDCD439420B7F1C251FADA347C9A2C49738B5A17922E1EA93CA7B125B76
+57449EAA9C1D591CAD327D0E98EF2D44D614EE9ED49DD31ACAC0B956620B6BA5
+5BF6D08CA7541059D5ED2EF00AE2EE95488F5645BF6837D9241C0D3959B7580F
+C9ECB2BCF3E65C07D52EC9CFB21C11CD4C883E44C173214C900C44D2E1E43DD1
+CE8DFE3DA93C38B548BC4EC46FF91F30CFB97525E1FD4E77686433B20BABF8D2
+848C1CDF1BCF185CFD7A81D2D4BB826E837E2AF35CFC4F419F698DB0C43E9F9C
+B0FB628AC9A3CBE9B1FF4A067016E70333E78B32AB2D89C483834B31F5808FDB
+77492E099F1504DABCA5722C7860CDCEDB2DDEB512FFCC7D287F4945FD711F28
+87BC3D36173566B81FC2C1290C717A09697DAC6072408E20926D39270121CE58
+3EF97CE12EDD7F87F2C8CFE36C3C0400869C0D813B71C425343EE0CDF717BDD8
+409D5297D0F8F7FDEB0257C0A391F5635E0DB1116058942FF3E7C94D5F2873A7
+A3B0ADAFC3835AF2BE474E6741319BC6695FB37F59AEE388F81F6E66F910000B
+72E6BA7531B4378CEFEEDC79CCF4947BA1703823B5AB4F4AD73D9615C66C489D
+99D68E49C9BF765B7FC547BAB9640D51D5A7A2396507AB5A4DFF3D14F52422CD
+8FCFEAA06A56C6C7FFCD29C9A7A59DDD2A909A9363FE5F1E9629616D25ED38CB
+E754C059E4379318CC491C3B1A90128693AC53F80F8210FAEA7EE638902A7D3C
+82B95B3F5AE340EC1B648DBB9FB679D6E80B7F426D8671FE7136D97F51E2D2F3
+C9CE9183E4061CA40091A2A70DBB9ECBB19CE3F65ADD0FB346B54BAB182E2CD0
+EAF4C0F402C25573FB344EA771B297BEB615FCD0595172E84ED2A62FF8962634
+23C19076C2A9ECEED5135994EB397303A9619C76DC55E032DA83FBA441BD484A
+59F70A5110A8927F6239A14D4E223E189A5462E4A92EAEFFA4B961A2A32B320F
+C2B4E8C1821FA67A655B5042C15E4DE1FB3652B55078DB123573C4E986B19DB0
+1C5131F3DFAB271C30A5476B4A19D8FC922E31879C34BAED94C07A4841B8209C
+403369FB8E842610D1EB4662B6171A4465FD0E819964F62EC5B0ADC92F08CF90
+1DE0B410FFBAD16F6D355E8AD72CCF67961EDB6CDA82398021007C2D0462E893
+75EB0710AE4A6CDD15077C9DEFC5774EF4A657734D703CE42174259B58E5277E
+0DF26BF59AF8D1A3E7DC12E3C12AA4B67CF35B19962F6950C2020B698D971B35
+82FF84E72F72FBB0C54A112BADBAE6C4CAA358BDE6A705AB59332C3850CA3D25
+C7564499BC1319121CE0D93218210C68080AFF33420E3CB3A48BF9EB66BC07C8
+A79D8CD8E78C200FF7CFA3DAED0B9E87E6141C88B436D8FCBA50AC195FCBB9BC
+9512B95FE3A37FFAAB39850FCEBD4D50A243EA416E73F53B4B00F3B6EAE0CA06
+0693AFFEF215D00BFCAD02E45496D7C8F5E99EB9096FC4300D038C1AFD31EC4C
+5ACA6B72C1BE7204E37A4CBBCB1EC26AB87F2FF82DE20601025169A5FBD2D060
+62B5B2DBC288C79C33B596832AA18D730AD572C6EDFABCBD36DEA87C0F323C3D
+6E537AD3B43C6F3A905597570A8C6B0B4A5E08C08A430B643B6ED36DCAA09B41
+FEFDB90E10C8A8B74EB358437D0CEBB9E03109C593BAC09CA996278246E7CA38
+4F311F23DC5A7F7DB374E0E3D066C874EEE28CFA47054DC41A389203BFB3D601
+BC9A4817F8DAC250A102E7404CA135B33DD66F8FF40D106F52081FBA3E79CE29
+FCA5C502B38C86D8D507AEF30436472D2381DEA09B8B3BCB109BCD72332A9483
+E61ECF0F89A85BC37B8C10FF3F7C0A84FB8D0F4A7898D3F8B06202FF8DCD698B
+56544751347E9AA35209B18D3D416E5E034E36D9C5FC0B33B7AA0D46F3A3F925
+7FCAD9D6B9E25671F9AC599A40C37B2439C06FDFDFB3E78DCE515BE82B5BE1AD
+2F205E8249407179559DF39CF29120C4B92C5283B609D0445B30F3AC71A1A678
+8F43D8B12D7FD722606252CF4902733EA4B255D33170411E8EA08BAFF921D2DF
+6BCC3895D5068C0F9EC39CB941E19C00BB1712A05D62131C74363D5AEB66639D
+187A95AD7551136660C5F23DD00C6C48AE227BD0378FEDFCF64A6E6184976DFD
+C6390C27D00AB9A9F6DE3ED21A0B765793174FDD8FDE863B6A7D80D8B4912008
+2CF6B8F487A4DC01CBA2154A90626C06E1BD80AD2EC737CE77F78CB3447B7B99
+A9576AEB656F7754030CA8F2146073147FE3D34B4EB0DAD6E0E468842EF13526
+FC63E4B8177E446B2C94B7B3AB1B9AA6621D4725A99A9EAAE2A45DAD80E319B7
+4C693EC177B5A6A045ED7F7C5A0AE72C4AE6AF341C90FE154344F6BF4A91E630
+052E39F9352F82AB9F8639A43E48B24C1BF9E7FC17FD26B82AED0988800E7CE9
+B3EC5136562C38722A2EA148A3A662898C073B6A067992DB9B33B1764B8B2306
+15D31882A973C75F6FD0BB3FE0E680622BEB1B9EFA9E346ED4E475680E2FB113
+8914F0996710F2C8CF0D8A3F5CB23801B2D2C33A928070FED88604C03186D1A0
+D4A7C445D053C1C112D04759488F807AB38A8553E4B5859722B712A50C16530A
+847D15530FFE99978433229E3C5A97CD123B7435E73274EE31F8ABE5EFC148CE
+1585BCACA0ABD0E30FF5EC6CD6804A678BA203496B1B9C0AF09F761F573AD20B
+DFB2E62368119C4745D42F5105D2482FEC550817F2DD698EA8CD8A031BFF48EB
+C1E4A2546ED642F5F1F56C6E704767E29B7AF236AEAC42FA180941E9D5EF3A2C
+5066765AE61ED62CC5682A93CB45548101EF08B51FD93CF4E65C2ECB2920C5D0
+91B3EC95D770651CFF4AFD2ECD8CF119E222ECB8B3E17E0CE57CC25083D5474E
+B8B518CB91056426D18B563E43C51E0E8D5CCD36679FFE0E5393EB025BE55EE3
+9E41228F9FD94EA90406A9F4C476D0AD703BE4548F0511BCB391225E8A3E694D
+573D7D4537BFBAF383F9F07D3206C2ACF8289FD8E8C9A1EFA18E8F39F14CC0E7
+656E2D6846D0803EDC1B51D67573F59976EF728378D89EA9C5778745AEDADF89
+BB38F981194EC940262F0331241D8749E5C80583D20398F4A01BE9E553E56AC9
+7490911CC08AB305D7A468C6C7FFBC5CDBEFD8553F379BD85BB2F5BC155DAEEA
+E3EE605637F161AFC16ADDAFD3E31D9756D7399FF28A1DB175B6C9C1628061AA
+9FB30B331E3E554AC63021E6D2980BB19B29378322309D6A844546CE03D1E8D3
+313D05AA7BD6E056B236F3BA77901940AADD1A83FB87C82876E1D4AA99F4BE89
+A07F4E5C424D04E60651F9DDF78597EE19024EF3A316B12D93483F3E91C73B56
+D6C8CA442C49CC496002C105F11D85282382FB1854E231CBBEEDC678A8D4AF87
+0F520B2F35CADBF7E84AA1B78D410DB827361A78F4222532836624500C620964
+48FED4BEA0DE4608C20DF2F54B9C48A1C52FC891B83160DCD3CD0D8DF0AC2265
+7B08050A1FB711B7CA8CD84CCA2B8972526681F96E241B27723EE72085FEB4D8
+080E92628CDFFDAA3C1DD840C9AD54C026253A551FF403A2790DDB1A75D63915
+BEC228BCDF694F95664A77FA01DE9BED0724B83CD71A62E2404384CB70707F4F
+B6124172B4BB29D80DD70730DDDCD8E33EC6B17E5F331F15B7B9892F28A7F39F
+425B1173369CBD292BCC5D231B13C50379AD8E6ACB381B198B0BADF9AD960E29
+8EB6DE83EEC1584F62E49826E5F234FF55453BF33A1EAFC550295B145B353F59
+E154C80317306804CF4FD589D1D07779F5949E87FE27E7F82405606C2DF9AF7D
+FD8B62B7AFC4B4CFA8E620C5352169CF53F84E21415B8B83B86D485F9557B5A8
+BB60DB0E770D9CC1F5449BC9919FFDCBF72C48537A9B098933E360AC67148964
+8173501B645662F91F70A7EC08F358DD5DEAA97BC86C943CB056745C60AF6826
+2BBE9E6C8D5DE0D0EBEF5FFCA3771FB34E4B652E3F6B3967115E1EBFD726911B
+0A28FF9AAE9EA33791AACF206B59F5EFB368EBFA6888AAE7545F3E8018DEACF3
+EFEDF2DDAFD0DFD58CBE3246F9435938FF06A586562C4CD9E104F91A366F6DC8
+A84642FA8DF65F4F57A524F362BDB7480AFE7B9712F97F3FDAAF6848EEACD2B6
+A888B5A244A2A831D4D7499DFD627210D935D477114ED3F2E73DF656A10EE964
+3A68F8187939548B10DBB9882813239F9F66EB75A4D68B6353B88EC1CC772C01
+6444DE3FBE444E194B5C0F4A72012DED2298B5D3C147C76667401D73E1AA3CF5
+4541E2786C7C9E8BF131D83E30C2AA26C850B5E51DF6CBA0E08DBC651710CC27
+C43B4C184BE9FE4D0E12A8D8CEE05896E200C618DFC4D3EBFC352F3C1FA19F0B
+7113FD5061CB3EB2089BD4513971669BDDBBE45179C2D0C4C36FF1BE9F09A71B
+2677A37B32BA03BAAF8B86433DEF40A8CB2EA1B136905AB43DAC3340992ED434
+BD249C8787CEB0F1835FB26FD2C8872B1159DD196E3F23119095C9B664BCA493
+0372C17DB9D57E4FDE0269152190F9EBB471F4BDD2474BB52214C267FB346C14
+4EE811F415D78360B8B6D9097D9DD24FE0D1C374B3BADAFF02D4CDA3CD863E3A
+B35B25F720C839895C233775D0680A7B705FCC249254EDFA77082D96B444F4B2
+C620384413431F4C0EE037971C72BD53F684A4F6A46222B5CA3DF7B7A38EA0D7
+E42CC17EC429C7579C2033AC726AE9CED6F0F0D6C96899F8FEE824BC6670E213
+8BF020DFB3863361D3EA949368F97B325F20C285633C45ACAB103235307476B5
+05D4E114171FB5CB8B3359334F4EB29FB25258BCE5F440E00564182CA5FEFA29
+E32E30C7BBEEE2C8506EE805B0A121125087FAEF61AC43FC514045AEF33FA96B
+6F80D975EF60E46A86032D64D7E03AC4C1D17D7FF2551A3758EA17F52EB27167
+C584B965C4FBB194252F49D15E03408E397F8FA8195DE9F225CFE9B92557D4C3
+DD855E8ACB25F3942DA527ADE086F88661565EFB7F43CC414DC18D9EE5724434
+5A4B8E105963327C24738DE04051DE1026746388BF13986B06233A50D1A87187
+BC952B2F7D60F48BBE22EAFEA7F6484BE4B5BEEF440FD6BD795D2E1CB0131081
+D3B6CC24BB89D5700EE56348EB66970A740FA5A308630C582AEC443BE5419F8A
+C91EED6DFAA5E2266A27E9EAEBDEA6B3D8BBBED82EF7BF4DEA9BC76049532F0B
+F6EB5BF461951F01E5630C1F0A67067F04199ED997556FD929D0EEDC5730F3C4
+9E4943F5ADF16655771526777FA4FBAC827AA753E5F8AEDDD652B6D7C4D1A980
+D060A5A2530AADB1889BED0724B83138613F74C1DB3A6B32B70C9C7E7CA7D157
+D78A6A1C94DB5199CD9677CA27F80BCC5F8F220F339584C66AB6A7F1E86EA54F
+3E2F0864DE8BCD5AC1E7D7BE3E3C6E40D6D928E5F5CC78F6382D683CC67A52C8
+F092E3DE39133F256D39EFA4126ADB4CD27B5EA68ADE6F641F50484E6DD88DF6
+20F8CA866388BF30BBB2310163C26A3F863C255BEF22E84B365C8C2D2997BD0A
+E467E887536BD8EF755047002A02909DDC2F93BBDC705E991B946BC6AA140914
+D4D1D9D687197C3C299EC3448678E927E06F0245B98A8B8C6C22DA4314280CAF
+5ED5BA419440230354855B8C49DC5ED517C75453322ABBC6F378940CDCCC300B
+EA6F55F0D0DC549D83AAC71197D4E83462B62B5992539627348D2E2F6142169C
+DCC10940ACF4DC41E8D54CB3BA493E07F20EF27CC6624BA906EEE086AB259500
+850E09244E22BA77722C436176A2B336FA4A8D029514197B3AC55BB34BA9FAFB
+93DD05E1B590AF5FF078E315F95407BCF6BE467B440CB294F41400CEA34B25A3
+A1866FC7A66A41060E55159270B4BB6C4EC3CCEC692EF8CCDDEEB5A8E0EB7006
+91BA10E08CCB8950811D685959EC94F0B8BEE18492882CE07AE3726A720AB016
+BE47D075F22654C497E1E59807A47CFE52E50B07DA5300CF57B654CEE239F376
+DFFB1E0D2B2D84EB0817BC7EC7723722892C705EB158D5DC5611949630B23EBF
+F9F385535E6225C75B81974D51C34F3158D2E71F1E923E011284E8FA15C4736A
+6E070ED8F8628050E817921833E4145DE43A0D580221C7AF372036439ADC2E4D
+352ECE41DC2FC315C92815E8A43483A97A987E3DE7A0AFC37FD30018D2A4EFF2
+D5F193199FC78406F31879CC75DBA4C8553378BDF42B8F1D74A492129712DCDA
+1ADB16EE3075817E4C574DD0742136D021A1A4B9D7DBAB29A6F49E6C217F1BE5
+D14236BA0EB6088A2182A40784400840A563CE464870C5FB70ED123C261F9FF2
+46A1BE2427BB5F4F333179F67A2D6F16982C44FDD4DB2F376A51B828C2E81CE4
+7FAC3669C0250C36CE3A24C5D6FB3E29D417E36CFA3873F5D94B0DB36D89543C
+3AEBD959DC45EEF25A74A10F5A2621EDAB05E11F6DF8E320F3CC9A1290D127D0
+1B33286E33779AC3A32DB9B26634924D1732571771A10916851EBC82094C7FCF
+3451EE30AAFBEF97B955AB8D8989ED49F5A1F401CAD779C31E85B4D4179DA890
+924F7E56F8DF1AA6689D83A8E8150A8651EA1E212F6801ED4D8164768DF75B10
+26FFBBE3CE63DC3F73A9731D9DC8885B4907EB1D98AA77E99C8360AD40F3F7B7
+DB08916772E7C066517C68713420C8358E0BBE46077D94C7F266FA79176F24E3
+4009E9E3F03C7CF82C5D58249BA15460E011723EAE840F73B706B4224EE66A7A
+D128633A2D8BBE48726075A25DF9D293F959A6888A577BB180BCCF03BE93F93A
+A6D93AE0BD0B4DC0DE67919817BF7B218A1983D4DCC8CC9FB7ABFA1114880CA8
+B14EE2A02D2BC86B4EE989829CF4D498E86B401A8105A08EAF9C6F523272B78A
+2CAB40A6CB90044AC493DB17C740BEA102D5A0F957F08270857C3E2DEE60BE30
+22048592D3C80F70959CB89F0FF48F72EF8CE543561E0D4674F6CFA74B56EAA1
+0F139F8A234BB83334E7E5558348234953E909E7BED6E0CA5936CBB2B7F72529
+117420478FAEA34D59F3C2BF1B2593E9460DAE58F0868CF5F468F0A4D20AC530
+9E769297AC856739A6711DA4B4C652706D3F87F125D9E37484098610901321BA
+FE2B09603D8C90EB82D7593ACE2A0BB2EA1649924E1C12745C5D5C24458D873D
+F20CF324CB97FF92EA8608C726A43A7436C2629588769C4CDDBC9C83D5B492DB
+79E0776E3E31E69FD2A1ED1F6B0F6612374C9643DE11E5574989583C76D1A660
+75518C247D9235DB62E3C83E8BB73F1C55DF0626315909254F66C4CA201C1E56
+045C6848B29F20AF241E04EF6F009D7762B5C743D90AAC90AB5463A2B3BD3FA2
+B3E05A3C0543A44E36019AB0307FBE7EA9C744BFFA71F31C4D067E1238DF8FB2
+25E0CACED68AEEFD90C71D12582C40057D6FCCF2CDEBD18AF7AA6A6E8360A17A
+0D1C4823F37E415A67BC52FAF133F5F330178BD1149D7E874469046CC9C1F879
+8EDEADF47D2ECD796F1FAB616473225B44496C5EC8C20E2C5A2AEBE6549B6EB5
+2B49ED4F5370E9C13FB07D8848E3218254BCC5CD8C9E021A5EB5A41A6BF3FA4B
+71FF220D3D4067A98D3B1444E8DC2B986139EF93959D0F66967C123AE4A42BD5
+3314FA72DC0BFB31694BA25619934975A8F2797654029F161237B29C01EFE7EF
+187FAE2211AF3C78F3CC1B893F25140AC681C09B2189F3B04C0AA6BB2CA15515
+BDC18DA015FBD67D09A1E40CE9490DEC66D30A7CA2F279276A32A2FB7FD582B4
+064FBB08C68C542B790CFEFF9F4D79EE607F4207FA53868F302DD609331F4CE4
+48CEDE1C98C20D920CBF73F9941F52BF911FC935BD7D773F4D177047068B69BE
+03F1F0BEB3AE8EB8650E657D9EF19AC35D6C815E870E73DD910BE853BD6A992F
+138F492950BA040E1A6018BD1A2CB7AA08CAAAF9F0DD3E07E4B79792A04A4332
+AE7D03BC19708863892E08C0E1C63F07B9BAD1BA9A50582E200FDB0C6E93E65F
+2ABB91DB5B6314932394161816A7DFB8C530619C13856E232756B8BC7A74581C
+050AD9E429F995989D84BF01097A189FCE99BE4DFE68BC922E76D4B2CB5DB693
+F5128297018FCF735C5F474CAD251B51E9CF44386DFF6311B636022BF8B77971
+995E3ECC74026C87D58DB9C72D758CCA71661509C5870981E6B746850A1CC7E1
+EB73071EF8F29E953E7CE9FFC00E147BC53271698A2F9E19E120038321271AF0
+D697BBA78DDC61EC0848F9898E4BC02FDACC4D71519E0417C847D01AC930C6B4
+CE292BE655116BF55271E310757F7FCA1AB209D38DD38B08E987EDA95D847EBE
+2D32304476EBDA0378C7038B1E9DC7DC5093A966A82C89C0D1B460EEB08E3F6D
+3D95E24B9D043A9914D7D01045A5FD58CE26E4FF87A84E0F9E8D10517D907648
+A66493682EFCC62BA6A62433999E987B1F8E7C1D5CB1187C852402AAEA6ADB3B
+0AA43F17BC3099B5C764AB2F17D4ECC434F7058C94E86DDED33EEFB1D1DFE2D3
+F725F8051F687EE44952D0872A2DB2E08BA576E80D39CCCCD81D28BEDE22CD98
+2FAE7BAAE2A0DFFD5DC93231F7E98AD5CF6ADCB159F657FF4D70D7C7128BB903
+0292A696467698D0FA1337F496EE5019564A7C7EC36122245FDCC748D8B45314
+279A63EBF27F20B6982E85C4E6185AFA995760AF75C88B0D89A6EC77F1B15EB6
+23A1E1F73F925E5DFD91343938AB2DE907DF4CB2B063B72A235D24D985497342
+656E48CDFB0CD254ADFA05503E20E550B23182512D0BCDD68C7EA4E129907B0D
+7353692E8FCE296CCCFA2EE7A699F0373AB9BD7CA95DCA5516FAD517F19A518C
+EBF98E8EF876D73AB1650FE77D03691D0518322987A88585DFBD317CD65B2686
+683DBF4A1961F2A31819B243BED008541A6D7F7A0027FC303202A3EE7F7D0E45
+BFB48364FE411BCA5B5999DD3A19EBFAD94B00FC1779555E182D34011D02314A
+DEF66DCFCFFDD84F53C7151DF8458F9A3B619E8A9737FDE81E2389314828BA0C
+78793A67B242CB084D63BF187D8A93FE3A0DCF4FC27111BBDA4D80A8A9F52403
+91E6E5C67E120FF879A9BB5842FCD41DA2F2599A8E9E9CA33A437D16E7B49F02
+4035B12B78C5A4B4CC9DAFB17A5C84C1F67B5E18F873B96FB8D18C3E5D30B126
+0E277F0EB9EA42814894F98B64D8C5E564E8D3C4D8377BDC9EA5AEC87846D550
+021DE093EB32F7F9A4DC24F6FD8386F6BA8836307B73142D3A6860CB6B78031C
+BE266E65AD3811EFDBD1FEE23DFA0F6E25C64BA563E2435D29EE1169910751A0
+FBDD7626BFE1B0A076B47FBC89963AB9729708C3A9B36D7D69CDF0F8C0C8668B
+19AADBF3FF316B1FFC44BEF969657F79E5E263B5144A61FF11B69B0670E0024A
+D99DBD73C86F324267F2D6742CC38AE0D83A0E6C57C82A49EB81BD2386B324FA
+DE61413713ECD0A4A360791B3E6B81E191B89298A7CEE8B8B492F29127A4F98C
+5569AAAC7F25FABE8469EF90129C016933A6B73C157F2F15CE47B00CE92CBBB3
+93E46752532D44A77747F53C428A6B632236277CD7B9A4F19F15830DF7B27F32
+F6D0E312C6DEFCBB8937EE5BED27FE67BEF272828BF36B199F2BBC1671551C9E
+40717351FD606B742DE039E29108E251BEDF969CE45B281363D657E4A11F3CE5
+4FC663F9AA6FE5EF0E00F8DE402ECD4FBA57D6A0B87E9D34D0AAA2D993B8E5EE
+B652AC345DE657BD258EE9E41DE71B4D6CD1EB478C6FB859B8501931E1CEE0BB
+36CC117F68FF309CF1BF17DAC80A8CAEC96C13C16051C6388A586ABC104FE83C
+388E0852A499893BDB0F8FBFF9F6EA2E292D2A6A463BFD7512D515030F620F29
+33A369A70FE7C92F62DE254576D87DF67AA7B46AB9EB64253262F4F630AF2D06
+DC7A911815F31D34F13E166F8E64D562A0FE74D06A8BE94FA27CB5E9A8B4E3DC
+779E1F18CC690845D82B0B32DD4CC4797548741C3B85355C90E01187EFC79807
+8B4470CF6C8FDB960B9C78C255AA3EFA6C8A753E002A89BA14637EA765BAC054
+AA33CBB54A19B36F195C15792821A7AB212DDD6E4CC7D8897EC3A6047E835D7F
+07DD3AC215B30A0781E2A1770D7F474C275F944837C3B206EC15BA70468ED8F1
+191E0465B8CD3BA55CD3724F5F80D6DEB419F33F67364769C514493F0B101C43
+8FE442FAB3F3D45DCDC6A5AC10EB9CFCA26CD37B1CEB9A95B8DADE0855F62C5E
+5601AFC030F78415E3A5A74C7EB82B3C48E779AAEBD8C5622A9B5BB1710631AB
+796062007CE0B8AA31F8D98B9A1E9FE07613E420A488E8B5683F6670C85A1DFD
+DD8D7729ADB53DFC0BE477EE79A7DB93AAF51A150D231B80D5D4B218A53C180D
+18117145D367B40CB779689405BF249B7B1E2B1EA041F6BEEDD77650B9107094
+A13066492293568F83451532D851AC79A56EA4505F331578BEA76C2B31B484E0
+2D131CCFA722266A13D85EF3E077E2D7E1A2592093E555168EA668FAE1AD5B56
+2F102A5E6B0539AF2AF2DAF88FCCB30E8B3B76D1FF22ACB2E0161F364E488948
+A72E3C383B6498FAFB544D82AAEE41588800C21B2415EBEACD6E0D598C74BC86
+0BEF8977D690B54670984114440E279B5B45B58C2E334C8CA160DEE724D6831D
+068FC83F1B421B71A584B30890C2C650C4FD67401DDA3E022D4C6E274EB881EC
+464EDE590EA5223B8C88DC69BF64F86A80317F1216539DCB188A53E13B0C78F7
+6671363A7C3E7461E0FC1F2C0B2C1344078ACFA35B487F86015CE9B659301918
+6C50AEE0E4A5E0B0E23951A681EDE8E480FEF19A95B579C4F4442406AA4B33AE
+60548B50081801DE995FD426C0F8C437DA35559509C9C098CAE938AD0BA2A25E
+13C12DDF84B3346A93D8EB7C9F401D83140554823D572700DFF0F430091EB2ED
+92A726B5C74C99B2D7E58A7D3D06321D6DB8B657D8EACEBE9DCC92A8247A792B
+65A83F0B447847C5F52C31B00E09352A13B9A61612A26C0BDAB90C97CC0A10ED
+8A93C384D9E045B45A5B0FCF938C23C94442457E7D410D9DBA50728D08331BE6
+76369DEEF3ABF182C67D2200AE4ABAFA620D8A58E89FE34AB03570AF159A0B5B
+5D17A6D41C0760656164C93574EDC5A4FF59166DCCEA3F6043FD28134961CEEE
+56E25A6FF6EFBF13697656046CE73C2FEE3BDFDBC754D272EF6ED4AC91A2822E
+1D2EABC411AC00D81E2F3D3C9A049399776ACB344238EDD9856FF01F5CBF9D85
+8C73A13ED3DD6EE4BB5882D611E02D50A1CC5041B0F9D82524BC5E437C0518B6
+A7CC9B24ECCBB081643D5D40BF1BF4E3779417BD4858D8C79AFE226F180A16EB
+B922B60D87FDE2A2610DECA951255259FE2C1B0B7A3FF3E432D45103C7E47745
+0BCE74FDDBC4A089283BF6052DE66388BC195EFFBE92AEC207E080EF7640A3D8
+6FF0F5339FD097D46325DED93B3EB44C41F55376ED3ADE9CDF48D66B76519EBA
+58BB96EC20A72A5DDB370031F990B6283ADABD0D78DFADC9ED71506F7959584B
+EFEB34D8F787632F9A1000E25EDE7CDCC515E604D6B69FF0AC35B47B0DB3865F
+3B876028B1F46FD03D5EC063D73CE5FA8739CFF3B1B9848AF6D9AE337052181E
+33B1A412B0E6E053BA70595C91709384C3970D40FCBA42BBB2770D81DA410ACF
+15CCED52DDF4A25BDFD675EB2B3A24DCF00B0AB2173911CACAB635F751C950A1
+EAED8BB5B10F49E9536EFADC117074A92745F15DE324C0342D15AEC4B9135FA4
+41BCAD8F5BEA5ACF9B788034AF2DED00DB1D8A561BD52289D4300F64210D0CF4
+B7C375321CF2EEB31BCDAEA5BA2EB94FEF21F61B8C474E12F5BD58A6EC330ED4
+505A738B470F6DEAEE44FFF3CF4E5A12EDB76236D0768EF832794754E309F70E
+14F698045EB67BE2B179080D529859EFB4BC4CA4F3C449214A781C6F1A5F3F48
+ADB5C7147C1C4D6DB3CF58B4668FC211E38F3512A271FD6A4221F80670BEB650
+2465633C1D8419DDDD6FC8FCF176A6FA1FF08AA5133D6D20C7244E4271E51C5C
+FEC3878622B2C1A6A6E205CE490CE18E53E706C9B01F6928B70BD78C67CDE665
+F5DD0CE0C1D6944B64E70AD71FD208B7F2C3B18FDF15C9700EBD43633921D75D
+F06087829FC0DFAE046CE3D33368031C9CE323F8928BD6F765C26B492CDB926E
+ADA4832EF2D403ED9696CEB09F7EEA632C3E069B52733D4A6BDDA88BCB3FD58D
+D84C1D2B5296ECD33C8742EFF0C0CF199F18508B206B806EC19B02AB74FA7707
+8151FE888B6D2C860875A75FFD731F7CA7F9C380134181C46FD9DC509CDF6DFA
+08C44826C788AAE3FECFF17F4BB7B9231A7C980D83D92835B461C36ED8D72455
+5648657244FFBF842578E1A66F7DC2AB14C63282D1CF3B327242DE557A66157E
+77710427B8AB1EBB8060D52849D291062719FD8806E64BF03C4ED2820245F321
+C1E200F759DC1592AE790E7E126150E582DC7704687410E8B20CAC3F3CAE98D0
+4594B61273F6462086EBDB7F69D4FD6597CCE251E96F81F230CBC57E7D819DC2
+9682D5C43EC4707476CC941EE512EF6E71C74683FD21A587E94ED6C6410A0140
+344833517F25567A9272D4ED1AA88F0129114448FB9702A04CD166641D9E9C75
+97D3EF478659DE7B43EE903E67AB860B75
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+cleartomark
+{restore}if
+%%EndFont
+%%BeginFont: CMR7
+%!PS-AdobeFont-1.0: CMR7 003.002
+%%Title: CMR7
+%Version: 003.002
+%%CreationDate: Mon Jul 13 16:17:00 2009
+%%Creator: David M. Jones
+%Copyright: Copyright (c) 1997, 2009 American Mathematical Society
+%Copyright: (<http://www.ams.org>), with Reserved Font Name CMR7.
+% This Font Software is licensed under the SIL Open Font License, Version 1.1.
+% This license is in the accompanying file OFL.txt, and is also
+% available with a FAQ at: http://scripts.sil.org/OFL.
+%%EndComments
+FontDirectory/CMR7 known{/CMR7 findfont dup/UniqueID known{dup
+/UniqueID get 5000790 eq exch/FontType get 1 eq and}{pop false}ifelse
+{save true}{false}ifelse}{false}ifelse
+11 dict begin
+/FontType 1 def
+/FontMatrix [0.001 0 0 0.001 0 0 ]readonly def
+/FontName /CMR7 def
+/FontBBox {-27 -250 1122 750 }readonly def
+/UniqueID 5000790 def
+/PaintType 0 def
+/FontInfo 9 dict dup begin
+/version (003.002) readonly def
+/Notice (Copyright \050c\051 1997, 2009 American Mathematical Society \050<http://www.ams.org>\051, with Reserved Font Name CMR7.) readonly def
+/FullName (CMR7) readonly def
+/FamilyName (Computer Modern) readonly def
+/Weight (Medium) readonly def
+/ItalicAngle 0 def
+/isFixedPitch false def
+/UnderlinePosition -100 def
+/UnderlineThickness 50 def
+end readonly def
+/Encoding 256 array
+0 1 255 {1 index exch /.notdef put} for
+dup 49 /one put
+dup 65 /A put
+readonly def
+currentdict end
+currentfile eexec
+D9D66F633B846AB284BCF8B0411B772DE5CE3DD325E55798292D7BD972BD75FA
+0E079529AF9C82DF72F64195C9C210DCE34528F540DA1FFD7BEBB9B40787BA93
+51BBFB7CFC5F9152D1E5BB0AD8D016C6CFA4EB41B3C51D091C2D5440E67CFD71
+7C56816B03B901BF4A25A07175380E50A213F877C44778B3C5AADBCC86D6E551
+E6AF364B0BFCAAD22D8D558C5C81A7D425A1629DD5182206742D1D082A12F078
+0FD4F5F6D3129FCFFF1F4A912B0A7DEC8D33A57B5AE0328EF9D57ADDAC543273
+C01924195A181D03F5054A93B71E5065F8D92FE23794D2DB981ABA2ACC9A23A5
+3E152596AF52983541F86D859FC064A0E3D5FC6647C3CAB83AD4F31DDA35019C
+CDB9E3DD3FEBD4C2B36BA3CF6E6C7DA85E25D8A31A9BAD39BDF31FD0D1790707
+9DE6A078E8A409D8295F642DF492AC4F86AC84383B0F4C6BAA7C22AD5A898A71
+D6CB34D2CD12266C486B75E75A69C14819DD9BB8159088E04D4717E576B8482D
+BDA52110AC8B8A80E4E9D58F470EEBD3CF44A1E1EE8DA318FFF3611B02534FC9
+F4018C7C57E80570D2F634D98BE5D5EC6D95051157F0EA94A3D12BE0B4B79939
+F82F8D73136D3337C44E314B0B16CB030D9A12E01FB667105F334C3EE965E5A3
+D410D2F1531547A4497C355AEEB295CD3C5334BEE5232992960B757594B89F3E
+52095042DBE6B4DA3C3AD50CA95EA9EBADA10630B500CF1FCCA7D60306743681
+7E428D33B7F7C40B425CD58E4CD8AB474BCE6A307BC6C6EBC15A8A96E0E2977E
+A33389154536F5C5D8CF036D07F24094E779E5ACBE5502C92892F10F4C6DB627
+C7EC4C7BF20B39418A8A85D7FD9B0EAAFD871DDD41F93BDE5FE619AFB8711824
+DE890E62C1969A6FE28DD3578AF43D58A728FAFF0B9FAA640962C8F35A26F76C
+67F3548D6DB54A25CEB368B47F97EA2B0C4D7C0E7894A4F0C823C6C1922CF9DC
+10E05600556F1C7C9AFB33A2DB6F8730F70D6BF94B1FB0887451F2FFEEF3584F
+DFADCFA9A2D4846B8F0E51620E1327D994CDF973B837D10C90FF76DE22B47CD5
+EE3183898D156861AB4DFAD34A1E3FA260B8164E6680BF58413A553E88F6100B
+C4F4E8E972C81A5F88A7DBCDC308B4C3581BCDE13877B976B1F84330839FE5CF
+C78551620EB803DF94A5C921F8EE24F7EF8FC4C3E1653514212631F54F90E3DC
+E9EAF96E998F340C4F729ECF7AB430FDB7C0BE3DF2C0D23015820E28B743CAD7
+7F0AE95413C3EEABBC69E852F53EE1DC260D7F1E712BECEF2F18437DB23D8E74
+2902AAFBC733AC5BAA452DD6F3671859AD836C8564E99CDC4183D8495AFD99D6
+1F0D65B6588CE7546717911E25BDCA6C2649E3A7466A3E2DA7C7994A30AB4449
+672EFD00632EFA8629C1AFB7D53D801028F77C864869FE636213A69173003EA6
+BE1ABA95EB07B13D1594BEFCC95ECB0A9CFA9892EE0677D6B6C250855762B7A7
+8E4E022640F93169DFA0303A0D5E73BF3E0F4D4AAD10FD7E4EB20532BA30371F
+E9F480F9513432946F9828AFB5D4AEAFA5829B2CB544E5EB634C4537EF7DF08A
+A1CFD94A52DCF0E7CE4C5EFFB01E6D50558B75DB4C8D5512B06080F27BE62E01
+2EEA6A0357441401458C842D3DD4C35B8F561D816B336216CE0C14BF77648AF5
+E33912CF95872A1E1AB9A18980A0B29A881D13397C15E1CBA5D3E0B27943EBE2
+F3003D15EB446BCFC1C231832475D5B7AA19E4CFDE119D6CD62D053C6D29C333
+5F729791D17B3F7108074EEF4D1BD101CB33E01004532CB0D716D2E54D169C6E
+80163E70C0E9081F31A1ECBAE079D2A518B790B0CB2CD03DFD034A0F4788E800
+B0CD2DC1FAFDD487C2F381EBAB2A2F3F3AF82021B211DC9CD2FBA6A1BB3D4AEA
+4C7F3D9A5C21DFF284CCB827D205A69638E98D5DD8E36AFC1A4481B5CB2A2E8F
+D6C838DA6F81990F5ED928DC7457501B5C979FF4CD20A830896A460C5DB13D56
+A3B2B5D9B292374A9BF392894DD99FCD6A1E655AB395E839F074D1596488700C
+4E2891C8AEEF66568E82A8B826F9A28FF84D4D9BDA21F638EAF96880B4EBE0D8
+081982F34831A03BEE81FC177700C2360D2A48915EC40D5FE85B400E175D5AF1
+067FA0097904FB647757BB44B4042D30D1557BD0F7922D731142FD682139CEB7
+58CA4C8C240A0B86B1888CACC507E24E04020BF1882BD9B4CAECFA97DB24D7F5
+AD64C69454027F198BA35881B94EE9159A2D73E450C3BDAED66B886D6DEBC84B
+653E165176228F88993F12A170775A8D7038BDF2FE8DC1F7B98BDC02D1E6686E
+9B834F6C0AD90780B17DFE25F0A4E470CBA84E73F2D22BEE09A040F14CFA2C14
+0FDA5A5149B5FAFFE49F55EEFC43831BC43A8326FEE9C7F469C0FC3B000884FA
+41DA7318EB57262CB96FC4EC7F16CA07FE1C3BE8C2DBC8A8135953D6DDF20BDF
+75A2B6D26074FCE752BD32FB9F5CA797775E8DB9BB9786B469A3CD65A0D9DDDA
+C2A166E454A94860EEF5B5C12172DDFC576A03F6E6F8A735FF21A3E9CCB4CAA1
+3064893487697986A42CB5888B2B0A79FA3C74E8187BDDF7BEAB884B70B8D4AA
+AC6615745AEB906E08BF831CFDE222F58D02B428D55E9D5A3CDE74E42D8A2CB7
+E1A3A9439B678AD438793ABBEB72B21C58981DAF3EDCE4BB93D95F4A1E943BBC
+B3A012DE92FED4F232A3A7D60CE60B605151F9C7C18A5C653E5D6D15E5B49A63
+73E7A339504D0ACC74B8B116EA88C3EBA2CC631AAB29F761E5F062966AD2FD28
+7FFE52FA8A115DBE23E471094FFB3CBAFBDF11B7E9058313F2D069B2CE98A962
+64645738F02A31E2F2AC11628724034ADBCEE012721EBF0A567893411F950410
+B20754A7510D041FFA6144AC9CC46D846B82581F20BBD001D34D9764010824BE
+61C30D05E5C5D100A24F1917F01799CF5BC4E50FCECFEA732CB50196825F0E08
+8A1EC868C6D4357857EE2957E081A0E4372E31A8ABEF23C3F2EA0FEE57DE4D08
+61C570175C41AA0C7A3A579ADF593F18B4AE3782D2552E4E0759C32E059EE741
+2D8191E381731769F6648B3581CAF11DAE46471896666F18F02918B0860BDA3C
+BD5DE777672447C23C62ACFC2611ED5239D6A266FDA6031EBC5A530C1A2FF7A6
+B4380B9A4C877267854AD1F1677CB5433F28894ADF93D39EAB94541A8D232E08
+22D082D0951A60F62B87DC028714EC74133A4D65F7D0D1296C0E189C4A42AA98
+28E8AE7ECBB9FC8DFABCC6EEB1E9FB06227F90808EF31331CCC5D4C9A6182181
+047902DC9FD0444FB94B60FC74F3B677758088CE6A159D940C5CF682335E756A
+8BACF06AD7225D49B0002392C889B0FE2C71311D2596F4903D12FA20BA2FFE25
+A0804B4BC282929BE31E0F46B34532CB5795A65218CFAE21F390792DA67775C7
+B91A2BF4C16DE4F6551DAE3A5827F616BE9040EE6B1008DA2F99A01EF66D697A
+6CD1A44E0A15D1F39EA8025E886A68A1E9C334327C7703EE721E497CA924AC90
+7723106D913C5ED4BA4FC743CEA8D0F5172526107DA65775C0B1B77179D336C2
+9B09B608D80B1A1E87CA1A84A833A00D980D919BFF56F6390E9D5B45E9935CF5
+E69D003564462F750F7DCE02DC23CC215A0696B74D8BD3156A392A94F557655E
+00BFAA035647568ED66157FACC585E411F7F428569C147DC43F6E4FDE693D0F3
+9917BEFEDF61FB980B85515FF6424824E2D995B05CA1E5D3E8BD8D3281DB7CE4
+E54923E84058FFC0A8A2C491327D0F87CE4C352B724167CEE224DABA3B95757E
+4A419594BE4F92E78BA6D35D4C93D31ECC3134B24A45DC32445725BB044F09A3
+AA8C31EFC0A2944ACE2F2CE054CF24DB350FB3C71115518C24BDC0F7E54250AF
+9D3378D38480E1CB9029F31570C619A28F065CA4FED5665EDB96712ABEB33B9B
+4232C00C1B0215F08D53F7E430887035AC25BEAF06942FD1B6C442253C887AB7
+D694C1A6115C8990B4CAF1E81DD1FDDD6B03C00055BE956BE7FD8A4E1049AE69
+EDA8593CBA8C4A41E046C689FBBF9F1B64E5856A7FB1C61EC815A56DE2A8ED33
+41F370B8203D4E5B19C63AE9E6E0D26F4F3814B5AF48AD30EC9B8402C941FDD9
+722FCAFC638FBB835F83DC77F93D367266FA7DFFFCB567EF82B1695AB4D94D09
+B18AC041811027229DF431F5CB2BBF6ACCE9D500C8F075A74590641C1A607C56
+D2B8624797BCD9C91C3177818691FBB4744EDB6056464A0B95B8D63F7C22309B
+82D6126E2057BCC9FE5566D96B7A9B201A09B0D3252A5494C8CA2C8BA8A13C29
+37EF2A882D61DA708C279F663D88A8E2999A0F3B6F98C49901A7631BF7708B67
+54D0B4C52BF4BE0DA0439E6763A7C9D639AD4092E77B13D3510DAE1475C978AC
+796F9B2AAD3BFF35C5A3E19B5E2BF704B3BBDF68CE48BA4FA2496D60E58888EA
+28AE12D00E9F0816FAC190590A865BB58569A91BF0345D01230ABA361442006D
+BA2C90EC2036BBAB79EBAFC3F217DBD5854C519235F9627A1C3C71D21ED38AEF
+0BB40F3B86BB9F09A3F309473D8757AB7E638DC1C59A7F9BCD49DE4107A2E54F
+422767FB94048987847205584309397F554744690ACFFDF5902FE5DB355930B8
+71863217830DD7A563B0B3A4025ACE75B0E777B4414B62A13B50C54E0E6D47E9
+D43BF769B9411B74E1069BF71BA873B4B8973EC9BA492A5DEA58D267872BB246
+10AA67B143D0E2223FFB4991E583E629413CC894C3FA4869B72D19CE1A0CEC8C
+0FF5E5A3EC1FCB7D3C4289813F0D249A11B55104BD60B2A89BEF44CC77CCDA9A
+065B8B83B4F4253AA1D535290DCFAA4773452D110D2B3370F9E2FE5432B54A9E
+644EB3BA9BFF62347F376839024CD5EF3C5DFD30F412DD5474B7933E6A1AB63B
+4B12F2417C72D0543C26A263AEA53E5BAEBD67E23553A72E949DEC556BEB5D09
+C4D7A89B14FE4EC68D0E3E9D65A64B285E53590F418EDA8175113CA375A29930
+DDCF4C71ABB26CEB800C2C2B253AC1F53651C88A56ABE5A74F3B54CB4FFDDB92
+60AD7272BA25EC2F6FB759AA6E1E7964FB55AD09F4EB25DE45FD01833947BD05
+6266AA8ABB7DD792941C7A070FCF3A4636FBF8921C70298D42FE92F079DBA2AD
+6149D9CF9EF7264DE6DFCD4429949B15EA90B596340713BD61926DDB2BB23BE8
+F9DE38A31620A817420A245946E551463960A8C5C7295E3B3D6A59BCDF5E472A
+40B7A2CDDAA43CD8AAFC411D037142579D11054A903E102DF0D0C7B5BB854DBA
+F3F086AF991F7F5D5C730F8F9AF213F25786F3EC0E54530FF912F4876FDE16B6
+A07D0DC4FC46EC6363BCB68B83ACC448B801EC43FDD2F8BE0E93D809FF81E38E
+176AE17C67C85FEA58EC95435434C49A950AA955D8B20989C550AB1F1C31B7FF
+99422E1F48FB7D6F327C6DBC4695A03903DB275B94CB39386E46579271870A25
+21823E75C377E9D5B46655E8CD8F986372CF8BA846423E26582315A9D19E0BF5
+305C32B2A0EAC3ECB275B1D8BE11A37ADF524944219D94EA2C5DBDA768828B6D
+775DA8CDB09E0570E4ADDF462EFD8D3FA3F86B1DEECDFFB699AF6507257C1879
+16FC615868C2D51F03CD57BA38D42995D9164B257441210084DC409B6EE4C119
+0B2E17B0A8D5326DD0010E4A325D5F77BF935693BC90A00A28C7B5F74817DA39
+F47A41E32F4F92AA04D30D810F7B1484EB53AD8CFC8CE8928B570314E0F713F8
+AF127227190F9C16BB73D2A217FF801C391A29095DA5E4974D137A0CAA7DE702
+E20DD4755B1D78739756A5E7EC3542B96AD6844199FFA2F5F2E9C64E2DA4FB2A
+ED79869F745C59D235438251BC2E6D26112AAED20E06021D1AB896EE1F1DD2EB
+437FBD4A25E42245C5A647493FCC9922E6DD7AF57D5D482921D1CBD6F0F02949
+C27777144751C1E72F4EE2BC343D4AE7A8A8758123B54FB1A026144C643651EF
+0907A376945E19A8FC7F98A034832A5820A481B0823F980F59623E0511593FEA
+BDE6EFBCC0383242CBD4954027B075B21F10472059A480D6E5ED01C3B07461CE
+9810251A5C5643EC7403130C2246E8616CEA25EAC7A0076731FEA8CC43BCE3BE
+933FCE61067F5FD402E67E2B9DAD954AA77C5BC86BC5E4BCE2ED676D8D8EC7D0
+ABC5C86D82180B9D5D7451C71B5149B6B67883578DE9909317928C0A92E3205E
+F23015400A1763A6FBF67FDE3318AD2696685A1832FC31CF38589EBC7CA1C818
+60D2B2211E04EFCCEA88D9A9082E82951EEB123924A267CB03C48889032F2892
+4227E217FA28F87E01CBF27BF1EA60641A4238258CB7AA355908FE36D90F5CAD
+FE992D03A33E47CA9AEBEFDA57793F39DC6A9E85D5B289F6B862B35DBCF82E43
+5CD6A862F6FFAC36478C384C3BDB0148CB1FEDF55969C776E77917635B5A65EB
+F2AD351D21CD3822D43289FE8EB0FED58182997097C7E9F4373553AE1CA92083
+EDE3BBE6C3BC7009D15AB5FEC6A59E9FD1BCC7B2099CA15FEF083B9CBF7B890E
+CDDDE6BA0AFF306C76500C945DC91BD533FF9A585CEEDEF79238C54E6168001E
+26FEB29E523EE501BFA4F60B782B1499B07084C35A2434B4D29D3D8E2C8F945F
+A9922443B68D07DF7EAA1F4CDEFFC438B597D8943E231B5216808A85F30EDC81
+9DF5DD22F54A45335B4C2203887475F39D247F0E7347BACFEAF220ED82F9263A
+6488E73C1910023E505FDEB143006C1A351D441AC57F9D52D2C6D63D78C75605
+999885676BBBAD56074298E0BFDACBA1830BA58E87F436CC670EE8EB1870154D
+72DDBBF3794F8CAAA3F1E11DE29752DD99EAC695838A19BB67A1FA3829B6E0BC
+5301610A0351AAA749F456AE31ADD87D6ABADCDD1FB3CE81C3713F48780DF407
+530CB284B2AC709F52EE7AD647DEF9FA4D2A867CCEF728F3D40CF34C28D21527
+10160B3DAFB5FE16AFC9D36C6EC4021FC189005862082BEA60AC72B63AD27D72
+FAF3C2D89DA2648FC4C65104A069212D87144E8533CD86A6D73DC7CD9DBA25CE
+7DA53B000266F3871B24663C77723703315C5E4A89DFCDBAB384AE7EB2F455AE
+AB191FED406F7F6EC9E5B8276EF5C4CBA041AC7E8BCEC7CAE840154BDCA3232F
+15711ABD1E867A434E9787CA0A6D1F197597DA27ED2402CB2D84ED082E8D3A39
+81E6EB270DCA4E7A90E2BEBD3CBB3A2BE3CAB926192D7292CC16845B6399A543
+BCFD224BB52F21352732DB5154FA3442733066CDC3E186D8AA97CD801DFBE43A
+116C86889BE198DA88CA978B8C40ACB67E8F7BA499DE68A6FF0DC72C3D00BA1A
+B378B39610F15CA026F95ED8155CE3FFFFA2E2FEB352DBE14CEE1669F2387B70
+55B91185FBBED764266215D518716EDA3DFC9E5DB6B148A553E75AE5E38E1CFC
+6EF47B314D54CF24BC13856F4F7C976BB91D143DE32FF49BFFC87E17885A1893
+BA1B8E441B08EFC04F7D103C1FFBB665194B3D0920473740C55FB1C50EBCF717
+A2359B687FCEAD65616EE89A68F8D91AFACAA0B238EE4AF0279AF5BE5294C3DE
+A7E1F5E6248C0210E7D40683F04B12A933C746ECB517CF94BBCC6E4CF49AC715
+D8005AFECBDFB7A6B417DB8A28F8E9EAF39CEC1CA64DF37A5E66A76C26F721F8
+A63B003A040A62F87DCF61B298F960D510BEFA453F118E59E7DE8CA3DD002EF0
+127EAF733D5C61B5132348D280F84D159809CC71A3C6F7373BBFD8D6EF715D34
+0016DEFF14AA5F960BF1BB9AC304A1823722843547BB4CA5EA4C41C6C2701C8F
+7BDC810443F9DF34BA469A3260009B799871BAF8523C8763544DCD0B382D44C5
+F75046AFF85F0B5A3188C2EE786CEEE5496A5AF4BCB0B429CAFC403FB983EFE3
+61FD9F52ADFC38E07A0FD7BACBA530D2E4DAB2592AA9564843E7E2305047F060
+C5FE4243FA8FDF1B5D4F61ACA7850A604FBC6D6970959752695C90F78961B4E2
+C8CFA41082B1A37405AABCEE5BA3DC2B9EA76F486117B84728EC6D8AE6379CCB
+402C2AA89078EC992C00D53151E9D82C65643F549A572A20F05107A41BE5AC57
+8EDE92AE20B05E2D0C98151CC92D5389A675DFE39DF546A33A84A4C534337ADE
+B17C34E09145B37CE1EB1D10D42CC8D6E6B127A3809F7202381FDB88D42084CD
+0AEAEB8A8288CB56870EA2BE9D0B9DC8291021CA561E2BA388DA3494E433E0EE
+5E69DA51D0AC505C9F71562D3E9750F23CF14D2C8ECF0692FBBCB4A92B48B4B0
+AA2163A516AD96B9354BCDBEBB351B643BF3CB00446AFFC4A137CB928E99D626
+4824385F1E9CEAE6E317451B4ED21EF01ACC5ABA985FB14EE70247FA3B66ECEE
+431352ED45182614EA3D57BDC22E5A04D5AAB27C8ADCD7BC07BBAB21A1901F39
+4C9C008D353F0EED437BC00D2E65A3652361D50E16C785B66DC1D551961F641B
+032E133A31A61A335EA302469363987224158BBCAC91357E79DC8F409A928EB1
+8E1FFCDC81E7B443ECF0A6D728FAB96395460B33F57CA9B8B96C8718C91751C2
+033CEC54AB5D4E7BD45650EA078D80A4746FB9CC4FDA435CC3129E7554E0D7EC
+2ACB4144A78D5B5CB1AF6E71DB678766A5BF8787E5880A8A474B21204D89BD94
+96F296E8442E00630AD150B74F0F3A1A6DBB1EC2EBD08AAEA97255A4FDE04E1B
+646DFF242F6B5BC50DD35714EF32D74259D912DB07C1B3A35C888DF424F67EF5
+7E3F74B3F2431B202216DD74121E82AE712FE799B5E03316E53812695AF69EAE
+F234CADC33D62F703F8D6D94D72FBCFFFCC9C5154CE602815A49DBD5F2E8B756
+C72A2605436F8946282ECA692E3AAAE38412AC17CBD4FD93128B054C76582C5D
+30B52D717F8DE2B2F34E1DB783936E48B30FFD5E2F4496E55E09644DAAC56241
+51F7E51218DBF270F833D02A3AB9A84B472EDD7EBD849C36B8B1CD0A36EBA45F
+1994D4C0F1A7EF81ACACBC
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+cleartomark
+{restore}if
+%%EndFont
+%%BeginFont: CMTT10
+%!PS-AdobeFont-1.0: CMTT10 003.002
+%%Title: CMTT10
+%Version: 003.002
+%%CreationDate: Mon Jul 13 16:17:00 2009
+%%Creator: David M. Jones
+%Copyright: Copyright (c) 1997, 2009 American Mathematical Society
+%Copyright: (<http://www.ams.org>), with Reserved Font Name CMTT10.
+% This Font Software is licensed under the SIL Open Font License, Version 1.1.
+% This license is in the accompanying file OFL.txt, and is also
+% available with a FAQ at: http://scripts.sil.org/OFL.
+%%EndComments
+FontDirectory/CMTT10 known{/CMTT10 findfont dup/UniqueID known{dup
+/UniqueID get 5000832 eq exch/FontType get 1 eq and}{pop false}ifelse
+{save true}{false}ifelse}{false}ifelse
+11 dict begin
+/FontType 1 def
+/FontMatrix [0.001 0 0 0.001 0 0 ]readonly def
+/FontName /CMTT10 def
+/FontBBox {-4 -233 537 696 }readonly def
+/UniqueID 5000832 def
+/PaintType 0 def
+/FontInfo 9 dict dup begin
+/version (003.002) readonly def
+/Notice (Copyright \050c\051 1997, 2009 American Mathematical Society \050<http://www.ams.org>\051, with Reserved Font Name CMTT10.) readonly def
+/FullName (CMTT10) readonly def
+/FamilyName (Computer Modern) readonly def
+/Weight (Medium) readonly def
+/ItalicAngle 0 def
+/isFixedPitch true def
+/UnderlinePosition -100 def
+/UnderlineThickness 50 def
+end readonly def
+/Encoding 256 array
+0 1 255 {1 index exch /.notdef put} for
+dup 37 /percent put
+dup 65 /A put
+dup 66 /B put
+dup 67 /C put
+dup 92 /backslash put
+dup 97 /a put
+dup 98 /b put
+dup 99 /c put
+dup 100 /d put
+dup 101 /e put
+dup 102 /f put
+dup 103 /g put
+dup 104 /h put
+dup 105 /i put
+dup 107 /k put
+dup 108 /l put
+dup 109 /m put
+dup 110 /n put
+dup 111 /o put
+dup 112 /p put
+dup 114 /r put
+dup 115 /s put
+dup 116 /t put
+dup 117 /u put
+dup 118 /v put
+dup 119 /w put
+dup 120 /x put
+dup 121 /y put
+dup 123 /braceleft put
+dup 125 /braceright put
+readonly def
+currentdict end
+currentfile eexec
+D9D66F633B846AB284BCF8B0411B772DE5CE3DD325E55798292D7BD972BD75FA
+0E079529AF9C82DF72F64195C9C210DCE34528F540DA1FFD7BEBB9B40787BA93
+51BBFB7CFC5F9152D1E5BB0AD8D016C6CFA4EB41B3C51D091C2D5440E67CFD71
+7C56816B03B901BF4A25A07175380E50A213F877C44778B3C5AADBCC86D6E551
+E6AF364B0BFCAAD22D8D558C5C81A7D425A1629DD5182206742D1D082A12F078
+0FD4F5F6D3129FCFFF1F4A912B0A7DEC8D33A57B5AE0328EF9D57ADDAC543273
+C01924195A181D03F5054A93B71E5065F8D92FE23794DDF2E5ECEBA191DB82B3
+7A69521B0C4D40495B5D9CE7A3AF33D17EE69979B82B715BAD8A5904C5DE0260
+6C15950CCF6E188A0CDF841EB68E5A2F88253E382140F87C87E55C9EA93B8C89
+14A36CDF630D6BE7CD36DBDCE22B21778E8648B97B7EC6742EB5114BDF0454B0
+0EA7B1FE236C84C0E5308C871F67B973892890557AA12E00B2C20C71F516C397
+3F3BBD14A1D0149CA064391056E45E9470FC7F6F556ABC82653B3C8049AB5CF4
+BA83C8F2158C236B2FFD4208846013BAF4165E8BB8D334C8FF2E8D74AF5DAB2F
+D44788869B08399421AAA900ECC6A2D594641C121660D4B5F512938994C18DD0
+FCD9B008F68F0351D21ED735B2740CB1E0C1CCD25EB548C35B844601D98828DB
+556F71D07E081A593FF12DAF83676492A0FFE16E95717A07082B43A966C1EE8F
+8A59E1255E1705C43A23CF29A5E4A6547C93F1680A870EE7BAD8CF74D838CD5E
+F806911D8FE4262ED8E7F5BC58B92C9C6D74F8AD45FBB021EC7E97393018B9DB
+B1B84E7B243ADB05ADD3F1DB3692ADC5D47FEC7DF93080669E63281F1576B673
+125EDF08016664BE73364F65389F7C3B66623AD1754ECBEF9E5CE6948D933787
+A5674279ACB2EBECD3B4E6361419AB32028A27670C9F3E18B746A10B00AF6D77
+4EC00E3BE521C02A99AE5BAA98F793EB1228952BE67934B91472E01AF7B816BC
+56D7F19F631A1927846D800C107B1E9CBFF9D2DD513B4A8CE2E0DFD77B1ED178
+E43FA7052765E9FAF89989D490D8FEF6C536EC0D4AE27A74F474B98DA9E6B92F
+15E063DB260571979A5DE2423920CE1F59F56EB11E00E3BB9D466A8263E1E385
+2014BEFDA8D1EA3EDA04BE32AEE6CD15C5C010A1DF7F705A2C0C18E87C8DCCE9
+05D9163181CBA56C0FAC8C06A2990554C8E759D076B01BBEADE3B5FB8B551390
+6C8E4A2A1C6E7D9C708614626F3770C0AB7DD2027469C77975C27576065862AD
+04E5E50CEBE907E3E991FA0C627302C0E207B4D5992BEBAB5853AD1C0D271728
+C76F40A79392ACCA7358F948AC65DC823CFDA59E1FF69CEBB6B7EC3CF21669E4
+70D999508F9C49E2D9F8818CA53C977D93E15FBBBAF75B1E84F0BA62BCC4BAFA
+4EEC82D804C8A8C0210F3E5E258BB1F6921AF02BA9861BAD5C3D5FC8CEFABA8A
+A607E547B802096F7AEB09FBA99C83C9A494B94408DD607CA6561A6E6660C473
+62CF8D35F31D052F6C6C8138A8E1430CBA7EA6973D6D510C1A06B3FBD79D9364
+240C1A00272DA44B89A9FE8D5BF36DC1B5EBB4A78ADBE9C5EDB485F093D9517D
+69E1AC9A8E6C9D7C324E3797CFEAD9A18E82E03F69B2CED7D5DDCD1A218BF2E2
+ED2293AE999FE2A4B5213A10083EE0407BCF8007670B8C737EAB30311C868D84
+121149ACB4A27F3ED6C0C181C98AAAF51B105F264B5672D7F745131ABAB5BEA4
+0C9B43C0DD9116D6DC61F90BE72018F290D26D5E9D341055CAF09C9F45333CDB
+D45B7954271767F638EEC499F7B53C2CC5774EA7A7F024C4CABFB93D9CB1856A
+0C671A4ECA7C62EA5242648A84E7F3AFB9547A0AFC29593CFCE6D8B873A78157
+D337CABD291431C0A2CE1F37E0CD7340567AC206FF98E4B5A6410F70F750451C
+550EFB54AA259A1B236CA9CB730D2CEF125EC65D959441F7CC9768F777B44844
+CC9842A307C72B740680ACBBF6AA35FA7A94825069BF7696ED81A371A9E5475A
+9D997F2DFAD339AADF797F7E03E654234455AC3D17702A420EE0A597BA31BDE4
+FEB8DBA7C61D311CC90441A620164DC22DC2D373973EF84CC553453AB1B3337F
+7B39983B8DFFB3A9425F119B45C1CD37A76F905777B3154CA6200792F1759D06
+E017890F4041A385F2238E3C48B6C8EE6F5258463FDBFF7AC762F6C4363926D6
+50F004D473B7B7F73CA686B559C2885F1AA761653C727A77D73431E9D110E76A
+2E55C68CD50F43997C9B2FC4710F8C8540909829E215678E63BB8363C4B8AF05
+9986102BB36580D9CA95CD216B7C321822CB41B2E0422CD077F3B55E0246FDB2
+44D5976F67296B5B0BE4B06F6E43535C21164E6C5089C3E9BA2D6B30888C57DE
+49DC8D9D46C0D5EDC47ACF2C03B72DE3B69512508539019B759280BABEA12BC9
+385308A0395C4CD33182A10A5A229743379C2075D82D8BFCE4A66E1AA087A091
+8F5372684FA5037D1B92D50CD9CB4F50AD4F8EE7D51F1C9E63C721CB5B9BD011
+6F0A8DD4FDCD2B008F223A1036D90F0F3B252487DE7898F9AFBB3A9D9CD49E0C
+EF4ADAD5155A98D2125ED5A3D3907F67301649519419F33CD942E8DDEAC1BDA0
+E90C431B198F646766A8FA9F8D1561B57E126EF604838C0C1966655CF31FB7EB
+C8CCC434FC1C96046D38203E1791EC824A3D7AED85C029288D4608CA7668A2BE
+484C99639F121845B22EEFCE0A3B808261921AA042AE19E641769E91277BEC29
+4594082CCB3058F90FAC4A700A8A827ACA00FCF574ABC8EB7DBCECD97F2B22C0
+0AA19E8739B81AF8C6F621D69B8E6F29BAE233FBA655A0AF5BDFD7F5C6B9167C
+6BC7AB693D45EF2AD999F5DA3CEFA39BA48A17EE6D9F2C4DAB91AE3F0044DC3F
+5D5506CE4675AA928B0092D6F173644F91295216D8BBB14CDDE0AD524A4D545C
+1B5E284A3BF0396664081CFB4F186A84A0D24D61E82F4767C1E55A0642720CF3
+909FA1AB8EAB78030B59BEA067DEDBD2F1D0340E790AB2777DB18248521934A8
+BB38A58B7F633DEA4291B0D5D13E9A882C974697CC6D3B49E030C94EA29B5506
+CC29C44D01B4751B453A46A9F6BF3BF135AE87A4CE232AF57B66578310DE41E0
+2A6AC422117F1963C4D7CC306BD25A6E724E51921779F22F029733122E23E2F0
+CB340008813ABB104380C80A492B3FC6D0BB07CB8D8409E9576891EF6E5C9D08
+EB8320DFA31BAFFBD336D0C2BBC3D3B2D30368B9860768FC080D30569C7F7811
+0EBEDA2962476113625EEB555490B8CE4C5F99D74ED10F738C61854CFF8B41C6
+9402E56BE8856144A1A05D0B05F4CB7EF728B2F4F5A439F18C3B68CEFA41E59A
+D8308ADC92EC1289DC84CF48D2CDEFF509A145BF945E1E00D552D329EBD2A7C4
+21D58082CC8FA790E981F4AC8EAB99950678FD3A7DA3DF13778681B208DD71A0
+7C3CBD0664B37C9EDC6B601D79A2C51FB54DAEE849F93209793849104E722D3F
+52DFAF7047EEEDDFE744787A5801E4AC2C3D58EC5DDC15FCEE03990C53B0C57A
+FC54F125A04C8E4A0ADAA725808C587E7DAFB9F784FA2875689979D316DC22BD
+AA36B306A1ABCF907B63C6476737B746099973CAEA8C1E2C5C41F27E0F7DE8D7
+F0D942E34E92F43FE902653D4D2EBB6F3B9F7928B1550A82AF234D45D028F429
+067652BD3D391BF423AE72B9CB1E8D91E898161BE3A7849D456A861A2046711E
+E934DC59442AE7D81661CE8EF727D8D7DDC0270E937E40F896AEAE6171661431
+C1025C53172F9D366834BA0054FBFD84503FBAE328B6FDEA180F8EA35B1DA937
+5CC3B8F00C206908C2FFFFA6A7AC6915D15EA44BDCF29E2BFCFD4A849535F19B
+0D307C696BE8205C7D84B9C77F02EF27D911056EDBB4080E4D3ED72788666CAD
+CD91B0ECE27A177DB23320A7FA9C31408B4D02D2A4B1CC6DDE1A6CAC3D8EC1EC
+2226EC98E51046D1EC26FA20EE62D24747D83CF4941DCE5CCEEC0DBE387149CD
+E05B19FFCAFC0D117F9A3E60DCD4C815228D98EF95EB559AD0ACC0D50FFDF714
+56C3C812EA5ADBB013BBD956A7C4CC0ED7D3E25D5C9AF5E626F18297F75D4957
+F5B0B33379114B903FE98BCF35C3FF76FEE1D9AEB711F2962276531F7380EE3F
+E368720E0292A170A15C5539B1FC7BB954EE2624B504CB8C805B8D31AC38307F
+0513606F09211AE64DAC447693B2A0AD15E9A64C34F5A911ECD0ABCA90E9791D
+67C6BD202B0858EF96E7722305B8AC02B01AB1706CC6AE875A8DDD15EE349046
+EAA65005E7866B506EDFB7A5A2AFD5C9E9DCC821A79EE9C1EA2C7BBA32A40BC7
+CEC26DB1AC473C8C3960ACEC581B37D6569E8C8C42950BAB7930B65E1570E3F8
+9A7FA719F1DCFDA45A3BF2AAB32C9A93BA3552608A61C623DE59BCB346E87EF5
+9CF025A87803161221C5C1C6F6B3403712C76E9D755C7BD68D7F2DC03C14CDF0
+C1BBED1D648B905B4B17037B7263C1EA7A7F06FAAC4E09E08483A8D714C19861
+327CD9C32DDF850302DD6DDE24912D00C22ECDF3CDFB18FA831A41A7488EC203
+F564CFE30D506F0829A96D35A7E09C3DCD107D589B627A15B55C5D6649126BEC
+60B88C55ECCBB4E680265D9EAB4CE22965D3B1AF759B01ACB0D0E6C92B6B4EFD
+A81E6A648708979487FC591CF09631310D46891423F4EC159A73E30D8DD147A4
+B0EACF6D45D18CD16CEB8176F03ABCB41F2234747B9733C8FAF34AE5D43D3BA5
+0CE0FACFC9B087F84FB6C68678BC6E76022B1526D6E5B3A48EC1A110BD75F45F
+1C4DC6D39F254976453F57DF873B7D635C80C42026DE020E5BAFE0DA0D54D1E1
+DC634D2621BA184347E5252F645A6A1DB7657C48124186F0E4C644077457C24D
+55753C651A9A7B6349867641464B515B821349C795A645420508673B93750D0C
+7A3B33EB1F09782033742AE8F3A23FC02284E6C03818FADD1731361542E3FA3E
+75B8D52B668C3E18A4AE967D0FC3157083D952AFB8144D549E69EAAC51C279C5
+E5D88A0D9D53013DFFB4352A1598FF84DCDE6FA32FC377306B9B92C0F96EE149
+8CD55E7B2445B86CCA7A547FA732D52D59025129FD8C6333AC0DF4F0CFF6287E
+F2036D5DBBB3B91B92F12FEBE0B61A313A4DB5A9CF0BB3DDB781A56FEBFFACCB
+8CB9D1D3DBDBC4CB6AAE6769E470582403CB920630221B68BCB625CD4605FA8F
+D3D5B7A1A28D15E44B38E92E906C138E72C15B86F64C38E23BF0440052A8C914
+54397F49DBED99D0AF7CEA3B0A05FF37C2D7EAE1412567E6776333237C31E3C0
+49949EC8BFD6E0F6446CE2D4DCD2C1524A288818CC5D159BF8463A847AE4A2B9
+CC8C58F822804B81B13BF4F2DEB6229C4F51F093075581791D02C36A13B855A0
+34900AA7CD4F1A797652656FE3A8425A38F421C4CC0ACA1CDD44FA6B31219276
+1CDE1CD63D6A58CE705CB56CCA1260F9B86E989019071563A9B4C274A87558CA
+6EF1660D574EDA276801F0057740E2C3B80D253D697736484D892CE1AB128B8A
+DECD69712F5E70E895FBAA927E8194D792A04AB6CE205E04E38A433BBB793FB4
+E8BBC4279D58A223C6673D909D6AFECD246E66A52F4CB35E5931D24C828489BD
+4ECAF621A220D8ECF702BEB01C4FC7510197D3F6D15321EC87175ADBA6434ECD
+2B5A306E91375CAD22CD94301763E4A8B981472890422C5488FCD523C9CB17DC
+ED22FBF12D5F7525D0D6BCFE8CE85B0DFB1D6F989C267FFBA0A996D309E4A934
+3DB54A9D29C88B9D55D7300DA3D46419256C5A07A2A529A8DE8BD1727281F5FE
+97033D861E0531B14E811378EC1AF1CC7EE9BA2B07D935843D3053F673979F8C
+FAFD59D555B56CE338F606747238B22BD62C42BB7238FEA335678D474A643570
+A9E7B4970E8C541CE9DBC7BF70ED7BA33639D6744A18379455029E934C95E2EF
+639C4848CE9A0879B51649FAB023A71782444B451F92A34CB8A124270CCF86D4
+D18EEF5C1D2B2A29012613851C49F50702D63BACF95EE2AB4D72B375E0A62615
+E0991E130A67ECBA9E05329B740708F1CB148724C3A6E5E3AEC1F88EBCA398D2
+1CA8827C977D72734310233176D1AE26C55CF2CEACA62223315C28FCF6305C7E
+A22414D4739A059F552F1F9372CCCA5FED4F9AC987942848EB498900269511F3
+F408CBEA0659B954F5F1B18AE4FB270213646F9B28AE4439D2BA2D3E0AAAA780
+5E530E4EFC8A060EB979E12191044509DA0C14397AFF949E12DC970658D5EAF5
+4EA963F5BC1407A32F3837CA6A24B7F3D60EB8E6222B702E25ED903F9D21AE50
+664A095009BDEAF4B78DAF94E5A55D48366CABF07791A1684B2F54EA69070844
+4F031AF8DF416C2D3679F8BA038B0DC9DD0400CA6B34667BCBBC07E62C1668A8
+35A8C57C9048A7227E672E89681B54D662079A189A9E96A3CA96D8DD10189B04
+1DA49BA2729F1CA585B1BD5C467295285D52E47CA904235A1A3E48EFAE9EB6F6
+01374125CE89D53C276858668CF45D2F092DDCAA52418E0BB94C2B8266B4D88A
+5D911507BB1DDA3D8F6E7C14A91CA11AE799EC42E993098E18CADA70BD2A1D82
+2C39326C6E3F9E84CD9758B9AE43D79BF99E6A0CD713E95B3D9B7DB90D127DE0
+DAFEBF850CAAACBD860B5DEF2082F1ADA64B44B193C4A1417BE221FDCA36456C
+BE5934C8CE3ED55AE3A11697C2D682B7D0F72D48976451D205783BE25DBD2507
+39C14FFB4BB828DFD187104F38A7F11D5F0698C11E8C1D4F107CACE573FDC4B1
+C56FDAE47024D6FD16A2FEABB434CA320300FC4B6C1B6CA08F76C60B7C08A665
+99F404DBA8A2A1EB18EF6750E4EC186E31561A3F080BA6562967546715859481
+7BA782940F5C5D06626D6F6A412CA7C13820EC7C1DF23E15E5829F698CF617BE
+D940523E4EE4ADECEC48C24297DBAD528BA1DCE7AC335A1D15D55415B108EFC8
+6D45030D27B3EA63B2B4CD771DBE66AE0218ABB1153D4B7482289D1313CEF184
+5C960B1E3C3C953912CC6F4521D1E15636C1545EEE457EFB87B88C9E43CC2F38
+6BC4BC96969F4FF28ABB06F4454C01CEF1B6DC538F1E832FC1666D977E5A881B
+F72F1B4C7DD4BE167A5535F1163A0706F9A0B26400178DF8A128FB5EBE6A7B81
+E478AD183EC06622B591337B9F1872AAEA356F4FC67EE767B34CB5A4D90702D9
+39FB846947F4096FB3DCF16EC81455164783BA0B5D723060DAFF411B68307E81
+7BEA1D9A47A5AA3D648E618C83C60F060029E6EC4D46B045FA7415BAB2AD0AA5
+ED9C729C24136F6AF61E6409C0B5CA760B16225641E268A68CFB8260BBEAFC77
+6626EBD97195E77CAB425CFB0096D805D9EE699E41680D095AE9FA10122A7882
+2F00F495C9EB2102DF0D3E61833BC0A2E468C5CF7AB430FDB7C0BE3DF2C0D230
+1580BAA25D65F599378D873165482A1FBB224AEA89C6BCCFBDBA42AE1C5DCF41
+06969F585CD3B737D1388D6359F5468D88FCD2279BDB270F6A858FB7D2ABDEFE
+5EE8FB79FA437F8F50237B92C307B73B0DCB808D07A9C3255CB9B3B17039CE5A
+288103D05D132863FB522A02CEE3839EF9AF7F07D99732F0B8B384745369FB3E
+7901166478F4A16076A1504C5E98D17408494E270BBF4470ED12B4332422679F
+759F1D93984D7E506D16950DB6C2682FE1379EFFA6F6C95DD71F6E55BE3EF6AF
+E0CB25388EEB436E6527806FC75484133F6E561DEB979D5C1FFEFDAF2A6D964E
+03BAE0BD593C2992AD84569C81050F7A793C5263E50C2F50B98C4CC703EAE17A
+6AEDAACE312DAFAF5278D125B6EFC5587484F61DAFF46B87B7C9B1EEDECA4859
+314A9A9E2248467DE1E54D90DD671660B9040B3E0DD982260822177EFD757266
+74A16C83A7FB168016A320D3DF3BD7726F1F4EC90EE5DFE810C96B099FD4368D
+906AE4699049EFD37E8EF058D4B97BF71106445AADD4FC6E90615A0066823A36
+673B8DE32322BBE861AE251226B4385AB28702874C5E665891FE7233A407AEB3
+7BF103F902FEBC471AD6C65E412FB5E00A854CCB88500D4AD28DBF9913982D43
+F57651B42E0E7DE9EF1A2F6765CB544953CED82E187C11333C5D3247F92F4457
+1BDE5844F67809BFBCF8A569CFE3C0A3A1A1BE80ED8FF0A9C509420006D2229C
+C525B44FE3A87825D029C3F827828050FBE5EE4C7A4D8441F56E2FCC3EEAE766
+25CDFF321ADFD514B2BA1B66E7CFDB8FC93B69CEEB4DEDF80BA158F65C546E9A
+BE7B6415B64E2857124BF3FC0BA485E050DF883E4B2767E236BE2B9B93C6D340
+C9839D58A365195647F6BCB28B5B1679F1990BD3858B8FDF4445719EF487B225
+32E8933ECEFCB8A59AE9FB7ECD21F133B000DA6224A25849DD36A224FEF55B06
+A6036ADD54CDC87F9D258766476A595F1BDEA4D2626A0AD63FC287C534288972
+EA8B6B9154EA8C28BC52DFF62714BBB110A4121E1ED7FC4E261942ECB01AE636
+FB87444046DC3EA7786BF979C258EB60286FC8CBB7109522E57F5448092DECCB
+9D1264AAAEB4B0BE5CE51D102BC0EC8B0E3E69D117EC62CF78220F28E45A84B0
+FF35C585C18B19C61B51CE78ABE049F1F25FDED5170BF6156B7946465D1D51CC
+31E978BDF45C9B464B9DA1290584B298711CB71771EAC18D44944553A339A4F5
+D0B6AD45BFF4891BF8C7FCE8419E3B471927181FDF059244CE34C8E2F3833982
+C4C3AB5B333511F10A6E751064074A52C138FBD3DDEE28DF2F0F6174BED2CA19
+D075A462526DD5D6430D77D90755DDF6C0280A4876CD9A2EBC2699F110F9069C
+4CE22205C8F61EE2068824B4AAE5F3D674ADAF20E4E636DDD749286B80A5C224
+74B49FC5C093A8220DA14DA5BD9E017D60FC01124BABE23FF62E75FCA39372EB
+FAA7BA8938D226A76B011D9FDD66C24C53435B707445E43F11298F2B2836FC9F
+145DC459ADFD7AF38D465247CC08127C60B94A181D75FB34147D958445BD6D69
+6AE7B5E2FF38A99470D10F396AE895244562223B86632842682BCD4EED2766A6
+9EF6B97655A9311F1F7CE694477F749F82198FFFDAE1393586EFD44F564C46DB
+65AD2F2D3AACC06F2986F55D64EA277CEE928093A6C2CA45C1F39FCC17EB0021
+7E532205027F8B68DF1CCA64E069D18D0368DA1B586FF9F764C99ADEB9B93BD2
+989EEEFA3DC87EB05F6EC9829FC4052DB8D75FD0F744A1470A7A67AA5644EAF8
+72540FD1991881327327B90CD5534097225899D5410060DA0196DD4B0E8AEB23
+739AF92B579720B119F828E9982136D215BD19ED2622B094CF9F53E12225990F
+EC9B4A0988E4AAE449964323B79BADE117A3CE6D9B9A58179D70A070BF56E95F
+620E2C0A49C06ADBF7E2D583E52C3488C72C90387B5DC63F9284F658F5DE5C4A
+92D449AFBCF651BE1ED1E8699445B696A13119D466E2814A5FBA242EFF1387FA
+D81CBF4B916F475ABE4C3938E1970D8EA3CDCE3C085D52412826F3A223734610
+86D0B51E085EA8BC4D582059B0C5A16EFEBEB3368DB2A746A4C45DFBA53CE9D9
+12813B7777219AFB00FA6ADFEBBFEBD803E01C3550493844B9E0A1F41BAE3D82
+F70198A1C09308EA9ADCC100FB9CAE0BE050E1713B29CD2C606CA851CD3346DF
+70CD3148475002412C3B329176D32973ACE84732A1EB144369AD69F46D1A5964
+3044E28E2996DD2FBFFE672E0E0600DEB38A82775C6432C73AF24995B8A3DB24
+7CAE7F23B555EE925B6BC8A98252987A99FEC71FD55A5490C891B2BB0AE2290F
+542F22E3AE0D4BD97103A90BD8485FE28375C026D2BE5DEFEE4B4788D767FA49
+C4FA62F4E10693029CE0753DCD17E8283DA958A70E0620BE4D11248B36BF2C13
+66DB5556B0A142883EBF015FA81DC09C3F1AD731D0DE9DB8BD45CC3AEE45558E
+B3D942C6227BC78111871A5762BE48F5FA88A4599B2E00E5A491A4E8663AFDB4
+117D7CD1677DC8123E1DC8421FDEE60617417F403ADD5B2D404B8C49CF740734
+665C5887D21F219A295EA233C52B9A030A92CEC7F3F1B26FF6E2D1797C38DF30
+977E4A30E5D000AD997B92DD4FF80AA61D57F47A386890B3C55E5529498B083D
+E069FB552B244921DD5E7139D887CA82AC039F77FE8D5A766C5F6D1028375AC6
+2E8AD5E1B430C8C645986B3B35D7FFF5CECC0B092C543338449065A4D4F6AD98
+CD2B4F5A2021786ADDBC71C3B10A749A1436FEB737C06F8337F1B4CB61B37C32
+B0ED7C7452F551D94A618F4E2B1F6866B84C17059030556D0A5985B5B047C9AC
+1869DAF244D54E3236DBA427022AFEDCD008C09E07642CDB25B9773493EDA926
+1619D911680EFD0BA3A114DB9AD20863CB55D46FDCFC68FB619745E3E9C0E6A3
+4B315CEE932B40AF029F2A41BFC3F91502FD8CF76801E9D35C9648B17EE6875F
+A952D293968433143A19DAC008AEC58BF5435AEFDC023C0C1491B96267AA2452
+AA3972067C7659254C039483471E0CCB5A903D3D6A00F1DB67EDD3D6CDFEAC13
+E5FC19932C7C536E4E618E36D01B060F654335981217D994D4E3382799F62A9A
+8FF8A8B9CD33F1C8D849935DC807A25FF3F80268BD269E4CA2A467D8D3783FBD
+4D219AD9426E32F1E8ECA7D2450045F287F48ECBC5218F5991432122B9D1792B
+904D9AFFF7DF7065992B865D7061B18DD434E44D764153A28532B97933842A14
+BDCB7A69EC0DF2A546BE6DD1D5CFBF9D84B0EA7776154F9D1EA9FD8FD240463F
+1A7D0DB3CC6395217A08454053B06F6E8B7303BF3EBF6608D5DBB975BED724EE
+E32345FAB253A0A732742655F75DF4398D2D2BE7E7A316D6B2882EE5BD03AE61
+262471EF97FA3C58236B7B7428B8BEDEE9609BFA7AE3CDC0E708246F2A409507
+E402B5630995BA77039CBAE42343DFBA03E336CD2BAFE0B1617CD7942D096000
+7439C5AB3ECB88EE33D296E0FA5E1382B710830E8963D15F55D45F00F1224E36
+0B5507B104EF665AEF8357E45FA3D1B8A76E2ACEEDF17D2D7F640507D5A6EB67
+1091103053F0AB4934C9E0932B5C6B4441A41ADF3961725A7B6DD77E0055F946
+BD7E597C4DD4C9C293197D791022ED02FC6A0CFC9C8AC5EB6089E7FD201D4251
+AC58ED6D6332A3FE14C2C9D190B665E4299ABC96FDAB4D6B4AD0BAC541F88CA0
+66DCC9F2A8A2BA9C714D4035DD4B93D7959F658F466942F3667F63D90356C46F
+EC556439CA0BB0302C916771E74FB351D749C1751AB580258936F42BCDA15AAA
+9B39883B16C1A8B949036079EDD48871C7DD4B361F1E6CA9FD0876C04A286F20
+EFD119049B8739190A2D7A9934CEFA6724CF6C1724A15D9E59C14863D381485D
+EDEFF49316C4AF736B76FD4C1917310C2F484CB4ED4981004D4E4DB079D92938
+B1201420C4654F726CCB4DE332AF4B93553A16EC60C1CA435F79C9B4E67DEA6A
+BA744C7FE90C50D6532126EE54B9088D365B0EE020A59706456029A7CBCC63DF
+BEEBC495CEBE75638BB24CE6DBDCAE632760A5936A28040A1EB1FB11B7867711
+410F6102128D55CDEDA15736196ABFC771853ADF179BC5225D3523ECEB8746BB
+00F9CE16C03DE5C81F42A3DF8821E29BFF193F3C4BEDB037ED695CDE14A6C40A
+2096C82B662DBB54E158B0CBF0A41065B7BBB4C1A57BFB3843D584712A1F0835
+B68F9450BA0D2746030A24D37A92FCDBB9A991293C6C7DF5479B38C4F24F2AA1
+E33B2AF5A6DFBB25A3E83FA06F6FDF1F85D05ECF59BE752F54C04DBD85A730C0
+DB8869908225BAA021DF2FE4D0BA9CD37D7E0E926608BB4AF272EC998280DFCD
+895668FD80D5655EE1CE704259BB6BAA65FADA4C803C2DB31FBE6534E1838C2C
+F6E2EAA583EDA6F3E39D8BFCE2E00B6419CCDCE957E03995EDA09268D037ACC2
+E7C2B5960CE703A35B4D76B430AD500CD162AC27100BDB84B41BDEC189DC0A1C
+EA718D35211BB4E56C9C50334BBABA6B5866E2452ABB123DAB4E840C5E84851E
+793770AA2575383501262D1FBC26EF30D269125E024235367D79F4FD11FABCA9
+4B4093F4D37AF08DA1CE5C93B534422608980BCE173E15801837256C5C18CA91
+7354CD7B581199D6E2384313E548558C372A2121E39F54AE75BD8F535000FF60
+36EEB01705E217334304645F54B4CC861353D401A0DB9B0893B26C53C8F35507
+10E383856324B025ABD1BDD45D8474D33B06CF6822CE65F0AA1D4B47BCBCFF60
+438BBF66D3B0CB17092B7F5B9D5BDD18C396F85A044A3FF59D9A8C60AD245EBC
+FDF00AFD198688BDD538C0B4F5B8A0BF59A40A4640F2BF6D9A1C6BBC11A9917F
+D257110AB63FFE8DEB2B7F41A339408D477B97A9F77994500DD66EE6B66C3567
+66ED2DF9784C95CA0FF15101668EDFFF7D30CEDB6F54A34B6EBE07326ED71578
+B49FB57CF4850B1C3421D1FB26057559F0CA734B6644D20C221DFD44E459319A
+D107A3E86CF876E2B119F096FB02E333A9DBF83BAFE59127FB4B5DECFB4F6A4C
+DF352FDFD4519D89467B213C3C16B2F93BC48585DC6B973E49CD72667A9FD76F
+066C1E3D89B46F0593B2806FBB44F10CE8F27DB0B5322DDC976270DC64AED311
+4CA9A1B772C01C4ECC7EFE01A43850705A62D548028F62B2FE86DA671993F810
+2C36E921836A47C25A4FE6A4DC744374D9C582B1430A73587FBBA4D664AF5C11
+E4B6232C3DE2657D6ABE456C7BDDD98E1EED8CF48D5B914305DAF5AE03803C2C
+1318B615C1EC5B628AE7CB1AFBFD8BDF23C1FC80DE7632A8E81CF755B5B1E58A
+FCF064C7453B480C3665DC187214895688CE53DB03391FA56ED396B5A03F7BFE
+3F39FB1CD953BEB0A1BCCAA66CBCB69AC2040F8335F09D2B34040061729AC41E
+967A47D14B740838A05880E9D7632A578DDA980BFE8A44215C5910DC08F0D126
+88106B6277D944E92AF42C0185D15A2E16B3CDF21CADA3E82B9980DDC507D802
+1849D605C79C01604860D73651A51D3045CCD07973BA88F1F0A739A2FBB95EAB
+B7706FA74FC6B19A77BB0CC69979C1130B9740ADD2348CA838B31F315343ED02
+CAC05B8B3B97EF20B517692C1E825CE278C3A9E16A0FB9CBF4E84D48F113568F
+E3380F7DD28C3F88ADE41E48B9CCCA5E4363DF42105DD594FEE13326C01E4771
+B04661A3919ABD1F4FAC7835574591ABD7A14B49101F7A5920A391037717E020
+83DEF1FBDD394C753D77B3EB2C1A27B6678EC8718B246B4D2DB2EEA99EA55B37
+81A7A60AB430275AFAFEC1757A393E349671ADCE38475E3825890C47C2865437
+D15454DDE188924D2862D556884467C9314454FE14087370AD7F33CBE494BF4B
+DB5353870B922E3DC7020880F7EEDE627760DA320A92547DF3EE54921ED80860
+B078798AA4872C79146D824284474EC2E1CE50CEDD25719C5A28DCCB391F1D2D
+A79A64874543FE0540EC5CDB19B39C3B66F370B4448111C1D6BDE05DD2AF6CED
+EE3AB2372C1D116CE701C8F59E897D63629B3A8C4A78EAE9297A03D0A28C8DF5
+F2A2EAD420D4AF62B719CD3320A30C0313107A0B5F8CDC1F5B9C5F6E442AF832
+06F0EF3BA7804648C20CB326B1E178D16C6D2C470B611FAE82D4C1477654DF7A
+CEB71F431D5CBEF4E6D679FC0A58C484245056C419F090C1A1BB9D5E451DEC1F
+E32D8D1C6F355BD90E0E19285F0BD977B79900D8C9B1EC20AAF6FF3C59834C36
+50665AF42BF97264DDE956CBF0F707FEA92A97006B09D82AFC7BD0D06934F703
+EBFE60EF80C4A2DEE834B14F6C69CB9F5F898F64CFC4BBFDB834D788955567EA
+D34A8AB7E239B9282A896F0E45C558743808172A0D2225D116194BC431946862
+4F0CD4A7467A30E285A075F25754A211D8F0B67EB8CA392E92E8E4CA21E50BE7
+44A40E17B8B597FCFBF9ED7F79A16F138F7A39A2065C4313F695DF1DD7AA5CBB
+2E6C3DA12C9B5FAFAE29651D28F63AB1D967ED6503B7481C17BB2557A2D4B014
+61845E2819035C68BDC86ACC174DA7697F7C11E51DE0EEC06340B1F2C23BE289
+AD4CA79463C1957CCD02CD8B245E722757CA788F9999A7213EAD49005DB307D9
+913F4EB4B5795AD61580CCCD80BA8B40922CA0919F24EFA6F496A20B10ADC824
+9AA781918FD266621E4E3C83EA6BB663589EC9D97258CA50EE186D032CC063B6
+C0E50DAD5B36D859C63B89A70D65082B2563E0FE5C26B6021876D2B78336B83A
+D6D6A56489666ADAFDE07CC4A0EADDA94492BF9B8D0102551864052476949492
+2879F8A187FC518AD26D9218759795AED4469375C5FB47EA3C17E0A7AAA46554
+DE2A21A3D3385362ED88BFB7576103637333C5E272B5A6F36F85F52E448A3ACC
+546794F343CA2DEDA211B5EA5897F7FE25BC0EC13855E28ED2D1604FB4DE18AA
+85100A2DB4B8C3E4EEA47C1580B6895DF1D9E9866FECC07110E195F1E25C987C
+8D33799B360FFA0B99776D39367D6134E7DE181EAC31AAE17118D0C72E6B78F8
+BFCA73310CAAA371795927F06CA78C897700C09CBDCD48885F5FE1FC3D4A1C46
+39FA255DD6016D963F69DA67F5B8CAAD8D63623572DC8518DB9D1549A1C188B6
+DD5E87FD8F95A43DC8B056FFBCE2C6DB458F1E21C0DE30FFE6B36E4B97DDA0B5
+44FCD42868CCCDC5AD9DDEE3680AB78E10A90C179BDAF2E7800292AE0E909077
+70E10A5A2A2303A06EED113C9F805447D58D47BE96BAFAFF04CBA3C0F2DB6691
+434BCA2B8144015C704D14337A0E959A374FCA5CAF985CC1A3AA1F0927F4A4D6
+16DDB78F93CFB29D64154800FF830DDA20DEA566E09BB20B71017329FA7E266C
+9B60B2B21E79CE89D2ACA50BC1500080B979C6A41A5B8564A7817D956030253E
+8941AFEE589F86E1E054ECE9CEB91F192780707E32C5274801E4C421A66C1B43
+D9EA3A7312060ADB34DC3342C2BCF2AA4E73CF2C7586344B2927733B046513ED
+28EB845D964C896A21FA4690BE6762B140984A975C9E1893121BE4791D04DA84
+43BDDCB53C46A668B108FB15B75978950E8527E59A83441143E8DECF97F2D0C3
+D0EA853984A89FC8D6AF6B60809157BB1BA786103C4609E40F34EF0734874202
+4784F4BB75B362A616B7CE3BF97AD0CFDDE8AA3E77F9B289ED07B59E7B2BE0DB
+E2521D8F40EF958265B6308D6BA9568B0F47B008541AB10C0D9D5FD29AA026FB
+30603A18CBEACC445674D6B23CFFB84FA444CF16EB544C3B76AB63E36C288D37
+E6ACDDFC85E875AD690F453BE77CBA08B9FA9253D2DBAE182237454291A1685D
+C47681BE28AB947AB59CB9DBE15AD7550C01E108F1785F7493A369204DB63687
+EA33F4B35B57723271791E36F58F156D08081DFE1148FDBB998E69A7CF0FF5EC
+C4FBBFBD0784FE4BFF391EBE5780B7F7302DAEB5C78DBB1B98F4195DD0F39D2F
+3ABA9E2192DFC940D183E5F440DCBEFD9621D474C25FC34311D30835E8B3DA4A
+CD1F86D6FF67FFEA6B7C85D3D37535EB04FD6792BECB69535EFDCC2107D29B83
+9E9FFCA1711A8E96B79C6D1D06603A55F0B9F4E709485BC86E940D61A60B8CFB
+8293DBBEA56AD84DA878CC0EB7D9435BF3362F4CA6C9203F3213F76DE5BC1F32
+EA7A7CCABC48D9E1D9B1307D0C1386452628ED9D24925A6A26EF3C6219E51BD9
+007DF8A41269D33900F6FDF3D90D232B56E4D15C056A7CBF35EB312F4F988788
+51357C3C961CEE8C6EAA3A86B9634531F2A4D5444336525BF5F158FC3DE86D1B
+2E013550FAD0A674161EA03DD6E589BA134102645EE1BD0386C594C0A9A0B6DD
+D374E3A4FE49E3071EBA991709F8235EFC6077DBD620A0923A459C46416D9152
+FC0343C68DF4DEDEA9DD5E93A63A397B46FBB29E907C3C7E3051F928EE0CCF9D
+DD4E0919220398FC8826494291FC035D43E0A497BEB10452E91821DC239BA9FA
+302600667D69C94FFA9E7F140BA7A79AFBF589D415850D4C947C8B90E200E61E
+51B37DAFFEE77C09566183E6D5283F891E74987334BBA1295277E14BFE051751
+FE70BADBA30C047DB5AB1D11EF4AC81C755C96551C209397413718F1A8EE667E
+AB3A4309427CB08219CD1324FD27954B180E7B6B58B99907900DA37061040553
+76BC4CFFDA1A18F7680A00B7A13269D962A22C72C626B7F1BDC548FB7A0431A7
+C4B86ED93299FD83F85A8DC4AF6CDC076F22A1558087E7CE631764168A727FD8
+25DAFA8807DC1E6F5A8F87054B4D2E8FCDA51938C1FCFAB162A70F5E89C7DEB8
+895AA2A3509F0FE83C24DE32AFD7948E6CC75B771FAEA87205AE635CC2EB4799
+93795ECA680736D4035F6255BEBF9782A567078C7D083B64EF1B38302DB9A09F
+BB2B3D0F138512F6B84505B5C18602DFFA96CBBB777EB7A9B880A8E19E0FB631
+9E79C7460C5359B72C3F5DF77D276E2F2869883DEDB50D8A0F60604BF813A8BB
+3408676CA2D9541DCE664D1F729E7D6FF552D8ADE09368E629451DDCCDC42559
+3CE12ADB90ADF083CA98EBED99545E67165AA4F3518548753E8D2E626EEF5F96
+54B723F5767741958A1F7695ECE822380D4490D52F60E7DE24FD7380414C644C
+15747CB83A048F537D3A0533D24A576475516BF028C193DDDEF4162020F686DB
+11F70F38A692B9A6B1269B2AB565ED13CDD2D7D8E9776D517C3377CACB16455D
+0640295E263FDD5BBB609595C45B77757D57A3D96315AD7687A2687100DB0908
+85253BF94085BE3EA50EC9B6DE136E4CEBC4FA65A1A5DD4706968250C91BAD16
+6A1AD18DBA4EE2B9CB3C6FE415A9B47E28C91CBE3CA1EDCF18D41F4D39161136
+02163D500E5A1B4106792B4DA07484E28E915A64F073186E4C76A252788F9FE3
+CF89C383BABE9FB0D197175CC1EFFA9CEE8722B40FA514778F382569FB4E9B04
+8B1F6017779E8F234B0BFF4C8DDC9614E64A4233A2A645DE64B7E14553992249
+A3E093940A80745AE77DCCF1C44F62700A68D654916E3AD57BE75D73B2F48147
+8B415717F2C14E18103581D9B9A435D57AFA7ADB5FEE331FBDC2788358AD01DE
+564F34981FF281740C6663182E221D1E7E2E27FADCF68C6C38B5D938727179E9
+B1C3C478852AEB3EDD46157FB8AF827C6DE25C625F6E4BA6AAA44CD27778B9C2
+ECEF0ED8879280297C7AE62984C8748E9231141E649E9D730BBA8FA48B81AF0A
+EF43C9048719D771A8439A67374F211573E52C2942C85CCB7FC72EC7AB95D0EA
+84BAD7B7F8AD6CD1426C015AA45D8DE1E2C872C2E76C226268AF2D97A8A8AFD9
+FA87F4D419A8B87E92B4A48EAF7FEAB7C92731F801396C04BF8B9DAD27CF9DAA
+EAB6EFA6CD0A3E27079C81B6FD96B6B14ACE5F1BE71F9C8EC4C72DBE43489CDA
+21CC91F4A9D692F2744027F0A5F1C1B120C9E544CF0AEAF75C290F7F60B12168
+0945
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+cleartomark
+{restore}if
+%%EndFont
+%%BeginFont: CMSY10
+%!PS-AdobeFont-1.0: CMSY10 003.002
+%%Title: CMSY10
+%Version: 003.002
+%%CreationDate: Mon Jul 13 16:17:00 2009
+%%Creator: David M. Jones
+%Copyright: Copyright (c) 1997, 2009 American Mathematical Society
+%Copyright: (<http://www.ams.org>), with Reserved Font Name CMSY10.
+% This Font Software is licensed under the SIL Open Font License, Version 1.1.
+% This license is in the accompanying file OFL.txt, and is also
+% available with a FAQ at: http://scripts.sil.org/OFL.
+%%EndComments
+FontDirectory/CMSY10 known{/CMSY10 findfont dup/UniqueID known{dup
+/UniqueID get 5096651 eq exch/FontType get 1 eq and}{pop false}ifelse
+{save true}{false}ifelse}{false}ifelse
+11 dict begin
+/FontType 1 def
+/FontMatrix [0.001 0 0 0.001 0 0 ]readonly def
+/FontName /CMSY10 def
+/FontBBox {-29 -960 1116 775 }readonly def
+/UniqueID 5096651 def
+/PaintType 0 def
+/FontInfo 9 dict dup begin
+/version (003.002) readonly def
+/Notice (Copyright \050c\051 1997, 2009 American Mathematical Society \050<http://www.ams.org>\051, with Reserved Font Name CMSY10.) readonly def
+/FullName (CMSY10) readonly def
+/FamilyName (Computer Modern) readonly def
+/Weight (Medium) readonly def
+/ItalicAngle -14.04 def
+/isFixedPitch false def
+/UnderlinePosition -100 def
+/UnderlineThickness 50 def
+end readonly def
+/Encoding 256 array
+0 1 255 {1 index exch /.notdef put} for
+dup 0 /minus put
+dup 102 /braceleft put
+dup 103 /braceright put
+dup 110 /backslash put
+readonly def
+currentdict end
+currentfile eexec
+D9D66F633B846AB284BCF8B0411B772DE5CD06DFE1BE899059C588357426D7A0
+7B684C079A47D271426064AD18CB9750D8A986D1D67C1B2AEEF8CE785CC19C81
+DE96489F740045C5E342F02DA1C9F9F3C167651E646F1A67CF379789E311EF91
+511D0F605B045B279357D6FC8537C233E7AEE6A4FDBE73E75A39EB206D20A6F6
+1021961B748D419EBEEB028B592124E174CA595C108E12725B9875544955CFFD
+028B698EF742BC8C19F979E35B8E99CADDDDC89CC6C59733F2A24BC3AF36AD86
+1319147A4A219ECB92D0D9F6228B51A97C29547000FCC8A581BE543D73F1FED4
+3D08C53693138003C01E1D216B185179E1856E2A05AA6C66AABB68B7E4409021
+91AA9D8E4C5FBBDA55F1BB6BC679EABA06BE9795DB920A6343CE934B04D75DF2
+E0C30B8FD2E475FE0D66D4AA65821864C7DD6AC9939A04094EEA832EAD33DB7A
+11EE8D595FB0E543D0E80D31D584B97879B3C7B4A85CC6358A41342D70AD0B97
+C14123421FE8A7D131FB0D03900B392FDA0ABAFC25E946D2251F150EC595E857
+D17AE424DB76B431366086F377B2A0EEFD3909E3FA35E51886FC318989C1EF20
+B6F5990F1D39C22127F0A47BC8461F3AFDF87D9BDA4B6C1D1CFD7513F1E3C3D3
+93BEF764AA832316343F9FE869A720E4AA87AE76FA87A833BBC5892DE05B867F
+10FA225E233BCFA9BB51F46A6DF22ADCEACC01C3CD1F54C9AEFA25E92EFAC00D
+7E2BA427C25483BA42A199F4D2E43DFCE79A7156F7417ACF78E41FCA91E6C9EF
+B933450D851B73A6AB6AEA7EE4C710CB5C14270D1674FA334686653793FCB31B
+491E870D3C2BC654D2C1DE463EC9BA29D7371AA1078800EF93D3F66263A2EBBB
+F5723697BF7448BD0D2E301544BECF497FD475B85DFEF52AF4F8F8BE445CABE6
+019318806D10C5952157FF8F8286C1EE701545C8F60EFA854EAE66835A2046A6
+915D395F1E0366EFE0C0391583FE001FF16D82A2E2DA5F57754A2C6F69306E36
+356ECF8EFC3F1188AD6FCD2427E0580C97A5B69B4E0E09B85EEDE142F5ADD2F0
+5DE51D6DB72B127412A0D57106C19CA493048A4F815129ABE767D51715B1515D
+9C21067CB5BC88741B7298C83EAE36A866DFA87D8981F179B1C31292F56BBB64
+3C430779468AAF07C8A8B4934E1E775FE3F35186BD1FA6EE3689C1C750678AF1
+FBF9B23195A124C5C991FE670AC0C86FD39D2B07B9A319E74EFD498B45820252
+720ECDF7294F7B0B137CEB86D33BFCEB8606985A3260FD669E461C8BE94216C5
+D434FD8854F44EE66E5A289A9F9E32BC36AF645D53F96652602BAED418C8D726
+BD04A1B4617551FE4DEF54083D414F7DCE004E6BB2DC9C2EF7CE232B254BA2C5
+7DCBD36C2072ED46FF711F121A701E2284BF1B718B3164382B8F453D68FA0377
+DFE106503B8401D4DB87F5402A3AC9A442FA060B0610A9524D530C7157C26B56
+AC970FCC1D5655FFFFA39246E6420CF97D08ADFB7B05822679BD40C638DDF0E7
+A97BFE8918B611A145AC965C203F1428812F9D340AF499B3A915B22BE798594E
+0F520109FC81E452180AE45B170FF999C5FC2761C6CECD8742A5A6FC97F16743
+AD4EFCC6572A6D3F3E4E330C5CB2FF6FEA48A5B64DD3DBE943BD9918D4A18E18
+CBCF598AEFBB6AB3CD2CBC9BFD6099272F6543F3E532E0E21E614BD2880B1023
+0AC234CB705827BF016DB84E00E8C255FDEFA0101A842929540B7B4AA8A089BD
+5EFF05B72356B6BC3727817823B5CDBB1B963103000D7F2A4E2A1472FC3E614B
+5CBCB6D6D784023173DEFEBFA8F9ED87EC1A0A9EE98CA59CFC964CF943DC683F
+E9E00DA718C4425A705A69D99988EC6F152525C790912C2E46A2381A569424AB
+54DF4798BC2D7E7A361E7991641D4B756CE2A7FF4A2848927092C59C2C4B8809
+E13AB84FB6B111E680D7FB9F2FFC2C5C66B0B501E4447C2E46C10E2F6124476F
+A140C404CFE2DC9E0199BF61E035CEB481D438139A9630934E541D261FFD2906
+4CAD99E20655FA746AFB81EDBB5601F5FD6B1D6832A01D585E2C55053F6A7378
+4DAACCAC7608DBDADAAE732D66B3E7F87E79756337C1A961E53A4651BE7C77F4
+038B89C87F650C54A2A90EB7F1D525BB353F33318551EE8D84A6A83C718EA5A4
+B2AC0F7306B1E095819B87015A90CA3ED739B09061782C28CDB36BA4BD5E5308
+5CBB70414E4112193DAC4A1FA30996327230D1E021F3CD8115E12D239D93FFDC
+B645910EB29E40D830E7BAF2DB255FD7C4E776557BB38157917D993EAC245837
+A3B515147043574157B8342D829C7228CCEA843ABC89D1785A9672A5923FC4CD
+2F3FF27E6FCACF84E2D3136CA2C0FD3EF1EE7354CD04C38B5FB874553646ED2D
+CEDF7E362EADD04B18051F20A8FB0DE18E152385B9D05F98A3A7EF177824E246
+455ABE69E2F700EB78185CCFC07E3B4C6FA301112528D977367D30D0D5D59EDE
+FAEB706DDC970A9E296236C725B2B55B09B9C336B8E23CBA5FB8692D56F33B03
+16294E5FC7FAA42E96395A57CE51CA8DDD77442F142E2E576B778373FB31C81C
+16840BB422CA827E30A81829648BDF1CA36700EA32AD888D097C1FE0A05B2D9F
+483AEE40269DF09AF0D1AD3DF80C45DDC59C2A03FBB661C79B87853737C6D352
+67626B657321B16198DBD6DB98A092F17878AE4698121E1006E53D6F9B0A3BE2
+3FB68828EF854A0CDBAA68B37ABCA6AD4A3D809AAF0BAB1697A81FE59C98C472
+1E33CD70A75A22C249DD11D76C2575ED3370A25892A16D2FD569CDA70C130770
+93F493C7D47D6F9A5424A7A542BAD726BFC3AB225DCEBBE6AC4BE006F8C7C0EA
+051424B08305BF2D951AB2986AAFEA04E078CA79B399585BFF0F1ADCED02E15B
+8765EB6BF6A8E4D0901EFF2C3AA104924EAD9637A35D877E0C51A3C37DA78CD4
+8643C8CE6DCDDE3F116A6C2390F948E5371BEB5AD2E87B41C5F01FB5C196C436
+6E256A88D082E3F46E4EFFBF605B2EFF1E9D9AD5EE4DDC323A137CD9451EDEE0
+06F7D82898D71FAF2362C0FCF1F726F97F820305B7CE20728CA08C63575083A7
+84BA28B7DE2B916432475510E274C12FFD1660A717F51DACFDF0A102D85224E0
+D6DB607BB72569ABB8A7BC6A10354CBBC01732EFE35B72062DF269CB25EA3DE6
+DC603B04C90C5912D2C38D7A5ACDCDD3F6F116D884F0D8C528F69D5D47BA20DB
+0A9E585C7D8CC3C324FE8A1DF150279F7E8FB43BDB720E624E5E9918032C02CD
+8020636AE5C38DA2484B7F4B34163E0D0A561B43B80E97746DC05C871AB620EC
+C5D47101ECED4A7E25F291184BEF8B80024AA7BB456C1B83A907652B331DEA34
+754226C39C6889EBEEFDAD081E01EF8FE47751987667836FDE4C8BB8A3FD4406
+1E643B4EA37BD370734D1A2DB17C2F4B74B4ED75098B433601F75A88C9A37A05
+CCB157EF6E32023BFA33973F3E655A4D58289136996FCFA61EEABD70791B6523
+1FF5DE71AB8A17038923118A5EED8D59C4C58D246FFA9BB26472346B40C8741F
+153D19CAFF20DD2A86C6DB89154A630FB1761929FC3F0448EE2F089C1C953E02
+905BA8DE75D101A982A611056C4B237596C10951DD98BAB838B742D3CF7DE718
+617DB72E5268583223E37E029D1C8FD3F1D21690151F76B76C52C725CA135CA2
+8666553E863CE188BFC9B99AF56AC2DB5BFEBEB12FB563D00244EB89E478657A
+98AF2E1223C1ABC25A4500E8119B86EB3C26B8A2F3505A3E5610F89B7C34E278
+53FA0A54A7F46D84A35EFEC36AE660A9E3C37EE3864106702DE5AF6C45ABF64B
+888A4A51323138CE77DB935576FE6B4824B6942DF80625098CE1B5B32B234F1D
+052A9D6039697118A9D793793775D8729D8574A2E74D7109C7B7E23BC5E2E87A
+CA8E019203952A4892544E1AD3D4EDD22971611358AB230E9A2ABDF00A288501
+A01B67C42B33F6B78C39562DB50F4663B922D9BE0D8A150311AE44B83C1F129F
+07337323E9A23211EE58E16043E127C6F9574019179F5635648A011266677B56
+B5D0201A4E1470B952A1579B57AB2329CD4C615395023C653F784D36B5EE3672
+10D191F29EA508CE84763CA4CE7C2C5229E38E241255A5CABCD6C7CBAED901A2
+CA53B5E24111921CDDF83578D33D463D70EDACA0E470D8F592303FB6BFD68B4D
+3F3BE2D7C5EC8BBF10C90111A33E205F2649B56E8443F6FAA6C721C66575AE12
+D4C40F1F46CF9E9DA675AB5D5840D938780CD9E4AD6736ECBEB6A4397613586F
+849B51048AC5F9405E03E14540A5E5582F61CDCDB57EDDF95A8C6705F433EE16
+648F098C03DED8A2AD94AE3DE202D629B9422ABB031318D48F2C85F9DBFA17BE
+84708AA3B6C9F81F4508F7A5CB7B6646AB8722ECF817877B77D473F577556DAA
+2BA0ABACFCF5DEA7498C47328E873019A956FBB250FD9D8885D21D368FA70CBD
+2709D2DA44EE7A9869963EAB48789541906DE49FAE785ECE1F18A22C7E7ED204
+9768896B78E9EB7A2BD6EEC1B26083940656ECD689D92942CC8AF05CBF82AED0
+B45A7DF4DD7AA6526FB597322560B9ED3087A65B5EEF1371C328A021411BFE3B
+D9B5088B2F1AAE381FFED52D2D1E02CD0DA78683E3B06171CBE94BE9760005D7
+135893D7CC2DB097F6AC664D9594CF1C650F84DA80D2EDE04802DBA33CE3DAFE
+EB7A37E8AEFA4FDA6252FF21E8673DD98E67124D5DBC7BACF361E57077B71939
+C1D1FB923E4E35C075CD1BCBE0E80DAEA1320D55B43EAB45D9B26C366B278782
+7519FDC482D98839BF0DF2E7C3A56A1C1A3FC0E57A75CA414F6536C1FE8EB7A0
+4ADFEE3BEDA0F53BE8CF5F64230784A797133E8CD46BCCB3BF38BCE38A73CCE2
+9E073ADE792F7128231DDD1F63E6156ADB2609C200837C2E8A2D93D2A7BC9171
+050C709A71E44E32B1B03C92EB5CF1D3BAB1C38E027DC4ED9AED633D98CD7486
+3F773ACF8AE332631CF2ABE6D606607593FE862ADE31803964E3F4DC3CE3A271
+C76BDD95C87CDB3B87BC26FC7A16D567EEC62E6FF0D471B4853DB8A94D4CACF8
+843824F818083F10E88D52FC4253E8203292CB40F1414AE7E51DD7347007C342
+CD70E8E9F2D2A13D71213B841DDEAAB208AD9EA644591C15DEB084165F9DF24B
+B91D3BBEEC2E34E38EF16A0C3F00700A7BDCBBFED2EC0D09601AD6538288DB50
+3478B051B5E16B604A0341FE621A58718D960D699D3FAD284310DCF54EB13175
+19A75A539EE98E804AEA24689D3540F0F12951A3C01FACCE9A7BAF4D0DAFA946
+FF65A4D2A4C39969607272C6886F44E90ABE27CA3A1F12A29D9B32E60E8E34F0
+17C5FE43D0E69A99A922D98909B2BBCD145E59A5E7F5426B3988F73B09A525F6
+8BD4915663C1301323180E760BE81CB874B020FDA3AE63340E4261E4F3E4949B
+CC0966BDC4426190BE9F5D77F76A72AD925662E5FE1CEF9CCAB68F0BD33DA003
+F11EB91AC4502FBD6AE48DA0F9D07C35B96B103E379B8A83A05FE728F1716194
+1F650F75BEBADB2E3810388F3E2DC7B19F1BA9E32925F2FD9F19F4E8701F3E4E
+4069125D7C401144740691E7A460021A47B1E27997FC1DDABEC5BD0EE0B20194
+2D579C7D6727AA124083242BDA46D8E116E2751C5F298851A62B60AEBE82A929
+9B9F2492BA35690D1EFD16215B8EF14E7A3803B93C28FA41D971B05B6AF3B593
+E74AD1E68A5FCE12A86E63B78BFEA87D3949FD164F12277A4688BE96356791CB
+8671C49365608F3EDECC109321AF92B4C29CAF073DA3A7D73E913D0D83FAC5EB
+BD884D4C686056404DAAAD6F82F94F803FA1FB0DD8908D1DF08FB87A8BB83027
+04DE0CBB1C6FEB6B517FBD7CF065120079E608CE41893C2BC96A347826CCDFD5
+C69E161217F2127A59F1A6F22037641613F191F22D5B4CDCBCC2EE5615623404
+ABA7BE6C5FE475481615B2AC1A2412E54688DD21E44CC9AF5F16E634AFCA389C
+4D740B7B51BB141BFAD1080E7C726C1606A28ED492E6BDE9F800EFACD1513909
+84E98CEB6A0B7A2A6F3E1D1DCC3B2552795E0932673E59ECC56DDD37A1D52BA6
+C3F0E905978AB568941A163F4CE3AAB5C5B16F86016EC47BA6F3F7AAAA77C3B6
+09C8C3ABDB6D514A76ECD37C37AA88B5860630B3406B494F7725975596F84777
+D9CF48686EC9C5DBCC1D78513F591C7C10AB9D153B3D41426B7BF668B0D04503
+56BCB686258462C1DC61095724B9F3312316262FD7C1AEC6E54DE7E5A7BD8EFF
+035299B8FD8A4A7B0F51404F4A760F4D8B4C0FB7A32FA4B2383AB6E9C78FDEDB
+FE6A5788D38A6701B123630C2A6D820A684166FBBC83DB17069494FBD411B333
+CB37E2491C5BD035A33867A6D3A3D420CC31ACF43AA07182CAAE67E40EC63663
+B678F71D4C6E0EC3A0AAF904CD3AA66E0DE5E3CDE049E94249B39A1C06E3CE9A
+F974B2484BB2CDA14282B9511E505B3C89F9C802218AE40D1A7541335C5736DD
+CD565D4B9F4CC78F3A393737EDB4FBD0DA299E21CCFEBA5478EEF013F0552A8B
+0BB11FF46CCDB784E8BDCF730A16363E66572049E42C695886EAB42A9AD9094C
+B635DF4B5B9BD9B9AE8455DFA3EEFC77653190F9A8B1E93B7281C2A21EA7DDA9
+33484745BDF7E3DD63C7AC66C286C9A5A698A5E4D7A91710B7FF943FB23609B6
+4B442F83CB795788FAB5E9CF3F75D5487DA26170E4561C7941C910B088C3B86D
+F844B0F340CF82786A3FCF347048463EBD2006281A816627065DDA6CD4D3AC5E
+2024BC96C7D896381BBB567951E7A1F29D4E95351298B000D29E5F3D0448CB5A
+CFDAE1BADE9403B90371C3A07D208948AFA022A69C519434B6813086ADF518D5
+88E0B92072A44BA1B3EBB630A13B7AB90992E85B6D67361C8D96F3E0D826FF37
+17B67E4B1EB7BADFD98D7F4FD17BECE740ADF13C141EBF0A91CB105DABB32FE0
+55086D56A0D358841D15FD349E6B95512E4EDF4C430216FF85C2ABE995E4B40A
+A6044CC8820AD885C07E052B3F91C2E9A1D163BFFD210F7BE95B923E2500DB50
+2075106DB541C267BD450B25B670CE80BCD068D4DBFF2D82634175B61FBD3BC3
+406131F44C7D6F18D375D1F2270829DDF29DC14DBB58A30AC193245D18DE91F8
+AB88AB548D8138605BB5A50073295534E314366E26665AE70482B890E4101D6B
+60E4F3B37ABCA1346DAAE8FDB8DD9C832EFF3E73BA470E2BACE7B8515CB43388
+C27AF99FF9322175CF8D4947E6B3846AFF5163E972156847F58A66660EC8A3A6
+5FB47C9F637B4CBB4C73B6A080B0CF6FD1E9665E92032540570FFCC747C67C50
+822811AADC404BC7ECD1673E8AA6C3A2F1D82F39430B58C29145E2F1B679C46E
+94EDC711883F1E4EA84117A54757E8895A40401A26E1437B39A2F65CAADD6E02
+D71FA8AF7453668DC613F326A3344F74AD7AC67569AF399385500ABDA5EDD3BA
+343CC5EDD4B558467626850E752B9959FEF1454E53E7A3DCBC2255AD8F6AB4FE
+894455118A61C58840CB68A925ACCAD75CEACE863D806916228F0614191A1CD5
+DC9BAE256018615AA3725834519449B0A88B4F396654E74099C007930ADB1327
+DD119BF799FE3B0B223E1EDA04FE2DA7A1C879143E1C33B6C6344F4BA033AD6F
+8E88C33DEF1977796B454BAB2494C930F492A518E8198C708A75FFEF8C49C324
+A718AB59B889DED521229E741FFE53F98EBE88B0405AD523254FD3FA4BBE96DA
+DA1C27C1C979A0DD4E61C3B1F4C4DE01E42F1C4435EECFC02D97994BC8AF5270
+E7CB1458D76ED0229C5FFB4A23B8716018F9050970895D51722CDE8F2EA3D947
+DFF374D84915D5C5D16463A6FFCD079D1ED416C4347BF831FF0C4ADFB61295DC
+4D5785BB0852BF472CFC97EC174491CAF961AB90629F055E75DAA6D9898E8653
+5BCF379816CAE46FEA62E7BE8E9B953466E51828172C4DBD0E1BBAD1CE28B5B1
+02B3E36403BE80B49A47446A6677FCED438F01D60EB10F478C89528FA337D0D8
+88D3FC123C076507ACDAF783A9A6E24ED73BF24B6E0F11C13E532DE5F70EB02A
+60651FC2E263002D3986B7B20CC2AA08330B9FC2E26765CD52266969A86EE30E
+71E0B41B6C1C6DA423D3A7E1553D2FAF26EF40DC183099322D362E4965695C52
+9FC3E5BD7ABD743CDCB717DB10372A722A39CE53FABB454EADE2179C4CBFC016
+A8E893C28EF549CA1692C8D8ADFC471DCCDE266FB4E97A1F3035801F3F034D44
+A962226E1AFD39AD32B28B924B247F85B87CC4CE00A01F0DE7DCC439C05297F8
+AB66A0899A135B400DA86109FFA8CB56DC528C494B2833B69725F533632F8717
+91A4E78EEF79C4F59E5F068B6A0ADB9FA9E3A09E1B0F367030EDCE6C24B46739
+6B440EF7EF8132FD8C737FF9B7561D4D01564106610633561FB31239E96C9ED3
+D43B799ED76BF07AE4D419E13A47EA8FC5671F927DB24DED249A8E2A89862737
+0608FBB802E84B16FDF6684A329A14487D1234897C3D7EE35487B81B625132E5
+56E71B16459AA33D50B534349C58BCFDF6166EA766FBF4EE0D1614F108316B67
+7622CF41FDAEC84B17A3C3472C1046B4653ED1ABBED6FCD557F02225E052DFF7
+FEB03898163EFE8B85D2FC830823222F4652D5FBB0DB57DB8C42C138B986BA07
+D61AB480BEE9FBC33ECE2A4864A380C1840EC2495415A274735DE53663421E0B
+13560F618C64C74843F9596AE89EBE5F51C633EF6758C82D576EB4427D33367C
+DA82E9EEB6453A3528A50A5C60873193BA611FFA185D8DF9CFB9648F7A7D11A8
+482DBADCD4E500A4A2EA6F89363A0ACF3E8A1F6E901008FE95D2A712DA189C54
+F20696FBCF4672D414E17FAEF6517A79A915085C4AABF66A0BCD9A9BA6F0594F
+9D4A829CEC6FD1DAABD35680F9FB72BC14C65AC75201BF0CF15C05027A5C2F5F
+0E52148C24B68E42823007717BCB450509A0EF474495D1381DB6C6F47775CBD5
+9ECF9D77FBF9F57686C34E3BC43FE5FB31AFD3A1A0CB84A2877AFC6C0AF29F7E
+C7CA04A3754F6FE6DE0CF7F1A2102BFE361E4CD94F45E02D30F92544AA888238
+A3B07EE188829512C4E5EBD57675A0285D55B32BFF94BE7EBA0D25147471E54D
+AC4BEA702B1402A353386DFFFF05A6EBF2A665E771620BEAE2E47368CE4868EA
+018D1BABCAF1A2A759282AD1F238D62C662788F87F140A97D8386B129DA38914
+
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+cleartomark
+{restore}if
+%%EndFont
+%%BeginFont: CMSS10
+%!PS-AdobeFont-1.0: CMSS10 003.002
+%%Title: CMSS10
+%Version: 003.002
+%%CreationDate: Mon Jul 13 16:17:00 2009
+%%Creator: David M. Jones
+%Copyright: Copyright (c) 1997, 2009 American Mathematical Society
+%Copyright: (<http://www.ams.org>), with Reserved Font Name CMSS10.
+% This Font Software is licensed under the SIL Open Font License, Version 1.1.
+% This license is in the accompanying file OFL.txt, and is also
+% available with a FAQ at: http://scripts.sil.org/OFL.
+%%EndComments
+FontDirectory/CMSS10 known{/CMSS10 findfont dup/UniqueID known{dup
+/UniqueID get 5000803 eq exch/FontType get 1 eq and}{pop false}ifelse
+{save true}{false}ifelse}{false}ifelse
+11 dict begin
+/FontType 1 def
+/FontMatrix [0.001 0 0 0.001 0 0 ]readonly def
+/FontName /CMSS10 def
+/FontBBox {-61 -250 999 759 }readonly def
+/UniqueID 5000803 def
+/PaintType 0 def
+/FontInfo 9 dict dup begin
+/version (003.002) readonly def
+/Notice (Copyright \050c\051 1997, 2009 American Mathematical Society \050<http://www.ams.org>\051, with Reserved Font Name CMSS10.) readonly def
+/FullName (CMSS10) readonly def
+/FamilyName (Computer Modern) readonly def
+/Weight (Medium) readonly def
+/ItalicAngle 0 def
+/isFixedPitch false def
+/UnderlinePosition -100 def
+/UnderlineThickness 50 def
+end readonly def
+/Encoding 256 array
+0 1 255 {1 index exch /.notdef put} for
+dup 97 /a put
+dup 98 /b put
+dup 100 /d put
+dup 107 /k put
+dup 108 /l put
+dup 109 /m put
+dup 115 /s put
+readonly def
+currentdict end
+currentfile eexec
+D9D66F633B846AB284BCF8B0411B772DE5CD06DFE1BE899059C588357426D7A0
+7B684C079A47D271426064AD18CB9750D8A986D1D67C1B2AEEF8CE785CC19C81
+DE96489F740045C5E342F02DA1C9F9F3C167651E646F1A67CF379789E311EF91
+511D0F605B045B279357D6FC8537C233E7AEE6A4FDBE73E75A39EB206D20A6F6
+1021961B748D419EBEEB028B592124E174CA595C108E12725B9875544955CFFD
+028B698EF742BC8C19F979E35B8E99CADDDDC89CC6C59733F2A24BC3AF36AD86
+1319147A4A219ECB92D0D9F6228B51A97C295470093CA270C4488BB4EB864B48
+63941B9739638D2E6F3CC778582B46AEB4E466D89D1C211225274356A4BC90F3
+274C6AA56E200249B7D0949A3FD4185DCB3E5286910EFD7CA72D5D8E8052C96F
+388D12094B87D3705CE64459558CF024667C0FE96CBB32B0BC9E51037D7BD62B
+E4B05FF99384E71D78441A79B0B1DBA1CAE02434A9FAE46596FB86B873B1670D
+AE0BAF516445A0DDC127F8FF3ADA0B10EC30A9CC1F7E9248828B5E8AB46C3FE4
+154B80A54128A08777F5F9B8C519C7E3B632B3476F007FA156E9F39FBE57638B
+4214CD2BA79BA9DDA0F4C073AED814ABCCC2F7906C57A872C00E67FF03AC1200
+29DAB92376422FA21C67CA98BCEB8C431CA2D3EDDC16972F84BF6DB2F705BAB5
+CAB39C82D139FB1304B9E7BF1F6FF447596081D5690B1519E468D6BE49C329C5
+C9C809023EDEB9DCE4A6D52A8049E0CC134E8B41BFC6558CFCAD3D9D2773EA16
+131567AE6231B3235869767A1E7C1FA6C8D6FC1B276CBB1CAD14D376188C9682
+302836A9290E587D4225EB8BB1DBA2C4580A81FACFDA197174FE948CE757C575
+F23070FD84DE121955D7D9307BF986C5E739FFFB6CB76822C341FBD9FC2E3378
+AC9332B40C07D5B8745D74E30F1D719EAFAEDBF5FBC40D0546F69A66072D8A49
+28D2CC2E76B9B1EFD191E0BC7510C2C8761BD92EFCFDAC263342A01398A56D18
+121A591FF5CD4AD8B25699A7897E60BA940336BC17B9EC9F97C2464D031F958A
+A3548D0C97C50C580B6EEFD0FE8330EE2BB0D2E7FD1DAE33448953544A4B1C5D
+8EB57798D0ED4B22909FEA78ECDBC4D8A124DA05B9999242D68681017285A0C7
+69041C1F79442279FBE328733EA0A6694D68BA89739FDB9297BE0CF1808C07F7
+BBF6F1538DFE084EC8C0EC24D883F6CC08A51DFEA23EE920F44BA55FFF58E960
+C7BEE551FCD2D5814DE7E3F835608073C2CB80EC57100CFD484C837881674E92
+B217F4D11165427DACCC29C129005874C05CDE5FBB2D912368EA2B98C45AEDD8
+8A0D2493F60EF36809C8C6EBBC7856F6656E8D398BCB29DAACD4F7D4300A0B01
+161CEF51195D2C58DDFBCAFC1C03F49304ADF02789889826F1E20BCC14827565
+F2A45CA57DCC61B52E33638A0C6C5A59B145E82B82571DF1806EC40FC0E8634E
+A34A791B1325571E19F3AC2EF6FE68A14B0ABEF7EBE0EDA3942E85E5AE967A14
+0C5AEBFF2A36DCA8866700CB7082D2ABE470864C44AEE1F6D180D511304C8674
+D02FAB12A7079ABF96E1CA3CDF9D75532123E87663B1D524265AEF63EB5C2169
+B67A651A101E1C7EDB008D3DB06DB1FC1A81B41B291D6C4A58FB57989FFCA434
+DA84B3914D1D80B17AA3A55A70BBC06C49DD5F7DDD03FEB0055088558FA192A5
+261477899857CF598DB740E82D035E84CF17B33048CFED2DCBEBC2B75CCAEBEA
+B6C5AA1C6978FBB36ED98D9047028360ED430A0AA69AC85A8F83825EA649E1B2
+64B260197B06A24A1DD969CEEEE136FB046D713D0630B246BD41CA285F076038
+F7F8431913BB9A3E70311844D4C22AA446E3CA217A9DFD75A898997130269B29
+AD4AB7D9662856E677FB2DAED7078639CF31C6E6637C74DE2B5D0ACB88BD61F3
+CE3C5D56D3D4B3EC1ACB33EACBE05E53A133EBFE93CE6A0CBC8F24BDC5B31BBF
+5B3E55D6B40B1CED389076014667E28BBBD60145A06BDECEE8011A2C6F06D091
+73767A8045CEF2A110B614149FEE783A2351FB2938A9F73CA406538EAD82ACC5
+A3DFD3DE00221E1B4EA977AF8C89661357FF7D2F1FCEAD6CFC9D6AD81F95100D
+EA1F328249AD84AE849220E6593D45015B4D7C9527F3063E9F6DB6E572092A1F
+1F460696227D5F0FA5A5484B1F0D8B4A35066451663BE448D924DBBFD388B6D6
+D7CFC87C9E75B7CF79A4C9207E29E0BAAAD7FDF529B860F7731EA978E335334C
+13CB2F0A4250F5957B44CAA0674AE8356F586A24FD137103973B9A1FC31090C7
+C84DC5D380404BCDF3FE20C6F74FFDD8BD1DE845E99DC6FE09931F003834ECC8
+08C5D962070B6C44F901A787CCEF048A2C584A2285506B4D4E82B1BF130E2220
+B6C8B3240A4CBBCE16AD3676B23A50B75F82CD88D1B8F21D30A12716426112B3
+23DFDE5A348DC9DCCCE5BB5DB5433A5AC125DE1229FFAAE0D8319B2929986EEA
+56A93BA1FBDBE617F30852A3DC8C712DF674169C6D656F75E252187A085B2788
+2467CC4DB08D48EE6A98C61BC55E6EFB1938FAA718802B7587B94C8F1477E9BB
+DCF6E02B5E67FE3AD9D87C321CD9BC0CCD36B9C4BC601E6BD552EAB8E1C940CE
+3A22F3C2501C3C939CB4F17CE97566F0A04602D2A22A05CECDF4A49CAFD6332D
+5870E1F31AAA5F86867F71610CDB83E473B9D20BA00D8986D7148E0EED03865D
+9622864B52B09D12E0C5FCDD023D29D5AB1CACFA92B6FC14FC84E95F407861D5
+2BEE3301AF399FD7ED04DFDE6679A345A282E7FC08D47E3FC8969D3B00ACD7B7
+F8769647D6D4F4106340EF739583374D023C2702C48FAC1B643B5897D2D7DBCB
+73257712A0FDEEEB98A021D218CDDEBBA34687E23C4828D7F96D1ADDFAED7EA5
+B279322E6D55FB486AD8F3A8E7B2C67915564FE56F0C9277A06B29C47FB7D007
+11AFDDB3FC1B173B4E449CC6B198041CCA0624D81B4840FE5B63BE72157AC6E7
+03E5E95D2E2CE2E40BCE8044A8F2AA45F855484A891B9F0F8F70188AC66A8DEE
+F4D656CBE216E6D9AC33BA8DD0685D480833E1226784469A221D9FA3CA600AC7
+5574B5226649A9C48CCB43339942FC9010F86BAA2D181AEB487A92A96BF2EDF1
+60F3B93FDFF4137A25A8AEC5ADF8613019CDB103DC4367EF3D8AEB4FED0E6BF7
+622AE0CD3CAA0321D26CA4280CFB60D08D9560AB8AA5698231171B881BE9A27F
+BDCF3162134126212C523738D221AA05E31CEE73D9D40F73C450B6AE2C1E70D5
+C37162BDF55943069923A290A6C720042566E55A21CD81C460818883AB016C16
+8FCCD1255A66977DC1C110261D7642199D466DD3D2493A2D47694F842241C474
+1752B00DA03E69CD16A8A14BEB8A431A315D19A39BA978E46EB1189089FEF647
+F9DBB58AAE6B3FBD475E4DCAD241A051DD100ABE81D40ADF18A4C50F53BF749F
+D6F7C8E02A5665B4AD18DDAE79096DD447F8BD32C68F9F97F05E0071D9E9AFEE
+257B96D48ABD9920418E17C8F027E9E975E4A08DFB1988E7104CBBC1CAF356EA
+7750AA7110BE116AF1BA69A94776E4356573B38472A8A1292C63701543B0F315
+611A0E0595B30424A1137478BA6F990AC7C3AB4DB69E75C222B617F373C521D4
+246E954E9857AF59D1E6C36412B643733CF5E1C90389EF0E5E0DA55D3AD12E97
+E7630C315F72A03CAF22E0ACE3AAAFC1D496CF4E5ABC49C2DD5E264BE7EB2698
+AFF36089B5DD2C53DB1C1FCFBE1E89D41A95DDD278CEB29DC85FD1DB8B83CAB1
+EB37C531E9BB8466ED6B8B60258D3C355626CDA43A32834DC89DFB11E5FC6D68
+0F78CFA871113DB81A1690250A6F842ADA15734CB6DF7C6ACED6D8D586BC4E1A
+94EF3052FB0F8B9454390B882CBB6E135AF1F9C777AC362C2A758C3A98117120
+73C6E2FAFB580716D4B2889A4331CC658AAE996245685B973D9C184541385680
+AEC2956107DAB00230FB39BE98D3CA898D917E5F2088F26CBA4F8B5B115B6443
+8753331233B10852702FC26D9DD4C990C13CE4D0DCEA23D62A826A4B4FD16070
+5F3638C0A50A3373A33FCAA6F3644975AFD0560EE5F2D1CDF08820373468E4FE
+6679A229D6955CFDF7ACAA92A87E6D8571AD18CF59F84F88A674B2946FF20A28
+B9798EAA22442415EB46B9498DDC0F4BA6ADD347AB43E9293CAABEAE80127378
+129D5DC69F6DFFBDAFA5D65580239E8EDF6833D0DE6DF75F0FD090A83CE0974B
+AC947BABBD1B1C7194DDAEA37B0CAB477ABF9433FCE0243C8D308409427D1DCB
+8EE4FC36C7E5CEE104904B520B3F6E677A5B92F694BDBC2C799991667E0EC14C
+B95EAE7DE1854BF4542F05B4AF401CF67FC3E46EA5A0DC362F3CF177B1796DA6
+753AA803E724D1721DDD1BCB0C12CE0859E172D2A370C3697286F80D9E138AFD
+A0EE016805F847BD30D11D8B891E54C77AB51A7CABF76BB14B06153C7F811FE4
+93FC4B7CF161051A458EDF767DF94F487DB939A2740B4242BFEE234F75084DDE
+207E84533004B933D43C712F0C71DA4A00FFD6D721EBC93AFDC4200E3B8DE433
+3ED3E1DB799BAA27548ADC853AFF5D9D6BD92D644E3CF394789C99D9DC054A26
+7770AF5DC5BD6563929AE11BE341F036584DD573D3F43D9D975201EF77BEEF80
+D1EEDD1D4AD5D4D4DAF6D5B9D4C1736CB111D6FC74C236779C0ADA430323A825
+09EA8D0CB1772220AF28B93098BDB36913159208D1B2D7ED45808BF7B686419C
+5C0E3DAB5BC9830FDF3B494D624EE8068BF6F5212BD69EF466B9A213047BD105
+B848F056DC544A8CE66C546B1A4DCB4BA29CF0EB4DCD9C2452F22172AFF33B29
+E97E12D8F0D312B03BD9E5377BF0C81D884F1E79DB66E8144F106DFD2579AD26
+C693C5B68F3AC46BF0D6281032D4D4BAEB2243151AB1AC0BDA2ACDDD4D590C90
+F29B335DF8F57DC593DCC081FB56924028E3161AC4865B49D1B0F63F5EE866D9
+7A71171C09B09A44B0E32F03494D9EA63F3C89F5E772BE25A6557F119299E989
+99BA041694ED805AA4F3BBDF00D88171C9D43A9085A287A36A1F0F9386F2A98A
+96815CA51F06E1CDF20B757983C5FDF4003F5438232159F325C6335B734FD982
+1423BA77D0EFD044381AFBD0704E3DE95D23A70E2428E9AA355A9A8A25C6C74B
+48488C14DEC93A766E112D74C83576ED355F17A809E8D3F9C65C4E3E14EF484F
+4658DFB57597E2A4461D8044E95844391C1275D63F282B37888C842A5151937A
+45007547263D70195ACC018A373D498B88C5A028BC66ED96A343EEE74D61EEB3
+D9472B6A549CEB8699F4B35154A0E2ED22867E4F9E4A76311EB2C9F9078FBA81
+838EA49C2966BA64C165434DA3093206B70186BE80600B891D9979F730FDC794
+5DD6D8B2090CC67A634B719F441092A10C447A86ADB78DAE45823ECED5FCEADA
+ECA52E363D913D9EFC0ED98A5A1F823DDA3350EE27F09C14E4C7298CC0FB6200
+DEBC640C68C82D70AFB7A7BA668F1D7948686206884736CD03D9F6E6CF9702BF
+E3C932CEF3CE07FBBFCEC0476EA6E8D5D4C5C6450C8FB236B89BB82D51886240
+5BA7462F50A88F69228DCBDF26B7250E90B3DF8E94ACA1CADD9EFB5C73EF9DD5
+46052314D445CC92512BA231F79A09A2F0D91976B160B8C9BA055DA4AAC1300D
+491193EC66A6DE12BE01EEEDBC3A2291DA1F27AB76596A236B75E19FC5F1FB6A
+DA1AD835CA08B6CD03B97B4CA1BFCBDD2500BB09F1A1B0438E4A759370EFA318
+F062BA9F3D352572CE232E6FBADDAA5363807D0DC5320B807FE5485C8CB09B6B
+0BED9F5B1300FF370252DEBAC9DB25CE2EC494E8EEA45FC6604B3C104E81B287
+EDD49F3D7430EC9176A16B4FCEC5DF68DCC11ADF90BD5337E2E4B59BEFAC8298
+E5ED2C7FC5928635420FB1955251932713236DCE28012C86F63D12AF1DB634D0
+0B8CB8992B8723548177BD6822A808FF221A9E38B0DCCBC1F3430A9BAEDA89CD
+ACEBBDD8CCA5E17F1CC37E35A01E058BAAAB6BE7124314DA19962BADB74EE73D
+8FB13FF6AFB6FFF97926CA045B62B98BAA753AB0FC78B881D3FAFF9EE2FE918C
+8EDBEF87637F1530E3E13AC090FF81F4136E08D5F3734327E643CDF621278741
+A17AEBC56E21217888A6C8B5ED4269731910E7E25693CFBDD4EB4A32698F2447
+4C45D73E810B627D8719E4E34D8FF378F9B68BFB149AC67B3B1E55F20D097FC1
+AF74D46F5A3923C63DFEBFCA210F6B257F5FF3F2AC34CE41C15C9977634E473C
+2235295C05C3DF6B3009C7854BF11CC87471CBE085793AF9C5D05C5479B9E780
+14A5A6F3F6DDE5A18243DA15732CCF26ADE40C566DBC3C62B71D46DE87A12C6A
+647CAC923254E2E74AF882DBD5C9E108A9160393C5CD12566AF7C824EFEAC56E
+6F05B92C73A76824C5ED1735BCBAC61B98D509250C854CF1500C212F574D18D6
+4426B8510FE9785B814A70E75C9234D42483E736D0689D3561E8EE5650F33A36
+D50127589401D267BA6442E8616E2CDB1F6691D3FC4A2A377E5E154972E890DD
+60CB463E9EA9A6EA61087DF452FA5646F69BE879337EAA0F5DA4438FF0365627
+4E3B16851C2F08E976FDA27AF451CCEFED00376FC3D6E0C160F0BC19544DE289
+BECEEF9A067FD71D54DA3A4F73F06E2F522BA07551296214DDA47B1BBB1212E0
+1100ACB5F65FD30C655A3402C83058F8ECFE48FA60B6A3DC86C4996414130194
+6676EC7F37454023AB53E9D9EE60249ABF6953E76DCE3123DD268BBD492412BE
+65D7C3E5A5E483C381182A8F19B506F0AF6DCD55532B89852D1D96021B22E9DF
+D9D072BD7DD4450577E658B433A84F92752B260AFA2EC4A118747CBFE36AB7D7
+6D5DD96A119AA1BDD0FDCBC3AFDAE5FF72713EB46759A06CD09B5CFABCDAB0E9
+85599506AC07AA525978AB157496163AAB387F079EC9FA1F9E91B9C2FBCDC9EC
+7027D77016760539AC03F1C1DB242D28D6EE946C42DD2262D82ED48C3A839853
+BA977046F0EF373AFF884AC3112D2FB319421C3165DFA5710BFB9AB9595A10F4
+9D05704B9E22137CF27F4B2DA9CEF6D8801D5F792969B2E58FB539B8038DF440
+6DE20C0313A7BCD16F279290AD6859B0E657CC3041C7928CAE35B9D3A681F2A3
+2D40F8EDAF1127E754276556C95E1282514B6EB6E43FF4F0FAFF28C715E3F39A
+374415B62C1F5F8E31E006D6ABC736057910A3729AC60360CEE1B2C8D9F77336
+39CAC45329A372205FD551B9E9EA5082411207473D9D90E76136AA70180172E6
+AF6EF3EF6B38B1906B904BE9BD5251EF067738840C28877659B649C6C4CA328F
+1BEF8A9CEC2CB062702F58CC0B8D2D097FBC278F9FD894E10ACE1DEC4530CBF8
+E4E467B6DB9C596DF0C3D43E6AD70F30B733EEE692C2EBD68756D0C16E1F00B6
+AD011B5DA073A769B53C2DA2E7C9B7ADC6F551BF4DF4C39C66443692C3DC62CD
+B1E094013F364D04BE2FBFCD1C7B2836180E9022E0434421FFA4317A50096684
+CF0B8740EF680F27F4A84AAF2AA92C64883BAF57BDC60C6467A8D4E09E6316FF
+9BE73053045E5F3586DA3BD1298DC15D751913FB1E72EF80047F6B33591B97D3
+DFAD34EB224D64EF60F5B4ACC6EB42E1BE0CB2812FF2F3C264AD2E44F5EBA441
+670CA0A60E73176ACDC4E42E74F8F489C73481EB5D46A61FDA1C0FF9F8844DBD
+99CECAFE2A72833E4522981FA13713AAFAF8F121E60FAA6F379B2C8874CFF23B
+8FECE70654E5855E525A403700A96CF7F8111BF2B58386E29640D82F1DD86900
+E0E203F3ED554209CBDA2A61A5641D4B39D98C5C43D4575648D06BB82B6C4D4A
+F043EC61B17C208CE8B4F43A7BCBBE588A3D13A183D79A47404223037FCFA4F1
+DD237344E589F161BB9BBF3FAD2E28749350DB9A74C09E894BBCA85B82E704E2
+99788B24642A7D0F0FD96601CF1AE4819EBECAB89824A0DC1C03BA4B546ED36E
+DABC8D49CFAA53D2A9A5DD6B3431E364C99ED0323513476CDCEE49BC413E50BF
+51EB93563DC03B62F84C5F96ED713F288D109C79179AEC41424822772032035A
+40E84014F5BF40948F05E8562C992FADC4C94C6A6DCB1395A056C57C979AA4C1
+4468B701EE115FE570BF016167D7D618E5E853AD4E54905F25C9202A2FF26EC4
+3172D2DB5E7EF07DF8B2D2E1F508F68AD5FE3821852601C07CE9AA69A1BA8682
+A8CB11B791158E1FB4FB9BBB3BAF6B285A4CB0057689E72DE1D7D5770F0CF05B
+D9039DFAE90751B085BDF6F5AA9A634B5BDC31F7AE1F58AE1F5CC02281429B33
+760498C875ED60FC7E9B9BF26D89F808B05C2E483B9171450E4A04AEB03FEF3B
+12D9AE0D47CF5332716FA25C28A2AF67D919685FEB7556FCDC9D79CC6D608816
+93CC505D7719DA843D2BD5D5CD3A20D0D955F69FD83F039C48BBB3E6CBCDC3FF
+63DA392507369949284AD3D998770A270A1FD2FE0BF55AFA6C51A786B8760B4A
+571A50DE41B106B12A27725C179878A8099E7A91C8DBA1EEA5A50A81025B6D2C
+AE1BC7949D74660C459E4D3689476026B0B7F5A524504C48236B1DEB7FCD0566
+2D242498C35801424C559861F2BC0E4D616AD5830A9D6FC70A927C43210850B4
+51C79BC8A6E225D3F63BA5200ABA8B735B5E2218393A45B195A76579CF820FF9
+799037394D347973CC2DBE48D0CEFCB979CEEF7E861D5830C528B7B75B74976D
+815C3CA9C19B0E9DC8FE5CB23A0C69AF41BEC0EA5322B3CD58E223032C969C7B
+B7463204E9B9B1F9C55398C8F051BF37266E334D8E010913FACDF7F4420C89CA
+DFC43A5D4110DAD74DA7A642FCD7C167CCC2896AFA3C2E29EF4A4A25363F6417
+2F638BDDF5E2F78B11BD5458BA18A98233E95390E89792265BD7E72DF917ADA8
+9007022005FF02570F27DDA9D79CADFF1DC7AD838B2D4FD7E7850B7EFBDCF5D1
+6ED9F8389C31F6AF8320AE0FE2F1B8BB37F3E13A1E2029EBFE81F267F3E33D41
+58983DFC576B5D41AEB725A37256F7C32B20EE5F4769107777C3A646BA29C699
+593066AB1CE14BBF6C9D16EF58F34C280FDB7AEE81F15FF46D0AFAF8507EF6A3
+F9A952CEB53775A35F4C4F79D33A66530862E656649D9CFC53015E3AFA41DE9B
+FC4664283E522168D645CE0EA4FA53624D4B7EC33C5B6140E4A98AD97CDE4A2F
+42613E902A6D38FE9B544772E7E19AA0D75663AF5C64288FC6A756AA6C0C08EF
+3390A71C110C52F46D1D8F0D279723FF19882F00654412E6D469B1814A130CC6
+310601325BDDEC77A4C2E212AE86FDF4B1DC6812C2CD5EDE85B65EF38F7D2D49
+96F7B172BE21F13D8A63F57FC0EB5CF0BC36650ACDE888570D9EAAB4C206AC90
+809FBFB0AD8313FD59E6BAE5C4666039D99D73F206EB78CFFD7CA875C9FFE743
+ACFCF3FDA5EB7D61186C952C5164E68A4434E77F3D40507ECBBFAE73D5F718F8
+B4D571422383A9B8DB3A46D5E015B49F87EC7CC42E3CF38386F916902C5AA258
+29E75F5E1339E3CDD13948F8700279CC408C05064E61AB73ED5CD7B5B171B992
+8E076EECBC6EF2D43664335C9AD0CC752545E4DD2A6DB528324B75F0F7C3BD8C
+ADCA877B73BA1E7C1BBFD56AA1589CAB542EC16BA3CF6E26AE42CB1A82000B32
+7D59EBFDAE82CEFE8F35F005FDBE65F3EC49852CB1351358156A74E7A1F5C1C6
+A26984EE3107E3A4E63FFF3725F781A6B05D6695D85811241ABBB693B29FA98E
+D6B6ACB0B907CF5EC2DCDDEF553934C5
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+cleartomark
+{restore}if
+%%EndFont
+%%BeginFont: CMBX10
+%!PS-AdobeFont-1.0: CMBX10 003.002
+%%Title: CMBX10
+%Version: 003.002
+%%CreationDate: Mon Jul 13 16:17:00 2009
+%%Creator: David M. Jones
+%Copyright: Copyright (c) 1997, 2009 American Mathematical Society
+%Copyright: (<http://www.ams.org>), with Reserved Font Name CMBX10.
+% This Font Software is licensed under the SIL Open Font License, Version 1.1.
+% This license is in the accompanying file OFL.txt, and is also
+% available with a FAQ at: http://scripts.sil.org/OFL.
+%%EndComments
+FontDirectory/CMBX10 known{/CMBX10 findfont dup/UniqueID known{dup
+/UniqueID get 5000768 eq exch/FontType get 1 eq and}{pop false}ifelse
+{save true}{false}ifelse}{false}ifelse
+11 dict begin
+/FontType 1 def
+/FontMatrix [0.001 0 0 0.001 0 0 ]readonly def
+/FontName /CMBX10 def
+/FontBBox {-56 -250 1164 750 }readonly def
+/UniqueID 5000768 def
+/PaintType 0 def
+/FontInfo 9 dict dup begin
+/version (003.002) readonly def
+/Notice (Copyright \050c\051 1997, 2009 American Mathematical Society \050<http://www.ams.org>\051, with Reserved Font Name CMBX10.) readonly def
+/FullName (CMBX10) readonly def
+/FamilyName (Computer Modern) readonly def
+/Weight (Bold) readonly def
+/ItalicAngle 0 def
+/isFixedPitch false def
+/UnderlinePosition -100 def
+/UnderlineThickness 50 def
+end readonly def
+/Encoding 256 array
+0 1 255 {1 index exch /.notdef put} for
+dup 44 /comma put
+dup 45 /hyphen put
+dup 46 /period put
+dup 48 /zero put
+dup 49 /one put
+dup 50 /two put
+dup 51 /three put
+dup 52 /four put
+dup 53 /five put
+dup 54 /six put
+dup 55 /seven put
+dup 56 /eight put
+dup 57 /nine put
+dup 63 /question put
+dup 65 /A put
+dup 66 /B put
+dup 73 /I put
+dup 79 /O put
+dup 80 /P put
+dup 84 /T put
+dup 85 /U put
+dup 97 /a put
+dup 98 /b put
+dup 99 /c put
+dup 100 /d put
+dup 101 /e put
+dup 102 /f put
+dup 103 /g put
+dup 104 /h put
+dup 105 /i put
+dup 107 /k put
+dup 108 /l put
+dup 109 /m put
+dup 110 /n put
+dup 111 /o put
+dup 112 /p put
+dup 114 /r put
+dup 115 /s put
+dup 116 /t put
+dup 117 /u put
+dup 118 /v put
+dup 119 /w put
+dup 120 /x put
+readonly def
+currentdict end
+currentfile eexec
+D9D66F633B846AB284BCF8B0411B772DE5CE3DD325E55798292D7BD972BD75FA
+0E079529AF9C82DF72F64195C9C210DCE34528F540DA1FFD7BEBB9B40787BA93
+51BBFB7CFC5F9152D1E5BB0AD8D016C6CFA4EB41B3C51D091C2D5440E67CFD71
+7C56816B03B901BF4A25A07175380E50A213F877C44778B3C5AADBCC86D6E551
+E6AF364B0BFCAAD22D8D558C5C81A7D425A1629DD5182206742D1D082A12F078
+0FD4F5F6D3129FCFFF1F4A912B0A7DEC8D33A57B5AE0328EF9D57ADDAC543273
+C01924195A181D03F5054A93B71E5065F8D92FE23794D2D43B233BABF23DF8DB
+B6C2BD2F04672F9A3B7FE430263E962F16A948319C51B8ADE6E8A80D3D88023A
+6DEA4D271676C2C8615C4A0EA7DC8F6601610F398673A4D4B905F49EA868FEF6
+39BE073001A36DEA6C08ED51452F062B971740019692E221F4455EDE46AF24B8
+407A98B791F6AD525C72C09776247E194043281D04FE1CD1D8AD8DCEEC3045B4
+F95B3B41CD3300768D8A049815348BD7AC1004F5500817E3A267D694AE108BAF
+285B288FC5F28A03E9D34FE5D9B2F9A9BB26ADE66B1CF8EB5BE606E83D213C33
+DE083C20D636EF780E761944FCE3B8A950B1E6E7568F33B557C6D59E0CEAF185
+53E609A4F58AC4D5269116F958C4D115C44B5A6DABAB79D3BB6E60BDFCECE108
+74CFBE258779F32C80CD7D9A7CEBA50A0966BD9961F71560119668C4A0C30A5D
+ED91ACB30940502B24F33906D6E0F16F81DA87EB6D7FC8B7853BE388C40D75C2
+2CA8F94713AAA1561F5321CE97997CB4AF0E37F44E25B0F73CF4986422B1CD89
+8F861CA623004ADB1C28268D7F8C484AA10C9519B6AEADC95AFAA3304D60E85D
+718B2F67D2B734095E5A92C90785252C98067DC05137BE735220BBCB7C341D61
+C4B98BFB1EAF883D38D7A93195A059EF82B42027F23B6CD633231D704B891A9B
+03D11A646F13898F20321D7BC150C63FD6DC6BF9CAFD8DA759E95384B729A0B2
+767B9F3E55C682F7A248BC1184F7D294CFFAE0B246DFCC8F215625DDD4F49F09
+FA8D41CBF4A06152FEB152C61539ADF7E70A4D23AF8267D25CE3B12D39D62377
+547E2528D18DC4134FA3BE0437EE0B3509223D71F06D44C6227D62BD01AC0A2A
+3EDA975E894371C07CA1027B102549A7D552FFD25ED2DCC68E29E71BBAB43C62
+57B0BFC6A953ABC2EF703F35D112F6B5460018CDCEAD17F149DBE5B52C2B9E10
+9818EA6D97C8AC884F6841C9B600A7D868F59C1D80E98DE0741D06D69858EC84
+1B33C6C9938B7E8A6FF6C12AD456EECBD3EBAF0D7331536B9F6422019FAFFFA4
+822E79D6D89D6366DA636CB708894FEF904F366E295F1CB808E78E883913C4FB
+1631248ED6A7CF1095C0C61C4F05E4B9DFC47533A5FD24540AD71A0E2907B98B
+28085EB88ABFC3478C9644594C7DC4244ED5A7C1CA8D960B65497D56D174645A
+B88F12C2CF0A807DA314017984CF3C4FB7F47392A651EB9CFA961B28E2989893
+9FC4D97171BD5338673F5D1CE2C3C08D48A1B77769F01D5058236C655FFD864B
+80E28F900191D4EB349AA5E400A7B0A0FCA0F3E79D7A7C69775BF754329397B7
+D18B20B2683CBC4A19729BA878B3C17EBA0A7E9EE297A5B67E915CAD92C8F356
+582B8299DE6A58E73408F525F7EA895C48A8F0D626A06A96A50348DFBE479D89
+4272576FBB0CD332193D28A8F11503BAE98F8E1D73CF5BCADF23DCD4E6586ABB
+323568F5A34E359661074D50CD8D9DF27191FCE24F10225A5D721EFDE2547E1D
+CA998077D2340B1A4ADFFF570AA677CDF3305D5E3A394BB1626EB35074D4EEAC
+2F037CA2EA389F7683FD17A8E07C12B4CB3BA8C249C9B12D297C618009F76717
+0EBF5F2DD39A6BDA10A2E5A811D4E190660F5FDDBA29201B6F8042620397AB2C
+E59267A7247B0463891831A6F40582BC3F614E5167B646A8F53D8A31717DD9A1
+9034034E705BA7884F0E0738307AF69D3517147C282747F2788462FDC4336A4F
+9CD222908401A25F0A1F7B13B8DAE622DC965AD0BE62497420B70C04AF432237
+E0FDD043456187658ED93B0F9822A3998511DF05E59CC85B7B9992CA0CE3B814
+9723BAE70D2631F32B4BF93511F67179FFAD2075E1591CA5907A4C67701B56CF
+A5E5B02EB4A842BA1F18D6864E5677359C2FB4AF5BCBABAFB053F230CC129B45
+8D15413F736EB07C571521C7DE2A13F2AC1C133D491B0A607197BE9AA1231D96
+BED7968788246B2E4D2BD330F802810F5BDA3760FEA5210CFC6F54748FB1D921
+5CC3624BBA5B8962AA7D94159651589540B17CF7A785F297264F9C1006D36928
+6E2756D3B623A6087E4B106FBA76255903C624C07E18A1AF4E185A533C640711
+86BB477A906ADD36EB6C8F4A12BC2F01B2B98412E4E105977640930CD998D990
+0254A1E5E9843B7A8ADE0AF6D5871E6D3D666465AE69813A2E26333213FF6713
+6F08D55A90C079A56E1B9AC655F720FC22B5AD8550FFF26DA7B0C5A0B60DDB05
+64E8FAF684F3A455BA9BC9278043D79537D201D520E38750335A4C8FEA887377
+879331B68DAD6B253F4FF9981D0F9B9550ED5179B15EEEB00E560A3DB6E5973B
+63403E4E2F40A3D0B937246E9652000B917B1369741E0F913C14C2D2D6D1FCBE
+2CEC4422177C58523715BD070002EC2E13D383A1DC8C84228862B6C5D3B65667
+9FA97E175239BB7FE7E37E14B96DD7960A8AD49DF428CFC13B5D3CC22E245317
+47B5244DA97F1DF954CED2D552477237CB23D037C0DE728E26C82738954EEA1F
+F34FE497DA005AF03746DD2ACF77F6E6F2C224862A1D18AF6F7A5DAF34564387
+9E01DBFF49F8621C058C04C2B3F4F3033FF3E8A977B2CD6B2A3CA4A6C569B19F
+C5AC457AE9AF334DA66A730960C7565E93A2D373C0E3DE14646FFDA05DF4C6EB
+6D4CA8ACCA3C3115764F77B842581760BFB9E5C0EBE55308B0577A8F4D968CE2
+BA3361D79378D451DD150C34D7E901397AC63B33BD7DB13C50D678F5DE999238
+4B4EA15BD449C46F262D931478F5685CDEEC4C4201FC3EFA607AFB8F27AF6751
+125DE42D2FE2D31DE769B7E7FD8CC8C5D91343B537139A822A5BC4160BB5314E
+37501F65B4FC35475FE9E03E34CBF6795AE86CE409500BD0799DE39FA69978B6
+EC74D2197C03632D3F59B85F404DB31240968FA75059B2581B101E028CDECC2E
+7E5E25DFA106E9B8ADB81E82BE9ED3BAA9D03EEB22B7B67AB1262DF6AF5F5EFD
+A5627EFEB84F3A5F92EF2557EDA2843D7D18C592635623CEAB14CC3620F33986
+410D6DBAEF9F86E4E6682054540E2B01D8FF2161F10E66851A188BC15BD6666E
+8D3F21709F196A31EE676D28A2D12639CC2E7020A52910F052E61A0710DF09B0
+064171D05611451BD24FAD64716F141E1C41D3218A8115A3D73CA041D02B46D9
+28C3D07DF0FB668E8E91409C8D0A26A65CD737C075E026AC0A974C9BE658199B
+3B9D82ED95E4646977D8F60717DA4C68767DBD7E8320D5AA1D5DEB2E6B009759
+8282F27D64F1F904830AAB501CDA4D9233FC2F12F77F0FBCC46E6B729C71F6D5
+E6F3EA02EC35D1048394F4EF2177FC5EB726DE5EF2DE7997166B8BE5B5105D08
+EAAC3481FC612665CA112D3F889A0E5B7843EFFCEFACA24A01B6AC2B7DDE02F4
+A9295AA2409A3756BAAB44608DACBB56840060037869455BEBA46F10AFC68DD0
+0563843DF111C6D34911CF13AA6023E5E899060B5EC60D0F78FDEF3E981151A9
+24903EB13ED1A67EA1977449716D1A5A7EDE1A2E9465C9C2B20A58AF02D9F373
+73E627CBF296B3A6A4670C39F3B5EA30D76F0362C81020A1777F0ADDBC6B52F7
+213FEE1718214087837049CF2AF00407639657428B9E8B532F68B631611A3501
+3D9DCA38090E227BD0D6D0FB4130EE866DB6B195C873AFD18DDB3B1E40F740C6
+B3B375ADCBBF628A07A5FACED539FEDA3379D3B60216C2EA6629BE2F65199D82
+FE3AE627D7C67270F3497AE75F7A9514968B5950E2D63C38DA240AF4E6CAE88E
+E25167D179108679876E7C80C85FE1D2BCC2EC9B88BE76A8F5736E8E6B3A9CF9
+42E58A4ECB7914865E67C1468CF66D658206830B9380FE346DC2DC4BB56A92CE
+4B5E4EA9036C177869315A2D9E6CFE97E3BFD7CBE0747D40CE5E8A3A0988576B
+8AD2B1E4314C0D8A0CBCA08844A49F7E054D31BA7543730C0A7390BC4A288D10
+CE29E389A4791305D3AC1BB6F77C805F1032787306F78FF76A20A9E629899F6D
+13356768D33D7B9E294E8CD50CBFB9CA02A193922BD9B4372C912D1689B6644D
+52CAA30F7421E8114D077288119AD9514EF21E5B9989CCE2ABA0C12549FDF493
+FFB39736AC9EB72DAF45E4EA6057527FA9F5AA0A1A3F03C12F7482E465C766D3
+760DA7714D56C91BDAED507A5572BEB51A895F8DD3BD5AAB042650154FC7E4E5
+5EEA6194DF73AC5EE2CBD4EE26E29B1D2D0C458B4850BFE842DDF2EBB4E2A25D
+C6A11CA2D8F346E2B736DF88A3D57BC0380B52396A6C039212699F5D3342EB58
+0C3DD5D01D5078479BD9FD10C07925556C0AB0F03606F33796BA72074549EDA6
+E33644F62CA35207D7421D2727AD8419AD1772789D33405FCDDC9286BC34C974
+A52297F5BBD2E541E8BB473F733AE5097BBC9D5FACF18DE4173B4711E28B23ED
+16E0A6746A60F6FF903026A3900169EDA87D98396E762C2EC963D89197B8CD0C
+25244806BE7CBF46BE60A8F9171731EADFC969C28679B025371E5572E52A0EF8
+B3FD9B4638D03E20BFDEC9345E70B8166D38846DCA68E0D0B4B53629C7E7620B
+45E0A610BCD07FEF8814CF915CFB11119F42407D1C6DC1E6353451D40A382C2E
+C74DF2A4889ED5A3495C3E973565F7178CA190D22C9693C10EB12C1E7A8679CE
+4AFECFC964CC98111BA4ED2BA9B10292A71D5B11870EB08EB483922CE8628A06
+05E7CF6DF93E112B60EF888AA8DB52994EC33DC7277D7B7A4F913AD30257261A
+D6EE80476A9A8D316D190BE6CE0046CBBCED365AB305495284FA921BE0638E00
+63DB2AA4C5F163340BCCD1061B469504DEE350B82FBE1689C1B65D095405614B
+35997D6F0DACA7190D64ABA351705B17B23FE2EE5996FCD607F49F54392463EC
+DD5B944A4B82FA2BE3E75E2946D483060DF99277340B0AB65A2042AD088E2B75
+BBDAB869D1940F64B50D25078519D18748AD64AC5615EFAAF4F3105B0111AD40
+70EE173ABE6A4ACE486B4E5999158A4377FDA6922FAA6E9305F48570D14BC81F
+BFF4C663E1EA9D1E050534F9315A663C4C5DA52CB02EA6408AA473C32CB0CD71
+169BB43C0508A842F400240F0063243B4C459A1FCB3312C41C32ED0EE87F591A
+BCB6D5D3830AE4645CB4D40336DB4AB6540B52E70E1EA415CC6D886827EBC5B3
+EC35CC5C136243B0C20B3C603B648B132B99D05F9B48263ACFA59A856BE74441
+FECF5C6D1FE9D1F4F9942F460961901E16017144C37E83C6822177B2A6C47ECC
+6C47A1104460665E5BCFCF08874008302750EB991CD98D0D8D22B921F90B99B9
+05EE7C39F2BC2A7798157503743C9F2F267BDBE2E8A4CDA7317F81DBF8962E1C
+EC02822CC7F770FD4D08D335904375BF0C6DAA0510771627ECB9EE69C0F47D30
+69A87052989DF80D9F4F19F75B070C3689AB3BE0966453F9D56CED6C1745B50D
+813AE6D7E44B73423AB3778ABE4CD2C4DF40E14C5A426043F7057E2DFA2DAA70
+EA6723F1C7967FECB1E7C1C0CA283334163FBE31C32254490170C3513580A552
+19A5DD75E6C4ADCB12D33517A03318A6BBC7E4214266E125140D8C40F78A0340
+1F95D9FBEC4DCC55B71E89375AA94B0D55646F6C069561480407D0A3AC127024
+D7D1E9ED6B599A2A8766B8792F46D35508B66F302D289405B101A3C6BADA680D
+8C56E2A00B766A4CB155446F862FCF17537A2BE85418E20CD77C4F1F69F70BC6
+17BB5DA8FAA876D0E8BABE273A19C04A8697B3E3CF4725E2C77C8761A9243F24
+96F8AE96399996001A57FD75106745AB4646FB9C6421F1D4EBF3BE533BD11AE8
+14BFBD6D308376B26E08E4ADA490DDCCA94BE8240403D5EB0FE3549061DFB668
+4105B4FE77189546619B6BCF3F9723E278E98D50A17DB8A4C46744FA21760635
+5B332689316BD17C966D466AE737FE3ED7ABC443ADD88D4823A10BC9747ABDEE
+027515AC353A420523F85298029475D8BFD83A2CD00C02CA07974BAA581D2215
+A850E6E4C0A5E17E0EDF91C63FAC18C70093F40FEEAF0350B403E2806F4EAE96
+BF616A805616EE55C4657418C26CAF54187A6684821B86A76F15088AC4D5B551
+66C3CA8DC61E9810858D1204F899C7E3A1754F483134609F6EEE6364B1CC04FD
+92C86EF194FA3249601AD722D75D1D395CD15A93C768EC60A486AE885683364F
+93DA00A865C1035F913FDA69E7D9A0422880FB81EC23C00427F07A5EA3CCB613
+83C859958AC53FAEA26A6BB39ABA068863CCE3D447720BC31A5136E08EE58963
+093AF587A72112D55853A1048A2B1695DB2D7F13CC924F2F0902071260C33ED6
+30893A04577C0ACF0681C0FEC23E5404F844A83BB5A2F8DE1F0792196139993C
+1152094BC36A6AE5BAB4B8281E506F485F0BAEEBBE71E174B7CED1E52A8242F9
+DBDF3E0FBA296538D964EB5B7A4E23B1BB0F59872C9D4FE8498203E3AC08B71E
+D2B965AA6CD5D20DA6C83FDC86F4A5D68A58A72C5BB9BFE9BC755C56B24025CE
+6F24443D3CF32CD711D3D94C7C1DC275DDAE3341D840090F97CB6CAEF274C94F
+9F3BD3AAB3F98BA8A7B5CE5E48D1462DAAB37BEB1C10B410E8D33FA42D898183
+BD4F807112D78AA94509E33C179BF7C9E82E55AA7D09E128A0DA06A330CF4AF8
+5DC861498CE029CE8C1BD15C923A708F2E7AF98E4F7B34212A0CB417553C86EB
+6DD46B0466F1A21D29FC5111226794ECFCA5DD4240C0B8D106CCD7EA6F03E133
+BB7733F055D6FFA04EF5C6F872B4FDA3E42F0F036C4825543D75682ACF71B548
+DED160ACD05625274799D0AE201305DA526E01A3D2A719B1B15C05CC09467F3A
+5627860C0F36C503EE392E1786620F3F2287AFE56634E03566B9B1F537FD92A2
+913166228791871A8F8CBA1A1DA634E8224058052A10FE1E67CBD3FD21A6C07E
+243CBF58BDC78577847664EEA5225EB8D6679AB17C563848A9D4D58995EA3609
+51C1443B752A070D9872FE1643F0677019235AC25DC2B29169D38308F2170A1A
+A0FDCC59E6602197D2815B914041FFC7106DAAAF30CD97400C6D0826A40385A4
+C8520119A065CF32CF2FC5FBD8DFD29222528A7F96FDA533145846B3428F8239
+E50277C366418D713F84B12A5FD4F904DC13DB1844A391FDAEB97643A6FD2945
+942FD4FC5A4A35E184F23304B8B4D93D0C37EFCC4E106D4FCD0DA3E5D2117589
+3FFC2BD1D121026562C55C455C3585050B9460891B006F62D9D9B66695C3D348
+A467C14C0256FA9621CB056E7CD389505194FF463BCC4010897F9A690EA87D9D
+BB3ED4C174FBADB8A4744C6E4A44D773967FD703EC37672F9993DC48BCC8A060
+6CEFE8E6B8F10886E15BA0466AF410B90DF0020FAB88BE493606B6A734EA85BB
+926950EB10D2F2CFDBD182B0F133809612CCF6ACCAD049C8005A42FAF78368B9
+E7684F98DE421BE0A3BC0FAEE024A7BE67E15C8394F17FE84DFD8156C2A3E94D
+08259E15CC657E8CE3088395BF6B5F825764E141AE15EBD186DC049261623D26
+8636705E06C6E4A1F8ACAEA59F91B042DF5DB9C2AB986A784384706A43E5F18E
+42C29CC1CA86D4F247B3BBBC89F3633EE074DCA4AC15B1E33EE4822812A62E88
+C32B0AA57249980EE17AFC1346074800FA529445D18649A0475246A25CF325A0
+BDA06AAF392FD455218B13D9ED577D51A9500B9FB7860716A8E2FB3A8C4BE3B3
+6656C6A5653AEF00184020ACA0BCCBF48BE3BF91E11C8658686C89848E714E6D
+DC158DCD1C1BC03B83FF94C60B1DC71CE8A86B46DBE661C9F8F4677F8A2C7CF1
+E41A91EBDA2304735147BE66CDFF2673F09D408297302124C127F0B35690CAE9
+CE1679120CC4D582FB69550AD34A047DDFCD9D411724554CCED753DB52D6AA7B
+22B0C55EB698ADDBB0F8ED15C971AEF113C74B9E25DA29199237B98DA4023665
+C2A63A837E4CAB38F8DF37DBAB5DC80C0C3FA72C8A70DC76B5B36B2EEADDCE74
+23CF794B66E4DD3B35BF99893789063BF7B01D5F186B2FDE518B2CF2EDE51F81
+38244BC64548AC3433A80B86D6A0CA26D77F403C06D65B7394BF1FC7D06D37A5
+E70ACD844E3367DE4DB71312CBB85ADD21D5A1F99BB8427F252D90ABB66D7154
+EA5AF4A165DF6415A0880AE784071E6B3E2101F0B663DE14DB1ABF8B7CE0E6D9
+D24F9CDD9F80028D37C9CB4067A28D41E879AEFECDA71F649EB3C250BFF809D8
+1E427E3BF24E85C75F080D93E0314883988B3A4A2B72A1B4A3D2189AB6ECFFBB
+C58151AF05AE335200711ED945E18B4BBCE24A8A162BD9BB26137253BA8B5819
+41E759A7CA7CBA129BAAD438E87189F2F6AE7C86F4EA099DEB23705A500332A7
+4F141D8778EAF3910486B2EA25AAD16B60DD804D0E5BAB0FEBB77BC95EDED08D
+B8941E040D99E8F44E70FF842306ACCF65C0AC9673859DB9C3A724238CB8CE62
+255BAF0145692EE3B52643A0DE3E667AD03EEF6C753F57E34AECAB0CFEC7B07A
+150D7151E57BB47A4AB8B9C17DCEF9C78F5AE432612D291A0679A422A9DFC0DC
+E7108A7B305B6D177A3E42525D2A3297BEBC9AEAF42BD39A752407F12E54DE8D
+6E043CD726074410F7B2FF557552B5507E6530F1AE598339D02ADED4DAECA436
+BD4D0F30DB14546CECB44BF33E0A52855673E33C43AEAE3BFFBF278BD50C2852
+5036F1696259F10FEAFA56A3B7A1A0C0985244A42B8C4DA6E52753EE917C1B89
+170B7F90AE6F1298DD7C6EFBE6B769B1FCB0D5946A460833D4B59F8C8A49FB43
+5D400A4C278E7F6B8C3381BF49032CDA8DD2A2C66E1D36D6891DB8457F00B3B4
+BBA6EB85CBCA21ECE806B2B0538F96B28F83A89FDD526D9F2407B7A0D1C090DC
+DF808694BFD18907C98F97F3F3CB27BE51DB34DB9B17671D5328D6D205F19A65
+B7E16D569DA22A5A9F0AF66BCF145202A872186AB23654B84393454FE4DB6B74
+D5BF9BA5B1DD1C1218921FD978D545C3F79CAEB47E4C81BA6C9E6F517D1EAD02
+3C3E03B163D4C2C29BB8A1CDA5E14FEDA66F6004FBB666710C206B78D6B9EBE1
+E55EA6ED39B1D73F213DDF7C16C479DF658AC6B29DFE3E22E33A74F1B38562E9
+68F1625DF4C9AD9AA2FD50D40902264E6EB14259E3F1124D5A914D19647E93E5
+B3AFBDD4AE2BAB4381CC9C4498EAD3B5AD20BF141E4C2CB590D3F42B57A69CB3
+BCE709A3FA802F854089E406B507D64CFF454C5CC59F58953261D63A41A2D6CE
+300AAF6E6B603C0CD57FDB790547FF23C860C2CFDCABB5E6428AD036B3CC5CAD
+227A5EEAD3076353157A3B3947CF3FCB3A7032ECDA85428419DC74E5342FB54C
+048336BD21D97F81F30696D7EA238A39BCAB3E4F74E31F649B3D50182C88254C
+164319055DF4B812024D90B965ACA26FBA9058E4DF00C123036B8D0698B4261E
+254F5A44A06011A9233AB0689882BAEB72B81030D7AD3D3487FFA46BD4EE9188
+B28142574019AB7928BEFBC8199B7EFE5F7349141C658CC457FAFACDC9F059CF
+DFD17FDC1EB15FA670091B9CF8ABF36A6C0879366AB42C89069267F2ED2713F4
+F4B58AE86B0B4656620B93792619A32BDC8E3A30C8724D6F18BFA95598E26AE1
+9D45C39CAE97EA92538ED516687759880F9D724172A904FF766596D923DE6A48
+19F3DDB1411C376787DCCC443A84CCB5E4C8DFEC0195E99B6E47CBE1D39D1688
+1E68C1A58A965B7BB003D7FE7A44486FA0DEFAF2F9529B6BB404CAAB9038A569
+48BE52FD491822DDC1FD00EE52D31BE772DCF52FB024C8364F1BCF967FEE2B83
+244FCA274C572FFEC24BA30EF9DB07054965BD22024ECF37FA0EA881B42CA3AF
+CA0088BB227E90541B119B669E392D15131D86F9DBD898FE9EEAB4E3C8B1BA07
+70EDF3E574A8B3C5BBEC36C078857907DDE115B4CDEA53447793DBDB499364B9
+0D54E711E7B806E28B1F3D529BCAB867CF2D3F12E5BA511066A2C6A909E24389
+80A4B5EE8B949B918C663585F37FC059FDF17878ACD84A8185E98E9577DE9253
+48E0B16E5F2544F91147F8173B50BF22DF62874BDD8D060CE5FE0B0EAD0D9B3E
+3AF121144C3038D3B47889874BF750B1D333592822781EA23000343D96599C2A
+9DA7AEE1F42E37A40C58F9AB0BC0438C5F9AB0ED0F1BF901403D39AC896EF12D
+EC0E5370D7A97AF1C7891741E0A123FBB9AFB4181B6DC3005CA2757CA725E09B
+50550E37E80D67B09597CAEE0070A27A3457D267E9F13AC2DFEFFE2FF720A9C0
+B15FEA65ADA070CD809E4827B36CE89E82998BE6D722172F1DF70918722A458B
+93A417FCF943386A45621E129F7A6B57D1D3D8FE7A74E85A68A37C66EA3EB829
+71E02ADD3F0D3DC12BF8E841ED21F779B3380636F06F3DF2C8C8ED8045817919
+0D683917F197B3A4B97332EB54801E55D3F158A5593975331A8FB62F312B73CD
+5508A8FC919E9FB3C3D2E605DA69E2AC3B7330A4DE08F0874A954D58C25806C6
+7763358A9A7CF2C8D15D47E5854CAB09AA63DB233A29CEF45259B7E58FB5AEB5
+5BC09B1253748B61B4E00C448F26344B2FF2D8558D54219531226E519A25514F
+8B53E142DDCE37382F04B615E1E1239B2385C65246A71EE83233E8D7ABBE84D7
+A5B8293A5210FDB3786C7D44681A3CA5AE4936CE72488500858C8396FEE0C332
+7CFFE93B1E8BB68A45D6F516078C7224D11C208CCE1D4B7A243A8831B4FEE09B
+859B9D7D602DBC212D06BCE0BF8BB34B51C9B4AE7AB6C3EC606B280E4BC3032D
+28FEE513241C2AC6A369680233B5F9E384DC712D285882C14E6823BB391AA707
+5A1867788D9122CDFC4CA3E438D4B23BB0D7D553F222A3B01A8D68BDBC99CE98
+3EA462DBC26D91564E049AAFE71425A4F5414EA7663D05A5DA9988C9F2E545EC
+8663121E723DCE48D82E48819606E978EA55D01878C314A02F5FAADE6BE18603
+642142C01F7924228A89E0645A68EA02AA944CDEDB8CB0483D3A000CDD50D668
+0EF8B9B4ABC287BF11EE430828F906E8DB9E419EE52DC7166803871ADEE2CB97
+237399DAF99C6E6AEABFEEBDA067572FEB887879AD93C362A37CE7278AAAA25A
+26E3DF4FBF13E33FA9F15A2C0733F8DE9BCE699D409786473E2C20F6F8CC0B7B
+9541AD4B0FF3779D39D313D76658C2D86A5F31F0D58DD1EA49F0C956378CF26E
+8430D97FABCB495B87FD9F369D736996F34EF59C135835B0C8D11190E323F0D7
+4BDFDC484333FC7A706A75DFAAA13CBB938744333EBE0D60E9943E0A57529BC8
+5EB410358B8ECCBD48000277EC96EB28E469E2FF07E68F50C828BC2FBAE79527
+F0C70055D57C494DD907E1E6DCAE729D19A6F9ED2ED65CE466483A9B756090F8
+D5F3B09ADCF100180B42711F842DA500ABB6D91C2C80CDFDD606F97B97B8374A
+AAF6DB1EF2DC2B6FA1CC70B2E492877AB2C26055BFEA2A45F2A952C409241E06
+E90E5B37042D6861B12F6E08D863BFC851121F1B77DCD2B7DC83E662C19DDE6A
+5207ACEA1E0640165605AE3703C3F096A04154F8A7384570B8A0AA196B989203
+B190E2F324EC580DECC841747B73C57DBB2449DA5CC245ACCB88864AE2C32D52
+169510940A94AEDE0FE46BAC8456A9F64EFF4A9E0F4E362A91FBFADF5FBA0A67
+BA43D6851AD4CD3BC739AE2E22CCC18CF2C3A783CABB0532B101D2208984D2EA
+1C35D8570B0F93B42842784C1786659C49ABC0D748DFC2F2D05E4FCA2D8F85E7
+BA1AAC71A1E4C35DE4C70C1E197DD4ECFCF08BC85F2EEB08A1945AA8CA1A9F56
+C8AF1C1989CCACC6BBDA86ED93D908632F1F20BAF5F27F7C0E5BB5E15C1C26A4
+8E88D734B2C10F3BEF10431F4722FAFA05C8BB076A5AAE81B56336C4707375D7
+8C3CE49191F681FA3915D67C1EB45580B80C4BCE4B099E1F7411C433B18EB7FD
+E6F2C06F3F4790FE7B2577E21ACEB8B5C9F204CACD5D1D3F27F5A7F11DB6AE91
+D12D39FD3538C41528691392644E7FF0147AF4EDC202C028C4010C1FA975B9DE
+40B505BBA694865E1F9509F2E5ACB396FDCFA2453BA53ED3D5EC51164A88A76F
+DA218E8E9278D843AE867EC303291964AB19D9C9CA8BECC80CDEEF979E7F553B
+8AEAC871ED305CB9CA4FFC3F3E1E957D7678988274CE2AE0B1EDEBCD1518D2EB
+D6DB05D1B8A2F02EF4466635EBD0E5635618832AD9C1C4D2265753D1FAE46741
+4296C2A5795CD8786ED89FA0F636E7809A32CB6F1D5EF3630A71197F9D4AD871
+98B3CB75EBACCD5DE549B5BBFC2B55DB2E1ECA7FA0CF2B4A53B632087028C82E
+346FC682DA2640B5898A9C3F020DAED61F6541C95FF05DCE6AA3E03216705831
+1E3BB2A086CB8DB71F74189E577CC6DFCDD1172962A55B9EE708907311EDD0D3
+9858D1CB2AE38CA23541C08E9831F4AB26B2E13654C77D1B6D455AD186517C13
+682FD051889E5F1328547894CB061933DA3DB08CE2799092395FBD32AE2D58CC
+F71F87E9F49D03D4A7BC86AFCF6FC5289FC96B3FBA1C014BB6980C6D912E041D
+60B64F83A07764C5B701B59126255E81DDF69C614DD4E6E9D7CC97BAB1A1CA53
+500248AC8C965169565F967E2D6D95F84202BBC379333F5B3B6AAB414B0CB3B5
+87717D89E1B4CBFA46EBBF24A0FCB8C3B7A329F4EADB17E3EBDAF7F63CBFC2D2
+541EFCECB2810D0786CCA8138EA66E048767FC607894D8F77AA35336B4DC945E
+6B98CA1335B0A5D46F9DFBD3D2C9F11FF70BF2078B77DEF94E9462C7396851D7
+C637B282BB458B2FD61B4E59504EE836E71B2EE48A12047589A382844800F465
+6CB85297D229CAE809323389EFE912C2ACAEF096B5621E6A7F02BCBAAFEE2810
+5978C30EAE0CA49AEC30ECD5321001AA624399A085FDE8A26F06E166650F8ECA
+78F7C13E579B0EB39507DA31B074F9B614FD4C52376C1F906A0057E60CE5B793
+2A8A9317E3EB2077214E3A9E1F3451628F87CA2EBA587247A9E7C24A6EA1951B
+966F41FE51782930910325A5EF81FAFD69990F60955D2C3BC87AEFFD3A27C8A5
+DDB31D911A3A8602F019BA463467D164BF19C3CB37B85159C2D91309F2B5688C
+B8624B23DD30FAA6794139A4EB08C6A4ACF85253F273BC9CC3CEF4661514C1B9
+F37F4147615F21C9290132950055CC2252B909B816F28CB2D2479BDAD74610F4
+5661315639C09BD2A963AB59BAF224CB3DD68A3F014C0371DD9ED65AC933C7C8
+2D32C2686DDBFDB8F7082C0F4FFBB9CCA726B636F8A0B4B58656F7F7DF3099AF
+C82F6DCE1868BA1A8F6F1155D26B736D181FD09BB2F360B3E3D1A1E79E81224F
+7B83CA6758EA92C6D9E2D51F790907EDB5C1A84A14805AE24466C3979715C578
+2234B4DBEE6097282E7D06E97DCBAFAABC8E02A773558159C35C0429BC7DC2D2
+BE10B7A03327C44A01AECC706F023264F3B14313268E7CF443A664ABEDE56F93
+7AC39EA624956E85F3F35F3091D2960810A83187CFD96F84E2217936B3FECB7B
+3EDB13AA978E650741D2D74B7B1C70C1B96C36864AF0E4343C86DB1EF874E089
+DBD5DF23C726AAA5303FC97E907EECC8193C76412D39D5A2A4724A6FEC5F3B40
+7A8C31279C716F410E367977B77902DC0F96A2C825AFFA72383DC221805214D6
+5763D9B6C9FFE868872042D2EFF29BAE4C8C04273AC9FB3211F1681DB7EC4D42
+4FD1676E7CB4CB4473DB65D4A156EB7A3486F8CA5EE38EA59CFE0159797AF521
+C0AB3A02B52892D5988959344E3130DB70D82A4D634715BDB76B096AD8EAA19F
+2DF1EB43621C69C3E28B274749E2BB84557C2D848B8B5A02295825B6383B41E0
+E73055E599F3D8DCC35339B5BDD44B05AF12E7C1A1199824501540505C39B9BA
+078B607687D1B8FC6DF1BD72C4CC210E0E64BD16F7C1117F8E226DEEFD7F8F5C
+A9FCB626DB7673920A2C42DE9B988F53D51D1389F2661FAA51F08ADB3D3F788B
+AEC119C2D0D6B4C29A05CCBAA231B954FEEF2F0499ECA9380861D976538D74F5
+7AFAD7851863C6959D9D0434410852A988C99A43A01BFF47C08142D1CBE59FBE
+7138CCD4AA6D6960C3EAECF85E7521A3131528D1DA31C77C80DCD35CCE5DAC18
+CAC0B65DADB43A2D998D5EF35F8C6AD5F012537B83A2A1CD320CBE58DFC22CA6
+E0DBF801CDAB652D68AB874151CF053C1A6B094BDDA07A60EDAEBA8FAA5DE474
+E02D0285C963F5326050E3CEDD62321DF94396BCF650E7F175D3119D6A62B70F
+A8565EB1EAA46BBE07FDE87B3D88E32EC315FF8F8B2B8ED86D2CFA865310D598
+0280FAC4732D4AD8413B8482D96BE66DC6103A8AF98BA1F45A2BF8CD8149B7BC
+66B7C0AAF02E6D05A7284F04EDF5FB6073100E6692E7E90E92F463671693E03E
+C380B077B8A351836209D2878025ABC409F634C0B5886D37B8BFF8778A3D1949
+47F24000BB061A962FF8C8FA4C048217585AF59852FDF5683D120CF7E03CBED2
+00253BB292C3D31F329A9C901BA10C739BE61EFDB6F4E10E5EFD7FE102A584F2
+E5592CD68DE2B19EFB647999625148C47900D150C04E4D6FF1061E31BBC50FF0
+B3D86FDB255A304D788B0B3E32EFAB88E0EF7F5C878CE10329B82472EFE042A1
+4E2A127EF5C4C134B840BAFDA9C04E9A56617EBFEBF34C62761D20DACB73AAE1
+EC8A0E6BE8D6E5888D2FB8052D1AA34ABCA8916C8953541EF72B0382F500D114
+0EF7550F6C1C6553E1B2AF08CC5E182D4CFDE4E7827ADEB5D85272A67CA0D4B2
+67506EA890606DAF7CE3E10CA8B47D46F8DEBEB887988EB606F768BF08690C73
+7F39A70CE02662787A9D47F91EC0FD2E950DF7297C8DB647EAC6CA22CB238882
+7543CCBB14EC13A14F6C6C85FA4EDB7F18748E4D1AA7856AB3B34EBBD3151689
+69D8D901818E7440500DA38D12D36DC9374F3C42737080883F97C249E6089193
+831EFC925838B2AC6AD5853DA185A2C542FC05E69049F8DA756B6D134FEEE7F2
+7447B647693C2ABAD715B1C8806392B59CB6B7A48AAC51B91BE1A48BAC820263
+C9916C2380752B533F4D115E4B2A94CFDA019CDCFFE3775D716F3D79D070C1F2
+D00730F5313B43C84454188C329333233BE23709FE586B3244232BB731D0ABEF
+0BC0AC0147E88426AA71133D6F1C7F4C0D64E7B6BF771D1324AA5B89DC655320
+83F9D7C4A29F96B3DA0D4A023E3D7F306867447867DAC2A8859EF202BB954616
+ECFC44EC617F57A7A009A3714D6C607C6B40FDFE425B28B01D4DF63864CE28BF
+F2EE47CAC280F75E2DC801BEDF35BBAC170237ECCE71AB67639EBC4E73B31EBE
+63AC785F63DA0DF87D868FE934EF217FAB5B1253DC219CD99D2E4C00DFC8B200
+915932FF4B3F9E3C503B57A5A61DDFAD1A13FA3F34E63D665BEEC691543FB671
+2F37E8BA9D6AFDEA7C9E06E2B7FEB535A17F615D09E0F12FFD7D0367BE8E323F
+ED18D45490F585C0E28D6CB994D56E685D8BF48D1ADC9A88E494EAC2E3A24591
+5D817746F7F0F4DF9047D291106F154AD44F81EE9756AD6E3059C00DE5C26F29
+A059BF40FC25366BAEA147B2183971D27BED80A3662248FC7C076B92D68918D8
+04042978FA6F6B6957201DEC59CF07F409BD13AEB07021227A55FC3AC2AC45BF
+A89071BB4AA8261E6AFA2922098A15A2B877559556FB8CEF99FA0EC67964445F
+B7B1578AE3AC91F4719578810978F764A2839CD6E06A700D4073C44E408249C6
+CACDC73AE0E328D4FDC5C256AD0A6C0FBFCFC0D72384B83DC70B8FFB5B2AE944
+576B28E2840618E029321DB2B72DD0F9A791D3EF971ECBFC3F775A3780CFAA39
+DA951C0F882A17EB1D21597C173580FF31F31E63D259F5987B75DBDC0DAB7C06
+587C6C6066F7C9CB283D1598181A34127537582D82E686E6E059A49DDAB70A39
+250A1CE9A3150306DAE5D0FAF0DE8C214A7193ABF685A634431D9F75184FEE76
+C78039737C660527E1AFF4D8125A3E1AFCA591532FC5EF0AE4BD9B56D24FD43D
+DA4BC27B594FB19B8F16D7FA174581F1F057AFC3D6B18B3AEF44492D13E5EC17
+5E6C048B43C2759B9702ECC92138A3736CC52B7EEE811711838FD99285434908
+2394CE40EFA8CF4F59319E4504686F30370712FA79A737A060DC9415FBC540F2
+BAA88279C7D37438E6C941203801E8F67D69A6D40D4EAE955B7747A9080F383C
+4DDBE2C1861509B6AEF8130F6A5EF2C73C0FEF87BB899D8C3B1C78AC4DBC63E1
+45CBD47ED18AA81A2CEE5E77EC0F3CBCA2DFF8B239874FFE20D26AB785909C6B
+07680ABB6A4B2CB9E0E75128F6D7CDBCCC016760ABE486EDF09A7F2828CACCDE
+91BE41DFF823378C6A65BEC7A8DE7D5D9C8F2A889DABA4C66656D4002E3AD86F
+8597CDEE1CFC3A051CC1D57FC5B09BF57E6D6C3A2DAFBE5B262E60B4C82A628C
+9CCE2AE398C56B476C9AE99651D337DA1A742FB42B292666CD8B89ECA92A4EAC
+E7AC5B6197384291F9D53F10DE926D5F5B85307000803238B647DB2CA2F86C30
+C648AE1236C7DC38B6E07D5345FF6DAB9AC8838A86F367C22D9930F4BFA114A0
+81BC4F349713B70A288751AF2596CE8F3C4793586164B72284E606B219F43F8E
+11D30F3092F5F2B3E1333152116E17E57AFC90AD321D8DB14B6D2752DB85DB59
+D98D6B444BAD69D86600233293EB170A3B9599A6FD7B8F4D24194623F20E650C
+8839F18C5F099D738EA726D0421A62249F1B772DF5678C9C8FCBD0944321B043
+2F5FCD5F002B94AD62EE591379F4B3C3514256E8DDB6812AB811CDD541E57B5E
+526E2FF00CE81361C2565BFFF8C7188B07DFFB8726CBEC200CAF20DDBFF6A6A8
+B15DDAA8180E4DBB53D80764648E7AAB92B3EE43660E70D22DA590516E0CA945
+B6595B4E457EC572D1323C8AD29B23FCD3B19D9844521502412B0FA669CE3999
+649B0BAE96A524D8FADDE109A054E5C3F61A99EAC515474DDC7E9B20F108A843
+98EA19B0076DCF00DC3B377AD13224152F6EA5851DE9AE6BAAC6264AC669BECC
+50D3724C6CA7DFA73B5C1A7C6D6FBE1E8FB8A88BDE04954CA776738EB12DA190
+F7B7F0EC640A1894D843D134DB64F6A12163CFED26707A8E653A94E4F18D7DA2
+6CD9111FF17B381701EFB89CE8F3E23E6A20B59F7A43A79FDEC12B266954668D
+58A8265168AA2495F4B1C0C73C336D230DC0B746BFCE2AC99C90E306E8AC4C9C
+652FD01009CCF32E7350AA67ADA5EA837294FBE151EEFB1E4DF83DB88583600F
+8DF2EA845F37D9CEF904EDEC7E0173577C5F081DA7495A3352E5EBA1E158E48F
+D29878F3999C38AF37D6C52943B66FF38DC604EBAC94EC432300FD628BCD8341
+F4E49FA9E3BDC03E2CD3191758FED584579311D6FAD7B0BAEA9982A412A02A8B
+4FAC0041F5287E06EDB2C13BDA875211ED5B3B0F3D1701BE3525BA480B6C2A20
+4C8E96A38D1023882B94724CEB22C86CA0DBF629093B7F9A103AA37160C6025F
+4C0FC33B3692FDF408E5F16DE76F7DCB691112AD28A4E03FC63D05933D6EEF75
+56AA6ADF58422812311AD15D4F1B556EA455351F9EDFF4F53376BE42FC4B165C
+C2D5B82E73528F2C3E7D9D13192AAEB9CB9B7E340C25CA3F30C66121A9BB1DDC
+0717148F9B22D58FD3EA3F10C701C448B1F0509447831DD3575C452FADF5CCAB
+00E192489E2E44388F2556C1E3670F7BA8B018FE944E9C315FF7B7CE6982FA93
+58064B71920938820E45F0EA57BF0883472181FBCDC3755EC9A8D884281BF621
+ABF10408D1E8606E5DBBAE579FFAD047A5C6A07B0816CB71E05BD166B446519E
+69CF6388735B80C24D95F181C49FAF8064D2E0F594D29CF05BBEEA60FBC0CE7B
+9300D91C3A36045F7D2F878BD1C6ADA0CA092F2775467A67E33FEF2A98B4D002
+16FFAF3FB906DA94175EB3677FBA264140F76363088ACD7A7888B7E7671172CE
+331132A8809A30506C8DA7F3BE3A9B0773797491F925538677E7ED2AF656F029
+BA1F49A8E1785803A25AF50E45F6EEA32BEEF3CD51F34ABC382E228C5414FD07
+C7D6D06FF4BEB16A23DC1DED4B8BCB3E03A320F988DA29B6C5F9827FD83A4687
+45D0B21081859422873C04923508983AA68D62FB8967E1FA55891180493205BD
+21EF09390C3DB3B65F2B5401652DCA6585D8939CB56A8181A882215FC3D4C027
+60896922D14E3C5EAB56B2447963444141F9965BD67B7DF4172993E006315852
+5422FAFBD627BAE803F3DB4E663E3D3BF76CF2797B38A8118FB7EB051D562E64
+652F41092C65E3EA8CF55145C845EB9669371810BE5E363777D87D6DF2119994
+B36AE798EE19025ECC01B8D1FC60049631A4994979706C957C88EDABD4B599FE
+71CFF1E18E879BF578DD1CCEB24404F99DA57FCEFE63DB9D62E08A6762418D01
+A62D1C23EFA2E2DF649C4D5D6E79206726904A0BED65588977782E69868CE43F
+B93370A987AA70BA96456B163A0A54467CB544EDAFD74FA9440E07A43FDC1BB6
+ADB984FE98D7B9FA5354282595E7674508686241250474AA184D61B45E6A8423
+B3CB3B85125825A173E84A1AE6E316F04CE1EC2C3DFA28B939A52F7E5D8561A3
+578589A939A0B9578AC6712AC6C6AE4F1A4DF2E729E12816CE216F1A16277885
+F22AC9CA28F69D33E2DE6DA799D8853D46DCC73C0DB05990ABBC93FE552772F1
+3720FF170D75E3E7F78897B304C986CDB56126D6A7E85B1FCA713471AB91BB1E
+085652D0B877F9D09BD11BC6D7C87ADA05143B2D38BB7CF990831ADDC7137CEE
+968B0478B69BC5C264BAE4FB01C4EED2347D23901D0711362E694B9325628EEF
+D9F9F570D66308E8E42F1FE330E9A8DF4B73192BE9083CBA3377913EAC5244A4
+9077C13029DF6715DD0C6C59EF0882F0B937E4A3E8B6420749DBC5CDFA8FEB5E
+84BBA7CD0809F294DA1242487764B4F0CDF5E1D51D324EDCACE240798F963058
+C40AEB5645CB3EACA000E58FB0F9C521892FD4D7B2072F51983FE6F3A89CE530
+67834C35E1FACA73921F7C5E208528F7E56F84FC6CA118D53986B8337B9F9D0F
+9C3696A59536CDB8D7F1085A725CC804B4915392514A6F62185D48B698A70241
+121066D9364A534D03343CA2B2C661FC0CEEEBFC9D84A0F5D7D4B3EEE996A8F7
+A3786BDD81CC9C9A70B02CB1C090EF14D15B7A4FFEE80E5718E55E62AF0721E3
+4B3BF57CA2168E32D45F8CE080A3AF2E699236C5EDF2DA80C6829951ED50C736
+D6AD298FCEF45A6E38B1B1FDAFB697E581E8AA97AD1A105473BC8BCA80A99522
+00EB1237A57C0343BB20125D07D683B959D428E1A842056B8626BC4731F48E97
+72B04B089CCFD22559A0D37CB82D984C8B45EBBD79B5F211F9960E93446B0064
+384F0FC0D9E0DA1371D02CBE0DA83FAD44E036CB091E6DE3E2034E1068A1B575
+B88DA149C6D2AD108497385CB4E733BD44C31EB83D14E2AE90413FE94E98C749
+CF8AD51935C1B7D1928C59810AC7BB2ABB58787853FA95B0FD48145952365433
+C56D3351A18E3A30C624DF9C8D6C874D8BACFB9819E5F7B6C7CD7A03F254FB42
+1F738072DF419022F6B4D70A379EF5A6BAE74DD4C51D48BE1A7478FAC414B82D
+CC9DEBF0CA8BC4C8176110E3865CFDF1466E994A4ED36888F2BAAED4C6ABA39D
+18762758D8A012067A1A55016B45B7BF2AA418EE41BF2D357B7EB06609CBD612
+C3CEF2257C71D25CB7CB1C9C14BCCE6F4A4F42013FD658E6CA8530E283BC7F65
+5082A82BF57C3BAEBADA0FAD6008F310A167D9BC6F3211571531AC6D8E1C93D2
+A2714888BCDA7DDBD74E68132E127A0C33FE8BC885FAE09A944664FF0F1FAFD5
+8C75C69D3DB2DBC2547AE3E4EC60B5C2F4D31CFFC7EDE4DB2528B849061EF2A1
+6AD52529805723AB37D39A1F991ACB0130B9C0FF2CA1AC97BB15F39C61CED561
+69EBA28EC0468C9C0C39DBD475DB88FE70E7826E82781DEBCBD554759DC2CD97
+63065BEACFA1D88BE2ECBF3FAA3DE8747473D901366F1A79D4F69C3C9D31BC0B
+8C494A206C072EF4701514A39DC4095C1B1D3E264649BA4D1BAA7A244B641289
+67EA5DFCFF84DB6D9366238832F8686C55547444F4AA7D98E948985973578E95
+C26DBB0585A3EBF94F04BCE2112C682A02ADC8ABE0EF51A840FA4B3A2CA9B305
+31B12AB103B4A5D51ACD487E3F1B733E5F05F5D758B539C8A46D734B76856DD9
+44C6997A73614001A0EE5EBE357438F9C64C7E8885ABB96D8053E18C7B54A5C6
+E0367F46309BC10171E0B9D1A6240EA85A8BB3BDDE9056C4662B03F552F361BB
+978DCE03696933CD1FD024D739A478C756F5F04D72CD4FA02B5283E0BABAF5F6
+95A8D898B655DDB24E1F6580CA91D0887F130C2DD3247A47D65D9B6BA193DA2E
+2956A162530847E21C974C00C4B7308BCA6CEE1DD9EC0568BDB6087D67C565E3
+395A76EA55E8880B78EA68DB2D9B547EDF9FACDF48B19D73D59D244677E92C6B
+CE27B30F4268B88A0F334C0C58E0E1D93664D8BABFFCD40C2DCAE916DD85AC07
+9386C403C7CD67261AEA31A13C90337F4EAD3FEE75DFC658F959A7C12B0F6A36
+609E2575296A1A50186DB771D8F83CB44B44F8CF7B29AC7A499B016C4C56834F
+38AC0242ABE60699553B555AA79768CFC3A8CD8AF503EC320F39504DE1C4F7D2
+29A32A8E606E43362AAAEF4D9209DDA851667386E077CE10A5911FF86363FD46
+692905003736FF14CDA144D8E17C1A5E40C59E6916D2A21041285492458DD303
+3A87B8BFCED45ED505BC2F0E44FAF4C5FFBCB332022BB908BDB8E24F3316F428
+F2E8D9CBBA037A5BC5135755B7F5E861CD5E4EF2F98CC0F233963A2A826B3731
+7F3A941D0BD39B469306376C4BFDAC3E01A37DA1360D85F9CEBF88A7BA31DEDE
+4C462303EB5A3A332154C1FCE37BF541FCFF6C1E1DFF516D98AC049967988B8A
+8B36B486CAC56F70D029AB37C66A765B636718E21088F6AF14DFC8ACBCE200D2
+9FF58347672B77A6E0CBB15D4B3AA193EC6914569DDF4CDA5F946A8085422F6D
+42CC03A6451A53D869F28BF3D7023ACF3101EED578E7DF310CBE461696A979D0
+745DE3BE6F27F1A0911EEA4DA9FE387C592BEF52340A0FF9D8AF10F3D5132C04
+220622F8F7ADE14846C3BCD35284EBD5FA895E52EE1A89F90E1AD7D996263D01
+2BA0FDE290DF5AE268FFA38BF0F2179A356D89302E995CBAD8354BC51DAF94E8
+C1BA9CEFE0B619B9CD9705EEA847A9420A4A5BFB3D1481CF4F50F9D5CE4460E7
+1B867E428A32F78FD532395FD31FDC363164328C18464A07DDAB8A1C2C4A48C3
+ED74BC69E75D1B0950FFF1F4BE870582644248A4A8BC1FB9A5730FF4F848A32E
+B797F00C4D4CF32F6A0434DE361FBAAB77BB4E225C64F064A8CEEC417D4708CD
+32AA6EE8ADD733054E333A66D6755C6F2C46CE50A2EBCD2C3424ED4547FD6B4E
+B22A6169854BAC03F808B829A896EF2DA0AE2B44E2728BCEB9B660F1F1F829E9
+E4B4A8B12C0C738B9845465879F63AC6B6CD83F06F6AD28AB2F340F96899743A
+D4C741A0912225C99ED853F17AD92B9D4234E1DFC65496E622B30A7630C9A4C8
+35108F0C749E3ECC4F9351AB137DC1EB13333E3FB5749017C74D971481509FDA
+BE405C6E66497E28CEF5CE93D08C83D202E88203969325F7FE968AF01F625D44
+2D6D7390F18F9BA9C560C6DD125635670C7D51CFD14887EA41578F0A3E7286D4
+F10BCC18C324CBA75DDEDC3910E801B05D1D7CCABDC14BE9EDD8AD3BD8FB3CD3
+6D38552A3AC4447FD80DBA49529F10EB7B45D647A446300EC6641981FB1A7A4D
+A28C77F9148E36FB79E4C43A8EB0303D23
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+cleartomark
+{restore}if
+%%EndFont
+%%BeginFont: CMR10
+%!PS-AdobeFont-1.0: CMR10 003.002
+%%Title: CMR10
+%Version: 003.002
+%%CreationDate: Mon Jul 13 16:17:00 2009
+%%Creator: David M. Jones
+%Copyright: Copyright (c) 1997, 2009 American Mathematical Society
+%Copyright: (<http://www.ams.org>), with Reserved Font Name CMR10.
+% This Font Software is licensed under the SIL Open Font License, Version 1.1.
+% This license is in the accompanying file OFL.txt, and is also
+% available with a FAQ at: http://scripts.sil.org/OFL.
+%%EndComments
+FontDirectory/CMR10 known{/CMR10 findfont dup/UniqueID known{dup
+/UniqueID get 5000793 eq exch/FontType get 1 eq and}{pop false}ifelse
+{save true}{false}ifelse}{false}ifelse
+11 dict begin
+/FontType 1 def
+/FontMatrix [0.001 0 0 0.001 0 0 ]readonly def
+/FontName /CMR10 def
+/FontBBox {-40 -250 1009 750 }readonly def
+/UniqueID 5000793 def
+/PaintType 0 def
+/FontInfo 9 dict dup begin
+/version (003.002) readonly def
+/Notice (Copyright \050c\051 1997, 2009 American Mathematical Society \050<http://www.ams.org>\051, with Reserved Font Name CMR10.) readonly def
+/FullName (CMR10) readonly def
+/FamilyName (Computer Modern) readonly def
+/Weight (Medium) readonly def
+/ItalicAngle 0 def
+/isFixedPitch false def
+/UnderlinePosition -100 def
+/UnderlineThickness 50 def
+end readonly def
+/Encoding 256 array
+0 1 255 {1 index exch /.notdef put} for
+dup 11 /ff put
+dup 12 /fi put
+dup 33 /exclam put
+dup 34 /quotedblright put
+dup 37 /percent put
+dup 39 /quoteright put
+dup 40 /parenleft put
+dup 41 /parenright put
+dup 44 /comma put
+dup 45 /hyphen put
+dup 46 /period put
+dup 47 /slash put
+dup 48 /zero put
+dup 49 /one put
+dup 50 /two put
+dup 51 /three put
+dup 52 /four put
+dup 53 /five put
+dup 54 /six put
+dup 55 /seven put
+dup 56 /eight put
+dup 57 /nine put
+dup 58 /colon put
+dup 65 /A put
+dup 66 /B put
+dup 67 /C put
+dup 68 /D put
+dup 69 /E put
+dup 70 /F put
+dup 71 /G put
+dup 72 /H put
+dup 73 /I put
+dup 75 /K put
+dup 76 /L 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 84 /T put
+dup 85 /U put
+dup 87 /W put
+dup 88 /X put
+dup 89 /Y put
+dup 91 /bracketleft put
+dup 92 /quotedblleft put
+dup 93 /bracketright put
+dup 97 /a put
+dup 98 /b put
+dup 99 /c put
+dup 100 /d put
+dup 101 /e put
+dup 102 /f put
+dup 103 /g put
+dup 104 /h put
+dup 105 /i put
+dup 106 /j put
+dup 107 /k put
+dup 108 /l put
+dup 109 /m put
+dup 110 /n put
+dup 111 /o put
+dup 112 /p put
+dup 113 /q put
+dup 114 /r put
+dup 115 /s put
+dup 116 /t put
+dup 117 /u put
+dup 118 /v put
+dup 119 /w put
+dup 120 /x put
+dup 121 /y put
+dup 122 /z put
+dup 124 /emdash put
+readonly def
+currentdict end
+currentfile eexec
+D9D66F633B846AB284BCF8B0411B772DE5CE3DD325E55798292D7BD972BD75FA
+0E079529AF9C82DF72F64195C9C210DCE34528F540DA1FFD7BEBB9B40787BA93
+51BBFB7CFC5F9152D1E5BB0AD8D016C6CFA4EB41B3C51D091C2D5440E67CFD71
+7C56816B03B901BF4A25A07175380E50A213F877C44778B3C5AADBCC86D6E551
+E6AF364B0BFCAAD22D8D558C5C81A7D425A1629DD5182206742D1D082A12F078
+0FD4F5F6D3129FCFFF1F4A912B0A7DEC8D33A57B5AE0328EF9D57ADDAC543273
+C01924195A181D03F5054A93B71E5065F8D92FE23794D2DB9B8591E5F01442D8
+569672CF86B91C3F79C5DDC97C190EE0082814A5B5A2A5E77C790F087E729079
+24A5AC880DDED58334DD5E8DC6A0B2BD4F04B17334A74BF8FF5D88B7B678A04A
+2255C050CB39A389106B0C672A1912AFA86A49EFD02E61E6509E50EE35E67944
+8FC63D91C3D2794B49A0C2993832BC4CDC8F7BD7575AD61BCDF42E2E421AA93E
+3FF9E4FAD980256D8B377043A07FC75D6169338028692CCA8CD1FE92FD60AD26
+D57B7519B80A8F8DCE9CEE5CDF720AF268D3C14099498A843D76E3B6C0328F24
+D36EFE7F5C4E5B5C612786200C8DE3A41EE5F1FFAF4097653CFCDC8F4FD32E0B
+03EDB3E413283B9EFB0AC33B055617005BC9B0057FD68C52D1B0E67F0C571685
+767F2AA85ADE4E0104A1C777733D5E318A22A9944336E5B98D965E50D31F357A
+8B6EA5A0EA98E1B027CE68C2EDB149EDDD04ED74A1B3D206D471A0C11C11449B
+DE190BBFEBC08C9E1B7513B43DA3134D6B11A2516E6E86B67F68C970A320D05E
+94FEC57FB347606DF89989C33482BD09D011C55AA920319E7B26A205D3D0F004
+22466F09C0482A164CFB27EF6ED2B040ECCC3DCAF345B5A73676F193D43123B7
+72FD6CFC5E37930E61EBD5A6307E4DE70194E6384EC0D79DB6AD86D3B319A31C
+8B0589D0FE28241D8ACE280D0530EE99C80723E560BB72AE9D53F4713181F491
+344B06D3027BA4E9E94D4305BE1D817197C54C8FF56CD6964165F6448ECC8A8A
+64B48B4F0FD69299A137589E2491A283509B21A3A5772F75B7602A9F60AE559B
+07A58436D04222C73EAEA72DE9A5A441F88D27C11F4F91255EFE280E91A4ACAC
+1E98A4E5E6C57B9AE86FD218C3CD8F24A4104156A80F13821384E529783C52C8
+78B94AB3A0096090867ED32E8A30980E737922037F75F062BD83BF4F5929BC51
+CC22AEE2DBBAAA001CFFBFF41D258424FAD888FFF1BEAB796A44E3126159E120
+7E4025C676CF94888A1971AEF8B6764B3AF4A92D36FAF6FC56FD049710EE3782
+BC2CD84FE2473F133BE03C1346B875463F126DCAB15C7A9BCC9A727D23611462
+4E8D2BFD2466600285D79518712B8681ABCD69608E6AA9578F7BD771EC36E01A
+5A17BC17E375020ECA59B43790ABEB9DF5F4FBBEF807E5699EFEAC563E1ACC5D
+EFA336E75DE6D8248E9381BB110884FDC89C2F9A41EBBC9A8A1F98E6A41F68BE
+EE30E25CA148C1EFF42DFF8C214A6537AB11F260B8C329A4947B5FC8DC9C5622
+4DF7BF4FBFB00380D47BABB03BC30627AA74103E553F55278F538EDD8C1E64CE
+0F1398CA0AB5A86630139B4A7E8FC02804CAFF3830114640AE50D2FDA3B561B5
+C63AD7EE3347804CBB40FB1E77A6C89735DD870351C3A1811591AB493251B904
+314F65791963C0412377C1D02362C5E9655F1C3D4803CD379A8EF24C48218C2E
+DF1165840462BF37DDE1B8D5FF09FA2C3B261E2F1A65ECFBE5D4EAD43B52C029
+EEB3948CB8A252CBAF545C8FA1C31E920E23A12DD7222CEF2D2A513BD758EA13
+DA33BF5FBF1D734653EB83DA2D374A5B9A0CE316F24EE375D6DF6BDA49954C2E
+DB25A88821193636119D469BA66E5DAA9C92520FD4F84426A4E54273FA469084
+7517817A6EE3E21176D333825E88046F50B3CF6938AF9BA79A2F51398239EB91
+1A2D07F7FCD948427FF62F40FF95E39FE1A1AA8451411563FD5388472251C155
+69BDE9283B41900B21EB1190D06E6B13B7794FED020D2C1BDD205AE77B084BCE
+EF628249398B496DE85B406FC2E1939EF00DFC84C07E26CF72EC401BAAE756E5
+7F6673216E7560D1C2A723CB405EE5CA474A07F61B81F8836482F73DC9516D67
+CE0CB770EAD755B6B356198B4B97EBB29C63456953270CCC8D5650C1D006E69D
+38DE2DFEAB27DAD50A817F0D645D30AF5B75A7B53CBD3D2B8D87BD0A7E525AF3
+22F7ADDFCE31716914C2318260C2E2B4664893921B68C5A93334A361D94A759C
+0D7B146D6FD94F0442D672BDA0F6432E18F3C5DFA37ADA378D95B75F413C9ED1
+BB5C606A3EC7DFB3F796F59B0478C13FD1900381EFE0BB5242D5B5D34D03AF1D
+4BDC93EAF8020E26CA23C8B0E7DDEBBC6762A557067A4CE05A524188A8F02E2F
+3625DA38DFCF381727887F5646A3995A8A38A5FB1E5D5EBB395FDD0B7C8E71AD
+B48EEDB62AB2CE99D121435EFBBFCEEA69AE9ED8238B60CC7288DE33C766CDFE
+15B767B4AE2E6CE0965E77272AC9F86023DA620548CFAC85BC751C44218A29C9
+849F1C2DCBDFAD895B54E51A569952ED50F82DC8A19F367E7E44643854EFD6B3
+FCAEB04E55E4661C82D31E2932611748480EF61FB2FBFB0CFB940BEA81AFCD84
+4C6A6332D7A600170E38A8EAFCD4F93DC153C43175434C86BC747348FAC61B76
+1FEC9027C1A193E55C80F1F20B5317AA0A05AAA36AE235F6E49F06E570FEE798
+84857D7552EA92EF3EFAD52DE39C2F8F43C59E3A957B7B926FC95FC4B60186DF
+7F3523EE2AB74E294C8C4BCD8B4975E84849E0FBDA6C0B0F24A636DFA578B122
+CF97BC5089E21E9F5298D1C9F30CB8BAFF6A3A11BB4D9A0A5CF2B18D055C44CA
+4FD4D8FE1AF3630907DE7E585AA811F9CD11FB2C8FC791851D651009FA5DF20B
+3C33FD2FF848A9E3F5652BD294965A332DD3F246C91B0ADA34017FF2451D1394
+F9C3C95AAC6EC8062BE98E8914D51DA6A164AD13938693D446044859D03A949D
+F9AC5DF4A000CDA98BB516D762CB9F6D44B5268FD0C26E88BC4A760C0F75A140
+DEBDECA4F511128B7D2805872160C55236F0A0FA7637FF0D4E94AC079CD3C8A7
+D03A5A56F26B0438B577C46011A10532FEBCAD14FBD6032E224F45691A726886
+56F305231EB2FCDF59C8BBFCB5DBD2D093A0E84D62AC93A2312CA69295E937C4
+8DBA1802B85F54B5E7E6D6216A918F911FF705D3B5CF055F1D873B96283A0B53
+59344D910CD396D883F6F7836BA65FAB4393A773A8F6BC298069E5BA38210EED
+49C9D920F718E3FCE692527DC7CCE6963BF744F2C91BC5952564196D60574E86
+87A0FAB21F2DB2BD5A51D7FBD8FC19946D24E5A228462C4772F978E650ADCE3B
+8D66B9C21279C531CA1C3A8ECE3420BB65837287A7222CC3673A2A5F8BBFDB60
+C719CD073EF9A23675198462C7C87B24CC92D6AEE5C25AC63855CC3281494342
+D28F3D2FDE0C183486769A4FD5B0143193D31FCB2C2A14E487BBD96D0BADBB64
+D1B56021C363A795BF10E2DB448261C363A54A4AC1182B470C457AA82DF3F5D1
+F4B329806141EBD53CAE309319B94133D7EBDC2D0453A905ADD207364371E178
+0A95C2686E3B34C4A978BFC0EE968C39ABA00889BC5149162C2B54483D44FD3B
+5CFF41F611C7E03B94945F414560E874D7CF27FFD0630890D7D7EA66CBD15448
+229059E1C436BB33D69552B5367AB5D53591C4678D0C704DD3EA23F5D9E8A7AC
+17D003C19E333E726FFFA2961F33C70F429085F7BFE3E2510F59B78F58B19CB4
+01B48E184BAD9020FECCE3AF52048A056981DAEA02AE78197E65855DDB170616
+F54278395D9EA50DC83761AE759F9CDEF9E1948E7002414FC05286ED793E6662
+3347F2A9AF8917493D7305B92CF93E8E9185F70015F5594084298A6C2F9FD3C0
+689F262AC9FEDC9B89577ECDE92F08D3142209FBCE7B5C0A840CC767BCA56C20
+4E4E545E2BE4D21C53855CEE4CD0AB35D1A604C0FFFF77DBAE4289752276559F
+A05FEE65F45ECAF44E95E23FAB6052195C7948AF0B1126482D4E02D72BF8AB03
+DE0F1A632F7672AD9DDE70EDC82AA993678A82BEAD0BC2649C4707FD8509810D
+364B5C6FE0E10772E95288C622C2F06C634F4DF8C7FD1432BC9310D5F24FEE3F
+7AB324863D6DABAA1576E70643CA79EF4D7DF4105093D66CEE0F3B87D2164A7F
+26EA05F5C4645B22D3E1BFD2219657712C168FD90DE801FB0F32759E80DEC1E1
+43CEEB19FED12D757205043FC98FEC62D6A8D8B97BC083B4A0E985AF7850D6FD
+8716B9957C1C35A0675BC53DF672C425C79F43FDABAEE7D63F092CF271C9A9D7
+C41F40C4189510987887942E60A412B3EEC84C9A6E1AC7D54D528F5604B72C08
+94B7882621A5BF1F325B92FF96B80878CC550D1AE4D8196E41CB1251856609A5
+C4D3BD05A922D0D45E039D9450DEF8490A3E924E41434194910BF60BA1B08BE1
+B41824345627745541A4F1703E956328F6227D11C74946B38CFB096139979E56
+4E723B889B44C6D78673868C89912F8B4F0B4B485F1587A637B630F92E6072D5
+7F3B44EA6FD96BBD4FC28A6C1D90805E3BE3E42A7BC9C880762966C55BC04E01
+204D083AE976FAE6F37C94F27E68F8C0F28D52B17F6C0FD7C9150701FD78F8CE
+B8E8DC9260E3974005EB5CA728171F482D765016C94D4ADFE4A42EF42212BC56
+7E4EEEE8B0D2A7856CD4E44F55C0BAB762F92CB8D64C17022D4BF3A47C12F5E6
+279FC23101FEE93753653CE8CEDC3B75C9CCB29BF1D4554C6120DE8EE750FCBB
+E38B5D915206974962E320362E59B3F21B3AB1875703191043D03284D4467346
+CFF2F98CEB4845B73ED8E003E0DC94251B73E13A9B51A3F1430BCF6A21EB9B7A
+65E17FA411F53BE6432F1506232B8159E008FA257F884A4A01AC53BE91754D78
+BF14A5B0FBFB9C31BF4908355F8A762052968DF526D118708CCB0B7CB5BEE285
+6DAB6CD2E3934178E60BECB11AAB5478623CF6C50C92F8BB5D1A583609028FA7
+B8A53B791BDC9EF76A124F3F7641857E4BEA0837CB36176EC9A522EA7F41B8D3
+63C37D1145367BD300F17B54522A834BBB74DE12BF9EB26ACE6F24A046D58F89
+4D4B7DF74875F1A0C1C9D97BE0849593D7B398EB4B00BEBC8C8D1497B6EF831A
+A35380FFB7F1AFA4D888AA52C9482E8B1755CC209905F98F40D95B44D4DCBCB6
+67423D1BC2F3560FF0A8B4F0CAC352A4EE2C1D946E45AAEC8A6AD40303F3382C
+DF0756BFA3B1ED64C169E56ED1C760F2FF0E24DC5C9F41306EF8D2628153D30A
+5DCB0791126BEFD4947D7EF08301FE015F2B0008DFFCBF9F2D4D859FD43EC7D9
+C5BE237E9BF6665B7B1BEBB362F0C0C3A8D86010B9C97FA741C97C2E0513386C
+9C26C235B14DD2A58BFDAC7B5F63DB4DA6D5D37D0098175A9071590E1DF66A3D
+B8173A047C29D7D35557F06132CC920B5460B8AFC11D23D09A4E45D089F5EB51
+963FA1A6256E359D485107FD143B2BF21FDE9DA5744BC2615E86C31C89470CF0
+D06C6397D9FCCB316EA9989430240759D2C4945D941F159FC02327F34B042BAB
+B5C3A47C78E8C1A6FBCD396B1A51CC4B020B8AD401841EDABACECDB482D6EC5B
+72D2BFEB4556720FADD49D07307C8B22ACB7E310CA4151A85C71EEF70E8D15DE
+B3B00F26E0E166C14647A65ADA228A3D1C89025BE059306565DB1B1EFC37D358
+8C1EB024254AFD049BA977BD4C2C605050E17940A89D0D4C5D963E792320F5DB
+3706682E03D25D9E02487247819551465092CC22B6B56E93F3AB528038FEC3F0
+668F866707A19B0463BE706EC729D2EE1653AAC7E29BD25BFB3241D4792F5152
+ED415B4E7FA92C2EE5A22E27E8B75542C492E56D811C192E95542A6FE0BFE5A5
+69273C2ABED4300D491B92D2AECDD278404CB84B1BB1BD7AFEC858215837D118
+C0E928BE7E07CFEEB51A6D21375B772B8248C994564014015232A0DA4BEA1754
+3274F407FED0837A236371F1A32056240F2015B1E7F4B2CA72C6B58610A66F13
+407CFFBA5E0A2893C1F572D50F51286E9133B5A84239C9493B0574E77D281D01
+11D00683354A000C9700EAFBC1FD104EA19DFCB87470190E7E2CE26E3A6FD0FF
+2620B87B82AC8686B6206B530F17E9348BC7D04B948348802CE53A312443DB87
+4DBBA5313A6A2A8DAB8A1CC9A594FF8C299281C0A261C8CB2226B732FBEEDE40
+2C6ACC74A1A61379E2E1CD5548CD908268A32FA83D8504C442EA0E183ADBF7FF
+9FD09C037AB03516ECCA93FF048235BD11A25DB07F164512A079C5392AC7F889
+CE96AE5C8D9580BCAFCC087C35E76EED1A671E87C12E3045E15A687134736DF8
+DA984772AFD189D68571A2ED7256F1E204230E41D3D9DD876F938951714A3973
+0CA9310489F8E807C1C7A4E51AEA5BC030610A5D7263FF7E0F9FDE3E5E37A362
+5B919000BD94D978583B942EB79CF2BEAC33FEBC9A67272EB10865BA8FB75FD7
+9D280AB59F91B96C16C982DE848D76D8FA8620DFD7C80B7DEAE7264350D6FB3A
+EF04794DA3305844A7CF718F6D1A4A3AFF6826173A076A1372ABFC54ED3AC6C2
+09C9287FC830556CA694E21CA5342ECA7B10C90AFC4783D841D7B1E34FA3DB7A
+2B706F3E21B0FBAB23E7257962FC3BC309CEA2C7239A9D6B44CC96825115ABD2
+AF9A2566D2F3382C01569FBDB94C8D664A5DA0F7DC3DD140CA77C743D7BC1420
+324ECF9E4780280EB119885E96A6C619CE3C0C8E1E264E2DEB137E5DC8149786
+486D65667ECF47B1A1E20E9E6E4FC8323E0BC8E61BDD3BCDFC6575C69C03E31A
+EFFC290472CBBD049DE3F840AEE37A2486034240F80E75D8A79E0762377DF660
+52B12EAA16D678990B11A9BFBC03C1D4FCDA9FD4FFBB3E88352438102F10B7C5
+9F04C013B6575B5E948FAB58EA691984A0E54E6B9F3F505FFFEF74D06FA1CDF3
+4B8A95904C8A2763AA8AF5B71D00F5DE09DC1CDF87A08B6D181453063E14C12D
+B7BB3775A6E2A901636273D9EEB833EA8CF20FD83AE899E28DADE10EEEC20BD7
+BD93085A4B1AC80AC1AE8280C14767F1A487BD066007A0D050317BD081131A14
+6EA0898ED59E46DA7B6254BDCCBC660686E2EDA0E77A705A653733BB5C5497D0
+B130359F866CF293FB6EF0C2AC5BAA2DB0DED045E2DED3A2612D078333260359
+16CF0CCB272D34767EA069E0F0B0D42327A18529D72E890EDA6195C2688438ED
+E9ACDBEED41E81CA8EB5E43C2B09CE266EFCA03F2D7FF57F12B06F9E54FCC6A6
+546676F6FFC5B8B7D3F0982B6FF0D21D949309F0C0B175CC1D0976F8C55C6AED
+6E821C39041E22D91AB30922F2B2EC2746BC7DAB484991542FBC82D87B487507
+559AB466F73EE23C2D3194DC5CE4C9AE66D3164613AC5CBB3DB501B64DA7C91B
+C7ED2EE9027FC0906820B35D4F2CF66C4F9CE4A884B7C07155BCA884ECA5EB3A
+ABB83F84DB1F5639599DC7D3F51241AB5D95C3BCB7AB1EC90B4BC989F74FB354
+04B2D7366A34D335A47B8C00C05CB423482BF6C7970A95545424A08AFF9A035B
+7F83F52B65A9799CE76E303B85664B624C65E9CA58184C7BE2BB9D9C86A4DE5A
+8165EE3DA2E652B5022EE7893896BABD88931DE1D538F615787645DF5ACBBA0B
+A8E5B899A37321AA7D4B283AC9234978C2DD81813A1EE5DB6EC170DAC1B6EF02
+94892635B498765C07A38D2E9DB0B7581B11056C28278F89B0E60998379C07EB
+C0EAEDC32AA69B8B836F92A61AFD35688315B2C3F860632FC13E4BDFB63214BC
+41CC6859EAB3AC3034449213CAB99FA1D216563419CD6D6CE4E1B56F33E6C654
+7AA9DCB5B05FC068DF02AC32408C8010AD004F6CCA9887830927F8CBCD49CDB5
+18CAC1EAFF815FF2F6F527F936948201565003022C6C7390B4E3C2B219FB4F76
+9F12BD25CA7B3B61D1A2F8DFEE795D04D5428B42FB66E0C254AF7B7A10CEF7FD
+E5ADA5E217BE24851180E9A1700FBA66C7D2B0D7BFDE4F4EED1D24B821A40947
+5620363657F6D048E651A689822CF815E72FC8AE9D835BE31D1DD8B54C9A717F
+4DC319B4B59AE073936EA40B070524C7E71D5A7B64436DA107749746B516E29F
+E3BBCB8F8C473E706670E11E5B221716F315FF097CD1841D0069FA69EA1898FF
+9F9EC2518C77806A19730C97F54BEAD604548D553D4A6EDB247853225E24E7E9
+89D71F6BC94DB986467E755CCC99069B313F5745B02B4BB608A39F0A0A732B87
+7EA2DED68219754BF1FBCA350327572D769C962EF9242132D93A5C8E9725D8D3
+AAAEC15ED0F43F9A1290E91C463895BD12E8A831DAD661EF23CB9AD2C26CFB26
+71B72D15270CD8CB1D59CA2D9DE884C96BB923B1EC8208BD7DCEAB0FC2293629
+2AA1F72C6B470701C381E335C2364CFCEBACDD20CA36182CA7E70AFF5B14B02B
+75CBD0738E35DAD8E60CB3DA4DDED557FF9ED386DA52D10615E700751C842FBC
+85D89C0E713F556814E051C6CEFE7E83C2F379B88A801DDA565BE73013DD56D9
+44D97798564787AE6D5A6A9FB777EEB850C7481B4A353EB9279731512C9B95D3
+2ACA3A0D44585E55AFD968135F6492A9381FA2D126CF50373AB7D47B509AE6F5
+C4B100BE8334ABE2268DAFB7983BF339540A8D8280F3576CDCD4F21408AA7D92
+BBB218043ADCAB60ADF6385516C2A5A9BFC5C3845124E0954EC5C627FA7C65AE
+AC1A283A5A9676979E28179AE77404776A4F84F67CD4AB272161FF7140DC7E7F
+D8CDC2CEAB74666F958CF9FC2D8C436A70B0C1C43A41956D57D601481B2AF1C0
+2B1E1AFC64C0DD2326B351F31862FF36B049CC836C975870BFD49306F07C03FF
+CC1174A28E73074D00A184AE6B06E7D12597A942A2AC99AFD78C94689D50556E
+C30AC6A01EB4A52E159CBB7FCEB0DA2442304FF353060D4326034A5CD9EC8F74
+909350E9DF91058E7AB0598B03FB9E95CC4484233C61E579E91D7C857DFBBAB6
+1CF1B461902FD93DBB5BB144376992058FC36C23CC0EC1565E8836B6F25B62DE
+AD8BB23DA364FCA6A92D8B9D5BC89BDAA7297D17E245B809F2ED78ADED5AB589
+AD1A6C2143E1FA6E7DAC6464AE3DCC06FC882F7F947F9CC098EE97488EEA1D92
+353524CA44E1FED2A199C2DE9C408A5A4FB57F4714E6C68369A0BE1CA70C5219
+33C5E91796B88517647780990A2F06C0462C608A5F68071882FF59E35BCFE4F2
+95607666606D75736C6FFA6A1C5A77564427080265184BBFB93CC1A24BB58039
+D2C3956923C9A3505F99FFE8ED5EEFC69B3D4D36F79787E7FA176D63F9D972D3
+68412B3F534EF67D53B3B44DBB0703BEFEDB48F8B5D7764246EB7227A6A8812E
+00ACB6C34E7CD63783BB9F88CE3EDA258CB85E413D3655B980EEAB9CABFA7A2C
+0BC2F157F158B41E72BD801FA05C596C8F652B3FB6E18E63517FB66E333BD79E
+D5D82F6B458208BEFDD7E5799B5AE38334DDF257D312811E212DC74229F4ADEC
+EE59E0C58EA928A31F2B2E9B6770E399B82F87FC6E2AE8112E501F285D199367
+0F02B0780808074A2CFAE877E4EB59F3F56EC61B205D6FD047603E302D3D57BB
+A55282E3AC689D4323883C36B3C6F3545E298ECBDB5E6259038907B5448215E0
+E968F153DC61A01104EE6614DD739EDA4B5AE24D8CDE4D33CDB70DF5C47DE886
+A1E1F78EE180D23D02A7EE18656AAC3D73C666F535D78A73922F795EEC1897F6
+FF9551906FDDCE87BD427B0CCC771783FF8E0AE3487EDE0A148F2D79715A8719
+9138664F306557D601481B2AF1C02B1E1AFC64C0DD2326B351F5F659DC33AB82
+8E9D80023BAC482F8B93AD55F1D27ADB5C080E7881848222220A63605F00205C
+205B35DD3C4C80193F72B5357E8BDC19B408D908B1C5AD935A40C2834C6D68F3
+A0B7F152A9EACD5E0E0D21CD6BE8ED0E8957540141BAD899AFC4C8A656A7EC50
+ACE67867AFD9AA90368B31AB3110CBCE54BEF387C875EDD263172C374C0BB74A
+280894B6B7765205D82B57A79A5756F254FD477654C630B711A591DA05938FD0
+33B2EC5AA5E7B704B59058E21B0A78302026FD585ABE5EAF11A279BA06F8212C
+08A4E70E6B587BD0D1DF7F3ACA418808B1AADE9680499EB814B9B43995414E9D
+390092116CBF3A33A5BBAC65B18D05DF8FD346F7E452BECBA1FCE47432CC0156
+4A9D3C2275458780BC65EACE41F2975322DC979EFCB23DF2F35C22EE15680E97
+2DC7B6B8F31042ECEC87E538CD1A13F4782D3A0AEA58DA45CB7652D527A4DBA2
+2BFFAB3069E88D09732D3B63BA3088C1E140DA40049190D74692AF2C287EABFC
+E30631CD649D6D0D56125D9EF26BB251011EFB83970199B3AAE7FDEED53ADE14
+1678B689AC03CA093B8670209513D31A66A461DF77C5C8EB4F23873C4C2466DF
+C809931CD93E8D0C05BE9BE820E13291132AEAC19D4700844285752BD61638D0
+8203E5CB475D4CFDC4306C11D1D33C390AC5496B0C2B4ED404150DFF000D76B4
+541F62952C6AEC9BB506DBC1C7437C6C806FA68F50D4F40EA836BBB40FE61A20
+00D99C21AE722AADA6DB873276480D47713D32B7AE3689C9C0F407C5462722E9
+6592F6EF5B4704A09B24D9546B7812BA06DC7B9F113981E275BC94ECEB7B2F23
+69B624936AF5CB6597D55D57ACC1F25A0DB6F5B88952DE83EE4773BCEB1C016B
+7C466E7CCC9E10EF834FB25F110B5DFBD041EC129115058DC5572BC104DFD48D
+E1FE2B681C391F7CE4F95093EDB58EA45CEC2AFB0B16C4540ED9969E2052594C
+FAE7E96F17DE324F93559B20E09187E0A9860D175C47D3AE719776455AC4E814
+C3CE9981791B5CD30ABF10AADB6094DA1E3A725306177D891088EF18D91F7E7F
+1E1B3E234ED621DCC1D0A6EA1AE4C2C19178B4B5A253C1756AD232C5560DDC07
+8B02AE4868012441E36C4EF146A4F22EF1D4CE57E6BF7B74A77E1A17AD0B39F1
+723B8E668823BC8BD3EE0EEBD1B06127A7E7F2C755CBE0B43B36CA68E9D452B5
+37E9FE45C6C30AF163EF2E273FCC3E367F6A90A5A37C5AD57E9A60DAD348299B
+AC8F837009DB9A4985694F398C95CCCB1CBD4239EEA7BC4A9A6D7EA884C1A171
+A728858B4961BA4DE6C5DD61482387EB78EA86A244F8131379A057266486BA1B
+0D819F6DB6228C0105AED43AE0C62200B2933F2FF99AB476A01333581D1C4914
+1D1B69777873F05A364B2DDBA4D4E7848A25791C1DA68332AA444ECED4388B0E
+451A3101AEEAFC22C750752A6B8ACAA46EA224E2DBFF02C21F3CB3067F2282F0
+BE85BE25FD062C24E70AF49A829E4AE5D0025EAB79C917DE5C1B6DB1ADDCDE2C
+C5B77B9B9E7BCA9EFDCB0D08DE54D8434DCDC6DAA96C4EA037F4A4453F7331C4
+5F95F38E8A011FDBCE92DAA365D6C80A6B5F9353B1B31382599F607A1A636250
+2CA2B9A6CFB2C494C6F6FF275D11CEFA9EAF90E09371C7A23DDF4ECCCAE1BEE7
+59E7D04EE2190D2677E65B7B8BC8A399EFB0C091D6B493B49FAD3636AE519CD4
+C8CDC57A0BBC8574A49947E076233EF4DE23614928E5718AC2498022087558F6
+8F4B1B6800267C03E9D414C24CD9F612BE4260D998DC85047DC36611705DF0DE
+767C405ABE4731A1095FA1135CB73CB07D6B7B54E7395531867D80DBEF72EA66
+0532B9DA1F0E6975398573D65BFE4C6AB204A0164552AE036D3093A96A0AB5C1
+11C950613EB4336A78690593BB7C3F63F603F3442EE12E199D952B8789DEA09C
+BAC8ED110F6557AF412C8999E378EE5BA549A818EFD250380C358B794C2EE613
+2CE968B82B0C0CCADB597E6490314CC68B06A9A5D9136D9D35E32C31DE01D1A5
+9C6C9E2844A8E064D5BEA8BCA6304A8C64D2779FE40A18FF3C3A8949549F12A8
+EB1C5B4F3B5F633645BCB53F6F80C6196B20B8C81E463ADDB656F98E67ED2546
+40F2C10E42CE8F29D9BD6D7ACB8A11281D7D8F23A5E9452652D212E6350F75A1
+9DC8D6EEFF6944C870D80B4418FF8788EFC79A0297F6DF38378884040B22F37E
+8FEBD41602031030E3AFA00809C113CD99EBEE373FA2C58D500D42728C710553
+EEABF5D994762E9918C42221DD64A5C76E792A6061D4A18CCD6C35F29C0B767C
+4A5C46A1425D4B5B25873E8C23E494DEC64AD1A1A62C8F7F8C93F5840CC20EE9
+5E217038A0CC1D968C241C486AEFA2E3411EFCA3661C091D322D3F7144974526
+2966CBDD42FF7854E8016174F0AB0E3BE746ADF7911EE0587466B0E55B569015
+D261F03482E5C63CE39C88C97BD8B95705A5F87B523A2C35296556422493C3E2
+B5187E2DC887F50E177438ACAC2EB9F874675136CF2C1DDEB46F7EA4C3E42119
+DDBEAE493FEDD3709224750E31A9A8D3A5ACEE595760EFD47261CBE2F070CF96
+1EDD60103A20D82CADE304480B0C4205D86615C84B81EA10F4DEDFB4AC7ED4A6
+0011B54A7B82D8B25FA514BAB9F7141C86BBC39C71F51905258F3C78F03DE8C3
+BB63C0BB94D9464FAAF2ED1D90FDF92AC9F25075CE7D76366B5B28A2EDD77F89
+C1501C46CB5B5152E54A78930AA390B2B24E969344292E3EAB2E25C9687F82CD
+3E5CDC3767905FB64A7FDBEA836EB0A4DEB9984D59F8B043264B09238DCEBD82
+AE6A09A234149ECD5BB283403ED15D2F48F41C853E1023781CCC770CD334334D
+1B5FB7902B46633626A827CA90A345D6673C310E29F44C92230E730893EF074F
+43586752C9BDD9AEA705136CB3403C8CC3279EAC7024E1ED7B0A3C4CCD59AACE
+14B18826ED2E56C67571D38952057D0633ED19D2A307F628AB0A8983D818D151
+B4559449F4B3F52BCCCFA407224D3A75461E5514F6DCC20CF5A601CED71A3C4E
+8B8020DAF8F44E91CE5BBDF6DC27AA4E0E30E7A4A7569A0EA2A6AA2D58715194
+31A85D597A49335CC40D3869B7F9547CA1817FDF25DB83B223EC072FC4C14387
+A1153F995D33111211AA8D22DC11DE7EF63F825A8C956598A1C515680CF31200
+B31AE18AB27BF29BCB96B4107D586093B8C7184A445E600E9E850BD264B92D5D
+CF45FB6EC5DEA9805D048AC31E66881095BDED0B468AE93A8D49F88CE0457BD2
+DBC735E3C86A6D4BCC6157D5EC1C25CA3751047547A544DD19E5E967A867523C
+5BD7CCC9C0065AF0A35B0A6775099F5F271C42169287D2C5AE3BC67CF4E8A200
+6B7CF3BD8930A8513C55680F5A000F610FDFEBB57D7CDD6AE56323C7E4428D2E
+E1428B48311A08486B2E69957ED8066AA1E1C2A79624063CC20B5D0F2526E8A7
+4ACF731F820111C2164C12AE8665356139EEA220175469CA430FE2274ECC1BC1
+36BE8BE912F5996E1D7EAC7882B1E979FBFCE731328C46F09C5B10FA241414CD
+3DCAFAF94E80D4D5C38D5C8C5501CF0BE0FFC17D089D4EE3E3D6A9243FEC4AA2
+B679E4F1508FB4E9E06364D8B5BAE9425262D84083E96563219F82D9EE2F78B0
+350DD8A2EDB4C812F60E91A9FA4CBB5D6143C9E43A41EFC35CC3EA462B361D18
+91E27CA8E177640CFCC8DA0C13646719643ADFDAF3831ACEBA80141F5B7CDA22
+1E1626250ABB2DF42434C1DD00E11B088BCECE9DF6A506EACF74C650A0576031
+3B30C0EC51A5B27C4267E696563090CBB6FA735575E6BF9E327C9DBA42BBA8CD
+EED86EB35CA5F72BE32E98BDDBE889A5C03A7C0D9F900D78845052FF49E24FF9
+2DB17EF21ACA72B3C5BC575A6038371D97A5158D2BF12EBCDCF65B366AB09328
+D1B505C5C9BD4003D798461822B8F394B30F6428FD97A6A0E80364D14DD58C5D
+FE254994061399A8990135C398BF579262DE3939C50139E67B71E33B49C41402
+194D133F373B2F6EFFBBCA8FA133776245F0141FB8639EB66F09FD503731B21A
+7BE105503849822FB15897B27F591580D7D428B61B5F7260512F61A5E6CF814C
+FF20697E1BCAD121B6F6B6E0BEAA6102625D44E15AAC499CDACF19CBDAA5B879
+83D7D1F0D9C9107FA604D45BB9C0277F2B8FAA35C25F646F8CE658D929621B11
+6D143D65601ABE982BDC0A12307DCD964470ACD87636639619369B4CE36F2110
+635002C8E9D54B004CC337F8FEA3D731C98BBFDD2ECBCCA6949EA325827D1770
+4482845AABE26B9B3CC7B53017DF906D0785D056DA6310708CC6231D8334FF53
+330954EE6A14369ED064393353EB6CEF6C0C383246477F6A20AD48DC52BB0054
+C74968D33170FC28E00E82CFB0F7456029DEF5BADB8423614DD32D25560C8D49
+00BA288172AEC6381EF854C9B482A0087FF0D32187979E9CC0925614365CC0A9
+471E4EE80CE2B745EFCE30CBB4614FE8732AEAAF4898C93DD2DA5AFA08C6E534
+2275471370124C084B6615805E1C6734C297EFC67F42CFF95D58328CC7248791
+B190A2CECF4206E362952074664B4BF33F9436C6712917B24ACB990D17C665CC
+1CB6518133314C59B9F71F83323E9FD8F49DBE56A53EC47F5DC525A04E107072
+00732C8E191585BB3D02DBB713F3FEB05729AA22CD014572867219159175C458
+C2ABBD6A9527FC7853ED6259A35A8DCF1829410D020F2B13BE5DE69E75B37D25
+65284E29625564E7386A97F2CA4F36588380F94FA756623AA957048DA4113D98
+BA38741EDE32DD0468B0EA3393C707A36085AD8B4BCC4E5A20FED3A5D78B309D
+604A50FF905EEC2BCF04EF983915BF78D576C4CE62AB872AEDA7AC01CD7ABCC4
+723E537A0CAE43B11C472CCE802E67636139F34D5EC64702C6B8A3E66BD5CB70
+98963A3B759415834DF63B42FB7116B7DA9C6B7A4449A86C5CC1877DB6837371
+9A96A32B6E7F03535BB203CB9152F1559E92D1A4E3B2B839838BB87CE112869E
+D3BF4DE7568EA9235D583F8292036C64A86F1006E078539B01BE9241511A7221
+1F50CAC5689FC6B1F3CBA5544277578850F72F28BEF2CE7AA15D15D3CA069E35
+5587545B80047CBE219F80FC457EC1676B7847C04C083F54971BED84C27A4F77
+9F64750622728D52F82797348DA56757D42A7DF5A0987922E0CFAC1D88CD1586
+AC9E2E90E749A5FDC8CD04354E4A99B11914131B330BC6424A37E4C1817FE523
+C6BF8369449F4759037583BE5870166A9D7DFE9703EBD0365823EFA4D190A4D4
+54E74FB0BBE0356E8031451295AF4120255CD23B2DB6CDC0C4522F8B0A841B02
+1A67EC143A33786BDAC64BB4EF06E3FF707C55BB314805F19C4925B610AC7ACA
+1B0CE8C674002E921F7F2895C19348089BA5651753B078BC9EE03D4EBF8DB6E2
+AE01AA2374F47330135814AB8314E40688B1E9EA4B18B367730AA6D3889284E7
+84631370146622C18BABAED6EEBA8BA07373A8722DDF92740973DF71921141E3
+71275256314C10E0FA7317251C9048AA273F72D8864D6728D3C22D52A34F3A1D
+6178CF30AFD7E79DC3835C1D5569838FF37763C532851BEB609B63A22ADF574D
+F971A738A4405C074E8D9D5352C2CB7A6476AA7550A57C44C836A3152D307B94
+E6A590B69299C3C0BCC1FF4E1EDBF41DE9973B986367602CA17E811DEF673D25
+281BCC62727C97DCA00D64D6A14F8BF92A8661CE6E429D59759BB036E962B910
+3FE008DDE8E13F1C5A929EEB95CEF32E2ADB8E76A39788EFAED45783B524D7EF
+6F182C8AE3F0508F365E11F8D763E45E2BB6760941D90A3E5E3B8A89BD9590F0
+CDBD50C7EA77FC3F6DE066781A910AB3171BC284508CB23DDA849F7783724E5A
+848B21357AF4264728D9F5E1561D7D97669F5926F68A0A368C7B4DE27DC4228B
+5CC21417E117D64E3AE23B57A1E229C02BA1186EFE8EE62F1EA787B8D81C0376
+3AEBEB47E3B2835D7578C076323991003F0EDB6CDC0E3A2D5B938E3E9AD4DFCE
+8DAEEF4DA9539EC8A334A43DF083CA7E48C37419BA59087B74F22AFF11812DC5
+A49C4BCD04C4E444C457696A34E3391E9C3F4CD8BA1C71629DF5CBD24BB6A718
+C62074FF702EEA82EF8D424311055D695D3F3DC1170AFA48C5013A1E2800EE11
+99BEF9F250E10CD6AEFE28025F9B368EC3CBE6DD25B81373DE39C0288FB2D36B
+D196F115F41E8ECD839DA09F96E4C01BA4D4B898E50407F03524DDD57D5CB7D8
+63C6DE3F1D03698D7F162E00A949DAAA96716229DA516ED07DB3B409B5647807
+755E676C77709A7A0AB27AB2253A548CA2090844CCD7BCBC43893A0F216BE66D
+4E14161FE31633A6EDA1A6614750A863A174291A9B9831BC551A696D50F04F45
+F95561D5B84DA15D6496C9F8427D5B556119B79562AFFA37EDA982AE2E19832F
+DC20404DC5478E86850117BB9AE474C8E913D660F429BE61E287C9E7D59DD5D0
+9A62C28FBCA6071733410BC14E49B22CD8636B3E965D9DA178CF8125E86FBA93
+31D50F5C7400542DA93CBBBA8944EE169DB7611E79CFAA67688CCA936D180EAF
+8077680C74D1BC645A9FABA310A2B9AFDBB9DDEFD18F912A7D966FE93038A429
+82A8088058FAD8B52F2694AF12A3B3E62C80A82AACE1A5480873F77996B3546D
+3832DA426369CEA42428EFCFDFBD57B690E848A318867C3B56588FE8ACAFDFBB
+94DA4D6C88265A517AB3E561375F06C954D33EFC1C5571072F89C180E1462AA0
+B2A79FE47B686EFC46065667ADE70D3423C7C449DF8E2A39D189C1B548E6407A
+E3D5E877E553685954DEBF5BC78580A7EF7921EAEA472EB81B2964C15A9094EF
+DCCC0EC95767ACC3D9F6E8BBB36E1EED76566DF362BF8DCB94BC351498420673
+FDF75643AEFE1CA6200B714DE03F6F2A4B6858BA73B71273E2D7FCC0E43BE97A
+C335D5228B664DDFAC0CB72839500E9C8A2516A9C946F28C93DEE86A7E73B104
+2279AE679EE707F4EE45D5B7EEBEF828ED83E3B2380D9B3F0333A45557646C80
+B7143F152701AD8544E5A8109F3E0CEE0A6E8D8C49C7D4046AFEC410A283EDAD
+42781C38FBC2D98D1DCDB6849A96C7351EBA0D783D56905A5D772A118F9DDB97
+DBB26D6FE4F775793EDE0A5F4519A6C4D973A6BD436D2330CFB6CE5F45EBB568
+6A79EE5CAD3A65F747B0C068D562063C0556CFB8E3AD04CE0F438391F722E135
+90E5423033EF6AAD42A0202A686C780C87C5D3799033CBB459EA2DC1343ABF88
+7C137FD8C285826EF665B5F90A1E362AA8FF9C2474E1F438A2E6F16485172579
+23B1CB0B0511D09423413201D2A211BA543E680939DD879D567225A16C4CD76E
+B04D1B91BF21FA67E161DB26A049D097A4B0431AB4FBBB0BBDC70CA41B307449
+AA25A7965D89E5951B2EE7A3D46D26DB0D64A1B8D94220A6F94E3936553683C0
+04D4B8DCAFAC88141C66D2D21D41DC553197AACCB4FE62D0E9D3593AA0B6BEFD
+3ED51F6C677A1CB247FB5F39D08EB465CCB0AF8D84EB1D9E05C3FA75DAB08DEB
+2BA9A1B4B8D8538F2D20E9919C76DEAD4B230B0617EFB32101A97E12C148CBDD
+081A14ABF04BE50A7FD1E11F06684760C1959C85D157C6DD67FF4D7F0D934842
+8396536318F6BA47606BCCD4C97D18213762623940FF87E8308E49A71FA1FB0A
+7C006F84E26BAEB5802A08AB3CDD4861B1CD048758EB2F303AE0BE70099F1C6A
+EB5D77484EE63544A1140FC09E13896237183CDCEDF677A4D6CC6FCF0458548D
+00E7BD7927D8E0AC6822A858BE2D2F369797E4F2F674AA014D3F0B04A08B4C42
+11ECA4269EC6DEE7DAAC11BDE4B30EE256873920E79C5A089266C87A0122EB4A
+1D1B4E0D86764FD14A1C800FA29084B35878DC093119F71CA9FC70341D6677F5
+7BBBCA5E4EBA5E1CBD61E44985C5561BF21A22C4D1A942B75FD0FA75B1C78970
+76421CC24B96DBEEC9BB927AAB90B94B2914770037D0EF14D2983B1093B5F05D
+58DAD8DF60C143A48BAECF4FABA813FDA935FA6CEF098D29A62175545A0789FC
+872482A331B720663133AF0D61B6EAFB18AB4D471EBDABD5FB232390D7239C82
+47AF507CAF69C62484675EEE5471F735E8AA6C29B15DDEB1D2517D6992A8E02C
+CA49118220B4717C4279E0A6EDE76A64CE54814B51EC4DCD81DFF2DF9CF59A5C
+C12EE56980E3A80C78492773C1B1D1A0C7F3BFE1B7E7B1731F1402EA5BE61DEB
+21C8EF9F1E57E170D22F6FDDE20D70120EBDC209E628DA09B69D525677AE2B4A
+17452E2AC33925EA45997BF2663CA153759DC8AFDBCD5817F163C86369D2D25F
+12686E835F115F8531F8F0EF890FA264A3393238AAD8BB6C955DBA593332F321
+EF86489E8E6ED3815C698BBF21D5857D10102A06240438FF624A3ED426EA821D
+A9113B7CB1F0CF880157B257B216CEC215B6B73C0A8B2DCDB88A43AB4F3B1171
+4AFA9DF16C92C7A78AA490E959A1BE803A893412AC078B6018C1FC9D8F23BC79
+63B6697B87BE6BA0E569010F3BDB70F52DAD6478118C265174597F312FD4C464
+A5C116B5C06DCF212379758EF2CADDA208D434405C83D4361FA5410DEA1A9DF0
+077B9E08F6AA96CEF70F7756409B35EAA22D102EAFF5E8F36ED9681F9B4B72AE
+75313AAC6951C9C1DC2642D1854883DFB22C6F3EA7D8FE0CC70AB678E3190B34
+2EBC982E9E92BE03F195FC0F85B2C73BAD11624E216FE60325C19C35AE8FB25D
+C174813BAD51CEA75AED974B82679027048799DF42F077082C0A8A567515443E
+1AFC640017962345FC891D1FFA7EB7C88CFE8FCCF2FECB5C7C49D40D8F7C5786
+D9AEDAA2857AF5CA7D90FF18EFF86E4ED211088387DCA9C3874131DCB134EC2E
+1F2D5B11827678ACD93701B6F57243E15B47763930B76F1C1E33B2A196816251
+0F5C81290917380D0580AC949B32B9220805A9F44A38E13397C8D0953619FAA3
+68D4A5F9C38599842E330EDCD86E72A767776015142B6251A59DA33AC28F0AB4
+D8CB296ABC849DC00DAE349D9A503E405428179145FE9F3EAAB5C39DB39CB343
+F5CDBE328276EE0F2035C4B1C8E104B94EF25030DF7F35BA4BC5AB1D1A5E369B
+0AB187AD5878243CCDF1F78CD4352B3B13628DBEED34954C2D8911BDB13D8A62
+F68A00523FC04F263524D82C66F176B8986958562C1A8CA201C1C7AFD7F33517
+C807ECDC55949B05B38C5D58F2A473C5575061B2CC994D41EFCD270D428FA64B
+DE22E46E229FE262F7DBCAE2876FE695C69A3ADF5DCC6AB89CA6EB468BC418F7
+F7D7A1785D271357D2468A82BB61E5EE244BE1F8AFC9607FAC90B243CB748F16
+8D3412766E462BBC08E616AF209BC801453C9035880F3C04F1430C0A30FDE8F8
+C8DE93BCB3BEF729430152E6E81B0967F7524C12E19DD862C8C9E5AB01F67F78
+141625A159AA3FFCE1C626057EAE888C82147FD78A5F9925746E320751DBDDBD
+958E52F01604B6D94CEFD2241192924609B7FBCCC8D8F2F186A483DB58DDB20A
+A7B94F839E2FA69DBC924EDC94EEFC48BC84A3BCB9BE275B0F3B1BFED0651B07
+147DB8500593EAC0275BE7982B57148D9061CFC4E70BC9975F1B00DEB5D13ACA
+8A4169E9FBFBD476DF494B1CA81C58A952659B03B474C7017FC9ABD6840EB83F
+E625D84E8F2FF8F04BEF8F28317217DBCC86C06565C7C66946226B00C939434A
+8774EECF9EA62CCB18FEBEDEA4361F917C4DFC7B7FBAB471CA724128FF287874
+588C9EDE2F0B950FE6AC847A35D1F19057BCDC87EDF8BAA7126CC74DC86E9B8E
+F4857315529812B1641408DDDCAF40D27EE666AB3604EB641EFA4D3FC3578890
+5CB58F8ECAD89E7D56370D1D502E81EE63634F2B1F0515E6DBA5EC819642EBED
+4E118A902CA906919555368A5E5BFC75F3A9E2EC461C4724C7AE6878CB06C5E5
+7158F11C40AFA4BFB57A1496C38C870C8C05C1ACC0CB2564F230035BFB083AD1
+7F84EA9F477FCA8E8F3F5AD967D391B428E3572B9C8A25603535F84D0E1BD764
+938AE74F438AAE79B72F37E08CEC0606D493F2EFB25DA34E1D72FAEC889352F8
+11DB5B3B4C384C6580C30B52DEDF273C7533871D5C7FA28AD2060B6409C18D99
+0EC58C23B1D648E191ECF9C12AFFB78D765AE53ED625C1FB2748B5909D88ADBF
+166F348862083B7C58E25D02DEDC89DC0B87ADBE0924D160C7FD4579BCCA83F9
+1FE4B5E583B7492E36B0F16EB128DCCD155753D01C5DECA37AC02A1C5E274356
+158B2DECE1CA4728ED6D5019A836669EC84085D91FA1D402A4F500B89C6B09E4
+01A67F4027086E5ACF4B5A669FE81E82553133B4A4842FE45913BE3F320998BA
+6F2EC1854F842735FD22B50DB2EE69EBEE6F458BD1D895F729DABA54A443297F
+E2B65B5F9A8D20AC6F8B0083D5703AACF109CFE839BAC653A7C1D2AA5B3F911F
+F82C5827FDD23BCCF1407E767F52EF7467BDC5C429E5D6F1F663394D8D17FD43
+B58C7EDA3CEB1A138D1402FE86162C8BEABE1F8FC39B802F6C313FA332E15554
+9060BFECE1E40FBC7889E70900D5F22CDB6B8BD2844E8999ED79A2655A7086E1
+36184E08B6BC509FB4742B65F80F1FD4A29FC2FE3C2845C9C0344223DA3A2B89
+644DC7FDDE03AD8A5D1259EECEC759F1C0F5129E0CF04BCBF277AF51206B28E9
+E8EC58B96E168E2D4E3DD9E44FF129854B367D8FC177315993682ADFD2F33FEB
+4213111C728D46BC6F13F65F60C0013AE96AB8FC5728A3D84E8015205FE5380A
+04A5EC6FC9C72C3F6D4763CC1ADFAB74698DABE21885F59E7E1955C26EAE176F
+2C0D84AF904501C88032569941D9FED4E209C8BDB2023ED220F15228A0075F11
+A36935A8B7D1B91E0E66DD2910622D8ADA384451FF6F5E6D28051D776B430E4E
+E99436ACBC610143EEB3DBB7D873E35C88388CC0629DD29ED62601BB8CB54536
+61224923D93A69FB240C1D25FD879A7484E8CDA0FB76BC1AFCF4D135B8CD247E
+FCBD2DEF74547F5FAA3FEA8A60AA790F7B85ED071004F82386B86101B41CB722
+DEBC67871132E27FADEECFEB7721C6FF4B77928C333007277FC7AC06285523E2
+598780EFEFA487CC5878A57D2408061680CB726AFB44A97027F9E7B3164AE545
+BFBFB81D6BD47975362004CB333E5D810BDB17511A01D1487F4031379D0E131F
+2B813D895CA143D8A6978EE2E58619E8B55BE3CBB5401A8583E0005E1BC922DC
+C4CC5A716A47C31D8D5D3B7BE7E2B6A7AF3956C0BFA35B5F89D9EE4E454D9FD7
+2D1E0F3FCC128BB6B92F6B3115F68DEED6757541448176B64FBF32BC9224A0C5
+E4E82D7DCD0BE1C0022298875D32F27DDE9C850ED3B72E01584EB03FAC9C4713
+D29DEDFAC4A738F4B943B5BB2B5F92179A4CA0DB29B83EAB3D9BEABEE4D02282
+70708961192E2F9627FBC74E54C8CF09952424EB591894D889D0FCA0180BE70F
+51AB9820BF7333952A51F0F4448F7B0851716149F4B491B90924B8CDDDACD486
+14B790D255D871CA594DCDA276C074A1F51A8F095B6BA1DD5B26A57BB26977C7
+568A30160C5465CC8B66B012688BBBB0908386F7AA4606BCC46378E1A26C30D9
+F284C84136FAF8A0489F8147E73E5FDEDE2D7162307D428A948988C3F537CFCD
+2E3F56EF51425BEB6D0DB37C42983C49AF7324F7E9607F87AF41877643BA2644
+EB23FE557277C327D50EED9AB4F23A35DBBE39A7997E2B837C1D166E2ADAD130
+CD56565DCE92731B818C7291549E8344AB8D59A4A8B0D95BD1131D806CBF2E3D
+FFFC0546151BCFE73B016C695F3788F5F6BC9AF59283039E02A91324825B2A19
+4F60A482599375B843A3D646078C22F4E1DE5F13C570688925280EB69C0B9FF9
+1AF267E3B4B6D00F7A16DA6C2D9622858E81513C33508F2E7199BBFBC894DAD6
+2FB3B7878E5735C2A3ABDA6DE024826F249E8151373ACF5883534D7B8680D0D3
+A394EB482814A35F8BA0F8CC8CD364849953B35C43C5E6CA469DCBE8C04BD497
+A7D38DE4E9387D0D9A63F41ED2E4AB5E857BB6D9B6E21036DFB1C956F54A1F46
+002F98CD767B45317F3FD02B740C5033D38D315C753172C48F05AFD80D331D40
+3D7D832175367A9D6422C39B076DD94533EA81C17B9AABE9EFEB3F6DAA910066
+7EA8848B48CC2BF693910F6C14E6AD900849AAB61B5D1F4B220D6847A1FCB7D8
+D2721DEF363B65AB01ED9F4254A3D54A610053A2671DA1425EA1542CEA6E2F3E
+5F355B3B1D5148DBBDDD3A84432542A2880B9A5AD886DB1CC0ECBDB91B0EF5F1
+A4D01855BD959E683FE920F9814C5EBCA0A3B521738B4068EE88DF6E5EDF826C
+F48C3022CF7C723BBF9F3FAA0A9F28FD6199001FBD5CF488684EE070060ED514
+AE8DB2D05ED979B191F8AFD35757E69ADE1F09D216BD6F2A1F9AF730BC1603D2
+A1A8DC522F1725826ED4D2548F8503322C5391FD4EA211461B394D7BAAD1009F
+E0F5709885242BC5B611CA08D0AC4BFA35183ABF17D06BCE6608978AE8499A1C
+410178DCDBC1BA036AC1EFD5C59ED1BB3280F075F1CA55F9BF9274A787A4C5F9
+D38EB8E7BA3F4251F0463E03744AE294B7F4C5C7420278B52791AFDB1E54F8DA
+61B79A3EF3145AC58859244EF9AC6E122D49B3FF6FCC7B5A62D6191DF7BDF217
+7C837AC7A945710C4C6413F0F7EDC32F03D2B72F51035BFA3BA7271B50E56C73
+5DDA45F9DDB87FDB08EC69732627F91502823F0BA6E6FC287391A17008D82702
+D93F19AD258BAA1F171B4AB4D6C508D950F4BC71C87B4AE001C95D54E2E8167B
+C167F595C7BFE9E629BEA1A51A5A7E4A9DD9453041585524AD00C04BA1F1BB9E
+CEA58FAF301C61BAA901E9E5FF11352F0FED712693FE7C9CE8D841B7B1EA34C0
+9374B83417A2A1191690C7DFC43F540214CB696FB53D80FF7D3F756BE0AAC4B2
+240C00FB2245A007C86D7F5F88DC976B86FC96B7C922EC6868DEAFC9C2F3B60A
+45A4CB95867C874408D1317EB47C8B8368C063C1AC6E5D24C37EC63631C515C5
+22FB2CF490B59FE573E6DD28D201F58955263B10D5D7F9B507B6E6AF96FA02CB
+7F773A494E0B4FAA9BAA565190A022A5B3CA9DA5C7F376449CD18DE62F08E93E
+DBDAE4146E9D16DFE9901520D02DDD9571938FC030A683D817628EA03FA3CFF5
+227E534B05117DE3B45D28178BE051DED6ED76591C9ABEA2888DD513452A3AD3
+78759C8DC19DAE3269B1C19E3C109B63EE457147A526C572E106D1BFBBEEB759
+7A4B7C51CE4F7AD15F61E43A465A86EF62FECDF59B32EE0925F2D4C70A74A2EA
+5ED1E65DFE768885249F250175323BD3DFA5E1E1BA35BB5CFBBEE0F2524D916E
+4D9910244226DDA66A7A3B292AD35ABEB937824E2FE5BC689F7AD6B6E5FFE9CD
+3A0F3F4BA42918BE0DAA22AE4F2F01DF24D89D73D0AD147FC7AADD3931B1B853
+B601F569B3CEC2929C2FC91A6A4CB61B7FBA27C35FEA5B0E769335579F9D8629
+6479F658BA9C3C334F1F90E09F157D3800462F68639C2640549B9EE1F46269D0
+7DD1FFB1600A6BCF8021297899026BA143D253626E678D2A4F7649F783AE1C33
+35767714457735EED3EEB9FF35EA057D9B66811BE93EE28368AB7321E1F53008
+4383582872C51DB60AD2FE56E257BB8A42FB40C48330E2C42835CF1AC1A2AA2F
+C9858A5B19ACA961DCD7A74045EA1843CF5513352E6A054A8CA9B6B31125A924
+66AE2A7D61128B3A8071FD4872EB1BC21022E506A0FA90865108479E427C846B
+F50BFF421C2A2F3E268616E9D26EFFE62192B25A72537CACF09B690DC9CE030E
+61A8525901989FCAA57FA8A2FF8F700B6151DF3B975F1C216B024B1FF659C968
+579A14A1611EE5DB460248529AF30C45D48D97891F3F6F478E6214547A0E69D3
+AA074876F550B8C56514E7F31C23C37E50D939EC29FC194752483D692A334C05
+D3AE554323F7DA8989172A1D089DE2131D03FD2CD26C9252082D23B7C7DBBA4D
+E4B1DEF34ED8AEF84DE89839E075B26F4C480484DBB3C92489B7A130E7693BBE
+6AE29994AABF290BBFB504DAC83CE3696378EE894C6D72E14944A238884520D0
+6A1380E5AAA0F57B6F6E4114F95DBE7E3A966A6D6E92E0102E399B7B48343882
+24D50B111990D15CC40591CAC74036B4637219EECE69CD83A23C9E7E49097086
+F7A8C04D1A919057DE8750BEEFDBA865607EBA84F71893CF39103E74AEA79302
+912A1B6D9446D12B3A3BB2D8B4A906774A6354BCAB580815B51742C64CA03564
+8C0BF0D8F1292B67DDED02D40D21AC5666FEDC76C4191D19A89A5CEE13D2D93E
+1BA0112ABE3551ADB6C8220A8B25A7C6D2596AA11ED096F8FB93C674306FEA1E
+6007CA755E72AF4EC297FC3C6B8E655E74F1F69021EFE34A35807BBEDF008B3F
+4D9C22239AD9FE3880858441BC82487026FA43494A5065208002E8360F6BE7DF
+C54B61C4277B2924BD0C035FC8CEDD4B03D562F39AFF77195B4B6396538A2F85
+225E9C243D6ACA71C954D7A5F8F0A42EF22CE2A3A8968A6D328632A309470332
+E174647759B31FD0B0ACD121F90125483B5E9279C149F01AAAF58459465097D6
+11D6667B97555B0A4874CE54E2B5CAC2C1038C25C4C74B492D3803D2983DBB87
+7EB21B7A9C0ABC08466DD6A28B086C1BBAFE32A03C4E07CBA57538E3614711D9
+D57398F7FD74B7EBA1EF5A31AF68B37E59F366D9883A7BB1CE4D746321CFF4C8
+63D80C10C31F069FC99E14C330B22F21BAA7325A6613B0750163DD8712449190
+328ED568AE5A58BA068D04012D30ABC24E43407D8D4D5782ED2D0D663A7C521C
+87FBE0112EB9E2DECA00903CD5BF623DE918FAA83DC7485AE636301684B6F078
+7B8990FFC2078596FCE69F0A81B2847B390BEA338E678CA0A93D9689DACDD54C
+67A9069AA4C9CA1A109A685EBE4C6AB8103338D514932700CECB39AD5A7A4D62
+31CF42E6759A81FF5F868B912AABAE823467DC86F028731E6A067D7C34288031
+36B52BFE2568695E9C4718556862C80501A9465DB2A5F3876C929BF6DFBD5450
+0A4E596E3AB53E33B743B07CB169E4672F2FF79DF11EEF3645BA2F269039C137
+0ACFE44937480BE5C28EE28EBEFE3C5EFBE49671A6739096500067E65955AC85
+AE824ED2ABB48F20FFFEC4694C9836B3BB879F05F079B18B7EED988301E3AE5A
+DAE3AAB2F84731571094B7D2DB2C726BC97596C2AEF39AAC6E8D32B3505B5BF7
+73FEEAFD3FBCE1FA87A4911FA0C75A763ADDAC7DB097FEABF1BD8E8E631F1B16
+3EC03304518C35E555BC48870141B73038618A7B20F687066A0E22A8C531B076
+9962D22BC1E64E0ED5FC26C8D618E88146558EE38279DC12F886010D3263A4AB
+C2BA250F9E8B5277BF23AC15A0E5ABD32591EA2D30935E80BAF07E10A2DB7520
+52DB91DAB60939802ACBEB745582ED8C3778E3B6ACE3B7DF9AA0864AC7CC4A65
+82F17BCC3041F8075B89A8612B30CCE046DF714257E1133A47127F76AA4AE718
+D822893060CA79DFD0235BD5AA1A57DC0E95C6FA8B37ACA7CFDD823086624310
+DCFD99F05D8EA641E533CB3B2CC6C857F3E50AE607C827DD0CEF79BABC032384
+220F667C66A950543311F1D14F9D0B24CC3BFA0477B87E0EA10EC498B4F87F40
+198500379F5C62C66B5DBD31A1E66466F9300D1634DCADC8A9D96C933D6C0E05
+9429B43D71C8DB8F80B9068F3A09AABB41C145C2AF9823439734498271EE4A96
+5678036C5DF89B6FB3948163350EA5CA5C379192984AF83C9379DFF3CBE0BD7F
+13EE02F9ADC3EFC72F07C4F37480DFE041E28F6620F53A4EC75BDF6781579993
+4BF1566F30F25AE584313FDE436C899AA82A10C2FEBD0F7093EC78ACB639C3D5
+98DB725ECAF33F7B4ECA29E28AD4B913795E6607F0FABADADFE37218365B8F86
+40A75773632F10C4B602D410DCEF5E8204187E996DB2781F5478CE9702201A79
+7CA1C3F890873E1E6020184B2DDF2D050A34E06EEC1FCCCEC78FB5530361DCFC
+112BF7A9380D13ECB486B07FD33CA36FF02BA559EA4FC3A7F855850446911F53
+21A9B0899F8F8FEE54E5D61160D6A35F8AF9762132C9650CCC88C889A5090611
+3E702D29B5DC109F2E8D39871A89F6E8582D4FDBAD0BC681BBEE327ED45E1BD5
+D27218067ADE2B020A851F9773CD8FD9585E965D3D192B664AE8B19010A825B4
+F590963E06AE5752EA26534887BE27AAE882CEE68EB0C9A83981324239582620
+5A3D44C1946AC7E5C074557D484F8858515C9AD8825F38903A5FA5ACAC8554A0
+07C5174A30A5091351866398C914EFBB78D0CC3DD7AF3FB95A99A921B946BCF0
+870284F3A96691375D5EF48A33EE79EC807811A5A44A234914ACF08ADE69A772
+EDF4896F2169199BFE4C5B66BE0CCC4A02F3A9B87CBDB3E83B2F4581DEB0F432
+C13CA4B9D7CF8C52A9E9832550BA87E5DA95F76D4EC55BF57A4CF6E399B00ED1
+4ADF57A2A47E7ABCCC867A02975E40A7375307422EEC85A278C39E6091CDB776
+15838C3F987603E8CA1858FACEDD1CEC3B78B0D1A1EDA2CC368C8B125CC3209F
+12FFB560C6B96CCC5A638E71939ED75546249215FF61A4E9ABE0925FE8C9A6D6
+0AF5A33DEA8C263D51143F72D5A245B56A0E49FB660F07986FF7C91F4D11AD36
+1C5F66A6A5283F9C8B444EC4EA4FAA4C1B277B455845278AA174C7D0D5881E15
+A5AA4468B9A20A1AC10B3B6996C136AFBC2EB9F3D6B9A53AB65896E5BD8BA962
+8DD5B29925B992DF4AE30740E57F6372CF430FE1190AFE0BF1BB389C2129C8D1
+7A69EDFFEC9BB35A52144F03315444D1D1A1F8600446F2959050B1BF4AFB6D44
+90911D5FDD4E38BA3E345E86ECE5D27387381CC53CD652103C6B98748455BAE1
+A31FB624F23CF39DF9560093C8DF64BEE8043B8CED8E110CD124B119C143600F
+0AD5FE29C39DB36BFA6712E0E297BBD031ACDBCEBBCD4514F8042B748B787A71
+492BD21070501C0FFA54217DABFE5B99E714C5279B6A3B9E38C5A4EE902FBE09
+B90EBFD1FBACECAF84CB6070A983A28BA38F872158154596A6950AFDF6E6528F
+8369C65BE389B921A9D32854390B963AA86D84D2619F6AF88A3061E7C490B85E
+B8B4C1F2C926706B6E63D03C0E7E76EE4B900F12F337ACB4664702D493C73B81
+716A784B7AE9AA8A4E1391087A0510B8897F0A420A5D359D99621F92D0968876
+B893C59059F309D7958EE76E7D2539FE740E2BBC53FCBD9E1D7C00B01F5FB9CA
+6867E6F5C80570363D598735D5076FA2956F6AE05EEE3528775E64F6FE9F108E
+B96586D427AD6289A59589DFF7FAB6C5D4130F4E01E1B668D24EBE47E83E53A4
+FDC8F58A4B13AE4E9736C967296638F304834732A905FEA93CE590FEF6E07B5C
+F4DA4120AE6BB742E6F1D07B86DBE38F300175F32AEA111E657DF6CE59E76435
+AE0432163E70D050D7F212AF8A5E6DA2FBB5DAD7F74AFDF9B89205556BEC19D5
+DD2302201E468F81EA408F9291FAFB00EECC1EB7552BA26D1E8F248A611E7CBD
+DB533CB9C2C07257814CD6E700C2D2C52BAEEE1EBCB2DBE2628ADF6DDBC5C10F
+69CFEB494659A06202519D30A61C1E85CCD94A9B4C237F7E8CFA9B7BCBA4183F
+18C33DD6FC3348E5130584F197EB057BD4197373B8C93D5AFB8B2B554955CA08
+0EF5C93DB7119199AFB94CB5A1FF01B755908194487932E11CA522615E412F10
+8EAFA32BD28C8CD6D71F7DA29986DBE7C6F9B2C45C1E0AEC5336BCBA05695848
+0FECD96FE5EFA301E3CF75598790B5CE4DA0EC088AB0702B8643F60A51015C15
+0FD23F82939DA2F3E181A438703198E1E358DF205F7C2C291CC7462E0676A0CF
+F58990D1D10003B33954AF071222A0C7B7C4892641F66875BE576865D1DF0D8D
+8955A3A0D82BBAE24F2E41936836BB5CDCFEE4A520DD619FD344B964378959FA
+3DD39043E23DFDA51D40DD9B5562291E9FD9269B1A6D8DC80EDBF3DE5C140C88
+4238C245BF23B97F4C592C63EDF916C355282E342E8B6174B4CE008B64041588
+F0167C3867381E81A403322D4F0215AF0F367FBDC3A5048D6FCA584B57BC5F69
+F1C2A2FCF20FB96C15E9AC8CBBDF8E5D6B5F4D8DF969925E947F0803D318545B
+BA446682CFFF6E08F70A7782FAA409CC9F323C7D5AABFF0AA1B9161BA5838B96
+90D73021BB1591500394542B97ECCC48D3C59DD7064AD0E98621ECBAB1BE7D61
+D3309ED265D25990199AD9C9F9E5844747DDC944101C551431B263B5BD682399
+63FDEB162A22E8BE3F9CF129BC11C5C4FD1CE1FFF595B372BA4EC90619E0E26E
+B34E49AC3AD2411443C147081710481EAB129C0C1D8828D51E9EE29551E17600
+9465564C1452F27B1104242E9A5E28527E96B610935AA75EDC3ECD498CA02D28
+B9504EC27B404A4619C21697B4B019F196BC545CCEEA896E3B80767F29965294
+7D3E06D83EEE083048D7AE841308DAA75246B32C96CFC5D18757E58DACCFC363
+38EF2EF442C6C7739C81B0EDE88A497E824EB1DD5D661AEA15DDF9A1161AA572
+FDC8EFE27A3467FBDFBE1CBE0231E0153A0C130DAAEF9700A6201C9BF2E306E8
+D4286A816C52156E63016224067175C3FDB44E25B9FD8AF1882980BF3DCA6A5C
+DF6651289614BCFD82F4E105B1C43C77FCD6C492775648EEE15DFFDA250368E9
+DA192400821A481567BE177D33DAE4F4A39075DB9829488FA98D9275BCC49DD3
+ED835A655F688FB64A642200A75801A3D80F6C8C0249F252B2EF1FD5888E0E85
+9A0A5105DB09E5F1E92110FB05446A312BE1A73EFC4572A750BCA74F0E511BC3
+2503C8527F3F36D1A6575B0E61F0E2257E5ED0E7BE8681E7F18129B0C7588801
+1D8444AB2FCC25D43B83703E16C23B5902A9A48EB17CBD1E6307D79DCAAEEA5F
+32BB6E028CEDAC2EB9C79E314621F176195C034BA1188F934BA8C303AA479B01
+2EDDB0AD1164306BF6ECFAAEB67E63F26B4AECF87AF397CDD86ECAC5262ECBE3
+6B489567BE56012CD7F0B09773C37B7A25601109069343B5573023100E5AFF64
+793A0B8DB10539D3C199AFB94C59DEF040873D0186336EF786D2D33517018BBC
+076ADB08D20FC01E7E7F3C42D7339C2A1FB350684D67508AB5353B6428AB12AB
+80D2C572FADC30C839E102EC16FC0D4D3D3E5ABB8D516C8C0C17744CB9CB9925
+374772D000171BB4416976C6B0484C6679EE6217801A4E8091D488F034D6FFEF
+F3BCE6232DAAA82A990FF8B61BD0C471F02433369ABC6F761A32C88973007101
+5C45A75C3D25D9401F7A2BD13E9CA51ECA4EBD3077C30E9BD2A102D04BC7362D
+E31813932A8E9402FA067BDD5A255087DF95E7CFE906C30AE748F06715644D7A
+5A4140188D11AF8339662D16E2FBC465E4AF33F38A9231AB2BF90A7401FB3E2F
+296073B8FFBB80CCD60A1DBCD77FF472958488C3314957B8F5737913865CEF18
+7D937B3C8627609D7A32DF6E52961B136741D3348D12D5D6F1B65D821A72CCCB
+AEBFB7E802686C09AD0BEF38A55A11DA49E18665A97DCCC584F3A59B6EC121F5
+AB1A60E3D77F71151F54AAB9017735CAFC5A0144B0EB5F4ECE69D8404BA40E14
+BB291F6977A51D2D2838EDAEF7BBE328E402974C3920AF2F9C30E955D5975BE2
+F2DF60879B3D7D2DBC760080F823F6154BEF02547FFE9A28C02778CEF33F5ABF
+FF085A5066DE27FFF461BFAF3FE1E25C62E26A7994CE2945E9C05C58C1F18390
+C7E27D7C6F201B611C4D92884261F27C937B5EB40FA7ACEF3D2F0F8FBC3911A6
+E8D92827E44AE3856D4C652BFDA2C29535CA65F7C5B98C4CE922FAB73E9E761E
+2D083973ED4C7EC5F3C71EA7D6FBA133569D268AD82D135E90C3715ED9305717
+74B01C610241302AE094302A297311DAA4A7CDA97283BA8D9457D543BB20893F
+0AB2C2053C3498448CF74F1290AB80475722D5604364154CBAD44663DA6C4665
+C59AF29360945A687CBAFDD76B68EA7D1120723B3B28557E46F6CA670764F00E
+45591289138AB00FE741BC3801CC88622CEE775E9EF54725F8F354E5931BBAA4
+9CF7D6FFA9133709CA0F6218ECF6E32307D704CE40A0C565DA36C339F6842EA2
+FF1EE47AD2107FB3DEE40FB2A7278C8EC74A375BF99D5744E9CBFEEBC6D3BED1
+5A4DCA7E24BCD5E569FCDE674AEFF462F4E2D9DCE4769A796848803929A63DEA
+8030DF8491AEA8A35B926BEF23889C543315F3E3943F9F39954F2D516BC47ED7
+A5D6D2544C56337AF45A2F0809D8E498E06382D2C6636B93F67D0502F45CCE6D
+98393C8AB4F2DA5383CE92B9AFEF6FBC99AF7A6E0FEF18DA56F90EBDC74D57C9
+45611369E4D8687BDBEBA054A5899534208D8B890F1D86CAB88528C9269497C7
+21329C0ED415B4411DC8316260843F3EDCF8BC7C18004DDA6414E832316D7C46
+B823A11ED6103B82C9BAC8B8EA60DED9AC50002DA3C1926B61CB2511DC19A7AD
+F2264CCD3C503448CA1D44B3B6A5E01BD7DC46EA760876FE5808C7E1CAC4A261
+41776282BA4FFD6D683D267511697E3EC02EA48784A7D2E7D6B806641BA88F51
+81AF66F86060C4C095D16141B3DED45C397697FE8F663D8E4D96E38506C8CB22
+C5729258D960CA9696AE98CB3E61D1114A58ED89453C6364F13CB9285B955459
+5ABE5B5DB88AB1C3A8EBFF5F40A77AB4CEC5ACBAC6B6537908C2F19EFD40BC55
+147D7ECE398F2B7A744002FD42D816C6BFD47E2A118D11EC6E93784D104079F8
+D1C68B7C9D56F33273CAC459CF7189240C34DAED52B48F9DC31614F57DE70373
+C0077C9767C05C35DF49017B907713D4DB5CE57B980D60D79FFAFA3797E880B5
+65595224FBA1B8F07AE1B6A21C33BEACAAC3421196D6E163D9D66EEC310FA915
+A307544F6F9A977EA065C19B605EA3377BB42B48137AD829CEA058EF582CEA8D
+6D8D814DCA8AFAF60F9F9018D99424CA7336946F129C6ABA3FCC18E4EC3D3867
+B8FB4C35EE461896E8F2C860EC5924EDCCEEDA63E0778B6598E95B0EB65A710B
+6B01C68E7D1EFE68C17BAF0665DE8E50952A13DC96D3CEA3DDC4697A72188F5C
+FEEE5FEA51960DEBD3BBED7C79E221C68E1A589101AEB69236A096762017EF0A
+AEBABB115FFA3CC931AD569C75B9C988F7DA0C1B7F0FE091821224B446012483
+F74290870EE02B3CC7BF269EF4453418D6D681875DC29ADB2388D9CA97B40961
+073135E62998099E27C758E6EEB663561995A19AEE322620B6EE8A4E145F59EB
+17AEA655FFEBB34CD7A9E66F127A5B3A7003AA7EA58226F16FA2C2A6DF5D3C76
+BDC51A25BEBDDD216568B6700D467FE442CD2A536D2544D29AD86F3B6DC8F9A6
+D72E4C31E555CB799B6D100BC02483D69EA463993BADF50BEF92EAE36D8BA88E
+3B87D4D84F0391CD3C1FD00D93A9ED85AD222A233E5331D25B1D7C84CD7D45EE
+24CBB35FC87E734710262D4201319B407C750B460BEE16896A795E4558C9FFE8
+B8F0B622B9CBF41B622DA64D901E090CE0D35C1A10CC7B78854E24849ED896A1
+DB128BBDAD7DC229EBD7B9A15D77E2470280FC162E0DF064EFFF0781D48B9A32
+866DBF5FBAA0EBB91CCB0164B9F4F5DDDBB6BD96FF9210BFC4A25974C5EFF115
+3172A6E4C31E30E94EC7F956D493FC72C74E8BE524080E9DB08B3A17404F318A
+249420D01D2E59C12CC0DD8F35EC399941B1844FD5E3D98299047B2477943563
+ED594895ED23BE64CF77FBEB165CB48A31CF8E7019C267F9DD1DBF8291AF20A4
+4EEE10ED317BB7A70863242323B7C60B5574AADC34BC583995E8EBC8834F15E5
+88B309125EBC8FE83815F838D82B6C860A033FF70477B4C75C32D60257972B4F
+C9D9F859B57492D528C630030A7D63337B9DC5A646F2597C3458987A82D76064
+BCE6F79C03BA241049DDDCF616727BFDE793FFB645FA74B2B0831154EC3E9136
+D08681B82758FDCB07626550FC328243BF4E46DAB58EAE4E2327F53365068693
+0745CEB33178B2BAFE7C03D75BD6F78DAAC5F92A015EAB89CA2EDEA0A8D18906
+AF216771C0D7DFADF1CA842CBBB69E8FA45319953D38C4CCAF41538798729B8A
+4DE30230B65D53643D9177315E39DF88FB246099
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+cleartomark
+{restore}if
+%%EndFont
+%%BeginFont: CMSS9
+%!PS-AdobeFont-1.0: CMSS9 003.002
+%%Title: CMSS9
+%Version: 003.002
+%%CreationDate: Mon Jul 13 16:17:00 2009
+%%Creator: David M. Jones
+%Copyright: Copyright (c) 1997, 2009 American Mathematical Society
+%Copyright: (<http://www.ams.org>), with Reserved Font Name CMSS9.
+% This Font Software is licensed under the SIL Open Font License, Version 1.1.
+% This license is in the accompanying file OFL.txt, and is also
+% available with a FAQ at: http://scripts.sil.org/OFL.
+%%EndComments
+FontDirectory/CMSS9 known{/CMSS9 findfont dup/UniqueID known{dup
+/UniqueID get 5000802 eq exch/FontType get 1 eq and}{pop false}ifelse
+{save true}{false}ifelse}{false}ifelse
+11 dict begin
+/FontType 1 def
+/FontMatrix [0.001 0 0 0.001 0 0 ]readonly def
+/FontName /CMSS9 def
+/FontBBox {-63 -250 1027 760 }readonly def
+/UniqueID 5000802 def
+/PaintType 0 def
+/FontInfo 9 dict dup begin
+/version (003.002) readonly def
+/Notice (Copyright \050c\051 1997, 2009 American Mathematical Society \050<http://www.ams.org>\051, with Reserved Font Name CMSS9.) readonly def
+/FullName (CMSS9) readonly def
+/FamilyName (Computer Modern) readonly def
+/Weight (Medium) readonly def
+/ItalicAngle 0 def
+/isFixedPitch false def
+/UnderlinePosition -100 def
+/UnderlineThickness 50 def
+end readonly def
+/Encoding 256 array
+0 1 255 {1 index exch /.notdef put} for
+dup 97 /a put
+dup 107 /k put
+dup 115 /s put
+readonly def
+currentdict end
+currentfile eexec
+D9D66F633B846AB284BCF8B0411B772DE5CD06DFE1BE899059C588357426D7A0
+7B684C079A47D271426064AD18CB9750D8A986D1D67C1B2AEEF8CE785CC19C81
+DE96489F740045C5E342F02DA1C9F9F3C167651E646F1A67CF379789E311EF91
+511D0F605B045B279357D6FC8537C233E7AEE6A4FDBE73E75A39EB206D20A6F6
+1021961B748D419EBEEB028B592124E174CA595C108E12725B9875544955CFFD
+028B698EF742BC8C19F979E35B8E99CADDDDC89CC6C59733F2A24BC3AF36AD86
+1319147A4A219ECB92D0D9F6228B51A97C295470093CA270C5165C6545D6DD11
+633CB01CF6EE3B37AA823D92F442576C06EA48520F0F737DD7E36EFF1436913D
+7B55347D27E02EC93D8F98260A4CA0D41D684DC6D2CCA5746F13A862CA42419F
+FC585050BB153883D3924F26A261CB59E945236BF818D1067BEB62B89F25B57A
+C81D10844C89A1A648EFABD92B5C8FC1671A9361602E52B9EAEEB8A603C8945A
+F8295D0706DA6CF8964B671F90DBB3949ACDDD20530134FBEFE9D1F1C429097B
+2A8AF2818951D34F2798A46FE02C69BCE1A2B4C11DF1D8FE0610BD9FD2016D3A
+ABFB483773ED4255C1B00B9484918BB10893DB86FABB84B063B0F287AB61C16D
+6751C62EF5CDC87DD0A92D85A316BE8C707249B5FDD5B61C1906445E2B04C689
+6A8E764A825A75424F14E0CD2BA99AC4746E8E0DF4C4C682F7A0900A2218135D
+E5E58CA35D1ACB83255F683AAAEF8092CB082A8CB0D779673F065D7408FDA080
+4E12BA4729806B39E930A9FF2280D603F9F2EF1067461193BF703BB5383FFD53
+6F67E20F0A88A204DC683CBE272E7E8489AC886630624DC40BE31A47B8AB6484
+0014D5A9F629CABF60681786A720D84713972B0D590F2E22A666756EC35876A2
+37E893690099F6F9F0449187021D72A7B13E04B6FA937F7C2E840FB766EEC767
+5BB4F23E26CBBC216F73770B50F992386A289574CD6F8F4C9B7588BBF8482DC2
+3B33E5257C797790810BE889DEFA050B290D6381943A222F1D2560CD26B72FED
+A2013E359EBD486CA5034784707060F17E257BDCC5798315E7699EE7EB576FE5
+8D35505C808ED586C153AF420529F113ED9A05EF1C7F1F606F62BD2FE1303F82
+3F483CB2EFEEA499D3EE8684DF5EC36B4E9035E56D5180211A849FE222D99210
+8A3CCB004CC1457C3647FC73F64CBD2B02D692E0E9B7EABCF1A29740EF0DC8A2
+CBBEFA563DB9D3BF920E504EEFDD56036217B61D8E08103405A9781A9CA6B9CB
+FAF508A835E2D49BC7CE894F9D0B7B8E759660BD7D53492AA89CD26D603458C0
+776258F3A478BDC8E4D9C55C92F38C0A336C8FA39D52533A4439945B045CED20
+A2D9C64EA02D34FB4CD7B377BE5B4C8C110924DC0F71DC4E0C5ADFBA8D9BADBD
+4EE8588E139E55570360D11E05A4B233DD8749DDA75E8D53DB3FB331B156D437
+5D2BD10C724ECD919780AF578C696A53765533FD4D2527DD2DAC8FB7A3CA703D
+B34003DD72E3D20DA315CE4B62018C685D071E9E866A224B2E72C4C417E62FAB
+A678429808F95F98207C4A48621F6431DDCBDA2D137C43D765D02EC4A724C0D6
+4DF9E07A9666A85DC95DA2D39DB3F90F69BA2A717796D1C87F5D1A22B7537740
+63846E8CCB48F3250885A8D3F83BD9DF1A8C14AAEAA670D438D47420F6DCD38C
+8884C761985EF58B8BE65C9FD1703F24BDAA827F7FFA56E5828E1DED1CAA75F9
+6E00B8AE3127204BF420593221D6E7C35EDBDF8C1135A326A43CA14CFA2EB30F
+A3D2AD65DB0E6E8F1D242F69D4B5B4A1DCC937A129923070CF0BCD8C016BAE0D
+9CD293BE8446BD1E4C3627506E78A346E2B20107DB58F0696193A02F4C54603E
+CBE96510F306101B5C3F86EB222743244573B84919C8683831F3034112CACDE4
+6B9FD23FA96BF3BEBD96198B2F19D0622FCBA58AFE129420C374BF6EBCDDB1A9
+99829124589CA5564BD5622BE33A1E3BF0FC7D1E6FB699A3D553D86CF2C3B748
+CEC5E58E948537DB684BD8C57B1C5B6BE0BF32C1F958147792DE58A9CBD010B0
+6F4FC27A1AB18C78A83926A627A8191DB14152B424A87AB752F8979DBDF02537
+B6AEFEE65D271F9E3BFCC90C0B082C3D1F77D2E1AF27C1091ACB90FDADD69B21
+7F8925C8232136784E63A90A5226D9C46DEEA7A7AD477BD3CC6BCC772A6A7CE9
+DDDE578B6B71C73E60E3B588A76C4276A3B68C9E4FB771530139344ECE15CB77
+048108E56E60C55781FF4D9B63E43E606187C430FF2CA43B35373556D060E693
+628C9C33327DABF70C169CADDD89392636D1F6636692D1DD600D7DE98F73975A
+9C3CF72D5552794EFA5210F3941D39A567352B083533E9CB9FFCB07304F60F05
+38BC6E9B96B1381E84C3EDDD5DCEEF9B328B5CAA147BD686063B686856E77A2B
+C7E29ABE94452AEB3B68C28DF3417A411DBB6FC328F182C1573CDA9AE2B53A94
+2F964CFF55479F3AC5472D794B2AFE97F34FD09E487AEB96A5E643C9AF82F6BF
+1FBF5305A7334A8E90DB30C3275FD3058E30C6B8C7B0473CD97D91C8451947B3
+763E2998318E0C180AF566A836DCC5E4C22F18BEAAC6CCB9AA98B156B59265DE
+661A3049AD676BDACC9E431E0C4C0A3F1C794570436D827D8B4AEE442DF6D9A0
+EA4B7BCC5F0CA377A914C1B49B66707F2D37D5AAD8357B831A052B65901CA3AC
+2D476E711D708860666413CDF348E496DC8373ADC3BB8B4A15F157D1E3E50A48
+9235EE6CF156185E5FB4A8893138E97B4468E54B8E5CBE6E1541DF97558D27DE
+902516C70F1298F7C17E5FD19D34F3E38169E1D6DAD860109CB3A116B13EE719
+D9A6F56F92DA250D5912EBDBC64AAD62B6727539487816DB2C2CB1502BF67C55
+4A22868F50CBA1CB020C2BBA91C327106DCFEF15A41511777B30EF6D9E830D33
+5551A85BC5F175E1F1E4E6E7477D347A066A881E1AF8073163CECDA77AF62BC8
+FC634137FEF052367138D6893B03CFB5D8BE8DD201C94375A2E2CC9898AFD52F
+A98A7B235F743A9E5D3D7DA8779B032D42D30C8B685CF74241935CA8CF4E32D0
+0AE9E91C4935D4C8F1D4B04731C6D325BB778A9661A42738DE1E63D85CAAC9EE
+4C8F26FBB61365A8D1B3E9E4A2020A7302594E7C992C56E5D21F421254857807
+293F58F42B00098741959B71A1F1E7FC98EBF7EF23DFB49096DBA6FC5A4704A2
+81F71E86FBF54B08436BA1F55B3B9671F0490350411678A09CEE903A37720311
+D10E6823DE99D94ACC54D6FF08BB079C36E667DA778D09574B027BB6FEC2105E
+FE6A3DE580C763EEC8FC59FB9D6AB81BD0C64CAD73D9857A10E505ABCD075260
+6A9F554864259B158FF14B6D5EB894AF5CB2593A4D443C5E2C5C99834F29C96C
+4167148BA7CCE6BFA0A131763994D268CD2BE565DF6DCA3BED6E821C39004EE1
+9E40EA741038E7A49B01A302A09F3C3E046A91A782DDBD82DF0474246D41BE12
+3F301640DA56FFEE5CF6A605767E3036AADBD0867D0C630432955618784AABE2
+A1E731E8B7FE85517C1FE08AC5FBF317144C734A8E4CDF19383CE61C8537AD84
+F1D43F1DDE40B704EF8EB3512F2D002AE1EE8474BD0A12107B41A96DA9996F6B
+AD780CBAE845CC2F4233B23BDC2C959003F997072F7456BDC5D0546A3191C924
+66452283578E5035448686E7DE488E5E217F59A8FA2324F3A35FEC7A8AD8A26D
+98A16BDA35F72B91B0F6ABC2400D99A88384AF8B832F91AC003FBDD76005E349
+188CB97BD3CF741C01CA3129F113E0F79CD219700C4A3F84CEEE93C0BABACE19
+A3501BBF66A5C20E8D2FDBAF482B96CA9678C3C353F65400A21EBF181984A8D8
+62C1E3466594C967C45026E1362AF24965A0DABDDC3952FEC1B5C93C733E1617
+4692A56563706A8C4EC7510D06C0D4543F5AB4C61B3D976B93AAEBF4897F9070
+FB433CC9A67D862616CBB4DBABAA7A8FF4958094A6122360884BE9B9C5E73B6E
+9A35415DD62FB25B7F1C188FCF933B6EF4993A4EB946941594655D7309E1E50D
+836ACB570698265A59152511AA53EDCFD29D72A8632EBDEFED79F2F8E1D2BBAB
+8DBCA5BF77C99CC911398867A0984CC649BA5EBD5323110AC8AD48FD0CD45C89
+C5AE9DA169F2BFA676E2A9BDB5BF8A95ED2851E215304B2E4473B68AA7F2A9C2
+910D865CE15D189BCA09436BA7570E56E67BBC702344F52E046987068FB853D2
+2E45A6F483E27416C97EB8D72491D01C0955E10CA5C70359B8F90CAF67768B5E
+61AB2612A5EBAC73029597E0AB924AEEE0240ECCA73949AB3722E8BEB2A16361
+8497722FF6382C6978891680B6861DBCEF320E8DE457F4704A62ED2943DE2382
+7E2BA30649030D92B3CEF2DE55AF4770FE275E57034C9D9D7112A1A0F8F2DDC3
+6F391D18A15F6E0693B9DC7CA095C3209CCE0D13697CC084CE310BF499701BEC
+1E1C13010A34C6FBCD44AC3BAC9FE70A2C065A1B5243E26755033E2DB0255D68
+2431942FB598A96611B77A877F230B06AB3E28DC01A585DB605AC6C3044EF2D9
+DCA7CECA07CBB4FA4718E57F26B520291C46A9A8AA8D3BB7394111096D932741
+495A858901BD8674A21208E163160F727F122D4BC5632D2B30C9EF10AB2F4A42
+72E9E62AC44CD0CCB50B25E30EC2B90D9A46CB8CC749EDA7A5F5A1C1734AC556
+3DB253D56657EAC24097E94045A4BC969BD5ADFB577F5A5005F742CD2615DA9F
+6E5F65A02FA47A8A36CBBFAF2442C01B42EF9950D02E05EC3CA855569FB13389
+90ECF476259754C8BDE5B1E7816C64288352EAEDD488ACB3D0219C14C457F665
+C5947F08EC99F8DFD2DEBA6E6972D4125E2EBF88AEF6DF06C5996E48D52DCA99
+365E2040D066081368AB6D0D2429C2FCBBCF6FE387A01B7BF00C66E6D21FF951
+EDA6893B597C4B2278C8B4EFBA21B34DCF3D866A7536BD9874FBFE52E77339B5
+28B291E1D519938578FFBF2B9FCF7948449BA8EC6E99714BA5CEF7E6BEABEF7D
+B5D4475631CE1C48A51D7EAE0F048C6118882586B04DAEBF9C7D319ADF3CEC6D
+FF712845E670BEC0DE8D506183CD8A9D26435247C1CDF5FC50A8C6EE8DD2ED26
+27EA1B6EFDB91C272C5CB7444F11D655E6D745BF3A9DB8CA1B3441C142F1507C
+0CA0CB1C2CE663FB337E7DDCED1F42C76119CA71E372B57818CEDE3D151C91BE
+E09644B62EB1064630EBE55F55F99B68C746D3D053B6F4CD8D96E3D6C4092ED1
+A9C1D3B79C611520BF8C1163528E3E446E72762A625C1C3FF4B7391D6031EBCE
+FD5B5C4B08C0A3124FBC40DB6908828CCFDECF732182B953913EB2B12134F1BB
+2843FB7FA3EB1945FEF24587799BDE5C6FF70FB819C49B42A3FC2B18AB885A91
+2ADCD162D466095C7439BAC2733937729D26209ACC1264DE0F3EF0AFF7F5069E
+74B80B63D79F6FBF2FE45DCD7C69B7EE9CCAB68F0BD33DA003F11EB930861A56
+A5188E014E40B9F8D4026C7B1888A966D1B229C037C1DC3D5D575D62D4A885E1
+9DA31DF09746BB0FDE16EFAC1A801B110852EF0EEFE8E5B592366A05544D46EA
+8B0F2D661DDC5B400A37DFF7848E75E9EAB21BD4A65241B72EEB2E59B0A96924
+D633132043F78A3B53E348E34681382BE6BA2F91615563FD3C01F33C37F75792
+0BCE0D9AECDF7478E1920355F207F039B7CCB5B8300693E1433DE4511D10D8F1
+CA0776F16F3DEAB2B501B702A52A7B428E584DF52222F0AAF87CD854422E2099
+BAE68FEE0D7C5CF7E98748862699A80B721273F3C62BF79CCC1A162F056FFA4C
+32E7E588AC0A41B5579E799FF6616583C368DC0088DEC148036B41B30AC6D7D2
+F0F299DC247A23A22E0BAED4C0CDE249D3785A1FED11292D09DC9474E7461531
+F015D902341361EFA48B3E3B467D06937BB604CBFC1EE38C9F6935026ECF3DA3
+9F13CB250618CD5AC65CA27C30B7924DE91138AAC8BD82859696DC7F5A91BD5F
+851D954C8FA91DD27611532070464DF076DED556A3546C08C5F8459407A667C6
+499E8B616A72D295FB1C390DAC790EE4FEFDF9B896440B1E137CBB99967897E5
+1C9D327E5E5497DB6ADD53A27C34CAAD56DBDAAA095A74467227777094D0341D
+4DCED59A5B00BA39CA41EAD203FB02143EBD9D0DF7844F20C0D82477B39218F7
+B04926DD29415B50892EB3A39F8C89D2CD0399DE3BB46D8386BC7D94FC0A8C3D
+C26618B0FA59E3D37CB50A89C9D9BF211EAE4D2C10082D8AAA8FB3FF63D7B066
+107BD3135521EE8A81DFB2C9DDB74772994414D00CC15D933E0B6BBCA75EE095
+EC676ACC85BE5189EA312B5EBC6127BF225AA9CC77004DE668139276DEEC76D4
+C2C0C036B504DD0F24D968FE18E2F6ACFF15D4966BFFF45D22DF3013A7B88382
+1C627E439603EA4A13B176CAE39192489CBAF53A53E726A584D0A1C0864E32E2
+8C0E6A93BBA2A17119301AA7F819AEB987821914ED04B7C18B6611D4B2255292
+0C55279D75A15A6531F56D2DF3FA26CD795C9F39F000BE8BE5064F5F57F57167
+50621D833DA20AC483DE71ED28B1D258A7F18381CFDBB3D2C3D6F8142CB50870
+8BC52CACE65295C5CF87E242C83E3967DE730C1CFC11FDCAF71826620E4D8983
+621FFE03D497B51EE2DB2CB803666619A32D417BCB8A95964E9BBD0C6D444BC8
+C1FB896901ABF6E6EFF1C1F3573C36520EF22D159C66F150049B64F008B06150
+75350FEF34634EF2FACEEBA06182D06CC5683874117179913942ABB12FF3F371
+BF6FF699E5A1476752AFF326B068F8B6129CBB1571A0C8C3D5F95336D6DA1496
+7D34B965420BAAEBAB6978043D37588E9183CB12DB4C45852F56B21C8BE60EEB
+D3D9082BC2990BDDA7E64763F1763BD63EE91F59E81E22D1AD5D9914EB8C876D
+B851CC304A5DD190A21220802F815EEE957803C06B822C9518649C5DB417B103
+0CF11737BB3CB1E73E38D2626FDABE3246B40D1DF0EF74BE428CE04EDD6410CA
+38D760A23FEF9B8018191F92562D5AF172B3D6945AACE4F7E54F588CEB27CF5C
+7F934CB1FEA1FF69D758ABCC1B316D1C432858CD8A2111A96799DFDF62F63F87
+0D259021FDA53AE71FCE676578F27D1F0D90C0C51CFAFDA3BC017F504CB17D9A
+D52ED77876B204AC36B7EA59CDF9C5C401BDFF97FC2A3A942ADADE2C969341B9
+2216FE4C4E501EEAB32131F64BA99002BE4869B50FCF99BDE45C1091DAABB160
+3AE7F32CE9FE116A1DDBF7BFED23F8F6FA29F1411F1366D5A11EAB224EFE2425
+8D3D30124A9150D9BCC9A8008ECBA81E69F230EBA9206584F5E02E245C65C9CE
+88C0936B2FF8918C970CEEFAC6208B48ED3E85B7A70E9ED3043725A1D96A949D
+50C6B68E16C3496D5D32A9B2249087AE16101825C43CD992108A3C833EC6498B
+FBBFC294E223A312B81020125942528F13F3B8CA23455DCA7D15A7D69F72BD94
+60AB07097FC343C97BCA64C0B51B7FCE961A249AA0E882CE620DA64BBAA3317B
+36CD2D983D2D9B9B928CFAEE346D92E922FA44B8E430EDFED946E408994747CD
+63A0BA185784741890CF07EF9DE2E7255EF360948D16590CC44144CD4B5C9C7F
+621CF194373879A0991C84EC2E6FD6321A158104E3BC2DE6DFE1AEF1A96F3D32
+12E74B14DB1A6A96F81C47A049FE9BB5E89631F30E848D1AFE47D1D887C09EC8
+0D2C2139EDF5B678C9F63CD57D169A0DF52CBCB3117627A075A39FC431128570
+2C987DDEAE3945E9958A2C2E933FEE805DA7E2CC4085CA382CB2C9AD1C06F639
+E12BD609B9E3484ED50F708C8D7E94441BDD49137A001C18CB2F644E9E7AB94D
+5C03C56EA770A9DCB8B8D958CCA0EFFDE199BD4AD7957B1029301D2273AA4BE8
+F2804EA60A603EDA3C4FCC3BDE1BF95EDACAC458CCDCFD7AA052BF8DD79CFF86
+E57B0B07912D33CD236087BACAA8202D431703C9B96FCBA8308E19E19C1A99C5
+738E554DAB1CD1F342E1EB86825002D131730148E2EB5564FE42D2E1AB86E7AF
+3A0B8D60EA289A878B9F22F2EAB7B9A5642D142A3C3CF0FCCE0E75753C1D8373
+F824AE7A60BA3B1B9C0456C3767D8768DEE153BF971E35DE1AEAA165AF023B67
+37631A91A680833A0C7FFD06721A0A3200699F7CFEFEF365EF4A554986C30DCA
+B51168EAFE470BC26A8A5234A8AC19BFD6F214B7AF4FC2F56904C2043540A061
+BD737CFF6C1483C4521C7D72EFF375CC4D0754FBD4107B9AAA0D8751B368F37D
+921C607FE783F964B97281BDDA295FCD86209CD31949C7A9446FDBA27402F7AE
+908BFB59B8894593F26EF56B6A10D7D5EFF8F06A4B7AD042FDC10488B76FE414
+06856C1ED130F192EBD5CD90154193492D2EBC37039000E3A5337E2378E4197E
+85CE1790C429F277578FF803D18D161844541BFEB87F5F446F3D0F5CCB9B73AC
+706123FEEE9E236078FD7ECA9B27361AF3062237B84E1BA7A16B0E6DB9C37F9D
+A3600CC443A1F60E79E3B1162621128D08D4CBADB54C5E980E9FA42E2E0F31BC
+B41ADD6BD721F201166F975AD2FF845F55F3B093EDCCEAFD24B9484CFB6329FB
+3AD2B9C3FD40275BC793D5FF92EFB45BBA8F05DEF17CE4B1D511ED2ECD8D6006
+CF12D59C34459F490A3DEAE33E50A6E3D62384F9ECC1C471B88F2D46C6EEA9B0
+1A3593C67217C9E7DEDBEB9575DAEF499415DC45B8FC684738EB32D2EFEB7547
+947E4495F95EC74810B525986E3C1C832F31EFC87BAB0ABAD6C34D2C6E7BBB0E
+7D0122F7F53E073B641752D5F277CC687198BDD97CE6B992CBECC7BF96A3BDB4
+DC83CAEE006EF59284C41F05461DDB2211B597EAF85E86F455D173F4C725C9C1
+CB7A7DB8C5852B843FF0CCB4F4DCE65E9A3518BEF57F0528DA0D908141876E70
+E2EE996894BDDA2BAFCBBE9E05F42DBE24760FBB3EFCC599D3B0AA5AB6BE9A85
+06ACC6CA5ADF10B60C9809AC
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+cleartomark
+{restore}if
+%%EndFont
+%%BeginFont: CMR6
+%!PS-AdobeFont-1.0: CMR6 003.002
+%%Title: CMR6
+%Version: 003.002
+%%CreationDate: Mon Jul 13 16:17:00 2009
+%%Creator: David M. Jones
+%Copyright: Copyright (c) 1997, 2009 American Mathematical Society
+%Copyright: (<http://www.ams.org>), with Reserved Font Name CMR6.
+% This Font Software is licensed under the SIL Open Font License, Version 1.1.
+% This license is in the accompanying file OFL.txt, and is also
+% available with a FAQ at: http://scripts.sil.org/OFL.
+%%EndComments
+FontDirectory/CMR6 known{/CMR6 findfont dup/UniqueID known{dup
+/UniqueID get 5000789 eq exch/FontType get 1 eq and}{pop false}ifelse
+{save true}{false}ifelse}{false}ifelse
+11 dict begin
+/FontType 1 def
+/FontMatrix [0.001 0 0 0.001 0 0 ]readonly def
+/FontName /CMR6 def
+/FontBBox {-20 -250 1193 750 }readonly def
+/UniqueID 5000789 def
+/PaintType 0 def
+/FontInfo 9 dict dup begin
+/version (003.002) readonly def
+/Notice (Copyright \050c\051 1997, 2009 American Mathematical Society \050<http://www.ams.org>\051, with Reserved Font Name CMR6.) readonly def
+/FullName (CMR6) readonly def
+/FamilyName (Computer Modern) readonly def
+/Weight (Medium) readonly def
+/ItalicAngle 0 def
+/isFixedPitch false def
+/UnderlinePosition -100 def
+/UnderlineThickness 50 def
+end readonly def
+/Encoding 256 array
+0 1 255 {1 index exch /.notdef put} for
+dup 49 /one put
+dup 65 /A put
+readonly def
+currentdict end
+currentfile eexec
+D9D66F633B846AB284BCF8B0411B772DE5CE3DD325E55798292D7BD972BD75FA
+0E079529AF9C82DF72F64195C9C210DCE34528F540DA1FFD7BEBB9B40787BA93
+51BBFB7CFC5F9152D1E5BB0AD8D016C6CFA4EB41B3C51D091C2D5440E67CFD71
+7C56816B03B901BF4A25A07175380E50A213F877C44778B3C5AADBCC86D6E551
+E6AF364B0BFCAAD22D8D558C5C81A7D425A1629DD5182206742D1D082A12F078
+0FD4F5F6D3129FCFFF1F4A912B0A7DEC8D33A57B5AE0328EF9D57ADDAC543273
+C01924195A181D03F5054A93B71E5065F8D92FE23794D2DAE339BA29C1C6F656
+1DEF13780383DAE38A868377CC7D396B2A05F341AEE0F8BD0A0191F51AD11A4D
+2E927B848A1EF2BA15CFBE57A51E3AF07598275195C9613041F71C1AF39E61F9
+EFD5F6512FBDA76E29DE6B508F62F5CF9F73F5288DF1C7B0B82C92D3B6358BAD
+EC3CA20BDE55DAA7CC58004AA86B6CBF8C410D8287E88BF20588A39309C2B703
+CED322F030AA6069869064486CA651DA054FF3F5E56534CA358B0829A6B954D8
+9103436E6B06DAD1658BD4A95AB41343B01F5866FC87C4EDFC71F1477C98F8E1
+1DCF27EF743FF90BF918AB8C4E5AC35841E2F745480E5EDE1C1DEAFAD8D0018D
+2C1F1CFCAD9F6609859DEDFD1648A6CD23D8ABB80747F94899F17C8F3E6CA55A
+E176F19CDFDAA0D7C920B3A72051A4745560AC81978C92459EEE5AFE85AB247A
+32981139CBE352B248F4BE5F73503A084A3E91F05328EE521D9669E44E202584
+5407E7846F9FEE3D54EA18FFB144BF2D6803BF65AE402034B3CDBB40DD24217A
+3CE0E95E2717CACD603A958187C42B3558AA38D6B6390EEEDD396F96E6041FCF
+6F8888221AFA87EAD79F46E0E32CAED91E6C8500879AB6E580C581E8C8CE9B68
+2BB5EFE2604E8DCB2432D39D75EE556969F1B2FBDF6A4BC72D106AA7CF22C268
+464027898B311613E06E1584707F262F71D9F49D2149306A88E02BC60BBD6BDB
+EF41D90F19197BA9AEF32B5E63D5B9FF41B5602F9F786E76621DA54D574981AB
+87A72081EA05D6C6BA940EFEBD0904EA4E77BBCE17E20B42E1722617E0F6EF32
+F1ACDE9D758594E9C81049CCC10605A27C2A06872FBA9F159CB155609B496ADA
+4886F478E44029B5E620DE8319E257697E93E1CDFD27D560E2E4D34507020E2C
+D9FF06BFA14E056D81DF701FAC3ACE4BE6C098AE116E079F0044391EC1661F6E
+7A93B9320BD7F91E8FD2E8EB3F5CAE997D5CDD35107A1D35302260D1499B8B65
+39625B7925F97D917B66BAFEEA992873F07220714F192839948CEA080BDB9A03
+77B9DD032273DDB5629CB28B5D8797EDEFDBC601823E038384C90C79012A7D96
+8F27784DA15BACE21501C26E3AFA5DCCE81B52B0ABAF71A35D33103EA86F2415
+A39A830D559C5C6CA7423945BD3DFA942B20A06D7A8D8671F9831DBB52907AB4
+4E54776D29C6085CD9970B6DD21DD3EA8EB09C49CBEC6CDCEEB0BBB1B8827109
+3BDE64DDA024D67F098D6C1998506DDFF7907ABAADA1C39C759C850E0C6F8E89
+A392D1C9329ACFFA92D361218D75E115F70A47C53B73B356D703E9C499AAD098
+AA9C8119EE9E9708A9EA3049E976FA19AD04210D5F6092C7903FD155113F3A3F
+269B746560F70970AC9F8D09956E0E84DACE4112C4E7C7F6B3F0B63D26EFF95E
+2B2E9699D16BC8AFC4AD9113AA3A974C9E82E877288CF71E9169D2DCC61AAAA6
+C536E5604EF0716F6487292BBB677518504B52C63822BED3BD5FD14EB41EE6A8
+AD4B6CF90D39F98E12A765B645CBA3E8552FB9A986390212CE119E7C3DD675AC
+17BD006144BEC534DA2A860188619F17589008409C5A309CB83FBA70F6446B6E
+2B56991B6A03B1DE10C621591CEE45BECA27C54BC8B4F1754A9E8F660812710E
+117850E1BB6FD89BB13F8CE391C43DA89EA67E9C3E7A4697790EA26B0E4E2E80
+DCA508873A7AFFC11B8C02EF86C2316E8D8B6BCEA37F81A3A87546705F070C3B
+9D4D28C366CEBC1EE485B8E2357DBE46E86C87B9939DADA60888AA9F1B92FECC
+CC1C198DDB594BB70A8FE690ECAC21A414BAC89BF019F34D2A130F485EAE35B7
+2A10C67EA3A48A4D9734759CC93AD85C6A570500AE5AC9973FC76EFA06BF5DDC
+26E20E28D16B50957EE01AF2653F8D860817967AA5A9BF9BF7ABCDA710E9F34F
+4F0EBCC32B3C9C2971F6225D2DAA6A451366B83F32B2ACB83E746D365B2DE38D
+C1AB7447FE7B37F9630E410E5D8F0ECE74DF46C538947B3A167AD9F3E4A7EB3D
+60F5425AE75AC3A27D39311DA35696C3DC7282AF1532E7AECE63D13DDA0296A2
+01487185FDF1875AEF55A36C17D6A8DD329279D229259463A2F05CB7A874374B
+E2320E1F6CFECB9C1CE62FF468C29751ACD9754AF1EABE8E7696C2888914416E
+235B6766F20FFBEFF285277B639A51EA2F2E30D207BC891B00F0436008F980E0
+9EEE7FB375BB069B9E0BA11DA951A99D8E60B4F920A0495C247FA7DE904765AB
+DB5C3B2D634757E43EDD6FAA4DB3C67F82D6853E1170F0B2D8CE496DD4E72B0D
+28277BEF172F1402959F64527F9B640619F04416DDB9D05FB2ACD019CB9C119E
+E544D24EA6DAC5C69785394EA50E6EC9AAA9E14B904EAF29A733C6D7942B63F4
+85729686742F26DEF78DF0DA1CA7CEFBB684F4CAD99021A3B3D1FE03B9C5A4B1
+BD04CAC89BB91B11952A2B17A61789BEE0C54B46C03FE9A1AE73D17CF94BA30A
+237C29D414C3BCE8E3E2DDF83C0BD59DCB66C4D2C3DE73DA8378F3C6C8035D28
+7464399857E57651A53E9C4AA68DFCA91B2376CF98AC5290FDB9BDAD9EF1604E
+9B0A70EDDA1E564B6D2456E7BC722454ACA8C4950FDD44B6EB9AD01169A9F845
+B06A0DDB7897C847A5B1F42258AECF3807AE936C8F52C3A7A0A85D68160AE442
+FE81543DA6702D76AB6E8701F80DFC1D87C961E350D0E52AB2A298B9E5908600
+7E14D2A87309043CBF13F69AEAAB1BC239DEA88EB5176624F6046664B1D2691F
+FBB2071D3706F97DCCA355A6DCC4D09FD35DC078FBAAF672FFDECEC61050A120
+10B5A96629041303FD01ACCC7686165DED6AA712FF8E5E85DE33C4E7D877C49C
+6C469A90410BAF60BE65ECD91CDC2EE7AC0CA8BA7B53865F26092BFCAA0BCA77
+B80DC51DAD09C93C8DD8E43502B4B68F3D5918C3492196292447732BA90F5AB4
+9F5E1D634ADE1CCAAD028DE5EBA9535F6FC5908DBD2D643E0A7E059C8C386FDC
+E72659C0033F535C0D7F6B98D0335552D0BF3C6E302B672A5EAADFCEF81912E3
+8F54E6FB7EC2B325125159713D0AC50DEE3673B9B148643727E94C80971A2E73
+5E1E13237BE69C84FC039DCE02ECE2668AFD047F21A61BB94A9F498C9FE5CDEA
+B274B40728B6F6CA9B6C15BAAF92F465B0D7311B46545CBA90D874839443CCB9
+3110F052EB247B24B45A3D2FA6FBC7EB2A4BEC2A5892914B3C5EA3F4F9B9DCBF
+6F932D95700E045B49E4B1F2C9D2A42CF39CA2F5A2654E6E8E6E92473D28AACD
+5E35C6705EA728F704F5996D286BED433F976AB7E018621A577AED7C0AC0A84E
+A032FE1869F603E6F20386E3A190A30A21EA886249ECF8CDDE2C33D73BA8647A
+3DCA7A8DD9E8EC8D9A415D126BA38B6771C489DFC419303EE9C1B83FBFB3A0B8
+97D64F30E4BCBEC24DF603FF3BF541E00D5804B6B6543D3D2B661CC551D497A9
+9DFFF535AF424B2F3150BB39AAE8CDB306AAD37767BA10BADB031DC2FAB16955
+EE78342CCC0E8B5976BF98F215461A8C6F63EBE6E2F1A1104662DDE53388CB51
+8B44F3534853B8095F3B746A2459C2EF800FB1EF7F235EBAA9731E3AB3BE4369
+1D3636E3ADD5BDF0C34FA80E90D8A1DDE770943FD196E0A7C5F1FAF6970B34C6
+4673AACA6B2B5C12B9608521AE736C1F4B97209B063D991300ED5AF3D7F27E76
+68E0B858FD8BFF86581E2B9548C691E3E5D9EC4D39C9715CDE86C7D22223CCEB
+8A38C776A30AF14912390A7546DBECECD7A687D4F08646E57A12C80DCA022B7A
+33399761A50B8E0ABEFA1163EDEC3DFB5DA3248792EEEDD894872D4E6814B4C3
+548BAFCDE0CABBCDB97EC6D1BA47F2E77CC1389BF19D73661749AC33F46A618E
+A665A85776545BF9662F2179D7BFD604FA8EF4700591AF3AEC647E27B24B76F3
+133F9198DC15C1AED830E737909E43EB91C334C44BA35810007A3888E33F5DA5
+B3B2C35481C648AFE630CC3E08F77744E401B2934E407D1EC17ECE737606B076
+F8DE8EF3344F57495EF49D11580D6FB28AE0B1422521B320843B13467501CAE2
+3DB93D7BB779F73B6AA30050DA74BDBC3F8DBB30F32EAFD07734A151BB2BAED5
+C9B1F790059339B64BB4146470F30928C9A49AE88906BD6FDB7431A4B50809CE
+0F67ABA01CDCC2320B0B097187B9299E3D80CDD7BB5DD5BFA7B28D924C5633C5
+45A23CCEE097C41C3759C1FA8DBA0DD95034BCA89BD23FAC18C70093F40FF2F8
+0FAC5DD4835F2DFD40540E9A9E9FD951A8AF2CB766597DE00147B163BACFB7E6
+EFDA4DED594F1C746D8B46A1145E0E4058F5917B3F21E9BEBDE745EE72CDCA64
+FB31EF7A2E55265F32559480E2B6726D3DE26FFC97EB4E3160F117E890C4B2E5
+8DF310E6A728ABA85540F571C024F8DD58E1D7827FE97CED5EB31547EBC36415
+02B8C0E10B7E37D816F01D56A364B8552CBFAAA95BC4BDDCFDE91CE0EF005B4B
+7AB56FFB47A093AEDF0DE1EA48FC8103CA3CA1470864D2693E360006D05668A8
+AA422CCCED20DCEEBEA5CE0DA1EFB00FB93E922B18124FA11A88D0F6E0F719DA
+57603DD5DA42E1C56C2FD9E5415AA199D4F334C151C1157E75C107FBBFCEB706
+5F4EA47A29B54ED8CAEB8DDA2F53D2A703B95487619780A52DA1270011648A28
+AA64338E04AA5B92C1EDF3D8DA34FA6D227A0325EA6F22E9B38B6338C657BB21
+CD4C582DC04010330F62923F817E4EDC6E5C0E6500F2A975A8A95BAA30C4A134
+BB31B5AC45A2E7F6E9CDFC810D41344C4F606049445F8E93D74271C1E29DF7CB
+5459593BA28AECF64D903D3E4D77CF5C04B06DE44A41EE4D9FC769854503AC85
+69E4A5106E84016DE3D59865D4AB30BD6C9E45C45DCB5408421CC50CD6179C85
+34E55CC70FBD8FEFE9F1D5160664981716E3BC7F24B6F54E0323D9BC4B692971
+24419EE62D8B0BA726E2B4294A9A76F328B8101DA29E78BD5C4AC383350FE196
+4D42DB1653637D19530124858950C22F1E9CF5BC07D46B7A58CDE19CC88DCD2E
+7FE4EEFD8AA6047E919823C8CAB2EF5274F45E861E6508CC11A8AA90AED2403A
+B2BF1315C2157B3B50A3685205D93E40906EEE9DE5985405974BCE0B84BB37DB
+080A45C5237B269B93C0A7CF294A18B45464A41F604C494CBEF829A381155CFD
+71CEEA54CC39EEDB6DF58A9896246B09F95DC6BC40BA6916AAB5ED3D24F66154
+3662F8978FC63DA9280FF7ADB09EA5BA79D3B66E0C88BEC1EDD78DA93839073A
+A4D7B0E627000C4ABA76C47CCFEE92E319315333A5584A951E34C55412049C4A
+A5569FE65A006F77B416E0530AB6A8E7AD6C72340AD4CE25937158FABB2153EA
+281E1D840206F5DA38E00815E9081F81DAB9FAA8F4DAB305867AC84735DB4F52
+A36129929BD2084A8EA37BB6889695204BF7290B68D5E722540BF8A276F8BB6D
+451D582EE59D2FF03F6B97DDE05FA00C3D375D2D0AAC8FE298F85CC067B15481
+48D70B6A0354C705715B891915FE8EA45244677B9FCE81E72D66177E309F3F83
+F744B9EA9E55C3B30DEC6E5E03B3988FD526A82A5E8E1DC79127FC62B2FA7949
+B3AD3148868DE22BD4B5708E32CEAAE6ADEED1F463EAB9692411E18F8D6BF391
+126B2700B4CF3B59D02E3F8795130C96285A63FCD1E0F647ACB1D35E9C58BD01
+1DD06BABA00CA4343BEBEDBE677E053E9732B33A7495DF51782A07DA07F5646C
+770C957AD915CC70BA8E08BE7A1F4E6BA5BB9C603E38F6FB0A2578471C4D02F4
+283069856D926B9076EC73AA39CEB0A061AFF1575C7093FDAC9F89C3DC06EA45
+06F3C2A3BC9FF21128B10CB758DF0F099B459A5264A8C24C098110D2BA1A8532
+8FAE146A91BA7D033F591AB1A94B8A6FE0FFB610F698D216D58B4EF6C87B1524
+8037CBB7E23D8550A620341C6625A1A2ECE7CEE2598D66277F857231A36155E3
+984F147783E9B93975AC38A29F2FBCF704C8A04AD84C3E04A12D2321FA56811A
+5B6744813CCC187968C5C26BB8D3E6615A912FA5369C01CCF8C0DB790593B190
+1A90CFB5339B8771F325C5FC448D36C7312B11A15A8635BAB59CF3CAD176131E
+026F6E141B2619EF7F3048750CC9291397F141591EEC8B612D6656DD34DB54D6
+DBDD303CED74BE76664E7DC86FCFEEF2001C9DBA56418FB61F589566A47AF36E
+C94671C5E8939AF9F4D53C0DE7142B7B63C86AAFA65877EBBB48C64589AFB2CB
+1280AC099FC48058855CBDEB6C2D2A0D092267996591DC3B5EC8252984E9B27D
+2E9EDE8CD8303F0905DBFCAE497DE1B755B924452CDE11CF4F20893DD6FF7251
+427F520FE00580DAF1703FD968E0F8ECCDE618E1EA5820EE6CFED97C78864EF6
+26FAFEEE194A268F24249D44829AA360D731C34DC285501E966A959180718F72
+6330E4CC060588A2F65AE64A720DCAA818D49D4440F5D0B6C1F6C3A107E12445
+F1BED2D3FCBB87A9597F01C7332AA79143564056219BF87D4B907A04F77621AD
+054935E883B2B137D3D1C4BC792E8335CA08B6D83227F35736C41312A0BB077A
+60FC6488C5E02FD51A10AC113D4EF70038C649C1677B2204A77F2ECBE9B3C341
+F4126BECBCA61E3F3801F9188A3775924A62D30FB096B440286FA655EBA00A74
+9A4162904BEA07CE68EE76018346DEEE20839C9A2FF71179B58E1D4AB30856B5
+F5D97295A097174467010B15D733AAC5813CAA633746B430B1AAF9F997FDAAFD
+436844D1A56B8E25A89D2CC4BA6EE7ABD167818FD4F6C747E07B262C99EE2C35
+323F0B471586CA50F54C6381B052B15B0C58C19DEA82C0CA29F00400B727419B
+2379979CDCBFA966AD513FA903160C571C3BF1BA239540B11EF2371A3880837C
+6D6CA2F374280CFA1586427AE975A2AEC34244874E4D441DBAC6CD1828841C91
+069AA87FAE849C5DC7C9EC1B9876E59F3CCDF8BB23D939F5348D7486934BFB02
+CC5A22541ED352616830A510DE7732E5D8F7E785BBD31C2BC9D348CE5632654D
+2C1740F89D57FB2AA1FD8FA3304EA03F757BB8F498ED98E48485722E78D97B12
+A05F3A28438084D1CF90AC4C3FFCD7B3365941C45E1E02CB13CA1E99F7FA1D00
+1C9D489D5C95F019AB4CE89FA3B6604473DBD2CE8E278969E0A0FCBCE68C23F6
+9381882443D3FC16966555FC222F3FC4B1207522201AB7A15A7A6F22CDC9D392
+360BF4C95DAD35770E0AC7E5EFF015F2C74ED7391F40EC94B8D1C163B5DEE5B3
+911A20C2625AD3B24BD94D2A42405E655DA47D3F94F882CA2F479437B4E0BE71
+8AFA4482C6FB270F8D05B4599A01403DAAA90C01DF3AA7C2BC7E66AB6AA833AD
+FB6E5EE13E45CC7CE7E200FBFE639F9CFFF5D08512C02764997FD28368969BFB
+0876F236EF6189BE73AD827332DF1B2EADEAC0ED3B939CE5BC3CEC78975FC636
+44FCBC2CCF4396AC7343EC62E0E4F3DFFA2B880BF31D93ADFE201BE9CCEC8BA5
+0B9B919E05B851E0909968DA259EECC6AA0743F25247978CC09C28C4F878E29A
+5070E4023BCE95FE0ACCCC01D0EE219FA8344E8F6D7D4347563BF8AC030B9097
+41F24D4BC9494915A82EE9FD37FBB6A46BF077B728FB569B1258CEA5F51F36BE
+4F4D0F890D782E44748CA3FE8C8A515998371D9C7D2311F192B4B7E7C68FC6EE
+3F7136714C282A2570FE591F247A08319CE9EF1E43274E4E57166E31A2ECA506
+85350DA31AA4C33C9687F5210BA225EA1007C444FBFA2126769767E47A967884
+9F68589E4BAA9ED32A7A466DE35554C132810C68ABDAE536D9D884352F28EA02
+8A555D2CE11F30598F44A65E2D86B43ECCBDEED9E4E5B5B7DCDA20EAA09D9FF7
+422FC91F2201431A9E8FC624FF44D26C0100183D77BC7E6B1A6CFBD3FA8BABC1
+AE4CB0FD382E26BE0A83169B46D91429DCB746A0326243E212F802AF6A56C709
+6E70C6C7CBC54F807956DE75D7C0E689B2684E95F1E619B02E026111A02A8BE2
+7C22515F25EEDEB353948E35E582F8DCA2C44BED3F3B18642ECDFE919299665A
+FDFEA129D42686CA54D497D94C696B040884D24220D76E44941BF1A18B33CA5D
+EA6D560CBE38CE01088DC057E29FEF0AEA4B4168A952D0B5A7FF2C1B3B478090
+24C36CD8DC2487F21901056FC8BEBCA67AA96790F83C446733340E98F9E80E02
+F055F4B45F2470F4C21972CADA01A47250C143BFEFAFABCDD7B60186F150B918
+0ECCCC7792570DFFC36DAB53ACB86D8E67B8EAA8743D93AC2A7C85C545D041B7
+064F5FA585ECBEB8A2A25CE058B80A757086E667B2D6AFA707617AEEB8B37E3C
+865AAD22CB842EAC08AEC81A26214D010581DCB6258972585DEC832ED97C0DE9
+FEBE4ACB671CF481D3198829BB21BA9D817FA8B0AE0C679183314FF67142DAF2
+9160ED5316B2E9607B919D4E7785A0E40299BBBC4743D432FC7ABB1807117691
+451B96FCBA953268F5FFF8B104331D4F5B59FB033588E7F4C2D92115E6187BEA
+886A8631EBC004B82D224270AEA8B0FF7FFA27BB1D1057893508FD00A9D77928
+19E171B9BED122E9CEE925DB45973338BE145382AA7B62DEDCDDE250AFBD6D28
+237137B24B84BAFCA3E282796DAB343279A905D7C155176E64B0988F683F9A7C
+2BCFFC84ED35A03A34DAD841
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+cleartomark
+{restore}if
+%%EndFont
+%%BeginFont: CMR9
+%!PS-AdobeFont-1.0: CMR9 003.002
+%%Title: CMR9
+%Version: 003.002
+%%CreationDate: Mon Jul 13 16:17:00 2009
+%%Creator: David M. Jones
+%Copyright: Copyright (c) 1997, 2009 American Mathematical Society
+%Copyright: (<http://www.ams.org>), with Reserved Font Name CMR9.
+% This Font Software is licensed under the SIL Open Font License, Version 1.1.
+% This license is in the accompanying file OFL.txt, and is also
+% available with a FAQ at: http://scripts.sil.org/OFL.
+%%EndComments
+FontDirectory/CMR9 known{/CMR9 findfont dup/UniqueID known{dup
+/UniqueID get 5000792 eq exch/FontType get 1 eq and}{pop false}ifelse
+{save true}{false}ifelse}{false}ifelse
+11 dict begin
+/FontType 1 def
+/FontMatrix [0.001 0 0 0.001 0 0 ]readonly def
+/FontName /CMR9 def
+/FontBBox {-39 -250 1036 750 }readonly def
+/UniqueID 5000792 def
+/PaintType 0 def
+/FontInfo 9 dict dup begin
+/version (003.002) readonly def
+/Notice (Copyright \050c\051 1997, 2009 American Mathematical Society \050<http://www.ams.org>\051, with Reserved Font Name CMR9.) readonly def
+/FullName (CMR9) readonly def
+/FamilyName (Computer Modern) readonly def
+/Weight (Medium) readonly def
+/ItalicAngle 0 def
+/isFixedPitch false def
+/UnderlinePosition -100 def
+/UnderlineThickness 50 def
+end readonly def
+/Encoding 256 array
+0 1 255 {1 index exch /.notdef put} for
+dup 40 /parenleft put
+dup 41 /parenright put
+dup 46 /period put
+dup 69 /E put
+dup 76 /L put
+dup 84 /T put
+dup 88 /X put
+dup 97 /a put
+dup 98 /b put
+dup 99 /c put
+dup 100 /d put
+dup 101 /e put
+dup 102 /f put
+dup 103 /g put
+dup 104 /h put
+dup 105 /i put
+dup 107 /k put
+dup 108 /l put
+dup 109 /m put
+dup 110 /n put
+dup 111 /o put
+dup 112 /p put
+dup 114 /r put
+dup 115 /s put
+dup 116 /t put
+dup 117 /u put
+dup 118 /v put
+dup 119 /w put
+dup 120 /x put
+dup 121 /y put
+readonly def
+currentdict end
+currentfile eexec
+D9D66F633B846AB284BCF8B0411B772DE5CE3DD325E55798292D7BD972BD75FA
+0E079529AF9C82DF72F64195C9C210DCE34528F540DA1FFD7BEBB9B40787BA93
+51BBFB7CFC5F9152D1E5BB0AD8D016C6CFA4EB41B3C51D091C2D5440E67CFD71
+7C56816B03B901BF4A25A07175380E50A213F877C44778B3C5AADBCC86D6E551
+E6AF364B0BFCAAD22D8D558C5C81A7D425A1629DD5182206742D1D082A12F078
+0FD4F5F6D3129FCFFF1F4A912B0A7DEC8D33A57B5AE0328EF9D57ADDAC543273
+C01924195A181D03F5054A93B71E5065F8D92FE23794D2DB9AF72336CC4AD340
+15A449513D5F74BFB9A68ABC471020464E3E6E33008238B123DEDE18557D712E
+ED5223722892A4DAC477120B8C9F3FE3FD334EACD3E8AABDC3C967C61FF003B4
+B10C56D6A490CE9594D57A2D431B9E5E10FE3D8832E227A7087611431ABCD029
+85F4865E17E17F8CFBD2CADC97E0A8820E3ACEC873F31464466A9545E967E53C
+DBDDB8478E69063FBB891566BAF88B7660A4405B16834761F041CCF7650AF955
+F9E853AA9F5F4382E1FE7D0C5BB4023818A2383F91249D48CE021250EC9EEB1D
+2835E18FB73026250B32A8849067D5E2258797C917F998F2D4121D96560C5FB5
+B5D3471216639A8671B6DFAC5E3554EC36D9A72518525A795590C74DD70DA3A7
+78BFC43E51D6F2BA52F17D4DD00D389D3983EC54912AFF73684A8A7E345537B7
+E62361C04A47859DA084BC72EA53512DC54132EB2EE671793603015652EAFDE3
+41C4B6B679BD60AEC5153EA0D2200CB1D097DAD770F5F31E6FC475A225995277
+B867B731D5401E2D02B85BA85158C80FF7E2BBCC42B98AC867E67D25DB656072
+55A0D32AB7AA483A5A9686CEA4E2B3031D90D84DB3E2DEE7706C91BA81CB8DAA
+700E5F61E07D6998C9552C81B66FD10A10033D49EF3BCB0FF22ED0A3737523C9
+8F851C61C4BF8A213BF6EC70C956AE48B5BD276CC0437C72BF6515B10739919A
+F00F6ADD2798CB211668842349171A5AEB0664D2C44397E55A4A9EBDF54A3EF4
+FBBCDAD9DAEF4B0CAEF7112FA828F2F8D9F633D37E5516AB5ECEA87342EF8DC4
+3A50548490F5BC9A8A1F98AC7AEAD9D913BFA10CA86D73AEB5BACC1FEEFDCC15
+B3655522CCA2C772E902FAB2A6FC153597D52763EB44AB7489FF061F7F58E8F2
+AEAAF4D17F36CBFC00D3C653F335D14240C87DB4339DA9D30A5BD1F502BC9013
+461B9DB2FBEEC01BB18990439A0E9CA6576BC9CF6B1A3DB9386C4A5D4AA6A5DC
+CFA45FB75F22E10ECB72565DB441A194902C91427B4F676E531C661F7A2C3C85
+CD534D1C89B6779B2EDC8E44667B992C20C70B663BFBF680A6CF4383EB7CA26C
+4D1F06B5EF4025BBE65795F1EDB5CCB97050872D6C07BC2974F905ACDB7A765F
+291365D6C8152153E7F017A25FB4476C60FD9EAF9A121633DBEAC32F62850223
+D6418566AB350F90F4B35F19598478F76B63E347D4C61E203D4DB8ECB9889181
+C387F4B663A502C638761D2782BB96EAC81A0108D7BD6938F67FEBB69218D115
+D8E89CFABCE15C6ACC7FEB983332A51A6A73CF4E341574F366713D7FB29956D9
+9BF238A87483D37E526A2EA2F101EDD34E34CB92730DCA7235AA0027189BE405
+2DAB4AA021A30C28B26C50808E1E965C02F6212EC7C72F5683339425A7739380
+A422E6191ED8453AF0CAAA424AE44DFA7CC5C2F6EAA8D73A5101D8E9517DBCFB
+2858D0E8ECB7DC430EF23A9E4428CB7DED8D035D6050251AC101A2D0E884721E
+2F21E573F948048BB8FF888911C508CC198BD750083B339500C426AFCD5634A6
+AAAC1C7E91249667B231BBFC64B4317192FE07FE9DA0DDB5E517D097AAE46577
+9555F29D45C67CDE9812CAD03F220B20519F2FF32DCA56A554D4296FE2D1F3FB
+B209B5270E0E695EA5A0EF1144957CE045881AEB8D05D72CE57F4D34617AED67
+0D3AF0472CD8D60933651626550366E300E72A9C89ACD475C2E2ED9BD44B472D
+9DAFE943F8E02A6DC38E447EED964624C37C3130E48211CA279BB6A0BD59466B
+42F3D89B5746F29E084E22CF58395AF0F29E55113F3A3F2F52CB3A6DF3D026D0
+C81754B8E2E4A15F6943BE9D0087D5166060734FD07C4C57D7C7D90E8C9C1F35
+623CEEE3ABAE75E1A18A1E3B50B7266BD2D8E812CFEB4A46B856885B185640D6
+B9C22179551002B94282F57FB433B7FF157D2F0D240836B72AF4A331668AE5D4
+E6B85415F4E8B9D2F9AF90FAFAA0A3866DF417CA5A31348CF9B41B8F5F4D2F97
+CCF7ADE851B5E2E2F6E319AAF5792EBB9DA2C6AA8B73D889F3CDAA42932CDA7D
+07A7E59183CD89520DDFC36E5D513BFD8AD0886046585F29B4D7F42CC0C27AA7
+53915AB1167D292FE91957E94A57FEE2D49C20C9070ECD736BDEE0F046E60350
+EA539DC298156A4E0D019E7D481FDDA6861E20678516AB80ABEC1F09B126BCB9
+52E8272A06BB6DD87ACFC423B4A4FC9A3DC8DCAEBB807C5F748F1FF8B17B8B88
+F426206BF1B7B7D239D26BC3CF0776C467A98CFBBCA5FB6145D5900137ED19DC
+D002F10704AA680EC753C22E29AAB15712EF22AF73D80820A1EEE953463D4EA3
+81FAF99518D4FD0F862A324FC44C4B9542A92C5B60CC983CC8F647CE5BDB4D6D
+B92B380E0E5F7208A9CD91FA9A469548162C761C1BA05AC9D60B766764D821B6
+B4E17F56CE455F06EA1EE2D38FE47581746C4C5FBA63AEE2B58E877D1A8FA83A
+31C972D53B64E92EEEA147426A92CFBF76FC614119C6E9C6476FD6A069C803BF
+E949FBE50B5AB1F1463F9747E8D353F7BBD991C4F90F920BC9407D8E24720293
+846D052214E60390C3CB926D38C83AF697425D80C2B4FC4706615B905516B733
+46ACA325CEA68FB21B2D17CF0B68BA4DF249368625CF83441EDBF2B86C957C1E
+44CD722BD2537CE84FBA07EC7AE15C840041B9F7F3040072E6084CD55B301C08
+A64A53BD4D3DC30DCAC6C152F316ABC59B8EE978793EBD568849DCC2A75A495A
+BC83470D503F8E389F54B4A4A31624E83C601B43AC1E52CB811FAA7CA6B644A5
+1AE0BFD4FC774C9C9DFC2769ABFA9C83F900BE2DD4010416053A1D4874E6ECF4
+D86E44B4CAB15D53E5630C144B0C15B58DAAD785BA298B1893D1B09BA5D40344
+6678FD2D17FF6674433C976D6DAC659175CED26139967C9B2B9CFFD78FC2570A
+E5142141C2888DBF2DC8503F9137CE7CB21A1EBC2D65BF33FCEFBC85C9CB736E
+24E8595CE934AB032CC70BD6A3B0F3BDBFBBE185512FDB7BE3D4A6620478453E
+75D044BF770B44C9741E31985E6DAF5A318D7BED12B02A4BCFE60D25EF12843D
+EFC9BAE2A3F2EFAD66D7858E83EB46BB09D2FF8AE9C43844A7001C86ED97AF51
+C511E3A89A1BE349FF5215D1A57843EF51456B9838133846F19BE79AAA5C1AB0
+5F400E5E8E7B0BF96EFCA3B8F0894BE589F2C9FB6C97BD16D38F0A237CD4F034
+099C41F85C7E2C7BEC8E02C4F327306A53B4B48B26A8926670CEEF96F6DF2281
+7C2DAD99EF8B81BBB777227C2475AE7400DC393D9C0445E925DB1E955950F7AE
+53E9AC4306794239346A419F7B5DF4168382EF5956B81F83BD4BB7635B3BCC84
+7D84D05AEDC02D14675D777CD19B08124001A4F4EA96990D96000C082A12F00F
+7FEF793A7FA69D56D3A38D012168C5458B667190AFE80E02C816CAFF0A71953C
+D80B085CD286027E2FDBB05452AA762FD7C813B2E19A79C74190E04E746C4933
+CE1E300CAF5DD53B08110509BDA404EF07FA1BC5224BF1205DE8E0C3276A13DD
+866675103B960C5F36644F96B4FAC16F5D6E91F74629B318FCCC8E8CB13EB76B
+B0B7B90718D913A52A04732EA3667674994A325A7973C601A7DDD50F658E0826
+ACB8E53D4914B0274AED98D7BC3B2B7F9D48A7ECC2F8ABEE05CF2C4F2B90360B
+B7DF779EAF3E103D1D83EDBE32DDA873768D8C37DC10A5354A94B4153049AD64
+FF3E0BB51AB91D7C0B4134D8731CD0270DAAF19BED9EAD800A14B65B68EEE89B
+40DD624111670DDC7C030DEFE0D1B96420E249332445C155BA96231C88E70643
+D526BDF3CA1E05FEE72CE2B881CFC01ED780C10E89F0828AD55FE29043BC56E8
+2750A6DD15AADD54492F6092618F4CC6A31766B17FC60766D18C307EFC9BB787
+39047DAD6B38419EFBA46B4E2C932F97451FE78AD75FA90DE409FC6DD46585D2
+1941F5ED47A8FBAEF5A917A240959E8D9F9917DEA3247D9CAE6BF7A88DB4C4A4
+F9F5A6DCE542420A032FF3392FE0F3357B51F884D6181583A554F75B1DF192E9
+253CC828FF06B0D992D5316435980B044BB191508C7C45CD90F797F88856424B
+14A5707459C50EDCF3E3D8D1667AAA83015405354CE744C66D9A5728F29E0085
+6DBF740717FA0799E3BCC4ED7841588B496A5E549B953A7FD288B4A045DB611E
+E3B2F35963FF18ACCB1C968BEEA2CBF52B3999AAF89A05320BB2E97F52CFE06B
+9F10E3A79865A3059A957F97972D80ADF678A36E2B586C101FC6AFA4D137C13E
+EE7102C9B8EF78CB057F8B7476F146E8FF5C897FD5503DD198128CFF7B5FB339
+FAD0AF0EA967F77B07B367A4AC9F668F8BED99B98E87FAC750EE045602D76C3F
+289FC9D97694C96AAC0AD1BD3FA94DF2CBCEA24B40F47B9B59E54EECEE7AC4C3
+A3F5D19160E4C1EA830D57FBE10D8D46AC5CA0260F22FAA45236F0F542BEA9C5
+5A88F878F68B36114E0573900C65E305462B22A3429A17C7A567694414DDDA46
+5F30542B8FD4F00F6C295B2E8D3A986B953D96822DB2ECD48E8BB1763434E652
+152EF3717F5E7FA10FF0B01D9F64E22C5DBD7254629658887BACEC0ABDE972EE
+67299FB84A05B3EFE22B6976DB4CCA384232DDAE38C31623A4E39EA2E82C1EA3
+BBB68F1A7DBF405DEC37CB7203A895C36A44BD2D63F45B3888AF91D37B510A59
+3C921BB44DA620892AD87B665F69F6FA510B071ECC403CB2BE2F54B3969C9E88
+713244BC97C1466DA8216DA7600C221E7E7EF5C789D2E12B36422023A03E11BF
+2790FD6062FE6BF62F5010A92F0A104B76E255A0975E04F6F20F760881BDA7F5
+D834D1D328B6EC19AA7D5E5678A84C74C82553DBE8BB5765E84F5A8789032143
+6020940B4B8D45FC3433D356E28C25F42D0C19F911213D85951B2B00D01B77BB
+A4C72E964F9D95422BEDE582A05CD52E03D28A996E6CC8FCD910CBAB728073F9
+F9FAEED5470FFA55930447C5BA816F826F983D53EC9941EC8364B3060FD74C95
+26D4F5CA753B574FD2FA4D1D333785241D8741B79E628BC852FDC35478C5ED9A
+C1BE88C5EE7302816E65C12B58EA16FEDD4672EB3E24B6EDAD5DCE263BA8A970
+350B651E5A9F3C281D85BC3F44EADD0D93402E36489BA5185E7D388974B0B700
+70575188BB610CCA20F081E2CBDA13DCC6F72567962ADB342E02C1E763B673C5
+F7384E24C6E1730A3A790D690A2103AEF88E0C1D4480DC9B25E5C8C9E1919C95
+F83320179B4C7C4A26D559BFB24D7D596FB73758C9990C451E77FCDDD17763B8
+9C30A9534E3CB6680D3D419D4B70B0B0A0D160FCCDE169714E373F65B7144CC2
+DB9A44E041211E1517D3148E65A2486CBE5E74E625261CCF65392FB4F3091473
+F9E8DF327D59A58558E5C9F7190DB577D5DC658F5E36258291C708B3D224653D
+064BB6079F91293FC733710893AD1C96169B30CBFE4E9D52E7EFAE4AFEE68FEF
+1AFD5E7E9DFCE8DE332B0FDC0514F9B3090AC85BBFB527FD8034DD33E9576325
+A8769AE09AF1BA792447DDD932B98FC9486B39E0B04DDB3EFB7A30DA0940B33E
+E27490E0E841E87B1C90E5248A91742ABEDC10F43A8AF0F9C5B4A4930B1AADAF
+01874B9AC3B8D0DBECCDA6CD7E96471FAA15CB7F8A599C5746327CE392224C3C
+40BD60AF97BCA6FF6FCAB2FEA114D7300B89E91C3BC92D5B3E2C83BB37992D8C
+72F661EFD0AA034C738C019DFB79BF40651A1A34BC1EB9F5AAF58F8B3DA32645
+24AFF8636486F08BC21533B5FF7391B0679A78DFDCB03DAF6BB7475A1D51DAC1
+EE4BE9B986655D1FDB6936445EF99B58B303FE79F11275EEA96A9F6808EA8775
+D873D1052FAC93769789C700F20EB2ED6D15676F6E563A769CA9298E463FC311
+83281483B1C953370D196727A6A0E66D32D9480AB1B6DCA77868C1A2D5DB6483
+5F31EB6B18EEFEF1CDC31533E69B0AFC6B30FC9912DC89BAAEEADC30BE14F448
+1A6B70D36A5D9B01799BEEA686066114910842D022EB464A9A1E8F0A5628BA69
+AA9A1925CCADD44703BC67A89F3B48E4680726DC4360274185CF3C8AB747A8FC
+4B928AD62B092EFE48B01E33ED756DB696171FDB775396BBA138E056F71EDAE3
+7A1E4CC272B8418114B0E81DE0BC43DB3C133167344488820A92DF10FFA26FB9
+65FCA2C87D302E956DE6B4FE145145440C83DB43A68F8B29A592B127BDF49063
+B7F11E155CD4CAE305525BEA56B7C412A6260426407BD892A3F2B444AC3421E6
+FB6E6425EB5C3053C5644666B80405530FA0012B54557327C98E0F4F064099A6
+4ACAAFC1870359C1B6FBE7606BB8A26026AE20C212210449905E628AF1B20490
+8CE908B7EF3E3DB551C85AEB0F7FEB6A8D215B97998E5DD9C7CCFB2A9402B8B6
+1770D4023777D4B45A73F471355353412C51D4CE71FAD1E0AFBD87B5F86307F3
+10D0B94F1194EFFB64AD5DA54A4200490F609CA8B912E149F8217ABB1E9EBB3B
+C4470E7365CF5E1E761AA1945044B225BD53D142F6588C50E0644740F7DD55E4
+8F73201E5354A8BC78339211AFC4935F44701FBA043AAC4BA4698E9D7700029A
+C79F992F62627C91EB855F64C4B251718FDA71EDAF082A0C7B00550949D617A0
+7071FB14F05620CCF2180941341D8E60FC88823438FD728A4042AFA8B853107F
+852F631518B61B234565291B5D5B89DA818DEE3AE3B68A2869DFA63255CC882C
+3B16BBA08FCE3632E57FF7A07F857A1F0FDCADAB39D77960BD827CCC8661A997
+648BF5BEBC0FD2286C2A112A8DEB9CCB6330A049170D5D68EEEEA011D3EF3EBD
+855236B9380087CBBB6BE24191F728B7EAC5B50F7A547AA0989B7C7D3437DBCE
+1669341264E290646F2C8C5A3ACAAC7CB63DC692FAAE13E9B40E8BD39FE16A0C
+1660CE66872D061056C04DDDC265C024BEF8B7E3C3AEE76FE5C9702002C28BE0
+B180295EE00E567FA2E5CD1638226D24A7C732E1BD8103B476EF5702768689C7
+D4FCD47F2AB94A2B1FBAE6ABF87B09E7713C773FB65CA83F7318035B332B9F99
+24A2C8897527021321D003AAD7C273E4BFA2710B9BB26C2CFD3D9A5D7ED1096C
+552D50028AE2476FCD6D12A5D0A897521313ED1A3A8456A70C16EAA50A3E6733
+6DC89FEC56AB54A579EF264377A103939D5EE00A90B4F2206D0023AF9491FBE0
+800C6540FC945199E20E945F46CEEA2E885F6800B9DF042BCEF4291A4B1A62C8
+6A7ACFF872B25FA3AE69E0093F3D0FF13A3313430C06F1AF94D500431566F659
+E8C859A5F80F5BD2E85C8E32603D3745628E8FE6FBC50FA68F9C3811A2BEFEA4
+5852CAE2AE5AAD3230ED050593BAD0A9581EB7B327C6916B8FC348F4C23E6FA2
+00FA28AAACCB3091C1D83F7BB88672A53A2EA3B8C7C24374E400C57F0F01019F
+E52D5C47F389D4C9AF126F4080F9AB8D1C8F470932BBECCEC72A9796F6E965A4
+82057DDB43D68298A00880D4C2E2496F26F015FD83C5549215753459310339B7
+6B2961EEEE74DA31FEC8E2BDDA42D4080A32372AC372524BDDA580EF6634ACE3
+128C69D04D890DCA337212B109585C665AA83EFE47D5BABC2627A86EAD11BF7D
+744176652C7F9497785A7A06A994ED8414BBE8B26E74D48CB83FA24AAFBDD507
+84A90195EA3D77BCE8C2BEDDD1DC52E8164DF15D65B916EBDF3A8A76849653DF
+AE3CAF9561AF3B705F75B9E5DFD6758DB65A2FD54683759912E0D0035CFBCD86
+5D24AB1323A0BDCC0A8FCCAD408E091D37B62D3D1BF8537CFC619A78488DA0CF
+87FF97E3181A579D373539E8AFF22856FD03F4C387BA307983EDE87FE0F320FF
+41E45F60704B913C7381D84E98411045E4AC9FFDF8168FA2286D8C7EBF681EA8
+787E7960CFCAF502B7A3066310BE7A1159A02F1BF2C5C11A3A9A52E01DE3E108
+8ECF6C9F892370DE073A17C26D92487DC47818C92555B5FA22B8E2D726EBDC07
+7B0E0DBF8060AEAD5106824D748D9C085BAC95E031069395B41D5BB131FCDAFB
+5CB678DA317AA3082296487B40E1D4297E22905E096C47A26F4DF5975ED3571B
+8D41E4680A8FCC063278A87F78062708C344AC78C167A0E5CE18889CE0B44A03
+15084F5C57B50DB76C39EA6587B515F5CAD0858001D0F08DA33F13C63849DED7
+8CFE4ADB26070E46F7E452BECBA1FCE1D1604D39EE99D02D3FE7C02D0BF476D7
+68D438A2C185B65F6148263D3133C7200962174762F97B1EA41634C128793856
+2B2203565FD277C13BD2342C13A682C0303174D9022512B07ACCCCD0FC88CAFA
+99839629C1DE9A67257E51FE20B5D01494A8FD21A104D906B000BC068A00B757
+D6F9DCA2AE54088311ED782D682B58F4EF4A3C6D9969CC408705ED11B2CE62D3
+E940616E483BE513ED163242C8A16395C67E4EEAA170C208286C5E86F0126AB2
+5A5CA2875B48C61CB8112A4CFF52C65000714978E352F4D301B9688E76ED5AA7
+BAEBEB668B24430916ED58EF36404E3B912BF4BFE16F0572FD530C5B437E27E5
+E435083606FC3B43F0240E01171A3BD42496D758AEBFBD49C8EBF885197615A7
+639C32791FFDCE1561BD18943A0C860BADAAEC8F1602CA4E90E0A8881E1A7490
+84C0602F98FE352B628A2093C4B707795612B51A3F3AB2A52ADDF6E9D7FAC5D8
+6C0CF0FF79BB3E2D358211DF809239CFD0AC7C18140DFF32A234E50243714D41
+C65EB117F74F5BF076049BACE2F4D5766F6F839077D4C851BFADA4F202D9F4FB
+0387D88E48A4E9DDA24E7B41EBAD5757C6DB346B20CE7BA55AD821FB43058D15
+E6B577374C6F8918E3EA6BCD5CCE64A657C543DAF63A2A8453383A051DBF5AC9
+E8600CAACDF129B2BB843A32A84B2C5624CEB0A5DA14980B9F60B6CAD9A9E694
+305A5A652DB7A6F0AC28E960123A04365F335B19735F54B78C794B35A49FBB9D
+60FEFEBA5941085C71D25920A0CFE830F76DD45C1F88B9C3DB554403EC5566D6
+D4B270A06BA454296EC17A8435C39721EA5C3464B0245E02013E1666DCE85044
+D7052D5DAD7CB06D15F07AD79DECFFA7CEDBA0F151727F93909B1BFD7A018C37
+099933140495831EA0F62DAE0D60672A349E2E47141187B96B846A54CDB34BDB
+6647E785563AC550C78230F9DE248589C55FB2FA7D935A4FD76D7A1C03F19C5D
+7CBA05E59E74C7B5B58F4145A22A5CDCA376CD2586BD2B33F80AA1938F035390
+CE98711FD1C07D94FE1A1329C4D983E0A8AAA0F61F3B74F8EF14DB359D881F7A
+FCCFDEF33DE27902F4B0FB754D69330A7A2A0C72C3891E4D22B393FF25B5C46D
+7391C6F010CA4F741FE939FBB642CA06FAA5E11A7EA52CB1BCCE88D89ADE52E5
+D637878DA0D48BE5C3635E2D13A0F0E9707275300A86AB185D188A27093E1BBF
+CA3FB51903F806D15B7177BD8E9D24F7FE3209CFD7602B74E1E6DBB4D6C8AB12
+12CCC7F398B49BA44472E164C63A0FC9BE16947E4839C2EAC582C852031DC339
+103010CB68F4588F0A756250CDD85CE6FAFA01CFE20B58762A0AF66BEBE84811
+E098F00CF9CF03C2FC2B6A1EA45B1E466F4CF89BD80CDD4B8924E228169AC880
+FAAAF8C23933ADA8040378EF40B3A93AA01DF86760FA5C65BF5F0DD45EC3231B
+ED6F014A7B7CE4D18AE1419122ED175FB06B99685BA8DD4359D2922BE9F1809A
+78FBB5DDDEB3ED5A0DA71350E6329E4F082C00FBD73BC06D830A818F0F735BA0
+468954522498086CCE1E87A94355B3DBA695DE4E68439B79B33FBBD44312EBA9
+063EA01F274C9F2C2C9C3FC28971837413C28C9EB1129BE5286C39A01C57B387
+D7A08524345C0E6A9AC08525E819BA79872FEB017DA832D56E4E19FE18D0DB64
+CA34BF4CBF5AB1ADC6F42FA55848B8DA24583F47F28153A36F2F91877AB9D9EA
+DFA0D510772C0F9B23748AAB5AFF71127B99E68311A4475050F9883343269E8A
+CD6D71F567FE79C1DFB97641A3524A78F31E12C42BC062141BA602307E7A75AE
+CE3C9BC4DC9A9BEB3D19230C2D8C05705A6102EDC7272C5346C4A3D1221549FE
+9EFB9621106974264CE4D12219CAB25C77647227F0644876069BF9098EA05AFF
+570B7A4BCEEE08E69F7A3F642E7B9667161D77C9059B5341947C4FFFF277230D
+34376F35F3FDE14EB567A79F69EB25061D4F13E3384B4299140B6007EC79DE4A
+C6A5233B037A7DBE0E2C76F9CD832A8E4A935666EF60796E16F3128D61699865
+C1738432404F068A90860C9B74B459A62D1536D898D4E5F932A5D17EE5E45EF9
+8A2D29395F1B62EFE8D4E90E30570BB02825F879B0773F90B2B4866841DF0142
+19547B9F5B4868BE8327F1670BCF1986547FD3CBF8B18F064224C65753D3C346
+2AE5E27D3DD17FD45CA68B1CF49ED71CC3CD99485D625B719355211858A60F47
+01B9E6B47E6BD648FF890ACA4BBE581E988000F7980A17284FB56820BBC7322D
+E0676E2F731F1D13EA3C93636833AECC5931E2EBCFE0290431937DD907C63F13
+F0F559FEE08BB543FB7CF180EA7C25497B940B0A9ED2CC6F665A39ACD4EAC9B0
+056D09CE7A577746E4C27D264C5098160CC6442A94702E433B0C2AE9EA96807A
+9D1EA132C79F9A137C7014F744AC5BE17DF9809D451BF1A00DDB7423EB341DF9
+FDC316D8C362C1E4BCC54C1DFBFFEA1530CD233C2AD478F1EF26F1EE789D897E
+6C655B28EB040FD72C2651BE388A6DF15F924DF76B6A13F2F4006E450DADC5F9
+20AF97AAF58D569998FB2C18DE4E872EF4295A006D74A8D5365D433C72DFCD87
+AA80F7005FF2B05D486E4E7F13C774DBE38F0AEE8E4D28A02EAEDB92823CAF46
+B4CDB4C9FD0EE6CEDDD8427D63D686E12352FEB92D77FA213191273E01E1EC2A
+1354A5CED374FC6525BC7D41DF2704D2B7A771B69BEF174CBA890B795FECF8BC
+4DE4D16C445DFEC08C22127D5A2C1A6100A11AFED1C6F10E889E17E0C487DEB6
+1ACAC7123A40B8285B9BC63E975D92A955BF5CED1FB012D9C357A28A272348AD
+F1DBDBAAA9E7F631D0F0342EE72FEA35BA24D8406860B82A2FBCD0D7F113C890
+BA9CB4999FCFBB49A4D6E6A315D6E5F8B1CE8322D7B1D7E861A24B6AE7772D20
+144AC3FFF9F0EC7FB289DF79F00B01BA9948BCCD99D0B68F46F74561F7218E5D
+F0D79FE7B2E0EE5B5A320994B274941ECCAF6DB62B068BC1F3C23B544370B3D7
+150148488F579978E1E0EAA426BD5EC089D2AF21F19F71732145CBF5181C9E00
+203915EF44DEAAF41CC38AB56F956AEAF264247AC214D7E7C50251863F79A9D6
+1A5957347B4D6127975279A6E6BFB97CFA2597EA461856A7B6B40C221FD92122
+560D54B51EB06A89B13819BA9F7CB18D9255E096E2B7BC7856F2F9D616BE45A5
+C2B0E7F3463E6DE3C5490D2D920ACA5D12B64750E1EC4F71ACD8A588EDCB68F9
+426C7D9CF0B354DCF62E99BEA1968C8526FA511BC22FBE4575F82DC95F4026C2
+D51C4AC906180258988D2028ABE388DEE7B854F4B94740C1C2908F5533169535
+DD273D49C925E424AFBF759170FFA0D0FB9916AD69462C8030CFCB156FBA739B
+E2239E15BDFA6FDF570F9CFBB5E99857BA877E7660028F8ACF9E09A12AEF6C0B
+90260CD03D45B5DE67C1B881ABC09AEAEB3201168BF40FCCFA6630E1A91FB413
+3FF66AC2AB4F94AC670E2B23AE3CE46767D41E8E342A991AB72149CD549CDDAF
+4F0AE4FDA61BCDA24D83303BA5995514931B8EA06CBD2322079553EC2ECCC9EC
+7E01C3299501B76EDDD446878B948D2BF61B3EB6BBFC5B313D971651115F671B
+242A11DD6F2E53C1FC1DF6BC94C6FBB39949CFC727EAEDBE378682B59B79A604
+B4B8DC89304E058AA7DCF16A6EFC7A0FDDF6700F9D6F06994136AEBB299632B3
+E0DB59FC5CF29B0BF3003AAB518D7F67DF88E901EE0A7BB31EC8CBEBD88546BB
+F78EEDF9BD21D5D3EE84BEE56F9DB24B58CD3EF872200A1DE792FA3F55AB7059
+438C42FB1CFFCBAEABF3A871C8A29CE9AB9E7CD5CB064C498685A8C60FE0524E
+152F1BABFAC966CDDEBAA3CBF35F184B531F6B8CD47434F2DE526045A0F37EE3
+6E60879CE203EB232FA327E9A7B5F5E0AB235056BDF9B9206CD18BF6579E81CC
+49D12BDC6912DE98471D1EB75D4D1065DF7C1ECBBF389EA2D619F9DE0BB9158D
+C564A9F80B8C75EF0C4469B110636BE36C78A55587BDF0AF444A5C694264BA7D
+3C1B17F929733E0D1EB049D1382DECCF2EA183E601EA8D085AF7FB49C181AA62
+73A7250A30A555F433A407DDFF6D92847E82F95B624C252750AAADC85AA832EC
+C429F99F38A65EC90F03DA8CF79A024CE0093A23CE8065A6D50821129D0F6DD4
+73745CDF20A273EAFBAE230FFDEA698D7D798A3DB965D88A7AAD939619D55035
+F45EE743141BF5804C21A19822BEB4193A76A2CB8B4008A454B9B192BC5F67B8
+B7AFD0AE49FAA68F99AA4ABED077F13FD388B0C375D42660C07EC6EE33AD78C2
+D04150BA2250F5758CBA0769E9B8D2C7522F08907879A7A7559A3509D26A2B4A
+D9DC81FEFB593E70DD4E288EA8F020B98B49E7B5B179A5FC066508A0A63CFB39
+5F3B9A7551A6235218EC8E5D6317FDAD83E73A1C848F60F298FEE26686F7594A
+0078AB2E6A980A42180D517E40DC991E3ECFCD89F3B278D14AC646753494BAD0
+351E52D23841EC09C997B30B65C7C888C24BAEB373D1F2B6E7E14782DFD4E3CD
+2C02497F21EFEC73B88ED4135102B79F7EA69C7BE1B0EF047EB10CBE090BBE21
+BD6D04870FB51B60328E5B72DEAD3ACDC990E8C96C82E66C4C7F5447272A189D
+9BA111CD84C513E2A48EDF82673106ACA495F7A557E1CDE6BDEF7205268F4088
+7D81821016BD986A63F47E2FD4D5B19AD2C66590939CDEEBEB1CC661628CAB19
+4717CD76A40E8B31E61BBC5544B360F573A28A445ADF5A9C426DA9A01BC4ADBE
+225C83D3642B2C4707B3F6B829CF95B91E21623C1AFABD6752B6C39DA374E29A
+C87CB7451859E872A44EB1C183D448358A2022E49C3050FB0DFA88D74BB82FAF
+2AF19EF2117E38503E77811FBA88EA76861427F9ED872D81961B652B77A651FE
+69DEC0C685B81F32B9B1A1DABC5BA6E5224FF988F19BF70A390160FCBDEAFAFB
+B3143D96E42D70E055A3718B69B0DC0D5E1F5E6299C371F80666941EE3E85B46
+00D0E077AA632858E49139D1C7E87217B65A7FCF1D5F21121A1F25273D3ED5AB
+7ABBF1F10C9519BB518BB07E6CA87B1DB6A611C1D4238743CA25E38AA219A5A3
+21C539B1A45383AAB9B33B9E989A202F564D26DFFD74CB072F6BF596CA25CAAF
+D69ADF0F68E25A19E37D4C2106C95FF0BD6A69BC9608C1CD0904A6FF90016DFA
+DCFB32FEA096B0C96F4AD9C0463B0621D4B91AFE086546C01D346474762F9F71
+60318E866B378E69A5AFA75824183A5217EB6FF062755820FE06C72AE6A89141
+89EEBBFF967E9BCFA5A2BFAB978670698154E5F3C26A28DDD4A17EC565485D39
+9717A3AE1457B15AE4BC8271A9101C8D13AA2EFD09C18704CEF3C07C2C0F40B6
+ED6FB40618F26A33ADB4AF32FE32662F92E74F82606E495AAC1AA8BF7ABB1E13
+8811D586D1F9068D15126173FEC063FFFD218BA328FFAF88B8F5CA2B024C883F
+D0D441C38E444C68FA86183C6F7247FB9B18D7B4AEB483BD480EA1AD8414346E
+2817E860A5399E2AB8D285A430031C0CB61315F520A79C0F1166DE137BBDAE6D
+5B8469AD8912FD9893AEF5DEF0BD2B85EAEA124ED4A6150C07AC9355C798806C
+0EF6571F44869EFCC41A5AC5AC18CA8A1A30AD9E626DFDB7ED16252BF14724D7
+6842EEB7241EF1C504FBF6743AABB133C5BCF7A03BAB2557C6E6FEB317E63945
+47EBF27A12F3A57BE85B616AEE1FD19344E8893EC3F37AF32E554B2E1BA31D71
+14A91CF0B4323A42EDD5E17C858170FC5DED3A55EDD504F128A377B0006A6B86
+6AD5524BA7F7CFA0BD65C22A0077001A4AC9DD57F05E2CEA103DFC5D0C6191F1
+752293E0344DA0E367B6BEE53B0553106FBAFDC26B0A5BBEBA30FF33EE75225F
+CA7441D76E4D555BF591B986C67E58AB7F8DE6156F91A4BFCD8D1DA0DD9C2FC1
+113B5DE1925639010E5334549E033E6159A5B1655DC605520577EA577362C7C0
+C0B5232D682EE900FAC6BA071F8630F1215C71C10CC7DAA067B8F86A9D9EB286
+C79F24C391DE8AD955247F91DE62EFE9D28C7FB8EA1F6A154A68E3920418067A
+840679BF22AC7A730C9CBCD3719E2B9B68163798E0694C419E75DC6B4A11552A
+5CA5FF971425D30C47BA4F3F5945D289FA413D4438A1BA672B62FAEA36428E79
+2D53A72F1FC125647E6E223FEE980C094A9A928645B3B46C524AAD2675B9633C
+7074015C6AA14EA913323C7BDCC1A88A9634733E9794A90EB8B559681DDC50A4
+DB1D56963A0CB974870D8462F1DF0A9A3BE6B1D829C431EA85A376F510A7D887
+78C81EB8E65B228E1025A87A4FFB17AADDF364CF81A94020739D1A3309E8AA90
+6721C1BA39EEAE6FE198E450C14691E147F890BCA998AD1C5BD146921469FBA8
+677BE8BA7E8BF4AB74D3E8757F0C247CEBA7690AB8051EDAF26F7BD595CD107C
+D1F9924F54611FF80BA73B9AE5DDAEE194BD73ECAC0F38C60D7892F6CD28226E
+45DFEB7C1A1730A230B9886D8929F4E2769EBBF86D41DCC40DF169E6D785EFBD
+5BBD462E864087BFC4E142EDC98B0E45A38CB01B8ABFE1F3CE8EC287A367B15C
+0606C774F56E3889F45834F7ADC1B244C59D053599EA746E8B3BB9654F4D6B60
+8547D41EC3C91B6C96C35CABC032A2106058AA0D673237328220BB28D3BC82D4
+452B0B9788F4C1C37615E4FF4C627E8522EF3BF791CF14CB47C274C69DC6017A
+85B14C28C0A49DA21CED2FFCB15B1894C4BEF6CEC9FF6DBEFA32C31DF28A18DB
+BE8521DD1936AF2E7189CF4435ECDDB1A4551BD2E9717A6B3D01A2FAD825A9A1
+5645BC10667DFF15CA15F30F40E345E04B770D0B9C51A2796C0B2BF14DF0DC1F
+3822691023245A3FF3DEE53A64D5BF466F292203D584A54707A8F0033954979F
+06E788EFFC2587600FB2EB045D45A079A3803D30701D28F0F39B7482F1FEC732
+D9056E1AADFB33FA2984DD4A80205AE30D91A6371C330B08D0F556C524E15C7E
+5DD0BF4234148DB06258479ED1EFF7A4B0C1552437F0340F6CB5DE73A6512183
+3D6B8B95B56D77995A348AE921C3F8D4C186A16AB83CFA7C85CBDA00282B33FF
+89DB210F06B6079D6D38E1EAA2A83ADAD764DE8A8C9748196479CDBD6760E17E
+FD0469EA15783378B7F2DA062CDF0DC554FF839CCCAC01232D82B7F09AF77A0B
+D4408CDE023076B8D6CB53F078B648F350F91310860B3195695BB04FE1B05455
+683C57DA31F2AF4C11DDF7E2AFA021A6B54904754B89DF229CBA0F28E32F8140
+C359C22BCB3D9B000141C8AAD516A706BF67675D98EDE71E5CA2F8CBC875E0D5
+98010443A55DED5A785ADFBA67FE872B2DA3F0E16E4215608F19F7AAEF12D536
+210A969CFAAD9BF95BE122DE0D4B07AF903694B2C808556E366FBAFCBE1F66DC
+5622D7489B2ED54D1EC1489F8B6D776B4E47A758A6FEF003B07A68AB573A5274
+3FA2D419AA686229A9D1ACB1D317044EB9ED0FB929E7E086896EAE987538E86B
+1B9B50AB6E6D2B948C28907A9E4C78CEE8C311BB0F344F2EB8B7B859D013D2EB
+9F166E120B8E58472247CE28C804ACAE68BB4F6334294AB517F305F52531BAF9
+A12FF97C41B316FCB64C18D927B7747698155184F36D48ED65602B08CB2809B9
+56E2FADBB8B22FEDB93B9761BD75AD22927836A145726BF3C501B08F64AE16C0
+AEFA3D25B93CC274066FE8E755BCAD19A3559947C3CBB28543C50D5461492A43
+6F767A2E93310478163F0EDE9442A913762B780529E8CD4DB0AF6EEB764E212B
+B8EC19CEB12CDE854BB7BFCFE77C7B8B2550822AEF4AB1EFAD54EBF0A415DA52
+DB9C9871BBD2AEA8234B6D6AC2F579081E7667D1431025FC0D6050109E677E35
+FA4CE075B6659F0AEA036628140551D92519E41EFB8B0C36B3B3450A3C19FBE0
+0396AFDC2E734211F7E325D0BE14797364FECB61CB19C4BEA44942B863817556
+D505DC2589119427BAFFF7C566402D8548E18281323493819DFDDFD3D5AEF0EC
+01170EF2233B1034A8DEA98ED32EAE17E3207D0DE23ADCE61C63012A94C8CBC1
+8250A336700139BD2029D0724858F84FB72879B617462EF6C9528AD98ACBBEBE
+8F1D83DD919B41822B32C0A38699EB7431CAD51482A308482D266F45A8A9BF33
+AA46436CABB6B1CDE5335D535839DD2C903E23CA5E5BFFF5490ADC2F3B65BEFA
+B0F65E70940EDC89381ABFD3432C3F0907DDF95172CBB89A7FF1E5AF80C8AF57
+583454F5B7451A6F366CE37E18533A1C4B3D136B49ECC1EABE12E07447CDD8E8
+2F4F1EDFBBA8CC8B37CEA857C5ED4A8E030960A25EC5D39F2C0D57513858EC91
+65132AF2CB15CE80F557C9E54AE16C2B1E9877D715480BB8FA30BB1A60AB49B4
+310A93379DBCE523B7F5D6057A835F8708F9E2B64977F5102C295C808456BE5F
+3FF5E0726BEBF07E0DA4A0E7E5B524DB825F6F16EDC89BE86ACB4A4C7705E210
+97A7999CAD53D83119FFCB49CDCE00E5D7771B4F83265777D23357311D9B0528
+247AA12B77D5014EDECC963C80E67365E0A0804546C9E9D42962BD493B5F7655
+7B528B284E48543ADC13AD366CECC39C2F0EA30084798098DBE31CBEE78E9978
+F132C5D86A47123A44DB6466F71F24761B8BF596C70C95A6601418907F09748D
+F0DBD4B33AD543085C54EC332A0B38E17A5804968C0AB5E50D85AE7E68474E39
+3970E6A3045D20A72414576A41727FE58D8D55C830974700F0A571924A98EBEF
+E532E789A0F7DC57880DF42E23D9E6FE4F9D445D4182BA52AC10486559AC30F3
+6CE4E1488F30300C5CC690590583604E5F5FF397F4B0A5D4F0DE00271BD42CAD
+ABF0D3CDD6F94C615350D45E5496596CF01766C2E072B298B019500A9D6CEF6B
+AF2C9053EEF9F19C310A9A865FA8B44296627CCDFEED6F67D1DC6EE51EDDF1DF
+D5A93EA860274BBC5E42E2428A6F12B4BC2EAFAD93A945EB00724BA84A17B988
+8D17363BB72464D4233CEBCC47FDF74F2281AC95B2E142AA9654ADA2E7CEA591
+C038173C8282F28B40DA501BF42A72289651ADE6536524CB66DE1C679429783B
+6ED3BAD1C7F9ABF6738A25A400AB46CE193294E041D6E040AD2F3E047B6C3646
+940227B3FBABE0B120F43C7C28D4E25950BC233EC90D70893CB9FDFC6344869E
+9F3EF1F3587237E141BC5FEA36D88CA2A66CD18D05138B7A83CC4C887AFAD250
+9A956EB7D0AE17487D1D699D8D618171826E57BA0FF0747E81A7E789619C697A
+2B61C38914EBD450B3E8EFD60BCA97F8A6CD726054910551BCB8A6753F9563DD
+ACC13937B3285966676491DABDC3754928F3BBB7339D47C813A420281F04E8A3
+FDBB897E2368A368A8C073A9EDE69FB7A00853619AB67D764DEE3294907E7644
+67EEC8035658A548B251FCA866BE86966BC04BF041C414BAF85CA435AF6F5FAF
+A8AC43EECB5E5D4BC5EE1E7BF29945A967D835DCC0E3BDAA2C8989B10B7914C2
+7F5617EFF326CB4B060173B2CCB152235E50A5A3FFF67BE01E553537CDECAFA8
+72B96715FD11F53B0EDD51A1C55AEB549A9428FB3D1343F7B60FC636F440DE63
+7344782D90B92BBDF539A1C3593D380C331DCB029FF321736FAFC2575041A085
+6203552A8A7C21BDC502C6A5D8F50E23539F63A4D12A6CEC3966B13FD5B78994
+AD88081580DE8FAD316FA1DB88F20D3906226270A0ADEEBCADB9CCA0F0960DD9
+69994F1AF2AF3613728DD333C6A5C68886A697EC703267FDD2615310EC5D2883
+C995B253D1FCA9F2B7E9DB9BF5D45E56
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+cleartomark
+{restore}if
+%%EndFont
+%%BeginFont: CMBX9
+%!PS-AdobeFont-1.0: CMBX9 003.002
+%%Title: CMBX9
+%Version: 003.002
+%%CreationDate: Mon Jul 13 16:17:00 2009
+%%Creator: David M. Jones
+%Copyright: Copyright (c) 1997, 2009 American Mathematical Society
+%Copyright: (<http://www.ams.org>), with Reserved Font Name CMBX9.
+% This Font Software is licensed under the SIL Open Font License, Version 1.1.
+% This license is in the accompanying file OFL.txt, and is also
+% available with a FAQ at: http://scripts.sil.org/OFL.
+%%EndComments
+FontDirectory/CMBX9 known{/CMBX9 findfont dup/UniqueID known{dup
+/UniqueID get 5000767 eq exch/FontType get 1 eq and}{pop false}ifelse
+{save true}{false}ifelse}{false}ifelse
+11 dict begin
+/FontType 1 def
+/FontMatrix [0.001 0 0 0.001 0 0 ]readonly def
+/FontName /CMBX9 def
+/FontBBox {-58 -250 1195 750 }readonly def
+/UniqueID 5000767 def
+/PaintType 0 def
+/FontInfo 9 dict dup begin
+/version (003.002) readonly def
+/Notice (Copyright \050c\051 1997, 2009 American Mathematical Society \050<http://www.ams.org>\051, with Reserved Font Name CMBX9.) readonly def
+/FullName (CMBX9) readonly def
+/FamilyName (Computer Modern) readonly def
+/Weight (Bold) readonly def
+/ItalicAngle 0 def
+/isFixedPitch false def
+/UnderlinePosition -100 def
+/UnderlineThickness 50 def
+end readonly def
+/Encoding 256 array
+0 1 255 {1 index exch /.notdef put} for
+dup 65 /A put
+dup 97 /a put
+dup 98 /b put
+dup 99 /c put
+dup 114 /r put
+dup 115 /s put
+dup 116 /t put
+readonly def
+currentdict end
+currentfile eexec
+D9D66F633B846AB284BCF8B0411B772DE5CE3DD325E55798292D7BD972BD75FA
+0E079529AF9C82DF72F64195C9C210DCE34528F540DA1FFD7BEBB9B40787BA93
+51BBFB7CFC5F9152D1E5BB0AD8D016C6CFA4EB41B3C51D091C2D5440E67CFD71
+7C56816B03B901BF4A25A07175380E50A213F877C44778B3C5AADBCC86D6E551
+E6AF364B0BFCAAD22D8D558C5C81A7D425A1629DD5182206742D1D082A12F078
+0FD4F5F6D3129FCFFF1F4A912B0A7DEC8D33A57B5AE0328EF9D57ADDAC543273
+C01924195A181D03F5054A93B71E5065F8D92FE23794D2D4347EE3E5AFBE73BA
+31023D79A7299D8F662042A8D8B6A7B4E86F48AE98EF848E83FFDE68E17A0832
+A181C126D15EC79861796F03957F5A51462C817DF752097718413D012D19C9D4
+423A5EAE1EFD4EA7A9651BAE6E45CC194BDCD03FF43F255E58EB5E50CA26BB98
+B8B11E21DBFF2BBB04D039E63C453EEDFCD9378F5E7AAE3A93E8691DED5865B2
+B78F540F8AA3224BE372B18904651D057608DE4DD729FAC398A80CB904410451
+90D66C44E943517A8F4969673B985D9D244FFC743E0AEE309EFD224F7029D37A
+F6EDD96E2F88C9D071FF16EDF055955D31DEF10808B343E948BB4F6393D275D0
+44C4DABB75332DD716E8127283E8D70511F8EAF4D1A5F72E2F8503A2F964E5F9
+39304CC17ACCF531A8C0B6A9D58DBA6F24A4ECA62EECC939E8111E4BF79BDF77
+D656F9998F1EFD2ECE3E61CA526106662273D5AD3E74D08E9D4453569B359C2B
+E2455F2136B4DB54ADDC3C0256EB7A11E1615AB9323ECCBB6EB48ACD469A2020
+A873E88B28AEAACAA01826C1C18120774FD5324DF9AD36FC256706DB24FEDF34
+0FCDF04B12ADB66876EC7AEC183A1EA8BABD38BADDCD0EBDE11A5A1BEADD0F7B
+83585C3BA141A8B296872F712EC42C625DBEE9EBD2C414E57CC1378CAEFD00E8
+DB4B84F51967F2968329B8503C4B37A56F6136DA89167FE3AAA93257140FE94D
+D96C7F85C6F82AE1596511ADFEFDEBC1B41B0395E66D2074B39B5565AD4687FC
+89BB4BAFF0F7568D9EAF069CCBA2DFF61C59E2CB2F4274459792C5D097FDE6DE
+0E40AAD8DD8F64C28D04EE50AB79EA7D3420CE42D39FA9080E9E046A4F22B5AE
+AAA17FE750BFAF7BFF097E4A6E9362412C55E25767C311832C1C0C76005C733F
+E046FCFD4CF49C6181C24BD299E90F20A0A0ADC868C11A8AB7F610186D0483A1
+B3BC4FAFFFE12FD746777209B4DCEF0E4ED15D90F19BF2FB2B56231FFDE5D40B
+146E3FAEDDBAB365D88CED98629B9855AD6E57FB01BB82659BD320D248E5F7D7
+B584DD43E1F5DD2C91945DDB772E5A62AEB7080AF36A83D2BA8533E7E6FD287A
+924F616F8090E9FFAA607A21F38718D668FBD6BA3434500BD01EDCEC00354F68
+E1D0E9A921DACFB83FB61C1A5C27D027CAB348C4B7E2781013B68CC5A2BC8703
+2809A49A0C2E9E004D56844EFAB4A8763B103CF7CFF980C9CF7F6BE28814CBDC
+348E2486D9379DFFCC0E9329854D518B49B98F582972B0D1D18A3319EC00DDF2
+F64C2CD2DCDBA287B279F98D16ABD1D140246E8B66C759571981FE7402F14C94
+18394A4C426AEE4B0688D86D08B408763DA3537E5BA0D6A6796C316FDB0193E6
+77C6F257BEDDE17F2CA5E661F434964BAC9834BFF36F563637872FCDDE94CF22
+F076D1C2DF6357D8A26D305D52C9086CE36F49CD92ADFB4306705A0887407C9D
+59B6BFDB82379111C9E33692BA9E2ED9782CE4334C6125933A2F210684642DF5
+3B129F955BADA1E86D6B80CE299FA0D1C0AED1AD61686AF1052A188881E2125C
+98083BA8255B92B9CA0B48EB57F936790DEFA6E6947C0FF4083FEC296FF3034D
+AD657C64F2675EED2B4EED1E88F0B1338762CB4C64C79F111CDE9777A000F65A
+F9979943ED7C445815BB59052B91F0FEF7219E3DF27E1D5155B9C42B7BBB06EB
+1815997FC3471CF963A15B1C5E4653C84236CC5BF55A31B94E394C635B95D847
+69E8134F4FFEAE836CD6AE71F58F48AA2F95BDB1E2CB89DEE590EFF3AB7097DF
+AC185303E647628F5D87E0D82E6685DB467A0F8B7D3AB2B7F3F11BCC99BD48A6
+FA5D4D75698454CB74451B486CDA6B65547C0CBAA563EC3574364540AE7B11B8
+F9E86BFA655CDE88DE2E7D41851FD208649E9C011E04C78ED9209FD56E2447BC
+E1AAA0A3D36F6406C60F6B19347CCB7D56A84D961E17E361F92C5542109D9BFC
+FEA2FF9775230EABE3333EB25A40E29016E9A8255713AC8336B8F7DEB89FEFEF
+4006DAAEA26C6BA1EF494AB99C2BC960D9E07981BABE909B5C121F2CAD48C938
+A36129D10D38AE8F5C64879F61138FA9F7479341F5C5DE86376B65A642B9622B
+E58DBBFAFE07EEE1D11DE9DC34309572868586CD92D39FADB711883AA85210E5
+C82842EF225E55370FE0AC600A170687C60C8091B0625A1C5589186F3C7C1218
+B15B5CC3A5CDBA7085338D963D929A18A651EC7CC39B8500899DE9220A1BA363
+78698E414607C34E06E29AC5BCBAB98A70DC2BDE0FDDCCE22D4717EDA7D95397
+33420EDEC2F1D6E7072FEA85945378A6BE9C7F68DB4FDA6B5BBC0032B3C02519
+F4168C804B6A101AA60EF4FC40C2428AFEEF5A80F9B76D561C8A21B3633E13C5
+215A14D54B8A1E6143A9CA0B5794D20DF97C35B3C9E9A4673AC2123E7DD8E216
+044269B1D6AEEA46757F8D9AC5C8A92BDC1EF22EE0575C80CA7895722CDD2BA6
+F9A208E6BEE5319E63B3B3CA197D9739A4498AAAC9C7484D61418ED2BEBF63A7
+F5283A075D1DFD4B2702E1551A0D1A90DBBBEFB6A55B5F29C869763A856C4E61
+EEB3C8E14E3376B7D01A4E265C6C8056ED23931DCF669A0EC9427F74A147AD8E
+82E172FA6C13DB1281651BF3D14163D963EFC7384BFC4B3B9274274DCEF647FD
+D6DF0CC146BE8AA660D709526B394CE253369281FDB45AE071319E8FAE4EDF10
+2867A431E22779EE40D885E95AFBF62916D9900016805D004C0375D29130CA14
+F3E466AF350D1A5D181816EE1C4BC75DC09E4195DADA5AB09CE9EF2C4D5F7CEC
+6C16BB6EC791E2870DB46B6B06DF421E7A2781D82A07D92316B553D068A1DF5A
+8B19041F96ED637B932DE184F8B856FE1947F5FC8AE505F0E3953B325E0FD6FA
+825EAD072AF06E258BD35607A1F082DFBC2BA5251DEDCAF68B4D03086CCF84BC
+DF70BB8D2EEEE3E0EAEACC8440AA130273E5C7E78A15EEF66A9A1E0D5E022188
+0AFA50FA55C6C461C743E1845FED77378D639839F548D6827CF371AD3DFCE592
+B7F6E29FFEB6CB92B33E24E34875A5A92C08806F67E18AEAD86447A977890AE2
+30A452F33B609DE5B792D9CABF39A086C0936AECC081CBBC810B3EE1D35F9717
+260E76132661E3A8170759084AFAB04A6E773E9714A6D486E0BF46F336A7CDB5
+C325E28E747295CB0E8FFB289F4907BAEC213D4D0B495A246A3DC359B995E9C0
+C5322D750E13159B7242E4C4DD27932AAA130BC6B0400428B5E6F928CB8F7658
+EF02F7522779CDBB67722E09774C419489192FDAD3DF272C95BD9BD64DDF0BDE
+999FC72607F52805DCCA5EC17150EEE38B866E3D5199E5A6CC262785EEB11D51
+80E79545DA191071487EF70C7FAC0CA345955F797912C1268924DD79D0FCA3BA
+460F43E74975C04296E34423BD366A4EF7EE9463ECEF08F7E7BC8BEC570F812B
+066383C2EF5375FB1504537D902818D63B30385421FF81AD92A1C153852B1427
+A39685A76DD636DC4ADCC53F2A78F795F48EFB23807E5751023FE324CB401281
+60F8A8DA779A245DBC26E73B61A1450F25AC276E1B5240578E85E1CDF5A784F7
+D4F5BAFA76F70300972E4B130C685189C4010B9035A5CBF0562EB3B387FD89F5
+C53A25D3E883B506E0B477389DA5CFA82CB157D8C30F287678B0F9A17F5A8704
+ACB5DC57D7CAD21A4EBA49248F277F929D3E49B17463EA5F31A4FC11B0836E34
+3A5FDDC6B9A45113590F114B99566D18C21464E7FC1D9AAA9B1133E5E8E2D14B
+8E143E1E16595C42376694A83684E3B217A17F158DE89549ECCCB443701B520B
+E20B972CA5EC6405C479C5054663D48A22D105AC98AF094340B5964D0C26D9CE
+241D2706D3444C1405B2C9F7C912CDFC87EE8FBA01C0020D1AED1A6205A8A45F
+8504B42431DB5409BA8AC472F2FCB4CE698F6DA92C4C8BF1293C2C998B771540
+3D933EB5E976B7D2252DAE9584E5C6864B29C3048EE159BCB7638CA956E07F81
+F76391380AAD2F1DC2DC201BAC657A1BC93F5569A5F612A4EB6B01F136F41B87
+E20D4DD6ABD7ACF1275FD80D9BBB87A45572979BDFEF59212F1F6D9423FEC976
+1228499D626A328569B4BA2755B1ACD20796398AEEC5F3C61122D52124996535
+D0813227F549FCF59C6182D6514A70F9E38565C8C98D5F797318FB531B5DA58E
+EC60235B6F1D97CA5D495CF689C3F9B3260998ADA1204AC00135C7C72700DB00
+7C06798A46E897875BE619508DFA2201FDCF689E51C3D85342247B059C0DDA14
+766A31E3E25E792F090DF3EA0C45C3F64AFB918BDFF92FF0ADA2F71866CA190B
+87B2FF90C872284652619F084E2259F044E2980101A62004AE9F4BBF675C5279
+BA3437ADDF2D552A033D2301A669EE8BBC840C0028275D077B8E9977D447B396
+F1D82608E030FA43511BA01C345078986B8C35B6C6990D018C2DD2CBC7774450
+D8482DBB262BB816E6A26A1FEB084FC2027C62D17790C80C65A9183F23BB2458
+34FDC5D566C1B667EE801D0521BBA520A15C0C923EDAD84AD6A83DB23806711B
+0AC2631C15EB1D33C26F8D65852EC37A3479152557366929A63B753226059870
+45CE6403CA23FF95BCFB6F0C8DF8CAFCC0BF27C59414217CC6552F5945D9E6DA
+AF83F4AB1917742F7502B069DE44A6ED3BEC966F59A84FAA2F8DE441C11FB122
+DEF1768D250C0CA5F2DDE6FC4E24FD3AE4386B91ED2A492A959BF7E4C0AABEAA
+5BC2D933147A4A21FC5E5CF3B2AF5C0A768A8B79337FA3934A43E24F9F7DF24D
+22C5BFE4DF1FD57289A6E1C9AA48D32D20F613AE94B4308E0D3BE4D1BC95B33E
+A9911B82EFF461D295C5462EE2B12A3E40B89E0BC778FB76F8B847B6AA99E061
+3444A55D83FF839B926985B0F4E562D726FD99C5DC86DA24BA7AF38B93C90F51
+A937E7C35793010F351594465B39BA5276F223DD3CAE1868B969D8EC93AA50C1
+4C7E51D0D7F5E9F0EDBE1BE24BA5A977163BEC724D575749C56C4F39BD60F3AC
+47B930C9E07A2D59642C9DE85EA6FAD1E7D8817812C049FDAEE148E8AB207B89
+B2324191F1A82A7C499E7BF09CF1299F0ECF55EB0A2A32C5BB89411B4AF2A401
+074718859CDC27C2FA78BC5269D5A38DBCAE55F6CB669DEED2C36E5B0D590504
+B6162391FACA9F20224E6AD24B86CCAC0048EC7A618B3263F82A317B3969F0FA
+9D5EA4676B27F371785FFF6599B61A6D32E82DD9D511B04E03F14C95A4CA6CD9
+5B59A8A7BFB2AE32E9357C7766528E9F74BB8D0B9317F02EDACE2033B7918D6B
+8616F1C1B3E113B0F77B0A1292E41F8353DB55EBD872290491AE1FBE95EC034F
+DAC1394928930EE297693598D97EBD0720A0A7B4A5DF4EF4BE0E2E0968E64CB8
+167CA1B8C40A779023AB6F74E0F1626D8BFFA96EA09CA88524837B18DA6152A4
+3F0DC3C3958EFFF86B07581B416720FADFFC4AD35F1553A18944A6DB8FAB0AE0
+A8118C09DC8E905CA32904B44E0541FCC7EE555335E61108D8346B4EF697DE67
+7F67E1E4CF0EE2F6D89D10FF2D115C6F8163B8180378018F58C148EAD188E969
+C60B83C7B295F30614B93FF925BBB2974B0B9C68C2BBA6E973DBFB5500A574A4
+F7348BD31C735A1E57519990582D8F7D97F8B63D9DCD488DC569D5B392FF26FE
+F06F9762956D64E9C258EB9B90733BAA8F1912F3B9AE88C6D14DB46B7131BCBB
+D47CE60D9C63FE0B9620D03F615EEDAA3C76A7285F9897A0D476F35F5CC158D2
+D148CA1E5A96D16253B360F34336D476FABE9A434AAD5FCF65A27F48C5BC3519
+DCBC35DC1D324A270996B8DEC6D3833E76A434E05074C7E3FC8E5633D6B25B7D
+69D9BF7039DE4E755A7E3BEC8A4E5929A98FE265E742B269666C75644E53E6A4
+C5AC907F7DEB319BC88CD1A7F29A0A4D43D471892A674D50C70BB6EFE5740F97
+50522F2EF056E208C0134EAF15DC9F85C7C06066782B715A5EBC22AD414A169D
+86A2F606150B6F903D3AAAF44E75649DC410C3B8C845909BFC8235E573A2D291
+19440D724C960014917EC802414651E298160EA70FD54BE4EAA1A1007ABDA8B6
+085A89221C3DD5E9C759C19BAD6EFB91360CFDEE6C4876AC19B4BF67A38BBD5E
+0BA20996BEFC1F8C427EBDD666B30DF5A2389F1F3BCA17132FEFFD3231570AD2
+61CB33381A0D2E2FDFF470FAC3A60E61E99C76A3F4A6BF32FD4B2B6DB6B27F2A
+76A5C35E24E78F7DF28AE1B7D04A71097881CB67E060DE537C1A318B95964FAA
+1455264E48DAC7689EF10905E381C569DD65825089EF325595388FA5BA6A1EA2
+E2536872DE92D46AF3BB3F1DD920FBAA4481034DF831FD15C01798AB04A73B50
+1461BA7298B2EAD460D6E645A9ED41EE0E0282C335AA716D7563AD7CFE2841B7
+0C782ED3F6D31871350A12A41AEFE21E9A03DF676671E4C953E51F801CBEE091
+BE0B7B413B7EA2479E2529DE9E49C03CBE8159DB1B28D2E290826B6D01B35DDD
+083F85E9CAE378C1A3B7065280D9FFEB04A02B76F1F0E547328F005CBD39936A
+5063812D1C958FD4EA6BE9FF87E5FAAD483055819D1DC39D31B8417B44F30B50
+EC95E26103A0DC2241B56DC62D424438A5FDBA8AD4D9B417F0DC31CD82DD772E
+FEA23036A719927A4654876985FF4AC2D28A180969A76F3584D001A2EFAA2BB3
+7F0CC228CAD9A485F3FEE3E0F0059D3BD8484FB97593A6EF08F9D352E3860613
+2617ED6138ABE551DBC67F0151D0F9CD83A613C245E23FEE6FCC8858592AB43F
+8E66FDC5A27F9312091478D102BF867B320431F7A6EA42EA763C51FF7E0E0FED
+A6A830AC95600C837033968174A9406D0DFA72FD65ADF153E5CB3420CEC76A3B
+43DA6743F24C6CFE0E9A7E78D540385B657CCB379BF5E238A07B836F907017D9
+C0CBA503FCF625536E27B77A262A0EA1C3DFAB015EC859FFE5BB26197A05F4F9
+87046F3AFD3387CF1B040DA7B7CFB1EE92816C7C172164CBAE3E9204559C2A74
+87E4A41AFB16E7789686047067947F41C82A26E3F343E7359804BFB3B7904F4A
+12FBB7EA0E8C26801ACE0E9093D7E2C3E288F781E3E6A53B8C121625CEE7354F
+B1A059AFE21AB4DD2B43A9DA710F2D811F63DC41699FCC43330DC7AB9CD10F00
+C959F73155E9D63EE7B20970C7AB1B9A8A51D0DA0ECDB917291FBD57CFAFD9F0
+E1636B9DEC48FA7FE5B225283546B01ACF3036F1B5F399688F1657E41A5F4EEC
+2CB1324C136CFE6C6B92958597B952552EB7A8D58BA7773CF685FED451D89392
+C290D38D67FA7519ABD024B85D3002D8592C5D30B50726C7BD17577FDBA79E38
+3D99B3A08797696E593C0BEDC50706C986E6BD05AEF30108F4BA192E956D2942
+72F59E1A025FC31568C2EAA1D5942A479203EC01B37626F1EC334DC3C6527C06
+41162B68D66E7923911921E861FECF78F36E4BA60B4FB8554E83AB554054B2C5
+8C05D3FBA010846BC5B32E9ED62C6A0E8D92B8F3546CE0406A87634E2D96F5E1
+F007DA0161E75DA55FEC10F7564CD7CB9AA0A016438D082D9A9FD107CEFA7B27
+BA3C61B3A13D9A30E4BAD25B2FAE3ECE3FEBC9722B448E3AC5DD9FF784718F6D
+DF58A8A7DA91086BD86AC776CAF3F4F2DBC2F0AA81600D53D2A0EB178568DD96
+1ED459E1CD3D897776901284DE5673813ABA0CA7ED342130B261727DBAE566E5
+F57FA86A7B4EE5F48F039FB95D318DC142E26022D7F85B34558E99078C5E6467
+FB2ECB21BCE1E271E22FFD2E71F203DE5D3BE3EE5DC01A9FA9D3E4D01C0F12D7
+D430BF07CD774516464C6FBD414FF6F0C22B9C02C7B4DC659BA3D7306AB4EA90
+12AD3D9EF3C73E567590ADB3C6D261F650E218E7A87DFD9185BD17E8FB9B8AF8
+5616C4309919470B2E01F294D6CF5A8D89BEE7B3B199C4D935EB8F12308C4610
+01A5E4EA5AC9E47B414B924B518F44461695BDBB493256D530C80A2A88A2177C
+7389DB61382349231040253A36E9C91355A5F712201ECD1C786660F544C3116B
+A0993F9C043DFFAD52BBAE21E69799BCD56EAC612B22742334E801FE3F6789D9
+E8B51FB66F3A3994BE700FAB60C8433504179D9329E6662652F1C6DE49CD8369
+9CAEAAE9C25FF0A986CD5B91A78A7B281FF724201841CA0C0D9D48D68AD9C991
+4A2B7D515CDE867B33DF058A239E5FFCDC44E20149C02C89C5B87B075FDFFEB3
+371700E036FA0A232D1B534C581C33583889251B9F3E32203D8FC328299D6093
+BA244223A74506D13E1CC9716F496D50AED48F058071D6AD036D571F32185338
+F2A6793724E8FB850E9A175C83CF701AD2876DF91DE0D9DA7C3D13B745367D96
+22E1B8C006DDADFFE4804F83FB3BCB48544D0091684C1BE9A4BD325AB959050F
+2535F50F12B73DB7FFB418D7D6B2CAFCFD5BC761EAC675E0EBB8A23BF332794C
+2D67F4974EDEF1EBCBC5FE26D62FD71DD749445960267DD18322626F84416B78
+AABA54E6DC8181CAC0ACBC66952C4E96507800FEED6D7604834A14D9499F5D7F
+D93E31CC2152EFE43CD355D981F91D774689EA589E542F11297A430617BBC177
+2AF03ECEFD7151E6347343F6A12CCFF5F64FFBBAD48D8A806C6E563511C97581
+7D4BA510BA1B84B72FB495434C2C07DFB05F8BA0CB099FCE8AF1275AB983855E
+3E61F8B818BD04B15533479FEDAF2AA4CF1A0F111834BAB2929A9E9B67335F5C
+085B13726B55EB619D2474BB50B473629FD0ED9D4987C17A36CD0B3016F479D8
+EBEDCC7B626FD5F54EB70EEF08006C92D863F9623F50F35158EED0C209FB9D84
+45BDE42A5B3F1FCDDA88353965D55AF0072AA1278B3CCE16218C2B393263FBA8
+2C2210721E5B8A92633F6E19EA3CBBC54CB10EDEB70C4DC00502F8C7B72BCB5C
+12EDA943F183B470D7878B1911583199701BEAD17F5C4A5481BC27597DC35EC9
+FFA8941D718692B0B33DEA798101DAA470BD4444CCE1FA857E6ACFFF8B860F75
+CFB76AC54708C02584E9FC8AF486A9D16D6175B87DDBCE0F270603A94B7612D2
+65181880FC339C100B1A7EA58DFF7C64FFF8FF24790DCBFFEDB4AAF033B93215
+8367CD9A9AF44E12A8EE4B7A2DCFC02C969AF8FAB72C1A1AAFD91C36173D7AED
+B259DA94331F79CC0698CF95D14562D88E6BF6C99743307FDF5269B44DAA11AE
+2C5505BA70F9616A855D5A75026005164BA2ADA6279CB3664A23B3C5A339CE52
+D11627E92365C39D4CC02D34F9340F4A97E6E186FA9C52E9D7086FCFED0C5319
+C97670CDA4461985A2553A7E845737E04268AEA9FD26BB8409D145E3ABDE88FF
+2730DB4697F637CCC4F94F633F4B6F1D352D5E6E192932120AC10E0830B436DA
+B474789F08F51E23D3DF5867A64D688F5A671E0D025FB5217B919B0C8E9154ED
+43BB6B3ABE0AECE3A74A4AD8EEF54C1AD48F8B63525A05227A52E33D81C9D531
+9FF9821CAADCDA4157F8871CC1DFA9450E12B9996997BBD6A3A399C2C8461B38
+8D509B501C34B319E11FC9CC32116E9FBC913C73E80797C995ABA622E8D8BC16
+27AD703EE7676F06CC2BAA648EE5E0C04156DF21D18EF62A577CD2F9056A5A6C
+B7EABD639EA8115274A88C57247A82CF44ECFF98BCF7C128452DFD54FF9590AF
+464D0474E06F30DD2D82390805F4703740FB5BC6D0807F83F866A06302548ACE
+CDCAE86F789563
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+cleartomark
+{restore}if
+%%EndFont
+%%BeginFont: CMTT12
+%!PS-AdobeFont-1.0: CMTT12 003.002
+%%Title: CMTT12
+%Version: 003.002
+%%CreationDate: Mon Jul 13 16:17:00 2009
+%%Creator: David M. Jones
+%Copyright: Copyright (c) 1997, 2009 American Mathematical Society
+%Copyright: (<http://www.ams.org>), with Reserved Font Name CMTT12.
+% This Font Software is licensed under the SIL Open Font License, Version 1.1.
+% This license is in the accompanying file OFL.txt, and is also
+% available with a FAQ at: http://scripts.sil.org/OFL.
+%%EndComments
+FontDirectory/CMTT12 known{/CMTT12 findfont dup/UniqueID known{dup
+/UniqueID get 5000833 eq exch/FontType get 1 eq and}{pop false}ifelse
+{save true}{false}ifelse}{false}ifelse
+11 dict begin
+/FontType 1 def
+/FontMatrix [0.001 0 0 0.001 0 0 ]readonly def
+/FontName /CMTT12 def
+/FontBBox {-1 -234 524 695 }readonly def
+/UniqueID 5000833 def
+/PaintType 0 def
+/FontInfo 9 dict dup begin
+/version (003.002) readonly def
+/Notice (Copyright \050c\051 1997, 2009 American Mathematical Society \050<http://www.ams.org>\051, with Reserved Font Name CMTT12.) readonly def
+/FullName (CMTT12) readonly def
+/FamilyName (Computer Modern) readonly def
+/Weight (Medium) readonly def
+/ItalicAngle 0 def
+/isFixedPitch true def
+/UnderlinePosition -100 def
+/UnderlineThickness 50 def
+end readonly def
+/Encoding 256 array
+0 1 255 {1 index exch /.notdef put} for
+dup 46 /period put
+dup 64 /at put
+dup 97 /a put
+dup 98 /b put
+dup 99 /c put
+dup 101 /e put
+dup 102 /f put
+dup 103 /g put
+dup 104 /h put
+dup 105 /i put
+dup 108 /l put
+dup 109 /m put
+dup 110 /n put
+dup 111 /o put
+dup 114 /r put
+dup 116 /t put
+readonly def
+currentdict end
+currentfile eexec
+D9D66F633B846AB284BCF8B0411B772DE5CE32340DC6F28AF40857E4451976E7
+5182433CF9F333A38BD841C0D4E68BF9E012EB32A8FFB76B5816306B5EDF7C99
+8B3A16D9B4BC056662E32C7CD0123DFAEB734C7532E64BBFBF5A60336E646716
+EFB852C877F440D329172C71F1E5D59CE9473C26B8AEF7AD68EF0727B6EC2E0C
+02CE8D8B07183838330C0284BD419CBDAE42B141D3D4BE492473F240CEED931D
+46E9F999C5CB3235E2C6DAAA2C0169E1991BEAEA0D704BF49CEA3E98E8C2361A
+4B60D020D325E4C2450F3BCF59223103D20DB6943DE1B57D05DA0555DF933BB0
+7B42D264831116C06C79335D519461E7B0E870A6715E3D74A08D1BCF86E3BCC3
+A43FC6BAD1C68BD9D4AFCC06D845FD1F1E70D7A47F0BBCAECE8396E04591E5E3
+4797F646AFEEB7DB548183F0B74C9BB6BA2AA04E7F5950EC8AE97C741D4B2C5C
+A8E7A8DF5A36A30B5A7592D95E1DBC63EF33C92FE459792CED29E2B8B6919251
+75EF62089BD7D44A6E1F9B62EC802FBE62B821DA1C3B2DDED45D27964AD29ED0
+9FB7868F3A8FEADA87A8E42D52C1EB7229D7C79B60BDA263F2BDB025AE14A507
+098FA274206BACFB4A0A7257D5998EE8F0FDCA79CB61DD1FC59DADD11E16BF02
+ECDFD706CDA1E72054D4EB55AF7BA9F19955886BC0BD6E0E3FE3769C94AF3581
+DFB2BCD67FE2892AF07E858A01280194D8DD7332B3D0A585C87FAB056C2EAA9B
+5AD48D1C9F00CEF8EF0D1408DBE1C03D04B231D7B8D5D998FE0CD7EE19828EF2
+F988EBF6DDBFEE00F04A4A1F4E1A55DED7EF3AACEAB5005F1962C724A017C914
+2936E2E0DF26A55ACD7DD836C6035CBF07981C1BCE3615064F0540A1034C69B4
+E3908E76EF8925D486DF0B4A8E1F02D8AA99585A7C31847AB9382F83880C1C21
+C496AB2DF8E7BD4643B28B704B5F6B53429D3EE940A79135F5BF0396E5B46F23
+42AF406C26D12BEA7A41F332AEB75DF43C15334CF4651A99F602036946B1B91D
+4BB0D2E51C20216D892C8173241AC8FD15A37C3CDD8AB4FB67D8565AFA61C068
+95E3D6E46D7C09BBD09428207D506AD43C693F3C3D787F6A5C39084AE45E81C9
+830900DB50DAD10A17E118FB5E9680B5194716A788FF7514A1167DD1A305FBE3
+FC1F39A39F5613D50934419B95A4A2FE1B6C18912CECB86726926F6B77B5C3AF
+F38F85F974A2D2145BE010EBB4A390B842BC222AD4A0B7FDD882668C04C51F19
+13FF91E7CFA0A0F4E99A1944B272E0291BBF3F9ADFCF3F625B87377AFEBD9F11
+6385726E908BAB7D1357504048C0F5B26251A1FA52F08BAE1D64B9FC32A684AE
+896F3DD0AAE9624050D4DFDA25E581FB2630E8840AC5322D38B92F3E77B55CE2
+91ACB8321BE53A2C7D274D63CF0C68AC833BAF4B22B26EFC197D4A893A5AE492
+660D995DA9294C16BED1113CBCC18AFCB5968175EE2FB374B1AA261F22CD75F6
+6E7295A254FEFC41A66EA6833A6A4EE0E75EF6B6FAF292DC5D2AFB61D5203DB5
+4BAEAABAF39E9F98B45F22F2E37F337A7BA412807D539C91F3FD1AFB8E35446E
+DAB21346AF2FEF98F7751360B1CF9773DF4D22A358159B4D1B847C6CB96DFA5B
+50A608E1795688076278504401627ACDC2FF46E28D21B53CCE01B56A7B0F0733
+C07118AD5B74B4984EC478D154466F4C961C10B92CA34EFF106ECDB5189BE09A
+D99F93E225D13CE9B110499CE1704474ABDE45976A948C062D61BFCAC2A727A5
+71CCEF3475FB360F235ED735A9DD54CC812427C8C127C7D4851509C5D64BA1D3
+E1B7371330186CDFBF4CC6E06F7F4EDE286773071E2D3538EF3A83A81CD93D5F
+DC74E1094F1C134DF16D4563687C25504983813DD7F2D9CC326A497A16F629F3
+741CCDDFC6478EF70311CE0E62D5BFF4A54C7CFE6909F9D0D1B86E4A445584A5
+4C173AB3395F2E909F4D4F8116FD7D311599B96D40DFB3AE5648C36A263A0F0A
+2D9BDBFF64BF614BBFA695C69485EEE9DE426CF567B6702D5E48F5901A1C272C
+F53D0EB13EC9E65E9E67D8267013A486389C3A5FE34E2227E0D26236E86B5181
+1D05219B1BF09F791FB8401538B2D8B4B7C51B1949D12AFE4E19F14F6FA4FD57
+4F36AAE67B69DD20FCCA021FDA29BF27508279920E51FA087AAE9407D9D18811
+1CF84DE25B5DA355A202926EE5A5E217BAB15CF98F79FFEF71E8BA1A270A29CD
+3121A9CA7ECC21DB84EF3B68436E684695636A7A75F77A4BB12C1993645FD39E
+1A809043425C1DAB4BAF4782CFDBA46C3A5B83F260B9E302B5B86DDED50B34BC
+0C711732723C2CDC85CB5C893F1358C7FD336B92721A1809B3090D61E355D198
+B39DECE01FF973079E347F0BB5793B266B83FE1CA8B63F999D7CB25AE2B4A74B
+647B9F614EC86B1EC714A88F08D52D9FF00B971E54E9EFF39653612160895339
+92382B7373A0D42BED9D30F5906729DAD1C81E80ED2B72A68B66552FB98786EB
+01444A623D81FEB80907DAE87B2748C6D037F4BA0D77CB7A52D657CE71AFBBE2
+39DC4AD5F8F2BE5A02E31B6110E3EF2D298B2FBA6AFB47976CE74EB042155ED0
+74A21CA9FAAF2D55FFB7BCC580F7A2F50173C17CBAC63A5C3FA81B7B3323C81E
+7C32EF5127353C0F8C7C4045A285344EBC908F4E6C8FF69EA7E4F359889F163D
+15F1BEF62BAA782DBCB58B09496EC3FD56EB911012E1703F7B55B6097E739DF4
+ABEEDBB7F0695BB6A45B8011535D62258E01D083F0F768E10A4754BDAB9F1871
+FC2E16188AC8258B1B5019C9D35E91DC3A99C3A53394C4956FBE532D5192CD8B
+0EE6783746083534BF723F8F780A294604F5FB05525A3978407EF9AD5E022A72
+D6B6282F3D2B3D1E0B74B85F70145A577C7102779082F718B908CFDDED55B813
+D9CE153B29A86287E4E962403D84B5AC7D39C88082C8E765D7A1423C42847085
+566472F82E28BF9903A3B401F1151DF57100CB60368E2D1B3C88034584A8621A
+5E42E0FC61C7A807C642B90C1424851880D2C9270C665581CDF7E5F1C223F239
+7344932D8C969B28221F4214850A32F70F035CF3AB37DF0DC4FFA0DCBD5315C4
+B7003DF5A47D38809AA45A4842E60B6050B4121C73D82F882D8DF6E6BFDD48AB
+D9290D2A476258A294FB32861D0A676EF2001C1EA30355066DE8A11ED4A7E47C
+D6BB9F13C2BDC22A81A5B0D8606DC3405EC99BDCB8ED21A35F62F5A756EE08DF
+F558B76318ABB2D8CAF9E4CF026428E6FC6B0155EBC830FBAA717D540A54C92B
+A9C6C0BD4298E9A65482D7A281214C7A6B81FA7A87F2E6A43F722BB425FA6F49
+9B1C43FA3A3E0210E1577462FB345512EBD82A5E281213EB8AD90AFA64AC32E0
+3C75D25C5D49F232474BA6E9E6F86283A481D0A08D920CC0522240CCC8B4EF73
+61CF048EA2E225278BDC2BF0031F468E2127A432D50E4CF9168501F2E41B49E5
+0E04948A13BF9B1070262B54F58B862266BDF09F8938DD94368D8E24B74A04C0
+DE58C32D290080FE1DC9A29AB717A924F57B12B68FD58A26EF22BE4EDA09852E
+B5CBD164449AA5F3550EC12FFC02019C24D90F7D6085B79F8256FB2CF9D35CC3
+0195B55DBDF8A4422B9E052E46C187C51512B8C386956EDA4861E37A6B4ACBC5
+C99131B436E3BFA4B429440D1B5608F101684EC3865F8D51FD2576C09D573800
+0C31D6AA374EE2967B9728EEEC9378CD991F18D4F02E39D8318499669A56298D
+8E75AA305DCF9C3074AD566F963B75F041BF81215BB5E5EEEFDD52648672E80F
+387E821EA6472B994806D0EE353CB3C361DB8AE6FE134745F5B2A3032E55BB2B
+ECBE04B8DE58F66174967E41E8CCAC37CD9D5DEF0D2614F1345AF461912BE820
+C754842694C614D64A80A21AD050A7B27A71C25F05ECC52237E5EDA5E2B4E5B7
+CA66322FD2062E16100E5C280476F2874894BCA3D544027096A8A60F39895993
+D06E518D15AF7D6FA3D5D4F02196D9B277A2F9D161EFDB46D3705A23120BF2AB
+4D65B31A0207337AE46CD88D9A2B82FFAEB795300F174CCD47E2F733513A7943
+75079AB8AA8346CFC66CFD9AEADCAE1BE23541754EFC9D261552506DC3F59ED6
+E16FCE3DBBDC7EAF9C24B4766AEC95770CDA556E14D08F4DB8654A9EFB014D33
+69F1D79DFF14A78E63973017BC1700D001B61DE40068D053334550C08ABF3C35
+44EDDA137E5D0310BE110BFD338486AFE629AA96A19338973C00F08262019B29
+2E8CCB2F45A0DE983815D5E74554044E264D462EEE5BD06AF252E12337334182
+46DBA66FD4072A47480491AAF13B9FB652E11AF063C94C7A8FFC1A729FEE9540
+BA7379C1943E042DF8182B4BC36815C61E60493021F76FBBEEBB6DFBF23CC1C9
+88A6FCD96589A19C7CB6F54961B35CE185D65C12AA5072BE796574F3911B8B4C
+564020934144844CFAC9742F85A5A9326FB7C2AA94405BA093B98A2BA8068D05
+9D72C28C0D004C91438554B0D68BC7A64379B38000C3749BA7C8A16D35A69C1D
+CA84CD4855FBC044101C4BE5C0675EE6011218D2EB4F21CBE775E4C43D85ABD4
+7D2566E44A8C0DC4BB47D282C49635F23A70034224C358B3289C3DAA1E7317EE
+4CB05D361F04C7055A55C4612BE87779F5F6DC20DD988BAA483D35FFF6E3CB8A
+87395F5833CDDFA873E2A2969544DF647CFF4D63978EE82BF4EFF209D91DF823
+482C2B0C40719DFBEAB55B2BA6689663B33B87895C41440CF9523D3BF23FC451
+BB30E1BC2C7EB78CCAD2858DEE626E50BDEC9DB1C8447694C5B4F93C92EA4F9A
+C30F0957B931BC9D4ABD7E1F1E9288A1127B2BF3C5FB8EA6AE5076C6B39755A2
+B6D472DD3603B12DD5FF936CA5EC0216872E286E6CE692C496665DA892A752C6
+9BFC706F64852D400400130D88D1E71C0592FEDF7108305F4A1C3C32079E21E5
+2AFBE0F3DDC38C0D1CAD55D63927763597949788DF79CB474DE172C1F965EC62
+511DED001B248C600EB715110E42C6BCDA4B4464EFFAA3EEB28D79EFF17033DA
+0FFAC0B7B6299571
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+cleartomark
+{restore}if
+%%EndFont
+%%BeginFont: CMSS17
+%!PS-AdobeFont-1.0: CMSS17 003.002
+%%Title: CMSS17
+%Version: 003.002
+%%CreationDate: Mon Jul 13 16:17:00 2009
+%%Creator: David M. Jones
+%Copyright: Copyright (c) 1997, 2009 American Mathematical Society
+%Copyright: (<http://www.ams.org>), with Reserved Font Name CMSS17.
+% This Font Software is licensed under the SIL Open Font License, Version 1.1.
+% This license is in the accompanying file OFL.txt, and is also
+% available with a FAQ at: http://scripts.sil.org/OFL.
+%%EndComments
+FontDirectory/CMSS17 known{/CMSS17 findfont dup/UniqueID known{dup
+/UniqueID get 5000805 eq exch/FontType get 1 eq and}{pop false}ifelse
+{save true}{false}ifelse}{false}ifelse
+11 dict begin
+/FontType 1 def
+/FontMatrix [0.001 0 0 0.001 0 0 ]readonly def
+/FontName /CMSS17 def
+/FontBBox {-58 -250 939 758 }readonly def
+/UniqueID 5000805 def
+/PaintType 0 def
+/FontInfo 9 dict dup begin
+/version (003.002) readonly def
+/Notice (Copyright \050c\051 1997, 2009 American Mathematical Society \050<http://www.ams.org>\051, with Reserved Font Name CMSS17.) readonly def
+/FullName (CMSS17) readonly def
+/FamilyName (Computer Modern) readonly def
+/Weight (Medium) readonly def
+/ItalicAngle 0 def
+/isFixedPitch false def
+/UnderlinePosition -100 def
+/UnderlineThickness 50 def
+end readonly def
+/Encoding 256 array
+0 1 255 {1 index exch /.notdef put} for
+dup 97 /a put
+dup 107 /k put
+dup 115 /s put
+readonly def
+currentdict end
+currentfile eexec
+D9D66F633B846AB284BCF8B0411B772DE5CD06DFE1BE899059C588357426D7A0
+7B684C079A47D271426064AD18CB9750D8A986D1D67C1B2AEEF8CE785CC19C81
+DE96489F740045C5E342F02DA1C9F9F3C167651E646F1A67CF379789E311EF91
+511D0F605B045B279357D6FC8537C233E7AEE6A4FDBE73E75A39EB206D20A6F6
+1021961B748D419EBEEB028B592124E174CA595C108E12725B9875544955CFFD
+028B698EF742BC8C19F979E35B8E99CADDDDC89CC6C59733F2A24BC3AF36AD86
+1319147A4A219ECB92D0D9F6228B51A97C295470093CA270C2EB4E1CBCDD815D
+CC955741BE4EB831B7D7CB85C1D25407B201CC17545B780E8D6352A0A0D4A6E5
+DE796F2FF417A3620BBC6DF08ECB46DB523766DBB51CA9D2C9F1E3DE8F108320
+3578BBCC8247BD059AE9C9B56528BCE58E4D4B58DB41F665824B4BC63129069F
+691248167A4342A569F3541DE83830482FD25BD376A02F5FC2A38F6551647C21
+90EFF59745ABD56F742D164BA3AFD6781DCCEC7C91172FC9129169EBC8E008B6
+E9240BB7389B3A8583EEDA3B25E7D8FED9037741385EFCFBA4EFE33C68593D7B
+5A400D9B7B37959DF426C5030EF2FD6CBCC796894C49162DDF304979DE20CEAD
+29990FFBF811A278D938290B562D19AFD4F86E4032BEE83E0D19C6694D12741B
+FECC3825C65612357A34E4B9C1339A5CED9CD21F1A6E79430E9D10FC9689738A
+0C008E526EBCDFC0C2A836CB7D28A1256B7E0B7A148DC21440DFD5A0BB1BCA05
+D18F7D7DFFFF9B49747DC555C38592857F4EB49D1420F99BD1017D26B24FFE93
+A7C50EF56178BF4F2DC5B7E62030734F548D4B4C6C62C1129E94771CC9853EE6
+DBA76A0FB60B083D3FC665F84B168BE5888E6CC8AC48BA19647D548B1B516947
+A199D504BD2C61D447C547E128189326D6C6CA6C9725DEA862DDCABF8626AB10
+C0A635128ECEC12F6AC471CDA0C87F3A7EBD5EDAAE562FE8DB6D7C22E678C409
+BEFE7F927BD2FBD1C5E288FF5CF3492DFE9A73F16FA9ACB2CCEE08E184AEECC4
+EE452CBCBE0D356FA042BDFB969E8182ABB6CFB9842588F73FDE1F7A3542E6F5
+34968612FB1AB95CF7084025EAC7B7AB46D47CBCCDD2E631C8F28887FB3B9D30
+874E4B8ACDB503E1E824A3DA893C4178679ED7CB36634D07B43E4BCEA0C7C06D
+F61BBAB43C60F457395195C2D83C6BCFFE9BDDD4153CE84FE900CB9F55D89A01
+934A6FFCD3EE6A4C496CD353C784B8C77A01C95548CF92E76014218E458A540A
+FDA4B68864B432CE0C9A2CDAA92BC9473944D8786A6E85901EB0419128EEF276
+392CE1FB154F47A6D057CD58FEADFCD019B917E22798AFA2F5FD1568C0254A67
+BE716C52D54E103B89DA8E5A2F9B17B708B9471367389746964D86FB890E50A3
+67C81F07056A1689491528262AE3B3F7725D77CBC084EABE96E43EB237881257
+D8FB61E2F17BB5D30D234DB0CFE5D7955CB336075637B1081FE13B32A06117D4
+1D96577EFC5572A3047CFD8A1CB4689C4A744EAFCB256F20429782438172A5FB
+86FDDD4A61EC7616CACB8017950D0391C981F88125CD7EE8FC75197D61CA8448
+9538607EB5B2A64363833C7B0075B80BD879BDCF50DFC025F9716AEF9F792D26
+6FA2593D99FE7CBBC69BE81D60CF58A584E5BA86862637A8BB28425C7F228B9A
+46BB6C38541E5722622DA81C197F1431FEAEE4FB7AF93F897CD218015D3D5A08
+A193F4344C8FA0F994282B8EBA1D5F05522D7747A5B9F897A3493D6CB5EB3B13
+47271ED7A157987928E8F7E29776763FEF469BFF6702DF45D892BC72D304AD65
+38007EC5F091CAF340BBFC7704A3F96EC3219FB182C20D1740B080BD42DFCB86
+22154F49CA31DB9419862FC830C3C87E09304FFA9BE8060515FC9E2DB8751FB5
+5B97F9AABBABAFBAEC512E399E736DDD7C393291A0C65F9B73E2AC7403D96950
+027B4B90A624721557376F0AD1DE5474F6A1824CC9BDBB367E16C7309209BDF9
+A52697F8EB247D5D25F9E83DE42FE4BFC1264886E4B30C1FABD320F004538870
+03FE50D0B8955EA3B9315B95707653DEC919461BB5AC20EB026E23A70B3058A4
+52A17BCB9D119A579326DFBAB6C5E9C3585FD9FA85FE607AF347D4E5BBDEF98C
+0F60C44F818CCA60892D28FBA6B6CFA838FFEB9E93D8759609D66EABA8CF0B2E
+1B78CB1231AE71F1A47763695F90404EFFA3B4F8C913A941BCEF5E3264DDE043
+B1BDB637E9299499936DF695011C5B5F24A153243DAE1E4CE83D2D237E99EA61
+1CCC9FFFBCDA9456E0637BC64E81003B685385F2ECC5002A99D59C359D435311
+28C4AFB62451B80B188ABEBFD3BF8D61C0A8A9DA88388C6E07E97A4458C8EC9B
+BF58F3721CC48847D0E504686E5858BE8DDD2534CED6101983200671E7660A6B
+3CBBFA13A92F5AFB750D754EC7A9DE5FFD41BD935961ABF2CDADD7BA8DD92C49
+778A00A84DD6E2EBDEEAE64ECA07B5FDF9CC56E0FBD88A1CBD8289B5A9A680A3
+F1E61B3615BDD18DE70BECD736CD7772E4FB31EC46B6A043780DC1293E1FA05F
+D9F0EF4025BAD2094D6F75E86031392751756161FF1F6B6543F5A83DF2B55ED7
+C78E0B7A30D486A900E3ED261FCAFFF3897633DF567085AE9C86FCB3F88B1F75
+B927D6F210F88851CF19E96195BDB199847FA753710920E53A289C0A5235B771
+13B074D6972D62AC61168AB6C57FB8AAA99CC2B3F9F0667DB015BD2482731430
+4B9C57629C77A4A716E738B72C10C987F43C0A3D0A1D62361F96D3B56EAB88E0
+2AE551D8F881EED75776A223EB6E3397E2B03961DE20B08C6872ECBCA4BE349C
+197F7422FDA8C7A757D03F83271404BBE2933B826FC876E0DA0DD441DBB78CA3
+12CE38DF095F7221BD6A0168662F9978BE3A7225322C69CBB50A2C6346AD0A5D
+6BC75288A292687793055A0F8CE069F3AC8CC66EECA40EFC641238ABDE31B760
+739D5546F3BC2A28239E2AB0B99AAA7531017C5A090C778A0DE6C6D3851A6C97
+C2A626B38CE1DD78DC6DE61145864F947AA1345ED44DA48ADB134A5659CE73DE
+8F52B4510C01BB6E712592C1EF58B923804CABA83C9FE53E5A855D3572797B23
+49B65A59118C7EB3C4CED4C474BCBE0D13ACFBED15F1CD0C5D5A949D4BA91622
+D6960A4482B834D097FBFEBB2D8CDD5A9795D1B1EEE03265D2B827F2B090D3C6
+58B5C6B8533402F94667DC4F6AFF5A9845CA81CEC15D3A7F1295CC2F1A360F0D
+9B74A99C34C8862FB8A29415AE215B134BB8B7F9B8B9D7E382FA9E5F46F8AC9C
+337D88F37F412077FE48C1FAEA75B9E8F4E070FFF83110987A4F3723E5CFB28D
+F3ED2DC547504B0C19FAF8D7C0855F5811A094D62E1439AF334D258D20101A43
+1EBD8CC79A0699D1EF0F685596BD517EC053B5A45AD1B68EBC3128EB85290510
+E4C42D3E28ADCF02500868BFE1ECB70005B5B2F470775D4738314F7D68A46869
+8164FB3FD9AE36C628E88414EBB076122AE27E86B2A16389A6B9C59C31E30BB5
+F83427ADF0ADFA53C1F35A0D91CB8B4F9837ACFE7E3FA5A10A3C986B22F8E154
+C1E564A55D3BE44876776128BB73624D0DE091D37630E26DB8B6FDDF8F34D3DC
+E3F8D3E7621DF3DA02ACE4EB3CD541E92CB4857A2B50C4DD507B9C0E6A34FA2F
+9BF88F99F51ACBFD06FAAE9790CBD9E292D0A60FC59B60E3F176136BC5D3C443
+27047DEA707438E5A8FD1944E0774201033725CEE85B7DEBF9B0BFA884846749
+F27283F82225CAC1F21867662CB7272827BE5B78E78F7072A21697FA8E5BB7F5
+A71926864B3205DAF014C2D3CBC36A645D3DA6D87A4CA12C8262FB9504D9EAC6
+27054BA669269E6E932C0DA49E90BC99DE071A44D2C08E6BF0C8CDBFC65A332A
+39F7F5ABC6C529FA1747650CFC872DD712FFE2C01E9BEC4DC8FBF59777DB107D
+6E38DB0D2DCFBB26FC82CAD69D749429106037CDB5F1069C01BA61E7B34DDDBC
+0441794F29D852066DB9EED90476626D184D46219C14BFBE9A99FCFB4A0FF823
+60F2D71EBE70855800B7C2EAEF13E8B65A0974ECEC0867FFBBF91C49BDA85FED
+B905D70A86EB35485C63A8C5B93E283604A7CDADB00B5C664DD0D1D4D07A4631
+F83A2268A584E653C9404EE26754F0B81C14E7AB9AA542C170177D71C2C5AFFB
+2252C12FBE5B555113CB30FE7ACC0EA86B4DE18BCF53C9B46F8D87E65E6F32A3
+8BBD5E2164D30099BB1450B7C57CE75288080A718962DED791395FDD55C63B7A
+977FA56E123F6A2CB842CCF98A0A92FAADD5CD7301AA25F3877B2414BFC326FE
+551A0BFF15BAC735B5560F5E7F66B1774408E83A851B310D9471482CBA2C6C0C
+ADC2782C6E1428F19F3FDB4F57E592BA7EF985F7BBA1DAB3268CF58EB1914EAF
+7333841457BB03E6A68D2A9E76B7B8B8C5228902382531C44E54E5FD541CF2E4
+D86589460B916859F1DE87DF4D10FD12AFC57E389C03CABEF44FA9428BB0B333
+E258733AF1372855B280FEDF087C633701D8F8EB6A68941E66FCA2FC243827F0
+706547483E13E723BFE81EC3D096E32C21D0E7F5A7917D4F34BF582A2B29300C
+904AE8F82F4B50D2C3C7F8B9701451A4121725BF2A55CA5DF0584E5BC5A741CC
+16F8551F485F2C93E6E169DD83CDE1A2093406710DFAF72B2EB075BB01FE9779
+8207D068582F7625ED486812D9FE571FD5F655E9E101E6807D5785DEB574FBBB
+F6F3B2902A6A8C508F508B2A9D0E0A17E41F30E526AADD1500786AD789368855
+E9B68B5226751576D04E8C9DC41A40260D3639843E057BC1D035F556BB0950F6
+3C1AA01861033008F0191394358E73750997842ABAC2CC98E58000FC28322193
+25AAFE634348B31B1A13586196167BA1A57D76CBE9BE39A6F15319E055A5ECBC
+873B110A80DCE95C57EA9D6DA1683B2CDD0D839EDE32CF28409E5ADDC07933F1
+464444ECB94DF8E94085270DF7BF7AEAA1DF4813B665C46730079072DCC1830E
+2B53CF271365FD4B6D4C55E592FE3A343CDED5CB792AE970FFF7AAF6DBC95B64
+EEC477032FA07F86FF19BDDA23D8B45957462A6B35F7BAF1FD053564DA9A3BAD
+9DAFC06C7747916395AC616B6076ED236400EBCC425081A1A96715BBFD3A1E6F
+BEBB070EAEDC6D77AF8E73B689333DAD2D825DFC3E41352B5B67416646E324DF
+AA81FF48B419E0E130C92735232705F134E8A3F17A51AAE1EE00EBEB72C4FC50
+8B930F6DDA0015EE5102DF200D7BD57806CD08119A3977643720680224FDCF12
+DA7D0BDEBA050192DB87BDB7644DC3D1DF4CFA7A807B13D7A4E22C05391CB0DD
+7AC8CD72A861D4982AEC874AB3F438A954BDDDE5E15174DA05522D69D1D33B63
+6CDC647D910D81F24FAE2D98C920325220C303BCC3BA8E7F9880664B29420A8F
+85F98C03309FE2A0A652C09AB6AE191A760C4BD18F9B706429D46005CEF0CEA4
+4E0E171390B0D99D02C3A54A36E93DD00C852695E8B18F0D438EAA8B51DD6EF6
+5D3F14E30DD41491D39C83BEC83E914C781196E4EB9E5D8A96F2A5514D462460
+5869AC5B54FB940BC0FF739733223ADAB346431B5E824AC04BAC9F2C62A1E349
+10DBA46694BD66B3642EE61829AC51DBBF333FCED695660AD76CEAA4E77A22CD
+78F3B4061F4375AE004A560512981355D0E4B8B783EFAC2F35820D237140CD37
+9E75FB6FEB21AF8DFCED4EDF8B2C8CD07060F7027DA678E650ADF1EBEC47BCCF
+27BF3BB3E2CF823F0D1B4D3555941953E8297993E039E0EA83B813ABEDDFDDA4
+248F45F8546C71389B373D2030F60EB98456EBC829578E550DD92C362C7196AD
+A4DDB7A672E8750840320CADD2995A68B6CE541A3A174C48D01EEEF19F82986E
+339B99B75F0942535F3E3B619B94AD63AEA36EEA750E48D0F904D385E808B029
+3A9D5E9FBC35B4270D81B1FCA8BE54E576C591D1196DDED33342DF595C504B3B
+7BB51B6436E9A53DD1C796F164A7A602A99ACC307645085F1DA8F1EE34F1FD30
+CAA2D72CC41BFC19D827C3A7FA9BFFD17DD2AEC41AA019D7B185C06A19871D67
+4998192C973F5809C7EF4C225F4180F7C1A8ABE4A4989D06FB6AEC300FBD9792
+F5D35FF2C34220B2113BE6D0CE81A13620AA043C921E70284F7B6E358A9F6F49
+48A2C43C31F58C9BBE316D2B2DF8DCA423AB23B840667AEFDB871BDB19949368
+FF999CD67DA81D654D3E1ACAB38D7B620DF8C42928631368F47123BC317D5ED5
+5D03182575284B630ADB3E712E4B1DCC798A3F86B8CDEAFC88F6AE4039AE8753
+D011E59A625427B68949C89D76099173EADDF2B3FF108151E4B52D5D67C24A2C
+E92DC925412802DB2B6C8EBE24E6FAEDF00BF9F49182A128F309572A55CCC4D9
+DA3B177AA2F1A629B97325F818C4BABCA8C2A9E70F134091DDC16A69AA758A74
+30BD48CD6CB49339F28F283E1E3A05C9DBE01D84F964CC3058D627CD0191DAE3
+33B38ADE3AB56A73FC2B7E52B4B834204FBC41AB78AF879305A0A2B22E41420F
+4860E01C3843EC762CB3D2631B99E402417CF91770E3A6627D9E689843DEEC48
+D288950FA8FD3FA2FB44F960145FAA75E7E801577735FB0F518243BD64165DFA
+53456E6D1951F17A33AB2F908682107A69A46098B8500139475434829A61FBDC
+A593656A61C7AE8CF61B27341AC9F7F50D7A49A5B400D84E29C0D04486F0925E
+778125C4FABAD95A9A06874C5BF7EF24D19A5C4C6862DC7DEF058DC9286A4575
+F934DCF1252BB5F587644F6779D082178DCAF038334135BC10942001ED6E4907
+B8752E8B24795F8F5E153EC8BD430D09A5885ACA3663D8E6D46CE478F742E069
+7E6CA5A20D570A23291F6F9290761F005A2A3D1D43657704AC8357A9A098AB72
+7A6C3E07427732318FB475CFB31DFFD4B3B2592F4A9F0FAB39ED4F7B45B5B9EE
+3622BF6F8AEEB3F24EE0A7FDC59D92BAE9D69D2795AFAE078621E7BB4D5159FE
+2616836DD740D7C5429DAB2C9071B5DB6EE573A2D2CCBC462246A837FC5E3776
+23D9944271C19F338EC8BC226FCD489A59C29221D9122E6496DCC79F875A157E
+CFB3C61BB62B4CC11861C13108F6F9351242A0A945E34842B79BFD0F963BA4D7
+58FFBA7F9C3DF06634022173735206287D43364571624E94AE037496E8AC4EB2
+BB175D168ACE352E51CD2B7CAB5ED47557533E1C9820540BE3EC7A678D797232
+7DB970F7D8E3B8BDD69BA8DD3E305FC8E569744A57C4560E570189D10C7E1023
+2D5C25B6EBD6078EE71C8DEF8FAD5EAAA2DAFF3D8D03A5B38CBD40C30A9DB09E
+021E9B8E200DBD7CAEEF4C4E679C8F358A048147E38B8C1A0BA66F5135645705
+F1A825EC4645DB43DBA36CC2B928A5C0F90B2BF7F2B747ACC153162DD98B715E
+F35100ED5232E20B8B81D04DEFC16C93F0C25C96ABD7E7CB37977579FFA33077
+E1B984AFE5BDBD8DA4A38A8D890BFF40B0907F3BDCAD309ED84C85F6F4831AC7
+BB72729DDCF7E171001EE0CAECC0E315231DDD748CA02D21B3E975074FB292CF
+BE44037FC9CC1B3272FF56F65334167085E5F89BA14117E50271C4F9510D3D19
+04A5A1EA4102AAC9F84D53D462272CE6533E1E0B78A68ACE6B0F304D53F819C3
+B63FC830A13E8EDB008CBE932350F2FD9073686F003EAF600856CAA82CFD073C
+E81FEFD0B0526EC0EEB44BBE497FB1400BFC1231F4B74F9C0E1803124C66146F
+E182F161AF63F547F6FA9DB53174F8B463671FAA8510FA1C88C2C257C88FB50A
+4026C1EDFF7BA0C723B6EBF66355FE681998F954B3DBB3E2B27542D38FC3D9FB
+7E6B8170D1194D1B64EA38A567E5932DB71A7C47EEC1186696F0E83F7067AAC5
+9A6A7A1BC4A27BDECD1FE388E34721951867A0FB1A85B998824BF6511F1AAEE0
+D8BDA3586CA4061437F2A432D4AE30FA18C00FA133A5576FD3CBD981B528776F
+4B77AA24032BD8547267218D76D95362CB5610585708724517F1174F0F13B777
+BA16B992CAC59C8EEE3F646EAE209792C5CFC6A50956D7E022212D4AFD3F70E0
+46FD57B19E24E8AE3BA83F2A362CA51E747C6C405CBDD1711908D5B92A3B2D14
+EA94DA77879BF956A0E86F5E3CB4673C0F18F57580B62E6B5D06FCF544CE8C5C
+086BECE5DEA564BBB5E456F818BD729B7E5D42FEC21F1B21DAB103722B0DF5F8
+975CFB5F1762444C54EAEF9D3EE785E863E59BFA94A1090247C458B7E0FFCD74
+774BE704298F64D877C2D63CE3974216C2F10F127D659F078DB3DEC2A82FC839
+015E79FB23C340DFEF1A110E8131F155B106D8E2CF5AA431E4FD9BC2F2018442
+BD3B1F25C8B259B082B995E04E632D251F256ADF04C0FC467DB2DBDA74F6A3DE
+3DB27CC211B29337CDB5E44F25863D23B497932E1BBCD9EE92341616CF601231
+7553B05DF230DC299D621A5FEC4B27B325166A025ECE40F40A6A12A5159185F4
+EFB1E5AA59B8D901C4B328970FFB993EB19349F0464CE582EE66662279589483
+53E761E63AB2230FB689F0DB5EC24564ED2E7ED16DBD8AC099C917D1D43BB60E
+28158B9A10EEC8913A05D42183776171A1A62BECED72E675E18AFBD037AC9658
+D7BD20319025ADD1F93608D99EB5CC5A41816ECDDF97DC82340379B58583188D
+1B64432BCD75E59238E161DE2704993219DA6EDE41320BCD75A048C70FC4C909
+C006019C9CFF51278F5E5C48848DDCB7F35016C23FC8F36F8EE8935E2E52782E
+A14A688838B982278EC4452E28BD75185F33A1E078DA7E6B4622BE3383314B99
+272BD83D8785BE73326A4F9E8F3E1267632202A253ACB9FE30719432765A8CF7
+F57C0237C5440F3DDADD79B962F47A460D4B3C8E64B432C40EE2625DA3D18CA7
+0437F7F7748BDB07CB15512D21012AEEC330389D8181D4FA3B9BEC9702862F81
+4D696D4064
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+cleartomark
+{restore}if
+%%EndFont
+%%BeginFont: CMR12
+%!PS-AdobeFont-1.0: CMR12 003.002
+%%Title: CMR12
+%Version: 003.002
+%%CreationDate: Mon Jul 13 16:17:00 2009
+%%Creator: David M. Jones
+%Copyright: Copyright (c) 1997, 2009 American Mathematical Society
+%Copyright: (<http://www.ams.org>), with Reserved Font Name CMR12.
+% This Font Software is licensed under the SIL Open Font License, Version 1.1.
+% This license is in the accompanying file OFL.txt, and is also
+% available with a FAQ at: http://scripts.sil.org/OFL.
+%%EndComments
+FontDirectory/CMR12 known{/CMR12 findfont dup/UniqueID known{dup
+/UniqueID get 5000794 eq exch/FontType get 1 eq and}{pop false}ifelse
+{save true}{false}ifelse}{false}ifelse
+11 dict begin
+/FontType 1 def
+/FontMatrix [0.001 0 0 0.001 0 0 ]readonly def
+/FontName /CMR12 def
+/FontBBox {-34 -251 988 750 }readonly def
+/UniqueID 5000794 def
+/PaintType 0 def
+/FontInfo 9 dict dup begin
+/version (003.002) readonly def
+/Notice (Copyright \050c\051 1997, 2009 American Mathematical Society \050<http://www.ams.org>\051, with Reserved Font Name CMR12.) readonly def
+/FullName (CMR12) readonly def
+/FamilyName (Computer Modern) readonly def
+/Weight (Medium) readonly def
+/ItalicAngle 0 def
+/isFixedPitch false def
+/UnderlinePosition -100 def
+/UnderlineThickness 50 def
+end readonly def
+/Encoding 256 array
+0 1 255 {1 index exch /.notdef put} for
+dup 11 /ff put
+dup 44 /comma put
+dup 45 /hyphen put
+dup 48 /zero put
+dup 49 /one put
+dup 50 /two put
+dup 51 /three put
+dup 56 /eight put
+dup 58 /colon put
+dup 65 /A put
+dup 72 /H put
+dup 74 /J put
+dup 84 /T put
+dup 97 /a put
+dup 98 /b put
+dup 101 /e put
+dup 105 /i put
+dup 108 /l put
+dup 109 /m put
+dup 110 /n put
+dup 111 /o put
+dup 114 /r put
+dup 117 /u put
+dup 121 /y put
+readonly def
+currentdict end
+currentfile eexec
+D9D66F633B846AB284BCF8B0411B772DE5CE3DD325E55798292D7BD972BD75FA
+0E079529AF9C82DF72F64195C9C210DCE34528F540DA1FFD7BEBB9B40787BA93
+51BBFB7CFC5F9152D1E5BB0AD8D016C6CFA4EB41B3C51D091C2D5440E67CFD71
+7C56816B03B901BF4A25A07175380E50A213F877C44778B3C5AADBCC86D6E551
+E6AF364B0BFCAAD22D8D558C5C81A7D425A1629DD5182206742D1D082A12F078
+0FD4F5F6D3129FCFFF1F4A912B0A7DEC8D33A57B5AE0328EF9D57ADDAC543273
+C01924195A181D03F5054A93B71E5065F8D92FE23794D2DB9C535A5E57376651
+F6823308463DC4E0339C78699AC82C769542FD3B410E236AF8AF68CF124D9224
+FD6EE92A38075CAAF82447C7AF41EF96F3ADF62F76FB425BEDE4C4124E7B1E0B
+8BF254D91912D3A99557F5427907A56514C5A3EB961B94112077FE9417B70DA0
+B2E1C1FA3E1D6F01D11F640CF848E45BE3E205258E64FE36AFBD4DF4E93F6B1A
+966C8E7FBE2CC8FF43C1F67BF6C361678B5E90F4BA524FE8A4CAD6AB28183E6E
+CA6C9636E884845105595A2E40CDBE8D4807A81AF4DB77B31873FEB221BCADD4
+2C4669459704CB58A7BC230FC59F867EEADE660E49AEEDEEB042BA9A7DD8193E
+56C3A36A1F639F7EA512EE4BC6992F52C2FC82A890EFDA730105B0AF7B819295
+EE00B48F64C2B5BCB275B1DD62F289CDAD4AD9B7EF057684642FA6FA6322C277
+E779CAC36D78F7779CB6DE12638B3C65B70C6B5F8A8C6421A379719B8DD44973
+5F52856A4A29B2ED37F2B1FBE6EF4B79B7C0CD6395C756A00FACD763C235914F
+847D1D99831023CE1FD89EFEC83AA7E313131C0C197248605EF5BA773D0A4000
+72F607551A8EA6F0FF19441ACA179177D1FF7B423FEBDF58B0C19CAE3C10EEF6
+3538D8FC4762B77C5AA023A8186C40D0365A4487DC3564265B3DF908572DEAA2
+57E29EC669DD72974F806EFF5ECAFA9ADF1F9D2A63087FB7BBD100F0F81C6FFB
+B1EA1C9DD46548AEDD147EE64B1B4894972DAE1DC3E8569D6A3CEF9F9E46DEB7
+547E10BB2959D374A33E47C58F1B20419920AB485F166062FCCC08EB5CC9AC88
+F388F0C0155027B727729488E44CCABB7064A1432E179189C4627453C5231535
+47D1F2B8BA43069696830CBB6E5F9A135CF22D3D1FE490A3A63C088EA32FF444
+24A2427BBA63033DFE2E06DF8CE67949B6AB02F26335A376B57376814D2A7DE7
+64A4347577EBE9A6E33DD2FC214A09C6D889C8FFBF1D567032548851B8F97204
+49E215CC7D222F593E1EF1439ED60AD922D41E0E9EFB5CA48F2FEFF75AC5FEE7
+FB6676D8B8D4DB6885FBE8B61B586313E4DAFB09D94CEDC0507E93000104F3DD
+F83865A2C6F6A7DA8562BF86F5DB233CC9B53391273A1462E40876A8AC2B098A
+DBADD5A160DEAC061F86A5FCCAB495EF8A9D121AF07928EAFD56F618E4EAEA97
+CF89A3AFD406FC9DE1E9769C1E1EB83BB883786BC075EB5DA2692CD59C4DD7C1
+7FD2FF9B18AC740A390C1DB38670DEB18C67721A1DCD502FE7368F47DB4281D5
+459B3F020595FA3B10544AAE9EF786A0645FB7C9BB29D091E1432CD878A05918
+1665643005BFD9A4B0FFD347ADC84CE22D6F9AD4EDC05E8C7179DCB360AB57D1
+6ABCD200A4B4AD56825DC345984D9A3DE11CDA5E9EC1E5006EE4181E4EFE0846
+67D8C27BEE8F84A1E01947E945BBE988702DEB2240C4BED952E433E5305484E5
+71965D3DE95C4115FF78CE9EC18E323C599727C8B93CDFBCD1CCA780DB8C81ED
+C4B5E596E1603624308972FFAE9A57B0EDB51FDDB6E23EDE2946F61BEB241345
+2A192D8CAD53E823D687F9C64A70A4B4B703291FA6317C051DC6A44BCCE0288E
+3839D726A8F2E39BFF429865E95C726E808E02CD06F36C1CC9AC77999F8E28BF
+CE9D74B699CA982479E9D0DD98EAB24D29C981EF0349721D6819549A39413801
+F80182D567EE316E2F0AB208068E15693E4C399A381BF9BBA625E597E6E109B8
+16F3A84C8EC92F2ADE288821092A421A8D3B907048FE947230810F0777EE2542
+29A3485223FEA079B359034F70464DAD2F0E420271A4E0CCF57A0ABBC20AB327
+0CA71B292126D395E0D083B19BEC6B48A9DE2BF470C3D01A8C3F52075BD4BE02
+A0C518355814478202FD4762EC542F8E7B9B1F7824F0554660CEB83E35635E1E
+DF0D03C94C903ECB36B4948ED98B6324E0094EB1DF70863142D4ED3A932D7346
+39D69F8F044B6084482D7748C27328AFD24A3A70B99D1F7D32CB984488672254
+28B6A9E9DCA2C9FF6A1B311D72413404B3CE5428BDB7FF3C36357D7975184F56
+FA6B32AD54C37D0AF7576663AB1397B80D4E998F0B4C4F6D90B483029EF2EDA9
+D4C4204C1546EFF3100629453EAE01918D09FE104E626ABA38646F17B6A94CE8
+116BC7A8D9C319434CA5B830859B4164DFADF1D7C3ECA5C78D8DEA930EA4AC3F
+59DBBF3148C91A2E807FB934E3439D4F67C6DBBA9972854E6E3688E1E0A34B74
+482217CFE031CD7B5DFEF727C3EF8DAEEEDA08F4C90289E62FB2AF2357EB2E45
+4BC547980FD479101FFEEE477AAC6268DD659E8DD9E244676FD3C6909713B71A
+323B211E571BE711D103FA23B5B9AF077D84E2D20FEE805E81D20C03501F0F17
+C3B081946CD0FD577F00E50B76CC37CFA97A61B89C25DD43911B28857284BEBB
+5BEC61FFE3A14C64BC5425A7A82326617F6F1FA4FEAE56071C9F559F91568179
+46369B394A5CE96FB7420FF8AB7C61CB83492FA5AE4A4B0799578594C9EA67E1
+E54498AA5CD6ABA34AD3417F04F5D8D664A7EB39D41E2D17643CAEBBCCD9C38C
+C5C9541641A09335EFBCE0D276A54253EFD68141807A66F1DFEB4BEA5889FFA3
+4D20BD52012206A9F8D3E0F6AFC03FDBBDF3E51506EC6336E249CEFB571AB84C
+BDF8E471E3795C04E38A5306BA6D450D72E50910D1AC385BB06CCD4B8E433A32
+5A4B7FACC976BB31FCAA1E62DB2C4FE06DDDE7367930E336B49F47DAD91C8735
+9A35D80CA2E117E86B52E41E9278046ED923454989E48610ACB3B1663F197117
+52659A9D7BFA561C7ACE0771794FC778675F83C5EDCB132AF124C7E6540A140B
+E0A268836C73A3C746DC964E482E63C56C0D396515283970FBFF182F9F684FE2
+655FD8F5D057D22246DDC3FD11B77552DB4D90ADBAB77BBB1FB1592129DE0AEC
+F822D7D36E52BCDABBD560B403A5C56C5E1BE789C3AC049318C7FAC5E5861E42
+FD66C3C0F46361078D7E036281682BCE9BBF77983C93ECBBEBA9B359769CA442
+87FCA1B98F4EEC4935CC93B08AAADDF355C99816453587310F08C50B9BA3D107
+5388A1F3AED2AE32BEFADF0285DA90436D1D7EA85D7B9B6DF2AC4B778CFADFF6
+6EEE54D1A1C5DEE3CCA7EFF57A7C2931933CEED90CA26DAAB45E4388EC4DC366
+B9E88518D6CF094861D2A59282044CC06E63EFB390A6DF4BA5EAC7CE39E1EE03
+3D84099F5BE96612789AF3EDED07266EF10A0FC23EA1EA97040B6BAA63138B1A
+A9CB8F5DED781260962D7618EDB200C3ED976033E8967A8CC676E9C11F74BE34
+343A7ECE7EE97E8F76F7E95517A6D6163527406EF5A669535CB2BF4031F29046
+BB2D0FFFB47A576F5EAB1D00A582965C56F28C00B3BB7BE2CC8D8391F789070D
+775EB775437F0CD53DA840BB3575104B63E4B0BF14E3F14B320EDEF65FD4CAF5
+8596DA491BBCF3153DED3B718F833D106432DF8DB8B8E6B34D5308C9010A5DD0
+7E0E53260BB84BAB3EA748E8D72F75901604F80F4416920D69B4B983DCDB72C5
+E9928F01A4A85954FD74578AE336C782CDF81D1EB7EBCEBFBAE7ED8AB4862584
+397928F502D65139CCD582CF0723C5262EE54B9D2B8C39614652A8A90E1C3B65
+7D26B99DA298FE4B9A7E98848F619C9BB4FF9FD215B72F99506F06355B332689
+37D80AFD9F9ACD8172CDC51FCD3A759ACA0F7D4EBB07840840EE42C2D5B8B257
+2C6DB3A7657B75F2F0B9730A20112745703E2D0FE709436CA6A5F36F59E64D9E
+37C0A23D6D289E1AC1DA273872F5FC5C3DA2B127F078A4D7AB3FD7E124455817
+DDC796D54EF26A1FBFD539D3A21B86DD4477DA49213259ABB3FF241424F2BE5F
+89151E02FF87E0BEE26E85C0E518D8BE7CC9214B8E9A9EA1DBB49C6C212CCF08
+90C0F23E9858947EE344062EBD9C574979087439975EAD4E85CD7BFAD3C91CF1
+EFF577843AF1427D06CB2F3BB519ED1591974218C43F0D2038665F9E2E3960B7
+FE68CD3CB2DB6B36C7997C6B21EC11CF1DE049541001FFF26D14C255E3AE862C
+5A5701292FD2FB3D04523D6E2F3547923BB117718DFB6E6520F0D0B5450C695B
+8C9242CC8671B7284CB2E1E9EB097A3DB1B4D5E8EEB93B4DC7E38C0A10474665
+54DDCBAF079B92EA494F6FA75A84C5AAFE280284D0823D7C22249A21044BB0E6
+4062074ECD17B62E03EDF4945A294BFEFB51F5FD870D9D7230FC91B83C1D85A8
+86CDDF326FC90E04362145D6E8630C50594484FB829DA18F5C078F2EE67D2F2B
+08DFF39AE2E8C9741FA989AE494C7166F122D2C5F71B97C973B7CE8500E9F87E
+D59C30F2E99CC4D34713DAB680598F41955FBDC26A14CF1E73D6BD6B9AAC8D3B
+B998F2D0D647356CD236DEAD6561389ED3A6746221B0CF15D6648412B35A6B54
+6A0EF5BBB34AA376D9BAF025BFC650C1B74333CE85413D0EBB2F4D082A26A5BC
+3C0A25D2B12CB159F140E00E262F1CFECCB2C802FF94CD34DA0CE9B4B3830FB1
+DA85B9B670D5169928990A2E9CC869891CA2FFAD9774E6B92549644DAA5FE00C
+A5BE4F5FF91A0B6D2FD8F96121D766391EC4ED3E73DADD476B7DAE1A50AFCD98
+DB7E27E44D30416088D9BC07D4661D9ECEC0806830ABF14CE55AA3CA2DF66E8E
+748B8ED46466F1EEB072AC0674FE6FED231E0DDA59ED7C42BC05EF00E176050A
+C4834D893DE42474EA20DB1E25059E84BD137EF65A02CC295B0FFDE4CDE95879
+0FE88BDF2519ABAE7F8CC3E6386ED35E04A14F1E3861922645E3A3F43B48A5AA
+1999A5EFE192515FCC625C829FF5A7B337AA422F5E920545F9BB269C869A821D
+6C4C26DD2AE746EF0F0B4C1E7E9871ADB5270E1CA9BE28225F7A0370D4C52422
+E25263EE101C4EC1C7811B05AD42F364844A56BB91EE72FC8ED53CC6954D2BD6
+F945D739BE4C61E36143CE890FC0CBF2F610018D678ECF7CEAB18FF5A0E48F76
+FDE2463D40A99380D679B3B76D39C664F4992D23E5988B0D1AF33DFB04894016
+E852EFD1EFFE586153C0F31ADBDBDE3F73FB49C5EE64D0D02E1504248FAFAC3D
+903FD44679BB09C30288139B41B1E90A10139CA3172677250B16535A1F3E5E4B
+6F4264DE58896E66051FC677030A121C5A285C47B6129CB5A3998830CE070D21
+2F093FC1B44089F603A21F45F60960F134A47226874C737EF6C085634B0A4A66
+139420501351F737A73F39D960EC38420BE46E5B09D298E7C16B8E32F01507D4
+0141FC52DA1DE718D634AD9C8B00E46EEEF84356759324D2B9A3473C5DA38DE9
+E30182B87F91B6A7F7BACF29A93B44C879CCDEDB063F9D2E51E0F1FC9F018FE1
+2433D85AF24B55DE3A61C4D0A2DA4FDE933F5F6FDF17E9FA9932BFC46E2D71F6
+585EEF5B2E4E89E797A24B799D7F064DD1A817A53677FC9EB8CC3E7F93FE50E8
+D50E3191052943FD6C98B573BDD1F6D70349E1F8011599E3F8FDF1D6E80A710E
+51E434E85801617C6FD8ACCF1B77B4BFCCDD35CB4C0367F4EB4D8D9DE8284D5E
+B4F43E2F8320C2C5A9AE90ECBA7E65D377E91DB69FEF27069235366AD3E126C3
+A73CE97F4C90BA00D206FA012C327FD69EE59AF4470A315B1799CDC0539BF90E
+512C8FC3BEFE4D1B01D969EA9E3FEF976CD6E0FA4C9ECEC955B265CFD58AB8E5
+F7371E479279EE14B689269205C5B506940606CF3E24A1E7EFF3CA96ED30AD6D
+E243DE57690C3D69A401AB3315FA49E4BF4ACD4DD1CA39272533E82EFDD508E5
+1C2CD286CCC5DE1202C7C7F654521750632EB637F918667E2233A43DF75239EB
+F28F3129EB5DEE2FC5BFC331FF709B0FE9B327CBBCE98BCA2C861C6547E50407
+1218CEBE6EB5F9BABA4F2E11BCC6FB553A544A567B459E06375102C69F8018DF
+BA6A227CFB13E2D74E6A521E01B74F2963E9A0A1C9FD87A88EE6356E3BFABF55
+BABC751D2BF85E6712E8EF57914920775906662E4BA68FFA21AD422D34E15578
+43CA0568B431101A1194F8AB1EF25E886BFCDFC10F4A5EBD9530816548BC298E
+AE4A0B6B52B8B59C644C409B4191B6F4203F52314F2675F02AEB65A72C66E92A
+2AC703E15D8D381522C0AC30C165B822A9B8D18CAECC094EDE020756018DCF51
+D0701B507519C4270B70D8CE94B436F640C15872F9B5B77892AA3D110E4D6A65
+8F0815C61A5127BA25815378683F46E69E54A391A8675977E7DF9C2D4E6FA991
+9F029E50CC2F266B31EE9F9F24452D5838905F330CB7E416B8AF836C5AC26AB8
+BE2ECC6EA4BDAA08C30995709E225C21D35DB6369167602CBFA8DB2697635925
+969002CD1BEE745DA2E56C17EF3F0C05E3847147F86963C37A221C8827195A8A
+3D38993E4939AC915BFD9A212F5FF3F826F742B952018986F9FBDDB69C3AC65A
+845F7F33C55D4BE60A1817EBBCA7E1538E8087E1BD5C083A320D52953BE65F31
+E8339C612A510B59CE48D2EF7061560C4AD258E7DC59694493E3AC878246F37D
+6DE89253EBC8830C6B209E818213C4AC4CF1F391AD91D57BE76FB0E2924A1407
+E4A949C905E44F54EAED6419F13D59942C8079336A172D4758BEB5D3E786FB93
+3CBE4FD2EB53E4E1DAC34E821EB30FD44BC6CB4298242C38F848FC23AEDC9733
+52BE6F32E31E25F18301370F8936810B0566B664B042C7AE0D78ACF0A87E5BF6
+F9B66E358168B2CEA30DCD940074F3ADB793CDB136161FE2522905E87B8E463F
+95D4DAB7E14A3DF7BCCE8141C5A08FCFA2BCE9F2D1B05A7642E75877EB840149
+AAB007CD239AE47AD115929427717F219B0A8907F0EC79ADE1B901DAEE87A2F8
+39361DAB43DFFF69650F601B24061A9353CFD619FF9626F63275FD09A5B13BB4
+8B3379EC4D147C41197E8387FC04DA7BE409524CEF74EA91DC066808A7FD0EF3
+957A44E2503EDA67B1C61827479486134E922E560A673BF314D601C66003CD07
+55569085AFC8428389A140EB976CCFB8F29E27587E46C413ABE2EFB51AF5913F
+53EEB74063162E0BA1E24CEDCA320377D3E11BD374F0B44E132A5C35835B6E2C
+D32948EF9DC7931D104C1385709DA882DED6458319F21C2329938396BC074106
+CB9CFB9E0A915F8DBC8435F386917AC87A2BA45D857EC30ECA66FB4044F5439E
+CDD556B82A0E43418D179AD883C85AC276E1190CEC242E3E1D86E725ADC39E46
+BB6C47FE9E17E29F8EA81E870302A00D91434F3B7A05F243176E6EF1082541A1
+B9052191EE5C2B8E94A2E02DB65FC769653CA8D1C07A13CB853544AEC7FC35C5
+218DE3128AA31952DCE19C55C23FD69BCEA2C661F57B11B8F9E86BFA718D1521
+3346E78C701A5E51923D6D937E62FDE3669B214D240538F069A100A542720A86
+31DE88116DE775F7ACC2A49EA6C02A24408271A846990669F2AF60AFAB4C16F9
+7F4E88E917F0FFDCE68F22998AC0AF2A60A73258C3A4BBC42A2F918123128195
+196D0E150D79AC3CF4628503D1F3FC528265ED8324E56849A47B3B07C29940B9
+1BC270071E221D355EA51E9942D3BD7F99816304FFFC8F5B036C953B38759341
+ED5D7B9C8E6B70C409DD8362FD291201CC385E4A98D73E8518A4C0E544152563
+82032FBD2FCB6E403D34B85ED4053A8CB619BDD4DE001F4C3007B1F317579651
+E6D6662189CC2D95AB85D7473F65C5D7B4AC63B0FE928F3400035D5A9D443D0D
+F3532B99F3AC26CB25EA3CD64C341159061E02EFBC7C033C05CD919BBD827A6A
+BAD50D9C98DD94332DB4C7155F8A52013F9ECB7CCE3CFB3E667C57B022A0A753
+A45E41A9D8229D5198031ABA3DAAC142AEA5FAB6694A6433629E15AE45A67FDA
+34DE10D995ABCAF45FBB3B6B73E80D05F4C51F8C29D4B0F67C8A86432A6C5E86
+F0126AB25A5CA2875B48C61CB8112A4CF9AA08F8B0157396CF63CBECDB8867CC
+AC10F060630C9BFBAD84B1FF01C814878F0C177F552BDC9BB181B14581C6E968
+DAAAB2896FCFB745795C4D2C87CC15BAA041EF80C5BDC12EC1F5786BB41A5A21
+073EE0BC436B346E014DB4099EDC67BC432E470A4B779FD556341061CA3F2BE8
+EFA332637AEC878C2BB189CE7F95230979D99132FD13604B050C2CBE4D6C94BC
+03CF89CA2C37032A036FEEA8362FE97F209BA5D9285C825A33A0F51CEF1787E1
+C42B2EE342CF50C81800CE3C92AF8E82561930FD2A920BD8CA7746C4EAC6883F
+03C5270685D5D21510638108F4F7D4BF4E1D4A227AC3CD7161B3070A8581665A
+FA36669356E19FEFC7E853D3C4E32E032627449E14CC801269424ECDD2BFCD83
+1CDA3BC83F2A6BA4241F1F1EA83815477D728FC8BBACCEC5C168C6B00653328A
+88168998EA43F053664ED5BF8FB86DE483C92F7C9DD390D6830068973C302C27
+767A292071A30AF9B3C539CB41EC8D7295A4C432B53FACA297A615823AD2D564
+15FEF83797836B07216103101ACAE3E297C32CD596EA018EA7E5600F9057FCAE
+831F0D8C0312873144C7AF57488DD5E977B2EBABD42A37F1897F0CE857E87BE7
+945726B80BCA65720A0964EFD95902630039A984196D994A9126A2C951B71CA5
+9C1E6807E725FADD5DA641D842F46140D7233C3DD96F4F12D9561F37D9D0DEB9
+9D22DEDB18981086ADB559A01CCE525A133C686315DE6D99573C2D104C30ECD1
+2C3634E92D32D6BF48B8DFB719313D729B8AF113D817128D51BED8BB67903D97
+E5583BEC117D405E1AAE17E74B0BAEB265E8E34EEF26B77585BF794C379A1115
+25594E807EBBF7C331CD06FB22E1F7ABA5BACEFA7E35689F2E97DA2B72C6E3BC
+CF1E2971C779BD834D3577A5567DD95D209BB4E86893E95BB357E9789BF8C2D2
+3DF86ADA4B7A6A648C8E75F6A0B1BCEFF5C2FC3F5B154DF08B3F04EACC1E6FD5
+54E87EF67C39C5E7108D5D85605A3ACA000A4E7D40B5B14743D409366D24D9B9
+A5DB837BDFE654644FE9F48C872F6F2F931674B75EE20F566A2A94EF5A1DBDCF
+D1E69996B6D8A8F0205CA7B592493F67EB0B6EB296D38DBBF61BE0ACE7D51D7B
+1B7E968D2377A5B0502CCF599847A7150F343999F1E1251CE6D638CC08031CE7
+8ADE56E6BB44760E8361AB1DF0B5DC11D43C2BC3F6A554541462532A4275DEB3
+AE84C5D32BE195888A4482EA8D94AA02AF14E1B09F907EEFA86BA126B77B817A
+DBF1E54BAFBF14A332F073E61EEEF8285B59EF58136FCB091E3838C16183B802
+602675972EFF362C55779085BD1BC33E1987999FA5CC642758E9E7BF61CB298E
+6745224974CA1C9BCB5A94CA4899D6B18D967EBB7E8EC1BEDD2E039DAEA4E867
+AD6E407F60297151754287DA9302BDFF49F0AD8C97807EDE701E66824931B8B6
+54B8EC5201F17ACBBA4948544360BA056B699C73D3D2BA7348BB78E8B313DC8C
+2E156381D12AD5A053592BCA98ADACCA904D629DFE073FBC217E5B9702623541
+935498A3250912C1FC11A7AF8FBB9A2F3A8F46214845DBE63D1DBA0B5F5A8C57
+3D70072845DF00FEAD7C8824173B0C5CF0350B5D66853B1FFE2B5851229D48DC
+B82717CE5F18F405C98E6B71446D74F33A127F57F4270C0F1D1D5A0C48C857B2
+C87EDD76F5E1E4BC7152FD2B7FF3AFC401F90DD6CE2E74230C19A2B702F313B5
+18B9ABC9C2CE7E0148E4A4627E1B355E807FC0FA7B9E2CE2C43DE4DC33A20C70
+DF066F8C5C499CD93C0538CD26CB78CD5ED3023979A5E7257CC040FAA91A583F
+0A2058041696829CF8DDE043E78EBB4E384C19265811EF4A894DCC67ED83782F
+3FEEDE06998C3A4BC874B79EB62B0A2B3DDDBD956D91C5ABDD96FC4F73FDEEE5
+9307D82C97F2C3EFEDAFFDFBAE64646ED812F5C8C3F67282C8F268B68655C6CA
+3A281EDF0DEAD428B21B74EB88C734112E94552BE9FFF204DB689A8AB8DA52C5
+01316C6D3903330956D986AC107AAC083C020C3CE912F6C5799E47E3273B335C
+5F89230BC17F2CAD4612A9BA22D3E463673A74E602F19B210EE8FF2AA9BEBA7F
+6DD902F02AA6402765101A3CC2E71B2ACF1E069A79DCFA3AD793F57BF06811C8
+94ED472A585122B6CAFCAE569F95E03B67176A0837ED8B9167970E1D35636156
+96986DFBD9E5753C16B65BB9BC986893D13D35FB16101D1245FD26397086A7A0
+A5C16343DBE02536E476BA7A53ACE19C6DD0FD8D7103FBABB5FB3AE3AD970C73
+BBB3D4E2F2CE07B3D6A294A8CE482E0DEA8E2BF325787B5F5E1309EA3533BD16
+EEA6FB31B50881855B33AD6A955C46BB7D26D93EA0F1C4C4D31CC49B7446FCA8
+6C5BB7C41AC66E6616806086AF0DADA43A429C73FB4A760A8352F5804C27CF80
+02E317ACDF777430930F7ABCB4ED59EAE10DF4BE8F807FBE57261A94F55A786D
+9C6470A1C85A2BEC9CF7B301A4E2BFBB277E9FC2FD827A1A93AE249EB30CDC5D
+4D1B691CA1FC6B564912E9A42304992AB224111A90D3C0C76EFF07CB62F6FEF9
+ED2417593C51B960A7DBDE87EF3247478C690C354F950A03FB0065B0CED98627
+6FE6E1893A43F18EC3E198837733841B67384EF284481E392E2B54441A5CFA56
+DFAABDF0C60269580EF42240EC04526CFF47C241982865C46D1B70DFE777BBBB
+3A4FFEC3D3226AE13B5558B7D5C1BD68B0F090709E0E87C7EF6F479742AB553C
+57667FE17AA727D25ECB7C7DA2C1700926C200CF17E9AC88AFEA6FB5ECA91168
+37CDC2272A1C3AAFCC1F5302C05A3F0CF04DAF117256C5D2B865C256079CB9E5
+475017CB2B1FC68A88892FA30D44FFE2F66C2026223EB6D089D41F7E83AB5E03
+327CA9DCAC23904C2DE839D0CE03A8C8545CB98E21726174B80A3EB5DC39B772
+4D79B0A244D617C5CA896FFAB393DCD8B67A12B218F3138903C4891B3524FF03
+E3471B1B390D536C4BB448D684725AC40DBDCE9E7A3518DA08026F953C23A4F6
+70CF057032D30361948B38941EB2AEE096270E242777664B8F9C8322BB7FDC0A
+94ED19E7C9F216E2A0005A9A7ECD4563E2D1A28D32B29362FF5D6524138BB6BC
+35364DDFCC01850872F6B715AC159791B5721BAB94DF7DEF242FD1E467B7DE6D
+C2F5883A6F2552F3B1F7914ED334B8F39B1BEAB4A92A0829057A07FB71086D06
+BB849B1DF96268A57062509B6CDC7EBF80435582226CECAE9184C1E385BADD91
+43C6BFA74BF2DEEC72A4B41E714FCA95E7B1160A7E9DD08C006B6C9ABF3A9CE2
+4576A971AFDF86ECBB5B52CA27D41BE429AD743B42614E75FB2E5E4827C5EF08
+7DA223558997E5A397D2A8A2A537E7A4378807942D9DB6DD425AF4C6AF865F85
+1CD044CBD50770F74C8BB3CCD8F10D43DAC7FACCA4BE70EF353CA5F20EE7C8EB
+F2946DA89825BD9EA4117173D92591BC4494F551BBFB276185A453FFF1740378
+B96A92032CDF61626C0C2BD0402D138A8E6ABBCC8C64C38C7334C792B17AC128
+4FBD5378D0925B9DB1005B3F2DF995104E440D00DAB666C24906C309D27422AE
+AC45E98954C7B8725F9A57D0FA9D348C318FAD756A30500FF219EA033C8CD0DD
+87403AFA39E2BD635C8783420C87B8B89280A06C1933275EA261510E2DF7FAF7
+95C88B7A856E1DFB22E5C275A0EA21F97EC7CE6FE8E3999658FE3275980EB9AF
+9984703CDF36096FA374ECDC73B19566ABEF87DF348965823C9866BC350FBB17
+4B10DA0C808AE46853F48C8F93698BF30790AF1EAF3DE0C69D98ADB4EE8580FE
+925CC4C4A5CFCAB6704F91E2044F2BDA528033A051291D83268FDAA8458BA251
+163C5C0553C36B3003CACA97113016B2DCCBECB92A2A207BE15A6C1A09574330
+3638F3382A20CBCA42F41800C4D3ADE83771F13C60946FFFAF03E40222616D16
+5BF75291EF6E742BE9564C9E77C70F76524EED417352C5F6C81BAE94B483C0E4
+E8C174867FD64695DAA5027DC299DEA9D64DD29C42BF5C3499B76E277192D784
+E76A98BED0E4563956DDE7829F46220226247AF9D8EA6627F5332FFDF98A399E
+BD0C390F69CDB5B7B49F71F7056B323E32400222B007A8F558BCB5DD9C3EF605
+898309C7C375ADB02E4FAE62F96A289ECDEC32D608774E75668A4877B7197EFA
+F7FD4AB7211AAE20051581D8CA2DFB8058992ABAAE827FD83F60FBF59720CBD8
+6941B4EF77EA80EC2D0E1327434CF65E50CC1AA927F3D05B34903BD667D06B69
+65FD380314E1A0D78F1AC933C6A337D3DE89829C41F66A534B39FF30791AD313
+0E28D73C15AB1891AD54984598F2ADE1478B78DD1369AD8266B181099DED2F4C
+03B1CB838EE2CFE6D5B05B589BD21D80797703411761B9FB175C459E6B752086
+377360EC2D77DEA3FD0EA67BECF3482946159402CC2FC820AF309067589BEF6C
+2D983A16284D1FD66235BA564DFDBCD1AACC45AA2BFE3DFB24004666BA2437B7
+BCD46AF19AEA81223538AF64B0501586AC06B26EE666E58A811F35010D7A1602
+EBFA84E2387AD58F66A186461E9E2FE040577FB2665DDE7B24C3800B937E58FE
+607C215568DC5447AFF26EE3C71938CC782DC3075F7FBEE6ED9707F7DBCFA17D
+F12A13CEDD14199F4B2E06A943ECB9EADF3A04C6C122F1AB4D6E9DC3FE8DAD27
+A41D6E31281340205D5FE3EB960566638ACD1ABD65A61992C0E7F35E877C5DE6
+2724647FBF31B767B57847A439FDC5D8ECA6C867F1978E947DDCC9164631857A
+A6CEAEB79886DC87C445C3E36DB994710A4D2EB7ED159AE6B00497C9CFD1A602
+7117B5D176EB4EDEBD2391390279B1FAB2FA7136D07E292A8E4623858DE893AB
+C21D590679A055FFEFDC19DEFD43122205D89DE6BCDD7900F79C7FF41563787E
+5FEAC84651D32FAA52287812F76A878B788DEB47B40A97C811580A4E36A3F4E1
+59566FC60C809F01E68517379EA3A8D78A31ACE874B4E52DFE489AAB54AE3B34
+92A2B34451FE97D3E38464C05397866D5831F4F9E82188D78202F9453B5DD66B
+E51AF170AF55A5824803139F08CDCCDADFE58965E9989B94E2A9BD3EE1079E73
+EE1C98401ECC8BAD0E8CEF584DB4EDBCE72DA4BC8CC5BCB7B53DAA11790BB6DA
+212B6436A4E71081B98F0D601F293AF566795EF218990309154158FA18643EAD
+592854B0B53782F355B13496DC00B4CE5B05896CF0A12D2F2C2185F376C0FFE8
+570C8DB66373ECF721A66F48919B690F7A3282D850120AF99ABD034B0BE47314
+7FA81A4A7B341F4B61B9292CFE1DE2ECD63CB4259AC4152810A8072D806EE214
+53495BA4996F443CFB05DF4A3F1E892AA508B48CD692B693DA93C5A3B6F35C5B
+34D3C099D5049428B33A89B5897F9444E09E6218E4E690452A999EB07978C27F
+595BBFDCE92199FCAEFE1B7B1E14D09141289CDE033B4EA2F8744DD762E55E5E
+570E9FAE70EA0E03FA7206BDB102BD55F685F9086397611D17352C863A451AC9
+940501189586797F69D438B0AABE1564BDC3AADAD90839BBC47DCBA60C5E2CD4
+1565E8AA631AECAE734AE88CFE206B7D19310C0F326DAF227E8A20460865B8B1
+4A744E6C0AC55569AF51CEFC98393E72F87D3DF1E005EC034A495C3E9440E5C3
+A9C7718BB3D310B01BC4CC20850F9E1AFCE6EB6879DE5BDFCEF657E59A44BCC7
+F4138FC29B57C2A864859FD98D0B05DE8E27BFA0712ACCDFDD2E719A62358BE6
+D7039746D3B5BEA6D634865C68780D866E56848E9E758E113BD9C516F1AF9CD7
+8E59E340EFBD0AF461E419D81453570CA33E36E3066228506A393B7B8735550C
+A63E7F98F83233ACEE78AA9485DF6FC8E5290C4419D34E57E5F2F358CB4840EE
+3D2BA0CC876EE54D42FB74C8C2ABE600F691CD740AFE071C0ED49B6DE8F58B45
+8D85D245BF7ADA4A7EEC382DCD1AF6F72ADFB60CCE2E63C3B2B627A375B5AAFA
+F00102B9D4F4764C82AFE3B7FEAECC59427E47C64AFBF646823A7F55C3E59FFC
+710079D7F5C508EF933575C1F63C109137E2386137CC87104E46788C9F319F88
+B19ADB5708EAA7EFB411E1F9202B61E09BFC55A26D22AB0010E0CA5F279E5491
+E539E6C50A0E662767D83E465AFC0BA7B8850D299B48CD92532538C1115690B0
+6FF3C154779C85B9DAED4B693887D9768217FD32655F9491ADF914EE3085F5F1
+332C7411CBAEA521428B4339B167C70FFB94E0036FF50276743F176C590B23F5
+BDC6BF3714603154F3F0F53627B8ED31C20103665EA11FD7B6E338DF89241475
+BAEB5F9515D9
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+cleartomark
+{restore}if
+%%EndFont
+%%BeginFont: CMR17
+%!PS-AdobeFont-1.0: CMR17 003.002
+%%Title: CMR17
+%Version: 003.002
+%%CreationDate: Mon Jul 13 16:17:00 2009
+%%Creator: David M. Jones
+%Copyright: Copyright (c) 1997, 2009 American Mathematical Society
+%Copyright: (<http://www.ams.org>), with Reserved Font Name CMR17.
+% This Font Software is licensed under the SIL Open Font License, Version 1.1.
+% This license is in the accompanying file OFL.txt, and is also
+% available with a FAQ at: http://scripts.sil.org/OFL.
+%%EndComments
+FontDirectory/CMR17 known{/CMR17 findfont dup/UniqueID known{dup
+/UniqueID get 5000795 eq exch/FontType get 1 eq and}{pop false}ifelse
+{save true}{false}ifelse}{false}ifelse
+11 dict begin
+/FontType 1 def
+/FontMatrix [0.001 0 0 0.001 0 0 ]readonly def
+/FontName /CMR17 def
+/FontBBox {-33 -250 945 749 }readonly def
+/UniqueID 5000795 def
+/PaintType 0 def
+/FontInfo 9 dict dup begin
+/version (003.002) readonly def
+/Notice (Copyright \050c\051 1997, 2009 American Mathematical Society \050<http://www.ams.org>\051, with Reserved Font Name CMR17.) readonly def
+/FullName (CMR17) readonly def
+/FamilyName (Computer Modern) readonly def
+/Weight (Medium) readonly def
+/ItalicAngle 0 def
+/isFixedPitch false def
+/UnderlinePosition -100 def
+/UnderlineThickness 50 def
+end readonly def
+/Encoding 256 array
+0 1 255 {1 index exch /.notdef put} for
+dup 46 /period put
+dup 49 /one put
+dup 53 /five put
+dup 67 /C put
+dup 69 /E put
+dup 76 /L put
+dup 80 /P put
+dup 84 /T put
+dup 86 /V put
+dup 88 /X put
+dup 97 /a put
+dup 99 /c put
+dup 101 /e put
+dup 103 /g put
+dup 104 /h put
+dup 105 /i put
+dup 107 /k put
+dup 110 /n put
+dup 111 /o put
+dup 112 /p put
+dup 114 /r put
+dup 115 /s put
+dup 116 /t put
+dup 119 /w put
+dup 121 /y put
+readonly def
+currentdict end
+currentfile eexec
+D9D66F633B846AB284BCF8B0411B772DE5CE3DD325E55798292D7BD972BD75FA
+0E079529AF9C82DF72F64195C9C210DCE34528F540DA1FFD7BEBB9B40787BA93
+51BBFB7CFC5F9152D1E5BB0AD8D016C6CFA4EB41B3C51D091C2D5440E67CFD71
+7C56816B03B901BF4A25A07175380E50A213F877C44778B3C5AADBCC86D6E551
+E6AF364B0BFCAAD22D8D558C5C81A7D425A1629DD5182206742D1D082A12F078
+0FD4F5F6D3129FCFFF1F4A912B0A7DEC8D33A57B5AE0328EF9D57ADDAC543273
+C01924195A181D03F5054A93B71E5065F8D92FE23794D2DB9D6295729076BD8E
+CBC0F4C1BE246922D2482233846A96D867B66D9CF25A1DB661141D36B8506E61
+A022F9EF8BC1F2F674EDF1533E67A78CA29A612AA9268E113C5EB84DA56CEDFC
+D7A111403E6E2A8682DB04368889747E003A124395ECF0C7FC81218552EE7C6F
+60BCFB4120893528670D0E8A4117EA5676915E3591AE5652D003EEF67818A41A
+8882E102AEEEBECBD15DCF632ED246A6A58B6A7780DB6F1F9AE3FDAC8344585D
+E104F2BA2DF06D68945889A2A3B6C262FB53FC670BC5EB7C56887FBFB7AA7026
+84115872CFB0652C6BB330447AFF8F0F665EFD6A41D6DB6877B08052F402448F
+CB21C26BDC900636C99CA347B79AA73AFCDE9762A992CA3DDF7279E5C50F453F
+52098529850AFB1F501A442D6A02E0A2896F81C8AC735AF1E7EE47208B4CC944
+649DF6802EEE813F1456205C6126D7D0B1821AB62DD65468F3A30575E491623E
+0054E2E680E4402E1C8C538DA389B81603BE88D6DC287A076F92B224CD58A0AC
+44B8D490197341808DEF243660971F444A560C747BC6F52707ED42A99736ECCF
+EBCB694A561C3A70A319D204CD40D402FBF937A00BBCBE85DD26C9E3F91B7D10
+D85B9D314BC3AAD5A58B107F5F341BE2C53490924142566417D6BE03BB4977FA
+6635EA58DEB9508E40B9FFAC75FF44C683680CF242FE210519C9BF92483B0A54
+83F48341318BE16D2F8C988FE3DB2E7914581F579D5E323148A31E4ED03BC24B
+C990372DF5F3B0C5FA32EB2CA4FA0EA33316569133C87697BAA2292E685C26CC
+F8CD40A2366E60B47D47CC9D0FA29D2836011376A07F78BA7664DE96E775CF45
+9BC91559A063073A4C2FAAD0893C517C5C46A1425D07EDCC2B57162E3A45103E
+FF26A2D2F98B194256A4B052AAFCC08965A50EECD7B9E8F35AFDF7B6568B3983
+8030655E7C2BEC961A2F20539D617626E8454E3FE9EBD3EFCEF7F63498441DAE
+16CB509BF239FBBE25EFEF07A3E16C9C71EB8D9DCB8403916FB40FD7F4E1A52F
+72F2DFF94FD14D7D49FE775390C17C37C1BA0CAF35CF75D682B7833A83224158
+D54CE962CFBAFB1B2CA50B60CBEB1F8F58DDB2F5470C355ED9632342D9382AE4
+5D33BCA3A0A25EE9E5B39BE5370E7F20684C664EDB48E7973FEDAD9676F9EE8F
+701CD4D8CC9B9EBC06E8C86EB88AD56E15CEBB8E1930E8F711CB6E01D5D14967
+D7E6C1BDDDE2C4D00384EF4CB02877DECC27AD53FC981338977BA0CC0257CF7D
+B42E9BC91AF45D9722461EC3CD9DEAA8011FB855FE14B74BE0A102008EACA2B6
+0E287BB4F466FBFDD6E65A5262B9322F95E20DAB875A10A84572D982E6FC7ACA
+23C0C37E5EB47B8E69C07507B53CDD98CD1B6445E1699CF35B3DA3E0DC56BB76
+F997C40E2ECE47DBDDB707EB527055960113F2DABC87FD9EC7D0AB36B400CE33
+0D54D4F197B2830B43DF0AA802DFB2BF747A4C44B31FB708B2C8BBE1955A6A28
+379C91AA4CC065A50098AEC0B837E180B76801865A43C74859DF18FE1DA1483B
+C17843BF1C7E1B11A8C6D8BB8CDB1D552FE6A1FD0A696A8F7405F2320F8621EA
+17C1A32056C45A9ED35D2BD12D02D8B26489CAAEBF4EF33B66FF4BD9B46E4823
+6395831A8F3366EEA0D0EA88D612DEBF63DA7FAA24DA979ACC1A52544BCAA007
+6C39946BEA6076ACF45722B2B8E4D0823EA2D12B14A98367BB0433A21FBD9F94
+18DF298C56F67ABC9DB1868D431A854DBEDF8E1F49E359A545C75A7AA1FA4D5A
+50F1EE6B45FC68ABF65FFF257964E4E50D8B0C1FAF498DFC554073697C2F219D
+4A68DA9E873B270B9C56F0DDBC9927ADAF9203FD684DE615F68C24ACFFB44690
+89C0D5322049FA69E7FD00EFC9C9B2BD177B5B339907F81C31496662847BEC1E
+56B5DCDF4FE618970F4268F475B2EF7E0F28CC986DDF098E59DDAD818649CC35
+4080C0867A884B8177A6880F06F1E5CC130AB4243EF8DD8032FCF390765BAB1C
+1F0C9728EEE261A09F8C1D7ABC7A6B1550551BE2A7D19D45B656650DB00B3A5E
+B3E1186043E173BB4DD5EFFB379654F88146382AE3F7196F099BDCD6D245FB6B
+AA2FA9B6CFBC9F0CD52798DDF2F13874BDE5B124DFFE0DD93E24C9DAEAE4C3BB
+71A9A13AE2860F620B4EC789F95221015D9C510CB4AC775EF69DB9E32E59C896
+1AF82C9F0DCDB4812A37761859A3D3BA0CA57F244489C78065346FFA78F5F7C8
+0B2E8CBA9EE62FF5C27369D0BCD52857D40F1FB8F8A1441B83565A4150AB1945
+0B54D6E49F66389E43096269EF5CDD39526A288C0CB81E324E75D326EC9A182F
+2CD966368CE300B41873B08E17C3E6BB51804460D2562AF5A12339966F44CD09
+114C6809AF246B5BA6937631842CB9417781A58944B6BA4FCF961465C208957C
+81A662D560D0F81BD3CB53C06B6D979F04F6121CCFD5D52702CBF6C70C01EDBF
+2040AAB9CB144321E68C4010E0E98CCA2603EB55DD62E881DB621C37EA4108D1
+528ECC7A0121B57C6BB1E26F8AE7161ABA7E88256D2D6A8B7CDE2E730D137493
+3FF628EF6030DD2330D747FABBA03B44CF600418C245C388F33EC5559E7313BC
+4B530C4FC12530D38B27D6408548F25FC084DD0523B27D29D6518D3115AE7755
+37162CFD4CF528214466FE525B13782F9C3CD78F3D6C7423E63A134C0A371F15
+10F4ECE1D482C647B563D3D15586F80BD9DF7381BD53927825D5AEAF762E1CDC
+3BD184F345029A95B3AD4D1B66E79AB4F0809418C0CFD4D503457A190D02F134
+3F57FC04FF655AEEB783D6791E4EC300755861837D3D50649F6B7F60766211B3
+8148F8E575E28D6C2DE75B15E722ABFC6DAADAE53D89FD295352781DCC2CFF6D
+982F6DB778D6FCBF1B7BDCB53F3A23AE6EB499BBFA96E8BE04C3C8E5B660EF24
+01EB842DAEBE979F2C2DB72AAB4D21627063B1D3C6CD40944E4CB81655698FBA
+A343766CB22E392E5DAE01DB33A00918D6DAA07F2F38B336A3C5DF3708865E75
+0DE04D3AFBCA27A249E97377D5785B4E28EE0E93F7D353619C200DB967372ED2
+153BF8BE945474266EB2FD30F80042A11B7E3586DE4AB1FBD4A741D36DE583E9
+1CA25DA345520AA60634EC819E7EB493CDB128BBADEC3890F055455F060A1100
+D5A41D7B180027E08AD6EE7E393DB9F83799544404FE397F557773BE6A130541
+157C0EB37E036C94825B5090EF85F8B4E3DB72895D86687758C20EDEBD6D1079
+196E9949DC6ED0113571C70B150B37E446E319EC54D44CC0CF6A14760953DF4A
+D0E1F33A54D240E236AB63B35BA8E071D77776BE5B9312245F2C6E4FDB4312A0
+0D9CF723E7D9A3D8546C4739C00C301A89ABA60A02757AB1A0AC40B24CE6CF12
+5850485B11E16646D7150795EABAEB08364A53161111F46A7BC3423A0D3BEB69
+BF15726C1F8363914945DEEB29CB8766328318AF3B344FD6D77BBB92BD7FD161
+93356493D4D8252AD125708D47C124E44232FB2BF7DD75F87889496DCDB75D03
+F58A57D4122CFC194B75A9E9C4789C9A33C0435FB4ADA16AD4A6191928D1663D
+05FB8152C0AA176FBA4755205F8A66713404787070757D3721ED6E6D55A59DF0
+C92BA8F05EC7BE05D0A2E66DE85E75373483EA3BBEE0F0DFC7E2FA5FBAFAB118
+058D095AA71FDFC8AF37E5A98406B64E58BF476C6926725D7EF3C2346CE3F662
+1E5A4A18D966479A37070859014719456EA2C7F23E68E1AB2F25ED3A0C00A18C
+DD403506923BC983F89CCA125780DC76A411472E38173BC0DD4CDA7B43E13419
+B5AB0B9A35E77C58BBA12AA4F5C7EBF8A29996B059E4FAE6809565570442AEE5
+D56CBF4407E1CD9A4398B1F3ADFF023F64B230E3D29F526B62D964F5C8DF801F
+E94295AD85BD9E1C18E6327977260A871E921C0745CA06A263E335E344686E7D
+D6FE3ADB4EE0A7E462F3C00873C3E95D183CCEC71C0E5DC1D2FB310B28FC3611
+67C23DE336C374F72368F4973052B48E39969305791C986E6EE35D0350571860
+3A8ED849712CF21AEF444BA390644E8646CCA16559BA4642A5800827A0DDC453
+7CA0818BC47DF6348A5209A2F0A10CA39840CE6346E89CA0E842BE8692DEF25C
+4623A5A0E0B98708B9492E9F564324BB3872D6B953CA59E9F393C477E2AB85EC
+C557D333E88C111CF995FB79D9432DC94C2BDB3BFEE13C0D7D1BB920DAFA6158
+8548447AFC65CD5515D5021E0ED7D213B0C08C35BB424AA91885CA023D7AF767
+B83E619B15DFEF5588D2F0564296E14B5A6ACE03751E1016105C51BE76EA5ADB
+4167BAED2A8899031FD7BA05C410ADA25ADD94A787EED1A7AE133B0568B1DBA5
+44B41BE013782CFCA3D81E8E8210DD506ADFCE7DC7E792EFEF438221164A7D1B
+5E7089F476240C5F94988F081943F24DBF7CC3D1E58CB89E1C0C1624682CC3D8
+C95815ECC9183A4B3E353C7F920B7E64086E01672DAA7C8A81319BAA03C1FBB7
+8E5E84CC5BAE0E107754794C755B7AF00953504094E1A9DF357D51B578259613
+8D26F0BA26AAC459BBEEB90BCC98B865EDD26AA4DF533D6624EDAC762C446B6F
+CF9F86DD2D8989D4655775E662B93BF51805EE3CBA0AE2293D95F166E80973CC
+82C53042D0249C598B0821E9E7F218BA6114EEC86C158F277934F2651490B723
+7F0D0288560DA5BEBAFDDF243048E590871AD18B3B220EC56549004DF122AA03
+BAAD6971D790BC644369FDBEE74A324083CFA9496C2A333774F06E35299242BC
+F4B26578907CC5AD1893613F2B8622CFBB7B55810162EEBFAAEAB2A6D69CB72B
+D7859C73843E665125FF450631F32E64F13A6207F368103C7A7318DBAF2560D0
+F1CDD83C3E48CB30C62AF1E0896E1962C655D9ED98E1BB38477C1C60ECDB6B95
+067D3A638AD43EE886338F7AD2D2A574CE6FD2E21F6FCB4220EFEC85ABF8272A
+82081CE70E4390A74EC717F1DDD168F4A4A080A79EE2ECE0F98A96871DA4B52F
+78441601AF47763C2219F5A167604C32F478D498835EF3A6167936994F7C7139
+3019FF43C97E7978D3CDA641C1E391FEA572D308E759F28DDE2B40B5BC207A4B
+C5EB6A93EEE26782016F8B6534420BE4D790A2E1A65B6CDBE9468152230384FD
+14E9AE84418A44F94E6825DD7D77D0BB5486DE26A692B3DA96C81FA4440C5D44
+8E7F3CAA9B8DF38F87E09C4D78841F629F78F4E7CC8580CC44E59E5D9AE8B2DE
+C0682F793AE7AEC12A8AE688636197E8A08FEB70EFDB6203681A60223B9B0D39
+2DA656E5E99B82130D4BE38D7AFE18568DD30B0CC3C73C1E2914ACE11A65334D
+A9F18135E7B86157122CD221C33C62012FFB16D2D2F3473A53BE3E7B9FD4303F
+66ADF0B07155C7B9B002EA68C6AC7247EB3CE7D2670A60138049DAA964F86A05
+22983EDA7242E6BEEB90DF61C937399B2CE1061DF1E551CEED4A80D86C2D4649
+C9FF9A1F93E96773CD392478D5B70D5336A03A274E0A6EF44BE8CB2274324142
+706BC2E340DC944339D647961FD7BF29944503B4AFCDC69A706AA6B0F6AB2CB5
+D220A96ACC1EE5E7826F6F75F044224E5260D581AE761AD0C752A06AA03FD935
+FAD65C9EDD4E5505396E331D45DE88F0D1A4303D766ABE0702C17E2A7F53C0EA
+96A4DEC5A6B6186F5DBAAB05DD78E38AFE630465BEF0EC66ABA9C1C9232214A9
+795D105C33CF069F6BE20B179F4CC9F484AB63ED25C1212C457DF62CA0D56E20
+608572216F2D4C09010B03A8AA6D287C8F514BEEDC1C912552CC2489858BF4D3
+084882CE4F4B6FB9EE27C0168671E6DA154018ABEAD013C88E1D3EC918371251
+63D95BA0FE20212C20AD3F4DB614EE36B488A3F55D94C1EDFCA8E68E54A1EED4
+7DD168DCCF07C3DDB5E2B499DB5635C5C5056A7438120DB4839427D07F96AB8E
+F842E285243E40259F6DF029E27779CCF3D3BD7206B2C341045A5A4AABACC2A5
+91C6830FE05ACDCFDE99046F16F2AC183426ACA4A89FE5F09B7EB2F811BB5FB5
+AF073BDA2886070B2327D582DCBA66B47E8948C3BE05E837BE4B81402A583403
+74FF9E938F0E9DC3B1CB81B93DFD4070F9EBAED40BA570DE8F9A5C2C0A097311
+22A6065139A6580E332473E9410D9F4C734794F79E41D0D437CEC7381919DF6F
+A24B170E2BC97A6396A4E3AC3D844AD6E2B8FCE1C6AE97DFC5319F49130C3D6F
+AF2541EB2384D5D4CCBEB976846EF8C2165DBF706112BDDDEC9A57D157F5996D
+95229FD5C71B885D16B177BAB06B9DF5740A45C2A005778EE879193290419C0A
+A4A339029E37E685B8A05B111DDF94AC19B1D85C8E6026E57E3D3B373C08557A
+F96E6FE3916695ADFC1F0BF5D558565F42A71C61ACFEFC9026424397F0646642
+7EDAA05794BCCD164A645860B57EAD53CB6899B18C6E9496EA4DAB0A0C272639
+DEBC4FCBA94B3BF123F7771F602E7667C8F56E12429669F2219C7D8E294BE07B
+71E88EA62F5616CAAB7C0198E6FF12A348E36B306FE2684A401399431B6A84CF
+B46EE4BAA0F4099E65E9AF3B70274EDD6B6524F4FA38C23F9CD5273EEDC8C6C3
+E7312B6E0497C05AD3F3C246638F01387CC11DBCBD287ACF54D8E24759F51415
+35ED64132EF4158F54AB9F4D567482B3057880490F805822F71E7E2C52F7BC38
+8B1F803AC3731064B90E5E97AA3351D17E73DC2FE526CD6C91158636E395867D
+C1150FD3BD12493FFFB813AF0D08C8ED0B7418A2CF90BD5B783364358605D075
+5DEA95A9299C0654EFB28E2FE8A41358A0DD124D0314A27558E42ED5F2D74BB7
+056DE04D2CF13B9B804A3CBBA29BC155A3F18B8B48283194C33CE8291677E1EF
+0721138F8E0409D49BB99F217607586D2DF00C29A25536E21924B4CF6702CF85
+C02DFBFD2AA4DE3DBED1D2C02E21052A8D10F96629D0D18154923638FE0C48BD
+E2DEAF11663E20717EA77A5453686AAA39D6FF7919AF09B1AD956FDBF734F49E
+262F3076F62E77BD45122B55A5913902D9F91C4246FC235BA9C0FA4A96994291
+830638949BED423387DA2D455A3C9122484EFF27F5367D1D3DD27D207D973815
+965E1CFF36F43C653ED406F65348671D9FFAF55BA3FC266D438AF473181B7801
+164EA3F04FEC870743195B3F467DE36B3719BAD9BF15A18637A314C887D46673
+445BA3C212749B0A33136FEE9FE2C9A13D62E7ACC96378D257FBE0EB06AD4D4E
+D41976AB92AC720DFD33B0677062C32E6F5C992A0324FD26E984B5341A58C190
+D20EC3F1144697D514D9157340A6C9F82E62AD8CFDEE59F6FF86C6250CE33D6B
+BB82DDB4F65BEFC6F6D0E4044F7BF307CC346E2FFD191846E3CA288C6F91CB71
+5FDE855FEC5E38816CC635C470BF15263A10A409F0BC4877F7E6D4C223E3564E
+E7BB5B320AAA5AAF4F32528F7413BFB97C70FF5E6843E1FE501472129BC9758D
+7531BE576C75840CBC4CD3E6D9E5FF52559B68DE6E7827128BB2ED1BAD43F36E
+A0CB68C1A147A7093EB02062AC5492DB7EEE08B1BDB187E15339A66269E459BC
+67495937B4317AF66A498923322B087ECF47B601C26E253D223A784DB2D204FD
+0668BD403A73723848018B7C86B627B9AE0BD9038F567CD5F670CAFC5C4D86FC
+ECA211B713ACF8C1370191161CBB6C2592E8B9DBF3471133F2D9A60F15D72F9C
+5E5539D59A6A7E124D9A38A6FF6EB7C71990716F88E1888295584F17D49144B2
+B5768B77E7B2B812E8C804239B23202AF0EAACB83E7A32BF32493421CE4EDA74
+808C7F2D0818FA5CC7B9DE5158BC7A1B7A9C7B95BD29B01BC1DEB37D4EC57C01
+38AE5277D067BF0242AD7D07C2EF591D6C3EE87A9D65A57C287DAAF60FDA68A2
+1ADE7E7A457B95C7BC603CD8D9A6BD66548E5BB2167E415C21463C22C4459A92
+374A9BF3C35E2A4FE2658D8835158A2BE0E39E2553001E83367987705ADB7596
+D0E268828757AFC19E45C3C949A68C4F8F52F0A87021F773E844F7E60E12E4EF
+FDC0700FA116E97797ADCF647FCA726B45639F0B4AF5301BBBEABDA877B61551
+06DFA3A34871D5052A8040E24A0FC633249D6E1029ECC74140F92019D3A4D67D
+7D02A567FB66A67AB2E9556E6C9AE40D3CE74A35338B9F9A3F4B89932B9982C8
+D4F0302A61C41E33E1C26879D91DADEAA25F850083BE6CC26AE7437664ABBD22
+4991097015E0C4F622C41AACE1064C1F5AFC65A5B3302A7D631BBFBAB0CC540D
+B65D0E98718F1F3B103B327B3DC2C83E7D3A888053F0D0BDF164DBD65C4C651B
+47EF9FF6F3EF58FE1FCA44906016B497377ED16A7C920F15AB986521CF721B28
+0EC06CB9EA99AAE8E5E252C85984B9013235F19D36681AA6A43DC0CFF225C3A6
+488F7B406422A0350B90D80D2B227474038114D3F37DAA3996DAEF61BAB88998
+FC2741984A85D91F90F4D11A5E11BDA402E4EACE68F89F318F5160665FFDB61F
+9BAAE309EB0C3A32C50DF0F2AB6A6A66DDAE81D5860C0602ADC117434B22F0F5
+7CD62EF344132CEB51EAD0DFC57527F9DD78105456544E34FDFE2B44691E42F9
+59B9E7ECD5D42B141AE13810BCA6CD83EFB8CBD689247F43709BA8A836B1E7B3
+43D0A329DA89DD2DFCB83D29DD6A50353303EE10803FC664AA5F1DE3A712009E
+4111EBABD914895FA68202099F99B7B6F5B24DF2E030DBB284F9796191C30103
+0EE91B50A902FD538D91A23ACF75BE8185329EACCA86FFDCFB6432DFD6F61A68
+969D376D11C9CEA4402B7EA3AFA453C68D212D3F35E3264B7F358B0AC38F2232
+69415135BE9D15C28B2DDF21FA461436A6D7F0B28A836E3FCCD534AE07C34D7B
+166398BBE2D0B4741E11B022BF20D6A46B25A1AD3907E0FEE105D3095902FA07
+3CA6E366F14A554DFA0F0A33E14CD6CBABAE6AFBD7842578CCCF7D4309042BE7
+964800105D626ECA1E214613DF500BEB498DAB79934A94D51CC8E09AB54515E1
+7CBD99D6C0E0C465F2A2240E42C4B6FFE58DEFCF40E3D7516FE3D2DA703BDEB8
+B337A63B7EFDA91135CFD788A22C64A5A2DFFD81EBF72D77C675C491DABAA549
+04ECF46AEDD8A6753DA3BC3D9AAAA2836E049C7424D514E5B902A8F4D31EBE75
+B8F8A8CD4A217669C30B543B29D000C1FA330F01676E2C8EFB61181AC7B07EAA
+B1438AC047982647A8EC25C97C50B7892D05C064C9B39AD2CD171CC39D6BE203
+4E436A9A92B4217133A4D494FFEFC088B24F97D853D9B4210B10BBC85B628C6C
+463E474AC966CDEDD2F7C200A7EE9EB9A09F5EA45974DE591F50083FF86D148F
+8CB2C3C8630463565A4165B3722A092818FF280C63B8E6F7B2A13F6012B6980C
+AD45A8270EFCD868AB89FBEFAEB9CA5160E1FDF835F5D76731E3541A8292844C
+F6D5835ADBB7933F2D48D0D33A701C49F4A80E919510D2FB0FCEE61995EA1546
+8B8E9C852A2401C659C78F7820779979B2B3901DC8F1CE56B3D591FB50365460
+6DB3AE5A1A81E01EBC126F93DE850833B09F01A0A4D91330379DD812A62A5172
+4CD1414D8207D18528918D00CD7C4FE27B66B5C16934C9929A08C423284C0BC8
+65123EF0CA1011170E4558A640B0509ADA759E1FB11E5EEA5A3F3A662B9398F0
+AE7A76E6DA0264717FC52F921E629BA6EC83AFB7F1A82E96A8FCC3F6479D513A
+5D4E5E085B92F7988352A303E539DD932C0723D819D1DA64E28397DD3BDFD126
+D1AFA19992BBC3A7678D63D146D77747C67FA00F5690DB1906123D94320991AA
+6145F11BDD2D146BCEDBC76763C29F6E17A63CDB7EB2CC5A46F94481CF834A6B
+457B626C45C8DDB7754C8E6B3E6C354B6536058F828C7CBE79C207B6635D3244
+942EE46CC71239E931A9B30571149A958420225C6E798D41CD573AB5AD11235C
+A2209ABA4140ABC0B672DB163EC43AA3928575A3A8AB5C2178403598DC30C9EE
+B522E9D25901C270357576082766EE800675C6709D35F6072229FC1A003859F3
+828CF6BCAC6B8B3170C5779172610867C1B209D5175DA233BCFC1DAA1EE4B370
+D3974C855A4F883B69B8A81CB89EF39ADCCB21D7406EC270E1E45BB80A6BE752
+44539B020DFF70D8ED06EA99BB10091EE6ACE5899DB5B9856FFF6858E24CF048
+5EBC276593E24C266E75B9932E76F17B35503A047D375DCA12494235C85A3312
+1E1D925598801A29FEB8CB2693B996F6940894CD66E75FB2E9F82AB572F56617
+F312941E76439153C49182A4565F104AB7FFA0790262158A9BC983C9665361C8
+2F33C2661663F8B9A15A195A0ECD9983E5F45FBC5BF0B03C98B6A951E402273F
+2A0E2A7C7AEDD1B6EC0B67AA02AAF6DD81EF9FB7CF851A8888FAB7EF10CB68C6
+6956F85063CD6EB4C730959B6B720A874DE035475A2578CFF840CF141E3B2413
+8065A08860FFB9A826465E2CBD774BB6A615FD63499C721D3263698DC7E8C7BB
+4B01C393530CBDB21236A7FB626447D811317C0E84885BF0F4533111BAD57626
+13837B4DCD22329939F69CE3D29BC972743C43B116132289290C626041EC8658
+DEC0727FEF43A6E16D0AC25825B7ED7FED27A46B7470A0497817FC212397B5F3
+8732D43CFA87726962FCADEAED716E39E22937661BD51232E8A19ABA2D711D90
+CDFC947CB80D99CC16E8F0ABA47A996316E2ECAA571FA5C7F81A5AF89B7568B8
+CFF19C34C1D972F7F78F932CA11F7968F07213F0F3071AD316E803B256BC524E
+D432B0195FCF365E8A8589D8837B06B5DD62EFEC1C216E300511A120DA01F6E3
+FAB31216B525143CBC8BEF7F20BE40B585F33E4330300A83B63F454E5CAFE470
+D393B069C8CA82661217DA3F5F89553CCA730C1422FD1A9F5ED488D7CBE920CD
+88A6A79E7831CB0F2AFB5FB44ADF92DCB327BE060E0D818CB681586BD75C6AFB
+7A45613F7BC19CB67BBC0F4DBEF3D92C2B6FDC10C8E806642005DB4BFA961A22
+3FEF2C234D2EF7DFDB4B6235E85B6D84AF460524185BAA64E7A4FF10E401BEC4
+A814557F820BC0C2B06D012D5B2E7E5C3E9E5EFEC030D468DBEA20459421557E
+B3D7EC715EB935B1369349F7F6003EF0AC7D1D6D4549458832B0CCF1B602F929
+42E7CC430B7A4D412FAF56CBE5B8FE8740DDE7E34451896788C2BEE41A3375EB
+A39378F7E72ADC558188F79DA7B3DEF5DC092BC933E66FF1BA489C7A75E7DD23
+310BCCD8461F8E13401D906924CB9DE07CE9E0ABB34C0395785EF57FBDA776B0
+7750973E175161DD7825A3E6BCAEC6351C6B973EFCC700DD6911F956A12B9899
+2DBAB66F127E3CF16D8E7CC0D8E56E411513CCF6549D9AA45CF10D0B4CDE1153
+1EB94E289FC31BA70B81A7801A2AFD8E746322BA6CF75EBCC911616BD613CC51
+ED1083F2C43FD20C7EF3C6991300A4F78B1B9BF05532B3E9CE9EF61E8994AB4C
+A4FE34871F61F40EBB75EEA4F6075D3E428E1867507CDF595414A999A3990031
+D4A84519C87B2CFC86D33375C8292BB9175B1C99D42F2E6E041F8B69C9511757
+3E3345D1D5F10654643C269E9C5D33D6F227711A6F145585EBF7167E40EDE631
+887E58960201E595AFC289175A5FC430E6B84F94F138AF0021D041B2C326E60D
+8DE6A2517BF4364FB5698C7F6A827A4058EF917404015F5CB63996E367D6C132
+D60B030476A6CD0D6FC36236F03C00DFC3D1A8ECB0F4904665778A28CD9F4109
+D7224AA6E4F9943047D18ED3A43EE3EA0B6FFA39E0AA430776ED5DF7FCF86CB5
+A9999C8C4CD0E643B9228825736BB6356724472F1ECB55EBB81349835F2C1EAE
+6C73EFEB0EA08F97E0F0C862742F9A5F8838FCBCB848E99716E32C70E349063F
+B34EEAC34DF4E44799F9AF8F5CE9604EF7214999FD371ED1B4F676370941FCCD
+C649BC74B54E340AB11A78CA88988E6608640D9949E879592DACCF7AEA52E5C6
+EB4FC6520701994D5FAD19A8ABF8F41C82B643C3465A4789FB91A016120CCFF4
+084C692A9FC04F3800DDEFCC11589AD5E6084D279F8A1687CA86E7C4C5B13F05
+6B8B034BD8F84741BC37161F3409D27C0B866C28D61F351B46F145569BE4DB68
+0EF7118C654E898995BA873C8397EBCCB0282D4ED123CC7F74AD583976BB788E
+9B2694BA0CCCD78F85B139C23194C8B81471CA72311D69BEA0E6DA0FB03541DA
+75F5F4E00AFFF6A6F956CF1946E4A746E939979E123FCDCC1C0F5A89186CF8BE
+F00BABAB411307493E9273B7F25BF1DF32D9C243181680C7F751F3B1E4156C0D
+81776505F86B3FBC6180748FE660A84669A06F67F56FFD7162DC577CBCAE1C4F
+B34C4B082D0AC754914A7733BA0D42C3F46323DCA7EAC03DE3EE8689FE160147
+EA85EACA45CDEFF16FCC98C2728EEDBC120612188B8CBD46499BFEA2C12AFC24
+109B4BAAFBAA06D8B82AF492919C1B919CFF2555E53AA6636B0C55F868BC5E31
+0DEBDB382A83A285EAF4060978A9850970E0ABF9D86E2E35EE5E95D4270F289E
+3C375A640F891985E1460E840EED749313897FC59D367BFE660999A7F6AE8434
+05E60538FB4E74763A6CDC6D6C6CC3C018D3A72749519B3657700A4813CFF420
+2954833999FE5AB2EADCC6AE6EC74BCDCAB10DF2F1847CDBD0695E11567D4CB6
+A40F47DFE8E6283CEF97536D9EC9F3BF0F34AC7CB08C3CEFDFC25941BA699CAF
+5D7CD0224176F23C3E8A2EDD8AADC43F3D7431067C1E1981461EEA9F817CF882
+7E28AF179C231CCF0CE263EFCD846822BE6D87F5ADFD60EE1FA6CC8FE711F0D2
+B9BF3B963942FDCFC1A367F0340F8C2B6DD4E4EBD0B21D67A0A44E080E8911FF
+0A4EE8480E96BA0204BB124904527CA1DD8BA491013F92B286967072A79AEAA6
+F606FDD78483910EEFD3E07BF0B1B859077F5C8E57D31DD2984A2ADF074041DA
+9163A0CB68200676D6C7B9AA966E14AC6FBBC18DD7B4AA828AE35FDF411C7631
+2E9F16A54846330E2AA17048D61975224F0B3DC0F9B34B1FD539487CCE6E1ABF
+46C460F214FBDCF33962CB2B1648E0D0AAE34959466FEE2F2D5EE2BBC8082ACF
+0B54C6A784A7E8F98BEE5F424FE243FAD1B0DE89FC2D0F56C507CB50BB76E610
+8A13073ADF4CEB6F7F20A575DF67AFFE4B1FFAAF646D6274053920E482C82696
+E65DF27EFE7080D7F7A6F07179BA44702BE71A2397CEA8B455ED9FE7E3B59493
+7C06EBEC9E02BAFCF590A5D699348CCE89BD75E37AB8E30BAE3E0D8C5257B1E5
+3814BB91531BCB9B5E308C0A99EF8038A9E102D1460B1AAE0FE5F13C7A35FE69
+733698703640B87974CCEC4DE1E59B0A1FF7E95918C9E0835FF1894B0DFEF682
+CF7A55420CF585A9265E18F0FC322891C98B82F4E72A3AF306A6847013E1AC16
+76CC428151818469211389EDC9D54528EFFAC29388E35209C895C870BB90419E
+FA4512B183F523C34D93FD5B47E11A1B9F0F349A54071D305D4BD02DE0272C0E
+56085BDB34396C2286C6DA78C248B7284648F93246E79D668C9B462D4F95991C
+B817A317AFD40C840C2355358CE4A6166C4446FB0D2D6004033E3DD79B70BC44
+243562CBFAB02F6CB87C5321DCE0679EA6D10414597041E517A2803493152FF1
+FCEEC509E63F3F016E3536C2E5E6502AFE2A71C7565F7002607974F7593F2CC8
+CF00C53018762CD8AEC95E5F5EE31DE166DBD3B42084A07CD74BC391F2B85EE7
+677A5C7922FC273A696D2046713EE625BEBC0ECC0BD9DC1CA10E57B20D7B60E6
+FA5BDCE85A731698FF95AE08958B9217ECADB62FD3B54A494A06591FD7CC1700
+C512C2B38884C72C3C6E4C81350AC0BFAFF37D44790DB2CFAD560601D2DBF6CA
+DB267CEE60FE547920D3BCDF3B1FF706BDE45CE0BF548FF4ECF99885CC486668
+2EC19B8071C1F65C82191D2A8174C3301E70D1AD82F98572D35611D923E563E9
+389A1FDB3F30FFDFBC4B5BC86AA87D41EBD76B24AE9D5D2F612C38A91B16CEF3
+3120AB5E9838D3E14D9C149E13AE79F13BF670D5D82CFA1319E4A36BBC430263
+6439D94CB28AD09AE3F33E94DF26DB5F35D5A370D0AA45CCC623921F799BF248
+8B178365BD73546B97FE15F64091804F7821DE7291325566387C6B9F009B9AAC
+2E08294B8D399237CF4B71AF24D034B0F123BF8E431C530288C43DCAF81318ED
+8EB18E1B815767C83655072C3977C5D8322D9B9B80C49DCFE31F3B5C40427F5A
+D22CDD7CA0484D5FF17D0A389B09BF1ABAD02FB099E93AD7612B34852E760C08
+5D7B86A7B1BA465985DB3FFCC33822DD988CFFBFE07C10BD6151CA6464611265
+0C3F09471D758BE55863F00CE44986FFF6D73C568CD826E61BD3B8E0B793B7BA
+822C8CDCF5FB273F1E113E8EF78A99632AA3FE67DCD5759FB6501363C4567975
+B2D9B9AB1C45B58EF6C7C813C8ECAA474EF5C83752117EAB52FDF44DF5D8FE74
+7C8E47BD4CBB370B80F6911FA22F3551ABBC420C9B5E30ED9FBCD6F7C544CE71
+543C1CF0C34E4E8C4E24D48428B8FE971C8AF63CA5B2E96A886AC6B5D88F96D7
+CE4C29E573F8D4FB7394869600524206581D4539CEA8787D55DD039DE14E8E44
+B8CA15B6EA52DAD4A4BB1B568B591D20C971F4F1B4F6C4F7245C6314B75EA85A
+AA6A5BDD35A6232A54F1207F23DD3212A4ED201D03977CB23258BB2AB7DD6B3E
+522E330934EBFA36AE176FB3D4A9F8740E587AB07245764FA50C8E4E4F64FF0E
+D3ABC4B977226C0FB13BB083C877E1F6F0BD7BDEC2BA089AA7806D77EF922092
+4107724F98A8147BE1BC5697DE5BC8E0480E8C9727D51A3FFB7A9F851D063DB2
+762970DE9C25FB6B4A7D8F2435EEBEED5C426E9DC32FE5F0C20E3B645179574D
+0001F4ED9A4BF4DF84EE31E5C278B2E2957AB14F644CF9C28B58A06A024F5D45
+A835FE73C6038B5169712C56EC34AD2AA024F04E40D3EF43FFEE259CBAEA6292
+1633E18EB69F9B7FE181AA0D81D0
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+cleartomark
+{restore}if
+%%EndFont
+TeXDict begin 39158280 55380996 1000 600 600 (skakdoc.dvi)
+@start /Fa 145[48 110[{}1 83.022 /CMBSY10 rf /Fb 137[44
+6[44 1[44 7[44 101[{}4 83.022 /CMITT10 rf /Fc 134[37
+1[51 2[27 28 28 1[39 35 39 1[20 37 1[20 39 1[22 31 39
+2[35 50[20 46[{}17 66.4176 /CMR8 rf /Fd 137[35 3[35 2[35
+1[35 7[35 101[{}5 66.4176 /CMTT8 rf /Fe 145[35 110[{}1
+66.4176 /CMSY8 rf /Ff 134[40 4[28 1[35 2[42 47 1[21 2[25
+1[38 1[38 1[38 38 42 97[{}12 83.022 /CMTI10 rf /Fg 177[75
+78[{}1 83.022 /SkakNew-Figurine rf /Fh 198[28 28 28 28
+28 28 28 28 28 28 48[{}10 41.511 /CMR5 rf /Fi 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 /Fj 140[27 7[34 2[36 35
+22 31 36 31 36 34 40[35 35 35 35 35 35 35 35 49[{}18
+66.4176 /CMSS8 rf /Fk 167[50 5[62 83 2[75 11[71 66[{}5
+83.022 /SkakNew-Figurine-Bold rf /Fl 119[42 136[{
+ TS1Encoding ReEncodeFont }1 83.022 /SFRM1000 rf /Fm
+146[86 25 7[56 1[56 52 97[{}5 99.6264 /CMSSBX10 rf /Fn
+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 10[56 56 56 56 56 56 2[31 46[{}39 99.6264
+/CMBX12 rf /Fo 190[49 15[33 49[{}2 58.1154 /CMR7 rf /Fp
+140[50 7[63 9[63 97[{}3 119.552 /CMSSBX10 rf /Fq 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[{}30
+83.022 /CMTT10 rf /Fr 145[42 6[42 42 101[65{}4 83.022
+/CMSY10 rf /Fs 140[32 5[66 20 41 6[43 1[43 40 97[{}7
+83.022 /CMSS10 rf /Ft 140[35 7[44 9[44 97[{}3 83.022
+/CMSSBX10 rf /Fu 135[50 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[{}43 83.022 /CMBX10 rf /Fv 137[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 10[67 67 67 67 67 67 49[{}33
+119.552 /CMBX12 rf /Fw 131[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 1[30 62 65 54 57 63 60 59 62 6[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[{}76 83.022 /CMR10 rf /Fx 140[29 7[38 9[37 97[{}3
+74.7198 /CMSS9 rf /Fy 190[45 15[30 49[{}2 49.8132 /CMR6
+rf /Fz 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[{}30 74.7198 /CMR9 rf /FA 139[34 35 36 14[39
+49 43 31[67 65[{}7 74.7198 /CMBX9 rf /FB 139[51 1[51
+2[51 51 51 51 2[51 51 51 51 51 1[51 51 51 32[51 17[51
+46[{}16 99.6264 /CMTT12 rf /FC 140[52 7[66 9[65 97[{}3
+143.462 /CMSS17 rf /FD 134[51 3[54 2[38 2[49 54 81 27
+2[27 3[43 2[54 49 12[70 9[50 1[73 6[73 6[27 1[49 4[49
+49 49 49 2[33 27 32[57 11[{}24 99.6264 /CMR12 rf /FE
+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 13[66 3[66
+2[36 46[{}25 143.462 /CMR17 rf end
+%%EndProlog
+%%BeginSetup
+%%Feature: *Resolution 600dpi
+TeXDict begin
+%%BeginPaperSize: a4
+/setpagedevice where
+{ pop << /PageSize [595 842] >> setpagedevice }
+{ /a4 where { pop a4 } if }
+ifelse
+%%EndPaperSize
+ end
+%%EndSetup
+%%Page: 1 1
+TeXDict begin 1 0 bop 0 TeXcolorgray Black 515 440 a
+tx@Dict begin gsave STV CP T /ps@rot 0 def grestore end
+
+515 440 a 515 440 a
+tx@Dict begin gsave STV CP T /ps@refangle 0. def grestore end
+ 515 440 a 0 TeXcolorgray 515 440
+a
+tx@Dict begin gsave STV CP T /ps@rot 0 def grestore end
+ 515 440 a 0 TeXcolorgray 0 TeXcolorgray 518 872 a FE(T)l(yp)t
+(esetting)42 b(Chess)h(in)g(L)1806 842 y FD(A)1859 872
+y FE(T)1933 903 y(E)2006 872 y(Xwith)h(the)f FC(sk)l(ak)g
+FE(P)l(ac)l(k)-7 b(age)1579 1054 y(V)c(ersion)43 b(1.5.1)1570
+1295 y FD(T)-8 b(orb)s(en)33 b(Ho\013mann)1192 1411 y(e-mail:)44
+b FB(torben.lehoff@gmail.com)1663 1607 y FD(July)33 b(18,)g(2013)p
+0 TeXcolorgray 0 TeXcolorgray 1778 1906 a FA(Abstract)p
+0 TeXcolorgray 0 TeXcolorgray 837 2036 a Fz(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 Fy(A)1875 2127 y Fz(T)1917
+2143 y(E)1961 2127 y(X\()p Fx(sk)n(ak)p Fz(\).)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 Fw(1)p 0 TeXcolorgray
+eop end
+%%Page: 2 2
+TeXDict begin 2 1 bop 0 TeXcolorgray 0 TeXcolorgray 0
+TeXcolorgray 515 523 a Fv(Con)l(ten)l(ts)515 706 y Fu(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 Ft(sk)m(ak)g Fu(P)m(ac)m(k)-5
+b(age)1577 b(3)639 1171 y Fw(3.1)84 b(Using)28 b(the)g
+Fs(lamb)r(da)f Fw(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 Fu(4)76
+b(Basic)32 b(usage)f(of)h(the)g Ft(sk)m(ak)g Fu(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 Ft(sk)m(ak)h Fu(P)m(ac)m(k)-5 b(age)1042 b(5)639 1636
+y Fw(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 Fu(6)76 b(Ornamen)m(ts)2233 b(7)639 1918 y Fw(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 Fu(7)76
+b(Adv)-5 b(anced)33 b(Usage)2002 b(9)639 2300 y Fw(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 Fr(n)p Fq(styleA)37 b Fw(.)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 Fr(n)p Fq(styleB)37 b Fw(.)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 Fr(n)p Fq(styleC)37 b Fw(.)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 Fr(n)p Fq(variationstyle)21 b Fw(and)28
+b Fr(n)p Fq(mainlinestyle)51 b Fw(.)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 Fr(n)p Fq(longmoves)23 b Fw(and)28 b Fr(n)p
+Fq(sanmoves)37 b Fw(.)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 Fv(1)134 b(T)-11 b(erms)45 b(of)g(Usage)515
+705 y Fw(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 Fv(2)134 b(Installing)47 b(the)e Fp(sk)l(ak)h
+Fv(P)l(ac)l(k)-7 b(age)515 1842 y Fw(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 1942 y(this)f(I)f(w)n(ould)g(b)r(e)h(v)n(ery)
+f(glad)g(indeed.)639 2041 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 2141 y(y)n(ou)i(create)g(all)g(the)i(required)
+d(directories)h(\(stated)h(in)g(the)g Fq(install)d Fw(section)j(of)g
+(the)515 2241 y(mak)n(e\014le\))c(and)h(then)h(y)n(ou)e(run)h(the)h
+Fq(make)42 b(install)33 b Fw(command.)62 b(Remem)n(b)r(er)36
+b(to)g(run)515 2340 y Fq(texhash)25 b Fw(after)i(y)n(ou)g(ha)n(v)n(e)f
+(up)r(dated)i(y)n(our)f(texmf)h(tree.)639 2440 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 2539 y(no)n(w.)639
+2639 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 2657 y(E)3033
+2639 y(Xand)h(the)515 2739 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 2838
+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 2938
+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 3038 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 3137 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 3120 y Fo(A)2906 3137 y Fw(T)2952 3155
+y(E)2998 3137 y(Xstandard)515 3237 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.)515 3469 y Fn(2.1)112 b(Using)38
+b(the)g Fm(lamb)s(da)g Fn(P)m(ac)m(k)-6 b(age)515 3622
+y Fw(The)33 b Fs(sk)n(ak)e Fw(pac)n(k)-5 b(age)31 b(uses)i(the)g
+Fs(lamb)r(da)g Fw(pac)n(k)-5 b(age)31 b(to)i(do)f(some)g(of)h(the)g
+(hard)g(pro)r(cessing)515 3722 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
+3822 y(L)537 3805 y Fo(A)574 3822 y Fw(T)620 3840 y(E)666
+3822 y(Xdistributions)27 b(it)h(is)g(included)g(in)g(the)g
+(distribution)f(of)h(the)g Fs(sk)n(ak)e Fw(pac)n(k)-5
+b(age.)515 4096 y Fv(3)134 b(Basic)45 b(usage)h(of)f(the)g
+Fp(sk)l(ak)i Fv(pac)l(k)-7 b(age)515 4278 y Fw(Once)23
+b(the)g Fs(sk)n(ak)f Fw(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 4378 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 4560 a
+Fl(\210)p 0 TeXcolorgray 41 w Fw(write)h Fq(\\usepackage{ska)o(k})21
+b Fw(in)28 b(the)g(pream)n(ble.)p 0 TeXcolorgray 639
+4726 a Fl(\210)p 0 TeXcolorgray 41 w Fw(the)g Fr(n)p
+Fq(newgame)d Fw(command.)p 0 TeXcolorgray 639 4892 a
+Fl(\210)p 0 TeXcolorgray 41 w Fw(the)j Fr(n)p Fq(mainline)c
+Fw(command.)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 0 TeXcolorgray 639 523 a Fl(\210)p 0 TeXcolorgray
+41 w Fw(the)28 b Fr(n)p Fq(variation)c Fw(command.)p
+0 TeXcolorgray 639 689 a Fl(\210)p 0 TeXcolorgray 41
+w Fw(the)k Fr(n)p Fq(showboard)c Fw(command.)639 870
+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 970
+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 1069
+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 543 1270 a Fu(1)32 b(e4)f(e5)g(2)h Fk(N)p
+Fu(f3)f Fk(N)p Fu(c6)h(3)f Fk(B)p Fu(b5)p 535 1339 1013
+9 v 487 1425 a Fj(8)p 535 1464 9 125 v 544 1464 a Fi(rZblkans)p
+1539 1464 V 487 1550 a Fj(7)p 535 1588 V 544 1588 a Fi(opopZpop)p
+1539 1588 V 487 1674 a Fj(6)p 535 1713 V 544 1713 a Fi(0ZnZ0Z0Z)p
+1539 1713 V 487 1799 a Fj(5)p 535 1837 V 544 1837 a Fi(ZBZ0o0Z0)p
+1539 1837 V 487 1923 a Fj(4)p 535 1962 V 544 1962 a Fi(0Z0ZPZ0Z)p
+1539 1962 V 487 2048 a Fj(3)p 535 2086 V 544 2086 a Fi(Z0Z0ZNZ0)p
+1539 2086 V 487 2172 a Fj(2)p 535 2211 V 544 2211 a Fi(POPO0OPO)p
+1539 2211 V 487 2297 a Fj(1)p 535 2335 V 544 2335 a Fi(SNAQJ0ZR)1544
+2335 y
+tx@Dict begin tx@NodeDict begin {-7.5 7.5 } false /N@BM 10 {InitPnode
+} /NodeScale {} def NewNode end end
+ 1544 2335 a 1539 2335 9 125 v 535 2343 1013 9
+v 580 2402 a Fj(a)89 b(b)i(c)g(d)g(e)99 b(f)c(g)89 b(h)62
+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. 1. .setopacityalpha Arrow EndArrow } def [ 15.0 -12.00005
+15.0 -3.75 /currentpoint load stopped pop /Lineto /lineto load def
+0 setlinejoin false Line 0.8 SLW 0 setgray 0. true 12.59995 -2.40005
+17.40005 2.40005 .5 Frame gsave 0.5 setgray 1. .setopacityalpha
+ fill grestore gsave 0.8 SLW 0 setgray 1. .setopacityalpha 0
+setlinejoin 0 setlinecap stroke grestore end
+
+@endspecial 515 1179 1433
+4 v 515 2442 4 1265 v 1944 2442 V 515 2444 1433 4 v 0
+TeXcolorgray 2068 1680 a Fh(1)17 b Fr(n)o Fw(newgame)2068
+1780 y Fh(2)g Fr(n)o Fw(mainline)p Fr(f)p Fw(1.e)o(4)28
+b(e5)35 b(2.)42 b(Nf)q(3)27 b(Nc6)h(3.)o(Bb5)p Fr(g)2068
+1879 y Fh(3)2068 1979 y(4)17 b Fr(n)o Fw(sho)n(wb)r(oard)p
+0 TeXcolorgray 0 TeXcolorgray 0 TeXcolorgray 639 2596
+a(The)36 b Fr(n)p Fq(newgame)c Fw(command)k(sets)f(up)h(the)g(in)n
+(ternal)f(b)r(oard)g(or)g(a)g(new)h(game.)60 b(The)515
+2696 y Fr(n)p Fq(mainline)29 b Fw(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 2795 y(b)r(oard)27 b(so)f(that)i Fr(n)p
+Fq(showboard)c Fw(will)k(sho)n(w)e(the)i(curren)n(t)f(b)r(oard)g(p)r
+(osition.)p 0 TeXcolorgray 0 TeXcolorgray 543 2988 a
+Fu(3.)15 b(.)h(.)f(a6)543 3088 y Fw(Rarely)27 b(used)g(these)h(da)n
+(ys,)543 3187 y(3.)13 b(.)h(.)g Fg(N)p Fw(f6)27 b(is)h(more)f(in)543
+3287 y(fashion)g(since)g(blah)h(blah...)543 3386 y Fu(4)k
+Fk(B)p Fu(a4)p 535 3455 1013 9 v 487 3541 a Fj(8)p 535
+3580 9 125 v 544 3580 a Fi(rZblkans)p 1539 3580 V 487
+3666 a Fj(7)p 535 3704 V 544 3704 a Fi(ZpopZpop)p 1539
+3704 V 487 3790 a Fj(6)p 535 3829 V 544 3829 a Fi(pZnZ0Z0Z)p
+1539 3829 V 487 3915 a Fj(5)p 535 3953 V 544 3953 a Fi(Z0Z0o0Z0)p
+1539 3953 V 487 4039 a Fj(4)p 535 4078 V 544 4078 a Fi(BZ0ZPZ0Z)p
+1539 4078 V 487 4164 a Fj(3)p 535 4202 V 544 4202 a Fi(Z0Z0ZNZ0)p
+1539 4202 V 487 4288 a Fj(2)p 535 4327 V 544 4327 a Fi(POPO0OPO)p
+1539 4327 V 487 4413 a Fj(1)p 535 4451 V 544 4451 a Fi(SNAQJ0ZR)1544
+4451 y
+tx@Dict begin tx@NodeDict begin {-7.5 7.5 } false /N@BM 10 {InitPnode
+} /NodeScale {} def NewNode end end
+ 1544 4451 a 1539 4451 9 125 v 535 4459 1013 9
+v 580 4518 a Fj(a)89 b(b)i(c)g(d)g(e)99 b(f)c(g)89 b(h)62
+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. 1. .setopacityalpha Arrow EndArrow } def [ 15.0 -12.00005
+15.0 -3.75 /currentpoint load stopped pop /Lineto /lineto load def
+0 setlinejoin false Line 0.8 SLW 0 setgray 0. true 12.59995 -2.40005
+17.40005 2.40005 .5 Frame gsave 0.5 setgray 1. .setopacityalpha
+ fill grestore gsave 0.8 SLW 0 setgray 1. .setopacityalpha 0
+setlinejoin 0 setlinecap stroke grestore end
+
+@endspecial 515 2909 1433
+4 v 515 4558 4 1650 v 1944 4558 V 515 4560 1433 4 v 0
+TeXcolorgray 2068 3454 a Fh(1)17 b Fr(n)o Fw(mainline)11
+b Fr(f)p Fw(3...)e(a)o(6)p Fr(g)27 b(n)p Fw(sa)n(v)n(egame)m
+Fr(f)p Fw(pap)o(1)p Fr(g)2068 3553 y Fh(2)17 b Fw(Rarely)27
+b(used)g(these)k(da)n(ys,)2068 3653 y Fh(3)17 b Fr(n)5
+b Fw(v)-5 b(ariation)22 b Fr(f)p Fw(3...)16 b(Nf)q(6)p
+Fr(g)30 b Fw(is)41 b(more)27 b(in)2068 3753 y Fh(4)19
+b Fw(fashion)45 b(since)e(blah)30 b(blah)17 b(...)2068
+3852 y Fh(5)g Fr(n)o Fw(mainline)p Fr(f)p Fw(4.Ba)o(4)p
+Fr(g)2068 3952 y Fh(6)2068 4052 y(7)g Fr(n)o Fw(sho)n(wb)r(oard)p
+0 TeXcolorgray 0 TeXcolorgray 0 TeXcolorgray 639 4707
+a(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
+4807 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
+Fr(n)p Fq(variation)515 4907 y Fw(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 Ff(not)31 b
+Fw(up)r(date)24 b(the)f(b)r(oard,)g(but)h(apart)515 5006
+y(from)j(that)h(it)g(exp)r(ects)g(the)g(same)f(input)h(as)f
+Fr(n)p Fq(mainline)p Fw(.)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 639 523 a Fw(The)31 b(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
+623 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
+722 y(b)r(o)r(oks)g(can)g(b)r(e)h(writen)f(using)h(only)f(these)h
+(commands!)639 822 y(But)23 b(the)f Fs(sk)n(ak)f Fw(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 922 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 1196 y Fv(4)134 b(In)l(termediate)48 b(Usage)e(of)f(the)
+g Fp(sk)l(ak)h Fv(P)l(ac)l(k)-7 b(age)515 1378 y Fw(This)27
+b(section)h(describ)r(es)f(ho)n(w)f(to)p 0 TeXcolorgray
+639 1544 a Fl(\210)p 0 TeXcolorgray 41 w Fw(do)i(game)e(managemen)n(t,)
+p 0 TeXcolorgray 639 1710 a Fl(\210)p 0 TeXcolorgray
+41 w Fw(add)i(ornamen)n(ts)e(to)h(the)h(b)r(oard)f(and)p
+0 TeXcolorgray 639 1876 a Fl(\210)p 0 TeXcolorgray 41
+w Fw(con)n(trolling)f(some)h(asp)r(ects)h(of)f(sho)n(wing)f(the)i(b)r
+(oard.)515 2108 y Fn(4.1)112 b(Game)39 b(Managemen)m(t)515
+2262 y Fw(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
+2361 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 2461 y(in)d(all)f(the)h(lines)f(y)n(ou)g(describ)r
+(e.)639 2561 y(One)h(w)n(a)n(y)e(to)h(do)h(this)g(is)f(to)h(use)f(the)h
+Fr(n)p Fq(hidemoves)23 b Fw(command)28 b(lik)n(e)f(this:)p
+0 TeXcolorgray 0 TeXcolorgray 543 2767 a Fu(1)32 b(e4)f(e5)g(2)h
+Fk(N)p Fu(f3)f Fk(N)p Fu(c6)h(3)f Fk(B)p Fu(b5)p 535
+2836 1013 9 v 487 2922 a Fj(8)p 535 2960 9 125 v 544
+2960 a Fi(rZblkans)p 1539 2960 V 487 3046 a Fj(7)p 535
+3085 V 544 3085 a Fi(opopZpop)p 1539 3085 V 487 3171
+a Fj(6)p 535 3210 V 544 3210 a Fi(0ZnZ0Z0Z)p 1539 3210
+V 487 3295 a Fj(5)p 535 3334 V 544 3334 a Fi(ZBZ0o0Z0)p
+1539 3334 V 487 3420 a Fj(4)p 535 3459 V 544 3459 a Fi(0Z0ZPZ0Z)p
+1539 3459 V 487 3544 a Fj(3)p 535 3583 V 544 3583 a Fi(Z0Z0ZNZ0)p
+1539 3583 V 487 3669 a Fj(2)p 535 3708 V 544 3708 a Fi(POPO0OPO)p
+1539 3708 V 487 3794 a Fj(1)p 535 3832 V 544 3832 a Fi(SNAQJ0ZR)1544
+3832 y
+tx@Dict begin tx@NodeDict begin {-7.5 7.5 } false /N@BM 10 {InitPnode
+} /NodeScale {} def NewNode end end
+ 1544 3832 a 1539 3832 9 125 v 535 3840 1013 9
+v 580 3899 a Fj(a)89 b(b)i(c)g(d)g(e)99 b(f)c(g)89 b(h)62
+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. 1. .setopacityalpha Arrow EndArrow } def [ 15.0 -12.00005
+15.0 -3.75 /currentpoint load stopped pop /Lineto /lineto load def
+0 setlinejoin false Line 0.8 SLW 0 setgray 0. true 12.59995 -2.40005
+17.40005 2.40005 .5 Frame gsave 0.5 setgray 1. .setopacityalpha
+ fill grestore gsave 0.8 SLW 0 setgray 1. .setopacityalpha 0
+setlinejoin 0 setlinecap stroke grestore end
+
+@endspecial 515 2676 1433
+4 v 515 3939 4 1265 v 1944 3939 V 515 3941 1433 4 v 0
+TeXcolorgray 2068 3177 a Fh(1)17 b Fr(n)o Fw(newgame)2068
+3277 y Fh(2)g Fr(n)o Fw(mainline)p Fr(f)p Fw(1.e)o(4)28
+b(e5)35 b(2.)42 b(Nf)q(3)27 b(Nc6)h(3.)o(Bb5)p Fr(g)2068
+3376 y Fh(3)2068 3476 y(4)17 b Fr(n)o Fw(sho)n(wb)r(oard)p
+0 TeXcolorgray 0 TeXcolorgray 0 TeXcolorgray 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 543 526 a
+Fu(3.)15 b(.)h(.)f(a6)28 b Fw(blah)f(blah)p 535 592 1013
+9 v 487 678 a Fj(8)p 535 716 9 125 v 544 716 a Fi(rZblkans)p
+1539 716 V 487 802 a Fj(7)p 535 841 V 544 841 a Fi(ZpopZpop)p
+1539 841 V 487 927 a Fj(6)p 535 965 V 544 965 a Fi(pZnZ0Z0Z)p
+1539 965 V 487 1051 a Fj(5)p 535 1090 V 544 1090 a Fi(ZBZ0o0Z0)p
+1539 1090 V 487 1176 a Fj(4)p 535 1215 V 544 1215 a Fi(0Z0ZPZ0Z)p
+1539 1215 V 487 1300 a Fj(3)p 535 1339 V 544 1339 a Fi(Z0Z0ZNZ0)p
+1539 1339 V 487 1425 a Fj(2)p 535 1464 V 544 1464 a Fi(POPO0OPO)p
+1539 1464 V 487 1549 a Fj(1)p 535 1588 V 544 1588 a Fi(SNAQJ0ZR)1544
+1588 y
+tx@Dict begin tx@NodeDict begin {-7.5 7.5 } false /N@BM 10 {InitPnode
+} /NodeScale {} def NewNode end end
+ 1544 1588 a 1539 1588 9 125 v 535 1596 1013 9
+v 580 1655 a Fj(a)89 b(b)i(c)g(d)g(e)99 b(f)c(g)89 b(h)62
+b @beginspecial @setspecial
+ tx@Dict begin STP newpath 0.8 SLW 0 setgray tx@NodeDict begin tx@NodeDict
+/N@BM known { /N@BM load GetCenter } { 0 0 } ifelse end translate 0.0
+0.0 translate 0.8 SLW 0 setgray /ArrowA { /lineto load stopped {
+moveto } if } def /ArrowB { BeginArrow 1. 1. scale false 0.4 1.4
+1.5 2. 1. .setopacityalpha Arrow EndArrow } def [ 15.0 12.00005
+15.0 3.75 /currentpoint load stopped pop /Lineto /lineto load def
+0 setlinejoin 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 1. .setopacityalpha
+ 0 setlinejoin 0 setlinecap stroke grestore end
+
+@endspecial 515 443 1433
+4 v 515 1694 4 1253 v 1944 1694 V 515 1696 1433 4 v 0
+TeXcolorgray 2068 988 a Fh(1)17 b Fr(n)o Fw(mainline)11
+b Fr(f)p Fw(3...)e(a)o(6)p Fr(g)27 b Fw(blah)h(blah)2068
+1088 y Fh(2)2068 1188 y(3)17 b Fr(n)o Fw(sho)n(wb)r(oard)p
+0 TeXcolorgray 0 TeXcolorgray 0 TeXcolorgray 0 TeXcolorgray
+0 TeXcolorgray 543 1882 a Fu(3.)e(.)h(.)f Fk(N)p Fu(ge7)27
+b Fw(blah)g(blah)p 535 1964 1013 9 v 487 2050 a Fj(8)p
+535 2089 9 125 v 544 2089 a Fi(rZblka0s)p 1539 2089 V
+487 2174 a Fj(7)p 535 2213 V 544 2213 a Fi(opopmpop)p
+1539 2213 V 487 2299 a Fj(6)p 535 2338 V 544 2338 a Fi(0ZnZ0Z0Z)p
+1539 2338 V 487 2424 a Fj(5)p 535 2462 V 544 2462 a Fi(ZBZ0o0Z0)p
+1539 2462 V 487 2548 a Fj(4)p 535 2587 V 544 2587 a Fi(0Z0ZPZ0Z)p
+1539 2587 V 487 2673 a Fj(3)p 535 2711 V 544 2711 a Fi(Z0Z0ZNZ0)p
+1539 2711 V 487 2797 a Fj(2)p 535 2836 V 544 2836 a Fi(POPO0OPO)p
+1539 2836 V 487 2922 a Fj(1)p 535 2960 V 544 2960 a Fi(SNAQJ0ZR)1544
+2960 y
+tx@Dict begin tx@NodeDict begin {-7.5 7.5 } false /N@BM 10 {InitPnode
+} /NodeScale {} def NewNode end end
+ 1544 2960 a 1539 2960 9 125 v 535 2968 1013 9
+v 580 3027 a Fj(a)89 b(b)i(c)g(d)g(e)99 b(f)c(g)89 b(h)62
+b @beginspecial @setspecial
+ tx@Dict begin STP newpath 0.8 SLW 0 setgray tx@NodeDict begin tx@NodeDict
+/N@BM known { /N@BM load GetCenter } { 0 0 } ifelse end translate 0.0
+0.0 translate 0.8 SLW 0 setgray /ArrowA { /lineto load stopped {
+moveto } if } def /ArrowB { BeginArrow 1. 1. scale false 0.4 1.4
+1.5 2. 1. .setopacityalpha Arrow EndArrow } def [ 15.0 12.00005
+15.0 3.75 /currentpoint load stopped pop /Lineto /lineto load def
+0 setlinejoin 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 1. .setopacityalpha
+ 0 setlinejoin 0 setlinecap stroke grestore end
+
+@endspecial 515 1791 1433
+4 v 515 3067 4 1278 v 1944 3067 V 515 3069 1433 4 v 0
+TeXcolorgray 2068 2249 a Fh(1)17 b Fr(n)o Fw(newgame)2068
+2348 y Fh(2)g Fr(n)o Fw(hidemo)n(v)n(es)o Fr(f)p Fw(1.)o(e4)27
+b(e5)g(2.)h(Nf3)f(Nc)q(6)g(3.)o(Bb5)p Fr(g)2068 2448
+y Fh(3)17 b Fr(n)o Fw(mainline)11 b Fr(f)p Fw(3...)e(Nge7)p
+Fr(g)26 b Fw(blah)i(blah)2068 2547 y Fh(4)2068 2647 y(5)17
+b Fr(n)o Fw(sho)n(wb)r(oard)p 0 TeXcolorgray 0 TeXcolorgray
+0 TeXcolorgray 639 3217 a(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 3317 y Fr(n)p Fq(hidemoves)i
+Fw(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 3417 y Fs(sk)n(ak)g Fw(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
+3583 a Fl(\210)p 0 TeXcolorgray 41 w Fw(in)h(memory)f(or)p
+0 TeXcolorgray 639 3749 a Fl(\210)p 0 TeXcolorgray 41
+w Fw(in)h(a)f(\014le.)639 3915 y(The)c(former)f(is)h(done)g(using)g
+(the)g Fr(n)p Fq(storegame)c Fw(and)k Fr(n)p Fq(restoregame)18
+b Fw(commands)k(lik)n(e)515 4014 y(this:)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 0 TeXcolorgray 0 TeXcolorgray 543 534 a
+Fu(1)32 b(e4)f(e5)g(2)h Fk(N)p Fu(f3)f Fk(N)p Fu(c6)h(3)f
+Fk(B)p Fu(b5)543 634 y(3.)15 b(.)h(.)f(a6)32 b(4)g Fk(B)p
+Fu(a4)f(b5)p 535 703 1013 9 v 487 789 a Fj(8)p 535 827
+9 125 v 544 827 a Fi(rZblkans)p 1539 827 V 487 913 a
+Fj(7)p 535 952 V 544 952 a Fi(Z0opZpop)p 1539 952 V 487
+1038 a Fj(6)p 535 1076 V 544 1076 a Fi(pZnZ0Z0Z)p 1539
+1076 V 487 1162 a Fj(5)p 535 1201 V 544 1201 a Fi(ZpZ0o0Z0)p
+1539 1201 V 487 1287 a Fj(4)p 535 1326 V 544 1326 a Fi(BZ0ZPZ0Z)p
+1539 1326 V 487 1411 a Fj(3)p 535 1450 V 544 1450 a Fi(Z0Z0ZNZ0)p
+1539 1450 V 487 1536 a Fj(2)p 535 1575 V 544 1575 a Fi(POPO0OPO)p
+1539 1575 V 487 1661 a Fj(1)p 535 1699 V 544 1699 a Fi(SNAQJ0ZR)1544
+1699 y
+tx@Dict begin tx@NodeDict begin {-7.5 7.5 } false /N@BM 10 {InitPnode
+} /NodeScale {} def NewNode end end
+ 1544 1699 a 1539 1699 9 125 v 535 1707 1013 9
+v 580 1766 a Fj(a)89 b(b)i(c)g(d)g(e)99 b(f)c(g)89 b(h)62
+b @beginspecial @setspecial
+ tx@Dict begin STP newpath 0.8 SLW 0 setgray tx@NodeDict begin tx@NodeDict
+/N@BM known { /N@BM load GetCenter } { 0 0 } ifelse end translate 0.0
+0.0 translate 0.8 SLW 0 setgray /ArrowA { /lineto load stopped {
+moveto } if } def /ArrowB { BeginArrow 1. 1. scale false 0.4 1.4
+1.5 2. 1. .setopacityalpha Arrow EndArrow } def [ 15.0 12.00005
+15.0 3.75 /currentpoint load stopped pop /Lineto /lineto load def
+0 setlinejoin 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 1. .setopacityalpha
+ 0 setlinejoin 0 setlinecap stroke grestore end
+
+@endspecial 543 1866 a Fu(3.)15
+b(.)h(.)f Fk(B)p Fu(d7)p 535 1934 V 487 2020 a Fj(8)p
+535 2059 9 125 v 544 2059 a Fi(rZ0lkans)p 1539 2059 V
+487 2145 a Fj(7)p 535 2184 V 544 2184 a Fi(opobZpop)p
+1539 2184 V 487 2269 a Fj(6)p 535 2308 V 544 2308 a Fi(0ZnZ0Z0Z)p
+1539 2308 V 487 2394 a Fj(5)p 535 2433 V 544 2433 a Fi(ZBZ0o0Z0)p
+1539 2433 V 487 2518 a Fj(4)p 535 2557 V 544 2557 a Fi(0Z0ZPZ0Z)p
+1539 2557 V 487 2643 a Fj(3)p 535 2682 V 544 2682 a Fi(Z0Z0ZNZ0)p
+1539 2682 V 487 2768 a Fj(2)p 535 2806 V 544 2806 a Fi(POPO0OPO)p
+1539 2806 V 487 2892 a Fj(1)p 535 2931 V 544 2931 a Fi(SNAQJ0ZR)1544
+2931 y
+tx@Dict begin tx@NodeDict begin {-7.5 7.5 } false /N@BM 10 {InitPnode
+} /NodeScale {} def NewNode end end
+ 1544 2931 a 1539 2931 9 125 v 535 2939 1013 9
+v 580 2998 a Fj(a)89 b(b)i(c)g(d)g(e)99 b(f)c(g)89 b(h)62
+b @beginspecial @setspecial
+ tx@Dict begin STP newpath 0.8 SLW 0 setgray tx@NodeDict begin tx@NodeDict
+/N@BM known { /N@BM load GetCenter } { 0 0 } ifelse end translate 0.0
+0.0 translate 0.8 SLW 0 setgray /ArrowA { /lineto load stopped {
+moveto } if } def /ArrowB { BeginArrow 1. 1. scale false 0.4 1.4
+1.5 2. 1. .setopacityalpha Arrow EndArrow } def [ 15.0 12.00005
+15.0 3.75 /currentpoint load stopped pop /Lineto /lineto load def
+0 setlinejoin 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 1. .setopacityalpha
+ 0 setlinejoin 0 setlinecap stroke grestore end
+
+@endspecial 515 443 1433
+4 v 515 3037 4 2596 v 1944 3037 V 515 3039 1433 4 v 0
+TeXcolorgray 2068 1311 a Fh(1)17 b Fr(n)o Fw(newgame)2068
+1411 y Fh(2)g Fr(n)o Fw(mainline)p Fr(f)p Fw(1.e)o(4)28
+b(e5)35 b(2.)42 b(Nf)q(3)27 b(Nc6)h(3.)o(Bb5)p Fr(g)2068
+1510 y Fh(3)17 b Fr(n)o Fw(storegame)n Fr(f)p Fw(game)o(1)p
+Fr(g)2068 1610 y Fh(4)g Fr(n)o Fw(mainline)11 b Fr(f)p
+Fw(3...)e(a)o(6)34 b(4.)5 b(Ba)o(4)27 b(b5)p Fr(g)2068
+1709 y Fh(5)2068 1809 y(6)17 b Fr(n)o Fw(sho)n(wb)r(oard)2068
+1909 y Fh(7)g Fr(n)o Fw(restoregame)n Fr(f)o Fw(game1)p
+Fr(g)2068 2008 y Fh(8)2068 2108 y(9)g Fr(n)o Fw(mainline)11
+b Fr(f)p Fw(3...)e(Bd7)p Fr(g)2040 2208 y Fh(10)17 b
+Fr(n)o Fw(sho)n(wb)r(oard)p 0 TeXcolorgray 0 TeXcolorgray
+0 TeXcolorgray 639 3192 a(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
+3292 y Fr(n)p Fq(savegame)24 b Fw(and)j Fr(n)p Fq(loadgame)p
+Fw(.)515 3567 y Fv(5)134 b(Ornamen)l(ts)515 3765 y Fn(5.1)112
+b(Sho)m(wing)38 b(the)g(Board)515 3918 y Fw(W)-7 b(e)29
+b(ha)n(v)n(e)e(already)g(seen)i Fr(n)p Fq(showboard)24
+b Fw(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 4018 y(the)f(b)r(oard)e(lo)r(oks)h(lik)n(e.)639
+4117 y(With)33 b(the)f Fr(n)p Fq(mover)1267 4087 y Fo(1)1333
+4117 y Fw(command)g(one)f(can)g(request)h(that)g(a)f(little)h(mark)n
+(er)e(is)i(sho)n(wn)515 4217 y(next)c(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
+515 4369 1146 4 v 607 4423 a Fy(1)642 4446 y Fe(n)p Fd(mover)e
+Fc(only)f(w)n(orks)f(if)g(the)h Fj(sk)n(ak)h Fc(is)e(loaded)h(with)g
+(the)h(ps)e(option.)p 0 TeXcolorgray 0 TeXcolorgray 1926
+5255 a Fw(7)p 0 TeXcolorgray eop end
+%%Page: 8 8
+TeXDict begin 8 7 bop 0 TeXcolorgray 0 TeXcolorgray 0
+TeXcolorgray 0 TeXcolorgray 0 TeXcolorgray 535 526 1013
+9 v 487 612 a Fj(8)p 535 650 9 125 v 544 650 a Fi(rmblkans)p
+1539 650 V 487 736 a Fj(7)p 535 775 V 544 775 a Fi(opopopop)p
+1539 775 V 487 861 a Fj(6)p 535 899 V 544 899 a Fi(0Z0Z0Z0Z)p
+1539 899 V 487 985 a Fj(5)p 535 1024 V 544 1024 a Fi(Z0Z0Z0Z0)p
+1539 1024 V 487 1110 a Fj(4)p 535 1149 V 544 1149 a Fi(0Z0Z0Z0Z)p
+1539 1149 V 487 1234 a Fj(3)p 535 1273 V 544 1273 a Fi(Z0Z0Z0Z0)p
+1539 1273 V 487 1359 a Fj(2)p 535 1398 V 544 1398 a Fi(POPOPOPO)p
+1539 1398 V 487 1484 a Fj(1)p 535 1522 V 544 1522 a Fi(SNAQJBMR)1544
+1522 y
+tx@Dict begin tx@NodeDict begin {-7.5 7.5 } false /N@BM 10 {InitPnode
+} /NodeScale {} def NewNode end end
+ 1544 1522 a 1539 1522 9 125 v 535 1530 1013 9
+v 580 1589 a Fj(a)89 b(b)i(c)g(d)g(e)99 b(f)c(g)89 b(h)62
+b @beginspecial @setspecial
+ tx@Dict begin STP newpath 0.8 SLW 0 setgray tx@NodeDict begin tx@NodeDict
+/N@BM known { /N@BM load GetCenter } { 0 0 } ifelse end translate 0.0
+0.0 translate 0.8 SLW 0 setgray /ArrowA { /lineto load stopped {
+moveto } if } def /ArrowB { BeginArrow 1. 1. scale false 0.4 1.4
+1.5 2. 1. .setopacityalpha Arrow EndArrow } def [ 15.0 12.00005
+15.0 3.75 /currentpoint load stopped pop /Lineto /lineto load def
+0 setlinejoin 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 1. .setopacityalpha
+ 0 setlinejoin 0 setlinecap stroke grestore end
+
+@endspecial 515 443 1433
+4 v 515 1629 4 1187 v 1944 1629 V 515 1631 1433 4 v 0
+TeXcolorgray 2068 955 a Fh(1)17 b Fr(n)o Fw(newgame)2068
+1055 y Fh(2)2068 1155 y(3)g Fr(n)o Fw(sho)n(wb)r(oard)p
+0 TeXcolorgray 0 TeXcolorgray 0 TeXcolorgray 0 TeXcolorgray
+0 TeXcolorgray 543 1791 a Fu(1)32 b(d4)p 535 1857 1013
+9 v 487 1943 a Fj(8)p 535 1981 9 125 v 544 1981 a Fi(rmblkans)p
+1539 1981 V 487 2067 a Fj(7)p 535 2106 V 544 2106 a Fi(opopopop)p
+1539 2106 V 487 2192 a Fj(6)p 535 2230 V 544 2230 a Fi(0Z0Z0Z0Z)p
+1539 2230 V 487 2316 a Fj(5)p 535 2355 V 544 2355 a Fi(Z0Z0Z0Z0)p
+1539 2355 V 487 2441 a Fj(4)p 535 2479 V 544 2479 a Fi(0Z0O0Z0Z)p
+1539 2479 V 487 2565 a Fj(3)p 535 2604 V 544 2604 a Fi(Z0Z0Z0Z0)p
+1539 2604 V 487 2690 a Fj(2)p 535 2729 V 544 2729 a Fi(POPZPOPO)p
+1539 2729 V 487 2814 a Fj(1)p 535 2853 V 544 2853 a Fi(SNAQJBMR)1544
+2853 y
+tx@Dict begin tx@NodeDict begin {-7.5 7.5 } false /N@BM 10 {InitPnode
+} /NodeScale {} def NewNode end end
+ 1544 2853 a 1539 2853 9 125 v 535 2861 1013 9
+v 580 2920 a Fj(a)89 b(b)i(c)g(d)g(e)99 b(f)c(g)89 b(h)62
+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. 1. .setopacityalpha Arrow EndArrow } def [ 15.0 -12.00005
+15.0 -3.75 /currentpoint load stopped pop /Lineto /lineto load def
+0 setlinejoin false Line 0.8 SLW 0 setgray 0. true 12.59995 -2.40005
+17.40005 2.40005 .5 Frame gsave 0.5 setgray 1. .setopacityalpha
+ fill grestore gsave 0.8 SLW 0 setgray 1. .setopacityalpha 0
+setlinejoin 0 setlinecap stroke grestore end
+
+@endspecial 515 1708 1433
+4 v 515 2959 4 1253 v 1944 2959 V 515 2961 1433 4 v 0
+TeXcolorgray 2068 2253 a Fh(1)17 b Fr(n)o Fw(mainline)p
+Fr(f)p Fw(1.d4)p Fr(g)2068 2353 y Fh(2)2068 2453 y(3)g
+Fr(n)o Fw(sho)n(wb)r(oard)p 0 TeXcolorgray 0 TeXcolorgray
+0 TeXcolorgray 639 3098 a(This)31 b(can)f(b)r(e)h(turned)f(o\013)h
+(with)g Fr(n)p Fq(moveroff)p Fw(.)41 b(Y)-7 b(ou)31 b(can)f(also)f
+(remo)n(v)n(e)g(the)i(notation)515 3198 y(around)26 b(the)i(b)r(oard)f
+(using)g Fr(n)p Fq(notationoff)c Fw(whic)n(h)k(giv)n(es)g(this)h(app)r
+(earance:)p 0 TeXcolorgray 0 TeXcolorgray 535 3438 1013
+9 v 535 4434 9 997 v 544 3562 a Fi(rmblkans)544 3687
+y(opopopop)544 3811 y(0Z0Z0Z0Z)544 3936 y(Z0Z0Z0Z0)544
+4061 y(0Z0Z0Z0Z)544 4185 y(Z0Z0Z0Z0)544 4310 y(POPOPOPO)544
+4434 y(SNAQJBMR)1544 4434 y
+tx@Dict begin tx@NodeDict begin {-7.5 7.5 } false /N@BM 10 {InitPnode
+} /NodeScale {} def NewNode end end
+ 1544 4434 a 1539 4434 9 997
+v 535 4442 1013 9 v 1548 4442 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. 1. .setopacityalpha Arrow EndArrow } def [ 15.0 12.00005
+15.0 3.75 /currentpoint load stopped pop /Lineto /lineto load def
+0 setlinejoin 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 1. .setopacityalpha
+ 0 setlinejoin 0 setlinecap stroke grestore end
+
+
+@endspecial 515 3297 1433 4 v 515 4469 4 1174 v 1944
+4469 V 515 4471 1433 4 v 0 TeXcolorgray 2068 3802 a Fh(1)17
+b Fr(n)o Fw(newgame)2068 3902 y Fh(2)g Fr(n)6 b Fw(notationo\013)2068
+4002 y Fh(3)17 b Fr(n)o Fw(sho)n(wb)r(oard)p 0 TeXcolorgray
+0 TeXcolorgray 0 TeXcolorgray 639 4608 a(The)28 b(notation)f(is)g
+(added)h(again)e(after)i(one)f(has)g(issued)g Fr(n)p
+Fq(notationon)p Fw(.)639 4707 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
+4807 y(the)28 b(b)r(oard)e(is)i(con\014gured)e(can)i(b)r(e)g(found)g
+(in)f([)p Fu(?)q Fw(].)639 4907 y(Although)c(it)g(is)g(rarely)e(seen)h
+(is)h(c)n(hess)f(b)r(o)r(oks)g Fs(sk)n(ak)f Fw(o\013ers)h(the)h(p)r
+(ossibilit)n(y)g(of)f(sho)n(wing)515 5006 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 Fr(n)p
+Fq(showinverseboar)o(d)21 b Fw(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 535 526 1013
+9 v 487 612 a Fj(8)p 535 650 9 125 v 544 650 a Fi(rmblkans)p
+1539 650 V 487 736 a Fj(7)p 535 775 V 544 775 a Fi(opopopop)p
+1539 775 V 487 861 a Fj(6)p 535 899 V 544 899 a Fi(0Z0Z0Z0Z)p
+1539 899 V 487 985 a Fj(5)p 535 1024 V 544 1024 a Fi(Z0Z0Z0Z0)p
+1539 1024 V 487 1110 a Fj(4)p 535 1149 V 544 1149 a Fi(0Z0Z0Z0Z)p
+1539 1149 V 487 1234 a Fj(3)p 535 1273 V 544 1273 a Fi(Z0Z0Z0Z0)p
+1539 1273 V 487 1359 a Fj(2)p 535 1398 V 544 1398 a Fi(POPOPOPO)p
+1539 1398 V 487 1484 a Fj(1)p 535 1522 V 544 1522 a Fi(SNAQJBMR)1544
+1522 y
+tx@Dict begin tx@NodeDict begin {-7.5 7.5 } false /N@BM 10 {InitPnode
+} /NodeScale {} def NewNode end end
+ 1544 1522 a 1539 1522 9 125 v 535 1530 1013 9
+v 580 1589 a Fj(a)89 b(b)i(c)g(d)g(e)99 b(f)c(g)89 b(h)62
+b @beginspecial @setspecial
+ tx@Dict begin STP newpath 0.8 SLW 0 setgray tx@NodeDict begin tx@NodeDict
+/N@BM known { /N@BM load GetCenter } { 0 0 } ifelse end translate 0.0
+0.0 translate 0.8 SLW 0 setgray /ArrowA { /lineto load stopped {
+moveto } if } def /ArrowB { BeginArrow 1. 1. scale false 0.4 1.4
+1.5 2. 1. .setopacityalpha Arrow EndArrow } def [ 15.0 12.00005
+15.0 3.75 /currentpoint load stopped pop /Lineto /lineto load def
+0 setlinejoin 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 1. .setopacityalpha
+ 0 setlinejoin 0 setlinecap stroke grestore end
+
+@endspecial 515 443 1433
+4 v 515 1629 4 1187 v 1944 1629 V 515 1631 1433 4 v 0
+TeXcolorgray 2068 1005 a Fh(1)17 b Fr(n)o Fw(newgame)2068
+1105 y Fh(2)g Fr(n)o Fw(sho)n(wb)r(oard)p 0 TeXcolorgray
+0 TeXcolorgray 0 TeXcolorgray 639 1774 a(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 1873 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 2105 y Fn(5.2)112 b(Handy)38
+b(Commands)515 2258 y Fw(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 2358 y(to)k Fs(sk)n(ak)f Fw(that)i(y)n(ou)f(migh)n(t)h
+(\014nd)g(useful)g(to)r(o.)639 2457 y Fr(n)p Fq(wmove)p
+Fr(f)p Fb(move)10 b Fr(g)20 b Fw(t)n(yp)r(esets)g(a)h(single)f(mo)n(v)n
+(e,)g(whereas)g Fr(n)p Fq(bmove)p Fr(f)p Fb(move)9 b
+Fr(g)21 b Fw(do)r(es)f(the)h(same)515 2557 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 2656 y(remarks)26
+b(lik)n(e:)p 0 TeXcolorgray 0 TeXcolorgray 543 2846 a(.)14
+b(.)g(.)g Fg(N)p Fw(d4)27 b(w)n(ould)g(ha)n(v)n(e)f(b)r(een)i(b)r
+(etter.)p 515 2755 V 515 2872 4 119 v 1944 2872 V 515
+2874 1433 4 v 0 TeXcolorgray 2068 2833 a Fh(1)17 b Fr(n)o
+Fw(bmo)n(v)n(e)o Fr(f)p Fw(Nd4)p Fr(g)27 b Fw(w)n(ould)g(ha)n(v)n(e)g
+(b)r(een)h(b)r(etter.)p 0 TeXcolorgray 0 TeXcolorgray
+0 TeXcolorgray 639 3022 a Fr(n)p Fq(lastmove)c Fw(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 543 3305 a Fu(1)32 b(a3)543
+3404 y Fw(1)27 b(a3)g(is)g(bad.)p 515 3226 V 515 3431
+4 207 v 1944 3431 V 515 3433 1433 4 v 0 TeXcolorgray
+2068 3198 a Fh(1)17 b Fr(n)o Fw(newgame)2068 3298 y Fh(2)g
+Fr(n)o Fw(mainline)p Fr(f)p Fw(1.a)o(3)p Fr(g)2068 3397
+y Fh(3)2068 3497 y(4)g Fr(n)o Fw(lastmo)n(v)n(e)o Fr(fg)27
+b Fw(is)35 b(bad.)p 0 TeXcolorgray 0 TeXcolorgray 0 TeXcolorgray
+515 3742 a Fv(6)134 b(Adv)-7 b(anced)44 b(Usage)515 3924
+y Fw(This)29 b(section)f(will)h(describ)r(e)g(some)f(features)g(of)h
+(the)h Fs(sk)n(ak)d Fw(pac)n(k)-5 b(age)27 b(that)j(allo)n(ws)d(y)n(ou)
+h(to)515 4024 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 4123 y(is)f(sho)n(wn.)639 4223 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 4323 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
+4554 y Fn(6.1)112 b(T)-9 b(ailoring)38 b(of)g(the)f(Board)h(App)s
+(earance)515 4707 y Fw(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 4807 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
+4907 y(The)38 b(simple)h(commands)e Fr(n)p Fq(showonlywhite)32
+b Fw(and)38 b Fr(n)p Fq(showonlyblack)33 b Fw(sho)n(ws)j(only)515
+5006 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 543 534
+a Fu(1)32 b(e4)f(e5)g(2)h Fk(N)p Fu(f3)f Fk(N)p Fu(c6)h(3)f
+Fk(B)p Fu(b5)p 535 603 1013 9 v 487 689 a Fj(8)p 535
+728 9 125 v 544 728 a Fi(0Z0Z0Z0Z)p 1539 728 V 487 814
+a Fj(7)p 535 852 V 544 852 a Fi(Z0Z0Z0Z0)p 1539 852 V
+487 938 a Fj(6)p 535 977 V 544 977 a Fi(0Z0Z0Z0Z)p 1539
+977 V 487 1063 a Fj(5)p 535 1101 V 544 1101 a Fi(ZBZ0Z0Z0)p
+1539 1101 V 487 1187 a Fj(4)p 535 1226 V 544 1226 a Fi(0Z0ZPZ0Z)p
+1539 1226 V 487 1312 a Fj(3)p 535 1350 V 544 1350 a Fi(Z0Z0ZNZ0)p
+1539 1350 V 487 1436 a Fj(2)p 535 1475 V 544 1475 a Fi(POPO0OPO)p
+1539 1475 V 487 1561 a Fj(1)p 535 1600 V 544 1600 a Fi(SNAQJ0ZR)1544
+1600 y
+tx@Dict begin tx@NodeDict begin {-7.5 7.5 } false /N@BM 10 {InitPnode
+} /NodeScale {} def NewNode end end
+ 1544 1600 a 1539 1600 9 125 v 535 1608 1013 9
+v 580 1666 a Fj(a)89 b(b)i(c)g(d)g(e)99 b(f)c(g)89 b(h)62
+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. 1. .setopacityalpha Arrow EndArrow } def [ 15.0 -12.00005
+15.0 -3.75 /currentpoint load stopped pop /Lineto /lineto load def
+0 setlinejoin false Line 0.8 SLW 0 setgray 0. true 12.59995 -2.40005
+17.40005 2.40005 .5 Frame gsave 0.5 setgray 1. .setopacityalpha
+ fill grestore gsave 0.8 SLW 0 setgray 1. .setopacityalpha 0
+setlinejoin 0 setlinecap stroke grestore end
+
+@endspecial 515 443 1433
+4 v 515 1706 4 1265 v 1944 1706 V 515 1708 1433 4 v 0
+TeXcolorgray 2068 894 a Fh(1)17 b Fr(n)o Fw(newgame)2068
+994 y Fh(2)g Fr(n)o Fw(mainline)p Fr(f)p Fw(1.e)o(4)28
+b(e5)35 b(2.)42 b(Nf)q(3)27 b(Nc6)h(3.)o(Bb5)p Fr(g)2068
+1094 y Fh(3)2068 1193 y(4)17 b Fr(n)o Fw(sho)n(w)n(onlywhite)2068
+1293 y Fh(5)g Fr(n)o Fw(sho)n(wb)r(oard)p 0 TeXcolorgray
+0 TeXcolorgray 0 TeXcolorgray 0 TeXcolorgray 0 TeXcolorgray
+535 1868 1013 9 v 487 1953 a Fj(8)p 535 1992 9 125 v
+544 1992 a Fi(rZblkans)p 1539 1992 V 487 2078 a Fj(7)p
+535 2117 V 544 2117 a Fi(opopZpop)p 1539 2117 V 487 2202
+a Fj(6)p 535 2241 V 544 2241 a Fi(0ZnZ0Z0Z)p 1539 2241
+V 487 2327 a Fj(5)p 535 2366 V 544 2366 a Fi(Z0Z0o0Z0)p
+1539 2366 V 487 2452 a Fj(4)p 535 2490 V 544 2490 a Fi(0Z0Z0Z0Z)p
+1539 2490 V 487 2576 a Fj(3)p 535 2615 V 544 2615 a Fi(Z0Z0Z0Z0)p
+1539 2615 V 487 2701 a Fj(2)p 535 2739 V 544 2739 a Fi(0Z0Z0Z0Z)p
+1539 2739 V 487 2825 a Fj(1)p 535 2864 V 544 2864 a Fi(Z0Z0Z0Z0)1544
+2864 y
+tx@Dict begin tx@NodeDict begin {-7.5 7.5 } false /N@BM 10 {InitPnode
+} /NodeScale {} def NewNode end end
+ 1544 2864 a 1539 2864 9 125 v 535 2872 1013 9
+v 580 2931 a Fj(a)89 b(b)i(c)g(d)g(e)99 b(f)c(g)89 b(h)62
+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. 1. .setopacityalpha Arrow EndArrow } def [ 15.0 -12.00005
+15.0 -3.75 /currentpoint load stopped pop /Lineto /lineto load def
+0 setlinejoin false Line 0.8 SLW 0 setgray 0. true 12.59995 -2.40005
+17.40005 2.40005 .5 Frame gsave 0.5 setgray 1. .setopacityalpha
+ fill grestore gsave 0.8 SLW 0 setgray 1. .setopacityalpha 0
+setlinejoin 0 setlinecap stroke grestore end
+
+@endspecial 515 1785 1433
+4 v 515 2970 4 1187 v 1944 2970 V 515 2972 1433 4 v 0
+TeXcolorgray 2068 2347 a Fh(1)17 b Fr(n)o Fw(sho)n(w)n(onlyblac)n(k)
+2068 2446 y Fh(2)g Fr(n)o Fw(sho)n(wb)r(oard)p 0 TeXcolorgray
+0 TeXcolorgray 0 TeXcolorgray 639 3104 a(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 3203 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
+3303 y(is)e(p)r(ositioned.)639 3402 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 3502 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 Fr(n)p
+Fq(showonly)c Fw(command)515 3602 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 543 3778 a(The)i(pa)n(wn)f(structure)g
+(is)543 3877 y(no)n(w)g(lik)n(e)g(this:)p 535 3943 1013
+9 v 487 4029 a Fj(8)p 535 4068 9 125 v 544 4068 a Fi(0Z0Z0Z0Z)p
+1539 4068 V 487 4154 a Fj(7)p 535 4193 V 544 4193 a Fi(opopZpop)p
+1539 4193 V 487 4278 a Fj(6)p 535 4317 V 544 4317 a Fi(0Z0Z0Z0Z)p
+1539 4317 V 487 4403 a Fj(5)p 535 4442 V 544 4442 a Fi(Z0Z0o0Z0)p
+1539 4442 V 487 4527 a Fj(4)p 535 4566 V 544 4566 a Fi(0Z0ZPZ0Z)p
+1539 4566 V 487 4652 a Fj(3)p 535 4691 V 544 4691 a Fi(Z0Z0Z0Z0)p
+1539 4691 V 487 4777 a Fj(2)p 535 4815 V 544 4815 a Fi(POPO0OPO)p
+1539 4815 V 487 4901 a Fj(1)p 535 4940 V 544 4940 a Fi(Z0Z0Z0Z0)1544
+4940 y
+tx@Dict begin tx@NodeDict begin {-7.5 7.5 } false /N@BM 10 {InitPnode
+} /NodeScale {} def NewNode end end
+ 1544 4940 a 1539 4940 9 125 v 535 4948 1013 9
+v 580 5007 a Fj(a)89 b(b)i(c)g(d)g(e)99 b(f)c(g)89 b(h)62
+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. 1. .setopacityalpha Arrow EndArrow } def [ 15.0 -12.00005
+15.0 -3.75 /currentpoint load stopped pop /Lineto /lineto load def
+0 setlinejoin false Line 0.8 SLW 0 setgray 0. true 12.59995 -2.40005
+17.40005 2.40005 .5 Frame gsave 0.5 setgray 1. .setopacityalpha
+ fill grestore gsave 0.8 SLW 0 setgray 1. .setopacityalpha 0
+setlinejoin 0 setlinecap stroke grestore end
+
+@endspecial 515 3695 1433
+4 v 515 5046 4 1353 v 1944 5046 V 515 5048 1433 4 v 0
+TeXcolorgray 2068 4191 a Fh(1)17 b Fw(The)28 b(pa)n(wn)f(structure)g
+(is)2068 4290 y Fh(2)17 b Fw(no)n(w)28 b(lik)n(e)45 b(this)15
+b(:)2068 4390 y Fh(3)2068 4489 y(4)i Fr(n)o Fw(sho)n(w)n(only)o
+Fr(f)o Fw(P,p)p Fr(g)2068 4589 y Fh(5)g Fr(n)o Fw(sho)n(wb)r(oard)p
+0 TeXcolorgray 0 TeXcolorgray 0 TeXcolorgray 0 TeXcolorgray
+1905 5255 a(10)p 0 TeXcolorgray eop end
+%%Page: 11 11
+TeXDict begin 11 10 bop 0 TeXcolorgray 0 TeXcolorgray
+0 TeXcolorgray 639 523 a Fw(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 Fr(n)p Fq(showonly)c Fw(using)j Fr(n)p
+Fq(showallbut)p Fw(:)p 0 TeXcolorgray 0 TeXcolorgray
+535 920 1013 9 v 487 1006 a Fj(8)p 535 1045 9 125 v 544
+1045 a Fi(rZblkans)p 1539 1045 V 487 1131 a Fj(7)p 535
+1169 V 544 1169 a Fi(Z0Z0Z0Z0)p 1539 1169 V 487 1255
+a Fj(6)p 535 1294 V 544 1294 a Fi(0ZnZ0Z0Z)p 1539 1294
+V 487 1380 a Fj(5)p 535 1418 V 544 1418 a Fi(ZBZ0Z0Z0)p
+1539 1418 V 487 1504 a Fj(4)p 535 1543 V 544 1543 a Fi(0Z0Z0Z0Z)p
+1539 1543 V 487 1629 a Fj(3)p 535 1667 V 544 1667 a Fi(Z0Z0ZNZ0)p
+1539 1667 V 487 1753 a Fj(2)p 535 1792 V 544 1792 a Fi(0Z0Z0Z0Z)p
+1539 1792 V 487 1878 a Fj(1)p 535 1917 V 544 1917 a Fi(SNAQJ0ZR)1544
+1917 y
+tx@Dict begin tx@NodeDict begin {-7.5 7.5 } false /N@BM 10 {InitPnode
+} /NodeScale {} def NewNode end end
+ 1544 1917 a 1539 1917 9 125 v 535 1925 1013 9
+v 580 1983 a Fj(a)89 b(b)i(c)g(d)g(e)99 b(f)c(g)89 b(h)62
+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. 1. .setopacityalpha Arrow EndArrow } def [ 15.0 -12.00005
+15.0 -3.75 /currentpoint load stopped pop /Lineto /lineto load def
+0 setlinejoin false Line 0.8 SLW 0 setgray 0. true 12.59995 -2.40005
+17.40005 2.40005 .5 Frame gsave 0.5 setgray 1. .setopacityalpha
+ fill grestore gsave 0.8 SLW 0 setgray 1. .setopacityalpha 0
+setlinejoin 0 setlinecap stroke grestore end
+
+@endspecial 515 838 1433
+4 v 515 2023 4 1187 v 1944 2023 V 515 2025 1433 4 v 0
+TeXcolorgray 2068 1400 a Fh(1)17 b Fr(n)o Fw(sho)n(w)n(allbut)o
+Fr(f)p Fw(P)o(,p)q Fr(g)2068 1499 y Fh(2)g Fr(n)o Fw(sho)n(wb)r(oard)p
+0 TeXcolorgray 0 TeXcolorgray 0 TeXcolorgray 515 2218
+a Fn(6.2)112 b(Setting)37 b(up)h(the)g(Board)515 2371
+y Fw(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 2471 y(the)d(b)r(oard)e(in)i Ff(any)36 b Fw(p)r(osition)27
+b(using)g(the)h(command)g Fr(n)p Fq(fenboard)p Fw(:)639
+2571 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
+2670 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
+2770 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
+2870 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
+2969 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 3069 y(piece)h(names.)639 3168 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 3268 y(b)n(y)h(spaces:)p 0
+TeXcolorgray 639 3434 a Fl(\210)p 0 TeXcolorgray 41 w
+Fw(who)h(it)g(is)f(to)h(mo)n(v)n(e)e(\(w)i(or)f(b\).)p
+0 TeXcolorgray 639 3600 a Fl(\210)p 0 TeXcolorgray 41
+w Fw(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
+3700 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 3866 a
+Fl(\210)p 0 TeXcolorgray 41 w Fw(en)h(passan)n(t)e(square,)h(if)h
+(applicable)f(otherwise)g(a)g(-.)p 0 TeXcolorgray 639
+4032 a Fl(\210)p 0 TeXcolorgray 41 w Fw(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 4198 a Fl(\210)p 0 TeXcolorgray 41 w Fw(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 543 522
+a Fw(4)p 535 787 1013 9 v 487 873 a Fj(8)p 535 911 9
+125 v 544 911 a Fi(rZ0Z0ZkZ)p 1539 911 V 487 997 a Fj(7)p
+535 1036 V 544 1036 a Fi(ZbZpZpop)p 1539 1036 V 487 1122
+a Fj(6)p 535 1161 V 544 1161 a Fi(pZ0Z0Z0Z)p 1539 1161
+V 487 1246 a Fj(5)p 535 1285 V 544 1285 a Fi(ZpZQZ0Z0)p
+1539 1285 V 487 1371 a Fj(4)p 535 1410 V 544 1410 a Fi(0Z0ZPZ0Z)p
+1539 1410 V 487 1496 a Fj(3)p 535 1534 V 544 1534 a Fi(OPZ0Z0Oq)p
+1539 1534 V 487 1620 a Fj(2)p 535 1659 V 544 1659 a Fi(BAPZ0a0O)p
+1539 1659 V 487 1745 a Fj(1)p 535 1783 V 544 1783 a Fi(S0Z0ZRZK)1544
+1783 y
+tx@Dict begin tx@NodeDict begin {-7.5 7.5 } false /N@BM 10 {InitPnode
+} /NodeScale {} def NewNode end end
+ 1544 1783 a 1539 1783 9 125 v 535 1791 1013 9
+v 580 1850 a Fj(a)89 b(b)i(c)g(d)g(e)99 b(f)c(g)89 b(h)62
+b @beginspecial @setspecial
+ tx@Dict begin STP newpath 0.8 SLW 0 setgray tx@NodeDict begin tx@NodeDict
+/N@BM known { /N@BM load GetCenter } { 0 0 } ifelse end translate 0.0
+0.0 translate 0.8 SLW 0 setgray /ArrowA { /lineto load stopped {
+moveto } if } def /ArrowB { BeginArrow 1. 1. scale false 0.4 1.4
+1.5 2. 1. .setopacityalpha Arrow EndArrow } def [ 15.0 12.00005
+15.0 3.75 /currentpoint load stopped pop /Lineto /lineto load def
+0 setlinejoin 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 1. .setopacityalpha
+ 0 setlinejoin 0 setlinecap stroke grestore end
+
+@endspecial 543 1950 a Fu(20)31
+b Fk(QX)p Fu(b7)h Fk(R)p Fu(ae8)g(21)f Fk(Q)p Fu(d5)p
+515 443 1433 4 v 515 1980 4 1539 v 1944 1980 V 515 1982
+1433 4 v 0 TeXcolorgray 2068 783 a Fh(1)17 b Fr(n)o Fw(fen)n(b)r(oard)p
+Fr(f)o Fw(r5)o(k1/1)n(b)q(1)o(p1ppp/p7/1)n(p1Q4/)2068
+882 y Fh(2)g Fw(2)o(p)q(1)o(r3/)o(PP)o(4)o(Pq)o(/BBP)o(2b1)o(P/)o(R4R1)
+o(K)28 b(w)f Fr(\000)h(\000)f Fw(0)g(20)p Fr(g)2068 982
+y Fh(3)2068 1081 y(4)17 b Fr(n)o Fu(m)m(b)s(o)m(x)p Fr(fg)2068
+1181 y Fh(5)g Fr(n)o Fu(bigskip)2068 1281 y Fh(6)2068
+1380 y(7)g Fr(n)o Fw(sho)n(wb)r(oard)2068 1480 y Fh(8)2068
+1580 y(9)2039 1679 y(10)h Fr(n)o Fw(mainline)p Fr(f)p
+Fw(20.)o(Qxb7)27 b(Rae)o(8)g(21.Qd)o(5)p Fr(g)p 0 TeXcolorgray
+0 TeXcolorgray 0 TeXcolorgray 515 2176 a Fn(6.3)112 b(T)m(yp)s
+(esetting)38 b(St)m(yle)515 2329 y Fw(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 2428 y(in)h(the)g(follo)n(wing.)515
+2644 y Fu(6.3.1)93 b Fa(n)p Fq(styleA)515 2798 y Fw(The)26
+b Fr(n)p Fq(styleA)d Fw(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
+2897 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 543 3229 a Fu(1.)42
+b(e4,)30 b(c5)i(2.)42 b Fk(N)p Fu(f3,)31 b Fk(N)p Fu(c6)p
+515 3138 V 515 3272 4 136 v 1944 3272 V 515 3274 1433
+4 v 0 TeXcolorgray 2068 3074 a Fh(1)17 b Fr(n)o Fw(newgame)2068
+3174 y Fh(2)g Fr(n)o Fw(st)n(yleA)2068 3274 y Fh(3)2068
+3373 y(4)g Fr(n)o Fw(mainline)p Fr(f)p Fw(1.e)o(4)28
+b(c5)35 b(2.)5 b(Nf)q(3)27 b(Nc6)p Fr(g)p 0 TeXcolorgray
+0 TeXcolorgray 0 TeXcolorgray 515 3590 a Fu(6.3.2)93
+b Fa(n)p Fq(styleB)515 3743 y Fw(The)27 b(st)n(yle)h(selected)f(b)n(y)g
+Fr(n)p Fq(styleB)e Fw(is)j(the)g(default)g(one.)p 0 TeXcolorgray
+0 TeXcolorgray 543 4087 a Fu(1)k(e4)f(c5)h(2)f Fk(N)p
+Fu(f3)h Fk(N)p Fu(c6)p 515 3996 V 515 4114 4 120 v 1944
+4114 V 515 4116 1433 4 v 0 TeXcolorgray 2068 3925 a Fh(1)17
+b Fr(n)o Fw(newgame)2068 4025 y Fh(2)g Fr(n)o Fw(st)n(yleB)2068
+4124 y Fh(3)2068 4224 y(4)g Fr(n)o Fw(mainline)p Fr(f)p
+Fw(1.e)o(4)28 b(c5)35 b(2.)5 b(Nf)q(3)27 b(Nc6)p Fr(g)p
+0 TeXcolorgray 0 TeXcolorgray 0 TeXcolorgray 515 4440
+a Fu(6.3.3)93 b Fa(n)p Fq(styleC)515 4594 y Fw(The)37
+b(st)n(yle)h(selected)f(b)n(y)g Fr(n)p Fq(styleC)e Fw(is)j(an)f(elab)r
+(oration)f(on)h Fr(n)p Fq(styleB)p Fw(:)e(it)j(t)n(yp)r(esets)g(the)515
+4693 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
+4793 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 4893 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 818 625 a Fu(1)227 b(e4)183 b(c5)818 724
+y(2)227 b Fk(N)p Fu(f3)123 b Fk(N)p Fu(c6)543 907 y Fw(In)n(teresting)
+27 b(ho)n(w)g(2.)13 b(.)h(.)g(d6)27 b(is)h(blah)f(blah.)p
+515 530 1433 4 v 515 950 4 422 v 1944 950 V 515 952 1433
+4 v 0 TeXcolorgray 2068 510 a Fh(1)17 b Fr(n)o Fw(newgame)2068
+609 y Fh(2)g Fr(n)o Fw(st)n(yleC)2068 709 y Fh(3)2068
+809 y(4)g Fr(n)o Fw(mainline)p Fr(f)p Fw(1.e)o(4)28 b(c5)35
+b(2.)5 b(Nf)q(3)27 b(Nc6)p Fr(g)2068 908 y Fh(5)2068
+1008 y(6)h Fw(In)n(teresting)48 b(ho)n(w)27 b Fr(n)p
+Fw(v)-5 b(ariation)10 b Fr(f)p Fw(2...)g(d6)p Fr(g)33
+b Fw(is)43 b(blah)29 b(blah)t(.)p 0 TeXcolorgray 0 TeXcolorgray
+0 TeXcolorgray 515 1218 a Fu(6.3.4)93 b Fa(n)p Fq(variationstyle)26
+b Fu(and)33 b Fa(n)p Fq(mainlinestyle)515 1371 y Fw(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 1470 y(the)d(mainline)f(and)h(v)-5
+b(ariations,)26 b(they)i(default)g(to:)p 0 TeXcolorgray
+0 TeXcolorgray 515 1613 a Fq(\\def\\mainlinesty)o(le)o({\\)o(bfs)o(er)o
+(ies)o(}\045)37 b(could)k(also)h(contain)1779 1713 y(\045)h
+(definitions)c(of)k(the)1779 1812 y(\045)g(various)e(style)g(options)
+515 1912 y(\\def\\variationst)o(yl)o(e{)o(}\045)c(as)43
+b(with)f(mainlinestyle)639 2054 y Fw(They)28 b(are)f(used)i(b)n(y)e
+Fr(n)p Fq(styleC)f Fw(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 2154 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 2297 a Fq(\\def\\mainlinesty)o(le)o
+({\\)o(sty)o(le)o(C\\b)o(fs)o(er)o(ies)o(})515 2396 y
+(\\def\\variationst)o(yl)o(e{)o(\\st)o(yl)o(eB})515 2605
+y Fu(6.3.5)93 b Fa(n)p Fq(longmoves)28 b Fu(and)33 b
+Fa(n)p Fq(sanmoves)515 2758 y Fw(The)j Fr(n)p Fq(longmoves)c
+Fw(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 2858 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 Ff(algebr)l(aic)35
+b Fw(notation)28 b(|)g(can)f(b)r(e)i(quite)515 2958 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 3057 y(notation.)p
+0 TeXcolorgray 0 TeXcolorgray 543 3333 a Fu(1)32 b(e2-e4)e(c7-c5)i(2)g
+Fk(N)p Fu(g1-f3)e Fk(N)p Fu(b8-c6)p 515 3242 V 515 3376
+4 136 v 1944 3376 V 515 3378 1433 4 v 0 TeXcolorgray
+2068 3178 a Fh(1)17 b Fr(n)o Fw(newgame)2068 3278 y Fh(2)g
+Fr(n)o Fw(longmo)n(v)n(es)2068 3378 y Fh(3)2068 3477
+y(4)g Fr(n)o Fw(mainline)p Fr(f)p Fw(1.e)o(4)28 b(c5)35
+b(2.)5 b(Nf)q(3)27 b(Nc6)p Fr(g)p 0 TeXcolorgray 0 TeXcolorgray
+0 TeXcolorgray 639 3621 a Fw(The)h Fr(n)p Fq(shortmoves)23
+b Fw(command)k(returns)g(things)h(to)f(normal.)515 3846
+y Fn(6.4)112 b(Input)38 b(Language)515 3999 y Fw(The)32
+b Fs(sk)n(ak)e Fw(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
+4099 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
+4199 y(The)42 b Fr(n)p Fq(newskaklanguage)35 b Fw(command)41
+b(mak)n(es)g(it)h(p)r(ossible)f(to)h(de\014ne)g(other)f(lan-)515
+4298 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 543 4697 a Fu(1)k(e4)f(c5)h(2)f Fk(N)p
+Fu(f3)h Fk(N)p Fu(c6)p 515 4606 V 515 4724 4 120 v 1944
+4724 V 515 4726 1433 4 v 0 TeXcolorgray 2068 4435 a Fh(1)17
+b Fr(n)o Fw(newsk)-5 b(aklanguage)n Fr(f)o Fw(danish)p
+Fr(gf)o Fw(KDTLSB)p Fr(g)2068 4535 y Fh(2)2068 4635 y(3)17
+b Fr(n)o Fw(sk)-5 b(aklanguage)n([danish])2068 4734 y
+Fh(4)2068 4834 y(5)17 b Fr(n)o Fw(newgame)2068 4933 y
+Fh(6)g Fr(n)o Fw(mainline)p Fr(f)p Fw(1.e)o(4)28 b(c5)35
+b(2.)7 b(Sf)r(3)33 b(Sc6)p Fr(g)p 0 TeXcolorgray 0 TeXcolorgray
+0 TeXcolorgray 0 TeXcolorgray 1905 5255 a Fw(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 e80618eda9e..c8d1a2d15bd 100644
--- a/Master/texmf-dist/doc/latex/skak/skakdoc.tex
+++ b/Master/texmf-dist/doc/latex/skak/skakdoc.tex
@@ -95,7 +95,7 @@
\title{Typesetting Chess in \LaTeX with the \package{skak} Package\\
-Version 1.5}
+Version 1.5.2}
\author{Torben Hoffmann\\ e-mail: \texttt{torben.lehoff@gmail.com}}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\begin{document}
@@ -129,27 +129,6 @@ Project Public Licence, i.e.,
the name of the software to avoid confusion.
\end{quote}
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-\section{Acknowledgements}
-\label{sec:acknowledgements}
-
-I would like to thank the creator of the \package{lambda} package,
-Alan Jeffrey, for making a splendid package that made this package
-possible.
-
-For discussions and alpha-testing I send my thanks to \Guido --- some
-of his ideas have already been implemented; the rest? Time will show.
-
-Thanks to \Harri for finding a nasty bug in the castling routine.
-
-A big thank goes to \Dirk for adding the Informator symbols to the
-fonts and for removing a couple of nasty bugs as well as improving
-some of the commands.
-
-I thank \Ulrike for the tremendous work she has done with regards to
-improving the way fonts are handled by the skak package, not to
-mention the significant amount of bugs she has found and in many cases
-fixed.
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
diff --git a/Master/texmf-dist/doc/latex/skak/tuggame.pdf b/Master/texmf-dist/doc/latex/skak/tuggame.pdf
deleted file mode 100644
index fb9569f172d..00000000000
--- a/Master/texmf-dist/doc/latex/skak/tuggame.pdf
+++ /dev/null
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/skak/tuggame.ps b/Master/texmf-dist/doc/latex/skak/tuggame.ps
new file mode 100644
index 00000000000..1aa0c8d7026
--- /dev/null
+++ b/Master/texmf-dist/doc/latex/skak/tuggame.ps
@@ -0,0 +1,7558 @@
+%!PS-Adobe-2.0
+%%Creator: dvips(k) 5.991 Copyright 2011 Radical Eye Software
+%%Title: tuggame.dvi
+%%CreationDate: Thu Jul 18 23:26:36 2013
+%%Pages: 2
+%%PageOrder: Ascend
+%%BoundingBox: 0 0 596 842
+%%DocumentFonts: CMR17 CMTT12 CMR12 CMSS10 SkakNew-Diagram CMR10
+%%+ SkakNew-Figurine CMBX10 SkakNew-Figurine-Bold CMR5 CMSY10 CMTI10
+%%+ SFRM1000
+%%DocumentPaperSizes: a4
+%%EndComments
+%DVIPSWebPage: (www.radicaleye.com)
+%DVIPSCommandLine: dvips -o tuggame.ps tuggame.dvi
+%DVIPSParameters: dpi=600
+%DVIPSSource: TeX output 2013.07.18:2326
+%%BeginProcSet: tex.pro 0 0
+%!
+/TeXDict 300 dict def TeXDict begin/N{def}def/B{bind def}N/S{exch}N/X{S
+N}B/A{dup}B/TR{translate}N/isls false N/vsize 11 72 mul N/hsize 8.5 72
+mul N/landplus90{false}def/@rigin{isls{[0 landplus90{1 -1}{-1 1}ifelse 0
+0 0]concat}if 72 Resolution div 72 VResolution div neg scale isls{
+landplus90{VResolution 72 div vsize mul 0 exch}{Resolution -72 div hsize
+mul 0}ifelse TR}if Resolution VResolution vsize -72 div 1 add mul TR[
+matrix currentmatrix{A A round sub abs 0.00001 lt{round}if}forall round
+exch round exch]setmatrix}N/@landscape{/isls true N}B/@manualfeed{
+statusdict/manualfeed true put}B/@copies{/#copies X}B/FMat[1 0 0 -1 0 0]
+N/FBB[0 0 0 0]N/nn 0 N/IEn 0 N/ctr 0 N/df-tail{/nn 8 dict N nn begin
+/FontType 3 N/FontMatrix fntrx N/FontBBox FBB N string/base X array
+/BitMaps X/BuildChar{CharBuilder}N/Encoding IEn N end A{/foo setfont}2
+array copy cvx N load 0 nn put/ctr 0 N[}B/sf 0 N/df{/sf 1 N/fntrx FMat N
+df-tail}B/dfs{div/sf X/fntrx[sf 0 0 sf neg 0 0]N df-tail}B/E{pop nn A
+definefont setfont}B/Cw{Cd A length 5 sub get}B/Ch{Cd A length 4 sub get
+}B/Cx{128 Cd A length 3 sub get sub}B/Cy{Cd A length 2 sub get 127 sub}
+B/Cdx{Cd A length 1 sub get}B/Ci{Cd A type/stringtype ne{ctr get/ctr ctr
+1 add N}if}B/CharBuilder{save 3 1 roll S A/base get 2 index get S
+/BitMaps get S get/Cd X pop/ctr 0 N Cdx 0 Cx Cy Ch sub Cx Cw add Cy
+setcachedevice Cw Ch true[1 0 0 -1 -.1 Cx sub Cy .1 sub]{Ci}imagemask
+restore}B/D{/cc X A type/stringtype ne{]}if nn/base get cc ctr put nn
+/BitMaps get S ctr S sf 1 ne{A A length 1 sub A 2 index S get sf div put
+}if put/ctr ctr 1 add N}B/I{cc 1 add D}B/bop{userdict/bop-hook known{
+bop-hook}if/SI save N @rigin 0 0 moveto/V matrix currentmatrix A 1 get A
+mul exch 0 get A mul add .99 lt{/QV}{/RV}ifelse load def pop pop}N/eop{
+SI restore userdict/eop-hook known{eop-hook}if showpage}N/@start{
+userdict/start-hook known{start-hook}if pop/VResolution X/Resolution X
+1000 div/DVImag X/IEn 256 array N 2 string 0 1 255{IEn S A 360 add 36 4
+index cvrs cvn put}for pop 65781.76 div/vsize X 65781.76 div/hsize X}N
+/dir 0 def/dyy{/dir 0 def}B/dyt{/dir 1 def}B/dty{/dir 2 def}B/dtt{/dir 3
+def}B/p{dir 2 eq{-90 rotate show 90 rotate}{dir 3 eq{-90 rotate show 90
+rotate}{show}ifelse}ifelse}N/RMat[1 0 0 -1 0 0]N/BDot 260 string N/Rx 0
+N/Ry 0 N/V{}B/RV/v{/Ry X/Rx X V}B statusdict begin/product where{pop
+false[(Display)(NeXT)(LaserWriter 16/600)]{A length product length le{A
+length product exch 0 exch getinterval eq{pop true exit}if}{pop}ifelse}
+forall}{false}ifelse end{{gsave TR -.1 .1 TR 1 1 scale Rx Ry false RMat{
+BDot}imagemask grestore}}{{gsave TR -.1 .1 TR Rx Ry scale 1 1 false RMat
+{BDot}imagemask grestore}}ifelse B/QV{gsave newpath transform round exch
+round exch itransform moveto Rx 0 rlineto 0 Ry neg rlineto Rx neg 0
+rlineto fill grestore}B/a{moveto}B/delta 0 N/tail{A/delta X 0 rmoveto}B
+/M{S p delta add tail}B/b{S p tail}B/c{-4 M}B/d{-3 M}B/e{-2 M}B/f{-1 M}
+B/g{0 M}B/h{1 M}B/i{2 M}B/j{3 M}B/k{4 M}B/w{0 rmoveto}B/l{p -4 w}B/m{p
+-3 w}B/n{p -2 w}B/o{p -1 w}B/q{p 1 w}B/r{p 2 w}B/s{p 3 w}B/t{p 4 w}B/x{
+0 S rmoveto}B/y{3 2 roll p a}B/bos{/SS save N}B/eos{SS restore}B end
+
+%%EndProcSet
+%%BeginProcSet: pstricks.pro 0 0
+% $Id: pstricks.pro 647 2012-02-12 15:03:40Z herbert $
+%
+%% PostScript prologue for pstricks.tex.
+%% Version 1.12, 2012/02/12
+%%
+%% This program can be redistributed and/or modified under the terms
+%% of the LaTeX Project Public License Distributed from CTAN archives
+%% in directory macros/latex/base/lppl.txt.
+%
+%
+% Define the follwing gs-functions if not known, eg when using distiller
+%
+systemdict /.setopacityalpha known not {/.setopacityalpha { pop } def } if
+systemdict /.setblendmode known not {/.setblendmode { pop } def } if
+systemdict /.setshapealpha known not {/.setshapealpha { pop } def } if
+%
+/tx@Dict 200 dict def % the main PSTricks dictionary
+tx@Dict begin
+/ADict 25 dict def % The arrow dictionaray
+/CM { matrix currentmatrix } bind def
+/SLW /setlinewidth load def
+/CLW /currentlinewidth load def
+/CP /currentpoint load def
+/ED { exch def } bind def
+/L /lineto load def
+/T /translate load def
+/TMatrix { } def
+/RAngle { 0 } def
+/Sqrt { dup 0 lt { pop 0 } { sqrt } ifelse } def % return 0 for negative arguments
+/Atan { /atan load stopped { pop pop 0 } if } def % return 0 if atan not known
+/ATAN1 {neg -1 atan 180 sub } def % atan(x) (only one parameter)
+/Div { dup 0 eq { pop } { div } ifelse } def % control the division
+/tan { dup cos abs 1.e-10 lt
+ { pop 1.e10 } % return 1.e10 as infinit
+ { dup sin exch cos div } ifelse % default sin/cos
+} def
+/Tan { dup sin exch cos Div } def % sin(x)/cos(x) x in degrees
+/Acos {dup dup mul neg 1 add dup 0 lt { % arc cos, returns 0 when negative root
+ pop pop 0 }{ sqrt exch atan} ifelse } def
+/NET { neg exch neg exch T } def % change coordinate system to the negative one
+/Pyth { dup mul exch dup mul add sqrt } def % Pythagoras, expects 2 parameter
+/Pyth2 { % Pythagoras, xA yA xB yB
+ 3 -1 roll % xA xB yB yA
+ sub % xA xB yB-yA
+ 3 1 roll % yB-yA xA xB
+ sub % yB-yA xA-xB
+ Pyth } def
+/PtoC { 2 copy cos mul 3 1 roll sin mul } def % Polar to Cartesian
+/Rand { rand 4294967295 div } def % a real random number
+%----------------- hv added 20050516 ---------------
+/PiDiv2 1.57079632680 def
+/Pi 3.14159265359 def
+/TwoPi 6.28318530718 def
+/Euler 2.71828182846 def
+%/e Euler bind def
+%
+/RadtoDeg { 180 mul Pi div } bind def % convert from radian to degrees
+/DegtoRad { Pi mul 180 div } bind def % viceversa
+%----------------- hv end---------------------------
+/PathLength@ { /z z y y1 sub x x1 sub Pyth add def /y1 y def /x1 x def } def
+%
+/PathLength {
+ flattenpath /z 0 def
+ { /y1 ED /x1 ED /y2 y1 def /x2 x1 def }
+ { /y ED /x ED PathLength@ }
+ {}
+ { /y y2 def /x x2 def PathLength@ }
+ /pathforall load stopped { pop pop pop pop } if
+ z
+} def
+%
+/STP { .996264 dup scale } def % BP/PT scaling
+/STV { SDict begin normalscale end STP } def %
+%
+/DashLine {
+ dup 0 gt
+ { /a .5 def PathLength exch div }
+ { pop /a 1 def PathLength } ifelse
+ /b ED % pattern should fit evenly in b
+ dup /X ED % pattern array
+ 0 get /y ED % length of first black segment
+ /z 0 X {add} forall def % length of the full pattern
+ %% Computation of the scaling factor as described by van Zandt:
+ b a .5 sub 2 mul y mul sub z Div round
+ z mul a .5 sub 2 mul y mul add b exch Div
+ %%%% scaling factor on stack.
+ /z ED %% now, z is the scaling factor
+ false % for the length test below
+ X { z mul } forall X astore %% modification TN 04-08-07
+ %%% Checking whether at least one dash in X has positive length:
+ {0 gt or} forall
+ { X 1 a sub y mul }
+ { [ 1 0 ] 0 }
+ ifelse
+ setdash stroke
+} def
+%
+/DotLine {
+ /b PathLength def
+ /a ED /z ED /y CLW def
+ /z y z add def
+ a 0 gt {
+ /b b a div def
+ }{
+ a 0 eq {
+ /b b y sub def
+ }{ a -3 eq {
+ /b b y add def } if
+ } ifelse
+ } ifelse
+ [ 0 b b z Div round Div dup 0 le { pop 1 } if ]
+ a 0 gt { 0 }{ y 2 div a -2 gt { neg }if } ifelse
+ setdash 1 setlinecap stroke
+} def
+%
+/SymbolLine { % on stack [ x y x y ...
+ counttomark % number of elements
+ 2 div cvi /n ED % n pairs
+ /YA ED /XA ED % the start point
+ n 1 sub {
+ /YB ED /XB ED
+ /XLength XB XA sub def
+ /YLength YB YA sub def
+ /PAngle YLength XLength Atan def
+ /XYLength XLength YLength Pyth def
+
+ %% for negative SymStep we calculate the distance
+ SymStep 0 lt
+ { %XYLength SymStep div abs cvi
+ /nSym SymStep abs cvi def }
+ { /nSym XYLength SymStep div cvi def }
+ ifelse
+ 0.5 setflat
+ /Shift Symbol stringwidth pop 2 div def
+ /deltaX XLength nSym div def
+ /deltaY YLength nSym div def
+ curveticks
+ { XA YA moveto }
+ { XA Shift sub YA Shift sub moveto }
+ ifelse
+ nSym {
+ gsave
+ curveticks
+ { PAngle 180 sub CorrAngle sub tickAngle add /rotAngle ED
+ currentpoint translate rotAngle rotate
+ 0 SymbolWidth 2 div moveto 0 SymbolWidth 2 div neg lineto
+ SymbolLinewidth setlinewidth stroke
+ }
+ {
+ rotateSymbol { PAngle 180 sub CorrAngle sub rotate } if
+ Symbol show
+ }
+ ifelse
+ grestore
+ deltaX deltaY rmoveto
+ } repeat
+ /YA YB def /XA XB def
+ } repeat
+ curveticks
+ { XA YA moveto }
+ { XA Shift sub YA Shift sub moveto }
+ ifelse
+ gsave
+ curveticks
+ { PAngle 180 sub CorrAngle sub tickAngle add /rotAngle ED
+ XA YA translate rotAngle rotate
+ 0 SymbolWidth 2 div moveto 0 SymbolWidth 2 div neg lineto
+ SymbolLinewidth setlinewidth stroke
+ }
+ {
+ rotateSymbol { PAngle 180 sub CorrAngle sub rotate } if
+ Symbol show
+ }
+ ifelse
+ grestore
+ pop % delete the mark symbol
+} def
+%
+/LineFill { % hv ------------ patch 7 -------------
+ gsave
+ abs /hatchWidthInc ED
+ abs /hatchSepInc ED
+ abs CLW add /a ED
+ a 0 dtransform round exch round exch
+ 2 copy idtransform
+ exch Atan rotate
+ idtransform pop /a ED
+ .25 .25 itransform pathbbox
+ /y2 ED
+ a Div ceiling cvi /x2 ED /y1 ED
+ a Div cvi /x1 ED /y2 y2 y1 sub def
+ clip
+ newpath
+ 2 setlinecap
+ systemdict
+ /setstrokeadjust known { true setstrokeadjust } if
+ x2 x1 sub 1 add {
+ x1 a mul y1 moveto 0 y2 rlineto stroke
+ /x1 x1 1 add
+ hatchWidthInc 0 gt { CLW add } if
+ def
+ hatchSepInc 0 gt hatchWidthInc 0 gt or {
+ /a a hatchSepInc add def
+ CLW hatchWidthInc add SLW
+ } if
+ } repeat
+ grestore
+ pop pop } def
+%
+/DotFill {% on stack: dot radius
+ /dotRadius ED
+ abs CLW add /a ED
+ a 0 dtransform round exch round exch
+ 2 copy idtransform
+ exch Atan rotate
+ idtransform pop /a ED
+ .25 .25 itransform
+ pathbbox % llx lly urx ury of smallest bounding box
+ /y2 ED /x2 ED /y1 ED /x1 ED
+ y2 y1 sub a div 2 add cvi /Ny ED
+ x2 x1 sub a div 2 add cvi /Nx ED
+ clip
+ newpath
+ /yA y1 dotRadius add CLW add def
+ /xA0 x1 dotRadius add CLW add def
+ Ny {
+ /xA xA0 def
+ Nx {
+ newpath
+ xA yA dotRadius 0 360 arc
+ SolidDot { gsave fill grestore } if
+ stroke
+ xA a add /xA ED
+ } repeat
+ yA a add /yA ED
+ } repeat
+ grestore
+} def
+%
+/PenroseFill {% on stack: scaling factor
+ dup dup scale
+ 1 exch div round /penroseFactor ED
+ a 0 dtransform round exch round exch
+ 2 copy idtransform
+ exch Atan rotate
+ idtransform pop /a ED
+ .25 .25 itransform pathbbox
+ /y2 ED
+ a Div ceiling cvi /x2 ED /y1 ED
+ a Div cvi /x1 ED /y2 y2 y1 sub def
+ clip
+ newpath
+ systemdict
+ /setstrokeadjust known { true setstrokeadjust } if
+ /I/S/L/W/G/+/Z/F/E/D[/def/exch/for{E D}/add{s E get mul}
+ { Z -36.2001 1 33 }{25 E S rlineto}{/q Z dup q G E q 1 + G}{Z 2 2}]{cvx def}forall
+ [0 72 1008 {dup sin E cos }F ]1 setlinejoin/s W{/a W{/b I 10{/i I 4{/m I moveto
+ i m +/j I 10{/l Z b m l + G a l G sub s m get div .2 + floor .3 + 25
+ mul j l + S rmoveto}F i L j L stroke }F}F}F}F
+ grestore
+ pop pop
+} def
+%
+/TruchetFill { % on stack: scaling factor
+ 10 dict begin
+ dup dup scale
+ 1 exch div round /penroseFactor ED
+ a 0 dtransform round exch round exch
+ 2 copy idtransform
+ exch Atan rotate
+ idtransform pop /a ED
+ .25 .25 itransform pathbbox
+ /y2 ED
+ a Div ceiling cvi /x2 ED /y1 ED
+ a Div cvi /x1 ED /y2 y2 y1 sub def
+ clip
+ newpath
+ systemdict
+ /setstrokeadjust known { true setstrokeadjust } if
+ /ma a neg def
+ /ha a 2 div def
+ /mha ha neg def
+ /tile {
+ rand dup 2 idiv 2 mul eq { 90 rotate } if
+ mha mha moveto ha mha lineto
+ ha ha lineto mha ha lineto
+% closepath .1 setlinewidth stroke
+ contents
+ } def
+ /contents{
+ 0 ha moveto ha 0 lineto
+ 0 mha moveto mha 0 lineto
+% 1 setlinewidth stroke
+ } def
+ /dotiling {
+ f ma mul a f a mul {
+ /i exch def
+ f ma mul a f a mul {
+ /j exch def
+ gsave i j translate
+ tile stroke grestore
+ } for
+ } for
+ } def
+%
+ /f 3 def
+ 5 srand dotiling
+ end % local user dict
+} def
+%
+/BeginArrow {
+ ADict begin % hold it local, for end see EndArrow
+ /@mtrx CM def
+ gsave
+ 2 copy T
+ 2 index sub neg exch
+ 3 index sub exch Atan
+ rotate newpath
+} def
+%
+/EndArrow { @mtrx setmatrix CP grestore end } def % end the ADict
+%
+/Arrow {
+ CLW mul add dup
+ 2 div /w ED
+ mul dup /h ED
+ mul /a ED
+ { 0 h T 1 -1 scale } if
+ w neg h moveto
+ 0 0 L w h L w neg a neg rlineto
+ gsave fill grestore
+} def
+%
+/ArrowD { % the sides are drawn as curves (hv 20071211)
+ CLW mul add dup
+ 2 div /w ED
+ mul dup /h ED
+ mul /Inset ED
+ { 0 h T 1 -1 scale } if % changes the direction
+% we use y=w/h^2 * x^2 as equation for the control points
+% for the coordinates the arrow is seen from top to bottom
+% the bottom (tip) is (0;0)
+ w neg h moveto % lower left of >
+ w 9 div 4 mul neg h 3 div 2 mul
+ w 9 div neg h 3 div
+ 0 0 curveto % tip of >
+ w 9 div h 3 div
+ w 9 div 4 mul h 3 div 2 mul
+ w h curveto % upper left of >
+ w neg Inset neg rlineto % move to x=0 and inset
+ gsave fill grestore
+} def
+%
+/Tbar {
+ CLW mul add /z ED
+ z -2 div CLW 2 div moveto
+ z 0 rlineto stroke
+ 0 CLW moveto
+} def
+%
+/Bracket {
+ CLW mul add dup CLW sub 2 div
+ /x ED mul CLW add /y ED /z CLW 2 div def
+ x neg y moveto
+ x neg CLW 2 div L x CLW 2 div L x y L stroke
+ 0 CLW moveto
+} def
+%
+/RoundBracket {
+ CLW mul add dup 2 div
+ /x ED mul /y ED /mtrx CM def
+ 0 CLW 2 div T x y mul 0 ne { x y scale } if
+ 1 1 moveto
+ .85 .5 .35 0 0 0 curveto
+ -.35 0 -.85 .5 -1 1 curveto
+ mtrx setmatrix stroke 0 CLW moveto
+} def
+%
+/SD { 0 360 arc fill } def
+%
+/EndDot { % DS is the dot size
+ { /z DS def } { /z 0 def } ifelse % outer or inner dimen
+ /b ED % the color definition
+ 0 z DS SD
+ b { 0 z DS CLW sub SD } if
+ 0 DS z add CLW 4 div sub
+ moveto
+} def
+%
+/Shadow { [ { /moveto load } { /lineto load } { /curveto load } {
+ /closepath load } /pathforall load stopped { pop pop pop pop CP /moveto
+ load } if ] cvx newpath 3 1 roll T exec } def
+%
+/NArray { % holds the coordinates and on top of stack the showpoints boolean
+ /showpoints ED
+ counttomark 2 div dup cvi /n ED % n 2 div on stack
+ n eq not { exch pop } if % even numbers of points? delete one
+ ] aload /Points ED
+ showpoints not { Points aload pop } if
+% { ] aload /Points ED }
+% { n 2 mul 1 add -1 roll pop } ifelse % delete the mark symbol
+} def
+%
+/Line {
+ NArray n 0 eq not
+ { n 1 eq { 0 0 /n 2 def } if ArrowA /n n 2 sub def
+ n { Lineto } repeat
+ CP 4 2 roll ArrowB L pop pop
+ } if
+} def
+%
+/LineToYAxis {
+ /Ox ED % Save the x origin value
+ NArray % all x-y pairs on stack
+ n { 2 copy moveto % go to current point
+ Ox exch Lineto % line to y-axis
+ pop % delete old x-value
+ } repeat
+} def
+%
+/LineToXAxis{
+ /Oy ED % Save the y origin value
+ NArray % all x-y pairs on stack
+ n 0 eq not
+ { n 1 eq { 0 0 /n 2 def } if
+ ArrowA
+ /n n 2 sub def
+ CP 2 copy moveto pop Oy Lineto
+ n { 2 copy moveto pop Oy Lineto } repeat
+ CP
+ 4 2 roll
+ ArrowB
+ 2 copy moveto pop Oy
+ L
+ pop pop } if
+} def
+%
+/Arcto {
+ /a [ 6 -2 roll ] cvx def
+ a r
+ /arcto load stopped { 5 } { 4 } ifelse { pop } repeat
+ a
+} def
+%
+/CheckClosed {
+ dup n 2 mul 1 sub index eq 2 index n 2 mul 1 add index eq
+ and { pop pop /n n 1 sub def } if
+} def
+%
+/Polygon {
+ NArray n 2 eq { 0 0 /n 3 def } if
+ n 3 lt
+ { n { pop pop } repeat }
+ { n 3 gt { CheckClosed } if
+ n 2 mul -2 roll
+ /y0 ED /x0 ED /y1 ED /x1 ED
+ x1 y1
+ /x1 x0 x1 add 2 div def
+ /y1 y0 y1 add 2 div def
+ x1 y1 moveto
+ /n n 2 sub def
+ n { Lineto } repeat
+ x1 y1 x0 y0 6 4 roll Lineto
+ Lineto pop pop closepath } ifelse
+} def
+%
+/SymbolPolygon { % on stack [ x y x y ...
+ counttomark % number of elements
+ 2 add /m ED
+ 2 copy m 2 roll % copy last two
+ m 2 div cvi /n ED % n pairs
+ /YA ED /XA ED % the start point
+ n 1 sub {
+ /YB ED /XB ED
+ /XLength XB XA sub def
+ /YLength YB YA sub def
+ /PAngle YLength XLength Atan def
+ /XYLength XLength YLength Pyth def
+ /nSym XYLength SymStep Div cvi def
+ /Shift Symbol stringwidth pop 2 Div def
+ /deltaX XLength nSym Div def
+ /deltaY YLength nSym Div def
+ XA Shift sub YA Shift sub moveto
+ nSym {
+ gsave rotateSymbol { PAngle 180 sub CorrAngle sub rotate } if
+ Symbol show
+ grestore
+ deltaX deltaY rmoveto
+ } repeat
+% XB Shift sub YB Shift sub moveto Symbol show
+ /YA YB def /XA XB def
+ } repeat
+ pop % delete the mark symbol
+} def
+%
+/Diamond {
+ /mtrx CM def
+ T rotate
+ /h ED
+ /w ED
+ dup 0 eq { pop } { CLW mul neg
+ /d ED
+ /a w h Atan def
+ /h d a sin Div h add def
+ /w d a cos Div w add def } ifelse
+ mark w 2 div h 2 div w 0 0 h neg w neg 0 0 h w 2 div h 2 div
+ /ArrowA { moveto } def
+ /ArrowB { } def
+ false Line
+ closepath mtrx setmatrix } def
+%
+/Triangle {
+ /mtrx CM def
+ translate
+ rotate /h ED 2 div /w ED
+ dup CLW mul /d ED
+ /h h d w h Atan sin Div sub def
+ /w w d h w Atan 2 div dup cos exch sin Div mul sub def
+ mark
+ 0 d w neg d 0 h w d 0 d
+ /ArrowA { moveto } def
+ /ArrowB { } def
+ false
+ Line
+ closepath
+ mtrx
+% DG/SR modification begin - Jun. 1, 1998 - Patch 3 (from Michael Vulis)
+% setmatrix } def
+ setmatrix pop
+} def
+% DG/SR modification end
+%
+/CCA {
+ /y ED /x ED
+ 2 copy y sub /dy1 ED
+ x sub /dx1 ED
+ /l1 dx1 dy1 Pyth def
+} def
+%
+/CC {
+ /l0 l1 def
+ /x1 x dx sub def
+ /y1 y dy sub def
+ /dx0 dx1 def
+ /dy0 dy1 def
+ CCA
+ /dx dx0 l1 c exp mul dx1 l0 c exp mul add def
+ /dy dy0 l1 c exp mul dy1 l0 c exp mul add def
+ /m dx0 dy0 Atan dx1 dy1 Atan sub 2 div cos abs b exp a mul dx dy Pyth Div 2 div def
+ /x2 x l0 dx mul m mul sub def
+ /y2 y l0 dy mul m mul sub def
+ /dx l1 dx mul m mul neg def
+ /dy l1 dy mul m mul neg def
+} def
+%
+/IC {
+ /c c 1 add def
+ c 0 lt { /c 0 def } { c 3 gt { /c 3 def } if } ifelse
+ /a a 2 mul 3 div 45 cos b exp div def
+ CCA
+ /dx 0 def
+ /dy 0 def
+} def
+%
+/BOC { IC CC x2 y2 x1 y1 ArrowA CP 4 2 roll x y curveto } def
+/NC { CC x1 y1 x2 y2 x y curveto } def
+/EOC { x dx sub y dy sub 4 2 roll ArrowB 2 copy curveto } def
+/BAC { IC CC x y moveto CC x1 y1 CP ArrowA } def
+/NAC { x2 y2 x y curveto CC x1 y1 } def
+/EAC { x2 y2 x y ArrowB curveto pop pop } def
+%
+/OpenCurve {
+ NArray n 3 lt
+ { n { pop pop } repeat }
+ { BOC /n n 3 sub def n { NC } repeat EOC } ifelse
+} def
+%
+/CurvePath {
+ %% for negative SymStep we calculate the distance
+ SymStep 0 lt { gsave PathLength SymStep div abs /SymStep ED grestore } if
+ 0.5 setflat
+ flattenpath /z 0 def /z0 0 def
+ { /y1 ED /x1 ED /y2 y1 def /x2 x1 def
+ x1 Shift sub y1 Shift sub moveto
+ gsave
+ curveticks
+ { x1 y1 translate startAngle rotate
+ 0 SymbolWidth 2 div moveto 0 SymbolWidth 2 div neg lineto
+ SymbolLinewidth setlinewidth stroke
+ }
+ { startAngle rotate Symbol show }
+ ifelse
+ grestore /z0 z def }
+ { /y ED /x ED PathLength@ z z0 sub SymStep ge {
+ x Shift sub y Shift sub moveto
+ gsave
+ curveticks
+ { y yOld sub x xOld sub Atan 180 sub CorrAngle sub /rotAngle ED
+ x y translate rotAngle rotate
+ 0 SymbolWidth 2 div moveto 0 SymbolWidth 2 div neg lineto
+ SymbolLinewidth setlinewidth stroke
+ }
+ {
+ rotateSymbol { y yOld sub x xOld sub Atan 180 sub CorrAngle sub rotate } if
+ Symbol show
+ }
+ ifelse
+ grestore /z0 z def } if
+ /yOld y def /xOld x def }
+ {} %% the lineto part
+ { /y y2 def /x x2 def PathLength@
+ x Shift sub y Shift sub moveto
+ gsave
+ curveticks
+ { y yOld sub x xOld sub Atan 180 sub /rotAngle ED
+ x y translate rotAngle rotate
+ 0 SymbolWidth 2 div moveto 0 SymbolWidth 2 div neg lineto
+ SymbolLinewidth setlinewidth stroke
+ }
+ {
+ x Shift sub y Shift sub moveto
+ rotateSymbol { y yOld sub x xOld sub Atan 180 sub CorrAngle sub rotate } if
+ Symbol show
+ }
+ ifelse
+ grestore
+ }
+ pathforall
+% curveticks
+% { gsave
+% x y translate rotAngle rotate
+% 0 SymbolWidth 2 div moveto 0 SymbolWidth 2 div neg lineto
+% SymbolLinewidth setlinewidth stroke grestore
+% } if
+ z
+} def
+%
+/OpenSymbolCurve {
+ OpenCurve
+ 0.1 setflat
+ /Shift Symbol stringwidth pop 2 div def
+ CurvePath
+} def
+%
+/AltCurve {
+ { false NArray n 2 mul 2 roll
+ [ n 2 mul 3 sub 1 roll ] aload
+ /Points ED
+ n 2 mul -2 roll }
+ { false NArray } ifelse
+ n 4 lt { n { pop pop } repeat } { BAC /n n 4 sub def n { NAC } repeat EAC } ifelse
+} def
+%
+/AltOpenSymbolCurve {
+ AltCurve
+ 0.1 setflat
+ /Shift Symbol stringwidth pop 2 div def
+ CurvePath
+} def
+%
+/ClosedCurve {
+ NArray n 3 lt
+ { n { pop pop } repeat }
+ { n 3 gt { CheckClosed } if
+ 6 copy n 2 mul 6 add 6 roll
+ IC CC x y moveto n { NC } repeat
+ closepath pop pop
+ } ifelse
+} def
+%
+/ClosedSymbolCurve {
+ ClosedCurve
+ 0.1 setflat
+ /Shift Symbol stringwidth pop 2 div def
+ CurvePath
+} def
+%
+/SQ { /r ED r r moveto r r neg L r neg r neg L r neg r L fill } def
+/ST { /y ED /x ED x y moveto x neg y L 0 x L fill } def
+/SP { /r ED gsave 0 r moveto 4 { 72 rotate 0 r L } repeat fill grestore } def
+%
+/FontDot {
+ DS 2 mul dup
+ matrix scale matrix concatmatrix exch matrix
+ rotate matrix concatmatrix exch
+ findfont exch makefont setfont
+} def
+%
+/Rect {
+ x1 y1 y2 add 2 div moveto
+ x1 y2 lineto
+ x2 y2 lineto
+ x2 y1 lineto
+ x1 y1 lineto
+ closepath
+} def
+%
+/OvalFrame {
+ x1 x2 eq y1 y2 eq or
+ { pop pop x1 y1 moveto x2 y2 L }
+ { y1 y2 sub abs x1 x2 sub abs 2 copy gt
+ { exch pop } { pop } ifelse
+ 2 div exch { dup 3 1 roll mul exch } if
+ 2 copy lt { pop } { exch pop } ifelse
+ /b ED
+ x1 y1 y2 add 2 div moveto
+ x1 y2 x2 y2 b arcto
+ x2 y2 x2 y1 b arcto
+ x2 y1 x1 y1 b arcto
+ x1 y1 x1 y2 b arcto
+ 16 { pop } repeat
+ closepath
+ } ifelse
+} def
+%
+/Frame {
+ CLW mul /a ED
+ 3 -1 roll
+ 2 copy gt { exch } if
+ a sub /y2 ED
+ a add /y1 ED
+ 2 copy gt { exch } if
+ a sub /x2 ED
+ a add /x1 ED
+ 1 index 0 eq { pop pop Rect } { OvalFrame } ifelse
+} def
+%
+/BezierNArray {
+ /f ED
+ counttomark 2 div dup cvi /n ED
+ n eq not { exch pop } if
+ n 1 sub neg 3 mod 3 add 3 mod { 0 0 /n n 1 add def } repeat
+ f { ] aload /Points ED } { n 2 mul 1 add -1 roll pop } ifelse
+} def
+%
+/OpenBezier {
+ BezierNArray
+ n 1 eq
+ { pop pop }
+ { ArrowA n 4 sub 3 idiv
+ { 6 2 roll 4 2 roll curveto } repeat
+ 6 2 roll 4 2 roll ArrowB curveto } ifelse
+} def
+%
+/OpenSymbolBezier {
+ OpenBezier
+ 0.1 setflat
+ /Shift Symbol stringwidth pop 2 div def
+ CurvePath
+} def
+%
+/ClosedBezier {
+ BezierNArray
+ n 1 eq
+ { pop pop }
+ { moveto n 1 sub 3 idiv
+ { 6 2 roll 4 2 roll curveto } repeat
+ closepath } ifelse
+} def
+%
+/ClosedSymbolBezier {
+ /f ED % save showpoints value
+ 2 copy /yEnd ED /xEnd ED
+ counttomark -2 roll 2 copy /yStart ED /xStart ED
+ counttomark 2 roll
+ f
+ ClosedBezier
+ 0.1 setflat
+ /Shift Symbol stringwidth pop 2 div def
+ CurvePath
+ [ xEnd yEnd xStart yStart SymbolLine
+} def
+%
+/BezierShowPoints {
+ gsave
+ Points aload length 2 div cvi /n ED
+ moveto
+ n 1 sub { lineto } repeat
+ CLW 2 div SLW [ 4 4 ] 0 setdash stroke
+ grestore
+} def
+%
+/Parab {
+ /y0 ED /x0 ED /y1 ED /x1 ED
+ /dx x0 x1 sub 3 div def
+ /dy y0 y1 sub 3 div def
+ x0 dx sub y0 dy add x1 y1 ArrowA
+ x0 dx add y0 dy add x0 2 mul x1 sub y1 ArrowB
+ curveto
+ /Points [ x1 y1 x0 y0 x0 2 mul x1 sub y1 ] def
+} def
+%
+/Parab1 { % 1 end | 0 SP
+ /ySP ED /xSP ED /y1 ED /x1 ED
+ /dx xSP x1 sub 3 div def
+ /dy ySP y1 sub 3 div def
+ newpath x1 y1 moveto xSP y1 lineto xSP ySP lineto
+ x1 ySP lineto closepath clip
+ currentpoint
+ newpath moveto
+ xSP dx sub ySP dy add x1 y1 ArrowA
+ xSP dx add ySP dy add xSP 2 mul x1 sub y1 ArrowB
+ curveto
+ /Points [ x1 y1 xSP ySP xSP 2 mul x1 sub y1 ] def
+} def
+%
+/Grid {
+ newpath
+ /a 4 string def
+ /b ED % psk@gridlabels in pt
+ /c ED % { \pst@usecolor\psgridlabelcolor }
+ /n ED % psk@griddots
+ cvi dup 1 lt { pop 1 } if
+ /s ED % \psk@subgriddiv
+ s div dup 0 eq { pop 1 } if
+ /dy ED s div dup 0 eq { pop 1 } if % \pst@number\psyunit abs
+ /dx ED dy div round dy mul % \pst@number\psxunit abs
+ /y0 ED dx div round dx mul
+ /x0 ED dy div round cvi
+ /y2 ED dx div round cvi
+ /x2 ED dy div round cvi
+ /y1 ED dx div round cvi
+ /x1 ED
+ /h y2 y1 sub 0 gt { 1 } { -1 } ifelse def
+ /w x2 x1 sub 0 gt { 1 } { -1 } ifelse def
+ b 0 gt {
+ /z1 b 4 div CLW 2 div add def
+% /Helvetica findfont b scalefont setfont
+ /b b .95 mul CLW 2 div add def } if
+ systemdict /setstrokeadjust known
+ { true setstrokeadjust /t { } def }
+ { /t { transform 0.25 sub round 0.25 add exch 0.25 sub round 0.25 add
+ exch itransform } bind def } ifelse
+ gsave n 0 gt { 1 setlinecap [ 0 dy n div ] dy n div 2 div setdash } { 2 setlinecap } ifelse
+ /i x1 def
+ /f y1 dy mul n 0 gt { dy n div 2 div h mul sub } if def
+ /g y2 dy mul n 0 gt { dy n div 2 div h mul add } if def
+ x2 x1 sub w mul 1 add dup 1000 gt { pop 1000 } if
+ { i dx mul dup y0 moveto
+ b 0 gt
+ { gsave c i a cvs dup stringwidth pop
+ /z2 ED w 0 gt {z1} {z1 z2 add neg} ifelse
+ h 0 gt {b neg}{z1} ifelse
+ rmoveto show grestore } if
+ dup t f moveto
+ g t L stroke
+ /i i w add def
+ } repeat
+ grestore
+ gsave
+ n 0 gt
+ % DG/SR modification begin - Nov. 7, 1997 - Patch 1
+ %{ 1 setlinecap [ 0 dx n div ] dy n div 2 div setdash }
+ { 1 setlinecap [ 0 dx n div ] dx n div 2 div setdash }
+ % DG/SR modification end
+ { 2 setlinecap } ifelse
+ /i y1 def
+ /f x1 dx mul n 0 gt { dx n div 2 div w mul sub } if def
+ /g x2 dx mul n 0 gt { dx n div 2 div w mul add } if def
+ y2 y1 sub h mul 1 add dup 1000 gt { pop 1000 } if
+ { newpath i dy mul dup x0 exch moveto
+ b 0 gt { gsave c i a cvs dup stringwidth pop
+ /z2 ED
+ w 0 gt {z1 z2 add neg} {z1} ifelse
+ h 0 gt {z1} {b neg} ifelse
+ rmoveto show grestore } if
+ dup f exch t moveto
+ g exch t L stroke
+ /i i h add def
+ } repeat
+ grestore
+} def
+%
+/ArcArrow {
+ /d ED /b ED /a ED
+ gsave
+ newpath 0 -1000 moveto clip
+ newpath
+ 0 1 0 0 b
+ grestore
+ c mul
+ /e ED
+ pop pop pop r a e d PtoC y add exch x add
+ exch r a PtoC y add exch x add exch b pop pop pop pop a e d CLW 8 div c
+ mul neg d
+} def
+%
+/Ellipse {
+ /rotAngle ED
+ /mtrx CM def
+ T
+ rotAngle rotate
+ scale 0 0 1 5 3 roll arc
+ mtrx setmatrix
+} def
+%
+/ArcAdjust { %%%% Vincent Guirardel
+% given a target length (targetLength) and an initial angle (angle0) [in the stack],
+% let M(angle0)=(rx*cos(angle0),ry*sin(angle0))=(x0,y0).
+% This computes an angle t such that (x0,y0) is at distance
+% targetLength from the point M(t)=(rx*cos(t),ry*sin(t)).
+% NOTE: this an absolute angle, it does not have to be added or substracted to angle0
+% contrary to TvZ's code.
+% To achieve, this, one iterates the following process: start with some angle t,
+% compute the point M' at distance targetLength of (x0,y0) on the semi-line [(x0,y0) M(t)].
+% Now take t' (= new angle) so that (0,0) M(t') and M' are aligned.
+%
+% Another difference with TvZ's code is that we need d (=add/sub) to be defined.
+% the value of d = add/sub is used to know on which side we have to move.
+% It is only used in the initialisation of the angle before the iteration.
+%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+% Input stack: 1: target length 2: initial angle
+% variables used : rx, ry, d (=add/sub)
+%
+ /targetLength ED /angle0 ED
+ /x0 rx angle0 cos mul def
+ /y0 ry angle0 sin mul def
+% we are looking for an angle t such that (x0,y0) is at distance targetLength
+% from the point M(t)=(rx*cos(t),ry*sin(t)))
+%initialisation of angle (using 1st order approx = TvZ's code)
+ targetLength 57.2958 mul
+ angle0 sin rx mul dup mul
+ angle0 cos ry mul dup mul
+ add sqrt div
+% if initialisation angle is two large (more than 90 degrees) set it to 90 degrees
+% (if the ellipse is very curved at the point where we draw the arrow, %
+% the value can be much more than 360 degrees !)
+% this should avoid going on the wrong side (more than 180 degrees) or go near
+% a bad attractive point (at 180 degrees)
+ dup 90 ge { pop 90 } if
+ angle0 exch d % add or sub
+% maximum number of times to iterate the iterative procedure:
+% iterative procedure: takes an angle t on top of stack, computes a
+% better angle (and put it on top of stack)
+ 30 { dup
+% compute distance D between (x0,y0) and M(t)
+ dup cos rx mul x0 sub dup mul exch sin ry mul y0 sub dup mul add sqrt
+% if D almost equals targetLength, we stop
+ dup targetLength sub abs 1e-5 le { pop exit } if
+% stack now contains D t
+% compute the point M(t') at distance targetLength of (x0,y0) on the semi-line [(x0,y0) M(t)]:
+% M(t')= ( (x(t)-x0)*targetLength/d+x0 , (y(t)-y0)*targetLength/d+y0 )
+ exch dup cos rx mul x0 sub exch sin ry mul y0 sub
+% stack contains: y(t)-y0, x(t)-x0, d
+ 2 index Div targetLength mul y0 add ry Div exch
+ 2 index Div targetLength mul x0 add rx Div
+% stack contains x(t')/rx , y(t')/ry , d
+% now compute t', and remove D from stack
+ atan exch pop
+ } repeat
+% we don't look at what happened... in particular, if targetLength is greater
+% than the diameter of the ellipse...
+% the final angle will be around /angle0 + 180. maybe we should treat this pathological case...
+% after iteration, stack contains an angle t such that M(t) is the tail of the arrow
+% to give back the result as a an angle relative to angle0 we could add the following line:
+% angle0 sub 0 exch d
+%
+% begin bug fix 2006-01-11
+% we want to adjust the new angle t' by a multiple of 360 so that | t'-angle0 | <= 180
+%(we don't want to make the ellipse turn more or less than it should)...
+dup angle0 sub dup abs 180 gt { 180 add 360 div floor 360 mul sub } { pop } ifelse
+% end bug fix
+} def
+%
+/EllipticArcArrow {
+ /d ED % is add or sub
+ /b ED % arrow procedure
+ /a1 ED % angle
+ gsave
+ newpath
+ 0 -1000 moveto
+ clip % Set clippath far from arrow.
+ newpath
+ 0 1 0 0 b % Draw arrow to determine length.
+ grestore
+% Length of arrow is on top of stack. Next 3 numbers are junk.
+%
+ a1 exch ArcAdjust % Angular position of base of arrow.
+ /a2 ED
+ pop pop pop
+ a2 cos rx mul xOrig add % hv 2007-08-29 x->xOrig
+ a2 sin ry mul yOrig add % hv 2007-08-29 y->yOrig
+ a1 cos rx mul xOrig add %
+ a1 sin ry mul yOrig add %
+% Now arrow tip coor and base coor are on stack.
+ b pop pop pop pop % Draw arrow, and discard coordinates.
+ a2 CLW 8 div
+% change value of d (test it by looking if `` 1 1 d '' gives 2 or not )
+ 1 1 d 2 eq { /d { sub } def } { /d { add } def } ifelse
+ ArcAdjust
+% resets original value of d
+ 1 1 d 2 eq { /d { sub } def } { /d { add } def } ifelse % Adjust angle to give overlap.
+} def
+%%------------------ tvz/DG/hv (2004-05-10) end -------------------%%
+%
+/Rot { CP CP translate 3 -1 roll neg rotate NET } def
+%
+/RotBegin {
+ tx@Dict /TMatrix known not { /TMatrix { } def /RAngle { 0 } def } if
+ /TMatrix [ TMatrix CM ] cvx def
+ /a ED
+ a Rot /RAngle [ RAngle dup a add ] cvx def
+} def
+%
+/RotEnd {
+ /TMatrix [ TMatrix setmatrix ] cvx def
+ /RAngle [ RAngle pop ] cvx def
+} def
+%
+/PutCoor { gsave CP T CM STV exch exec moveto setmatrix CP grestore } def
+/PutBegin { /TMatrix [ TMatrix CM ] cvx def CP 4 2 roll T moveto } def
+/PutEnd { CP /TMatrix [ TMatrix setmatrix ] cvx def moveto } def
+%
+/Uput {
+ /a ED
+ add 2 div /h ED 2
+ div /w ED
+ /s a sin def
+ /c a cos def
+ /b s abs c abs 2 copy gt dup
+ /q ED
+ { pop } { exch pop } ifelse def
+ /w1 c b div w mul def
+ /h1 s b div h mul def
+ q { w1 abs w sub dup c mul abs }{ h1 abs h sub dup s mul abs } ifelse
+} def
+%
+/UUput {
+ /z ED
+ abs /y ED
+ /x ED
+ q { x s div c mul abs y gt }{ x c div s mul abs y gt } ifelse
+ { x x mul y y mul sub z z mul add sqrt z add }
+ { q { x s div } { x c div } ifelse abs
+ } ifelse
+ a PtoC
+ h1 add exch
+ w1 add exch
+} def
+%
+/BeginOL {
+ dup (all) eq exch TheOL eq or
+ { IfVisible not { Visible /IfVisible true def } if }
+ { IfVisible { Invisible /IfVisible false def } if } ifelse
+} def
+%
+/InitOL {
+ /OLUnit [ 3000 3000 matrix defaultmatrix dtransform ] cvx def
+ /Visible { CP OLUnit idtransform T moveto } def
+ /Invisible { CP OLUnit neg exch neg exch idtransform T moveto } def
+ /BOL { BeginOL } def
+ /IfVisible true def
+} def
+%
+%%%%%%%%%%%%%%%%% tools %%%%%%%%%%%%%%%%%%%%%%%%%
+%%%%% ### bubblesort ###
+%% syntax : array bubblesort --> array2 trie par ordre croissant
+%% code de Bill Casselman
+%% http://www.math.ubc.ca/people/faculty/cass/graphics/text/www/
+/bubblesort {
+4 dict begin
+ /a exch def
+ /n a length 1 sub def
+ n 0 gt {
+ % at this point only the n+1 items in the bottom of a remain to
+ % the sorted largest item in that blocks is to be moved up into
+ % position n
+ n {
+ 0 1 n 1 sub {
+ /i exch def
+ a i get a i 1 add get gt {
+ % if a[i] > a[i+1] swap a[i] and a[i+1]
+ a i 1 add
+ a i get
+ a i a i 1 add get
+ % set new a[i] = old a[i+1]
+ put
+ % set new a[i+1] = old a[i]
+ put
+ } if
+ } for
+ /n n 1 sub def
+ } repeat
+ } if
+ a
+end
+} def
+%
+%
+/concatstringarray{ % [(a) (b) ... (z)] --> (ab...z) 20100422
+ 0 1 index { length add } forall
+ string
+ 0 3 2 roll
+ { 3 copy putinterval length add }forall
+ pop
+} bind def
+%
+/dot2comma {% on stack a string (...)
+ 2 dict begin
+ /Output exch def
+ 0 1 Output length 1 sub {
+ /Index exch def
+ Output Index get 46 eq { Output Index 44 put } if
+ } for
+ Output
+ end
+} def
+%
+end
+%-----------------------------------------------------------------------------%
+%
+% END pstricks.pro
+
+%%EndProcSet
+%%BeginProcSet: pst-algparser.pro 0 0
+% $Id: pst-algparser.pro 594 2011-10-31 18:13:18Z herbert $
+%%
+%% PostScript prologue for PSTricks algorithm parser
+%% Version 0.04, 2011/10/21
+%%
+%% This program can be redistributed and/or modified under the terms
+%% of the LaTeX Project Public License Distributed from CTAN archives
+%% in directory macros/latex/base/lppl.txt.
+%%
+%%-----------------------------------------------------------------------------%
+%
+/AlgParser { tx@AlgToPs begin AlgToPs end } def % Dominique Rodriguez
+%
+/tx@CoreAnalyzerDict 100 dict def tx@CoreAnalyzerDict begin
+%
+% PS ANALYZER FOR ALGEBRAIC EXPRESSION V1.13
+%
+% 09/2011 DR factorial with ! added
+%
+% E->T|E+T
+% T->FS|T*FS
+% FS -> F | +FS | -FS
+% F->P|F^SF|P!
+% P->(E)|literal
+% literal->number|var|var[E]|func(params)
+% params->E|E,param
+% number->TOBEFINISHED
+%
+%% E expression, T term, SF signed factor, F factor, P power
+%
+%% parser
+%
+%% str
+%
+%% C->E<condition_operators>E
+%% STR index -> STR index+lenExpr
+/AnalyzeCond { AnalyzeExpr ReadCondOp AnalyzeExpr EvalCondOp } def
+%
+%% analyze Expression List (separator , or | )
+%% STR index -> STR index+lenExpr
+%% /AnalyzeListOfE {
+%% { NextNonBlankChar pop AnalyzeExpr%%dup Strlen eq { exit } if NextNonBlankChar
+%% NextNonBlankChar dup 0 eq { pop exit } if
+%% dup 44 ne 1 index 124 ne and { dup 41 ne { PROBLEMCONTACTBILLOU } { pop exit } ifelse } if
+%% pop NextNonBlankChar dup 0 eq { exit } if 124 ne { PROBLEMCONTACTBILLOU } if 1 add NextNonBlankChar 0 eq {toto} if } loop
+%% AnalyzeListOfEPostHook
+%% } def
+/AnalyzeListOfE {
+ /NotFirst false def
+ { NextNonBlankChar pop AnalyzeExpr
+ NotFirst { EvalListOfExpr } { /NotFirst true def } ifelse
+ dup Strlen eq { exit } if NextNonBlankChar
+ dup 44 ne 1 index 124 ne and
+ { dup 41 ne { PROBLEMCONTACTBILLOU } { pop exit } ifelse }
+ if pop 1 add } loop
+ AnalyzeListOfEPostHook
+} def
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%% E->T|E+T
+%% STR index -> STR index+lenExpr
+/AnalyzeExpr {
+ AnalyzePreHook AnalyzeTerm IsEndingExpr
+ { dup 0 ne { 32 eq { NextNonBlankChar } if } { pop } ifelse }
+ { { RollOp 1 add NextNonBlankChar pop AnalyzeTerm PreEvalHook EvalAddSub IsEndingExpr { pop exit } if } loop }
+ ifelse
+ AnalyzePostHook
+} def
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%% T->FS|T*FS
+%% STR index
+/AnalyzeTerm {
+ AnalyzePreHook AnalyzeSignedFactor IsEndingTerm
+ { dup 0 ne { 32 eq { NextNonBlankChar } if } { pop } ifelse }
+ { { RollOp 1 add NextNonBlankChar pop AnalyzeSignedFactor PreEvalHook EvalMulDiv IsEndingTerm { pop exit } if} loop }
+ ifelse
+ AnalyzePostHook
+} def
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%% FS -> F | +FS | -FS
+%% STR index
+/AnalyzeSignedFactor {
+ AnalyzePreHook 2 copy get dup IsUnaryOp
+ { RollOp 1 add NextNonBlankChar pop AnalyzeSignedFactor EvalUnaryOp }
+ { pop AnalyzeFactor }
+ ifelse AnalyzePostHook
+} def
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%% F->P|F^P|P!
+%% STR index
+/AnalyzeFactor {
+ AnalyzePreHook AnalyzePower IsEndingFactor
+ { dup 0 ne { 32 eq { NextNonBlankChar } if } { pop } ifelse }
+ { { dup 33 eq%% is there a ! DR 09/2011
+ { pop 1 add NextNonBlankChar pop EvalFactorial }
+ { RollOp 1 add NextNonBlankChar pop AnalyzePower PreEvalHook EvalPower }
+ ifelse
+ IsEndingFactor { pop exit } if } loop }
+ ifelse AnalyzePostHook
+} def
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%% P->(E)|literal
+%% STR index
+/AnalyzePower {
+ %% depending of first char either a number, or a literal
+ 2 copy get dup 40 eq%%an open par
+ { pop 1 add NextNonBlankChar pop AnalyzeExpr 1 add NextNonBlankChar pop }
+ { AnalyzeLiteral }
+ ifelse
+} def
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%% STR index STR[index] -> STR index
+%/AnalyzeLiteral { IsNumber { EvalNumber } { EvalLiteral } ifelse } def
+/AnalyzeLiteral { dup IsUnaryOp exch IsNumber or { EvalNumber } { EvalLiteral } ifelse } def%%dr 09102006
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%% recognize + or -
+%% chr -> T/F
+/IsUnaryOp { dup 43 eq exch 45 eq or } bind def
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%% a number can contain only : 0123456789.
+%% chr -> T/F
+/IsNumber { dup 48 ge exch dup 57 le 3 -1 roll and exch 46 eq or } bind def
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%% STR index -> STR index number
+%% a number can be of the form [0-9]*.[0-9]*\([eE][+-]?[0-9]+\)?
+%% STR index -> STR index' number
+/ReadNumber {
+ exch dup 3 -1 roll dup 3 1 roll
+ %%read mantissa
+ { 1 add 2 copy dup Strlen eq { pop pop 0 exit } if get dup IsNumber not { exit } if pop } loop
+ dup 101 eq exch 69 eq or
+ %%% there is a "e" or "E" -> read exponant
+ { 1 add 2 copy get dup IsUnaryOp
+ { pop 1 add 2 copy get } if
+ { IsNumber not { exit } if 1 add 2 copy get } loop }
+ if
+ dup 4 1 roll
+ 3 -1 roll exch 1 index sub getinterval
+} def
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%% a number can contain only : 0123456789.
+%% chr -> T/F
+/IsCondOp { dup 30 eq exch dup 60 ge exch 62 le and or } bind def
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%% STR index -> STR index number
+%% a number can be of the form [0-9]*.[0-9]*\([eE][+-]?[0-9]+\)?
+%% STR index -> STR index' number
+/ReadCondOp {
+ NextNonBlankChar 1 index 4 1 roll
+ { IsCondOp not { exit } if 1 add 2 copy get } loop
+ 2 copy 5 -1 roll
+ exch 1 index sub getinterval 3 1 roll
+} def
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%% a literal can contain only : 0123456789.
+%% chr -> T/F
+/IsLiteral {%
+ dup 48 ge exch dup 57 le 3 -1 roll and exch
+ dup 65 ge exch dup 90 le 3 -1 roll and 3 -1 roll or exch
+ dup 97 ge exch 122 le and or } bind def
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%% a literal can be of the form [a-zA-Z][a-zA-Z0-9]*\(\((Expression)\)|\(\[Expression\]\)\)?
+%% STR index -> literal STR index' nextchr
+/ReadLiteral {
+ exch dup 3 -1 roll dup 3 1 roll
+ %%read literal core
+ { 2 copy dup Strlen eq { pop pop 0 exit } if get dup IsLiteral not { exit } if pop 1 add } loop
+ 4 1 roll dup 5 1 roll 3 -1 roll exch 1 index sub getinterval 4 1 roll
+} def
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%% expr is ended by end of str or a clpar
+%% STR index -> STR index STR[index] T/F
+/IsEndingExpr {%
+ 2 copy dup Strlen eq
+ %% if end of str is reached -> end !
+ { pop pop 0 true }
+ %% ending chr -> clpar, comma, |, <, >, =, !,
+ {get dup dup 41 eq
+ exch dup 124 eq
+ exch dup 93 eq
+ exch dup 44 eq
+ exch dup 30 eq
+ exch dup 60 ge exch 62 le and or or or or or}
+ ifelse } def
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%% expr is ended by end of str or a +-
+%% STR index -> STR index STR[index] T/F
+/IsEndingTerm { IsEndingExpr { true } { dup dup 43 eq exch 45 eq or } ifelse } def
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%% expr is ended by end of str or */
+%% STR index -> STR index STR[index] T/F
+/IsEndingFactor { IsEndingTerm { true } { dup dup 42 eq exch 47 eq or } ifelse } def
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%% expr is ended by end of str or ^
+%% STR index -> STR index STR[index] T/F
+/IsEndingPower { IsEndingFactor { true } { dup 94 eq } ifelse } def
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%% STR index -> STR index STR[index]
+/NextNonBlankChar { { dup Strlen eq { 0 exit } if 2 copy get dup neBlkChar { exit } if pop 1 add } loop } bind def
+/neBlkChar { dup 32 ne exch dup 10 ne exch 9 ne and and } bind def
+%%%%%%%%%%%%%%%%%%%%%%%%
+%% DEBUG
+/BRK {false} def
+/BRKtrue {/BRK true def} def
+/BRKStop {BRK {BRKtoto} if } def
+/BRKEvalStop {BRK exch if } def
+/BRKBRK2true {BRK {BRK2true} if } def
+/BRK2 {false} def
+/BRK2true {/BRK2 true def} def
+/BRK2Stop {BRK2 {BRK2toto} if } def/BRK {false} def
+end
+%
+%-------------------------------------------------------------------------------%
+%
+/tx@AlgToPs 12 dict def tx@AlgToPs begin
+%
+%% algExpr -> PSVector
+/AlgToPs { tx@CoreAnalyzerDict begin InitParser AnalyzeListOfE pop pop EndingSequence end } def
+/EndingSequence { ExpressionVector aload length /end cvx exch 1 add array astore } def
+/InitParser { /ExpressionVector [ /tx@AddMathFunc cvx /begin cvx ] def dup length /Strlen exch def 0 } def
+/Strlen 0 def
+/EvalListOfExpr {} def%
+/EvalNumber {%
+ ReadNumber cvr /ExpressionVector ExpressionVector aload length dup 3 add -1 roll cvx
+ exch 1 add array astore def NextNonBlankChar pop } def
+/EvalAddSub {%
+ /ExpressionVector ExpressionVector aload length dup 5 add -1 roll
+ 43 eq { /add } { /sub } ifelse cvx exch 1 add array astore def
+} def
+/EvalMulDiv {%
+ /ExpressionVector ExpressionVector aload length dup 5 add -1 roll
+ 42 eq { /mul } { /div } ifelse cvx exch 1 add array astore def
+} def
+/EvalPower {%
+ /ExpressionVector ExpressionVector aload length dup 5 add -1 roll
+ pop /exp cvx exch 1 add array astore def
+} def
+/EvalFactorial {% DR 09/2011
+ /ExpressionVector ExpressionVector aload length
+ /fact cvx exch 1 add array astore def
+} def
+/EvalLiteral {%
+ ReadLiteral
+ dup 40 eq%%% there is an open par -> function call
+ { pop 2 index
+ dup (Sum) eq { EvalSum }
+ { dup (IfTE) eq { EvalCond }
+ { dup (Derive) eq { pop EvalDerive }
+ { pop 1 add NextNonBlankChar pop AnalyzeListOfE 2 index TrigoFunc
+ /ExpressionVector ExpressionVector aload length dup 5 add -1 roll cvn cvx
+ exch 1 add array astore def 1 add NextNonBlankChar pop } ifelse } ifelse} ifelse }
+ { /ExpressionVector ExpressionVector aload length dup 6 add -1 roll cvn cvx exch 1 add array astore def
+ dup 91 eq%%% there is an open bracket -> vector element
+ { pop 1 add NextNonBlankChar pop AnalyzeExpr
+ /ExpressionVector ExpressionVector aload length /cvi cvx exch /get cvx exch 2 add array astore def 1 add }
+ { pop NextNonBlankChar pop }
+ ifelse}
+ ifelse
+} def
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%% the derive function : Derive(n,f(x))
+%% firstparindex lastparindex ->
+/EvalDerive {
+ %% manage the function descripiton
+ 1 add ReadNumber 3 1 roll NextNonBlankChar
+ 44 ne { ANALYZER_ERROR_missing_second_comma_in_Sum } if
+ 1 add NextNonBlankChar pop
+ 3 -1 roll cvi
+ dup 0 eq
+ { pop AnalyzeExpr 3 -1 roll pop 1 add }
+ { 1 sub 3 1 roll (x) exch tx@Derive begin DeriveIndexed end 4 -1 roll
+ { (x) tx@Derive begin Derive end } repeat
+ ExpressionVector exch /ExpressionVector [] def
+ AlgToPs aload length
+ /ExpressionVector 1 index 3 add -1 roll aload length dup 3 add -1 roll /l2 exch def /l1 exch def
+ l1 l2 add 1 add l2 neg roll l1 l2 add array astore def 3 -1 roll pop 1 add
+ 1 index length /Strlen exch def } ifelse
+} def
+/EvalSum {%
+ pop 1 add NextNonBlankChar pop
+ %% read the variable name
+ ReadLiteral pop NextNonBlankChar
+ 44 ne { ANALYZER_ERROR_missing_first_comma_in_Sum } if
+ %% read the initial value
+ 1 add NextNonBlankChar pop ReadNumber cvi 3 1 roll
+ 2 copy get 44 ne { ANALYZER_ERROR_missing_second_comma_in_Sum } if
+ %% read the increment value
+ 1 add NextNonBlankChar pop ReadNumber cvi 3 1 roll
+ 2 copy get 44 ne { ANALYZER_ERROR_missing_second_comma_in_Sum } if
+ %% read the limit value
+ 1 add NextNonBlankChar pop ReadNumber cvi 3 1 roll
+ 2 copy get 44 ne { ANALYZER_ERROR_missing_second_comma_in_Sum } if
+ /ExpressionVector ExpressionVector aload length dup 7 add -3 roll 0 4 1 roll
+ 5 -1 roll 4 add array astore def
+ %% keep ExpressionVector for later and create a new one for internal Sum computation
+ ExpressionVector 3 1 roll /ExpressionVector [ 6 -1 roll cvn /exch cvx /def cvx ] def
+ 1 add NextNonBlankChar pop AnalyzeExpr
+ %% add each term
+ /ExpressionVector ExpressionVector aload length 1 add /add cvx exch array astore def
+ /ExpressionVector 4 -1 roll aload length ExpressionVector cvx /for cvx 3 -1 roll 2 add
+ array astore def 3 -1 roll pop 1 add
+} def
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%% Convert to radians if trigo function call
+%% (name) ->
+/TrigoFunc {
+ dup (cos) eq 1 index (sin) eq or exch (tan) eq or
+ { /ExpressionVector ExpressionVector aload length Pi /div cvx 180 /mul cvx 5 -1 roll 4 add
+ array astore def
+ } if
+} def
+/EvalCond {%
+ pop 1 add AnalyzeCond NextNonBlankChar
+ 44 ne { ANALYZER_ERROR_missing_first_comma_in_IfTE } if
+ ExpressionVector 3 1 roll /ExpressionVector [] def
+ 1 add AnalyzeExpr ExpressionVector 3 1 roll /ExpressionVector [] def
+ NextNonBlankChar 44 ne { ANALYZER_ERROR_missing_second_comma_in_IfTE } if
+ 1 add AnalyzeExpr
+ NextNonBlankChar 41 ne { ANALYZER_ERROR_missing_ending parenthesis_in_IfTE } if
+ ExpressionVector
+ /ExpressionVector 6 -1 roll aload length dup
+ 6 add -1 roll cvx exch dup 4 add -1 roll cvx /ifelse cvx 3 -1 roll 3 add array astore def
+ 1 add 3 -1 roll pop
+} def
+%% CondOp STR index
+/EvalCondOp {%
+ 3 -1 roll
+ dup (=) eq { /eq } {%
+ dup (<) eq { /lt } {%
+ dup (>) eq { /gt } {%
+ dup (>=) eq { /ge } {%
+ dup (<=) eq { /ge } {%
+ dup (!=) eq { /ne } { ERROR_non_valid_conditional_operator }
+ ifelse } ifelse } ifelse } ifelse } ifelse } ifelse
+ cvx exch pop
+ /ExpressionVector ExpressionVector aload length dup 3 add -1 roll exch 1 add array astore def } def
+/EvalUnaryOp {
+ 3 -1 roll 45 eq { /ExpressionVector ExpressionVector aload length /neg cvx exch 1 add array astore def } if
+} def
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%% H O O K S
+/AnalyzePreHook {} bind def
+/PreEvalHook {} bind def
+/AnalyzeListOfEPostHook {} bind def
+/AnalyzePostHook {} def
+/RollOp { 3 1 roll } bind def
+end %tx@CoreAnalyzerDict
+%
+%--------------------------------------------------------------------%
+%
+/tx@Derive 41 dict def tx@Derive begin
+%%increase ^^ for each function added
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%% algExpr variable -> PSVector
+/Derive {%
+ 10240 string 3 1 roll 0 3 1 roll
+ /Variable exch def
+ tx@CoreAnalyzerDict begin InitParser AnalyzeListOfE end
+} def
+/Strlen 0 def
+/InitParser { dup length /Strlen exch def 0 } def
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%% algExpr variable index -> PSVector
+/DeriveIndexed {%
+ 3 1 roll 10240 string 3 1 roll 0 3 1 roll
+ /Variable exch def
+ tx@CoreAnalyzerDict begin InitParser pop 4 -1 roll AnalyzeExpr 4 -2 roll pop pop 4 -2 roll exch pop end
+} def
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%% (u,v)'=-(u',v')
+/EvalListOfExpr {%
+ 4 2 roll 2 copy 9 -1 roll dup length 4 1 roll putinterval add AddPipe
+ 2 copy 7 -1 roll dup length 4 1 roll putinterval add
+ 6 -2 roll pop pop
+ 2 copy pop 0 6 2 roll GetIntervalNewStr 5 1 roll 2 copy 0 exch getinterval 6 1 roll } def
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%% (-u)'=-(u')
+/EvalUnaryOp {
+ 4 -2 roll 4 index (0) eq
+ { (0) StrConcat 7 -1 roll pop }
+ { 7 -1 roll 45 eq
+ { AddSub AddOpPar true } { false } ifelse
+ 3 1 roll 5 index StrConcat 3 -1 roll { AddClPar } if } ifelse
+ 2 copy pop 0 6 2 roll GetIntervalNewStr
+ 7 -2 roll pop pop 2 index 6 index dup 4 index exch sub getinterval exch 6 2 roll
+} def
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%% (number)'=0
+/EvalNumber { ReadNumber (0) 6 2 roll } def
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%% (u+v)'=u'+v'
+/EvalAddSub {%
+ 7 index dup (0) eq
+ { pop true }%% du=0 nothing added
+ { dup length exch 5 index 5 index 3 -1 roll putinterval 4 -1 roll add 3 1 roll false }
+ ifelse
+ 5 index dup (0) eq
+ { pop { (0) } { 4 -2 roll 2 copy pop 0 6 2 roll GetIntervalNewStr } ifelse }%%dv=0
+ { exch
+ { 5 -2 roll 7 index 45 eq { AddSub } if false } %%nothing yet added
+ { 5 -2 roll 7 index 43 eq%%something yet added
+ { AddAdd false } { AddSub AddOpPar true } ifelse }
+ ifelse 11 1 roll
+ 3 -1 roll StrConcat 10 -1 roll { AddClPar } if
+ 2 copy pop 0 6 2 roll GetIntervalNewStr }
+ ifelse
+ mark 11 -5 roll cleartomark 2 index 6 index dup 4 index exch sub getinterval exch 6 2 roll
+} def
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%% (u*v)' or (u/v)'
+/EvalMulDiv { 6 index 42 eq {EvalMul} {EvalDiv} ifelse } def
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%% (u*v)'=u'*v+u*v'
+/EvalMul {%
+ 4 -2 roll 7 index dup (0) eq
+ { pop false }%%du=0
+ { (1) eq%%du=1
+ { false }
+ { AddOpPar 7 index StrConcat AddClPar AddMul AddOpPar true } ifelse
+ 3 1 roll 6 index StrConcat 3 -1 roll { AddClPar } if
+ true }%%du!=0
+ ifelse
+ 5 1 roll 5 index (0) eq
+ { 5 -1 roll not { (0) StrConcat } if }%%dv=0
+ { 5 -1 roll { AddAdd } if
+ 4 index (1) eq
+ { 8 index StrConcat }
+ { AddOpPar 8 index StrConcat AddClPar AddMul AddOpPar 4 index StrConcat AddClPar }
+ ifelse
+ }%%dv!=0
+ ifelse
+ 2 copy pop 0 6 2 roll GetIntervalNewStr
+ mark 11 -5 roll cleartomark 2 index 6 index dup 4 index exch sub getinterval exch 6 2 roll
+} def
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%% (u/v)'=(u'*v-u*v')/v^2
+/EvalDiv {%
+ 4 -2 roll
+ 4 index (0) eq%%dv=0 -> u'/v
+ { 7 index (0) eq { (0) StrConcat } { AddOpPar 7 index StrConcat AddClPar AddDiv 5 index StrConcat } ifelse }
+ { 7 index dup (0) eq
+ { pop }%%du=0
+ { (1) eq%%du=1
+ { false }
+ { AddOpPar 7 index StrConcat AddClPar AddMul AddOpPar true } ifelse
+ 3 1 roll 6 index StrConcat 3 -1 roll { AddClPar } if}%%du!=0
+ ifelse
+ AddSub
+ 4 index (1) eq
+ { 8 index StrConcat }
+ { AddOpPar 8 index StrConcat AddClPar AddMul AddOpPar 4 index StrConcat AddClPar }
+ ifelse
+ %}%%dv!=0
+ 2 copy GetIntervalNewStr 3 1 roll pop 0 AddOpPar 3 -1 roll StrConcat AddClPar
+ AddDiv AddOpPar 5 index StrConcat AddClPar 2 copy (^2) putinterval 2 add }
+ ifelse
+ 2 copy pop 0 6 2 roll GetIntervalNewStr
+ mark 11 -5 roll cleartomark 2 index 6 index dup 4 index exch sub getinterval exch 6 2 roll
+} def
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%% str1 index str2 -> str1 index
+/StrConcat { dup length 4 2 roll 2 copy 6 -1 roll putinterval 3 -1 roll add } bind def
+/GetIntervalNewStr { 0 exch getinterval dup length string copy } bind def
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%% (u^v)'=(u^v)'=u'vu^(v-1)+v'u^(v)ln(u)
+/EvalPower {%
+ 4 -2 roll 7 index (0) eq
+ {%%if du=0 then (u^v)'=v'ln(u)u^v
+ 4 index (0) eq
+ { (0) StrConcat }%%if dv=0 then (u^v)'=0
+ { 4 index (1) ne { AddOpPar 4 index StrConcat (\)*) StrConcat } if
+ 8 index (e) ne { (ln\() StrConcat 8 index StrConcat (\)*) StrConcat } if
+ AddOpPar 8 index StrConcat (\)^\() StrConcat 5 index StrConcat AddClPar } ifelse
+ }
+ {%%du!=0
+ 4 index (0) eq
+ {%%if dv=0 then (u^v)'=vu'u^(v-1)
+ 5 index dup IsStrNumber
+ { dup (0) eq
+ { StrConcat }
+ { dup dup (1) eq exch (1.0) eq or
+ { StrConcat }
+ { StrConcat
+ 7 index dup (1) ne exch (1.0) ne and%%%dr 09102006 insert du if <> 1
+ { (*\() StrConcat 7 index StrConcat (\)) StrConcat } if%%%dr 09102006
+ (*\() StrConcat 8 index StrConcat (\)) StrConcat
+ 5 index dup dup (2) eq exch (2.0) eq or
+ { pop } { cvr 1 sub 20 string cvs 3 1 roll (^) StrConcat 3 -1 roll StrConcat } ifelse } ifelse } ifelse }
+ { pop AddOpPar 5 index StrConcat (\)*\() StrConcat 8 index StrConcat (\)^\() StrConcat
+ 5 index StrConcat (-1\)) StrConcat } ifelse
+ }
+ {%%if dv!=0 and du!=0 then (u^v)'=u'vu^(v-1)+v'u^(v)ln(u)
+ 7 index (1) ne { AddOpPar 7 index StrConcat (\)*) StrConcat } if
+ AddOpPar 5 index StrConcat (\)*\() StrConcat
+ 8 index StrConcat (\)^\() StrConcat
+ 5 index StrConcat (-1\)+\() StrConcat
+ 4 index (1) ne { 4 index StrConcat (\)*\() StrConcat } if
+ 8 index StrConcat (\)^\() StrConcat
+ 5 index StrConcat (\)*ln\() StrConcat
+ 8 index StrConcat AddClPar
+ } ifelse
+ } ifelse
+ 2 copy pop 0 6 2 roll GetIntervalNewStr
+ mark 11 -5 roll cleartomark 2 index 6 index dup 4 index exch sub getinterval exch 6 2 roll
+} def
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%% No derivative for factorial ! only cst => null derivative
+/EvalFactorial {% DR 09/2011
+ 4 index (0) eq
+ { (0) mark 8 -2 roll cleartomark 2 index 7 index dup 4 index exch sub getinterval exch 6 2 roll }
+ { DERIVATIVE_ENGINE_ERROR_no_variable_in_factorial } ifelse
+} def
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%% str -> true/false
+/IsStrNumber {%
+ true exch
+ { dup 48 lt exch dup 57 gt 3 -1 roll or
+ exch dup 46 ne%%.
+ exch dup 43 ne%%+
+ exch 45 ne%%-
+ and and and { pop false } if } forall
+} def
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%% literal switch -> func call, vector, variables
+/EvalLiteral {%
+ ReadLiteral dup 40 eq%%% there is an open par -> function call
+ { pop (EvalFunc_ ) 9 4 index StrConcat 0 exch getinterval cvn cvx exec }
+ { dup 91 eq%%% there is an open bracket -> vector element
+ { DERIVATIVE_ENGINE_ERROR_vector_not_yet_implemented }
+ { pop EvalVariable }
+ ifelse }
+ ifelse
+} def
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%% first last parpos Expr[first:parpos-1] ->
+/EvalVariable { 2 index Variable eq { (1) } { (0) } ifelse 4 -1 roll exch 6 2 roll } def
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%% (f(u))'=u'f'(u)
+/EvalFunc {
+ 4 2 roll 4 index (1) ne
+ { AddOpPar 4 index StrConcat (\)*) StrConcat } if
+ (Eval ) 4 8 index StrConcat 0 exch getinterval cvn cvx exec
+ 2 copy pop 0 6 2 roll GetIntervalNewStr
+ mark 9 -3 roll cleartomark 2 index 6 index dup 4 index exch sub getinterval exch 6 2 roll
+} def
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%% Func derivative -> Eval<func>
+/EvalFunc_sin {%
+ PreCommonFunc
+ { (cos\() StrConcat 5 index StrConcat AddClPar } if
+ PostCommonFunc } def
+/EvalFunc_cos {%
+ PreCommonFunc
+ { (\(-sin\() StrConcat 5 index StrConcat (\)\)) StrConcat } if
+ PostCommonFunc } def
+/EvalFunc_tan {%
+ PreCommonFunc
+ { dup 0 eq { (1) StrConcat } { 1 sub } ifelse (/cos\() StrConcat 5 index StrConcat (\)^2) StrConcat } if
+ PostCommonFunc } def
+/EvalFunc_asin {%
+ PreCommonFunc
+ { (1/sqrt\(1-\() StrConcat 5 index StrConcat (\)^2\)\)) StrConcat } if
+ PostCommonFunc } def
+/EvalFunc_acos {%
+ PreCommonFunc
+ { (-1/sqrt\(1-\() StrConcat 5 index StrConcat (\)^2\)\)) StrConcat } if
+ PostCommonFunc } def
+/EvalFunc_atg {%
+ PreCommonFunc
+ { (1/\(1+\() StrConcat 5 index StrConcat (\)^2\)\)) StrConcat } if
+ PostCommonFunc } def
+/EvalFunc_ln {%
+ PreCommonFunc
+ { dup 0 eq { (1) StrConcat } { 1 sub } ifelse (/\() StrConcat 5 index StrConcat AddClPar } if
+ PostCommonFunc } def
+/EvalFunc_exp {%
+ PreCommonFunc
+ { (exp\() StrConcat 5 index StrConcat AddClPar } if
+ PostCommonFunc } def
+/EvalFunc_EXP {%
+ PreCommonFunc
+ { (EXP\() StrConcat 5 index StrConcat AddClPar } if
+ PostCommonFunc } def
+/EvalFunc_sqrt {%
+ PreCommonFunc
+ { dup 0 eq { (1) StrConcat } { 1 sub } ifelse (/\(2*sqrt\() StrConcat 5 index StrConcat (\)\)) StrConcat } if
+ PostCommonFunc } def
+/EvalFunc_Fact {%
+ PreCommonFunc { DERIVATIVE_ENGINE_ERROR_no_variable_expression_in_Fact } if
+ PostCommonFunc } def
+/EvalFunc_sh {%
+ PreCommonFunc
+ { (ch\() StrConcat 5 index StrConcat AddClPar } if
+ PostCommonFunc } def
+/EvalFunc_ch {%
+ PreCommonFunc
+ { (sh\() StrConcat 5 index StrConcat AddClPar } if
+ PostCommonFunc } def
+/EvalFunc_th {%
+ PreCommonFunc
+ { dup 0 eq { (1) StrConcat } { 1 sub } ifelse (/ch\() StrConcat 5 index StrConcat (\)^2) StrConcat } if
+ PostCommonFunc } def
+/EvalFunc_Argsh {%
+ PreCommonFunc
+ { (1/sqrt\(1+\() StrConcat 5 index StrConcat (\)^2\)\)) StrConcat } if
+ PostCommonFunc } def
+/EvalFunc_Argch {%
+ PreCommonFunc
+ { (1/sqrt\(\() StrConcat 5 index StrConcat (\)^2-1\)\)) StrConcat } if
+ PostCommonFunc } def
+/EvalFunc_Argth {%
+ PreCommonFunc
+ { (1/\(1-\() StrConcat 5 index StrConcat (\)^2\)\)) StrConcat } if
+ PostCommonFunc } def
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+/PreCommonFunc {
+ 1 add NextNonBlankChar pop 3 -1 roll 5 1 roll AnalyzeExpr 1 add NextNonBlankChar pop
+ 4 2 roll 4 index (0) eq
+ { (0) StrConcat false }
+ { 4 index (1) ne { AddOpPar 4 index StrConcat (\)*) StrConcat } if true } ifelse
+} def
+/PostCommonFunc {
+ 2 copy pop 0 6 2 roll GetIntervalNewStr
+ mark 9 -3 roll cleartomark 2 index 6 index dup 4 index exch sub getinterval exch 6 2 roll
+} def
+/EvalFunc_Derive {%
+ 1 add ReadNumber cvi 1 add dup cvr log 1 add cvi string cvs
+ 4 -1 roll pop 5 1 roll 1 add NextNonBlankChar pop AnalyzeExpr 1 add
+ 4 -2 roll (Derive\() StrConcat 7 -1 roll StrConcat (,) StrConcat 6 -1 roll StrConcat AddClPar
+ 2 copy pop 0 6 2 roll GetIntervalNewStr 6 -1 roll pop 2 index 6 index dup 4 index exch sub getinterval
+ exch 6 2 roll } def
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%% literal switch -> func call, vector, variables
+/EvalFunc_Sum {%
+ 1 add NextNonBlankChar pop
+ %% read the variable name
+ ReadLiteral pop 3 -1 roll pop NextNonBlankChar
+ 44 ne { ANALYZER_ERROR_missing_first_comma_in_Sum } if
+ %% read the initial value
+ 1 add NextNonBlankChar pop ReadNumber pop
+ 2 copy get 44 ne { ANALYZER_ERROR_missing_second_comma_in_Sum } if
+ %% read the increment value
+ 1 add NextNonBlankChar pop ReadNumber pop
+ 2 copy get 44 ne { ANALYZER_ERROR_missing_third_comma_in_Sum } if
+ %% read the limit value
+ 1 add NextNonBlankChar pop ReadNumber pop
+ 2 copy get 44 ne { ANALYZER_ERROR_missing_fourth_comma_in_Sum } if
+ 1 add NextNonBlankChar pop dup 6 1 roll 3 -1 roll pop AnalyzeExpr 1 add NextNonBlankChar pop
+ 4 -2 roll 3 index 8 index dup 9 index exch sub getinterval StrConcat
+ 4 index StrConcat AddClPar
+ 2 copy pop 0 6 2 roll GetIntervalNewStr
+ mark 9 -3 roll cleartomark 2 index 6 index dup 4 index exch sub getinterval exch 6 2 roll
+} def
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%% literal switch -> func call, vector, variables
+/EvalFunc_IfTE {%
+ 3 -1 roll pop 1 add NextNonBlankChar pop SkipCond
+ NextNonBlankChar
+ 44 ne { ANALYZER_ERROR_missing_first_comma_in_IfTE } if
+ 1 add NextNonBlankChar pop dup 5 1 roll
+ AnalyzeExpr NextNonBlankChar
+ 44 ne { ANALYZER_ERROR_missing_second_comma_in_IfTE } if
+ 1 add NextNonBlankChar pop
+ AnalyzeExpr 1 add NextNonBlankChar pop
+ 4 -2 roll 3 index 10 index dup 11 index exch sub getinterval StrConcat
+ 6 index StrConcat (,) StrConcat 4 index StrConcat AddClPar
+ 2 copy pop 0 6 2 roll GetIntervalNewStr
+ mark 11 -5 roll cleartomark 2 index 6 index dup 4 index exch sub getinterval exch 6 2 roll
+} def
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%% advance in str until a comma is found (no error detection!)
+%% str index -> str index'
+/SkipCond { { 1 add 2 copy get 44 eq {exit } if } loop } bind def
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%% Convert to radians if trigo function call
+%% (name) ->
+/TrigoFunc {
+ dup (cos) eq 1 index (sin) eq or exch (tan) eq or
+ { /ExpressionVector ExpressionVector aload length Pi /div cvx 180 /mul cvx 5 -1 roll 4 add
+ array astore def
+ } if
+} def
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%% No derivative for condition....
+/EvalCondOp { 3 -1 roll pop } bind def
+/PutIntervalOneAdd {putinterval 1 add} bind def
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%% Add open parenthesis in string at the given index
+%% str index -> str index+1
+/AddOpPar {2 copy (\() PutIntervalOneAdd} bind def
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%% Add close parenthesis in string at the given index
+%% str index -> str index+1
+/AddClPar {2 copy (\)) PutIntervalOneAdd} bind def
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%% Add 0 in string at the given index
+%% str index -> str index+1
+/AddZero {2 copy (0) PutIntervalOneAdd} bind def
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%% Add open parenthesis in string at the given index
+%% str index -> str index+1
+/AddMul {2 copy (*) PutIntervalOneAdd} bind def
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%% Add open parenthesis in string at the given index
+%% str index -> str index+1
+/AddDiv {2 copy (/) PutIntervalOneAdd} bind def
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%% Add a plus sign in string at the given index
+%% str index -> str index+1
+/AddAdd {2 copy (+) PutIntervalOneAdd} bind def
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%% Add a minus sign in string at the given index
+%% str index -> str index+1
+/AddSub {2 copy (-) PutIntervalOneAdd} bind def
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%% Add a pipe sign in string at the given index
+%% str index -> str index+1
+/AddPipe {2 copy (|) PutIntervalOneAdd} bind def
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%% H O O K S
+/AnalyzePreHook { dup 5 1 roll } bind def
+/PreEvalHook {} def
+/AnalyzePostHook { 7 -1 roll pop } bind def
+/AnalyzeListOfEPostHook { 6 -1 roll mark 6 1 roll cleartomark } bind def
+/RollOp { 5 1 roll } bind def
+end%%%tx@CoreAnalyzerDict
+/tx@AddMathFunc 12 dict def tx@AddMathFunc begin
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%% NEW FUNC
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%% function arcsine in radians asin(x)=atan(x/sqrt(1-x^2))
+%% x -> theta
+/asin {%
+ dup abs 1 gt { EQDFasinrangeerror } if
+ dup dup dup mul 1 exch sub sqrt atan exch 0 lt { 360 sub } if DegtoRad
+} def
+%% function arccosine in radians acos(x)=atan(sqrt(1-x^2)/x)
+%% x -> theta
+/acos {%
+ dup abs 1 gt { EQDFacosrangeerror } if
+ dup dup mul 1 exch sub sqrt exch atan DegtoRad
+} def
+%% function arctangent in radians
+%% x -> theta
+/atg { 1 atan dup 90 gt { 360 sub } if DegtoRad } bind def
+%% HYPERBOLIC FUNCTIONS
+/sh { dup Ex exch neg Ex sub 2 div } def
+/ch { dup Ex exch neg Ex add 2 div } def
+/th { dup sh exch ch div } def
+/Argsh { dup dup mul 1 add sqrt add ln } def
+/Argch { dup dup mul 1 sub sqrt add ln } def
+/Argth { dup 1 add exch 1 exch sub div ln 2 div } def
+%% modified exponential funtion for 0
+%% x n -> x^n
+/Exp { dup 0 eq { pop pop 1 } { exp } ifelse } bind def
+%% modified exponential funtion for 0
+%% x -> e^x
+/Ex { Euler exch exp } bind def
+%%
+%% factorial function
+%% n -> n!
+/Fact { 1 exch 2 exch 1 exch { mul } for } bind def
+/fact { Fact } bind def
+/! { Fact } bind def
+end
+%
+% END pst-algparser.pro
+
+%%EndProcSet
+%%BeginProcSet: pst-tools.pro 0 0
+% $Id: pst-tools.pro 622 2012-01-01 15:36:14Z herbert $
+%
+%% PostScript tools prologue for pstricks.tex.
+%% Version 0.02, 2012/01/01
+%%
+%% This program can be redistributed and/or modified under the terms
+%% of the LaTeX Project Public License Distributed from CTAN archives
+%% in directory macros/latex/base/lppl.txt.
+%
+%
+/Pi2 1.57079632679489661925640 def
+/factorial { % n on stack, returns n!
+ dup 0 eq { 1 }{
+ dup 1 gt { dup 1 sub factorial mul } if }
+ ifelse } def
+%
+/MoverN { % m n on stack, returns the binomial coefficient m over n
+ 2 dict begin
+ /n exch def /m exch def
+ n 0 eq { 1 }{
+ m n eq { 1 }{
+ m factorial n factorial m n sub factorial mul div } ifelse } ifelse
+ end
+} def
+%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+% subroutines for complex numbers, given as an array [a b]
+% which is a+bi = Real+i Imag
+%
+/cxadd { % [a1 b1] [a2 b2] = [a1+a2 b1+b2]
+ dup 0 get % [a1 b1] [a2 b2] a2
+ 3 -1 roll % [a2 b2] a2 [a1 b1]
+ dup 0 get % [a2 b2] a2 [a1 b1] a1
+ 3 -1 roll % [a2 b2] [a1 b1] a1 a2
+ add % [a2 b2] [a1 b1] a1+a2
+ 3 1 roll % a1+a2 [a2 b2] [a1 b1]
+ 1 get % a1+a2 [a2 b2] b1
+ exch 1 get % a1+a2 b1 b2
+ add 2 array astore
+} def
+%
+/cxneg { % [a b]
+ dup 1 get % [a b] b
+ exch 0 get % b a
+ neg exch neg % -a -b
+ 2 array astore
+} def
+%
+/cxsub { cxneg cxadd } def % same as negative addition
+%
+% [a1 b1][a2 b2] = [a1a2-b1b2 a1b2+b1a2] = [a3 b3]
+/cxmul { % [a1 b1] [a2 b2]
+ dup 0 get % [a1 b1] [a2 b2] a2
+ exch 1 get % [a1 b1] a2 b2
+ 3 -1 roll % a2 b2 [a1 b1]
+ dup 0 get % a2 b2 [a1 b1] a1
+ exch 1 get % a2 b2 a1 b1
+ dup % a2 b2 a1 b1 b1
+ 5 -1 roll dup % b2 a1 b1 b1 a2 a2
+ 3 1 roll mul % b2 a1 b1 a2 b1a2
+ 5 -2 roll dup % b1 a2 b1a2 b2 a1 a1
+ 3 -1 roll dup % b1 a2 b1a2 a1 a1 b2 b2
+ 3 1 roll mul % b1 a2 b1a2 a1 b2 a1b2
+ 4 -1 roll add % b1 a2 a1 b2 b3
+ 4 2 roll mul % b1 b2 b3 a1a2
+ 4 2 roll mul sub % b3 a3
+ exch 2 array astore
+} def
+%
+% [a b]^2 = [a^2-b^2 2ab] = [a2 b2]
+/cxsqr { % [a b] square root
+ dup 0 get exch 1 get % a b
+ dup dup mul % a b b^2
+ 3 -1 roll % b b^2 a
+ dup dup mul % b b^2 a a^2
+ 3 -1 roll sub % b a a2
+ 3 1 roll mul 2 mul % a2 b2
+ 2 array astore
+} def
+%
+/cxsqrt { % [a b]
+% dup cxnorm sqrt /r exch def
+% cxarg 2 div RadtoDeg dup cos r mul exch sin r mul cxmake2
+ cxlog % log[a b]
+ 2 cxrdiv % log[a b]/2
+ aload pop exch % b a
+ 2.781 exch exp % b exp(a)
+ exch cxconv exch % [Re +iIm] exp(a)
+ cxrmul %
+} def
+%
+/cxarg { % [a b]
+ aload pop % a b
+ exch atan % arctan b/a
+ DegtoRad % arg(z)=atan(b/a)
+} def
+%
+% log[a b] = [a^2-b^2 2ab] = [a2 b2]
+/cxlog { % [a b]
+ dup % [a b][a b]
+ cxnorm % [a b] |z|
+ log % [a b] log|z|
+ exch % log|z|[a b]
+ cxarg % log|z| Theta
+ cxmake2 % [log|z| Theta]
+} def
+%
+% square of magnitude of complex number
+/cxnorm2 { % [a b]
+ dup 0 get exch 1 get % a b
+ dup mul % a b^2
+ exch dup mul add % a^2+b^2
+} def
+%
+/cxnorm { % [a b]
+ cxnorm2 sqrt
+} def
+%
+/cxconj { % conjugent complex
+ dup 0 get exch 1 get % a b
+ neg 2 array astore % [a -b]
+} def
+%
+/cxre { 0 get } def % real value
+/cxim { 1 get } def % imag value
+%
+% 1/[a b] = ([a -b]/(a^2+b^2)
+/cxrecip { % [a b]
+ dup cxnorm2 exch % n2 [a b]
+ dup 0 get exch 1 get % n2 a b
+ 3 -1 roll % a b n2
+ dup % a b n2 n2
+ 4 -1 roll exch div % b n2 a/n2
+ 3 1 roll div % a/n2 b/n2
+ neg 2 array astore
+} def
+%
+/cxmake1 { 0 2 array astore } def % make a complex number, real given
+/cxmake2 { 2 array astore } def % dito, both given
+%
+/cxdiv { cxrecip cxmul } def
+%
+% multiplikation by a real number
+/cxrmul { % [a b] r
+ exch aload pop % r a b
+ 3 -1 roll dup % a b r r
+ 3 1 roll mul % a r b*r
+ 3 1 roll mul % b*r a*r
+ exch 2 array astore % [a*r b*r]
+} def
+%
+% division by a real number
+/cxrdiv { % [a b] r
+ 1 exch div % [a b] 1/r
+ cxrmul
+} def
+%
+% exp(i theta) = cos(theta)+i sin(theta) polar<->cartesian
+/cxconv { % theta
+ RadtoDeg dup sin exch cos cxmake2
+} def
+
+%%%%% ### bubblesort ###
+%% syntax : array bubblesort --> array2 trie par ordre croissant
+%% code de Bill Casselman
+%% http://www.math.ubc.ca/people/faculty/cass/graphics/text/www/
+/bubblesort { % on stack must be an array [ ... ]
+4 dict begin
+ /a exch def
+ /n a length 1 sub def
+ n 0 gt {
+ % at this point only the n+1 items in the bottom of a remain to
+ % the sorted largest item in that blocks is to be moved up into
+ % position n
+ n {
+ 0 1 n 1 sub {
+ /i exch def
+ a i get a i 1 add get gt {
+ % if a[i] > a[i+1] swap a[i] and a[i+1]
+ a i 1 add
+ a i get
+ a i a i 1 add get
+ % set new a[i] = old a[i+1]
+ put
+ % set new a[i+1] = old a[i]
+ put
+ } if
+ } for
+ /n n 1 sub def
+ } repeat
+ } if
+ a % return the sorted array
+end
+} def
+%
+/concatstringarray{ % [(a) (b) ... (z)] --> (ab...z) 20100422
+ 0 1 index { length add } forall
+ string
+ 0 3 2 roll
+ { 3 copy putinterval length add }forall
+ pop
+} bind def
+%
+/dot2comma {% on stack a string (...)
+ 2 dict begin
+ /Output exch def
+ 0 1 Output length 1 sub {
+ /Index exch def
+ Output Index get 46 eq { Output Index 44 put } if
+ } for
+ Output
+ end
+} def
+%
+%-----------------------------------------------------------------------------%
+% END pst-tools.pro
+
+%%EndProcSet
+%%BeginProcSet: pst-dots.pro 0 0
+% $Id: pst-dots.pro 130 2009-08-27 08:55:03Z herbert $
+%
+%% PostScript prologue for pstricks.tex.
+%% Version 2.02, 2009/06/16
+%%
+%% For distribution, see pstricks.tex.
+%%
+%% Timothy Van Zandt <tvz@Princeton.EDU>
+%%
+%% This program can be redistributed and/or modified under the terms
+%% of the LaTeX Project Public License Distributed from CTAN archives
+%% in directory macros/latex/base/lppl.txt.
+%%
+%% Modified by Etienne Riga - Dec. 16, 1999
+%% Modified by Etienne Riga - 2005/01/01 (er)
+%% to add /Diamond, /SolidDiamond and /BoldDiamond
+%% Modified by Herbert Voss (hv) - 2008/04/17
+%
+10 dict dup begin % hold local
+ /FontType 3 def
+ /FontMatrix [.001 0 0 .001 0 0] def
+% /FontBBox [-571.5 -742.5 571.5 742.5] def % changed to next line 20060616 hv
+ /FontBBox [-1000 -1000 1000 1000] def % See end of file in /BuildGlyph
+ /Encoding 256 array def
+ 0 1 255 {Encoding exch /.notdef put} for % fill the array with /.notdef
+ Encoding % replace with given dot names
+ dup (b) 0 get /Bullet put % get the numerical position of b in ASCII
+% % and save /Bullet at this place in Encoding
+ dup (c) 0 get /Circle put
+ dup (C) 0 get /BoldCircle put % 67
+ dup (u) 0 get /SolidTriangle put
+ dup (t) 0 get /Triangle put
+ dup (T) 0 get /BoldTriangle put
+ dup (r) 0 get /SolidSquare put
+ dup (s) 0 get /Square put
+ dup (S) 0 get /BoldSquare put
+ dup (q) 0 get /SolidPentagon put
+ dup (p) 0 get /Pentagon put
+ dup (P) 0 get /BoldPentagon put
+%%%
+ dup (k) 0 get /Asterisk put
+ dup (K) 0 get /BoldAsterisk put
+ dup (J) 0 get /SolidAsterisk put
+ dup (h) 0 get /Hexagon put
+ dup (H) 0 get /BoldHexagon put
+ dup (G) 0 get /SolidHexagon put
+ dup (f) 0 get /Octogon put % 2008-04-18 hv
+ dup (F) 0 get /BoldOctogon put % 2008-04-18 hv
+ dup (g) 0 get /SolidOctogon put % 2008-04-18 hv
+ dup (a) 0 get /Add put
+ dup (A) 0 get /BoldAdd put % 65
+ dup (x) 0 get /Mul put
+ dup (X) 0 get /BoldMul put
+ dup (m) 0 get /Oplus put
+ dup (M) 0 get /BOplus put
+ dup (e) 0 get /SolidOplus put
+ dup (n) 0 get /Otimes put
+ dup (N) 0 get /BOtimes put
+ dup (E) 0 get /SolidOtimes put
+ dup (i) 0 get /Bar put
+ dup (I) 0 get /BoldBar put
+ dup (l) 0 get /SolidDiamond put
+ dup (d) 0 get /Diamond put
+ (D) 0 get /BoldDiamond put
+%%%
+/CharProcs 47 dict def
+CharProcs begin
+ /CirclePath {0 0 500 0 360 arc closepath} def
+ /Bullet {CirclePath fill} def
+ /Circle {CirclePath .9 .9 scale CirclePath eofill} def
+ /BoldCircle {CirclePath .8 .8 scale CirclePath eofill} def
+ /TrianglePath {0 660 moveto -571.5 -330 lineto 571.5 -330 lineto closepath} def
+ /SolidTriangle {TrianglePath fill} def
+ /Triangle {TrianglePath .85 .85 scale TrianglePath eofill} def
+ /BoldTriangle {TrianglePath .7 .7 scale TrianglePath eofill} def
+ /SquarePath {-450 450 moveto 450 450 lineto 450 -450 lineto -450 -450 lineto closepath} def
+ /SolidSquare {SquarePath fill} def
+ /Square {SquarePath .89 .89 scale SquarePath eofill} def
+ /BoldSquare {SquarePath .78 .78 scale SquarePath eofill} def
+ /PentagonPath {
+ -337.8 -465 moveto 337.8 -465 lineto 546.6 177.6 lineto
+ 0 574.7 lineto -546.6 177.6 lineto closepath
+ } def
+ /SolidPentagon {PentagonPath fill} def
+ /Pentagon {PentagonPath .89 .89 scale PentagonPath eofill} def
+ /BoldPentagon {PentagonPath .78 .78 scale PentagonPath eofill} def
+%-------------- hv begin 2004/07/25 from: er 2003/03/24
+ /HexagonPath {
+ 0 550 moveto -476 275 lineto -476 -275 lineto
+ 0 -550 lineto 476 -275 lineto 476 275 lineto closepath
+ } def
+ /SolidHexagon {HexagonPath fill} def
+ /Hexagon {HexagonPath .89 .89 scale HexagonPath eofill} def
+ /BoldHexagon {HexagonPath .79 .79 scale HexagonPath eofill} def
+% 2008-04-18 hv
+ /OctogonPath {
+ 550 dup 22.5 tan mul dup neg dup add /xMove exch def
+ exch moveto 7 { xMove 0 rlineto 45 rotate } repeat closepath } def
+ /SolidOctogon { OctogonPath fill } def
+ /Octogon { OctogonPath .89 .89 scale OctogonPath eofill } def
+ /BoldOctogon { OctogonPath .79 .79 scale OctogonPath eofill } def
+%
+ /AsteriskPath {
+ 20 0 moveto 10 250 180 500 0 500 curveto
+ -180 500 -10 250 -20 0 curveto closepath
+ } def
+ /Asterisk {
+ AsteriskPath 60 rotate AsteriskPath 60 rotate AsteriskPath
+ 60 rotate AsteriskPath 60 rotate AsteriskPath 60 rotate AsteriskPath fill
+ } def
+%
+ /Basterp {50 250 220 500 0 500 curveto -220 500 -50 250 -50 30 cos 100 mul curveto} def
+ /BoldAsteriskPath {
+ 50 30 cos 100 mul moveto Basterp
+ 60 rotate Basterp 60 rotate Basterp
+ 60 rotate Basterp 60 rotate Basterp
+ 60 rotate Basterp closepath
+ } def
+ /BoldAsterisk {BoldAsteriskPath fill} def
+ /SolidAsterisk {CirclePath .9 .9 scale BoldAsteriskPath eofill} def
+ /CrossPath {
+ 40 550 moveto -40 550 lineto -40 40 lineto -550 40 lineto
+ -550 -40 lineto -40 -40 lineto -40 -550 lineto 40 -550 lineto
+ 40 -40 lineto 550 -40 lineto 550 40 lineto 40 40 lineto closepath
+ } def
+ /BoldCrossPath {80 550 moveto -80 550 lineto -80 80 lineto -550 80 lineto
+ -550 -80 lineto -80 -80 lineto -80 -550 lineto 80 -550 lineto
+ 80 -80 lineto 550 -80 lineto 550 80 lineto 80 80 lineto closepath
+ } def
+ /Add {CrossPath fill} def
+ /Mul {45 rotate CrossPath fill} def
+ /BoldAdd {BoldCrossPath fill} def
+ /BoldMul {45 rotate BoldCrossPath fill} def
+ /Oplus {CirclePath .9 .9 scale CirclePath eofill .775 .775 scale CrossPath fill } def
+ /SolidOplus {CirclePath .775 .775 scale BoldCrossPath eofill} def
+ /BOplus {CirclePath .8 .8 scale CirclePath eofill .775 .775 scale BoldCrossPath fill} def
+ /Otimes {CirclePath .9 .9 scale CirclePath eofill 45 rotate .775 .775 scale CrossPath fill} def
+ /BOtimes {CirclePath .8 .8 scale CirclePath eofill 45 rotate .775 .775 scale BoldCrossPath fill } def
+ /SolidOtimes {CirclePath 45 rotate .775 .775 scale BoldCrossPath eofill} def
+ /BarPath {40 660 moveto -40 660 lineto -40 -660 lineto 40 -660 lineto closepath} def
+ /Bar {BarPath fill} def
+ /BoldBarPath {80 660 moveto -80 660 lineto -80 -660 lineto 80 -660 lineto closepath} def
+ /BoldBar {BoldBarPath fill} def
+ /DiamondPath {0 742.5 moveto -428.5 0 lineto 0 -742.5 lineto 428.5 0 lineto closepath} def
+ /SolidDiamond {DiamondPath fill} def
+ /Diamond {DiamondPath .865 .865 scale DiamondPath eofill} def
+ /BoldDiamond {DiamondPath .73 .73 scale DiamondPath eofill} def
+%%%
+ /.notdef { } def
+end
+%
+/BuildGlyph {
+ exch
+ begin
+% Metrics 1 index get exec 0
+ 0 0
+% BBoxes 3 index get exec
+ -1000 -1000 1000 1000
+% -571.5 -742.5 571.5 742.5
+ setcachedevice
+ CharProcs begin load exec end
+ end
+} def
+%
+/BuildChar {
+ 1 index /Encoding get exch get
+ 1 index /BuildGlyph get exec
+} bind def
+%
+end
+/PSTricksDotFont exch definefont pop
+%
+%% end
+
+%%EndProcSet
+%%BeginProcSet: pst-node.pro 0 0
+% $Id: pst-node.pro 645 2012-02-12 09:09:51Z herbert $
+%%
+%% PostScript prologue for pst-node.tex.
+%% Version 1.13, 2011/11/21.
+%%
+%% This program can be redistributed and/or modified under the terms
+%% of the LaTeX Project Public License Distributed from CTAN archives
+%% in directory macros/latex/base/lppl.txt.
+%
+/tx@NodeDict 400 dict def tx@NodeDict begin
+tx@Dict begin % from main pstricks dict
+ /T /translate load def
+ /CP /currentpoint load def
+end
+/NewNode { % on stack: { x y } boolean N@name type InitXnode
+ gsave
+ NodeScale % a bugfix for xelatex, it's empty for dvips
+ /next exch def % { x y } boolean N@name type
+ dict dup % { x y } boolean N@name dict dict
+ 3 1 roll def % { x y } boolean dict N@name dict def
+ exch { dup 3 1 roll def } if % { x y } dict boolean
+ begin % { x y } dict begin
+ tx@Dict begin
+ STV CP T exec % set scaling
+ end
+ /NodeMtrx CM def % save CM
+ next % InitXNode
+ end
+ grestore
+} def
+%
+/InitPnode {
+ /Y ED /X ED
+ /NodePos { NodeSep Cos mul NodeSep Sin mul } def
+} def
+%
+/InitCnode {
+ /r ED /Y ED /X ED
+ /NodePos { NodeSep r add dup Cos mul exch Sin mul } def
+} def
+%
+/GetRnodePos {
+ Cos 0 gt { /dx r NodeSep add def } { /dx l NodeSep sub def } ifelse
+ Sin 0 gt { /dy u NodeSep add def } { /dy d NodeSep sub def } ifelse
+ dx Sin mul abs dy
+ Cos mul abs gt { dy Cos mul Sin div dy } { dx dup Sin mul Cos Div } ifelse
+} def
+%
+/InitRnode {
+ /Y ED /X ED X sub /r ED /l X neg def Y add neg /d ED Y sub /u ED
+ /NodePos { GetRnodePos } def
+} def
+%
+/DiaNodePos {
+ w h mul w Sin mul abs h Cos mul abs add Div NodeSep add dup
+ Cos mul exch Sin mul
+} def
+%
+/TriNodePos {
+ Sin s lt
+ { d NodeSep sub dup Cos mul Sin Div exch }
+ { w h mul w Sin mul h Cos abs mul add Div
+ NodeSep add dup Cos mul exch Sin mul
+ } ifelse
+} def
+%
+/InitTriNode {
+ sub 2 div exch
+ 2 div exch
+ 2 copy T
+ 2 copy 4 index index /d ED
+ pop pop pop pop
+ -90 mul rotate
+ /NodeMtrx CM def
+ /X 0 def /Y 0 def
+ d sub abs neg /d ED
+ d add /h ED
+ 2 div h mul h d sub Div /w ED
+ /s d w Atan sin def
+ /NodePos { TriNodePos } def
+} def
+%
+/OvalNodePos {
+ /ww w NodeSep add def
+ /hh h NodeSep add def
+ Sin ww mul Cos hh mul Atan dup cos ww mul exch sin hh mul
+} def
+%
+/GetCenter { begin X Y NodeMtrx transform CM itransform end } def
+%
+/XYPos {
+ dup sin exch cos Do
+ /Cos ED /Sin ED /Dist ED
+ Cos 0 gt
+ { Dist Dist Sin mul Cos div }
+ { Cos 0 lt
+ { Dist neg Dist Sin mul Cos div neg }
+ { 0 Dist Sin mul } ifelse
+ } ifelse
+ Do
+} def
+%
+/GetEdge {
+ dup 0 eq
+ { pop begin 1 0 NodeMtrx dtransform
+ CM idtransform
+ exch atan sub
+ dup
+ sin /Sin ED
+ cos /Cos ED
+ /NodeSep ED
+ NodePos NodeMtrx dtransform CM idtransform end }
+ { 1 eq {{exch}} {{}} ifelse /Do ED pop XYPos } ifelse
+} def
+%
+/AddOffset {
+ 1 index 0 eq
+ { pop pop }
+ { 2 copy 5 2 roll cos mul add 4 1 roll sin mul sub exch } ifelse
+} def
+%
+/GetEdgeA {
+ NodeSepA AngleA NodeA NodeSepTypeA GetEdge
+ OffsetA AngleA AddOffset
+ yA add /yA1 ED
+ xA add /xA1 ED
+} def
+%
+/GetEdgeB {
+ NodeSepB AngleB NodeB NodeSepTypeB GetEdge
+ OffsetB AngleB AddOffset
+ yB add /yB1 ED
+ xB add /xB1 ED
+} def
+%
+/GetArmA {
+ ArmTypeA 0 eq
+ { /xA2 ArmA AngleA cos mul xA1 add def
+ /yA2 ArmA AngleA sin mul yA1 add def }
+ { ArmTypeA 1 eq {{exch}} {{}} ifelse
+ /Do ED
+ ArmA AngleA XYPos OffsetA AngleA AddOffset
+ yA add /yA2 ED
+ xA add /xA2 ED } ifelse
+} def
+%
+/GetArmB {
+ ArmTypeB 0 eq
+ { /xB2 ArmB AngleB cos mul xB1 add def
+ /yB2 ArmB AngleB sin mul yB1 add def }
+ { ArmTypeB 1 eq {{exch}} {{}} ifelse
+ /Do ED
+ ArmB AngleB XYPos OffsetB AngleB AddOffset
+ yB add /yB2 ED
+ xB add /xB2 ED } ifelse
+} def
+%
+/InitNC {
+ /b ED /a ED % second and first node
+ /NodeSepTypeB ED /NodeSepTypeA ED
+ /NodeSepB ED /NodeSepA ED
+ /OffsetB ED /OffsetA ED
+ tx@NodeDict a known tx@NodeDict b known and dup {
+ /NodeA a load def
+ /NodeB b load def
+ NodeA GetCenter /yA ED /xA ED
+ NodeB GetCenter /yB ED /xB ED } if
+} def
+%
+/LPutLine {
+ 4 copy
+ 3 -1 roll sub neg 3 1 roll sub Atan /NAngle ED
+ 1 t sub mul
+ 3 1 roll 1 t sub mul
+ 4 1 roll t mul add /Y ED
+ t mul add /X ED
+} def
+%
+/LPutLines {
+ mark LPutVar counttomark 2 div 1 sub /n ED
+% t floor dup n gt
+ t floor dup n ge % to allow npos<= hv 2008-08-14
+ { pop n 1 sub /t 1 def } { dup t sub neg /t ED } ifelse
+ cvi 2 mul { pop } repeat
+ LPutLine
+ cleartomark
+} def
+%
+/BezierMidpoint {
+ /y3 ED /x3 ED /y2 ED /x2 ED /y1 ED /x1 ED /y0 ED /x0 ED /t ED
+ /cx x1 x0 sub 3 mul def
+ /cy y1 y0 sub 3 mul def
+ /bx x2 x1 sub 3 mul cx sub def
+ /by y2 y1 sub 3 mul cy sub def
+ /ax x3 x0 sub cx sub bx sub def
+ /ay y3 y0 sub cy sub by sub def
+ ax t 3 exp mul bx t t mul mul add
+ cx t mul add x0 add ay t 3 exp mul
+ by t t mul mul add cy t mul add
+ y0 add 3 ay t t mul mul mul 2
+ by t mul mul add cy add 3 ax t t mul mul mul
+ 2 bx t mul mul add cx add atan /NAngle ED
+ /Y ED /X ED
+} def
+%
+/HPosBegin { yB yA ge { /t 1 t sub def } if /Y yB yA sub t mul yA add def
+} def
+/HPosEnd { /X Y yyA sub yyB yyA sub Div xxB xxA sub mul xxA add def
+/NAngle yyB yyA sub xxB xxA sub Atan def } def
+/HPutLine { HPosBegin /yyA ED /xxA ED /yyB ED /xxB ED HPosEnd } def
+/HPutLines { HPosBegin yB yA ge { /check { le } def } { /check { ge } def
+} ifelse /xxA xA def /yyA yA def mark xB yB LPutVar { dup Y check { exit
+} { /yyA ED /xxA ED } ifelse } loop /yyB ED /xxB ED cleartomark HPosEnd
+} def
+/VPosBegin { xB xA lt { /t 1 t sub def } if /X xB xA sub t mul xA add def
+} def
+/VPosEnd { /Y X xxA sub xxB xxA sub Div yyB yyA sub mul yyA add def
+/NAngle yyB yyA sub xxB xxA sub Atan def } def
+/VPutLine { VPosBegin /yyA ED /xxA ED /yyB ED /xxB ED VPosEnd } def
+/VPutLines { VPosBegin xB xA ge { /check { le } def } { /check { ge } def
+} ifelse /xxA xA def /yyA yA def mark xB yB LPutVar { 1 index X check {
+exit } { /yyA ED /xxA ED } ifelse } loop /yyB ED /xxB ED cleartomark
+VPosEnd } def
+/HPutCurve { gsave newpath /SaveLPutVar /LPutVar load def LPutVar 8 -2
+roll moveto curveto flattenpath /LPutVar [ {} {} {} {} pathforall ] cvx
+def grestore exec /LPutVar /SaveLPutVar load def } def
+/NCCoor { /AngleA yB yA sub xB xA sub Atan def /AngleB AngleA 180 add def
+GetEdgeA GetEdgeB /LPutVar [ xB1 yB1 xA1 yA1 ] cvx def /LPutPos {
+LPutVar LPutLine } def /HPutPos { LPutVar HPutLine } def /VPutPos {
+LPutVar VPutLine } def LPutVar } def
+%
+/NCLine {
+ NCCoor
+ tx@Dict begin
+ ArrowA CP 4 2 roll
+ ArrowB
+ lineto pop pop
+ end
+} def
+%
+/NCLines {
+ false NArray
+ n 0 eq
+ { NCLine }
+ { 2 copy yA sub exch xA sub Atan /AngleA ED
+ n 2 mul dup index exch index yB sub exch xB sub
+ Atan /AngleB ED
+ GetEdgeA GetEdgeB
+ /LPutVar [ xB1 yB1 n 2 mul 4 add 4 roll xA1 yA1 ] cvx def
+ mark LPutVar
+ tx@Dict begin false Line end
+ /LPutPos { LPutLines } def
+ /HPutPos { HPutLines } def
+ /VPutPos { VPutLines } def
+ } ifelse
+} def
+%
+/NCCurve {
+ GetEdgeA
+ GetEdgeB
+ xA1 xB1 sub yA1 yB1 sub Pyth 2 div dup 3 -1
+roll mul /ArmA ED mul /ArmB ED /ArmTypeA 0 def /ArmTypeB 0 def GetArmA
+GetArmB xA2 yA2 xA1 yA1 tx@Dict begin ArrowA end xB2 yB2 xB1 yB1 tx@Dict
+begin ArrowB end curveto /LPutVar [ xA1 yA1 xA2 yA2 xB2 yB2 xB1 yB1 ]
+cvx def /LPutPos { t LPutVar BezierMidpoint } def /HPutPos { { HPutLines
+} HPutCurve } def /VPutPos { { VPutLines } HPutCurve } def } def
+%
+/NCAngles {
+ GetEdgeA GetEdgeB GetArmA GetArmB
+ /mtrx AngleA matrix rotate def
+ xA2 yA2 mtrx transform pop
+ xB2 yB2 mtrx transform exch pop
+ mtrx itransform
+ /y0 ED /x0 ED
+ mark ArmB 0 ne { xB1 yB1 } if
+ xB2 yB2 x0 y0 xA2 yA2
+ ArmA 0 ne { xA1 yA1 } if
+ tx@Dict begin false Line end
+ /LPutVar [ xB1 yB1 xB2 yB2 x0 y0 xA2 yA2 xA1 yA1 ] cvx def
+ /LPutPos { LPutLines } def
+ /HPutPos { HPutLines } def
+ /VPutPos { VPutLines } def } def
+%
+/NCAngle {
+ GetEdgeA GetEdgeB GetArmB
+ /mtrx AngleA matrix rotate def
+ xB2 yB2 mtrx itransform pop xA1 yA1 mtrx itransform exch pop mtrx transform
+ /y0 ED /x0 ED
+ mark
+ ArmB 0 ne { xB1 yB1 } if
+ xB2 yB2 x0 y0 xA1 yA1
+ tx@Dict begin false Line end
+ /LPutVar [ xB1 yB1 xB2 yB2 x0 y0 xA1 yA1 ] cvx def
+ /LPutPos { LPutLines } def
+ /HPutPos { HPutLines } def
+ /VPutPos { VPutLines } def
+} def
+%
+/NCBar {
+ GetEdgeA GetEdgeB GetArmA GetArmB
+ /mtrx AngleA matrix rotate def
+ xA2 yA2 mtrx itransform pop
+ xB2 yB2 mtrx itransform pop
+ sub dup 0 mtrx transform
+ 3 -1 roll 0 gt
+ { /yB2 exch yB2 add def /xB2 exch xB2 add def }
+ { /yA2 exch neg yA2 add def /xA2 exch neg xA2 add def } ifelse
+ mark
+ ArmB 0 ne { xB1 yB1 } if
+ xB2 yB2 xA2 yA2 ArmA 0 ne { xA1 yA1 } if
+ tx@Dict begin false Line end
+ /LPutVar [ xB1 yB1 xB2 yB2 xA2 yA2 xA1 yA1 ] cvx def
+ /LPutPos { LPutLines } def
+ /HPutPos { HPutLines } def
+ /VPutPos { VPutLines } def
+} def
+%
+/NCDiag {
+ /lineAngle ED
+ GetEdgeA GetEdgeB GetArmA GetArmB mark
+ lineAngle abs 0 gt {
+ /xTemp xA2 10 add def
+ /yTemp yA2 lineAngle dup sin exch cos div 10 mul add def
+ /dY1 yTemp yA2 sub def
+ /dX1 xTemp xA2 sub def
+ /dY2 yB2 yB1 sub def
+ /dX2 xB2 xB1 sub def
+ dX1 abs 0.01 lt {
+ /m2 dY2 dX2 div def
+ /xB2 xA2 def
+ /yB2 xA2 xB1 sub m2 mul yB1 add def
+ }{
+ dX2 abs 0.01 lt {
+ /m1 dY1 dX1 div def
+ /xB2 xB1 def
+ /yB2 xB1 xA2 sub m1 mul yA2 add def
+ }{%
+ /m1 dY1 dX1 div def
+ /m2 dY2 dX2 div def
+ /xB2 m1 xA2 mul m2 xB1 mul sub yA2 sub yB1 add m1 m2 sub div def
+ /yB2 xB2 xA2 sub m1 mul yA2 add def
+ } ifelse
+ } ifelse
+ } if
+ ArmB 0 ne { xB1 yB1 } if
+ xB2 yB2 xA2 yA2
+ ArmA 0 ne { xA1 yA1 } if
+ tx@Dict begin false Line end
+ /LPutVar [ xB1 yB1 xB2 yB2 xA2 yA2 xA1 yA1 ] cvx def
+ /LPutPos { LPutLines } def
+ /HPutPos { HPutLines } def
+ /VPutPos { VPutLines } def
+%
+% GetEdgeA GetEdgeB GetArmA GetArmB mark
+% ArmB 0 ne { xB1 yB1 } if
+% xB2 yB2 xA2 yA2
+% ArmA 0 ne { xA1 yA1 } if
+% tx@Dict begin false Line end
+% /LPutVar [ xB1 yB1 xB2 yB2 xA2 yA2 xA1 yA1 ] cvx def
+% /LPutPos { LPutLines } def
+% /HPutPos { HPutLines } def
+% /VPutPos { VPutLines } def
+} def
+%
+/NCDiagg {
+ /lineAngle ED
+ GetEdgeA GetArmA
+ lineAngle abs 0 gt
+ { lineAngle }
+ { yB yA2 sub xB xA2 sub Atan 180 add } ifelse
+ /AngleB ED
+ GetEdgeB mark
+ lineAngle abs 0 gt {
+ /dY2 yA2 yA1 sub def
+ /dX2 xA2 xA1 sub def
+ lineAngle abs 90 eq {
+ /m2 dY2 dX2 div def
+ /yA2 xB xA2 sub m2 mul yA2 add def
+ /xA2 xB def
+ }{
+ /m1 lineAngle dup sin exch cos div def % tan alpha
+ dX2 abs 0.01 lt {
+ /yA2 xA1 xB sub m1 mul yB add def
+ /xA2 xA1 def
+ }{%
+ /m2 dY2 dX2 div def
+ /xA2 m1 xB mul m2 xA2 mul sub yA2 add yB sub m1 m2 sub div def
+ /yA2 xA2 xB sub m1 mul yB add def
+ } ifelse
+ } ifelse
+ } if
+ xB1 yB1 xA2 yA2
+ ArmA 0 ne { xA1 yA1 } if
+ tx@Dict begin false Line end
+ /LPutVar [ xB1 yB1 xA2 yA2 xA1 yA1 ] cvx def
+ /LPutPos { LPutLines } def
+ /HPutPos { HPutLines } def
+ /VPutPos { VPutLines } def
+%
+% GetEdgeA GetArmA
+% yB yA2 sub xB xA2 sub Atan 180 add /AngleB ED
+% GetEdgeB
+% mark
+% xB1 yB1 xA2 yA2
+% ArmA 0 ne { xA1 yA1 } if
+% tx@Dict begin false Line end
+% /LPutVar [ xB1 yB1 xA2 yA2 xA1 yA1 ] cvx def
+% /LPutPos { LPutLines } def
+% /HPutPos { HPutLines } def
+% /VPutPos { VPutLines } def
+} def
+%
+/NCLoop {
+ GetEdgeA GetEdgeB GetArmA GetArmB
+ /mtrx AngleA matrix rotate def
+ xA2 yA2 mtrx transform loopsize add /yA3 ED /xA3 ED
+ /xB3 xB2 yB2 mtrx transform pop def
+ xB3 yA3 mtrx itransform /yB3 ED /xB3 ED
+ xA3 yA3 mtrx itransform /yA3 ED /xA3 ED
+ mark ArmB 0 ne { xB1 yB1 } if
+ xB2 yB2 xB3 yB3 xA3 yA3 xA2 yA2 ArmA 0 ne { xA1 yA1 } if
+ tx@Dict begin false Line end
+ /LPutVar [ xB1 yB1 xB2 yB2 xB3 yB3 xA3 yA3 xA2 yA2 xA1 yA1 ] cvx def
+ /LPutPos { LPutLines } def
+ /HPutPos { HPutLines } def
+ /VPutPos { VPutLines } def
+} def
+%
+% DG/SR modification begin - May 9, 1997 - Patch 1
+%/NCCircle { 0 0 NodesepA nodeA \tx@GetEdge pop xA sub 2 div dup 2 exp r
+%r mul sub abs sqrt atan 2 mul /a ED r AngleA 90 add PtoC yA add exch xA add
+%exch 2 copy /LPutVar [ 4 2 roll r AngleA ] cvx def /LPutPos { LPutVar t 360
+%mul add dup 5 1 roll 90 sub \tx@PtoC 3 -1 roll add /Y ED add /X ED /NAngle ED
+%
+/NCCircle {
+ NodeSepA 0 NodeA 0 GetEdge pop
+ 2 div dup 2 exp r r mul sub abs sqrt
+ atan 2 mul /a ED
+ r AngleA 90 add PtoC yA add exch xA add
+ exch 2 copy
+ /LPutVar [ 4 2 roll r AngleA ] cvx def
+ /LPutPos {
+ LPutVar t 360 mul add dup 5 1 roll 90 sub PtoC
+ 3 -1 roll add
+ /Y ED add /X ED /NAngle ED
+% DG/SR modification end
+ } def
+ /HPutPos { LPutPos } def
+ /VPutPos { LPutPos } def
+ r AngleA 90 sub a add AngleA 270 add a sub
+ tx@Dict begin
+ /angleB ED /angleA ED /r ED
+ /c 57.2957 r Div def
+ /y ED /x ED
+} def
+%
+/NCBox {
+ /d ED /h ED
+ /AngleB yB yA sub xB xA sub Atan def
+ /AngleA AngleB 180 add def
+ GetEdgeA GetEdgeB
+ /dx d AngleB sin mul def
+ /dy d AngleB cos mul neg def
+ /hx h AngleB sin mul neg def
+ /hy h AngleB cos mul def
+ /LPutVar [
+ xA1 hx add yA1 hy add xB1 hx add yB1 hy add
+ xB1 dx add yB1 dy add xA1 dx add yA1 dy add ] cvx def
+ /LPutPos { LPutLines } def
+ /HPutPos { xB yB xA yA LPutLine } def
+ /VPutPos { HPutPos } def
+ mark
+ LPutVar tx@Dict begin false Polygon end
+} def
+%
+/NCArcBox {
+ /l ED neg /d ED /h ED /a ED
+ /AngleA yB yA sub xB xA sub Atan def
+ /AngleB AngleA 180 add def
+ /tA AngleA a sub 90 add def
+ /tB tA a 2 mul add def
+ /r xB xA sub tA cos tB cos sub Div dup 0 eq { pop 1 } if def
+ /x0 xA r tA cos mul add def
+ /y0 yA r tA sin mul add def
+ /c 57.2958 r div def
+ /AngleA AngleA a sub 180 add def
+ /AngleB AngleB a add 180 add def
+ GetEdgeA GetEdgeB
+ /AngleA tA 180 add yA yA1 sub xA xA1 sub Pyth c mul sub def
+ /AngleB tB 180 add yB yB1 sub xB xB1 sub Pyth c mul add def
+ l 0 eq {
+ x0 y0 r h add AngleA AngleB arc x0 y0 r d add AngleB AngleA arcn
+ }{
+ x0 y0 translate
+ /tA AngleA l c mul add def
+ /tB AngleB l c mul sub def
+ 0 0 r h add tA tB arc r h add
+ AngleB PtoC r d add
+ AngleB PtoC 2 copy
+ 6 2 roll l arcto 4 { pop } repeat
+ r d add tB PtoC l arcto 4 { pop } repeat
+ 0 0 r d add tB tA arcn r d add
+ AngleA PtoC r h add
+ AngleA PtoC 2 copy 6 2 roll
+ l arcto 4 { pop } repeat
+ r h add tA PtoC l arcto 4 { pop } repeat
+ } ifelse
+ closepath
+ /LPutVar [ x0 y0 r AngleA AngleB h d ] cvx def
+ /LPutPos {
+ LPutVar /d ED /h ED
+ /AngleB ED /AngleA ED
+ /r ED /y0 ED /x0 ED
+ t 1 le {
+ r h add AngleA 1 t sub mul AngleB t mul add dup 90 add /NAngle ED PtoC
+ }{t 2 lt {
+ /NAngle AngleB 180 add def r 2 t sub
+ h mul t 1 sub d mul add add AngleB PtoC
+ }{
+ t 3 lt {
+ r d add AngleB 3 t sub mul AngleA 2 t sub
+ mul add dup 90 sub /NAngle ED PtoC
+ }{
+ /NAngle AngleA 180 add def
+ r 4 t sub d mul t 3 sub h mul add add AngleA PtoC
+ } ifelse
+ } ifelse
+ } ifelse
+ y0 add /Y ED x0 add /X ED
+ } def
+ /HPutPos { LPutPos } def
+ /VPutPos { LPutPos } def
+} def
+%
+/Tfan { /AngleA yB yA sub xB xA sub Atan def GetEdgeA w xA1 xB sub yA1 yB
+sub Pyth Pyth w Div CLW 2 div mul 2 div dup AngleA sin mul yA1 add /yA1
+ED AngleA cos mul xA1 add /xA1 ED /LPutVar [ xA1 yA1 m { xB w add yB xB
+w sub yB } { xB yB w sub xB yB w add } ifelse xA1 yA1 ] cvx def /LPutPos
+{ LPutLines } def /VPutPos@ { LPutVar flag { 8 4 roll pop pop pop pop }
+{ pop pop pop pop 4 2 roll } ifelse } def /VPutPos { VPutPos@ VPutLine }
+def /HPutPos { VPutPos@ HPutLine } def mark LPutVar tx@Dict begin
+/ArrowA { moveto } def /ArrowB { } def false Line closepath end } def
+%
+/LPutCoor {
+ NAngle
+ tx@Dict begin /NAngle ED end
+ gsave
+ CM STV
+ CP Y sub neg exch X sub neg exch moveto
+ setmatrix CP
+ grestore
+} def
+%
+/LPut {
+ tx@NodeDict /LPutPos known
+ { LPutPos } { CP /Y ED /X ED /NAngle 0 def } ifelse
+ LPutCoor
+} def
+%
+/HPutAdjust {
+ Sin Cos mul 0 eq
+ { 0 }
+ { d Cos mul Sin div flag not { neg } if
+ h Cos mul Sin div flag { neg } if
+ 2 copy gt { pop } { exch pop } ifelse
+ } ifelse
+ s add flag { r add neg }{ l add } ifelse
+ X add /X ED
+} def
+%
+/VPutAdjust {
+ Sin Cos mul
+ 0 eq
+ { 0 }
+ { l Sin mul Cos div flag { neg } if
+ r Sin mul Cos div flag not { neg } if
+ 2 copy gt { pop } { exch pop } ifelse
+ } ifelse
+ s add flag { d add } { h add neg } ifelse
+ Y add /Y ED
+} def
+%
+%
+end
+%
+% END pst-node.pro
+
+%%EndProcSet
+%%BeginProcSet: cm-super-ts1.enc 0 0
+% This file is generated from `TS1uni.map' and `glyphlist.txt', `gl-other.txt'
+/TS1Encoding [
+% 0x00
+/Grave
+/Acute
+/Circumflex % ?
+/Tilde % ?
+/Dieresis
+/Hungarumlaut
+/Ring % ?
+/Caron
+/Breve % ?
+/Macron
+/Dotaccent % ?
+/cedilla
+/ogonek
+/quotesinglbase.ts1
+/.notdef
+/.notdef
+% 0x10
+/.notdef
+/.notdef
+/quotedblbase.ts1
+/.notdef
+/.notdef
+/twelveudash % ?
+/threequartersemdash
+/afii61664.cap % ?
+/arrowleft
+/arrowright
+/tieaccentlowercase % ?
+/tieaccentcapital % ?
+/tieaccentlowercase.new % ?
+/tieaccentcapital.new % ?
+/.notdef
+/afii61664.asc % ?
+% 0x20
+/uni2422
+/.notdef
+/.notdef
+/.notdef
+/dollar
+/.notdef
+/.notdef
+/quotesingle
+/.notdef
+/.notdef
+/asteriskmath
+/.notdef
+/comma
+/hyphendbl % ?
+/period
+/fraction
+% 0x30
+/zerooldstyle
+/oneoldstyle
+/twooldstyle
+/threeoldstyle
+/fouroldstyle
+/fiveoldstyle
+/sixoldstyle
+/sevenoldstyle
+/eightoldstyle
+/nineoldstyle
+/.notdef
+/.notdef
+/angleleft
+/minus
+/angleright
+/.notdef
+% 0x40
+/.notdef
+/.notdef
+/.notdef
+/.notdef
+/.notdef
+/.notdef
+/.notdef
+/.notdef
+/.notdef
+/.notdef
+/.notdef
+/.notdef
+/.notdef
+/uni2127
+/.notdef
+/circle
+% 0x50
+/.notdef
+/.notdef
+/.notdef
+/.notdef
+/.notdef
+/.notdef
+/.notdef
+/Omega
+/.notdef
+/.notdef
+/.notdef
+/uni301A
+/.notdef
+/uni301B
+/arrowup
+/arrowdown
+% 0x60
+/grave.ts1
+/.notdef
+/born % ?
+/divorced % ?
+/died % ?
+/.notdef
+/.notdef
+/.notdef
+/.notdef
+/.notdef
+/.notdef
+/.notdef
+/leaf % ?
+/married % ?
+/musicalnote
+/.notdef
+% 0x70
+/.notdef
+/.notdef
+/.notdef
+/.notdef
+/.notdef
+/.notdef
+/.notdef
+/.notdef
+/.notdef
+/.notdef
+/.notdef
+/.notdef
+/.notdef
+/.notdef
+/tildelow % ?
+/hyphendbl.alt % ?
+% 0x80
+/breve.ts1
+/caron.ts1
+/hungarumlaut.ts1
+/dblgrave.ts1
+/dagger
+/daggerdbl
+/uni2016
+/perthousand
+/bullet
+/uni2103
+/dollaroldstyle
+/centoldstyle
+/florin
+/colonmonetary
+/uni20A9
+/uni20A6
+% 0x90
+/guarani % ?
+/peso % ?
+/lira
+/recipe % ?
+/uni203D
+/gnaborretni % ?
+/dong
+/trademark
+/uni2031
+/paragraph.alt % ?
+/uni0E3F
+/afii61352
+/discount % ?
+/estimated
+/openbullet
+/uni2120
+% 0xA0
+/uni2045
+/uni2046
+/cent
+/sterling
+/currency
+/yen
+/brokenbar
+/section
+/dieresis.ts1
+/copyright
+/ordfeminine
+/copyleft % ?
+/logicalnot
+/uni2117
+/registered
+/macron.ts1
+% 0xB0
+/degree
+/plusminus
+/twosuperior
+/threesuperior
+/acute.ts1
+/mu
+/paragraph
+/periodcentered
+/uni203B
+/onesuperior
+/ordmasculine
+/radical
+/onequarter
+/onehalf
+/threequarters
+/Euro % or /Euro.alt
+% 0xC0
+/.notdef
+/.notdef
+/.notdef
+/.notdef
+/.notdef
+/.notdef
+/.notdef
+/.notdef
+/.notdef
+/.notdef
+/.notdef
+/.notdef
+/.notdef
+/.notdef
+/.notdef
+/.notdef
+% 0xD0
+/.notdef
+/.notdef
+/.notdef
+/.notdef
+/.notdef
+/.notdef
+/multiply
+/.notdef
+/.notdef
+/.notdef
+/.notdef
+/.notdef
+/.notdef
+/.notdef
+/.notdef
+/.notdef
+% 0xE0
+/.notdef
+/.notdef
+/.notdef
+/.notdef
+/.notdef
+/.notdef
+/.notdef
+/.notdef
+/.notdef
+/.notdef
+/.notdef
+/.notdef
+/.notdef
+/.notdef
+/.notdef
+/.notdef
+% 0xF0
+/.notdef
+/.notdef
+/.notdef
+/.notdef
+/.notdef
+/.notdef
+/divide
+/.notdef
+/.notdef
+/.notdef
+/.notdef
+/.notdef
+/.notdef
+/.notdef
+/.notdef
+/.notdef
+] def
+
+%%EndProcSet
+%%BeginProcSet: texps.pro 0 0
+%!
+TeXDict begin/rf{findfont dup length 1 add dict begin{1 index/FID ne 2
+index/UniqueID ne and{def}{pop pop}ifelse}forall[1 index 0 6 -1 roll
+exec 0 exch 5 -1 roll VResolution Resolution div mul neg 0 0]FontType 0
+ne{/Metrics exch def dict begin Encoding{exch dup type/integertype ne{
+pop pop 1 sub dup 0 le{pop}{[}ifelse}{FontMatrix 0 get div Metrics 0 get
+div def}ifelse}forall Metrics/Metrics currentdict end def}{{1 index type
+/nametype eq{exit}if exch pop}loop}ifelse[2 index currentdict end
+definefont 3 -1 roll makefont/setfont cvx]cvx def}def/ObliqueSlant{dup
+sin S cos div neg}B/SlantFont{4 index mul add}def/ExtendFont{3 -1 roll
+mul exch}def/ReEncodeFont{CharStrings rcheck{/Encoding false def dup[
+exch{dup CharStrings exch known not{pop/.notdef/Encoding true def}if}
+forall Encoding{]exch pop}{cleartomark}ifelse}if/Encoding exch def}def
+end
+
+%%EndProcSet
+%%BeginProcSet: special.pro 0 0
+%!
+TeXDict begin/SDict 200 dict N SDict begin/@SpecialDefaults{/hs 612 N
+/vs 792 N/ho 0 N/vo 0 N/hsc 1 N/vsc 1 N/ang 0 N/CLIP 0 N/rwiSeen false N
+/rhiSeen false N/letter{}N/note{}N/a4{}N/legal{}N}B/@scaleunit 100 N
+/@hscale{@scaleunit div/hsc X}B/@vscale{@scaleunit div/vsc X}B/@hsize{
+/hs X/CLIP 1 N}B/@vsize{/vs X/CLIP 1 N}B/@clip{/CLIP 2 N}B/@hoffset{/ho
+X}B/@voffset{/vo X}B/@angle{/ang X}B/@rwi{10 div/rwi X/rwiSeen true N}B
+/@rhi{10 div/rhi X/rhiSeen true N}B/@llx{/llx X}B/@lly{/lly X}B/@urx{
+/urx X}B/@ury{/ury X}B/magscale true def end/@MacSetUp{userdict/md known
+{userdict/md get type/dicttype eq{userdict begin md length 10 add md
+maxlength ge{/md md dup length 20 add dict copy def}if end md begin
+/letter{}N/note{}N/legal{}N/od{txpose 1 0 mtx defaultmatrix dtransform S
+atan/pa X newpath clippath mark{transform{itransform moveto}}{transform{
+itransform lineto}}{6 -2 roll transform 6 -2 roll transform 6 -2 roll
+transform{itransform 6 2 roll itransform 6 2 roll itransform 6 2 roll
+curveto}}{{closepath}}pathforall newpath counttomark array astore/gc xdf
+pop ct 39 0 put 10 fz 0 fs 2 F/|______Courier fnt invertflag{PaintBlack}
+if}N/txpose{pxs pys scale ppr aload pop por{noflips{pop S neg S TR pop 1
+-1 scale}if xflip yflip and{pop S neg S TR 180 rotate 1 -1 scale ppr 3
+get ppr 1 get neg sub neg ppr 2 get ppr 0 get neg sub neg TR}if xflip
+yflip not and{pop S neg S TR pop 180 rotate ppr 3 get ppr 1 get neg sub
+neg 0 TR}if yflip xflip not and{ppr 1 get neg ppr 0 get neg TR}if}{
+noflips{TR pop pop 270 rotate 1 -1 scale}if xflip yflip and{TR pop pop
+90 rotate 1 -1 scale ppr 3 get ppr 1 get neg sub neg ppr 2 get ppr 0 get
+neg sub neg TR}if xflip yflip not and{TR pop pop 90 rotate ppr 3 get ppr
+1 get neg sub neg 0 TR}if yflip xflip not and{TR pop pop 270 rotate ppr
+2 get ppr 0 get neg sub neg 0 S TR}if}ifelse scaleby96{ppr aload pop 4
+-1 roll add 2 div 3 1 roll add 2 div 2 copy TR .96 dup scale neg S neg S
+TR}if}N/cp{pop pop showpage pm restore}N end}if}if}N/normalscale{
+Resolution 72 div VResolution 72 div neg scale magscale{DVImag dup scale
+}if 0 setgray}N/psfts{S 65781.76 div N}N/startTexFig{/psf$SavedState
+save N userdict maxlength dict begin/magscale true def normalscale
+currentpoint TR/psf$ury psfts/psf$urx psfts/psf$lly psfts/psf$llx psfts
+/psf$y psfts/psf$x psfts currentpoint/psf$cy X/psf$cx X/psf$sx psf$x
+psf$urx psf$llx sub div N/psf$sy psf$y psf$ury psf$lly sub div N psf$sx
+psf$sy scale psf$cx psf$sx div psf$llx sub psf$cy psf$sy div psf$ury sub
+TR/showpage{}N/erasepage{}N/setpagedevice{pop}N/copypage{}N/p 3 def
+@MacSetUp}N/doclip{psf$llx psf$lly psf$urx psf$ury currentpoint 6 2 roll
+newpath 4 copy 4 2 roll moveto 6 -1 roll S lineto S lineto S lineto
+closepath clip newpath moveto}N/endTexFig{end psf$SavedState restore}N
+/@beginspecial{SDict begin/SpecialSave save N gsave normalscale
+currentpoint TR @SpecialDefaults count/ocount X/dcount countdictstack N}
+N/@setspecial{CLIP 1 eq{newpath 0 0 moveto hs 0 rlineto 0 vs rlineto hs
+neg 0 rlineto closepath clip}if ho vo TR hsc vsc scale ang rotate
+rwiSeen{rwi urx llx sub div rhiSeen{rhi ury lly sub div}{dup}ifelse
+scale llx neg lly neg TR}{rhiSeen{rhi ury lly sub div dup scale llx neg
+lly neg TR}if}ifelse CLIP 2 eq{newpath llx lly moveto urx lly lineto urx
+ury lineto llx ury lineto closepath clip}if/showpage{}N/erasepage{}N
+/setpagedevice{pop}N/copypage{}N newpath}N/@endspecial{count ocount sub{
+pop}repeat countdictstack dcount sub{end}repeat grestore SpecialSave
+restore end}N/@defspecial{SDict begin}N/@fedspecial{end}B/li{lineto}B
+/rl{rlineto}B/rc{rcurveto}B/np{/SaveX currentpoint/SaveY X N 1
+setlinecap newpath}N/st{stroke SaveX SaveY moveto}N/fil{fill SaveX SaveY
+moveto}N/ellipse{/endangle X/startangle X/yrad X/xrad X/savematrix
+matrix currentmatrix N TR xrad yrad scale 0 0 1 startangle endangle arc
+savematrix setmatrix}N end
+
+%%EndProcSet
+%%BeginProcSet: color.pro 0 0
+%!
+TeXDict begin/setcmykcolor where{pop}{/setcmykcolor{dup 10 eq{pop
+setrgbcolor}{1 sub 4 1 roll 3{3 index add neg dup 0 lt{pop 0}if 3 1 roll
+}repeat setrgbcolor pop}ifelse}B}ifelse/TeXcolorcmyk{setcmykcolor}def
+/TeXcolorrgb{setrgbcolor}def/TeXcolorgrey{setgray}def/TeXcolorgray{
+setgray}def/TeXcolorhsb{sethsbcolor}def/currentcmykcolor where{pop}{
+/currentcmykcolor{currentrgbcolor 10}B}ifelse/DC{exch dup userdict exch
+known{pop pop}{X}ifelse}B/GreenYellow{0.15 0 0.69 0 setcmykcolor}DC
+/Yellow{0 0 1 0 setcmykcolor}DC/Goldenrod{0 0.10 0.84 0 setcmykcolor}DC
+/Dandelion{0 0.29 0.84 0 setcmykcolor}DC/Apricot{0 0.32 0.52 0
+setcmykcolor}DC/Peach{0 0.50 0.70 0 setcmykcolor}DC/Melon{0 0.46 0.50 0
+setcmykcolor}DC/YellowOrange{0 0.42 1 0 setcmykcolor}DC/Orange{0 0.61
+0.87 0 setcmykcolor}DC/BurntOrange{0 0.51 1 0 setcmykcolor}DC
+/Bittersweet{0 0.75 1 0.24 setcmykcolor}DC/RedOrange{0 0.77 0.87 0
+setcmykcolor}DC/Mahogany{0 0.85 0.87 0.35 setcmykcolor}DC/Maroon{0 0.87
+0.68 0.32 setcmykcolor}DC/BrickRed{0 0.89 0.94 0.28 setcmykcolor}DC/Red{
+0 1 1 0 setcmykcolor}DC/OrangeRed{0 1 0.50 0 setcmykcolor}DC/RubineRed{
+0 1 0.13 0 setcmykcolor}DC/WildStrawberry{0 0.96 0.39 0 setcmykcolor}DC
+/Salmon{0 0.53 0.38 0 setcmykcolor}DC/CarnationPink{0 0.63 0 0
+setcmykcolor}DC/Magenta{0 1 0 0 setcmykcolor}DC/VioletRed{0 0.81 0 0
+setcmykcolor}DC/Rhodamine{0 0.82 0 0 setcmykcolor}DC/Mulberry{0.34 0.90
+0 0.02 setcmykcolor}DC/RedViolet{0.07 0.90 0 0.34 setcmykcolor}DC
+/Fuchsia{0.47 0.91 0 0.08 setcmykcolor}DC/Lavender{0 0.48 0 0
+setcmykcolor}DC/Thistle{0.12 0.59 0 0 setcmykcolor}DC/Orchid{0.32 0.64 0
+0 setcmykcolor}DC/DarkOrchid{0.40 0.80 0.20 0 setcmykcolor}DC/Purple{
+0.45 0.86 0 0 setcmykcolor}DC/Plum{0.50 1 0 0 setcmykcolor}DC/Violet{
+0.79 0.88 0 0 setcmykcolor}DC/RoyalPurple{0.75 0.90 0 0 setcmykcolor}DC
+/BlueViolet{0.86 0.91 0 0.04 setcmykcolor}DC/Periwinkle{0.57 0.55 0 0
+setcmykcolor}DC/CadetBlue{0.62 0.57 0.23 0 setcmykcolor}DC
+/CornflowerBlue{0.65 0.13 0 0 setcmykcolor}DC/MidnightBlue{0.98 0.13 0
+0.43 setcmykcolor}DC/NavyBlue{0.94 0.54 0 0 setcmykcolor}DC/RoyalBlue{1
+0.50 0 0 setcmykcolor}DC/Blue{1 1 0 0 setcmykcolor}DC/Cerulean{0.94 0.11
+0 0 setcmykcolor}DC/Cyan{1 0 0 0 setcmykcolor}DC/ProcessBlue{0.96 0 0 0
+setcmykcolor}DC/SkyBlue{0.62 0 0.12 0 setcmykcolor}DC/Turquoise{0.85 0
+0.20 0 setcmykcolor}DC/TealBlue{0.86 0 0.34 0.02 setcmykcolor}DC
+/Aquamarine{0.82 0 0.30 0 setcmykcolor}DC/BlueGreen{0.85 0 0.33 0
+setcmykcolor}DC/Emerald{1 0 0.50 0 setcmykcolor}DC/JungleGreen{0.99 0
+0.52 0 setcmykcolor}DC/SeaGreen{0.69 0 0.50 0 setcmykcolor}DC/Green{1 0
+1 0 setcmykcolor}DC/ForestGreen{0.91 0 0.88 0.12 setcmykcolor}DC
+/PineGreen{0.92 0 0.59 0.25 setcmykcolor}DC/LimeGreen{0.50 0 1 0
+setcmykcolor}DC/YellowGreen{0.44 0 0.74 0 setcmykcolor}DC/SpringGreen{
+0.26 0 0.76 0 setcmykcolor}DC/OliveGreen{0.64 0 0.95 0.40 setcmykcolor}
+DC/RawSienna{0 0.72 1 0.45 setcmykcolor}DC/Sepia{0 0.83 1 0.70
+setcmykcolor}DC/Brown{0 0.81 1 0.60 setcmykcolor}DC/Tan{0.14 0.42 0.56 0
+setcmykcolor}DC/Gray{0 0 0 0.50 setcmykcolor}DC/Black{0 0 0 1
+setcmykcolor}DC/White{0 0 0 0 setcmykcolor}DC end
+
+%%EndProcSet
+%%BeginFont: SFRM1000
+%!FontType1-1.0: SFRM1000 0.3
+%%CreationDate: Wed Sep 12 2001
+% Copyright (c) 2001 Vladimir Volovich <vvv@vsu.ru>.
+% See the file COPYING (GNU General Public License) for license conditions.
+% Converted from METAFONT EC/TC and LH fonts:
+% ecrm1000, tcrm1000, larm1000, lbrm1000, lcrm1000, rxrm1000.
+11 dict begin
+/FontInfo 6 dict dup begin
+/version (0.3) def
+/FullName (Computer Modern Roman) def
+/FamilyName (Computer Modern) def
+/ItalicAngle 0 def
+/isFixedPitch false def
+/Weight (Medium) def
+end readonly def
+/FontName /SFRM1000 def
+/Encoding StandardEncoding def
+/PaintType 0 def
+/FontType 1 def
+/FontMatrix [0.001 0 0 0.001 0 0] def
+/FontBBox{-189 -321 1456 937}readonly def
+currentdict end
+currentfile eexec
+D9D66F633B846A97B686A97E45A3D0AA052BD0CE60552BD63101D7CDBEEF5B11
+69C468645FE4ED1AF2541AA0770C1DCF81623DE0ECDF49F2B522618F650CE6CB
+CC8C21885DD61AF8A523AA677EAEDDFA51A1F9B1885EEE0456196D634E04EF89
+F17499DAD982502ACC349B9EEAAE4A71A73D1147318C60A8BAC10510DE90D8D3
+F46E47295D27129A5AFE0C65E22BAD10D06885A2EE623FF8E1D90287A083E00C
+EF25195F68A2A98170E48759F267FE330B57DF626EBF73D2779A4A6B462AE6E5
+19E5878939A488F2FE1094A76925CD24DAD4573AD3CF34E426708CF06E7EBFFC
+BEF5595408106E2189F418D17AD510ED5B6A528E8902AA3A5F0FF52AE3DEAB07
+32F06B63E28BB88229E046F4FF8A356BBDDE82DF2A197F2E26CA00D5594725A1
+83A89A36487EAAE1AC312C929CDCE50722FA6C596C261E4D78D6C6ABF77F5CCE
+0E410ED74287A0F201140F8D9674A7AC585D3CBC72CCB824F9E1CEBD08AEDB3A
+A4015CADF471F7ABD9B0F0AF73A8274FD441BC1988A61799856E4770155341D6
+516CD0E25BFA59B67AB7E0571DF3F5BA70AB52137D9E6A79EFADBE70CA05AC8D
+991D0895C8FFC747FBC0E9A7212BAE6560B9E2B64FFCC58112E64A3B4CF7ECF7
+595F51C34AD1342F5678FE1E62EC5A389CF04E82B5F832914B91F921F30A7E32
+CA3919F57A2D9DE844CAAAC0DC751C255C9916595E8C9532E7A0A84A0AEFCACD
+83EDE059FD06EEE9951473180B517F25F609F347DBA012AE9F004DC3C771777B
+BE812787C3C50315D67254A384EB65F260943C6E16B2CDC64E15EEEDC67C5544
+8ADE9981A6867405E46222CACCEF79F9DC8674268BBBE1EFEC2187A75FB7FBF8
+CB2DB2134848DEA2F9CED443DCF561E7272B38F830871B2A5196A787924EF556
+4B7E9093ADD414ACBC10147944D216D35011830CDA336A7A2F11AADC42948AFC
+2A806FCCDF6E10175677535AB193ADCC13B34B86F061878D79B5BD236FB5BB43
+2D6B7B739EAAF07B14FD159018685C3780BDE05EF14AA63B1271FD59CAE2BC87
+98E1B1951322D326947C8657B04D9BF2D550511EF456D139738F39745530E923
+528C48A6E954D3379D5F7A940AECD4E70D57234A71AD13F049ABC369539682FB
+986E048CBE764A02C5E73C47D2539A7E4342D8237ECF5ADBF07AB15209A6712C
+3113BE0028E4DCACF603C4F102F9E2AA18516962A1AD68FBBEE1FD914FEAFCF3
+66F48A88E590B337B459A12E2F6E062EC0119152A2B11018CB16C3CA62E3A8A1
+3857CFE8DF1BF60225FD42B69A96C2A9B19F36F88EA6A9BA832CCAA8C23D8B02
+D4AB0243019755A424FC1321A85CC9FE3763528F3F985F854EDFE2F733D1BF4A
+71CD736B57B1A544439C3F617915B199ACD1AAD721B88E6DCC63FE1391093F43
+11DBF5DE70081B1D802169D97B269C3C98227F2E7740BEE44DD684F6E90B5BB3
+438AA5F2DBDA56892275EF8F0A749DE40D40F2899B61D871EAEACA93575ED798
+5C59B28CACE5662A9FAD4296E73652B7FB80680336134037829130E732360E44
+0168775DFCB7DB4D9EA57F146D74EFAB8CE3D79618A3D2032A5720997E47F754
+3CCA68BE703BF2258E3791721860BF3495656C3948381157158E041B943BCCC6
+C0
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+cleartomark
+%%EndFont
+%%BeginFont: CMTI10
+%!PS-AdobeFont-1.0: CMTI10 003.002
+%%Title: CMTI10
+%Version: 003.002
+%%CreationDate: Mon Jul 13 16:17:00 2009
+%%Creator: David M. Jones
+%Copyright: Copyright (c) 1997, 2009 American Mathematical Society
+%Copyright: (<http://www.ams.org>), with Reserved Font Name CMTI10.
+% This Font Software is licensed under the SIL Open Font License, Version 1.1.
+% This license is in the accompanying file OFL.txt, and is also
+% available with a FAQ at: http://scripts.sil.org/OFL.
+%%EndComments
+FontDirectory/CMTI10 known{/CMTI10 findfont dup/UniqueID known{dup
+/UniqueID get 5000828 eq exch/FontType get 1 eq and}{pop false}ifelse
+{save true}{false}ifelse}{false}ifelse
+11 dict begin
+/FontType 1 def
+/FontMatrix [0.001 0 0 0.001 0 0 ]readonly def
+/FontName /CMTI10 def
+/FontBBox {-35 -250 1124 750 }readonly def
+/UniqueID 5000828 def
+/PaintType 0 def
+/FontInfo 9 dict dup begin
+/version (003.002) readonly def
+/Notice (Copyright \050c\051 1997, 2009 American Mathematical Society \050<http://www.ams.org>\051, with Reserved Font Name CMTI10.) readonly def
+/FullName (CMTI10) readonly def
+/FamilyName (Computer Modern) readonly def
+/Weight (Medium) readonly def
+/ItalicAngle -14.04 def
+/isFixedPitch false def
+/UnderlinePosition -100 def
+/UnderlineThickness 50 def
+end readonly def
+/Encoding 256 array
+0 1 255 {1 index exch /.notdef put} for
+dup 37 /percent put
+readonly def
+currentdict end
+currentfile eexec
+D9D66F633B846AB284BCF8B0411B772DE5CE32340DC6F28AF40857E4451976E7
+5182433CF9F333A38BD841C0D4E68BF9E012EB32A8FFB76B5816306B5EDF7C99
+8B3A16D9B4BC056662E32C7CD0123DFAEB734C7532E64BBFBF5A60336E646716
+EFB852C877F440D329172C71F1E5D59CE9473C26B8AEF7AD68EF0727B6EC2E0C
+02CE8D8B07183838330C0284BD419CBDAE42B141D3D4BE492473F240CEED931D
+46E9F999C5CB3235E2C6DAAA2C0169E1991BEAEA0D704BF49CEA3E98E8C2361A
+4B60D020D325E4C2450F3BCF59223103D20DB6943DE1B57C5FD29DA32D34C95E
+2AB2ADB3F60EEB0600C8ADE15A2380DE10AC5AAD585FBD13097B1A7E8E210D4A
+EE96785449E07F0C8EBC2EC5EFBFD0897DFDC15E5BFAC9584D8DE95C5AB288CD
+8AD8B9BEF0B8E5F887B3B0B331542FC8184DCCB753DB6ACEEF98B85756B988DF
+CAF1AE0DBE7D37D5F44A2E760AAE3A5197C27B15E32275A64946C3E4D0476FD2
+7FDE148C788DD2106F7C825E270588AC05B57E625AB17BDD02306F9E5FC851DC
+32A5A6EDC43C770A71419B2C0C8074EF3F222C8A2097CD81A91F333A521B3A09
+482A4FE1CB231CE344AD126AA284C3280AAC3AD162CF0EE241BFB4C8F20502FF
+118507F5D1B5FD898571015E73E5CF2281085072E00D401F6F59761EEC3E8381
+1F26F75DB66C504AB6BABA87D121B1E7040A07AA2FE01F80DBC246CC03C4B2DC
+C2A715980C52B7F96BC1A78FCC7F4F52EEED5F705E08FC1E5BBFCAD121FA88AA
+8EBE58172C162AF409DBB0728F14923ED02A65EA24E5D52B6AD07777455A70A4
+61833D3789C719BA92E901232599767E423D5AD9C807670BE0E7B5CFF8256A20
+C7BF7214FFE0342809570F5966A2C43E784F35015D9040BA34FEAB6A6F089504
+3A40A9E9D711A2721D3F4998371430FB3C94BFC619559B97D49627BB630F4B70
+9D0A8FE4E916235335C3962F3CFDB04C4A3CF714DB5E260F4E66FFF2F27CEF2A
+D4AA26BBCAED23B8BDC98F8F453BA27AD7758537561E766B82DC3032E92A9EB0
+125D98A22C5466AF069BF72A9BFA052A8628FEC6A6AD0B711DFFEDE3AA2D7CE8
+34EA487038EF50F953B8B4471CBA6FC3C53877EC1BC94582B1123EDF44B4056A
+30F49394BDE22CDAD7F01951C7013D26979277D18EFA594E8F4F2B5E615187D9
+39E842EC28461B9ABA52020A127D2CB9002A673A435B13C10602EEFDBBA6BD49
+9DDEAB9E68D655443A5C2492BA061C1391A51592BA8C353A6F6A0708E8860184
+2B5D031D2CAB87D618E9F6F7A0BF3F66B3FD5A25BB91F7F1F5F99CFF56EFF4FF
+0A35C55658001ED2E97B26C869292F6274D433A5443179DBB8EE987196306348
+3F9E87C6422AFFDD30080C9AC4EE7FE5E2DCBFEE4974331F4AAE479FD8806D4D
+9C2B85FC69EB0453AD827A1E767E5C484BDFBF5C8D6E2B3C96298B390F22D757
+802643A79D5E29CF3AEDF0E12CFBECA4663444FC87F2027571DBA9ECF688BF28
+FF0DDB3AEDBA0FB28447CB4B5D5205F40C1E7A525FD7373392EEFFD910AC82D0
+98E71660A1B3227C4A2592F3E853CA4CDF64DF19A52582E167234F4036FAAAB9
+5446BE102DE2BF43E82F0112C2A20F15A3F92C6571AC761665A905362C4F8BDF
+AC8705519C99862CD9C0D75113C4AB5FBB83C880E46B82715B5628890D9103AD
+A2329638B95D93C4DECDC5E6C588C9D5183EE6FC28FAF9825F02DCA567306D93
+5440987A81B51EE7291107A08F201C609FEF91A8F0587E8B13D4BAF74A5A6815
+DE9E4441F46AF8E1DDDFA2D611C889614040B144A5EC064DEE4638C04EAB2E37
+4CA8F50FB8C4D65BB296DCCCD39F1F554CFBED96670A91F515CA10EF896874BC
+8EF48C6447752C70FF5A06F928DB55586354076773BFF7E94C4C3A7A1C1F421B
+A9B4E3936EC26E0C19BBBFC90F021E877F54B62108F6DD1C7F6D5B8E64FC9362
+E173F01BF2904B7E5A08B3543611562C2714099DE7D4FA330DB148B560A9601F
+42A84452811CE213DCE782A0D7809CFD954D6BC1EBF2BA4D1B18F50FA8174C96
+3E0120E266AD5DDB40B3F6798AC28CDC5C3C4BC34583528F5B5DC8A222B80B59
+A3A93DC715D061EC6915E6E6E21A25425C25E8747C60F170D61047108826F96F
+7830E220C108B441B6EA3198E33C49BAD8D43086E49F5A2BC7958A1A8CD011C4
+49045193394696EC3DDD0BE084E8F2E9F0B9496F035C0DEC1CE11409DF566428
+D50043CFF5CDD1092F6E0807E660B68163BCA738E8D98FC6EE3F713164CD204C
+0BA84FFF4F33F47BC31750B448603D7ADB9AE92FA91AEBBBEC0DCD66980E6955
+CEB425ED07115B24E40F53B29B9D840842EAC691B4F591F866DF27556474B485
+1C6F53DD72499847109B16C7093984A6B8487D4F3870DD517945CD90E648C1BB
+8A6861E540FCF9D75B984B5009B5CC760CBE297042C240DD624111670B703388
+6FE6FC0E89C6B4C88F51DFF3913D0CC1FB4770C8CBEADD4B86393605C0B6C468
+83CA5594754411B6FC331EF56D7CD6D247FAE42E966583C29239A8F862348D29
+60B177984B6B957E733DB4D275015691D91443BBB13C2DA96097A29733CDB284
+42F89C85A7A743338C9DD3BBC4EE53F695E5163E6E1ABE5791ABF100B198B9B2
+1C21E2FA2FB4AFE7F9BB2D381260CDD3A2CC05BF513AA1E80ED69FA27BC5ED5A
+21445BF00BC2F997B356D94AF13736C6D3B0613EB6F4CD96A685FEB672661DCA
+206105EDC3CA07900676EB2FAB37F48D2E8207BDE1463894DA3C5B1488AC1EE9
+D39DAF691648048F5D7A384B8927F8DA2BE3602669F71D80686E427F395134E7
+7ADCC611BA91AD4B7A0237213C60CF2C905359C90795230344FC3C50A22BD44B
+55B2044792509F50F5C21F53D9F9E9F063ADBED3AB99E2613B23334FE8DF70B4
+6120F2EDF69F50BE793EE145B9FF9C73179DE640FC2ACEB5C6617F918CEEB762
+4CD81E665B2E544864D13230B058717B207D3CC5D6647D5343DB4D0356082392
+871EFFA896631A7E0D6477942B632074A9A4EF7B09D4701B1639BAAB4E03A40E
+9B54A7A4F845CD63F88831EBFA4FB847847CB98F3455CB5957F2E0A0F5623645
+DBB5C5564C7F8B117D6E27E65C0F3EA81AE67B4AE4B201E7C4FB0A8364FE53F5
+41A7CE8F834C2C4B322809B353A5E63BBA7BF3B7DC1A85EA700BD287C2BD3FC8
+2832B0BB4695FC937FF5EF06FCD87DCE6DE793C2B1EE10E6450352C17726155F
+220D550B1759E15AB2C1D5968E52C8080CD280E99D3CCC0E80C2EF8BBFD96001
+A226FEED7311EFB4B67F424B557A877379A15BCA54780F0CD2CCA00400B9B39D
+981C6B552AFD2506D1B23618FA9AE6D8143CD7198A8482CB416CCE62B992347F
+337D505A4078713BBD91E5535BD58EF0351EBDCD749CC24D4AD39F8CECD7D6C8
+139756680A4C03A58B3374CEC658D30160AE4863A3938A891BB59CBE02BB451B
+1BA4B2B6E68AB61DEB85F95E3C909B8B66E220B9F18280161C279F10F7093CDC
+100A53D542F071CC0A5AF834DC1D18738F5DD62A5573E884E1FFD22BD810828A
+1EA47F8218C15A2E97CBC609927DA3CC2B802EA4A0D7EB57627C135E3B065905
+F97597D818A2C5CC6F328AD25AD11FA50F1E4FE637980B7474D6F85A521892FB
+72989AABEBE02A2D0EFE88A6F67AC29F5D8DDFEDAAF465C439983C6B84389FF7
+A6434462BEB7B07DBE4BBA61ACD4A60C55B5C0AAE527DE381DFECA2E6BAFDC8D
+310364ECB42CAFF72BA93C067B2F02D1CA7C34AE7CDC46787A0E234C8BE8A928
+7A6F3DDE0338FAD532A9886E8E3525B85DD39364AB03EC4C0DD25DC179CC1989
+1BE232E387E857C78332D834679195E10F1E7B87B7966DA3B2238F53D1E13FE2
+8F55ED6A92A750C7250C9B91E29796621E7E9520373214D7DA81B2875A986D33
+80382AFF6DE1F829F048E57664D9C4ACE91E4684A51023943A4964AB5657D610
+3A5405EFD4CFD1EBA684243E15093C9667797BB47617B66054EE02C41FFEC45C
+C1BAE8AD56B00D323FCB1D2744F061FA16E161988741A319B1564E04BA210996
+4F9F02A3268CABE450D166A763F5284954564A1C86B76544C5F5ACDFE0D758DB
+865A1CFCF9FE8CD5F9C3B2998C56468FD52DF8EE60C6935A3D221EAEC7714E3B
+301371C7DDA0B03A2416238F2B47BAD3A2C5021C886DF51C695AF9C87A864B48
+3BB3FE0B355EED5454B59B25A0D8A1B8CBD356C24F64D9B55E16C30C011365C9
+1E0380753BA3EDC0868788D5F50B9353D0227BCEE1BE36998B2622C0759BD66B
+E4444250589F9CEDE766D8B940770CB6B89503E925B35C00CBEC2873D2DC4A29
+0823FB7A3717B69A7DEDBAAECC067949932728E89BEECAA91DE3AF9BF070B9C0
+30EEFA8C0A55C8388CAA2F0515915C98E67FA095BB98967D14B0DCAFA9622E4E
+2E0EBFC768D80585ACDF28D8A5C2B6EE2FE7AAF62FFB90F569F84A0903996DF0
+C1D5723366C436E4088F3E2BB9B47F9789052A71CF5C49908CDC1DDA194BFB89
+14D7E3D7D4D72A150FD6FFD8303E9DE5A97A71B808B8BDF2AE466F31BF5D7A4A
+44F81230BBE2B456A221E2F72A8B59F8FEA8D31F8A005A5BD93B9F49CFDC3DCC
+CE2B67090460F632271C7157BDC2F05BC2749FD562FC28682A616A52D1B67654
+DF78B7843A9EC26A7DE2EB168F874904C2915B97534B2D4D9F74A9573A771D34
+9F7BC855E8F794621BF6AD471BCC347E2DF5F620F5C209E33A4CBF1EA85AEA87
+4492A77342DD33EF615FF34037D660B713C908786D9022051B825226545827A3
+2AD1B05D654DB6E6D261B4E8AF0933AD1F0FCFC7201E1A7C1B4199F160C38676
+21ABA2DDF1CEB655B3EC3226E0B122976EEA998F7A5241F062E54AD1DFD6ED26
+47C99A439E0AE95415059179867CDD3F0FF751F3141309F40E00A6C7C28433E4
+F649BCD5DAA64177580E05C495EE7BCBCC5FBF104DAF360CC2711386655B26F9
+D349D887EEB32ADE595241560FD5924A1745A22E6A01DB9C285EF14596EBFF0F
+03F36EB2E0A7C3864F819EF7B0855121292D49482F046A55CD7271FE03F02EA5
+886864D9D8EC22A68C23089EAEFFF03DED6484D8C341861EF8B6FD3C5BDF5AC8
+352DA4E13A1E30D0CB71E090E9CFB9AB2CAFD0CA7C34AE7D8E3B2EB4666834BD
+9CCD1AC2108348AFEF6071796F4BB2FFA4A67ED917E76A109FA2DC2A30D744A0
+9AE653A748C1D18FB52595D84E87F1C1FB6B2F32667FE203262C66627AEFFED3
+92B23861E5EB238BB4EDCE09DAE1C65BAFC198CDD1B45D42CDF93E16BB82D35F
+821E9E49067E966AFAB2AB52928F8DD6359984071FC37AA652FB834A09E5BD93
+3AFAE161140E74C6531E413E8FBBFC42BFE8A464B71EB1D8CAA93B33D7BCC3B0
+47C7EEFCD3E9FCF26FF9441DD9BDE68D77AD7251C06BBB9A2103049E8827CAF0
+F26BEF33F656A690235DEEC623CC519AFA82DE2AE16FB99F780FD7D8290DA40B
+9B604AEF36B529FD184239E7D50561A07428D28E51B55546590A1AEAD4B7F2B1
+AB8C5B9022C1FA03E33F8F409B24911AB8BFCF6EF4A8E415263C789F89063E71
+C0910DC20347469380B7FC1EEB87D4CED7F4A361E58B61C91AFCABA35C03F978
+B9FB5257C31657EE48504C355CE893FE3C553274C641DBC4004F5D5B879CC5ED
+D3F21F867F6DF054127067DE86189F0B59A1B90FDABCDFEE61423609D888EEFD
+F4A1367129962110C651D9481CEDDB8C5C2576A59AED64E95F7ED042AEAE2F7E
+81AC0C408E593DC30DCAC334EDE9EE27D932B98F040DDCD195D6155607DD2038
+970EB78221A94C52BD4F0EAC65F1FC10E5DAA93C17266F351669CAE56F42B68C
+6D01E1EA03AE554D63CE76D800FDD9CFD89F80A241EAEFF7EDFA41794EA25CE7
+97BD5028464D2CD45B53834B4AEF8BF0B9E7C6ECDEACEC887E8790A47A93F668
+A9095E5FA1116A122C0E5B74E2226C654D3187C6CFD8807917820423DA3EC1DE
+AA020EEEF2280C44A15209EE2F3FC1776875308CEAD38571E7BF889F287E4594
+971A83605E0B4169D4A23EE790515223DF8724054EDAD905F57918FC0BC64F96
+514B4BF7DC9BA79E763C22C977FB6146B10D26FEA1BAA7BAF21312F78D1625A7
+8E242D743471DB5821408AB786E4A7EA9D35E30E85533C617689F95758FB2C7C
+392E759C299DCCE36689686DE0C4DCE32649493650BA194A6208C5EAB670B170
+3F2C70BF0EF0E3BE2FB0A79224FF4ECECD6BB3388C6D06867A0E5E3DB93C1B2F
+464C23E44D3132E7D4086E3B59B1D13F49EB4772DEDF8EDC4F603217233FB7BE
+C13C28648E9AA51D53F11FB896839F97AEDD8834BCA53CB0021AE91FD8E95E2E
+F8A094093AF556B9639F508A401542B06821FF9DE1A745FE9AC5CACD5E8E1053
+911442FC15CA5333751ABFE2C617D38FA1DC332BFEF44AE569DC631C93EC54D6
+261583A695F5A392867A57F59B741EFCD2DCFECBC55D1EA5F2317601C9DFE9ED
+D1EA466210FFA905A8F85BD58B98991BEA58DFD1CDED5C9B086D42CCE632DADA
+147941917B879139E016B0DDEB8446BA017FC8EE5A354533D667B0835F5D027D
+C2D580C16B80B3D05CC92C0465CAE077729F0A15B2DAFC89DCD349B3F81D0516
+C65526EB5C10E45A8A85D716EE35FB9AB201FD7C89ADE5AD925A174169DA20FB
+61E96C73A143DF964C20589EF24A0FCFE6195317F2FA0D2249C0D8E649C3D9AD
+FF13332EA2E4C9CD36D8443EC8F027B61CEF92C6A6B72DD4ACBACC16E429A9A3
+F5F29C1631360E32F8C1C93ACB22F810B86D2969A7480F486F62F8488BEEC74C
+2C1AF13BB92BC578E8CD30BEA6BC8CB68ED730F54CED0167605FA76AD7B7E88C
+7AE7688E598F91C471BD65A542E96D64B1EAF19FB4F1234308C48C2DC86E2193
+11ABDB4C6189C6F201627C693691A86DD07FF55C30FDB3F72381E09C6080FD7C
+9182762E5001E30F52A216E0B71E4D2D4E2F3B20F95DF3A11FDB2D2B5B5FAA66
+C46226D5E0C77066349770514E5675550FAC9394FB27CD2C2F974F1FD58C04A3
+1EF53A8AB3B2202CCA1CEFA66228E1480A0709436C44BD3319C40CF888AE4692
+5DBBB52B15CF3A518F627F672135A24D5DB9B2EBEF04C860AECF231EBB5A3BF5
+6DCCD5E72FE4B6DD29E896691868A7DE4120AD06AC573F5608B8449B38E71CA0
+EB5CDA3F942482EA7973661170F81DC88D54DD5B92323F46F833DFA757107E9E
+F62A47CC50FAA1B68ED535C3E0E1073532A05ED339C8D70B3B9864808ABACD23
+AA95E9FDA43D54C66A675FA074E0A5B8777D3C07850A09087F36852B5351F35D
+8BC4DDFCA35CF29CD5E3DE118A741FAC4DED36847F2E2C6CFE08669301722D94
+376F540982958074E7F1383C409652F6C99DA39FE90B38221E75BC1ECB93ABF6
+B00F410A0C5651DB418566AB350FDA1789AFD88286AF3BCB42B98386F7BC144B
+02DEB8940D20A6B3062F0C4244EABC50923390064F1D027A8BACC3DE45156E56
+4A942D1B87F1C4A76B0D4D6801AE792CCAE3009BF25368B31B6AD5476FBD3BFF
+9759EF463EF5E78E10B7BF64005B2ABE0E8813950A08A1808587A98E0021D0DD
+751AD515E8278F1A0759E85D8A084490BBB0F8206484AA36388B1013643D3198
+3509078847BDAE08E76FA5BF3E3A73C323CE093DCC148E3C02C2DE1E26C94D5A
+40EC8308ECB02FF7DD04EC1005A2A0DC74D4E587F10A3EF349E828F69FD38962
+2F0C74D5DAB3ED6CC9F97008ACCE74C086A503948DEF1AAF58FC8BEC703CD360
+D32098A56AC776B1BD08442052A2A4EF6C8798F7CDC102AF1A2009657254762A
+0793F79A39DCD6ADBAA5EC84A7ED6018BBE727E5D477893D84F157074B24C13E
+8D4881C7DF8ADC13EBA0D89745EF93B7616EC5355600BB0D2B630AABA3CF2946
+AFFD0B2B724EF0F28393F3DEFD59E05F83ED622EF1906B1A24A599C58E9CB8EA
+E9A28325A5DD621EDB3642FC06FFB416FB3029ADCFE5D7D23192C650FCD7D1F8
+ED7AEDC7166E26191B12F8E56F060D2D08D41E533813A8D64E5B7F2F151EC8E7
+E2333ACD6F78ACA804CD809616BE4342A5047C07E7421CCFAFA7B057B6F5A801
+21254E447FB15A8D020E976D854276B98523807EBAC37AF98CB5A6ED12784963
+E3E05E94975C105A90F15B7722380DE5AF5A43914530BDA64264CCE7298C90A5
+CE3182A75FB05DA5C62E83934C6C2FF348607A16CFEE88C6AC39219D24FF5CCA
+E386D9CAC70F214156C50F8C0FFB3F79D154FD4108EAE719E15C70E8B91B75AE
+455A51374F7F4E8B85DD134200D13C8B0A4CF3B5F69E7B91F8CF93842B3BF411
+D2B22FDDD19D3A34BA745AF57209A04091ABB85BEF83A431745A2AC0E11098EE
+427DF11F434A1F96AF2E2CDA0BC7338359A741F5357919A883C9B215FC9CE805
+B75C817C99E3697B3E530AD45484133C9DA8D11E6FD1C370AD86B4B7C49A3BAA
+B5645DECCB16FF104C7F42B51B807A545BA681752D5BEB267FD021DEC2FDF58A
+3D98DE548F571B3F65CA02B310BF19CC782D69565E37E9100C33783E06552BC4
+CC8786EE39AD94454C930AFF84105EDE1848CFAE37A8AAC2ACCE3EDA25830C22
+70F7FC6B7D16FF99679E15163E3DE15D5215273A894378FD986DA50EBDEF6D6E
+CD5DC25DFC1964FB3F6085475CACBA52F627CC5A10CD366FAB28
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+cleartomark
+{restore}if
+%%EndFont
+%%BeginFont: CMSY10
+%!PS-AdobeFont-1.0: CMSY10 003.002
+%%Title: CMSY10
+%Version: 003.002
+%%CreationDate: Mon Jul 13 16:17:00 2009
+%%Creator: David M. Jones
+%Copyright: Copyright (c) 1997, 2009 American Mathematical Society
+%Copyright: (<http://www.ams.org>), with Reserved Font Name CMSY10.
+% This Font Software is licensed under the SIL Open Font License, Version 1.1.
+% This license is in the accompanying file OFL.txt, and is also
+% available with a FAQ at: http://scripts.sil.org/OFL.
+%%EndComments
+FontDirectory/CMSY10 known{/CMSY10 findfont dup/UniqueID known{dup
+/UniqueID get 5096651 eq exch/FontType get 1 eq and}{pop false}ifelse
+{save true}{false}ifelse}{false}ifelse
+11 dict begin
+/FontType 1 def
+/FontMatrix [0.001 0 0 0.001 0 0 ]readonly def
+/FontName /CMSY10 def
+/FontBBox {-29 -960 1116 775 }readonly def
+/UniqueID 5096651 def
+/PaintType 0 def
+/FontInfo 9 dict dup begin
+/version (003.002) readonly def
+/Notice (Copyright \050c\051 1997, 2009 American Mathematical Society \050<http://www.ams.org>\051, with Reserved Font Name CMSY10.) readonly def
+/FullName (CMSY10) readonly def
+/FamilyName (Computer Modern) readonly def
+/Weight (Medium) readonly def
+/ItalicAngle -14.04 def
+/isFixedPitch false def
+/UnderlinePosition -100 def
+/UnderlineThickness 50 def
+end readonly def
+/Encoding 256 array
+0 1 255 {1 index exch /.notdef put} for
+dup 0 /minus put
+dup 102 /braceleft put
+dup 103 /braceright put
+dup 110 /backslash put
+readonly def
+currentdict end
+currentfile eexec
+D9D66F633B846AB284BCF8B0411B772DE5CD06DFE1BE899059C588357426D7A0
+7B684C079A47D271426064AD18CB9750D8A986D1D67C1B2AEEF8CE785CC19C81
+DE96489F740045C5E342F02DA1C9F9F3C167651E646F1A67CF379789E311EF91
+511D0F605B045B279357D6FC8537C233E7AEE6A4FDBE73E75A39EB206D20A6F6
+1021961B748D419EBEEB028B592124E174CA595C108E12725B9875544955CFFD
+028B698EF742BC8C19F979E35B8E99CADDDDC89CC6C59733F2A24BC3AF36AD86
+1319147A4A219ECB92D0D9F6228B51A97C29547000FCC8A581BE543D73F1FED4
+3D08C53693138003C01E1D216B185179E1856E2A05AA6C66AABB68B7E4409021
+91AA9D8E4C5FBBDA55F1BB6BC679EABA06BE9795DB920A6343CE934B04D75DF2
+E0C30B8FD2E475FE0D66D4AA65821864C7DD6AC9939A04094EEA832EAD33DB7A
+11EE8D595FB0E543D0E80D31D584B97879B3C7B4A85CC6358A41342D70AD0B97
+C14123421FE8A7D131FB0D03900B392FDA0ABAFC25E946D2251F150EC595E857
+D17AE424DB76B431366086F377B2A0EEFD3909E3FA35E51886FC318989C1EF20
+B6F5990F1D39C22127F0A47BC8461F3AFDF87D9BDA4B6C1D1CFD7513F1E3C3D3
+93BEF764AA832316343F9FE869A720E4AA87AE76FA87A833BBC5892DE05B867F
+10FA225E233BCFA9BB51F46A6DF22ADCEACC01C3CD1F54C9AEFA25E92EFAC00D
+7E2BA427C25483BA42A199F4D2E43DFCE79A7156F7417ACF78E41FCA91E6C9EF
+B933450D851B73A6AB6AEA7EE4C710CB5C14270D1674FA334686653793FCB31B
+491E870D3C2BC654D2C1DE463EC9BA29D7371AA1078800EF93D3F66263A2EBBB
+F5723697BF7448BD0D2E301544BECF497FD475B85DFEF52AF4F8F8BE445CABE6
+019318806D10C5952157FF8F8286C1EE701545C8F60EFA854EAE66835A2046A6
+915D395F1E0366EFE0C0391583FE001FF16D82A2E2DA5F57754A2C6F69306E36
+356ECF8EFC3F1188AD6FCD2427E0580C97A5B69B4E0E09B85EEDE142F5ADD2F0
+5DE51D6DB72B127412A0D57106C19CA493048A4F815129ABE767D51715B1515D
+9C21067CB5BC88741B7298C83EAE36A866DFA87D8981F179B1C31292F56BBB64
+3C430779468AAF07C8A8B4934E1E775FE3F35186BD1FA6EE3689C1C750678AF1
+FBF9B23195A124C5C991FE670AC0C86FD39D2B07B9A319E74EFD498B45820252
+720ECDF7294F7B0B137CEB86D33BFCEB8606985A3260FD669E461C8BE94216C5
+D434FD8854F44EE66E5A289A9F9E32BC36AF645D53F96652602BAED418C8D726
+BD04A1B4617551FE4DEF54083D414F7DCE004E6BB2DC9C2EF7CE232B254BA2C5
+7DCBD36C2072ED46FF711F121A701E2284BF1B718B3164382B8F453D68FA0377
+DFE106503B8401D4DB87F5402A3AC9A442FA060B0610A9524D530C7157C26B56
+AC970FCC1D5655FFFFA39246E6420CF97D08ADFB7B05822679BD40C638DDF0E7
+A97BFE8918B611A145AC965C203F1428812F9D340AF499B3A915B22BE798594E
+0F520109FC81E452180AE45B170FF999C5FC2761C6CECD8742A5A6FC97F16743
+AD4EFCC6572A6D3F3E4E330C5CB2FF6FEA48A5B64DD3DBE943BD9918D4A18E18
+CBCF598AEFBB6AB3CD2CBC9BFD6099272F6543F3E532E0E21E614BD2880B1023
+0AC234CB705827BF016DB84E00E8C255FDEFA0101A842929540B7B4AA8A089BD
+5EFF05B72356B6BC3727817823B5CDBB1B963103000D7F2A4E2A1472FC3E614B
+5CBCB6D6D784023173DEFEBFA8F9ED87EC1A0A9EE98CA59CFC964CF943DC683F
+E9E00DA718C4425A705A69D99988EC6F152525C790912C2E46A2381A569424AB
+54DF4798BC2D7E7A361E7991641D4B756CE2A7FF4A2848927092C59C2C4B8809
+E13AB84FB6B111E680D7FB9F2FFC2C5C66B0B501E4447C2E46C10E2F6124476F
+A140C404CFE2DC9E0199BF61E035CEB481D438139A9630934E541D261FFD2906
+4CAD99E20655FA746AFB81EDBB5601F5FD6B1D6832A01D585E2C55053F6A7378
+4DAACCAC7608DBDADAAE732D66B3E7F87E79756337C1A961E53A4651BE7C77F4
+038B89C87F650C54A2A90EB7F1D525BB353F33318551EE8D84A6A83C718EA5A4
+B2AC0F7306B1E095819B87015A90CA3ED739B09061782C28CDB36BA4BD5E5308
+5CBB70414E4112193DAC4A1FA30996327230D1E021F3CD8115E12D239D93FFDC
+B645910EB29E40D830E7BAF2DB255FD7C4E776557BB38157917D993EAC245837
+A3B515147043574157B8342D829C7228CCEA843ABC89D1785A9672A5923FC4CD
+2F3FF27E6FCACF84E2D3136CA2C0FD3EF1EE7354CD04C38B5FB874553646ED2D
+CEDF7E362EADD04B18051F20A8FB0DE18E152385B9D05F98A3A7EF177824E246
+455ABE69E2F700EB78185CCFC07E3B4C6FA301112528D977367D30D0D5D59EDE
+FAEB706DDC970A9E296236C725B2B55B09B9C336B8E23CBA5FB8692D56F33B03
+16294E5FC7FAA42E96395A57CE51CA8DDD77442F142E2E576B778373FB31C81C
+16840BB422CA827E30A81829648BDF1CA36700EA32AD888D097C1FE0A05B2D9F
+483AEE40269DF09AF0D1AD3DF80C45DDC59C2A03FBB661C79B87853737C6D352
+67626B657321B16198DBD6DB98A092F17878AE4698121E1006E53D6F9B0A3BE2
+3FB68828EF854A0CDBAA68B37ABCA6AD4A3D809AAF0BAB1697A81FE59C98C472
+1E33CD70A75A22C249DD11D76C2575ED3370A25892A16D2FD569CDA70C130770
+93F493C7D47D6F9A5424A7A542BAD726BFC3AB225DCEBBE6AC4BE006F8C7C0EA
+051424B08305BF2D951AB2986AAFEA04E078CA79B399585BFF0F1ADCED02E15B
+8765EB6BF6A8E4D0901EFF2C3AA104924EAD9637A35D877E0C51A3C37DA78CD4
+8643C8CE6DCDDE3F116A6C2390F948E5371BEB5AD2E87B41C5F01FB5C196C436
+6E256A88D082E3F46E4EFFBF605B2EFF1E9D9AD5EE4DDC323A137CD9451EDEE0
+06F7D82898D71FAF2362C0FCF1F726F97F820305B7CE20728CA08C63575083A7
+84BA28B7DE2B916432475510E274C12FFD1660A717F51DACFDF0A102D85224E0
+D6DB607BB72569ABB8A7BC6A10354CBBC01732EFE35B72062DF269CB25EA3DE6
+DC603B04C90C5912D2C38D7A5ACDCDD3F6F116D884F0D8C528F69D5D47BA20DB
+0A9E585C7D8CC3C324FE8A1DF150279F7E8FB43BDB720E624E5E9918032C02CD
+8020636AE5C38DA2484B7F4B34163E0D0A561B43B80E97746DC05C871AB620EC
+C5D47101ECED4A7E25F291184BEF8B80024AA7BB456C1B83A907652B331DEA34
+754226C39C6889EBEEFDAD081E01EF8FE47751987667836FDE4C8BB8A3FD4406
+1E643B4EA37BD370734D1A2DB17C2F4B74B4ED75098B433601F75A88C9A37A05
+CCB157EF6E32023BFA33973F3E655A4D58289136996FCFA61EEABD70791B6523
+1FF5DE71AB8A17038923118A5EED8D59C4C58D246FFA9BB26472346B40C8741F
+153D19CAFF20DD2A86C6DB89154A630FB1761929FC3F0448EE2F089C1C953E02
+905BA8DE75D101A982A611056C4B237596C10951DD98BAB838B742D3CF7DE718
+617DB72E5268583223E37E029D1C8FD3F1D21690151F76B76C52C725CA135CA2
+8666553E863CE188BFC9B99AF56AC2DB5BFEBEB12FB563D00244EB89E478657A
+98AF2E1223C1ABC25A4500E8119B86EB3C26B8A2F3505A3E5610F89B7C34E278
+53FA0A54A7F46D84A35EFEC36AE660A9E3C37EE3864106702DE5AF6C45ABF64B
+888A4A51323138CE77DB935576FE6B4824B6942DF80625098CE1B5B32B234F1D
+052A9D6039697118A9D793793775D8729D8574A2E74D7109C7B7E23BC5E2E87A
+CA8E019203952A4892544E1AD3D4EDD22971611358AB230E9A2ABDF00A288501
+A01B67C42B33F6B78C39562DB50F4663B922D9BE0D8A150311AE44B83C1F129F
+07337323E9A23211EE58E16043E127C6F9574019179F5635648A011266677B56
+B5D0201A4E1470B952A1579B57AB2329CD4C615395023C653F784D36B5EE3672
+10D191F29EA508CE84763CA4CE7C2C5229E38E241255A5CABCD6C7CBAED901A2
+CA53B5E24111921CDDF83578D33D463D70EDACA0E470D8F592303FB6BFD68B4D
+3F3BE2D7C5EC8BBF10C90111A33E205F2649B56E8443F6FAA6C721C66575AE12
+D4C40F1F46CF9E9DA675AB5D5840D938780CD9E4AD6736ECBEB6A4397613586F
+849B51048AC5F9405E03E14540A5E5582F61CDCDB57EDDF95A8C6705F433EE16
+648F098C03DED8A2AD94AE3DE202D629B9422ABB031318D48F2C85F9DBFA17BE
+84708AA3B6C9F81F4508F7A5CB7B6646AB8722ECF817877B77D473F577556DAA
+2BA0ABACFCF5DEA7498C47328E873019A956FBB250FD9D8885D21D368FA70CBD
+2709D2DA44EE7A9869963EAB48789541906DE49FAE785ECE1F18A22C7E7ED204
+9768896B78E9EB7A2BD6EEC1B26083940656ECD689D92942CC8AF05CBF82AED0
+B45A7DF4DD7AA6526FB597322560B9ED3087A65B5EEF1371C328A021411BFE3B
+D9B5088B2F1AAE381FFED52D2D1E02CD0DA78683E3B06171CBE94BE9760005D7
+135893D7CC2DB097F6AC664D9594CF1C650F84DA80D2EDE04802DBA33CE3DAFE
+EB7A37E8AEFA4FDA6252FF21E8673DD98E67124D5DBC7BACF361E57077B71939
+C1D1FB923E4E35C075CD1BCBE0E80DAEA1320D55B43EAB45D9B26C366B278782
+7519FDC482D98839BF0DF2E7C3A56A1C1A3FC0E57A75CA414F6536C1FE8EB7A0
+4ADFEE3BEDA0F53BE8CF5F64230784A797133E8CD46BCCB3BF38BCE38A73CCE2
+9E073ADE792F7128231DDD1F63E6156ADB2609C200837C2E8A2D93D2A7BC9171
+050C709A71E44E32B1B03C92EB5CF1D3BAB1C38E027DC4ED9AED633D98CD7486
+3F773ACF8AE332631CF2ABE6D606607593FE862ADE31803964E3F4DC3CE3A271
+C76BDD95C87CDB3B87BC26FC7A16D567EEC62E6FF0D471B4853DB8A94D4CACF8
+843824F818083F10E88D52FC4253E8203292CB40F1414AE7E51DD7347007C342
+CD70E8E9F2D2A13D71213B841DDEAAB208AD9EA644591C15DEB084165F9DF24B
+B91D3BBEEC2E34E38EF16A0C3F00700A7BDCBBFED2EC0D09601AD6538288DB50
+3478B051B5E16B604A0341FE621A58718D960D699D3FAD284310DCF54EB13175
+19A75A539EE98E804AEA24689D3540F0F12951A3C01FACCE9A7BAF4D0DAFA946
+FF65A4D2A4C39969607272C6886F44E90ABE27CA3A1F12A29D9B32E60E8E34F0
+17C5FE43D0E69A99A922D98909B2BBCD145E59A5E7F5426B3988F73B09A525F6
+8BD4915663C1301323180E760BE81CB874B020FDA3AE63340E4261E4F3E4949B
+CC0966BDC4426190BE9F5D77F76A72AD925662E5FE1CEF9CCAB68F0BD33DA003
+F11EB91AC4502FBD6AE48DA0F9D07C35B96B103E379B8A83A05FE728F1716194
+1F650F75BEBADB2E3810388F3E2DC7B19F1BA9E32925F2FD9F19F4E8701F3E4E
+4069125D7C401144740691E7A460021A47B1E27997FC1DDABEC5BD0EE0B20194
+2D579C7D6727AA124083242BDA46D8E116E2751C5F298851A62B60AEBE82A929
+9B9F2492BA35690D1EFD16215B8EF14E7A3803B93C28FA41D971B05B6AF3B593
+E74AD1E68A5FCE12A86E63B78BFEA87D3949FD164F12277A4688BE96356791CB
+8671C49365608F3EDECC109321AF92B4C29CAF073DA3A7D73E913D0D83FAC5EB
+BD884D4C686056404DAAAD6F82F94F803FA1FB0DD8908D1DF08FB87A8BB83027
+04DE0CBB1C6FEB6B517FBD7CF065120079E608CE41893C2BC96A347826CCDFD5
+C69E161217F2127A59F1A6F22037641613F191F22D5B4CDCBCC2EE5615623404
+ABA7BE6C5FE475481615B2AC1A2412E54688DD21E44CC9AF5F16E634AFCA389C
+4D740B7B51BB141BFAD1080E7C726C1606A28ED492E6BDE9F800EFACD1513909
+84E98CEB6A0B7A2A6F3E1D1DCC3B2552795E0932673E59ECC56DDD37A1D52BA6
+C3F0E905978AB568941A163F4CE3AAB5C5B16F86016EC47BA6F3F7AAAA77C3B6
+09C8C3ABDB6D514A76ECD37C37AA88B5860630B3406B494F7725975596F84777
+D9CF48686EC9C5DBCC1D78513F591C7C10AB9D153B3D41426B7BF668B0D04503
+56BCB686258462C1DC61095724B9F3312316262FD7C1AEC6E54DE7E5A7BD8EFF
+035299B8FD8A4A7B0F51404F4A760F4D8B4C0FB7A32FA4B2383AB6E9C78FDEDB
+FE6A5788D38A6701B123630C2A6D820A684166FBBC83DB17069494FBD411B333
+CB37E2491C5BD035A33867A6D3A3D420CC31ACF43AA07182CAAE67E40EC63663
+B678F71D4C6E0EC3A0AAF904CD3AA66E0DE5E3CDE049E94249B39A1C06E3CE9A
+F974B2484BB2CDA14282B9511E505B3C89F9C802218AE40D1A7541335C5736DD
+CD565D4B9F4CC78F3A393737EDB4FBD0DA299E21CCFEBA5478EEF013F0552A8B
+0BB11FF46CCDB784E8BDCF730A16363E66572049E42C695886EAB42A9AD9094C
+B635DF4B5B9BD9B9AE8455DFA3EEFC77653190F9A8B1E93B7281C2A21EA7DDA9
+33484745BDF7E3DD63C7AC66C286C9A5A698A5E4D7A91710B7FF943FB23609B6
+4B442F83CB795788FAB5E9CF3F75D5487DA26170E4561C7941C910B088C3B86D
+F844B0F340CF82786A3FCF347048463EBD2006281A816627065DDA6CD4D3AC5E
+2024BC96C7D896381BBB567951E7A1F29D4E95351298B000D29E5F3D0448CB5A
+CFDAE1BADE9403B90371C3A07D208948AFA022A69C519434B6813086ADF518D5
+88E0B92072A44BA1B3EBB630A13B7AB90992E85B6D67361C8D96F3E0D826FF37
+17B67E4B1EB7BADFD98D7F4FD17BECE740ADF13C141EBF0A91CB105DABB32FE0
+55086D56A0D358841D15FD349E6B95512E4EDF4C430216FF85C2ABE995E4B40A
+A6044CC8820AD885C07E052B3F91C2E9A1D163BFFD210F7BE95B923E2500DB50
+2075106DB541C267BD450B25B670CE80BCD068D4DBFF2D82634175B61FBD3BC3
+406131F44C7D6F18D375D1F2270829DDF29DC14DBB58A30AC193245D18DE91F8
+AB88AB548D8138605BB5A50073295534E314366E26665AE70482B890E4101D6B
+60E4F3B37ABCA1346DAAE8FDB8DD9C832EFF3E73BA470E2BACE7B8515CB43388
+C27AF99FF9322175CF8D4947E6B3846AFF5163E972156847F58A66660EC8A3A6
+5FB47C9F637B4CBB4C73B6A080B0CF6FD1E9665E92032540570FFCC747C67C50
+822811AADC404BC7ECD1673E8AA6C3A2F1D82F39430B58C29145E2F1B679C46E
+94EDC711883F1E4EA84117A54757E8895A40401A26E1437B39A2F65CAADD6E02
+D71FA8AF7453668DC613F326A3344F74AD7AC67569AF399385500ABDA5EDD3BA
+343CC5EDD4B558467626850E752B9959FEF1454E53E7A3DCBC2255AD8F6AB4FE
+894455118A61C58840CB68A925ACCAD75CEACE863D806916228F0614191A1CD5
+DC9BAE256018615AA3725834519449B0A88B4F396654E74099C007930ADB1327
+DD119BF799FE3B0B223E1EDA04FE2DA7A1C879143E1C33B6C6344F4BA033AD6F
+8E88C33DEF1977796B454BAB2494C930F492A518E8198C708A75FFEF8C49C324
+A718AB59B889DED521229E741FFE53F98EBE88B0405AD523254FD3FA4BBE96DA
+DA1C27C1C979A0DD4E61C3B1F4C4DE01E42F1C4435EECFC02D97994BC8AF5270
+E7CB1458D76ED0229C5FFB4A23B8716018F9050970895D51722CDE8F2EA3D947
+DFF374D84915D5C5D16463A6FFCD079D1ED416C4347BF831FF0C4ADFB61295DC
+4D5785BB0852BF472CFC97EC174491CAF961AB90629F055E75DAA6D9898E8653
+5BCF379816CAE46FEA62E7BE8E9B953466E51828172C4DBD0E1BBAD1CE28B5B1
+02B3E36403BE80B49A47446A6677FCED438F01D60EB10F478C89528FA337D0D8
+88D3FC123C076507ACDAF783A9A6E24ED73BF24B6E0F11C13E532DE5F70EB02A
+60651FC2E263002D3986B7B20CC2AA08330B9FC2E26765CD52266969A86EE30E
+71E0B41B6C1C6DA423D3A7E1553D2FAF26EF40DC183099322D362E4965695C52
+9FC3E5BD7ABD743CDCB717DB10372A722A39CE53FABB454EADE2179C4CBFC016
+A8E893C28EF549CA1692C8D8ADFC471DCCDE266FB4E97A1F3035801F3F034D44
+A962226E1AFD39AD32B28B924B247F85B87CC4CE00A01F0DE7DCC439C05297F8
+AB66A0899A135B400DA86109FFA8CB56DC528C494B2833B69725F533632F8717
+91A4E78EEF79C4F59E5F068B6A0ADB9FA9E3A09E1B0F367030EDCE6C24B46739
+6B440EF7EF8132FD8C737FF9B7561D4D01564106610633561FB31239E96C9ED3
+D43B799ED76BF07AE4D419E13A47EA8FC5671F927DB24DED249A8E2A89862737
+0608FBB802E84B16FDF6684A329A14487D1234897C3D7EE35487B81B625132E5
+56E71B16459AA33D50B534349C58BCFDF6166EA766FBF4EE0D1614F108316B67
+7622CF41FDAEC84B17A3C3472C1046B4653ED1ABBED6FCD557F02225E052DFF7
+FEB03898163EFE8B85D2FC830823222F4652D5FBB0DB57DB8C42C138B986BA07
+D61AB480BEE9FBC33ECE2A4864A380C1840EC2495415A274735DE53663421E0B
+13560F618C64C74843F9596AE89EBE5F51C633EF6758C82D576EB4427D33367C
+DA82E9EEB6453A3528A50A5C60873193BA611FFA185D8DF9CFB9648F7A7D11A8
+482DBADCD4E500A4A2EA6F89363A0ACF3E8A1F6E901008FE95D2A712DA189C54
+F20696FBCF4672D414E17FAEF6517A79A915085C4AABF66A0BCD9A9BA6F0594F
+9D4A829CEC6FD1DAABD35680F9FB72BC14C65AC75201BF0CF15C05027A5C2F5F
+0E52148C24B68E42823007717BCB450509A0EF474495D1381DB6C6F47775CBD5
+9ECF9D77FBF9F57686C34E3BC43FE5FB31AFD3A1A0CB84A2877AFC6C0AF29F7E
+C7CA04A3754F6FE6DE0CF7F1A2102BFE361E4CD94F45E02D30F92544AA888238
+A3B07EE188829512C4E5EBD57675A0285D55B32BFF94BE7EBA0D25147471E54D
+AC4BEA702B1402A353386DFFFF05A6EBF2A665E771620BEAE2E47368CE4868EA
+018D1BABCAF1A2A759282AD1F238D62C662788F87F140A97D8386B129DA38914
+
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+cleartomark
+{restore}if
+%%EndFont
+%%BeginFont: CMR5
+%!PS-AdobeFont-1.0: CMR5 003.002
+%%Title: CMR5
+%Version: 003.002
+%%CreationDate: Mon Jul 13 16:17:00 2009
+%%Creator: David M. Jones
+%Copyright: Copyright (c) 1997, 2009 American Mathematical Society
+%Copyright: (<http://www.ams.org>), with Reserved Font Name CMR5.
+% This Font Software is licensed under the SIL Open Font License, Version 1.1.
+% This license is in the accompanying file OFL.txt, and is also
+% available with a FAQ at: http://scripts.sil.org/OFL.
+%%EndComments
+FontDirectory/CMR5 known{/CMR5 findfont dup/UniqueID known{dup
+/UniqueID get 5000788 eq exch/FontType get 1 eq and}{pop false}ifelse
+{save true}{false}ifelse}{false}ifelse
+11 dict begin
+/FontType 1 def
+/FontMatrix [0.001 0 0 0.001 0 0 ]readonly def
+/FontName /CMR5 def
+/FontBBox {-10 -250 1304 750 }readonly def
+/UniqueID 5000788 def
+/PaintType 0 def
+/FontInfo 9 dict dup begin
+/version (003.002) readonly def
+/Notice (Copyright \050c\051 1997, 2009 American Mathematical Society \050<http://www.ams.org>\051, with Reserved Font Name CMR5.) readonly def
+/FullName (CMR5) readonly def
+/FamilyName (Computer Modern) readonly def
+/Weight (Medium) readonly def
+/ItalicAngle 0 def
+/isFixedPitch false def
+/UnderlinePosition -100 def
+/UnderlineThickness 50 def
+end readonly def
+/Encoding 256 array
+0 1 255 {1 index exch /.notdef put} for
+dup 48 /zero put
+dup 49 /one put
+dup 50 /two put
+dup 51 /three put
+dup 52 /four put
+dup 53 /five put
+dup 54 /six put
+dup 55 /seven put
+dup 56 /eight put
+dup 57 /nine put
+readonly def
+currentdict end
+currentfile eexec
+D9D66F633B846AB284BCF8B0411B772DE5CE3DD325E55798292D7BD972BD75FA
+0E079529AF9C82DF72F64195C9C210DCE34528F540DA1FFD7BEBB9B40787BA93
+51BBFB7CFC5F9152D1E5BB0AD8D016C6CFA4EB41B3C51D091C2D5440E67CFD71
+7C56816B03B901BF4A25A07175380E50A213F877C44778B3C5AADBCC86D6E551
+E6AF364B0BFCAAD22D8D558C5C81A7D425A1629DD5182206742D1D082A12F078
+0FD4F5F6D3129FCFFF1F4A912B0A7DEC8D33A57B5AE0328EF9D57ADDAC543273
+C01924195A181D03F5054A93B71E5065F8D92FE23794D2DAE26BF1F487876AD1
+16184ABCA7446A2352AB37C36E9C9BB67CEE105C612D36566FB459D6ACFB1DC3
+7A59448A06EBA21F8824266BDD0ACF9E356251A897A920C39F1AB236EE06C039
+8C4C0AE55FCED464E19AFAF548D454FCF73F6087102630AEA03E622AF2596870
+1353925801642BBDC11F09963F4ADF037671B73D48CD9C209DB4D5BE7F4CB381
+94887E8365D25C45D1F87EFFAE360104ABD3235E4D2F4BA163408448E814D49A
+3E7C171B8F1275D49937C3255326069007B302844EBF2BC1990DDFF1A34C2770
+A262ACCE874DA1E0002188D6A713C79D5E9226178EED27D6F4E4DC24ED2669B2
+3873F42A48E5C1365AAFC83FAD8B849E5D7E52BFBB01B281005A9EBEB4EA2F35
+B691489305BCFE5516DEFBA092F66ABCA2D739A9277AC69F74F786045E63B0F8
+66D545B12B0581AEB579D5E1E2A412DB8F66276E05F131EC3B9F543E11F40FBA
+8CC47071DB04A5D38A707C9F825527521CA1FC412FB54DBD72E912BA4EC8F747
+306A65040671237C8FE84AB6D6157D96EDE13B3A8FBF7140F1A9DA55B666953B
+C7FA638353F278D07066AB8DDF0DFFC832F7025DF1AF9F894D52E9FA95EBBEF5
+9D6B97768FEC26E845B87C6ACF5395C75B894B5A1F50B248BA33943C5AD6CC2A
+8D9AC65C08B3206E7F5E5913CD0D54C9FF741A4D92B628F85E43F52082397891
+66E6F922E0BFA2E45F0072217011D4B8EB40893F151E4E2E92ECE5862C467D4E
+3833311B08340AE1C0C692095AFB739E9B9A4F56BFA0F0B2AB8455A7470C22C2
+0C2EC285026195CB73EE2A713ABBDE4945AFEB92630BF852DD4845FB4C9A8C8A
+0C8C971F29440B4A786108D0DA1AEFDBE03568B6B2F3953B4D07A5B7D6FF564F
+6CC0D8C08CA459D556154A45133BD7AF70C7D8F474DE66E64FA112D776478A83
+B282EA4E941CE2FD6D8F7B68D129CE0093AAF7C1D345C3D65BE74EE9391C9B89
+2D4D31764F1BA81CB12CE46D15A6BF941C9F0EACB4A2DECC8F2F6B85FFF490D4
+ED7BB6C7CDED10F03F68282B2ED20809F95840A904020C98299E17C46243D9EF
+05B5B8173BB2E8CBAB3AA9B8207A9EFE6366C91A7674DBCD9FAF12A2EF4B5117
+5687F3DF1244F5439ECD8AB0587F492E990DD7B516C664AFAB76CE71084FDD70
+E7F5A38BD46926615659488D3548C5066C06E443016DD40275CFF3105573117E
+369C8C34E48BEE832D93F0ADA7674FC6F5A64183DB2B70FF166E02E044B7063A
+41D2F396A9158A26D3953F12982ACD1D7593F474DB98ECFD00EAF57FAAF17C7E
+C1E4775B37FCBCD6DB1B5BC6209162E57E21A6AF427043562D9854B430A0BAED
+20D31A9AC334C87875E53E0B956D33111955459DCD98D54E1BCC61BA58CDB41E
+03009979C0A541FA9F69B55D3F3750515E5F268A7B55254B8A44CA732F2B9242
+18F34C029665B31EB68331B0147607645983340D15E322E3D0532E6376D40FA2
+1041F7988EB9F56D83946757786737D8BB4A996EA7933E79BE61B4EA1115AA4C
+286B7AAFE80AB7C619329AD5FA772A6279FE85FA6B623138FAE1C6AE3FA45AB0
+95D8020D2EE2979E8A87D7E7C5DA2E6B701FEB4923F401F892D83A4928807152
+96CB664018AF24E829E582FA8B4F0E07387BAC53530AB3AADF74404EB2F311E6
+C6A70F960FA962E52A30CCC6E15097F9B7BF011626DAD38EDF78745B60C0818B
+34663683577D897B1B6AEB240F3A2AA29F1F1800FE0A5C205B35C6A6438259FF
+CCEC942AD2D7C3CFE01F956B795C0349DD5380D0140D3BB54FD99EEE5171DAF5
+4FA360A740589A1F8AB4FBC275CC06FF89A8350F4982F87E747501A74B7C81A0
+0F40FBA9D2875022DC3D417FD623D89FB6A0C0F1B930ACC2117C6CE94AAE5844
+0B5C9DAD579B7DDB73F2B26B05E1AAE30AF69937722E8360987AC0BDBE305B5B
+DDBEF5A6C03BE1743C518E6B7B58A85AC961B8755BF37688E37DE0632BBE06E0
+53FAFAFBE52EAF276365A0484A1A682C9B9486CDCFBFBC4F4A1D6BF71378F014
+56DDF9B15A5AE0276827ACBD9AB04D685F52A62BD3DA33BDC2A262B756B58C26
+4F3B552841B81CA60C951F400551166C72B8D357D8122685FE97D14AC22AB6FD
+2EE4CC429D580AD7B8D12A9C601FEE5D25C98BCBCF96C87FCFBF28419BEEFFA8
+7A4FC7B6E5FD377EBD5E743C3FDBB7554A1FB9663B648B15C4119CA952A8263B
+278E5845AB929942E1A0FC4CC413F36134884EAF3704865C1478D6988880EB54
+C5C5C1BDD7CB0548342B9C7B6F94DD6341C5744A9A3C4A866F620BB70575EABD
+AAA42E3B6E23AA029080B299294AF2E9388520367E964A3A66A84628D75F1BEB
+C7A58C92EF7335F30BD0A26D072A986635318E0473CE3CD5B4F1BBFF6E781938
+EE4E3C11AC27A1BE0C3B55586A4565E4B967ED2EE4674121A46DA1C32C5D278A
+44BEB43CCA246B730D337918AAA394728814C726DA4F9C40AC6EE877365976EE
+A53276A818CF25E995CAA34039339C55DDDE74B3C11742786C1E9FA5C432EAC4
+E184F35560EA31D687D005843B02F9252C2A16F9E4C31C18D0D45B7D5F63D589
+3C1FE3D33C912B9CD79DBCCF9FD8223FDC18D55762F0DB2DB241625B91DB17F6
+206120D6300D317E82F3DDE6D2D0825547C08BE7E6FF8FB54D4DFEF2F4E475F7
+F3838B4ADBE49F8C41409D85085DB5A030858AAEEA5AB9CD2D1172C8D0EE31AE
+507D8048E123AEAB05979C872ADBA4833D36626166BBB2A2CEF2F3E641DB429C
+AB15C97D7180E8E6AC0D871E20678516ABAA4D616B51C132F41E5661858B8C2C
+ECEE4A65A2B0FF310DFB531B213196D2E2AB015963246F44E22E603E741BBFF0
+16DBFC284906983A8C15278A36F5379F46C152304DADC8D90C313961E5F58180
+EEEC5A15131E5C48AD27F80B77EB0370482D528735FBA3E6C0548BB66CC222F7
+CCE87194F565B9EF7F32E656E6964501CE32462FFA6B87087EBAF45D454CFBA9
+ACA808C4397F3852158F1C0AE44772253ABEF6D278F726A03A9CBC4330EC80D0
+117F9131C5974445B81093C1D6E093C669CD285D1BFE864D53E5F140D40BE4CC
+2689C42C50C4137DE564374B2130609785D8F519E0083DD24A44DE24A68E4071
+4A2122AB8AB9649660D1C96DC58F37F88623528078BFDA3BA3085D527ED4CAF6
+25BA663A61AEC4938CA78C49623FE0EED33DA2D08CC78F86A807E791BC9CFCFE
+8FBFA55EC2259B64C31F6EBC45D2DF9B47EE09AA54011D40F55B6F12F49F2266
+EDDB09D44C521EC9568CA7E62283C483A436417B65B4FCBC7EA32AC6EB4E7B30
+080816F29F06D6B09E5506D3149C5D758BA85D820357D4955B0C1FFB383E10DA
+4D61774D3B23C84A339C7348ECA6078080FF8B436B2261091DBBDC02583E366A
+622ED9F95D2A85BDBA48DCE8BE45628A4ADFD5A48869800D9B54F530F43A8F53
+F765F5D5C44A9399FC1B9CEFA343966118DD11CB102423D46BA0F096795AF0D1
+BA33F089AD80A104DE7FDF8A6E7D935E6713963FE3C57CC673BCDD423DF3DCE0
+C57EADCA2AE4DBB30166C2CF1F7113DF96A27D4BBB23ABECC5A4795F1290F4F5
+5293B5870F892C9A32C776AAD06D78D0514F047373879CFC5AF9D624DCE5BC8F
+7CEA5055064050AAB2F24A1C792B2609FFDADC6AB8D0F31A12403CF3436A1E1E
+E24BA5F92587925C4D6795A3FB163245FBF054BB1B0FF01FD63DBF7C192D0F31
+33A17E7764699B669A3ACCF7C36849EEDA395E7F55174023A79904A766F21D58
+3DDB7B4C2808DE7FFB8717658084E70DBE046A13BBF1F9BB97B3AB527D68DE8E
+924DE65486C3B883CD65A95901B0DE57821CB6C6AE37644E02F5CB0163617113
+C91D2C649A0BA10736F3709BD504F22DA8831A09BD0B2D6790A498F2FBC2F642
+7845796E606ECAB2356238AAF40323D71B236CBD1E3E43BD5443F304D52F3CC0
+28DB5D33A732695AA09C0449C53C656704D820217AC035DF45F59AE445946481
+E5BFBE5D4EC0A42B5662FBEB9FF6ECFFB5E8517312F56C91A01824E401E7203E
+258C3BA073C1B2532B8312F5AE29E37F5EA71C52F171593B1370D4ED5D7341CD
+567390ED5B75D612D5873BAC518587525A591164E8D36D2BD89F792BD9EE6ACE
+99FB72B23CB2445F12B8A6A0876EE711166C9E34897D370174C17A2495D58B4D
+3DA19DBB1AF2E09C72FA42AA3D8047D05AC4F6A27F3EBF32ADD2AD2FF26EAE05
+A9AB34C9287EE00E8EC29C6603036D365AE08E00D1C7C410EA2551696954EC92
+92080C8FA5C9E67698BD7B895C82ED29391E015F83E0DA145384E223319CBA74
+19494F070649E03CE9FF905619C6CB40F562DA49C1EDD2CA221DD7D3DAFA8279
+AB50DE1C059CB8D5C9FA8137DA711B9D30F236526AA389B2F79F3D5BA6ED9534
+8852BF4448DC1B72E361A6A2B94CF865BC9C3401D995529E2A36DE755EE001FE
+C67B184AE8241D08AF88D626BD2D8AA12EE791AC4253D4761A21917C7F2F5AEC
+795CD14B33F59DD7080C7654DEFFFA669F50FB1AC8C0F2E60201673A78D03DFD
+DE0CB142F0F616C4051772BDB837CB4CE87A0C8D61E0FC7F90517EA0F5F6B1B4
+D57143CC0AE7CA9521C1536962867D6318DF1C9CE6476CEB9ADB21655D379B26
+7A0EAEC2D28430C14D38764C493BA4C06EF4BE6780131F2FEC066C4866E0B258
+51C48BEF77011A0B5763CB3D69A50BDD50C2D7EFBBF18BF42544B1AC196377FB
+4826BACB3C16DB805D38C34F9E92AA9AB5F9A9B317D8BF32AF8A758017269914
+DE3B748625D319E571187E1BFED9CCBE11ABC18C0C6123D24D2C7303DE998847
+0F6F644748ED225135CC3B957EDE8567AF3EE47F5E942EA9293F7BF74260D1D5
+A6F5E56705E12C8379DED158E66DF54349F0504EF584C6D05C44CDD8B720809E
+3DC36FF60BF55FDF1CA8C968E68346CF43C568E0B3175CB7D55343DE21CF9730
+C9DF918360036E4204CD024A67E764D3CC7677E5B229C1B909ECD1B9042134BB
+DD8E47FDBF63F212D401A797EF60011F52EAAFB88E3E70E007BF19826E40FE4A
+73B57D52FAB33A737B1341381EB2ED307E0B83B45D6911E04BE623DA82DD6BDB
+2DA096827E6A498A8D503668E45926525789D43D1BD5B896B487C0CE04FC9DAA
+CD9078D0C8A0639E27F0DCD82C552A7FABA42BFFEAD66CEBBD4D2E4B4A1B40A7
+B6FD119D37FA26C14C29A70E2EDB3253A1AAAC2650009CA3B97B430B1A05F2C6
+F2120C8981683D0976BC42FE98AB2D33014B983CE1E2F1E1AC4A524249C3CF13
+4B36652F96FCBD3660ACFC2F9778B729AFE2CE1BCF473DC5A846FCC3ACBE455E
+2C37853F5204085ABF3BEE50C28D99312A078CE2F6F4C1D2D3017F0E5BB5B614
+102BE45CAF8108407EA970111B5A97CA8C7A64C70D52D28D2EDCD27879B1003A
+6D168CD054E87C063744CDE097887CDF268D89180AF8BB4F170804AE5DA779B2
+1941775FC32FA189038D6050EC0E400BBED364E0CCD8DA571E902DAD812988E2
+4BF761F472EBEB411388FEB6F901777D090400F695D823C758882CC008D889E1
+02678FF81B252C33C89E3B04157C889D4F0F86D432F0B3DD7811BCF01C2FC041
+0D4B1DD9CB6F2433F9B34E7E8ED8BB1FA4F9F7CEB5354A8305C372C2EDEAFE5B
+4AE23CEF34AC457961B15CEA084E31B3741CF2EC317DF484736EDD688737C380
+6D868BDC02D1E63A52D21C8E7C1FD1BD8717612FC247293CC91E0EEA08D5F805
+70217761CFCA0F9C13996DE0F045F28DB67378221722416236E4DC00194E9C45
+A3839F4BB53E226919C2CD13A44E4F67334454DB7E133B2D308925CC2E275293
+F81AFEC4DCF49230F22EFA19F48CAB7E09FA727CC2E11E5A5CCF57307506D5E7
+6DD1D26BFD3DF97E73C2DC019B0A75B9D6386469ACF1A00A5AAB55F99BA1DE49
+9883DC4FB0E8AD9421B105E050519976705F7BC889FB3B6C2921D2E198FEA294
+E192DB3738EBEBF6485075728A0E16ABD53A25BB0795A21B65AFB6ABD7EAA3F7
+1DAE1BA012651B4BA0ABE02F3CCCEB9E92979F17A3338A376C57A1F13E3C90C7
+9DE8ADE421329A57369CCC2BA622840B79C0DF098EA42B810C596DE85F51EB9E
+C8F6FAA598C73F359FD7CB1D337E3B083833389846A99C87885A7537D35772DC
+A7EE51E8EEECF4E4F38AA04C3F4C447080386A41F1461599739D73C58CD02D65
+0899177F7D707AE793B4C915C590AFD6E6810700BC0C3D14B67E03129A4215E4
+953B88C7A9FF1AF4B6DA293E1DF2EF5667D408AD3F2DFDBA46EF95A1D8E1CA29
+FBFA01A4B965D1101CA6C0C2BF4670E94776753FF52C2751AE41872EBE3DC66D
+EE58BFD3BF8F543802C7614F64E7A9CC4474DAB5F4C59F8085FD523C91F0FCE2
+0CAEE1B9613064F9C9CE9556C841563A43660E0E71EE761F0448C41589AD0312
+958167F62FB166655800150F9E81A558949071F01BB11C9ACFB2ACA4F332D2AC
+598AD5ABD3D5EB17AFA97456C0DE4D3D872750F548C357FF34919A3EDCFF9658
+F3DBF53BB3D0A204E84702DF6FCF5022E753CA92323ABEDC81071ED44C306A7B
+C10D15F905672783BFCDF28D97EE156E293046C09595159C735A266ADAACB887
+7026C404951C27B88CC3EC1A6F15F016D55AE6B5DD739914DBD6861098977064
+762AE2867697967117DD7E3CDFC24D046F1D83856D49224191CBAE95C2E7B9DA
+4DC5ACB06B9F637312C1378941EF6B9D966E84DA69E66C43EDC0564D4A9B201E
+5CCD830900AC4D4EEDBBA4AD14ACBADA20179AE138CF35D6F830801D7F9D1F3A
+B48B6C2EA3B77E7EE42DC0A26C7FDA6EB64DF4136FC3AE0FADAB84CD30392E44
+49DD3F7DFAB77AC2E3A8D16C9BC002AA17A9C1E9166A21648AE2AD7F9DB250DD
+2F3F480844C93059796E89238B0DD470329C2AEC9F178B83D421063BCC18CC35
+2C562DAE86EBE6529D19066FAB70C8E73B260C71924B0B3DD652AE37DC2ADCD7
+A3E3E1936FDD259A3F32D669B6CD82D73436212D6CCBE436578139AE07BA8C5F
+07A8D2158C8F21007FC0B96E2B3588466A6FAB4F70363E994AC4FDC2CAB3A478
+9C98DE079DF219648A6219EC7040A8FA91BE9D9451BEA89906677866F50B6FAB
+E8FC00E826B115CD65FAF738492A919CCB657186BA12260C2816C44A632285CC
+25CA1D797DB0D901EECA675FFA1182AD6D48A8A96402D07A288CCC02F8A7CE0A
+39084DA379C5FD08743060851BD02A3C9CC298FFA0AEAC5F5E1928C46A6EBB42
+7D2AF9D32BD0117A8CD7B453C66FF39163092568B5A26F210900D466EA5CE01F
+14BC1F57BB0D3186BEE9BA1A5648887CAC06E23057199A31781C4C37B1A07C32
+B8AE8A40F5C481C8D2854AE5C2C3C746C4A2B48189A373A438F512642A55F2B2
+3CCD2D5A06A1859B50C1C3352B1B5B56E652F00EE79060842A33A8CBD002E777
+3CF6C051A6D5F02E35480569E9D00493C494F9FB977E665AAE4468E6DBBCC950
+33876A21B75095CF391E09E814D7A03EAA19BA0D7A560610CC36EC3A9CA39CD1
+4A359FBC14B07975379B68949C9FC2DFAF037C56C13802A7F66C809549EF2FC5
+25EF3F517F06F90EEDFA6F8A3E5F1F3531A5415F3191B8FA7B0F28950A20A1E0
+6E354480D09729E3A2D6796DB81825DADFA4580FDC7813B7989B18020C3AB1A2
+87E948890C25563CB26A068ABABD94F3D42213218F2ACBB2F5B317311474B222
+BE1844548554B37C97284940D5B7AF9E4CBD884D4994A76CC1ABF8E6AB0676A4
+0A8130F05B0ABAC088FE4F9FB536924A55451C8772B29087B8E5E649DA3B449B
+4A055214DF69D0218549440B3665E4D20C5A8660B3E0C3ABBA3426E7820E1A94
+5D273A6AC95BFBF247F695F4D7E3C2BF9FB7C5D7D1E4913953B9595C37A9C774
+3BC37749D7EDF4B3979F4DF8F5D0225B9237410F39AA49791D3E9DD2C1C33B75
+F7D79CF6A2B421E9704D68013F510E1408F0C243E58A3B01F2AB6488D1C43C1D
+11CC206EE00A0189A780A11816C1490A3D43DA1891DC61E55CCD6C1BBDE82871
+27E7848799A526BDC965C7382E650485A05341E9BA6769B4DE062EDE099928E8
+B5A7A5748A7A1AA6707FB743625A9C2EF7AEE00D188F914C8032C9FD72F110EA
+A18B8CF1F442FF1D2941ACF480E012A46BC423CF80B8B27F71AEEF12A3837683
+B835F569BF799016A0F0DED29BDDDF42FF4B0C6E9DD685DE6FF0865E46F55D8A
+2FC8EC23D31F281092AEBB07C9002ED1D7516AC8CC5881CC0B75443DF6DF9AE7
+0C373DFB29294713B2D142119D8097A35EC6EE55B0765351A47A433634F8AA99
+AC77CDFD58E5B4949F68A3B3AE8CEBC1461957D757E82FF2EDDD15631AB33EF7
+93175D3F26FE229E828E09BA0E09AD83060426A04CC0D66C4A5F68FF07ADCDC2
+DD0D86454F8722AA4DBBF313AD9711DCC07FD0FD78829201FCB6E8F101E3FDB5
+604ED8B8468235741A6001E63A13DC1019804DCE8FB3E8F1275C19515045149D
+757890701A6EB0262C1E616C9BBB2E223EF07EB47A4A767280CF6AA71F21F158
+C945B51897394DCCF42E5DB57A3FC6D68B9933A9AB17A11C83CA0EE1FB3F4549
+7A7AC43B07267C8BA09F3AB2A52C6E91D236554B0C0E25E50F6CED6BA46EE12F
+935E4E19DBC6411493EE29335EF6C3FA87AB5E70C028DDA186055C308A2DE1A9
+1193B3E15B11D1E155513349471BEFFDB5C5071BA393A1EBDDBAE2B346E522B0
+1B2812B4696369361C43EF9A2FCFCD37D32EAD713C35A1B358A0BE920F435B9B
+0D53D5573F96FC2EB63BFF0EF59B177319B02EF472054B64BC918D7B61C87250
+EE1DE8ED8C365BCAA589B9FB870CF3431D4898BE3A5BD9ADFDBF9CB20B285954
+FB18AFFC8D4C4C3CE1C15236386F2BCDB0A89BE18ECC88A189395448FB8FE090
+37DE2E03530D14C1C5A498DE640F91A4C092858AAE8ECABFD3CA48388486423B
+EAAE8AA6AD668286443BFF680A4E5475C2AE27FC0842F10EC321DEF74B3C9383
+0C1728E7D5014E53D83416658D4D039987A654231BC50937B2C71318A9671AD2
+DB628C3C99D0EB41AE2E505CBD33BBA5FDAC7439DEE3FB3422118CA5ED5023EA
+58BF1D47260AEF9EFBCC3122E42650DC69F3D8D8B575093A6F6D6F93E171C3DF
+0C82FF4ED3B1E592FB326B8EFBFA5201E80F474D2F7A68287E3C109A0B8A064A
+CDDB2330DC068B5DD69F8E7BB6FE8E647AD3A05938BB75DF93C0B3B03D76EB68
+E0DE1AC5F4A31BC2E23C3CF721D6CD0BBC3030DBD0DBB1BCEA5E136D1522E73F
+2AE7CEA2D566F8B32CA888276FD69F5FD361308A71A4B0F4E2CBFC723277F36C
+28C982FC82EF3ED04F5FEBFBF9C2D76370E9149E10626778ED2352CD8E7E0E5E
+42E27B2E31C542B1F9C172C21F2BE5932C87A6393F9AA755DFC805B5C13E94A0
+64805D8CC48F76E412EADEE158450E74F60E3BDB8D95455A765702996968BDC8
+F013A657DD6D85400CAA4CDF9BBFC714E431DFB0E59DF43AF9816A0042528EDA
+29C32D43009DE33DF99DF19C1569CBEE990A0E2FAB94AE647AF6173C690E6F78
+76C5B3019B0127DC37DB2EF1C85ED74F782F2825C52006905D8D6E27BF77DAB0
+4CEA0158482DAE525B9A2CB2686B664EAB54C75F41B90240E89C00BB1712A05D
+62743A38E63AFCE7240FBBF3F08983EC757651E74D28BCEE36894A4B234777F6
+E2800ED2D740CA1880327EE6F1609F9CA0C617F2782DFC7C6C03F1D99A94FBBF
+2D2D672026CE044164348BD7E4F73251514B6D9543CC6FA7E236F23CCE4DCEEC
+2A373F4134FB9E2A51EFAD456C431F08F6A4336955BDAB85F8704AE7769A2F64
+6E6F27EA470E2726C4A660BDB14C8712D5A68AF1380CEAA495737037C393B2AF
+07072B4247BB7D012B7AD60091E78D77917B881A4749B9BFEA05F16B9285D48D
+C5E38F9EADC31F697F308E11D32448F5AAF124B540D3E5778774B8F09D4506FC
+9C78EFEEA457048B2510C1F46F28B9EF8FCA0052ECBFFEB938830A1A5EF4703B
+CD1C445DE17A044634ADC6317AAB5D81A7700E90BA2ABCAECE474A22664106C7
+5711C23E9CC8C600879797C785292D5FA15E294C42865B1FDD59A207C388BC27
+8EE14E1F453BA173016D90843A1CE334E917A3BFA7431F09665BE57C0FBE0C97
+0BC8969FDA31EED683C479B92143B88BF6A27F3B18B12E8F1CE2B4249DB7433F
+1A0B6F7367BCDE34903049F49B4C1F2891DC381F1ABAA5795053A027E2B115FF
+644520CBC66565ADACBBE849218A0EEB6F3D7C788D1E4970BA3120C219BCB162
+596CFCC2D590689276DA9AA8847F8195B412A1584280BAF8F8CADCD2B0AFA695
+76A3190C601B5038E6E29AA502A290938D3C410E7D78919014C1160E7ED51DD4
+AE48E760A719DE1F19F45AD907A5355FD7F82E44300B095C1FEC3DEC920A0897
+79235EA5A815CB73EF76C3920EA385CFBAD1C1D4EE7EBF0F0D4105F7D1C837C6
+E407E1
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+cleartomark
+{restore}if
+%%EndFont
+%%BeginFont: SkakNew-Figurine-Bold
+%!PS-AdobeFont-1.0: SkakNew-Figurine-Bold 001.002
+%%CreationDate: Thu Feb 12 14:57:56 2009
+%%VMusage: 120000 150000
+11 dict begin
+/FontInfo 15 dict dup begin
+/version (001.002) readonly def
+/Notice (Copyright (c) Ulrich Dirr 2004, former designs by Piet Tutelaers, Torben Hoffmann, Dirk Bächle. All rights reserved.) readonly def
+/FullName (SkakNew-Figurine Bold) readonly def
+/FamilyName (SkakNew-Figurine) readonly def
+/ItalicAngle 0 def
+/isFixedPitch false def
+/UnderlinePosition -100 def
+/UnderlineThickness 50 def
+/Weight (Bold) readonly def
+end readonly def
+/FontName /SkakNew-Figurine-Bold def
+/Encoding 256 array
+0 1 255 {1 index exch /.notdef put} for
+dup 43 /plus put
+dup 66 /B put
+dup 75 /K put
+dup 81 /Q put
+dup 82 /R put
+dup 88 /X put
+readonly def
+/PaintType 0 def
+/FontType 1 def
+/FontMatrix [ 0.001 0 0 0.001 0 0 ] readonly def
+/FontBBox {0 -158 1430 846} readonly def
+currentdict end
+currentfile eexec
+D9D66F633B846A989B9974B0179FC6CC445BCF7C3C3333173232E3FDBFF43949
+1DB866C39088C203DC22FDC758584860EC7BB67FDA28CC6208249060E18FAB32
+204779B5C03C0493BBBBC95CF02692CC4DEAA8D2EA90B5C2E64374E92BCB8501
+429B8FAE4A76C0C6B76D6FF7CF9A7D5EDFBCA0E959541C59BD05B7DE43D25D53
+FC3DDA6EF0C2743978A6D03E19CCED4A11F2EA4BCC3110BE8B8D9E2772361969
+C19258EFAFDC276CB1ADE9208A941A36D18F9FB1C33DEF76AA315DDB07D440EF
+662966E7DB0A01929A1BB04538E2CF2BD8A1AFB22C6EC0DD4F2C4D488C742D5E
+669571267C49BCAFB5C141B2C1FA88DAC7931EFDE3A9815238A12786ECFC62FA
+829A03F564B87235AC7420AC23AEBBD71F9C9A61A5AB1DE260D375D2983DBB87
+74F692AF0FB6AD250BDFD9718C66C64B496E10CBCAA1272A4CE2A5F1AB056004
+6A925040164BC75D2DC2C125142BE35F3CC3730D755348B4871F7B8365D752F4
+1E87227E52D71057A43F80D8F8952C60AD1B492C9611CFA54734F60DCFC55069
+A5CC3D4086B8E449CFB9D8BFF2AF93A775DC2161B4F79150373C5457E7293AC2
+7FE3A244835166E48CD7AFE325F59ADB3044EB1563492ADF6B9CF08A7A5990FD
+DD569794F2C8D74C8B75C2633A58AC2700558316F587E46578F89B7F392AB6C3
+889E1979AFB38550018F0152A56D5A2C5A532A12D3B6C01B2916D158BD3C58C5
+60354E4BFC38CF937A14E8B51293EDA34D0194AA9DF7DF26DFF17408966AF9EE
+9981E7FC5202D660D75282FEBF7E9548FFA00CF8E549F66E9604200BA578D28B
+FD3611E3DCCADC448E5861752CA847CF85FE46532EBAC475558E6074B8107F22
+DAA87EF9B3611E35F301351E76E634B035DB3DF6AAFFE9B7A705E7246B469EF5
+4096B247A636661D3356A8AA466240554BC0FF629DFA9A66C8A607E48F7297F6
+5B47189D8398C7D61FC5EED7D7E1E9E105216D435F50DE83B089282C84CAEABB
+C5C18A1CB8E616C0C1E75832291A59F9839CE31278626C4C5EFD410278B3F850
+41CE1CF859FBA2870DCEB5F7E7F30FB1E250F12170D8692852666BE1920B40F3
+AA28D246C52061DFB9076201D7557AA20ABCABBDC2C05F7E120B481F8D77C8CA
+A24F1526CCE72033B37AB2E428D61D7906FF68BE2E0D6A96BB289564770D0A5E
+EBD81A73FE2DA4B58FBBDD9F6384613275A7AF3F075CE9B88F69719BAE108F34
+7F25D40A3917AE6E23981338327B9DAB8B8CFEAA801B46F1F65EF5DF3A632B05
+845F38AEDE98D51E984FEAD578755F62A385B339CF2195F15E74193E8AEFBD3F
+557DF3D62706B0B2D8402B671BB6287A295757CEAC5275EE6661C4DE72166531
+ACD6743E589BA205D2A3F9F81935C02F05560B15D2344A1834883A4143A89A1D
+220A4639691A84D7F728A02F7546F803A4C4A388BA2B23C2F894EA40682F08A8
+CCF303CB484A6F2108124D00A25EDE3383CB75B5F89FFD5EEEEB0C032D13A0AC
+ABD574EF95280E0C9E750E371ACAC36BDF3931A36B3F7756E3FD60A30E2871A9
+AA6373A4130CBF33F0BC5D534BE0E96BC0FF6BE135825DCD37BEAAA6D845473D
+B6FD06418906DB49C55AD602D8E99B3A8BBD3247AC243E25214074B620FE45A4
+0F369D58E096610D7B4DFE75318EAB91191B962D6766CF78823F39346FA04774
+2BE123EB80D86AC1FA5EA5326F001BECB3FC7DC3E9F2CB5B8299D8DC4CC03D4D
+2F1AC4E92B9C1E42D0FED76CEAA854204449A841EC5A814A0D6E0AE9A715426F
+11953708EFD53A2D60CE32134C8DCB044FD9F1A56CE9C6AD6A3C176104A3E70E
+4884C96C0B8FD2A6E4C1D7F358DC4BEB4C2845C1F62D4121F7FCA3E7031B98E5
+563F0E13971047DBFD7E1F86B6D88D79EE401AD1BAA04C3322B763F07CCAA53E
+2D9CFFF6744D0149039C958ACF9FD31392279BCF1D4D55505D45024C8294081A
+F5C36E6F6EE4FF3E0DF037FB8CF49C9413B94D4BD26B5E5BAA9E9A7A3340F74D
+B27F3498860B7113FD8A7D8796D62C0E61D7918C20CAD5EB1CFF4BF2AF3F2674
+C4BA899C8950B0013097B611586CA538C6EA0C984196C3182FE1E5E51E29C9D6
+5AEEFAF3ED36110826F1C8EE3A7AD4285FFC1C55CFCE5FA154206A39A8AA7B99
+6FE277DF0898140B044E1EAAF8B41840ED60450C6A9E450F1AF3F2417B5B7366
+F95EBCF7767C36AA560BC51AD38D61E7E86B1C59E6C9BC72B7AF36E28B0C7086
+93EC22B89F3B212CE5BC176FD3F0D13B62FAAE9B4BB65975E73B3A1FB28A6975
+D8E4A49EAA132EDF52BD4EE3DE3C55CD7E37B5B1019E0134773FF2C983F9997C
+7085F1500123E497BCAA31936DCEA35F5D8C5C4E50201D764191F5C40091F50C
+4FF49778D0460034C2BBC73CB36C2FA4F2D4A2388471FF76F14011FE576451A1
+992860D57B64F45349B1E25C3ECAB9DA64780E34812C15AE62873FFC09EECEC8
+796B102C3B5B929CAF55624441D1A51187C3F36BDEEAAE4EC95484299E42FE0B
+9B3F7D176110F3076DA78FD266EB97C9801A2FF623A05EEF96046EE6089B9133
+2F15EA0EBB1910C9911BAADDB3A65DC8672552B236E7A79555E684255329B7CC
+A94AEE53014265950A5E01C6632160977D24444B3AF5592E03244057F9D95669
+E0E4B6FC69F28740C0D1EB38B93C8ADBAC421A488FAF5E941F103621522E135E
+EF3C926282763A6D690B0E7CFAF8198438CB0C505F3323FB17CB1D35CF29E178
+35478255274D5FEFC2AA10208E77ED1EC017372D5A58FA5D9A592D1CBB9760CB
+311AE8B618F2AC621411C94855EFAC3F2CA3A0A1442576E9DEFAD4D2AEBE3F10
+46AA6D5DE405D3C85EA5AAD3782AB3ED302A624C590164986690A2AC093BD78A
+7D7C5730A1F2E0EE8AE22747A38903E8053E13553908E6548A3DD89CC871AF35
+18FED8BE403B75D50D79298826D70D87C55AA91F7443A585ADC9D5AD431762F2
+3DFDA2448E41ADFD2C0A2AB562C9C8BDF55C7D7321A1CE3CF3906DD21DB2B785
+CEE97EAC5B312478618006FA46648CA264A71482BC08F7FE4BEFABCEFDE61FFE
+9F2DAB831551397C378DB83CD57A98DE845D78C627DFFDA26480C193B145C227
+9E9FC6D90092E00AC8FA142BA7B27E1BCF0EBB30CE54B961C30D37B2C4FE45A8
+0AD3C2A75FB1923D78F4108F27B8C930E168242938984C90F6062C3ED876A108
+BA2167B629D96D6722ED956B24148340394F8BF22CD82594793ED1B1E52D10E1
+61C181FAEB539C1CAD48640C8DE924DF4E546A1219F4B911F44953D76D6A437F
+DA54A8D6528FDC32B929926C577540CF216E2BE378502E3C909BAF81615D7DD5
+845EFBC0C61C522A582DFCFCC65B7CC7489890CDE36EE51FE93F82955C82E0E4
+AA47B33F912194B25E4C21451463073D46C90E596231ACE0B566F9D2AEC5C0BA
+E2CF11A396B10AD0208D3855232A03BDF8746E0470CF8ED64B7147C736498733
+FD7962085EA8335A06BAE417C45DAAF5CA836806F39AAFDA63C6D40DBFD9CD2C
+B58471F07B003D6F1D77DABA13966C8970435FCB9D697B965F95635C5AA4E18A
+F298EFF1CE76A84C08F1E3B318BB556B641BA842694C76F5427B330DE1A0F96B
+25552D7616A19255CB8AC303C0FD20DF6A802B15B9A307565114AEBF2778BDE3
+BCA25281F498F9E668E946499CD471AA25E4D9E25D10A31648EB6AF9DB605719
+E7669CD856A93E84EE9568073E9E22FB4878D115BCF24D6D95B98043DE54DD6B
+F8C8348DB295293B9C318BDAB0C79F9B25C69446BCA2933B06E461CC8CF407C3
+3EB13EE5E7A9AAF5CBC6BBD87FD0CCB5871F8A128CA9DC02B8F00732460C76A4
+6299C3D871F8A7AF5CE2DFD70F0057E9A3F86969C8EE3108750879A07602AC8D
+EFDAAA11182006AFC79F25C923785A24772BA5C8E28B38C4968C39D64B764E6F
+69FD8E2C2E4A6F56492AD790502F0BAB3DFD16AE147E1D8932AA4D9487EAB2FE
+27FA2F53FF793AC2802A9431170EE9A2BDAD0B86D7F47642B132308CD1AD3E0E
+0A5DBB261020BA7FEB75E0786654DEE2491942A18DF26401E454B77205601ABE
+9045CC8DE2C5B77CEBAE75019864EFF6F019912B9F8227F6468DB6350A0D6A46
+4DB8DE1BCB88B3B226FD8F9F2063AAC05FDC249E7937B81023B39A7EA431BC18
+F3733AC6710842D53ACCF66D7081FC2E8BD8772E0083824169E62E43C8C8F390
+C58FD63034DC4AD4218BC4FE80E00113C7E4305499FD1E3CAEC052037F3EC8FF
+F951070EF3AD1B47BF4829278C6951C3585D232FEE9F4D659309B483F53AA7BA
+21C1D1730C26AF49CB34B679279F0EA44F1BDFA56E0DF5C7A25A3110F85E7DE0
+166BEA0516EBC63FE5F487B3427B5519FB885D9F90A16EA47D546E26C75F3114
+D3F6659B0A1C48BAF44480C1A5F55D595655BC8E9F5313AE7149B2D19DC73A37
+97D4234DDE57AE181627C8474C6DAA88EA0EB7766DE9FA5AB82165203A86B209
+DF76DE1186C99950F24FC759455BC886DABBFA6252D0C827A1C1A5508CD330BB
+36F97909EAE89F08AC7D0F709F3A748CDA5618B131C60717809A484B943AF1CC
+AC628636E16F8CBFE273C14AA1D3EF1F2169DC59A98EFF1BF19A16B68E22EA13
+C6718DA08396E5BE82582DC124AF4665754FA56606A509B325605F79AFF974A0
+E8D45318FE8F2514249D62B9DE647C3E1ED5EC64B09FE3C3A186348661C42083
+41CC725F21BF20D97F412E22E4A5197F493311762C9E2CD73E0E1CC7E1EB4273
+653593F5BE12B12E6F980AF0A2064A7E59411B1259922856E1664971FF676533
+7AFAC243BB427BD425E022EFD659654F043C870BA56458BF7EC3EC7A081B9C31
+EC1DFA6E54D3928F400C770377486714D04CA600D6EDF5801E2FC4AC9D00A4F0
+22363320D02A927F577A4D104E6B94CF5CC84783CA3FBB5E12F67D9DBB28FC33
+CE1C65ACE78A7F5E2FA8E9170E0D925CEEF9245F2FB54D339A3B2299A756F369
+6AD7AB62D3B5CCCC7934E886A8C4EF753E6D0E6134A10B924CF6C937E172366E
+C3451EDA484FE09526558728E84EAB78C74179C891F18DFE769C833C81AD7110
+6D74FF36D48B3211BABA3060E291AB30C9BBFB840C63847C964E413B4E9FD0D2
+73B482CAB9DB121D3DC14CFD70661F949C9BA8A4A46D289C1E1A3AB1F03A18F4
+67D77BC98C82B5631075B1B7BE0AAB6604E692F0883F6D9DBC499FC0FC6BB5A4
+F38E589A0B43E1F4F0BCBE54C0872DD66158385713072148D400FDEAEB326CB0
+9290678140533C56CEF1CD88AC12AEAD88A8CB129972815FE9F95F23B9248B79
+5AA1F0CD67797ED1152A7545476131B01C4C1EFD352F2E186A5B790000159325
+43CB65293EE73FC25B6C993DE2EF0FD5703DF49B5CE9A0981FD94B34694F9291
+B9C9A228AE62DC2740559DA1CED2C38EB28EF05F4D22561AD9947C35D7B8F86A
+797D6273822FF0FDF3799660A9A9FB0C5BFF35F8BFB21896294AF2C797F109BF
+E391AB2380789915D6C1F41D6D3E10C739ED560614404CD22AF12BDA5ED266FF
+84191D92648E6AB73F00780AD2D5F8D651
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+cleartomark
+%%EndFont
+%%BeginFont: CMBX10
+%!PS-AdobeFont-1.0: CMBX10 003.002
+%%Title: CMBX10
+%Version: 003.002
+%%CreationDate: Mon Jul 13 16:17:00 2009
+%%Creator: David M. Jones
+%Copyright: Copyright (c) 1997, 2009 American Mathematical Society
+%Copyright: (<http://www.ams.org>), with Reserved Font Name CMBX10.
+% This Font Software is licensed under the SIL Open Font License, Version 1.1.
+% This license is in the accompanying file OFL.txt, and is also
+% available with a FAQ at: http://scripts.sil.org/OFL.
+%%EndComments
+FontDirectory/CMBX10 known{/CMBX10 findfont dup/UniqueID known{dup
+/UniqueID get 5000768 eq exch/FontType get 1 eq and}{pop false}ifelse
+{save true}{false}ifelse}{false}ifelse
+11 dict begin
+/FontType 1 def
+/FontMatrix [0.001 0 0 0.001 0 0 ]readonly def
+/FontName /CMBX10 def
+/FontBBox {-56 -250 1164 750 }readonly def
+/UniqueID 5000768 def
+/PaintType 0 def
+/FontInfo 9 dict dup begin
+/version (003.002) readonly def
+/Notice (Copyright \050c\051 1997, 2009 American Mathematical Society \050<http://www.ams.org>\051, with Reserved Font Name CMBX10.) readonly def
+/FullName (CMBX10) readonly def
+/FamilyName (Computer Modern) readonly def
+/Weight (Bold) readonly def
+/ItalicAngle 0 def
+/isFixedPitch false def
+/UnderlinePosition -100 def
+/UnderlineThickness 50 def
+end readonly def
+/Encoding 256 array
+0 1 255 {1 index exch /.notdef put} for
+dup 46 /period put
+dup 48 /zero put
+dup 49 /one put
+dup 50 /two put
+dup 51 /three put
+dup 52 /four put
+dup 53 /five put
+dup 54 /six put
+dup 55 /seven put
+dup 56 /eight put
+dup 57 /nine put
+dup 97 /a put
+dup 98 /b put
+dup 99 /c put
+dup 100 /d put
+dup 103 /g put
+readonly def
+currentdict end
+currentfile eexec
+D9D66F633B846AB284BCF8B0411B772DE5CE3DD325E55798292D7BD972BD75FA
+0E079529AF9C82DF72F64195C9C210DCE34528F540DA1FFD7BEBB9B40787BA93
+51BBFB7CFC5F9152D1E5BB0AD8D016C6CFA4EB41B3C51D091C2D5440E67CFD71
+7C56816B03B901BF4A25A07175380E50A213F877C44778B3C5AADBCC86D6E551
+E6AF364B0BFCAAD22D8D558C5C81A7D425A1629DD5182206742D1D082A12F078
+0FD4F5F6D3129FCFFF1F4A912B0A7DEC8D33A57B5AE0328EF9D57ADDAC543273
+C01924195A181D03F5054A93B71E5065F8D92FE23794D2D43B233BABF23DF8DB
+B6C2BD2F04672F9A3B7FE430263E962F16A948319C51B8ADE6E8A80D3D88023A
+6DEA4D271676C2C8615C4A0EA7DC8F6601610F398673A4D4B905F49EA868FEF6
+39BE073001A36DEA6C08ED51452F062B971740019692E221F4455EDE46AF24B8
+407A98B791F6AD525C72C09776247E194043281D04FE1CD1D8AD8DCEEC3045B4
+F95B3B41CD3300768D8A049815348BD7AC1004F5500817E3A267D694AE108BAF
+285B288FC5F28A03E9D34FE5D9B2F9A9BB26ADE66B1CF8EB5BE606E83D213C33
+DE083C20D636EF780E761944FCE3B8A950B1E6E7568F33B557C6D59E0CEAF185
+53E609A4F58AC4D5269116F958C4D115C44B5A6DABAB79D3BB6E60BDFCECE108
+74CFBE258779F32C80CD7D9A7CEBA50A0966BD9961F71560119668C4A0C30A5D
+ED91ACB30940502B24F33906D6E0F16F81DA87EB6D7FC8B7853BE388C40D75C2
+2CA8F94713AAA1561F5321CE97997CB4AF0E37F44E25B0F73CF4986422B1CD89
+8F861CA623004ADB1C28268D7F8C484AA10C9519B6AEADC95AFAA3304D60E85D
+718B2F67D2B734095E5A92C90785252C98067DC05137BE735220BBCB7C341D61
+C4B98BFB1EAF883D38D7A93195A059EF82B42027F23B6CD633231D704B891A9B
+03D11A646F13898F20321D7BC150C63FD6DC6BF9CAFD8DA759E95384B729A0B2
+767B9F3E55C682F7A248BC1184F7D294CFFAE0B246DFCC8F215625DDD4F49F09
+FA8D41CBF4A06152FEB152C61539ADF7E70A4D23AF8267D25CE3B12D39D62377
+547E2528D18DC4134FA3BE0437EE0B3509223D71F06D44C6227D62BD01AC0A2A
+3EDA975E894371C07CA1027B102549A7D552FFD25ED2DCC68E29E71BBAB43C62
+57B0BFC6A953ABC2EF703F35D112F6B5460018CDCEAD17F149DBE5B52C2B9E10
+9818EA6D97C8AC884F6841C9B600A7D868F59C1D80E98DE0741D06D69858EC84
+1B33C6C9938B7E8A6FF6C12AD456EECBD3EBAF0D7331536B9F6422019FAFFFA4
+822E79D6D89D6366DA636CB708894FEF904F366E295F1CB808E78E883913C4FB
+1631248ED6A7CF1095C0C61C4F05E4B9DFC47533A5FD24540AD71A0E2907B98B
+28085EB88ABFC3478C9644594C7DC4244ED5A7C1CA8D960B65497D56D174645A
+B88F12C2CF0A807DA314017984CF3C4FB7F47392A651EB9CFA961B28E2989893
+9FC4D97171BD5338673F5D1CE2C3C08D48A1B77769F01D5058236C655FFD864B
+80E28F900191D4EB349AA5E400A7B0A0FCA0F3E79D7A7C69775BF754329397B7
+D18B20B2683CBC4A19729BA878B3C17EBA0A7E9EE297A5B67E915CAD92C8F356
+582B8299DE6A58E73408F525F7EA895C48A8F0D626A06A96A50348DFBE479D89
+4272576FBB0CD332193D28A8F11503BAE98F8E1D73CF5BCADF23DCD4E6586ABB
+323568F5A34E359661074D50CD8D9DF27191FCE24F10225A5D721EFDE2547E1D
+CA998077D2340B1A4ADFFF570AA677CDF3305D5E3A394BB1626EB35074D4EEAC
+2F037CA2EA389F7683FD17A8E07C12B4CB3BA8C249C9B12D297C618009F76717
+0EBF5F2DD39A6BDA10A2E5A811D4E190660F5FDDBA29201B6F8042620397AB2C
+E59267A7247B0463891831A6F40582BC3F614E5167B646A8F53D8A31717DD9A1
+9034034E705BA7884F0E0738307AF69D3517147C282747F2788462FDC4336A4F
+9CD222908401A25F0A1F7B13B8DAE622DC965AD0BE62497420B70C04AF432237
+E0FDD043456187658ED93B0F9822A3998511DF05E59CC85B7B9992CA0CE3B814
+9723BAE70D2631F32B4BF93511F67179FFAD2075E1591CA5907A4C67701B56CF
+A5E5B02EB4A842BA1F18D6864E5677359C2FB4AF5BCBABAFB053F230CC129B45
+8D15413F736EB07C571521C7DE2A13F2AC1C133D491B0A607197BE9AA1231D96
+BED7968788246B2E4D2BD330F802810F5BDA3760FEA5210CFC6F54748FB1D921
+5CC3624BBA5B8962AA7D94159651589540B17CF7A785F297264F9C1006D36928
+6E2756D3B623A6087E4B106FBA76255903C624C07E18A1AF4E185A533C640711
+86BB477A906ADD36EB6C8F4A12BC2F01B2B98412E4E105977640930CD998D990
+0254A1E5E9843B7A8ADE0AF6D5871E6D3D666465AE69813A2E26333213FF6713
+6F08D55A90C079A56E1B9AC655F720FC22B5AD8550FFF26DA7B0C5A0B60DDB05
+64E8FAF684F3A455BA9BC9278043D79537D201D520E38750335A4C8FEA887377
+879331B68DAD6B253F4FF9981D0F9B9550ED5179B15EEEB00E560A3DB6E5973B
+63403E4E2F40A3D0B937246E9652000B917B1369741E0F913C14C2D2D6D1FCBE
+2CEC4422177C58523715BD070002EC2E13D383A1DC8C84228862B6C5D3B65667
+9FA97E175239BB7FE7E37E14B96DD7960A8AD49DF428CFC13B5D3CC22E245317
+47B5244DA97F1DF954CED2D552477237CB23D037C0DE728E26C82738954EEA1F
+F34FE497DA005AF03746DD2ACF77F6E6F2C224862A1D18AF6F7A5DAF34564387
+9E01DBFF49F8621C058C04C2B3F4F3033FF3E8A977B2CD6B2A3CA4A6C569B19F
+C5AC457AE9AF334DA66A730960C7565E93A2D373C0E3DE14646FFDA05DF4C6EB
+6D4CA8ACCA3C3115764F77B842581760BFB9E5C0EBE55308B0577A8F4D968CE2
+BA3361D79378D451DD150C34D7E901397AC63B33BD7DB13C50D678F5DE999238
+4B4EA15BD449C46F262D931478F5685CDEEC4C4201FC3EFA607AFB8F27AF6751
+125DE42D2FE2D31DE769B7E7FD8CC8C5D91343B537139A822A5BC4160BB5314E
+37501F65B4FC35475FE9E03E34CBF6795AE86CE409500BD0799DE39FA69978B6
+EC74D2197C03632D3F59B85F404DB31240968FA75059B2581B101E028CDECC2E
+7E5E25DFA106E9B8ADB81E82BE9ED3BAA9D03EEB22B7B67AB1262DF6AF5F5EFD
+A5627EFEB84F3A5F92EF2557EDA2843D7D18C592635623CEAB14CC3620F33986
+410D6DBAEF9F86E4E6682054540E2B01D8FF2161F10E66851A188BC15BD6666E
+8D3F21709F196A31EE676D28A2D12639CC2E7020A52910F052E61A0710DF09B0
+064171D05611451BD24FAD64716F141E1C41D3218A8115A3D73CA041D02B46D9
+28C3D07DF0FB668E8E91409C8D0A26A65CD737C075E026AC0A974C9BE658199B
+3B9D82ED95E4646977D8F60717DA4C68767DBD7E8320D5AA1D5DEB2E6B009759
+8282F27D64F1F904830AAB501CDA4D9233FC2F12F77F0FBCC46E6B729C71F6D5
+E6F3EA02EC35D1048394F4EF2177FC5EB726DE5EF2DE7997166B8BE5B5105D08
+EAAC3481FC612665CA112D3F889A0E5B7843EFFCEFACA24A01B6AC2B7DDE02F4
+A9295AA2409A3756BAAB44608DACBB56840060037869455BEBA46F10AFC68DD0
+0563843DF111C6D34911CF13AA6023E5E899060B5EC60D0F78FDEF3E981151A9
+24903EB13ED1A67EA1977449716D1A5A7EDE1A2E9465C9C2B20A58AF02D9F373
+73E627CBF296B3A6A4670C39F3B5EA30D76F0362C81020A1777F0ADDBC6B52F7
+213FEE1718214087837049CF2AF00407639657428B9E8B532F68B631611A3501
+3D9DCA38090E227BD0D6D0FB4130EE866DB6B195C873AFD18DDB3B1E40F740C6
+B3B375ADCBBF628A07A5FACED539FEDA3379D3B60216C2EA6629BE2F65199D82
+FE3AE627D7C67270F3497AE75F7A9514968B5950E2D63C38DA240AF4E6CAE88E
+E25167D179108679876E7C80C85FE1D2BCC2EC9B88BE76A8F5736E8E6B3A9CF9
+42E58A4ECB7914865E67C1468CF66D658206830B9380FE346DC2DC4BB56A92CE
+4B5E4EA9036C177869315A2D9E6CFE97E3BFD7CBE0747D40CE5E8A3A0988576B
+8AD2B1E4314C0D8A0CBCA08844A49F7E054D31BA7543730C0A7390BC4A288D10
+CE29E389A4791305D3AC1BB6F77C805F1032787306F78FF76A20A9E629899F6D
+13356768D33D7B9E294E8CD50CBFB9CA02A193922BD9B4372C912D1689B6644D
+52CAA30F7421E8114D077288119AD9514EF21E5B9989CCE2ABA0C12549FDF493
+FFB39736AC9EB72DAF45E4EA6057527FA9F5AA0A1A3F03C12F7482E465C766D3
+760DA7714D56C91BDAED507A5572BEB51A895F8DD3BD5AAB042650154FC7E4E5
+5EEA6194DF73AC5EE2CBD4EE26E29B1D2D0C458B4850BFE842DDF2EBB4E2A25D
+C6A11CA2D8F346E2B736DF88A3D57BC0380B52396A6C039212699F5D3342EB58
+0C3DD5D01D5078479BD9FD10C07925556C0AB0F03606F33796BA72074549EDA6
+E33644F62CA35207D7421D2727AD8419AD1772789D33405FCDDC9286BC34C974
+A52297F5BBD2E541E8BB473F733AE5097BBC9D5FACF18DE4173B4711E28B23ED
+16E0A6746A60F6FF903026A3900169EDA87D98396E762C2EC963D89197B8CD0C
+25244806BE7CBF46BE60A8F9171731EADFC969C28679B025371E5572E52A0EF8
+B3FD9B4638D03E20BFDEC9345E70B8166D38846DCA68E0D0B4B53629C7E7620B
+45E0A610BCD07FEF8814CF915CFB11119F42407D1C6DC1E6353451D40A382C2E
+C74DF2A4889ED5A3495C3E973565F7178CA190D22C9693C10EB12C1E7A8679CE
+4AFECFC964CC98111BA4ED2BA9B10292A71D5B11870EB08EB483922CE8628A06
+05E7CF6DF93E112B60EF888AA8DB52994EC33DC7277D7B7A4F913AD30257261A
+D6EE80476A9A8D316D190BE6CE0046CBBCED365AB305495284FA921BE0638E00
+63DB2AA4C5F163340BCCD1061B469504DEE350B82FBE1689C1B65D095405614B
+35997D6F0DACA7190D64ABA351705B17B23FE2EE5996FCD607F49F54392463EC
+DD5B944A4B82FA2BE3E75E2946D483060DF99277340B0AB65A2042AD088E2B75
+BBDAB869D1940F64B50D25078519D18748AD64AC5615EFAAF4F3105B0111AD40
+70EE173ABE6A4ACE486B4E5999158A4377FDA6922FAA6E9305F48570D14BC81F
+BFF4C663E1EA9D1E050534F9315A663C4C5DA52CB02EA6408AA473C32CB0CD71
+169BB43C0508A842F400240F0063243B4C459A1FCB3312C41C32ED0EE87F591A
+BCB6D5D3830AE4645CB4D40336DB4AB6540B52E70E1EA415CC6D886827EBC5B3
+EC35CC5C136243B0C20B3C603B648B132B99D05F9B48263ACFA59A856BE74441
+FECF5C6D1FE9D1F4F9942F460961901E16017144C37E83C6822177B2A6C47ECC
+6C47A1104460665E5BCFCF08874008302750EB991CD98D0D8D22B921F90B99B9
+05EE7C39F2BC2A7798157503743C9F2F267BDBE2E8A4CDA7317F81DBF8962E1C
+EC02822CC7F770FD4D08D335904375BF0C6DAA0510771627ECB9EE69C0F47D30
+69A87052989DF80D9F4F19F75B070C3689AB3BE0966453F9D56CED6C1745B50D
+813AE6D7E44B73423AB3778ABE4CD2C4DF40E14C5A426043F7057E2DFA2DAA70
+EA6723F1C7967FECB1E7C1C0CA283334163FBE31C32254490170C3513580A552
+19A5DD75E6C4ADCB12D33517A03318A6BBC7E4214266E125140D8C40F78A0340
+1F95D9FBEC4DCC55B71E89375AA94B0D55646F6C069561480407D0A3AC127024
+D7D1E9ED6B599A2A8766B8792F46D35508B66F302D289405B101A3C6BADA680D
+8C56E2A00B766A4CB155446F862FCF17537A2BE85418E20CD77C4F1F69F70BC6
+17BB5DA8FAA876D0E8BABE273A19C04A8697B3E3CF4725E2C77C8761A9243F24
+96F8AE96399996001A57FD75106745AB4646FB9C6421F1D4EBF3BE533BD11AE8
+14BFBD6D308376B26E08E4ADA490DDCCA94BE8240403D5EB0FE3549061DFB668
+4105B4FE77189546619B6BCF3F9723E278E98D50A17DB8A4C46744FA21760635
+5B332689316BD17C966D466AE737FE3ED7ABC443ADD88D4823A10BC9747ABDEE
+027515AC353A420523F85298029475D8BFD83A2CD00C02CA07974BAA581D2215
+A850E6E4C0A5E17E0EDF91C63FAC18C70093F40FEEAF0350B403E2806F4EAE96
+BF616A805616EE55C4657418C26CAF54187A6684821B86A76F15088AC4D5B551
+66C3CA8DC61E9810858D1204F899C7E3A1754F483134609F6EEE6364B1CC04FD
+92C86EF194FA3249601AD722D75D1D395CD15A93C768EC60A486AE885683364F
+93DA00A865C1035F913FDA69E7D9A0422880FB81EC23C00427F07A5EA3CCB613
+83C859958AC53FAEA26A6BB39ABA068863CCE3D447720BC31A5136E08EE58963
+093AF587A72112D55853A1048A2B1695DB2D7F13CC924F2F0902071260C33ED6
+30893A04577C0ACF0681C0FEC23E5404F844A83BB5A2F8DE1F0792196139993C
+1152094BC36A6AE5BAB4B8281E506F485F0BAEEBBE71E174B7CED1E52A8242F9
+DBDF3E0FBA296538D964EB5B7A4E23B1BB0F59872C9D4FE8498203E3AC08B71E
+D2B965AA6CD5D20DA6C83FDC86F4A5D68A58A72C5BB9BFE9BC755C56B24025CE
+6F24443D3CF32CD711D3D94C7C1DC275DDAE3341D840090F97CB6CAEF274C94F
+9F3BD3AAB3F98BA8A7B5CE5E48D1462DAAB37BEB1C10B410E8D33FA42D898183
+BD4F807112D78AA94509E33C179BF7C9E82E55AA7D09E128A0DA06A330CF4AF8
+5DC861498CE029CE8C1BD15C923A708F2E7AF98E4F7B34212A0CB417553C86EB
+6DD46B0466F1A21D29FC5111226794ECFCA5DD4240C0B8D106CCD7EA6F03E133
+BB7733F055D6FFA04EF5C6F872B4FDA3E42F0F036C4825543D75682ACF71B548
+DED160ACD05625274799D0AE201305DA526E01A3D2A719B1B15C05CC09467F3A
+5627860C0F36C503EE392E1786620F3F2287AFE56634E03566B9B1F537FD92A2
+913166228791871A8F8CBA1A1DA634E8224058052A10FE1E67CBD3FD21A6C07E
+243CBF58BDC78577847664EEA5225EB8D6679AB17C563848A9D4D58995EA3609
+51C1443B752A070D9872FE1643F0677019235AC25DC2B29169D38308F2170A1A
+A0FDCC59E6602197D2815B914041FFC7106DAAAF30CD97400C6D0826A40385A4
+C8520119A065CF32CF2FC5FBD8DFD29222528A7F96FDA533145846B3428F8239
+E50277C366418D713F84B12A5FD4F904DC13DB1844A391FDAEB97643A6FD2945
+942FD4FC5A4A35E184F23304B8B4D93D0C37EFCC4E106D4FCD0DA3E5D2117589
+3FFC2BD1D121026562C55C455C3585050B9460891B006F62D9D9B66695C3D348
+A467C14C0256FA9621CB056E7CD389505194FF463BCC4010897F9A690EA87D9D
+BB3ED4C174FBADB8A4744C6E4A44D773967FD703EC37672F9993DC48BCC8A060
+6CEFE8E6B8F10886E15BA0466AF410B90DF0020FAB88BE493606B6A734EA85BB
+926950EB10D2F2CFDBD182B0F133809612CCF6ACCAD049C8005A42FAF78368B9
+E7684F98DE421BE0A3BC0FAEE024A7BE67E15C8394F17FE84DFD8156C2A3E94D
+08259E15CC657E8CE3088395BF6B5F825764E141AE15EBD186DC049261623D26
+8636705E06C6E4A1F8ACAEA59F91B042DF5DB9C2AB986A784384706A43E5F18E
+42C29CC1CA86D4F247B3BBBC89F3633EE074DCA4AC15B1E33EE4822812A62E88
+C32B0AA57249980EE17AFC1346074800FA529445D18649A0475246A25CF325A0
+BDA06AAF392FD455218B13D9ED577D51A9500B9FB7860716A8E2FB3A8C4BE3B3
+6656C6A5653AEF00184020ACA0BCCBF48BE3BF91E11C8658686C89848E714E6D
+DC158DC6B86AA73E883ABDC43AA6155756145B9EE8EFC505738B7AAA434E093E
+029F4BDA397FACAB37996C354110879CA5EAC9D735A9EAD4C6090650B5D5023D
+FC9947DE3D2582C88B2C8C9C6213593ED5EFBFCB8EB161A9C9F572701A3C80AA
+033903CBED807628BE32BA603E03194E76D374D3813FEBD09ABCAE0CEDC276B1
+390CAEE8408FA4E01108DF54D34CD31F444F24C67742DB868CC2967CDA1B8562
+C4DC3AAE53445277C899FE86E54B8BDB1490AC76FF84E6E695E526BF8394BE7D
+685F4AE35AA17151913D70F35CD7820B221FE0B71A0CA584024C964575599D83
+F428992270E1039CAEE78B2D136545062399ED51E17EFE2DD72FD72ECAF8623A
+C2C6E1DE8EF99678F333A0A25549721103667E88138D473DCBFDA8573A59C59C
+5287D92E1A8CB5A195036AE42DFBAFB1E18A1941C494C795ECF17CAA969792C8
+628B6809C79D5B58F56106EE7EFA0BDED029D2273032E1C8A5CD07991064AB2F
+20E7735CFD4B13C2A8CBBE519A8F57C66B98A31ED82CC4A183ED86D278180D66
+D97CE9B52FE6867C09D913F35AB9B9F6931BF820312DBDE76CEAF3D3F2EECA19
+9594CF093FB8D49DAB28DA0EDB9463F81A02C55BD1C45D2C5729767507D93B8C
+0D596E1098DB1CFB42CB821E8FA5B5B93BFB454C7CD598BCC5F92BA5486A550A
+868D0C17E5861E79939718243DB1F2F6B23D7BC51D926CA86263840FFCC3BAF7
+98B72E5F9191183CA5F1FCD9BACF833A9D58F384DC27B11B30790AFA8C1F0D61
+5CBD7F3E30A565B9703D739A46149AD05407515A3F397A287343D7C4CB6C8137
+FD441A887C7DB8DAF0F445E1DE2BB3A859D465B74109BA18C85A32C8C988D247
+6DC190297FBF224E92AD47C87239667707D70B5D344F4E93013C35939AD543B1
+A8AF20D9DF0629D03971CAD27426CE3536F737B960CFDA0206EA1DD152DA5891
+2B07455FB24A043124FE60C9C35B3565570C5AAF132A27B8098A928F14B7E5D0
+E619EBC509E1E61A0F1A69A7A6028305B86D25FE25B380D2DFC3330B70F99A47
+E67E22527BD17C135A5311F9E7264E646D1EDCF553CD612C2889FE41EC7553D2
+E0616DE75AA40C0171FA981F888E736BE0F3D7F6438FA76FD02D322CF2A6FC61
+1ED2EC97FCD26F6DA6E9EFDDD829D6FCFBD66F76F6E5E4D192A584A8CFF3DF3B
+F895FFCD2FBC3152977FF27D05B3656FC546F64133AADE7A8ED6135F0B1E5BCA
+B170AE703571A817E2A75AD7C9CF2A7827563357469FE34F6F87E141E181D826
+EA00D46FC974539970EFB2D13C85D6FEEA1B50207E9F18D93CDF9AC655D0DEC4
+0661E300811EAF5EB7123C92A5F8A656B4684E2ED3C9B3F98541C5E6FBBC5DBD
+23F23FB7C7E6AE15D9CF22EA2F3357F4A161C2317347FD3DC952FE14918CDA8E
+9125741E24E14E3E74A2796BDF8606B932D06E9995A1FECAC1191EEE535662D9
+2B07F4EBA18FB4CFED5E2D516A4350D296BC197E9B6C1B2706DC46F7F8D829CC
+9695A77009E865486E5EE1319968FC0D479941F62F3D55A9D81FBF62CCC99525
+D028DCF0F801959BECFBC3C04CE0AA147C50B6DA26D3CEF17F5BDD61E7C82368
+E361D4034E462F659DFFB64C404825C32EC8F73BB1572F7875CC54AE4EDF1087
+D5254167A2188EA00116FAFDD66C3DBFE6419612225D642CEBA1AE5BEF843151
+973EA9BDE8FB7F834730E19E46C61A0FFAC21CC470A32CFCF7AC318CDE98739B
+360390E9A8A6642B13AF7C2E28DF5904959122E200ADEB44D45BCC02B9958C25
+65390A99D8E18AD621A0AFC48D88397FB09D0EAB3B1214182E7DB08E59E004E2
+255DBDC4EEF3D97094ED2C21EC501C3F055320126651F8DFCA056E62753E97CE
+1C0B152D66E148E1C5883A9EA1550AFEE246506B981C4C25D9FB5C08D065EB27
+2EEEA920D60D7CA26FAFD56023EEDCEAFEBF246C843B688A32AE308D25476AF4
+9FA053FD2ECA0B7A027A91E51846B9AE624BE0FF069DD38912AC08C084C92A3C
+EA8D2EA18A342B248CFFBBFAB3B7C2DCCDFC038A7C57FB2C01E4142E7DDD1A93
+770F48F47C49FA0A28749F73EA96B75E8CC013FB0F3FF2B9211D48DFB521FD15
+358BC83C595E1EE2EDF7BD08F26149C6AC81C19B03AC6B53B8D2A9C58B784920
+264D387AFAAB7294AFDC171948CC9C5A1F80D025B7A76515DD9339D135C8D58D
+F6EBB9A6A0C58B9C729B91BC2F5BD8DFF8B5821ACDCDE4FE8F64D137D888EA4C
+0285B38CB7142663AE9A46A6DD7823863457AA39F61171ED24A3FE3B2B5EC745
+530241D478FE1788AF768F19982A7C869AF45CDB2C7032478A5D2D7492178FAD
+7D477D1F4F1B0DB87B057EDD4280D406B1031A2015C741D529C5C10F6FAF27AA
+77BCE7B3A4C4E4EF11E73995DF736093C85BCAC506B836D86A0F83CD924C15CD
+6BCBF8E6854D2A19F2002CF3AF40155DD84A26C504AB95C5232A86199FC1295D
+8BC52BBA9C508DFE62630BC035EF01B9D4D0A5D02ADED4DAECA436B90D0A5B4E
+0F7E975F0A6A6B0914482B2CA100D46D3D402E9D77EACBBE3D271C3DD27C28F7
+54521E715BEBC58B3750415CA80E8590F52DE971DAB656E0A43ACBF16653DD40
+C4DF8D976A9561F7A2A4AAA27D75E802284C686C87AE283E6F3B63483AD8A2AE
+B5805C2D47FDAB9D5F77E601BED695A5684A1B63876F4735431983720CF1DB67
+EDD3D6CDFE2221396F2D15F5D60F235A897DF33B1FAAD1781C2F7D2BFEC411AA
+DFCC865D82832B76458887F0FD9D971D2C75AAA237EFCFBE097C258574978048
+3D682D172A2CAF15C4D2B23690A9738D7AEF0E05AFCE599847B993C18E41D0CD
+EF403409BDAF1CEBB60C9DD75E91CF2E77FE532265F8D32F0F393417537F7F72
+3DB71C80C8EBF1D239416C879F1794C6DEE3FA7431267CB6EC7A96C590EBC1CC
+733013F337F31FC100C92E6405D7DD1C1CADCF7E712A8B9AD4AF92BA5D627FA6
+97E110BC240CD8069D8039DF36B6E81F96156EBF5B7D624A8032161D54A462A9
+BCC870403230C4E7527EF177CB25E684AE7DD09D09057BBD928D3FF52E73696F
+7EE6A9A6C549D8F732F74E01287FE939BD9F4A12191B15548AE275EAE43BE620
+3DC78893B9FFF47FCC219A25EB4010D777E0CB975A4C64FAF62B44F99A6F6E96
+E9466DB126AAA2A3F423A3259422FABAC14D92F7BA4856524EE655D03627B644
+51C8CF8F3085B1FE83B4FC4DC8A8051AED50A8467D17658779C2273F61F89C86
+DE2FB1877E780A50A9EF4FFD5EF53661F69A48AC76BAF7C1B52A067A889C5CB4
+01266FA67C23F1B35E546D928BE9EAAE5A881A239D330B82E3A34469D10B45FC
+867C26294E50651B27BBB2DEC0E56B0504CD06C83512421EC1F8F874764B75F1
+067993733DF1586B3C4E6563F060BE9380FD024E0D7B75B672A14A6072BDF9B0
+5B789BAD7E6979717471DA94CA7E569500805A6262E664F817688B513E24125F
+5A4F24D8C07280A2C7CC5D14A8A122BA33D5A92DF8B63A9E8FD0C4A410EA8954
+51E2DA453A099295A2108EEA1D1360DE2CB0B04864014B6C542F6E73FA7FFE88
+A2C7F52BFF930C23C97A6C44F17827763AA744F40FA7666C63E502BE9FD530EB
+12DA1F4EBB0116E895DF6A8D79B0DD557F943E463110F58B5A3453B9343BB5AD
+8DBFCA8FD3C7727D2261190DE52CFE2DFEDDED8199DBF1C67C5B062D2084CCE4
+19A81E23B6EBE286C6455C1364635FD0908EF11AC8DC93A211AB4D896760A1DE
+8DAEBCB80B8298239E74776EA1CF8F32DAA0D05984B61A654CF1DDF3FFE2FED4
+344AECB1CFB87FA6CA4290BC7496D79664A4B28823EB1BA123C78262F043E97D
+08E2C3E7454B9B1412274D551BB695479C5C2008CFC2BB22B6AFB653387073F6
+40353B1747594E74BAC591D5C8FECC3D53891CA744D427BC2DDC4D75B560FA76
+FD4F23DB3B69B6EF04E84DEDF80BA158F65CE4EFB9D49CDB91BDF5B6AD617670
+7DD0660630634CD859B496C142F25616FF13D4D3D1301E4E5E5CAD40F933A2FC
+E4DD8C39720591A480C6C50F3C40D2C1CC6B7245E94513F2FF39AD1D4A91A6AB
+7EC0839C4005ACC939FAE7D465DB47DB927BDF466D910DEADC182DA54DCCF1E6
+5B8B975976B65F9AC9AE1FE6F6C9062C27686580ACEEF323D532F0A0FE695752
+A50E555534C4306D9D90ACFEFDFA4913BD873CCD2B09C7823F423594C118A7B2
+141238A31F874D6B989DB29619C2DA86E5FAF3FBCCA64EF338702DF035344B51
+52D0104539D62090F0BA6D4B5A40908BA2BD8A1141433EEF11A285569004C635
+3A14830F5D5A53CA6D5C67B4737112206E1BD0BD8C6342AA2ACFD7C7D6BBC7D8
+49BCE310323386A72C9B6FB548C07AE070B4BD4FCBD1F84137A343EA68868269
+27147992E0CC0012C8B68B7F57B9123DA0DA1143CA553179BF4EFEF2FB2C0CF0
+4ACF7016B3158C2C74A2FC84BFBDE5C5322B37090D694AD0651EA948C26E60A8
+28403DB34726337F018DC85A98CF5F7155514AC989E4C0093C9657599BF3DBB8
+1F7F8E22DDDC4F306C7275F06E539AFB7BA7481F2693613BFB1A4F8FCB85D285
+5D65FC33F59AFA5A8FD010264FF9A2C47FDD68A045E0638BA9134A6C6C5329A2
+5D23D611A4B5F9956EF11FE57375CCB6BDF02339D108BE7F35A1F4AE512B251E
+8C7E1A68DBE739C0ADEE551A9C79F5BA2C4DE440FD82A9CD68AFD7D777689DEA
+03CF7C10D1A4961AB8E83B47C7DA62BC511875E236F4059CDA0EA338FDE74B20
+E47527397AB72BAF65A2427D2C0EDB2B2967E0E477A7CA12B92829CE017178AF
+E9BF94D237869EE5863B0DD1E861F4F795F8281C384E4128C43A57BB7180BD34
+C5CDE905E8AE97A574ADCC58800840240740FCFA053DE052CF6271075516EB2F
+5910760B323368F7FBE41F4EF6A8DC6CE2147BB8687752738420B403C6394477
+D6C3FC005FED27BA23289BF57A350A7C70B46773509869A2F4C64CE323680F13
+FA73EF5239CCDF72B6C2154DC055F896625DC8BCD2E11AE0E10126971C1368B0
+AD732315EEDF137435382C6A44CF0B32B6004E4DA8BE0E941BDDC8BFD3F3859C
+08DCD6C54563807A6BBD44D8515B60B82F48160E257BEE60E7EE957B9CFFDE28
+8E8E787F83492D26EA4502602962F9A8505C25BE2FD6D9FDE82553F1E65A8E48
+EE5BD5DB27A7217935D2EE5868A99F5147EA8F0A082900CBDA4974C63484AB38
+DCFB009F17E6F71821B6D2F424172CDFF87828AFCD88DC529C99B91B5FDD0033
+97E21A35A8C9D0967902DABB023A684A26334D2EED3893284AE182CE147D9880
+F3F22A92672756A0ECA4F0706625478BE98D0CD6403ABC3D362D88B03194AE30
+56726837C5DFA2173C3B35D5C814D14E2DA76B6082F9A214718CD73989CFCD36
+B98A84AF935D003F98E20A84D3A1560D994C1ACE85DDC1455C3DC0ADCB29C1A9
+8AAFDF4ECF14687DB575C746BE067DDEB8D80C5CFFAC2773C39D753807E23F9A
+698FA26D09D7B86904DD07EC7A1BB4FA02EEA39F3C0F782713EA97DC0DA7E346
+BEB371C48AFED3CB5FB93455A74C7E019AD49C68C8A1A1727593D37E876E16AB
+82915DD2B021E8C24E23ADEF13EAC4078AAF0DBCD804B857073DCD9F2D5F708E
+5F22A7F1696A03BF125E4F7F39B384E2E1A7443D39F966461202F8E982C6D43C
+F007EE624A105FEE73DB0B48158785F5BF59ED044C359AA707EB4A517B8DA7E1
+C8AD358C267CF8B7A15E735DC8369A198E2B492B90A522B7F1427B6F7596B0B2
+83E5BE9E92F80B74476129B576A0FFC87F78C45A1307AC31FCF23CC1063BD252
+411B5E606A6A4768675D3E7946EB0E2B5D34BDE201C1A8B35332A67F8B07837B
+5942804CFA1B19559E33CD25AAE690270B1DEE1FFEA67A1B8D1F31DEE32D4BA6
+6062DCC567FD233986E0EADA6CF0878D008515030BC6DBC5B5AC7850AF176A18
+7FF2FAEFAADB5B80344D2F92CEA511E17EA7ED5C4A83D57176E136D4B27A43B8
+59637DFC22BB508F64027D60560BD3FD35B2D1830C2E87799F6BBE67111DC2A3
+5A8E72098BD03D7ABF54B0645D3922E43141734576FE16361862EA68CFECB3BA
+7CA2AC1B8233EF8761CCBE6000FF8732BE869571EA205FE718591A0EEC115877
+3A3C4A77D844BA26D6BDE27B65F91765E26331AF3313159D36470B99B260837D
+93CA8C74964662703A5232605134F103DD23CC0BCA0449EBB3679C25612750FB
+ADA29C2EA947AC0AAA648C01C73A8CC96D4E526736E68E6D8DACCA9702DCFFC9
+170AE223B4EC21D9BEF5CDC045E927BF083B5D870A18DA83827D4E696AE43F14
+F351C44CCCAC5E0AB218B8FE1BEB32B1B982CDA89EF23D9CA35E8C3B57FA84EC
+CC89BD8F7307186FFB65E2A0A685E4A1CA15DA2E6D3E08CCEF7ADB8BBFA8C0E8
+9C171BE5D85979C546D01E70375CCBD009902F28CAD06FE0A68639E4B6CCE0FF
+A9E967B15B3B9A5CF8DFCE6A60954D50D1B6EC58969E58735EE5153ACFA20DCE
+26AF2E1F5DC77426811E40B61214282BE4BBFA120438B4F9C4367C88E4E7F352
+830790F5F91B5B1F91B88C077AEE6BFAE21B92969585F34B7EC0D69202FA2EA2
+CDED90CAEA432D905C3C0E539EA3201C99EC5807E22D95FCEB48D17F4FF75E0B
+D1A28314EE1FDC3B11976BA4F18AF451E020B76B0E680291D554DF3FE4312600
+0DCF216224075204BE7E60FBCF0709834F266222E2A4B92EF33F0CBCF7C90C5D
+B97CDDD049FA4C1DF9FA8A7034DC5255EEB5E80D6576F5F0C91660DD25223078
+C807E4219807FA1974CB4F2B1DC84B
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+cleartomark
+{restore}if
+%%EndFont
+%%BeginFont: SkakNew-Figurine
+%!PS-AdobeFont-1.0: SkakNew-Figurine 001.003
+%%CreationDate: Mon Feb 02 15:14:46 2009
+%%VMusage: 120000 150000
+11 dict begin
+/FontInfo 15 dict dup begin
+/version (001.003) readonly def
+/Notice (Copyright (c) Ulrich Dirr 2003, former designs by Piet Tutelaers, Torben Hoffmann, Dirk Bächle. All rights reserved.) readonly def
+/FullName (SkakNew-Figurine) readonly def
+/FamilyName (SkakNew-Figurine) readonly def
+/ItalicAngle 0 def
+/isFixedPitch false def
+/UnderlinePosition -100 def
+/UnderlineThickness 50 def
+/Weight (Regular) readonly def
+end readonly def
+/FontName /SkakNew-Figurine def
+/Encoding 256 array
+0 1 255 {1 index exch /.notdef put} for
+dup 43 /plus put
+dup 66 /B put
+dup 75 /K put
+dup 81 /Q put
+dup 82 /R put
+dup 88 /X put
+readonly def
+/PaintType 0 def
+/FontType 1 def
+/FontMatrix [ 0.001 0 0 0.001 0 0 ] readonly def
+/FontBBox {0 -114 1241 842} readonly def
+currentdict end
+currentfile eexec
+D9D66F633B846A989B9974B0179FC6CC445BCF7C3C3333173232E3FDBFF43949
+1DB866C39088C203DC22FDC758584860EC7BB67FDA28CC6208249060E18FAB32
+204779B5C03C0493BBBBC95CF02692CC4DEAA8D2EA90B5C2E64374E92BCB8501
+429B8FAE4A76C0C6B76D6FF7CF9A7D5EDFBCA0E959541C59BD05B7DE43D25D53
+FC3DDA6EF0C2743978A6D03E19CCED4A11F2EA4BCC3110BE8B8D9E2772361969
+C19258EFAFDC276CB1ADE9208A941A36D18F9FB1C33DEF76AA315DDB04A81691
+6676E5A648D7DE382599A7743325F8403952F71AC144CB079B79EA0F6CC70FE9
+5F3188F983A1F1EC77ACFC7CCF01778F00CCFB385AFDEB4E5A9CE7CC620FF716
+C61C9DE01E055E0CAFD45A716C0BE3FCBE9055D993851DE60E1E573FA960A4E0
+DA00D6FC534C4CF679C935A5D4A5B19672767A386D945B17D996CF36231F8E98
+218CA1C3BBB7D39931D4D50B1D1EF947277C4A9C9E84D419D55550E2A5FF0549
+1FA0277DC7AD9334BF50CC5492D5EAA01A2BD4770AD8B320B546FDD69F0FE7B8
+7DCE3B013AFA239B624C50424184F8B2E6C035CD8D09C0AEEA727DA23EBB0563
+F296F801C2D059FAA56DDC675D141E980EE19E8693DD546BB1EFAF23B25EE18F
+401F89336BBB74A63088F8D1EEBE74494B265B6B737BBE29B09C257B26F2DC39
+B3CC5E66AB9A1696EE887C7638A4455C101BA7567859E0E604629B5D3FF0C3BD
+9415B98896048B159A2B809B92737580090FE1E59963263B10DCFDBFEFE15B88
+68ADC79BDC0DF2CA41AEBB4338C85C6CC6C21EA274FF5724D26BC8563E63DACC
+067651091F0E4F77C75213298BCD391606C39E1C1F37DD9C2C4515172E0DB0AB
+3E93275D2FCA7CBFA53CB4D8123F6F54D0986482FE3E98ECF421B3A21437BD9E
+E1556833796B0E3BDAAB179595F761991103B3CF06E89E5DDA1F6D91AE06E510
+6896FF0B71F0D2911767CB1DFEEF3500F070270EADED32C917A92CEE4B70D0AA
+AEC0F959827BFFAB9A4BCDD270540B157307FC76AA894CE6094B0A399768CC90
+A73760A9C1CE6E752C797A9BF8237387DDE337CECF8B700CD88C93A7E1C10C03
+F27952B8CB11105B4077B438642E42FF6F9C2DCEE55E7B8238412D74D1F0A486
+35436B1C389EF0665F668421B4FA232744CD27DEBCED1A2DE22DE3D1C72ED102
+BA781E75C506EE31682106D63A7C091ADDCD30712FCFADB16B9DF147925668C4
+3DADB9361CAE8FD66F76F6E5E4D192A337083689D1D79F1AC5CBAE15BF318AE0
+0B5848ACD555D1F5EDCC5DBF9B56C33C3A0E2AF542853069BE9ADA00A8E88FA6
+FB73703965418F4356592A3480369019BD83005FCA77ECB3172F50F230448C09
+073A73F51F7E4AE79246673B0800073A8B82FF19251B1D3735B67FF464CD5729
+5728A510B3B7A39A6D5A5256034728EBB6114077B845D72A33AC7666F807FD8C
+DEC072865DE18B7EF90EA679848271EF162346D13BACA029163AC7176586832A
+FB06AC0958351C0024D437935DA64F61ED7690342C15ADD496341140AFAA8CB5
+AB146141EB03139B40C2430CF62375565978A9201E6CC2D80D110F5C6CBF5267
+E5D0FC80357FFCEF31DEE07B67D89DC4C03B4AC4717496EE4EDDC1E226F973DF
+96B5B2D1C67A6703FC35E10BC84A48B5AB27BBC9E5780C668EA061153A52ABB1
+647801032F8FC9FEAA8FC9FA35194F98828425DDD6AB48BD3CA4F6E2A15EEAFF
+5C2CBB20CD992A98E4D81B6738D978FDA51EAC4C73137BD6620620EEED08E431
+CD42B2ED848BB2FD9FF30E64CB7CD99357C9D57CAF0A677405A907BC73E7CA20
+314870B89A749F73FA6434F912787554BDD3C1D89782C64CB28523218DBCEF20
+23CB982AF6A7F5FD92B07F556CA112F85AB2AC07A0543E8D90FACC6E2B37BE24
+4A30669AF4E20CD5C356286CDCADB555EB13AC43E448EE00F114D9BCF9E88F23
+6DF91AE40194013106107F6B4C22CBEE46FF24A7C3611B9A49E2D0314E264E5A
+BEFC2D31EAF73FFFEFAABA4BDAEC16B1C259922CB2070E8E33C57BF8B2E8113F
+01BFB9CFA574F3480DC97383046A038D9F309400E2552B4ADD738F615089C5BD
+967000DED6D674A05DC573F17609105471CAC02E96A3D95FC36FEA07B203E722
+7490B9092E5A2BA8BE7D50923010A6F7943906050604D5357C46790A27FEAE42
+47A8F79C39374073DE4316CA6B46F06898516C871D267A5FCDF97D5BE5A6EDAA
+236880CAAEC62C6D2A9117340CADB571B5886008F1C3B0E956C40F1D49CB3247
+F8ACAE0937F8E35CE8FCF9DC7C8EE419C59FB9C8F98231750E59C82C4513691A
+12AF08C10FCE155BFBC15A3BBEA8E0102576D5DDF104FE5B26A1F268AC3845F6
+66830E8B4B4675D437087E94DB20212A433240F3FF94010B984C461D5345CD42
+82ABA722B60B931A3C5626926CC463BB83D6EB5BF97280A58D83314481AAF972
+211A93664CD135F96CC59DA790ABBA2E0D5EE35CC217BC33669A41FF19200574
+EBB63C8C429CB0DD0279D0FC834B3DA7B3B8C176ABD5244D15738C62BBA2C6AD
+31A0D44B1E9FD3E9E8CFBC357625340CBBE92862923F31B8FE9C75C0F505BE62
+6524B6BECBCD412A7D6A0F93A57C39E2BF0A9AE90D064A71538878B4522D1AEE
+2980FC421B2977AF4C08D89F2E862434D6CB5D80F69E0010B97E1A371ECA95C3
+9F02F18C584BF5F2330AFCE8FF92E2DF9B35F469ABC5D431BB5A2E1B9C174075
+1CB0C82D8E1C74333BD75251659EE74A875CB811177A20A894351D75B4E76D55
+4DA06353DDFA9C87125E5C9B69FE0A5923903203E9957272239B7DA8B9139CCF
+9ABC5294AF21AF58E4AED70786CE013C9E384C313328E543B17C4DF1ACBF63AB
+4D80B77B661269EC4624D5293DC84921BFA1BB47FCB4F743459677756A8A329C
+70DF3DBDCF298FECFBBA8476C63349C478E4EE4BF5D8E676E3AFF67832F8939A
+22AA9087162D13925C8DE1DB79331CE565A9B48BE75ADD8BA98F22CD90F521F6
+0435664B05EFED8EF6F286AEEC3B72DD3723DEBE3E9E17370CB4AD148989C48C
+81A758CE61CABA57FB52A574223ACB9761D4FD3514C702DF13DB209E1A12F7A0
+CE40D7B937AC4C2BFE28B49A48F3E4A3DBFAC0B7614A92FC8471670B045EBBEF
+A988BE3B61FE01F9905A5EEBE252656439B1F6A1B1E02857C331E9977A42F544
+34DC2D4BDC7735ADBC55E2B60BA4701D5505DB6D23898A306B0F5CD8B100F465
+28A78C9854FD473293F03384D9BD1017D62BBA0DF604AA1EC9448E8293A55340
+308F6E75ABB18F7B2B00E58D4E8A1168D965AFD09B0ADECB75B675CFA67F94DD
+C8D06C0B7843F96FBBE06959667A048BBAEE26C305BD5607659A26EC82914D3C
+EFBB5EA8BB65D031AAB63C604AD92A3229A5FA2672F05DD214554CDB0EEF7BBA
+E45870F9F7A61EB9AD7D712A87EC34B971F850A5C2217391A8FB59669871248E
+272E330FF47242E18B07C2129E119B0B5A28B19AE3AE9AA2964CB78389E6ED79
+15AA14FDDC0FFEF5CD47D27773A3CF535B2101E5DA40717013BDE06FB939FAA0
+8448EE8B1D330731C8ABE18D4CCA132EEA15E013BBA27360D9A1D27BCF1DD166
+73025C13C7E1C158C11F3801ADF541E9A61A32F32450896A6D9DC787A20069E7
+FE8060D03BB41597D8F511F27747EB31090B36CC7C33D31D285E1F794F20D1C4
+C60C3309038E37E851E5FDA72CBF29F81E303B3731283D269B87D66280D36D63
+B0AE9627B2E3B4C3D6EAFE71D80B62BEB40F9759DBC3AD4E4F9D9BC4C47FDD3A
+7C71DEDC7EB5B8017B56B0AE13F25A2B96B2C6EFC68D6F587254E5C02C13DAC7
+1550B1357FB24A3B690AAC0BCD4C1D4163F9BD72E4A0A18933DD410F9254CF15
+C9EDDBEE82A0938E9FCC4262B9337FCB3A0CCB0F7FA482154DAC6E31DB4F9F5B
+19EE1D97C5D9A65CBEB671129571478DD239D8F90379932871854AF78F55D468
+B2D51DF12B11C51169711DD57563B656BC6780A9E569EE2CEAD23AFD17760CA4
+81855AA2350D7F286A522231A38F1C9E3F151787D2A90910C928E23BFF7904AE
+B082EA444F6EE13B456E2A32396F87EEA2CAE099C8481D7EFCFF519E018CA769
+165948EE32CDC140C764FE7CBC937F0823429CC4DF0757CD684D769FE32F2A4B
+89379B10C2D07B03C13520A2BED99977BAA95927E570634B9B97C19ED2367860
+0FEAF113B2D8DE8E4F7EDC5BCF7FFB5FDC0E66341F995B8F5D8969DB790A67F0
+E78CC178F35D248C0B2C13392DF58ED0EA0EF6929DFEF37B71A37F7D2593F988
+23D128410217F2CA52560E07EEEE9C5C1E06EE088082A26853CCD92E29550146
+FE188F65D505A2A97D97712DF41D8DC9C59560090A732D4F339B355AD2A85C49
+3B2264729A22717B25DB86A906B329BB80C9C5F7DA7BF6C0FD1F16CCDA20E647
+F7E14636D4B3F1E82C26B5A16381DBB92476776721CBF40A15C2FB6AAECCA6BE
+08FBF91E5EA0A0815243827CD8A4EE100C0EA132ABD9EB438BEB4CFA4BE9FE5D
+A17D171931354A80F40A0F7DB859D6F2163BDB85837D555E145C27B6A7DEC383
+7D7D0A521328D3538AC7D54F66F51CF1DDE755C73987AAFBCE2BF30FDEFE6D95
+B4C649F67F8F328201EBAA214381D27BF80BE810D6786D5F42760F368CE90F5F
+6A43D26621F8B8999EF0905501E8AF5198C9FB191003547A7ECF36B5DC7B8E1A
+B1F7145C1DD508766970050809C7BC2B3C672FFE073076C6889170BDD7646C1F
+D76279E1CD28171AF9474D4F5FA5164E19CFC938A864E7F5C9F0A193EE2505B5
+90CDA1350272398FB6EFAFAEA8BFC906C47D8A0B3E08314F59E52A5E659877FC
+EB42F7769290CBA45B383E6B17100327D472464D07F500DFEDB8151BF6D61EB5
+9D5CA8D82111B0E090AEF98A5F9B3E039A387FC19F87D4A05F2EA17E8C230904
+0F25EAA536518333886666B40FBFB0FD64B0D47752FDBA563E45E1F588F94E97
+31BDE09F9785D2C9E8F3735A80A2EEE977FA608ED9AD6A7BD87D1B2A976AF061
+95B4C1028426B1B60A83CFEB6989E98F565A99B4C5F7A931D44C61231540CFAA
+33B04D4FF921C8341AAE5D249604E994A1EF556F182FD53499F711378FBD875E
+69AD98457DC36B3F9554E39EF2CB07FD5B8766200E0249C08D7C8D3166A1C163
+415114AAB0BC06AFE6E5D8F48CBF3740FD20C9CBE7AB36E0FFFE3D58951A3E87
+397BECD138EC67AC3EAA124DECF1A3CE7FB719E73863492C08C5E4A37423268A
+295097D83534DDE19F28A94A7349076BC78A3531A54EA98F9E952A0EFA5C5D2C
+DF87172E02C0EAD4C03D43A29A33536D1412FA683AEBD527083D34D141FEE381
+3CF161E957FC386D7FA4F35B20F6D308E4C6DC8E4B692B9594E76B304A27086A
+2162AE28814AAD04820AF6A9974C3A347F97C138A70AE6168FA0E2054C6B768A
+257988531E10F3E32BFA87E710D6109A2A2230384D325E280614C61E36B4B33D
+9077856BAA398070677F1A1558CFDA29D3CBC41C4B45859D9B95077E153B6691
+AEF4ECAE627CD42D497C258BD2CF78860290A2B861D3732E74ED52E09D8314F3
+D3603B93F917DCF7CB3A82A88BC354EC358F2799E6466A6BC5280319C9AB3635
+532648A14E8D594638E8D70F63D2F9A95DB6805DC2A43916241B1F92CB6E3292
+E31595C6B3CBD43B09E01DC45F02A09BA155CE49E9DDD4AFBA61582EB67E90B6
+92FF3F5E1A62F42CC489D1B80C7B85FF210779A6CFCD96B6B8B1727131A96B9B
+4FC4E83455E065E1CCB71AFD65F201FFABB264DD6303518704C551FB6262ED66
+657DCBA5264C5F2B9B03D8DEA072936CE4B34AF667F513F70BA460BF9A28F82B
+2DA0F053CA5B3B714648773A42E679938CB75DDDC1ADE8BACA281C7A61F9FCFA
+4D6EA966546240F90A7289FD7D53006E24CAE3655A58E0694CECDDC2C0981B95
+4EAD771D1E25E75C4262D958C9580C31F5CA9F3E7D5155D0872118C34E3458B1
+6DEEAD823AE8C0C29DCF080B2B61EDD88A4FF4E540481AC39FC67C051715E39C
+BBAFAC4F5EF84995D4407D6A069531FC2A1AACFFA218151B5D51E5D55F70FCCF
+48BD4C3EF8FED791A25A71840BAE1F2C4FA1DFAE87268A812452F4579FEAEDF1
+D3E07F2D862934ADBCE3FF8A97BB61566CEA9D1D1497A5AB2EBDA5274CC9EC1B
+3AE89468FCF53CAD65A992B2A5C8D60B33C1D8C3EFE26B614F3F2F7583F3DBA8
+6FD903D4043582CD3C39F27E00100C983861A0D890929CEB7D342954F6F13898
+11A0F9FA5F369CC3ACA040023B89D6EFED20246FB16C15937944702A8563EBDB
+AC4002DA500D912E9BB7C3F0B8444514AB788FAFA7D21C35CA3532093F86FC75
+FE4D9F5E8D8C852A6DA167614414B3289E5BDFCEDE492CAE714EDA2804603205
+CCBC3E44099EB8EC65C888A9821B5DFA846FF9D551C7B03F3258776C51D2EFD3
+3CB73D1C8ABDC0A61A811EC1C8E9546D9054DBFB158B256FA1802FF7278271DA
+182289DE766CEF8CA58517ECF0BBE12D09036780CA1B62D7474225F6DADAA6DE
+AA53C1FB98767BB019211CBD5062F5034D2BFDF36C7959A5798C99C975EEE81C
+1957A26780E90F730AA688DB50F081C6788A7F0492C9A565C681ED8A72C0364F
+3F9B154D940AF06F003F5EC5F52E03C336A0161BEF1BA7955D28DE3DDBC09CAB
+6D712307FF5DE32DBBE24DD05E25BE19AB9CB6137A86A1EF183E190170B3D1BD
+1AC4CAE5AF592FC86950462CD705445BC8C81570D76030F8B498DF611B1693C1
+846549AD7C13B7859845382FA53DA860A58B78411E8AFFA76733178BF05FDDDB
+F1AF98C5D4C28776711E971981C823B4F3B768824841F718CB5F634CB5DC80CD
+B5ED4A31942B488E07E86AE6996B352BFAEDBEE2A7EF6FC74CF1591470CC5D29
+8E2D1A77547C63C2641459605DBD337F0F7C131D3F796B379A408B7C3AD0A42C
+0A08C4C5B6CD59B37414527129CAA5122BCE694C7D88078BE10CB54226BFF7B4
+53373CF0ECADF9C7E6EB39D764E4C7F187BF49434A0F8935BC1958C260E4B2E4
+
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+cleartomark
+%%EndFont
+%%BeginFont: CMR10
+%!PS-AdobeFont-1.0: CMR10 003.002
+%%Title: CMR10
+%Version: 003.002
+%%CreationDate: Mon Jul 13 16:17:00 2009
+%%Creator: David M. Jones
+%Copyright: Copyright (c) 1997, 2009 American Mathematical Society
+%Copyright: (<http://www.ams.org>), with Reserved Font Name CMR10.
+% This Font Software is licensed under the SIL Open Font License, Version 1.1.
+% This license is in the accompanying file OFL.txt, and is also
+% available with a FAQ at: http://scripts.sil.org/OFL.
+%%EndComments
+FontDirectory/CMR10 known{/CMR10 findfont dup/UniqueID known{dup
+/UniqueID get 5000793 eq exch/FontType get 1 eq and}{pop false}ifelse
+{save true}{false}ifelse}{false}ifelse
+11 dict begin
+/FontType 1 def
+/FontMatrix [0.001 0 0 0.001 0 0 ]readonly def
+/FontName /CMR10 def
+/FontBBox {-40 -250 1009 750 }readonly def
+/UniqueID 5000793 def
+/PaintType 0 def
+/FontInfo 9 dict dup begin
+/version (003.002) readonly def
+/Notice (Copyright \050c\051 1997, 2009 American Mathematical Society \050<http://www.ams.org>\051, with Reserved Font Name CMR10.) readonly def
+/FullName (CMR10) readonly def
+/FamilyName (Computer Modern) readonly def
+/Weight (Medium) readonly def
+/ItalicAngle 0 def
+/isFixedPitch false def
+/UnderlinePosition -100 def
+/UnderlineThickness 50 def
+end readonly def
+/Encoding 256 array
+0 1 255 {1 index exch /.notdef put} for
+dup 12 /fi put
+dup 33 /exclam put
+dup 39 /quoteright put
+dup 40 /parenleft put
+dup 41 /parenright put
+dup 43 /plus put
+dup 44 /comma put
+dup 45 /hyphen put
+dup 46 /period put
+dup 47 /slash put
+dup 48 /zero put
+dup 49 /one put
+dup 50 /two put
+dup 51 /three put
+dup 52 /four put
+dup 53 /five put
+dup 54 /six put
+dup 55 /seven put
+dup 56 /eight put
+dup 57 /nine put
+dup 61 /equal put
+dup 66 /B put
+dup 70 /F put
+dup 75 /K put
+dup 78 /N put
+dup 79 /O put
+dup 80 /P put
+dup 81 /Q put
+dup 82 /R put
+dup 84 /T put
+dup 87 /W put
+dup 97 /a put
+dup 98 /b put
+dup 99 /c put
+dup 100 /d put
+dup 101 /e put
+dup 102 /f put
+dup 103 /g put
+dup 104 /h put
+dup 105 /i put
+dup 107 /k put
+dup 108 /l put
+dup 109 /m put
+dup 110 /n put
+dup 111 /o put
+dup 112 /p put
+dup 113 /q put
+dup 114 /r put
+dup 115 /s put
+dup 116 /t put
+dup 117 /u put
+dup 118 /v put
+dup 119 /w put
+dup 120 /x put
+dup 121 /y put
+dup 123 /endash put
+readonly def
+currentdict end
+currentfile eexec
+D9D66F633B846AB284BCF8B0411B772DE5CE3DD325E55798292D7BD972BD75FA
+0E079529AF9C82DF72F64195C9C210DCE34528F540DA1FFD7BEBB9B40787BA93
+51BBFB7CFC5F9152D1E5BB0AD8D016C6CFA4EB41B3C51D091C2D5440E67CFD71
+7C56816B03B901BF4A25A07175380E50A213F877C44778B3C5AADBCC86D6E551
+E6AF364B0BFCAAD22D8D558C5C81A7D425A1629DD5182206742D1D082A12F078
+0FD4F5F6D3129FCFFF1F4A912B0A7DEC8D33A57B5AE0328EF9D57ADDAC543273
+C01924195A181D03F5054A93B71E5065F8D92FE23794D2DB9B8591E5F01442D8
+569672CF86B91C3F79C5DDC97C190EE0082814A5B5A2A5E77C790F087E729079
+24A5AC880DDED58334DD5E8DC6A0B2BD4F04B17334A74BF8FF5D88B7B678A04A
+2255C050CB39A389106B0C672A1912AFA86A49EFD02E61E6509E50EE35E67944
+8FC63D91C3D2794B49A0C2993832BC4CDC8F7BD7575AD61BCDF42E2E421AA93E
+3FF9E4FAD980256D8B377043A07FC75D6169338028692CCA8CD1FE92FD60AD26
+D57B7519B80A8F8DCE9CEE5CDF720AF268D3C14099498A843D76E3B6C0328F24
+D36EFE7F5C4E5B5C612786200C8DE3A41EE5F1FFAF4097653CFCDC8F4FD32E0B
+03EDB3E413283B9EFB0AC33B055617005BC9B0057FD68C52D1B0E67F0C571685
+767F2AA85ADE4E0104A1C777733D5E318A22A9944336E5B98D965E50D31F357A
+8B6EA5A0EA98E1B027CE68C2EDB149EDDD04ED74A1B3D206D471A0C11C11449B
+DE190BBFEBC08C9E1B7513B43DA3134D6B11A2516E6E86B67F68C970A320D05E
+94FEC57FB347606DF89989C33482BD09D011C55AA920319E7B26A205D3D0F004
+22466F09C0482A164CFB27EF6ED2B040ECCC3DCAF345B5A73676F193D43123B7
+72FD6CFC5E37930E61EBD5A6307E4DE70194E6384EC0D79DB6AD86D3B319A31C
+8B0589D0FE28241D8ACE280D0530EE99C80723E560BB72AE9D53F4713181F491
+344B06D3027BA4E9E94D4305BE1D817197C54C8FF56CD6964165F6448ECC8A8A
+64B48B4F0FD69299A137589E2491A283509B21A3A5772F75B7602A9F60AE559B
+07A58436D04222C73EAEA72DE9A5A441F88D27C11F4F91255EFE280E91A4ACAC
+1E98A4E5E6C57B9AE86FD218C3CD8F24A4104156A80F13821384E529783C52C8
+78B94AB3A0096090867ED32E8A30980E737922037F75F062BD83BF4F5929BC51
+CC22AEE2DBBAAA001CFFBFF41D258424FAD888FFF1BEAB796A44E3126159E120
+7E4025C676CF94888A1971AEF8B6764B3AF4A92D36FAF6FC56FD049710EE3782
+BC2CD84FE2473F133BE03C1346B875463F126DCAB15C7A9BCC9A727D23611462
+4E8D2BFD2466600285D79518712B8681ABCD69608E6AA9578F7BD771EC36E01A
+5A17BC17E375020ECA59B43790ABEB9DF5F4FBBEF807E5699EFEAC563E1ACC5D
+EFA336E75DE6D8248E9381BB110884FDC89C2F9A41EBBC9A8A1F98E6A41F68BE
+EE30E25CA148C1EFF42DFF8C214A6537AB11F260B8C329A4947B5FC8DC9C5622
+4DF7BF4FBFB00380D47BABB03BC30627AA74103E553F55278F538EDD8C1E64CE
+0F1398CA0AB5A86630139B4A7E8FC02804CAFF3830114640AE50D2FDA3B561B5
+C63AD7EE3347804CBB40FB1E77A6C89735DD870351C3A1811591AB493251B904
+314F65791963C0412377C1D02362C5E9655F1C3D4803CD379A8EF24C48218C2E
+DF1165840462BF37DDE1B8D5FF09FA2C3B261E2F1A65ECFBE5D4EAD43B52C029
+EEB3948CB8A252CBAF545C8FA1C31E920E23A12DD7222CEF2D2A513BD758EA13
+DA33BF5FBF1D734653EB83DA2D374A5B9A0CE316F24EE375D6DF6BDA49954C2E
+DB25A88821193636119D469BA66E5DAA9C92520FD4F84426A4E54273FA469084
+7517817A6EE3E21176D333825E88046F50B3CF6938AF9BA79A2F51398239EB91
+1A2D07F7FCD948427FF62F40FF95E39FE1A1AA8451411563FD5388472251C155
+69BDE9283B41900B21EB1190D06E6B13B7794FED020D2C1BDD205AE77B084BCE
+EF628249398B496DE85B406FC2E1939EF00DFC84C07E26CF72EC401BAAE756E5
+7F6673216E7560D1C2A723CB405EE5CA474A07F61B81F8836482F73DC9516D67
+CE0CB770EAD755B6B356198B4B97EBB29C63456953270CCC8D5650C1D006E69D
+38DE2DFEAB27DAD50A817F0D645D30AF5B75A7B53CBD3D2B8D87BD0A7E525AF3
+22F7ADDFCE31716914C2318260C2E2B4664893921B68C5A93334A361D94A759C
+0D7B146D6FD94F0442D672BDA0F6432E18F3C5DFA37ADA378D95B75F413C9ED1
+BB5C606A3EC7DFB3F796F59B0478C13FD1900381EFE0BB5242D5B5D34D03AF1D
+4BDC93EAF8020E26CA23C8B0E7DDEBBC6762A557067A4CE05A524188A8F02E2F
+3625DA38DFCF381727887F5646A3995A8A38A5FB1E5D5EBB395FDD0B7C8E71AD
+B48EEDB62AB2CE99D121435EFBBFCEEA69AE9ED8238B60CC7288DE33C766CDFE
+15B767B4AE2E6CE0965E77272AC9F86023DA620548CFAC85BC751C44218A29C9
+849F1C2DCBDFAD895B54E51A569952ED50F82DC8A19F367E7E44643854EFD6B3
+FCAEB04E55E4661C82D31E2932611748480EF61FB2FBFB0CFB940BEA81AFCD84
+4C6A6332D7A600170E38A8EAFCD4F93DC153C43175434C86BC747348FAC61B76
+1FEC9027C1A193E55C80F1F20B5317AA0A05AAA36AE235F6E49F06E570FEE798
+84857D7552EA92EF3EFAD52DE39C2F8F43C59E3A957B7B926FC95FC4B60186DF
+7F3523EE2AB74E294C8C4BCD8B4975E84849E0FBDA6C0B0F24A636DFA578B122
+CF97BC5089E21E9F5298D1C9F30CB8BAFF6A3A11BB4D9A0A5CF2B18D055C44CA
+4FD4D8FE1AF3630907DE7E585AA811F9CD11FB2C8FC791851D651009FA5DF20B
+3C33FD2FF848A9E3F5652BD294965A332DD3F246C91B0ADA34017FF2451D1394
+F9C3C95AAC6EC8062BE98E8914D51DA6A164AD13938693D446044859D03A949D
+F9AC5DF4A000CDA98BB516D762CB9F6D44B5268FD0C26E88BC4A760C0F75A140
+DEBDECA4F511128B7D2805872160C55236F0A0FA7637FF0D4E94AC079CD3C8A7
+D03A5A56F26B0438B577C46011A10532FEBCAD14FBD6032E224F45691A726886
+56F305231EB2FCDF59C8BBFCB5DBD2D093A0E84D62AC93A2312CA69295E937C4
+8DBA1802B85F54B5E7E6D6216A918F911FF705D3B5CF055F1D873B96283A0B53
+59344D910CD396D883F6F7836BA65FAB4393A773A8F6BC298069E5BA38210EED
+49C9D920F718E3FCE692527DC7CCE6963BF744F2C91BC5952564196D60574E86
+87A0FAB21F2DB2BD5A51D7FBD8FC19946D24E5A228462C4772F978E650ADCE3B
+8D66B9C21279C531CA1C3A8ECE3420BB65837287A7222CC3673A2A5F8BBFDB60
+C719CD073EF9A23675198462C7C87B24CC92D6AEE5C25AC63855CC3281494342
+D28F3D2FDE0C183486769A4FD5B0143193D31FCB2C2A14E487BBD96D0BADBB64
+D1B56021C363A795BF10E2DB448261C363A54A4AC1182B470C457AA82DF3F5D1
+F4B329806141EBD53CAE309319B94133D7EBDC2D0453A905ADD207364371E178
+0A95C2686E3B34C4A978BFC0EE968C39ABA00889BC5149162C2B54483D44FD3B
+5CFF41F611C7E03B94945F414560E874D7CF27FFD0630890D7D7EA66CBD15448
+229059E1C436BB33D69552B5367AB5D53591C4678D0C704DD3EA23F5D9E8A7AC
+17D003C19E333E726FFFA2961F33C70F429085F7BFE3E2510F59B78F58B19CB4
+01B48E184BAD9020FECCE3AF52048A056981DAEA02AE78197E65855DDB170616
+F54278395D9EA50DC83761AE759F9CDEF9E1948E7002414FC05286ED793E6662
+3347F2A9AF8917493D7305B92CF93E8E9185F70015F5594084298A6C2F9FD3C0
+689F262AC9FEDC9B89577ECDE92F08D3142209FBCE7B5C0A840CC767BCA56C20
+4E4E545E2BE4D21C53855CEE4CD0AB35D1A604C0FFFF77DBAE4289752276559F
+A05FEE65F45ECAF44E95E23FAB6052195C7948AF0B1126482D4E02D72BF8AB03
+DE0F1A632F7672AD9DDE70EDC82AA993678A82BEAD0BC2649C4707FD8509810D
+364B5C6FE0E10772E95288C622C2F06C634F4DF8C7FD1432BC9310D5F24FEE3F
+7AB324863D6DABAA1576E70643CA79EF4D7DF4105093D66CEE0F3B87D2164A7F
+26EA05F5C4645B22D3E1BFD2219657712C168FD90DE801FB0F32759E80DEC1E1
+43CEEB19FED12D757205043FC98FEC62D6A8D8B97BC083B4A0E985AF7850D6FD
+8716B9957C1C35A0675BC53DF672C425C79F43FDABAEE7D63F092CF271C9A9D7
+C41F40C4189510987887942E60A412B3EEC84C9A6E1AC7D54D528F5604B72C08
+94B7882621A5BF1F325B92FF96B80878CC550D1AE4D8196E41CB1251856609A5
+C4D3BD05A922D0D45E039D9450DEF8490A3E924E41434194910BF60BA1B08BE1
+B41824345627745541A4F1703E956328F6227D11C74946B38CFB096139979E56
+4E723B889B44C6D78673868C89912F8B4F0B4B485F1587A637B630F92E6072D5
+7F3B44EA6FD96BBD4FC28A6C1D90805E3BE3E42A7BC9C880762966C55BC04E01
+204D083AE976FAE6F37C94F27E68F8C0F28D52B17F6C0FD7C9150701FD78F8CE
+B8E8DC9260E3974005EB5CA728171F482D765016C94D4ADFE4A42EF42212BC56
+7E4EEEE8B0D2A7856CD4E44F55C0BAB762F92CB8D64C17022D4BF3A47C12F5E6
+279FC23101FEE93753653CE8CEDC3B75C9CCB29BF1D4554C6120DE8EE750FCBB
+E38B5D915206974962E320362E59B3F21B3AB1875703191043D03284D4467346
+CFF2F98CEB4845B73ED8E003E0DC94251B73E13A9B51A3F1430BCF6A21EB9B7A
+65E17FA411F53BE6432F1506232B8159E008FA257F884A4A01AC53BE91754D78
+BF14A5B0FBFB9C31BF4908355F8A762052968DF526D118708CCB0B7CB5BEE285
+6DAB6CD2E3934178E60BECB11AAB5478623CF6C50C92F8BB5D1A583609028FA7
+B8A53B791BDC9EF76A124F3F7641857E4BEA0837CB36176EC9A522EA7F41B8D3
+63C37D1145367BD300F17B54522A834BBB74DE12BF9EB26ACE6F24A046D58F89
+4D4B7DF74875F1A0C1C9D97BE0849593D7B398EB4B00BEBC8C8D1497B6EF831A
+A35380FFB7F1AFA4D888AA52C9482E8B1755CC209905F98F40D95B44D4DCBCB6
+67423D1BC2F3560FF0A8B4F0CAC352A4EE2C1D946E45AAEC8A6AD40303F3382C
+DF0756BFA3B1ED64C169E56ED1C760F2FF0E24DC5C9F41306EF8D2628153D30A
+5DCB0791126BEFD4947D7EF08301FE015F2B0008DFFCBF9F2D4D859FD43EC7D9
+C5BE237E9BF6665B7B1BEBB362F0C0C3A8D86010B9C97FA741C97C2E0513386C
+9C26C235B14DD2A58BFDAC7B5F63DB4DA6D5D37D0098175A9071590E1DF66A3D
+B8173A047C29D7D35557F06132CC920B5460B8AFC11D23D09A4E45D089F5EB51
+963FA1A6256E359D485107FD143B2BF21FDE9DA5744BC2615E86C31C89470CF0
+D06C6397D9FCCB316EA9989430240759D2C4945D941F159FC02327F34B042BAB
+B5C3A47C78E8C1A6FBCD396B1A51CC4B020B8AD401841EDABACECDB482D6EC5B
+72D2BFEB4556720FADD49D07307C8B22ACB7E310CA4151A85C71EEF70E8D15DE
+B3B00F26E0E166C14647A65ADA228A3D1C89025BE059306565DB1B1EFC37D358
+8C1EB024254AFD049BA977BD4C2C605050E17940A89D0D4C5D963E792320F5DB
+3706682E03D25D9E02487247819551465092CC22B6B56E93F3AB528038FEC3F0
+668F866707A19B0463BE706EC729D2EE1653AAC7E29BD25BFB3241D4792F5152
+ED415B4E7FA92C2EE5A22E27E8B75542C492E56D811C192E95542A6FE0BFE5A5
+69273C2ABED4300D491B92D2AECDD278404CB84B1BB1BD7AFEC858215837D118
+C0E928BE7E07CFEEB51A6D21375B772B8248C994564014015232A0DA4BEA1754
+3274F407FED0837A236371F1A32056240F2015B1E7F4B2CA72C6B58610A66F13
+407CFFBA5E0A2893C1F572D50F51286E9133B5A84239C9493B0574E77D281D01
+11D00683354A000C9700EAFBC1FD104EA19DFCB87470190E7E2CE26E3A6FD0FF
+2620B87B82AC8686B6206B530F17E9348BC7D04B948348802CE53A312443DB87
+4DBBA5313A6A2A8DAB8A1CC9A594FF8C299281C0A261C8CB2226B732FBEEDE40
+2C6ACC74A1A61379E2E1CD5548CD908268A32FA83D8504C442EA0E183ADBF7FF
+9FD09C037AB03516ECCA93FF048235BD11A25DB07F164512A079C5392AC7F889
+CE96AE5C8D9580BCAFCC087C35E76EED1A671E87C12E3045E15A687134736DF8
+DA984772AFD189D68571A2ED7256F1E204230E41D3D9DD876F938951714A3973
+0CA9310489F8E807C1C7A4E51AEA5BC030610A5D7263FF7E0F9FDE3E5E37A362
+5B919000BD94D978583B942EB79CF2BEAC33FEBC9A67272EB10865BA8FB75FD7
+9D280AB59F91B96C16C982DE848D76D8FA8620DFD7C80B7DEAE7264350D6FB3A
+EF04794DA3305844A7CF718F6D1A4A3AFF6826173A076A1372ABFC54ED3AC6C2
+09C9287FC830556CA694E21CA5342ECA7B10C90AFC4783D841D7B1E34FA3DB7A
+2B706F3E21B0FBAB23E7257962FC3BC309CEA2C7239A9D6B44CC96825115ABD2
+AF9A2566D2F3382C01569FBDB94C8D664A5DA0F7DC3DD140CA77C743D7BC1420
+324ECF9E4780280EB119885E96A6C619CE3C0C8E1E264E2DEB137E5DC8149786
+486D65667ECF47B1A1E20E9E6E4FC8323E0BC8E61BDD3BCDFC6575C69C03E31A
+EFFC290472CBBD049DE3F840AEE37A2486034240F80E75D8A79E0762377DF660
+52B12EAA16D678990B11A9BFBC03C1D4FCDA9FD4FFBB3E88352438102F10B7C5
+9F04C013B6575B5E948FAB58EA691984A0E54E6B9F3F505FFFEF74D06FA1CDF3
+4B8A95904C8A2763AA8AF5B71D00F5DE09DC1CDF87A08B6D181453063E14C12D
+B7BB3775A6E2A901636273D9EEB833EA8CF20FD83AE899E28DADE10EEEC20BD7
+BD93085A4B1AC80AC1AE8280C14767F1A487BD066007A0D050317BD081131A14
+6EA0898ED59E46DA7B6254BDCCBC660686E2EDA0E77A705A653733BB5C5497D0
+B130359F866CF293FB6EF0C2AC5BAA2DB0DED045E2DED3A2612D078333260359
+16CF0CCB272D34767EA069E0F0B0D42327A18529D72E890EDA6195C2688438ED
+E9ACDBEED41E81CA8EB5E43C2B09CE266EFCA03F2D7FF57F12B06F9E54FCC6A6
+546676F6FFC5B8B7D3F0982B6FF0D21D949309F0C0B175CC1D0976F8C55C6AED
+6E821C39041E22D91AB30922F2B2EC2746BC7DAB484991542FBC82D87B487507
+559AB466F73EE23C2D3194DC5CE4C9AE66D3164613AC5CBB3DB501B64DA7C91B
+C7ED2EE9027FC0906820B35D4F2CF66C4F9CE4A884B7C07155BCA884ECA5EB3A
+ABB83F84DB1F5639599DC7D3F51241AB5D95C3BCB7AB1EC90B4BC989F74FB354
+04B2D7366A34D335A47B8C00C05CB423482BF6C7970A95545424A08AFF9A035B
+7F83F52B65A9799CE76E303B85664B624C65E9CA58184C7BE2BB9D9C86A4DE5A
+8165EE3DA2E652B5022EE7893896BABD88931DE1D538F615787645DF5ACBBA0B
+A8E5B899A37321AA7D4B283AC9234978C2DD81813A1EE5DB6EC170DAC1B6EF02
+94892635B498765C07A38D2E9DB0B7581B11056C28278F89B0E60998379C07EB
+C0EAEDC32AA69B8B836F92A61AFD35688315B2C3F860632FC13E4BDFB63214BC
+41CC6859EAB3AC3034449213CAB99FA1D216563419CD6D6CE4E1B56F33E6C654
+7AA9DCB5B05FC068DF02AC32408C8010AD004F6CCA9887830927F8CBCD49CDB5
+18CAC1EAFF815FF2F6F527F936948201565003022C6C7390B4E3C2B219FB4F76
+9F12BD25CA7B3B61D1A2F8DFEE795D04D5428B42FB66E0C254AF7B7A10CEF7FD
+E5ADA5E217BE24851180E9A1700FBA66C7D2B0D7BFDE4F4EED1D24B821A40947
+5620363657F6D048E651A689822CF815E72FC8AE9D835BE31D1DD8B54C9A717F
+4DC319B4B59AE073936EA40B070524C7E71D5A7B64436DA107749746B516E29F
+E3BBCB8F8C473E706670E11E5B221716F315FF097CD1841D0069FA69EA1898FF
+9F9EC2518C77806A19730C97F54BEAD604548D553D4A6EDB247853225E24E7E9
+89D71F6BC94DB986467E755CCC99069B313F5745B02B4BB608A39F0A0A732B87
+7EA2DED68219754BF1FBCA350327572D769C962EF9242132D93A5C8E9725D8D3
+AAAEC15ED0F43F9A1290E91C463895BD12E8A831DAD661EF23CB9AD2C26CFB26
+71B72D15270CD8CB1D59CA2D9DE884C96BB923B1EC8208BD7DCEAB0FC2293629
+2AA1F72C6B470701C381E335C2364CFCEBACDD20CA36182CA7E70AFF5B14B02B
+75CBD0738E35DAD8E60CB3DA4DDED557FF9ED386DA52D10615E700751C842FBC
+85D89C0E713F556814E051C6CEFE7E83C2F379B88A801DDA565BE73013DD56D9
+44D97798564787AE6D5A6A9FB777EEB850C7481B4A353EB9279731512C9B95D3
+2ACA3A0D44585E55AFD968135F6492A9381FA2D126CF50373AB7D47B509AE6F5
+C4B100BE8334ABE2268DAFB7983BF339540A8D8280F3576CDCD4F21408AA7D92
+BBB218043ADCAB60ADF6385516C2A5A9BFC5C3845124E0954EC5C627FA7C65AE
+AC1A283A5A9670ED2A2073826941E9AAD904A05CDB5B692AF725B6B9102574E2
+461D2FAE65B7321C0093A2A34996C214331F7A91B4F74898E2FAD14576F81B1D
+688DD9ADCABD51FF07C966B61B0118F09E24354A9F75277B03026CA1C783CF92
+76255E2A560768B3A8764F0BBACFC2BCEBF870EC12EF096A2BE42692EA401E2A
+3A12BA99AA66F8BEC315412BA9A17E6574742A624447122C877F80740924F346
+0E22CA288DC767537CFC7236CB28E31AC2C563B89563D0A57F798CB843680E9A
+26A03BAD01DA05792528BDD89944986C15BEF8D3E84C08B3CFD68AD25993B6A3
+903A215F9BAE352E428CA0E862EBFCED059D65F3C47D22B2B8E48E97507E8399
+AD4FC0BE438049A369F1C68E0430642B5CA02080DD55A96E34ACFAC469B18732
+655CE5C09F9E499346B2E0DB6FCD5D64384C2F529685F91BFAED8E85CD5704A2
+54E457F74B77B97BC47EBB0F292F8B9839D248B20DFA40ED6AC6C136A7451F9E
+57FE699CD9F0CABE94AA602DD5F17214F05886AD032731EDA504B76A19DCB8C5
+02B38C86D8D507AC17AA803E5A22632DD205AF07F8AE35EE4129EB0B37E20231
+463C95CD9943F718E9635F8765BC693AA01D8B18E0318A3C06F1086EA20848A8
+9BC45782CD659959CA78F1E2599AC0C8E7A7396D59EC0EBB19DE8A07FF884C99
+45FBC16DD47324B47C81CE0D663B2087DFD2E5F23D3167AC0F1B9A7C31836B03
+59DB1249B0445E4D9172E11414A9DAB776BB862C29749077A9C46242EAB10087
+1F063F497EFA5A35617FA7770432D63B1C903E570D7F56E52DFF3E48051C4F31
+38BAD9D2C195BC8C6D5E49EDF16A023087DE1F666D696510B2AA4A5DF38E733F
+5E7EBA96669D80EE118FE03972813811277F1F07A99581FB458D18F0D2C5EAC5
+CF755173A99C37525615E1920418067A840679646802606148A0314A2A129104
+3CB775A23833AFA223319BCCF2966C76AB573D333529F06FDFCA1636023C3B45
+D99837E560B8539F00777A6B882F96B951F92E5D4E51D532F29BCDCD4EC988F9
+8528CE2BF580724B588C348665435FEC66D6CFF8FF2000E67AA8C8A80C71C13F
+9E6EB178DE3DF17696DCE0AABC09D1B6E2F91C968D4028D2F1E7C0B2E494B201
+4160CF85023E0F171856279D43F1DCC9167D163B7D007B43C1294747F3ADD403
+E3C9F6D68D89DBADA1CDD616DD17877C26DE170AA0AF621A9C62DCAE4EFDDCEB
+0C8E8A14922639E5077C139E3A8CB172D46635220FB98495B2642C8CB6D5D360
+B708534472691544911A108D788F2F72CEE5F5594959B75C1A20FC3A54B30B97
+E23CD3030B8255F7C59AC9F2E29BB880EFC696D77D210536D7D1148AC9EA94CA
+FFE245B4D5889C9730D6ACFB73B7ECF503EA4B28EF733C4C57410956520F9C16
+708AAEE0D9AE34F101CC6DB33D20EE915955268578AAE27C6170F40F3D569DAE
+88DE374178241DEF1327DFAB37DAAFF1BC1F8FCFD21ACEAE6F4E4B0F724F14B9
+40A2031B372029D19806994A5D1E80C7C8E282533C5E4B84052DCE367D5ACB3F
+961420CBBDD14EC9930D30A3EA8185BCFD352D3E1449E877EC12EF096A55791C
+F3FFFA6BED1E63BFD90B97CB1F38C560D1CEA5EF7E17116174B74692941F65FB
+C83E4168467A22AE77A3C0AB38CB05E98BEB3E2CD0667ADD38512D2EE3ED8F04
+F1472D09309A682485948E702A91601FA203AE3415AEEA37E86909CDFD42FEB8
+0F9353743A9984EF36254D60772A0EEDCA800923461E086F456B9753C2806CC4
+C2E9E615BBAD5F6818CE08C1B910BB59940BAC40E626D5E1C7A474BA19F3AFCE
+FB9D25B2413766DDE50E614EAEBA3ABD5B96BE9DBDC12A4094221FAC159AA47F
+09DA0306984DECFD6E52BA3B7278495076098184FBFF2D7E49D0438F00507B4F
+86ED43B1A3A915E690A6A6F4DDB84E30BCFCEEF96C4EA137A96771CD533AFD20
+4F9DCBFC404657430F1CEC5308979421CD6AF9C7CB61185B672C8708518A74F4
+4976FF68DF0865B6F761BC8C1ABAAA7CE8CAA45A17BF41E7486DC04006A0D7FA
+DFC54A72519CAC107D8180396BA6046B6335AEB26E92B59FBD94B1C5479A7FA6
+F7F2DDD06E0FA2EF74810E89B4C9CEB156DC85AEA94441AB4F30E8B1A8BF9F1D
+9E6132B59366AF69851F634A595E61CB4AFE77B6EA9F0B72E803A4E69106EC5B
+C97294A4F68346CD40AE6E3AE9B6669155208FBB42B01EBA44737186307A2C2D
+D5FCFDBA9199FB466789DC7286129299A31E20836F8C654587A7E07A288E56D9
+E7CFB0A43278FDC697D103B20F969938164BC1BC6357112336162FFC796DFF19
+DDF8E85BF9CD2F22465DF9226B333182571F8332B6ABA8543986B454F256FFCD
+F706B4563D38AD9280AA6A259810DA62EC7621124723233EC014E6F3D1E6E16F
+DFC0C905BAACAFA7B2EB6C0D5AF07C3A3FA051E3910340D206DB78FDF24F36CA
+8ABD4ABFEE6FF3BA46C73AD77C07BA81576FE601B577BD767381341CA872B121
+CA506D28A9F757158E62A4C78E38FA8990BDBB65C1413FD1BF8681675DF641A0
+5664BCB5A71663B830977E30F467E48FC91FD4EB224114A598A85BABF0AFA857
+B73C885E843CA29B55BB99CD69A1AB6C7DBA63C9A550AF93B65CC2ADE0F13294
+3AEE55FE39E8D10D1E9B8A9DFD05C44C457C2669807F31630BBA53DF3C8BD167
+60A91B02D5E8D679C227DA8E320136E114E110C064F95504C55B8BD04F9804BB
+63D95C3A06521C95DE7B7EB10B14A0BB45AB5F764623A120BB2F48160E257BEE
+60D71EB768DB3A62AA4DD59AB5EFBD77C096B8BE13D597A4FF1AD2CF4A43DF7A
+21C7DE55DC385B2EAEC8C5BF5B130DD4243F52B202ABAFB60F0D8085FA97FE69
+DCAA77924CC60A09BEA9A64E8D41AE80C247B71DA764C4834D428AA542D8229D
+F208FEA5AA3F5A1641A6FCD1E20CAC604AB4557767744B2A27F0AEB56AA6E56E
+A0D8B5114F032BA029D820738B5E5028B7F18DDE8C00317A3607FA37588203AA
+43F10BF00C24A89CD674D022C50FD0958CB514C9994459941A8D17FA33196674
+CB030E024E01E74F3F10BC537D4B899CDF7F9FB226E250BD21F87DCC6C881D6C
+453C68C647CE8EA1D5EB53E6F3F170006AD8AE8E1CAB7517D01CF4EC5619407E
+EF70039C6D418328E035D4468AE5C730B690104998509ABB3E77DC0349672EA6
+DC28006F2F8F493E1FCB1F200D09191F8E0EEA8BAA5812EE6C2953783E04CAE7
+3FF5614A0B14D9A6F44932CB1F647F8023144649A72A04360EE1F679A7B30AEE
+F204AE780433864491F2B85D31FA19333D9BC85C076030F9ADECD4C7FEA3D99A
+1E48954E58145A1BDEC3F2E401C3D7EFA3F6906011B85B811EA445A5651759AC
+0C95C24065D9A4DC329C5B055AAB0DDFA45DB0FDF9B94F00B77781D9435CF699
+EFFC1E7CA4071F53DEBEB2AA8AE34538B3B812DA2EA2EE5BA19AC90695E436D6
+B0129745977065519D41FEA05DE277A2BD6BF981E70310B8A923BF37C6238712
+C33E29D059AD32CD87DFE82C5861D06A936E6000F6B60072EF21954716FF2871
+3D488FAEB0294B62BAF5C7DEA508980547FA5474AE86F48C3C5FBA2F06DBF435
+673A0E2B798C612172660B703C1243A9110E4CAD2443E6724FD24EF80C565A15
+8F0835D70F9F22D9E4EC0EFB3BE975011B4D741E81AF94FA6EDDAAD9F4BFE7FD
+82AF03CBFC91B1A868DFE2CD9E7AF9222345E319126AD8176C24DBEDD2808DBE
+F3C6BDDD95BAB691BB29CFEA534319E195268F9BA2F1518AC40027D89A07A5B9
+E4C87FE8878535BCD860EE9F90C095FCDD345D4E041CE9BE982C78A9AA854944
+3D1AB9AD6B0CE790F5F9F45695A30B4A82AF5946F02161943D96760214DA5B34
+88A3A8656E62CD8F0BD00FE8EB0E42F2277ECDC7A6DB2F27458527E6C5341811
+F5E347E954DCB8E8EF675047023AF7015B32194D4DCD4D6D3E000B54D8E622F4
+92ACD8D6C6254658340DB70968FAAED1226A949C78D176733CA14273A8C56A49
+A1B72C6FC4C10EEE2D3E0BCF702A36CB57D824D250AC3F036BFD854D622C3953
+4F12614E0DF155D72F1EB25082796485083EEB79B1901DE7CE1A8A01975DFAD1
+8BB4620D605DBFE2EA87A0A3572AF9A41A8CF5D2839845A6610F0E9C2FD31F59
+FFD1B4CD4C9E0E334B3301D6A484F143D7F962EC913E7B00097E296B2903AD9E
+5C8401B7AB60874A1CCE2BECB4E6ABC006875C803B853B0C68D2C7608EF4C9BE
+B2C27DBC3DDF24BF236567A14857102E12B8B4A7DF237A4AF3C2B6C7620BD28A
+83B41F259A9DF2FCDBFA90C50D1561B5E431514E851A2B31A249791235546D31
+F4174CCEE6B2C8C629860746D3C93EA8A43FF1A3EEA11810763D6F7B8CF0978D
+159CF5EE92DB4E102A8B9D1D57B3EB884455867F2533F047AC7F59ACC60CD530
+AB656B083C177275F7230A7ACD461D546B44ADEF73AE2658F753C7D3C6B7DCB3
+ECD47AC3D397B42941FF47674E269502250F0EA86071D6BD1732524DE9B19768
+369845919391F7E9C34CA2239F104A016162771194CD1A6BCFCE5D3FE23B3505
+9E85DF68DF7B17FC7067B933865552B6B9F99815F09121842489DB31D412F0EB
+2CE4AA554B60F4F43FE6470CFE2AC1B88D624094693E1B727605F2987F64B8F0
+22429F488005D227B543ECCAB1504B04B99F1B5932B21CA75F94FF12D08902EE
+7DA73AB3756DF40DE452539F21E66023D26B925CA8417B124283C4CE2D867857
+B7B60A5055543FB599A49AD658AB78DF41303E979C2CC9C463B8B5E8B82E5B92
+CF4F0221F40C6C900D10132B93B1D4949452A209598B29BEE9889111F81E0234
+8C99B01C33E480D9A665A113872249D3632065717765A80768E7825207F0B4DB
+36939AE40A343C271EBB74051FF28F1D03851AAAA9F74AFA088568177586C54C
+96D6A0CA26D77F403C0619C48EBD9486E9CE6A5ED985D8210C0ED0D847993AF9
+C6E1D0D4300E5C701682DCB0BBC3D0C629487FDFED8C02AACA2AD48EAA5F8276
+8E062E72838419D59FC909504ACD1905F56E667522077AEAA89881D09354F6F5
+6956CF33ADA7D9E20D9BD468C7088D6757984DCEC450DA23612A4AA21F3593B0
+C11EBA281585E0FA0628FCAAA65DCA6EA8AEA6593631A8C701CF03CE75B4D6B3
+79B4A5542A05115BF7718A00FCD81562EEFD48E696BDFEF3FEB1ACC6EE68202F
+4C84F3F87FF5917A64F3AAC24B52E39D9589CA3DD643C93E0FF4FE5D3C5B86E0
+C41452A5497EB0190C1F0C4DA4A69DDF6D821FB30D6C303904A01E543F9C3862
+B292312FB49117CDEB0BAE1A0E6CA04F93BE0174C18D4A8B23F08499DCF12490
+65346B75E42EB8A743735F69BC1A70996EBA24D3A0BC27B3FACB40F8C8991B22
+170039346F91568267CDE454C5539DA257F1FAAC16AF505B842D884F117C8E25
+4ABAAA69CDA2E17E97AB402F41B216299261691EF9035C6E9FE5B5D0B9096F97
+891C0769134A380449F15A1AE74A61C2260579C7DDA09A0AF83A7A46D67010CD
+1E359826030307E664F24221775ACD982B1DB002495105DF1333287E30590AE7
+B70345985E6AA799C53F53D769522C90546744410FFEF7F5D66A0ED0CA713032
+B10C2341682BE0A3DF529A995E2CE23EF3C218ABB46F3CBE98F998736E6137ED
+27E2010801E51B3AC8A0D2F7172721EF5956F77B740B1DAB2F19FDDF084E1C0F
+B5E3CCFDFDE12439850176C02D4CF525A39FB3CC333940DA73F6933A6B97710D
+290B4566ABE0A39F488568A11BEFC30346DC6E4C24367FBCBCF890E9B79937A9
+AAF8E21BF8C04C16C7F49BE12D437DD928DE95FC9B7D2CAA17B4148171C9052D
+634CAB14C879E7A2CAEF6686C96942AD652B91679201471312A109944170B6BD
+7FC48A3EE74C872574E0422560A79F9919C65C0B8DAD1ACFE57DE31C4E1F9DCC
+F584363DA6195FD10B82127FE1E1C9696AB9D61635413E7AC613616488194112
+7BFAC0F79E7C777AC8A34106B4CCBD7242C3FE1F83C661F6B8568284EDBFD7F9
+E5BA837E86F61606384C1570080344A4B020389DEB8841CB820090E7AD07CD73
+FD6A97FE32B4E2DE31C4278148C8953B4080B9C5F0DCC98139C4B1ED8476EA59
+2D2E19F09DB590F962DA9EB500365B58194DB638EC71646E44380276E68B1EA3
+DADA3239F00A5C1984D73BBE24C1CF58C56BF232EE0F1C063183B94FDB6A308F
+E0725698D884FA9AAB7A017C21CAB90597FC02EB242F97C9DC0DEF033234F6BD
+0B4A530E8E159B295796770E119AE1B21D0E55A5FA71B514D49520859DF64EDF
+2B84C4B1D77AA92AC1870CBA9FDD5024A0C86DCAB16161D0040789530FEC0569
+916C4DF8D6E7945210C84A2E0E71AAD88524AD4236A127F236A33F02CB3A17E8
+52236E55CFCA560CAB241C0D35BC53BD46D320509197B1C858198AA95983A866
+C7B277EC80054470E943C966EC42BCDB7D822EE85298E7C3C7F95C7D135DB7FE
+BD07B8023F3381346D2E02D65D54DEE68F97FACEDF2DE0831EC13AD33BAE86B5
+5368CC34B228E7B37A2642FB8CD4478B0FE274B11DFD3AB24C1014DADEE43988
+732E5E63BDCB5C28446CF52FA3CFE7990BC25C6C7122AA71299E921BD09F1493
+E62F9E6C54F6686764901392E4C56954CEE05DA3E139FC6763D1CE511479FE83
+6B407DA9EEE3E9C565EE3C3C9FC636557D023910CADCF04AAB18384C496FEEE7
+FEC30120B99667816FAF6BB247CABAE1D3A1CE9BE05D5C560E106F6133D86918
+928DBA2161F641C0DBC7FF5B22A80D98E5469B65E1EC0332D73A3965A325A43F
+E7FA55F45233702DE20D383E3EE3316C891D23347F300EFCD46097ADAB00B6B1
+7AC09DDD0D520360F5E0456C97F8CC6BD1EFCD1689325667C002146148FCDC8C
+0D1E617758BB173D0090B2D1944F20975B13C8E66AA25690B2E9A7EEEDA1FE98
+313204D5258A9CD9C4F7F2006D2AEFF7A65F1A8A5FDA986F55F2E0E829239149
+359D4063277B008468F588AE0EDF80660A260A4839AA9C0CCC21BC6AC9D6675E
+31D832EB3E6C99DA7946645F4E5F5F134D8D03620AE940C629E68682C77574E4
+2FCDD05858B62D5B2C3E6CE4B599FD58B9A47DC5A15CC5A11A8CC2F0D4E64916
+11B6D29B909B878AF431F29A33BFEBD5E9929C181AD36FB48A1071AF4E3B486F
+731BA47CACC876D5FDAD03C92C5F8C4164A16604AE49A390C5A6F6A3DC4298C3
+CDD4F09CEE9816A4B9DB79B0506DDD339799F6656F7BB8E673B1DDB7D988B8E3
+A72E45C0C53F78D354E55EBA6FF61A67DE268FC10BD4210640B07AD730A44238
+B5625BC87B960F3386AD8BB146C58A9ED57C51A633729E308C4FB4F645B493F6
+DF8345AB31560C339E5F3F016A2EEBDA4FD46BC6BCBD2E570419C48E99ADD9C8
+97D3FE15961CCBB30AAFB93EA1F94FD49A9D9ED27B9E59B10ED7095DE02D9E74
+FFFE353C126540AF283DBCC68B26AD64B3D4EE859F303D230DCA295E6343816D
+A069C3C70CF460EE38A45AAC447042D333A7A8F7333E5C28C62DF0E8FECDD762
+B39E8A6DC9AE7F6AB7DE1E8B749BF6AC518B5995A6C7F74672650C5A97B30117
+C93250FF6E85041B9667174204289887259C99C357E79B0A4C92E63CA9FBF994
+B1CE217F48D66EE7A66C569F61F2EA5098EA1577C870025C551AB599C3EA4AE5
+8DAD9F414BB0755A8F7573A847FDC2546CE17A124AAE91F2EFA4B8B0926AF806
+B4193B7D587004CEA70D68B924715716606FEB103C45D624CEF341D12C0C511C
+9EBA66E67838B801A35D338E7EC425DE71DFE409667C845BC23FE9BBE71C26AE
+49C0C90E7BA16880FEE1F8ABE8BAB6678A48143B4BDCCDA61338EEE63EC5AC49
+86C01D0AA9CAD76EED3414C025C941FBDD3A0278DD441110AC00F963BF3512DB
+10BC449F63852A12B4611473E51850BA13E9F3E11B2B2BCDAEA34AA79AB141A3
+B5FBFCB991AEAFC5396C82A95CD527F20F514C5E70A4B2EE9CDBEB834CB3063F
+B1807DB9E48E3326249E137907DD52EA6D0DE38B7579BE41B2329A632DF721F1
+491899540B30F28B20E1D2856E18862CC0DA01EB88C6FA4990AA9C5892170FCB
+5D4C36D252E6BDB726E38BBF094992333A431816F3DD4A5B6CF5CD8E105D4BB7
+5BF04C4DFCBC00BF12B7D904EB945275C19D54678408D7EE19D57D8C9D6CBF7E
+D946A3A94A42C0546AD30BF89A93FFDF868100DBE4915F9B67FD4273F71CF10E
+9D55709926730B36C77B1DC0B999D912347353760B35CDE2254794073C53FFC4
+57BF5887D94FF4EA15DF393C192CC586BFFF1AE3A088B89BA9736DDA96AC7E82
+FCF8EB9467454F669719CB0860834C5F3C58FBD07F203E7A859A5497FF374E1E
+6FFCA42DE0F08DC83A605C8A62E73E1CB7775C7324F46C74FCC96C1AAF3BC836
+8EC4099A1661DE05E8B420F97B6413E48F66BB056CEF885E3C1E113843220077
+559D74259D87D453C4B685919C749B2B6D1BAF972B7581E18336E01D4FB99098
+D7E8EC3D47A1B7B6A496D913C197C128E4B3CB99B3FDF82A967FFEA1ACD69E48
+708D286372AE141516B184CD5662971031EBF66540FF7FAF83DAD19A9F08B1F3
+1B5176D821389017344AE6003D8EA4252148EC56AA6901355A967E7A05A16DD1
+B4C53C0B271031F6D4C6BFF75F9C77C84F9CEBF80678081E8313226F8F724C06
+CC4D08D2286DE941AF7120FD1DB8F0609744D0A293A0DFD20E985758DF70613D
+04EAAB91920E12775CDEF13F3BA285707C8349E4F3602C1DD861E95B3D397F80
+7D71B441FCC607BE050057A5E5F710722F08A6D5BE98CBD0198B4CC6F3615B2B
+974CD3F6B7E54115CBA755AFBC2FB1238770F21616D4F3E397552C552BA7F28A
+D3982C10B19C046F9739C2DAF5FB9CF9FD6DC69B74008F1FC2AAED755C966C04
+8826B15E5E795246E916F959301E1D92099C3ED5CF777F30DFA5150FF8E93DBD
+D25C2D7476201A13506CAD321A778F6A7F4B6499DF1C1934DF42AE56DEA86F54
+4AA0DA2E01B51CBE0F407D6F6957E5D8F20409B3117CFFE462B75709FB2D9679
+E5E3D098F903749C49D1562A648D3FABC9E5849795DC61F94EFA9052D3A2574E
+540EBD53858CD9CDD7BA1AB8E44FEAC4FE81A0DFF58B1BAA418BE0D831BEE37D
+928BDFA083B89B6A1EF4334E0246526FBD75FD2AB12387AAA8643F1C3E25B649
+77FE01F107F267EA7EAB28E3F21F4E1C76CFF634E7712E3AC7E1D7276FA30971
+C422DF15343940531A4F002BBDC39EC4E45B1B0F040A51303C27027BE8781D43
+7D7E8FB0CFB0FA9D484281C0ADD4A7DD8387D8BB355D57AE440F94DDAEF24A60
+4FA32EF951B7CAB669950F11BA3E9819ED307141912F6E366AFBFF16E388155E
+03AE0DE4ED3F77BF02FAFB18B2D9F451F5A3C08BD1C6278B573694ABD67F6F5D
+7436FF5FAF5A6189E69FCEBCEBA89AEC82CC6F273DE9E93EC67B19AE5CC20E79
+FEC3795B8CD68928951808F656AFC0B8480B3CF7182B4B9453ABB31852BA7638
+31EC23A96D34A9E0BE628E8432E6330E4AC6DE9D3CF6EF9F20435E0211F14840
+59F3AA7C85C5F70CE08C17DA47B8C0BF069185B68DB187A0DF7726E2F6CC9E16
+FE958E641D8399FFB48EAA5FE910698A83643316E051F6705D0F1FEA32FA7143
+A16786F6245A907EBB872332A8920155C117ABA3729B7C4B4B66C25661E89F9E
+AF60C6DACC78934CB6C5CE24513B7D34DF7BEB3504FCB0E3BCEB7D569865CA3A
+07A2E4F61E3AD4B00FFDF5EEECF2550FB4E505681C42601FA12794893ABE5EC3
+F87B26F0D91FA31DDEE1FD4698D9DFAB95215BB040F8E912AA3CE37916BFEC4D
+B6BF6A0C2B3DA8B37ECCB470DDB74099E52A86D8A320A47958A860F4B68B362A
+45BE498C23594FFA6F5F776897C33087C70F280CF5C76FD5D667974129ED47C8
+5E31AD231D8D73515B1F8768FB56B3F26C9A39631961C72C14B2308DAB9607B7
+8153B87DE57E54612E4F9E4652A59933D7D810AF88C59A104B2FE06C3B06ADE5
+AA70CF4C7438E1073E10C181B2E6ED5F48A8E2AF76FCABA815152C5BE2012F95
+178F40D9396E54346F6A1D39B88A3BF8F819E80ACA1F1027B924685044BF3F95
+815440AE17A5B31682C7C82AE5D6AB3732BA57394CAC88C9C325339DEC5B0BCA
+A2FFF81A3E377D2BFE90031080C63715F3649BC0B6D2B43C7213DB486FACCCD8
+0539D116C75FF7791A3D05F13410BAF462ACB2B4C49DE64FDC347A49322BB300
+13471694007407A22E605D98BAF8E106105D5BBEF5056F14D3370AAC40D322A9
+6442E1FEE766E69AA68DA3168A71EA7F0D11BD5F32990CFFC0770315DEE84654
+7A6B2854BDA8BE2F89B2AF5700075D0EA3FE7D9B57EC016DDE7587DEEE004655
+FD1384830F86EBEC2B4E122682BF0BB58187D93A085640EBA52A47EE9DF73190
+B62DBA8273B14B9BF25BAB086B16674258016D665DA33A5AFE144CB254BBD1CE
+AC0D924A1BE8378E848010B7D43781B60A1B1905F3A859845A802DAA60E20B0C
+3B09792072FC338255102A3C079108BCED3EC4EE0F9C87C6924E8C9EF5768AD3
+42E7FA8E0E9B052A24EA86799182AF4FEC30A775C3D14493498BBCBD2D56FB0F
+1586E1A9DDF31E7A317DD46249809639ACBFB22BF17FE0552AF53A47836C45B0
+C06993C57F957852FD5FD51B447F05D25817CF8EACCD40AA3885336769DCAC35
+D25EF60E4653BB42909F71E14A199AB16F8ACD853FF128FD7ABBF2071D742EA2
+8CE85BE49166D1EA9D721B8EC9E7204527414380506D97B6917CFDD76C4A2DBE
+1B5B11C1DD95BBD492481F51DAE5795723BF0F6E8D22A568E44A85D9760FB716
+45E613F24821CFD1C18AA7BBA62186614200BDFBBF68C8F51C05D109486DA07D
+9020DC6D13E27D83734FB2EE7F48F09E25C75D843DCCBB440F745FD2644CDEDE
+DDBF4D71DEAC9CB4721475519E8A9273D9959C9B15AC9042DF29A7E1CBCEFF5D
+8A90A34BA77E59BF49B5954361D48DF9F64F94C06614275B50A74A355FBE5CDF
+98A3764328EBA0F911EC6677564CFCC290B7BF1A652FEABBD9696F20E3187C2E
+7616BA83E8A580F15B751829FDBC3343D339F6D625CEC805B4672C57C9BB24EF
+3CD1C60F451983D26301346C05B59D2036430B82031479E7E6AF7DA0B84CB532
+F4C5E107970B0C0B63B31657D9028CAF95B45CBD5566B4D946256B8E4A4B2272
+F20BAEC4CF1D411322A0A355BBB261BA2387D42C86340C63CC87D0E3954D5202
+9DD7F6664C80AE67F8ED1C96FE293BE0EE5E57192264B6A8DF867CCE24E0463A
+1E72A418B827A535317F3A074B4BBE64E0815ADB097633C6ABEA06C302C4AAC2
+37BA25B0844ABA32985EA702197A53FCD60CBCC77A2B456F59B65851C242EE66
+8F4528439A9956F3B4470263A4D90E526C7AAF9D1A38F2533F9E4B4C8D5CE045
+BA4664FA7011D81B8AB2722C89EC04EDC875A0CC0C37C7AC337D79FF72FF7DC9
+1BF4D4B1A0223BB1E574650DDF3C7E21F4B4C4DDDAF0F640FCBE060690A5BCC3
+6AF69751D06A83190F68E618AD2C224A7462464447ACAFAC9F1D93B98021E1D6
+75E2A80D3CF87B19C34CFD382F14AE9BCE7E5C7EC3C1DB4273AC81C68EBC8D72
+CA3A363F12E47DB1796F13A5EAEFD1E93FEDCB4A58212920E010CBB1240D29CD
+43797DAD97789C2032D4F7320182D9AA7C22D1A836DD08223B6FA93D54BFE3D7
+A053027FD06B4AA651F36A11B8AFAE6B640100EDB9AD1103428CD5325F6B376D
+53482D5968ABAA9F7C47BA9D680C6F58D44DF11EB73BBBF883E8CCD4AE85CA04
+695C624674EF2D7C5872FF35C01275ABC5F881C08BAC01932FF6D325E995661D
+5CA3E3B424574E64CFD69080170773579423223301F3B9D79D1E433139A70E49
+FAD1A478F99AD81C0B098B5E1A0B8FAA83B9F94EF17DFC40059F480C6A500BD8
+CB9382D50DA910A0871C696C70D589BFFAD428DF101E67E1B755A6DF47DDCD92
+36D413A5B7E607D593C18EA98CD8518F86D53688971C70C8C25F649432CD0010
+992463487E9C02F025BE12913D47BDDB4235F59A95C836A17A0F73EC11B04531
+F191C21FEA9FF5AF04379EC467A6BD9A45A5454838BF2E63CF559F1BEB394E64
+5AF41EBC603BA939E8B951A4398B8AE0F2B2B4477D241042F9AE801F1D5CDA5A
+214D784B54AC566EC581BA6DF6180B6D9B326F72536CF38149D87FF3AE03384D
+03C25CD0D4B0E718ABEB331EB8CBE59B7FEB5F513D5D952AF1AEF1AAB5EB6BBB
+58BEC6F378881F9FD2C70DCBDBFED4BC340C4320FDCD92C825F5BC45B7E08CD1
+0813ECE8FE8A9F23DA1BA4BEF81DD02E25129250C43DF0388C6AC55C787268C6
+E0C2F454E624D43FA0B070FE7F6B0407F308808884438BEE0C65C48734B5D039
+A8EDDD2DBA016ED1E6F0889108D807156F0AB340A6BFBB0B763B5555A911CC3D
+E0882567730E743084E4C4A46E6C389A0362D3DF076B8B29F23548531487D6B2
+3F8BDB8F91D3C94A7B0C89D554AC4BFF2617192FACFCB06C52C65319856685BE
+1CCE58AC200F7FCDCF4850FA23FE9CF1DD10533BD563A3549B7DC1D5C3D0493E
+90D548C8F7EC6967188725F800895D5E890C43C2F4A37AE095D3B952E99021A7
+DD4384844B286668AC25096C9688FA14F3948F9B9D60C33375EB8967395F1797
+2859DE997FCF278E38FE8F203FF2C62773E8EF82537F479A18D0E3615EDF1678
+923B33687E2AC11798D55C4AE2F96FF911FFBDED641B8133A0EEF3A05D3BC242
+DC89F08C5E77D46F296C516FE92FEF39F03D1C8EF083185E88905CF25ED4147F
+2D2474F07E2B893836B1BF65C2E9FA7B298749956636C4384A9CFDD305636B09
+9160A640696DF70865085F7C3F9E3910585DE7336E20D15583A9553239C26953
+01B6A59F6250D8536ABDC3A3884F28A4106F1BC86B15C104868DB82A8F1B7185
+2F1173C827B1D07D03A83E39B6FE269859B64D56B4549D7BA1DE509932DE6AC5
+F9D77FF0C8F6670D97D9B4A631E4DD55DA1B31BBB1B9E3ADBDD298EF7C6E4A82
+1BBE9788A7F46613971A114E28AF4DFA248D1FB8CBB2399B22EB8C9AC85060D6
+737E5188211832C946A00B22E3B7A3AF0075ECA48041E27E7DA930230970A194
+81088B75FA68F53FA2DA37FB8AED11FAC820B37CA89FE2ABAEBD4D2B52BADB0A
+C9699035210EC6727773D2873F89244530AA84D5D287F2DEA3048A2C4F436149
+B22443CB18894C910C0B27839773670B8D8762A4EAEE16A31FA4156C5CD2470F
+96A72B5675C8D39666204758CD9AF9179A9087C7A1C1F704683F67651AB4970D
+356A4B36A9E57898A928E8885C574C9596136CD4C3C71E2897F6FC9D72754F41
+D9B5FC619AAF711E280CD88DA78E887DF8774B89B7A022B142E7117275A857BF
+3AFB4D268E7CC33F36A5E3BE297E5AF9C96F25333B95A0EFC1C45DA27B09B4C9
+44B57978D2173CB4BCC7333E606ECDE6D47094B78E69DFA1F87EC50C21CF9C49
+6001A3986BA0B328AED88DDE04905A683D616DC236A09C9C4A22BBC91F5D9440
+4618F7FA2093C54D14684E710FB7601BBB3E8A5F37AB4047E252ADB05CCB9A2B
+316F84AD443E029072911B172512B97ABC8C2F1A46B1C1D6525DD2B44CF3D699
+8DFB1B6F19AB65E5F2634E4A5745D3023ABD382D0638CCD2BC812AE9C658F973
+F54EE11BA04A1DC0608C17D8B8B234D2D53D045628BEE9C02AF468FBD756C277
+0A6F579630DF209CC3F850A62B55132D2853602C0B531D790853E497C69D5D66
+8D1747A9D451D403749C14DB1AEAE8A78C8C9D7AFFAB3BB85995F37859DC367C
+0438A04B776BB400C01D7CB0604D7E4E4EF729542F9707B7F569DA0398FCB340
+89FA9216472B52CB5EC8CA165AAE3EF1FBC908FF790B90728BFF513A31AD2C3C
+6FCB97EF26D925B0CA3F1908E1717CA7C1C4D8A760B6CF4D4AE2D1C67F136AAE
+7C28367016773F9B519D998DC4843DB454A5B6365CDDDD1888F18C085F63C61A
+F13FCDA01D8F4E5E116E49E36AF2BA5EC77A148A32C7F24F4FEAA51C5A488E9B
+02EE50D59E049DC8C34FE159D8552E375A51139E64E8375F099E4D83B7F3F0F8
+1A9E10F3830448E71E30E571C0B463970DA072C1DCB1E028E3F3BFE0CD3D6EE5
+CE02E75B250A599526C4879C82D17382086AA5E29AE29D3E4B3000F68C5ED50A
+E3AA4192B758B4555DA8A7785C1F37729007EAA5125BE8075F9C5EFDB4933BB7
+5986BA53BD161F68EFED2DC764482569F24C6FF8E8B3D7C543D14A60C6CA6B54
+601685ECD8AC5AC69698A27F3A9CA19A270CD8FDC52FCEFC4D4CED2C08AF850A
+AB820EDCDE6CA87E8C10E21A306EC623FB99584639089BB609F92BAC6DEBD7C7
+4B6C1D1A8D60E41FB9471F93BC88F0C5DC47C67AEC95F6143B96183811C0C04E
+B5C59BD633C413FF53CDEA355C302425DD07DBB3C42FCB0E75FAB09025626187
+2E4D1DF715A98F4AC682511EFAEC2921BAFBD868D0FAD141A73AFB9B7BDCA510
+67894BB37286B0D2B923646304B71125AA462332C4E2F515714FD521B6F5B5E7
+55EC1E3E14A1EB77E843CD79AED9C552264525BF028FAA10C26114C5D7231EFE
+D2FBDFC54D0B8FB49339AEC4C1FCAF6ACD3F0835F3525F8FDDF00C288F337750
+E3C2A9A8A82CA3BB31CDFEEE2AB06586F8153437C4A049D87A77FD491FA801D4
+D821F0DBA6A437DA72567A0A2D734C1E563B511D7F42BB61849130C2191A4BBF
+DD4B538C4D5FDCCC8E67B2697EB1E9F1C0BB8C853D81403741D56F10D7A10BE3
+AB63EB0E62206D762EEE4D5D3052B96AAD09D2873C4EEEEB1AC3758D704F8F0D
+E65CE7023DA8CA071EAFC18C9C8B612605E7403A8E4BE38FFE85B4A4D73BD2D3
+A96AF1B041773CD2A8CC12703E6AD3E5BC28D4DAEF6B58807D4245DC1326B6DE
+D20027F61D83ADC0A35E4CD5C111DE1D79E5B18B9B942370F98B0358EC108C79
+C186C6A49C58F0D8B2A08B46024D792A185F86375DAA4CAE0221E2C18D369A66
+98DA4E6771C545CC0734079D93251C056B78BA1D47CCA8E146E6A404025C93BA
+CC2E9EC35A3F169BE661EA2557A7180EFAB0F243710068950A73EBA4BF1D6C62
+B86F1A0D69C4B89B4E230500CE2C5D34C36AE442E4E7D25188FCFF747F3A0320
+019377D9F9C8401AAB3FB53D93789D7812F75B7A1C3F8276050F6EC2DA642D71
+6ED0C4D5A93C4785DCAD345A2D7705A0E459ADF6B697A616F07AA95F65E9D147
+55A6A26941CE0C5BADC91056EA6EA5CD61A56DAA6195D4AAC442455C0B079E6E
+6A448DB127E008ACD93B86505EBFFE7ABD899E66C55F4EDC92C03DB8EF70F75C
+BE015483FEAF83F5EF2F26B42C8CFC94E9DE5205212770899A0B45562DD2CA71
+960CCFE0F73AD272FB600B695CB0B2E030E287A93762170CC3E3EAA05CACDB9E
+0846FB080E3897DB46F49511AAFBB5C4C178E998D3E0143F7D49589B129D3EA5
+54E8C541C5704D159DD790A5A056EBA93FB35D93AB947EEA00D82887897B91EE
+AF261FD75E2792C0DFC97955AE2E52702B436AC0738C77DEE1E36CF07D1DDAF7
+C02C4BBB02DFF21E5EA61533F0536CBB8E0BD98ACFDBEFE43EAA1241BD5599CA
+568D05D326CF0E02664446AFBC8DF3FAD64E0C93A88FE59727C7555347E53AD9
+019EAFF922CB7CDD5FEAC61B5AE8F11DA90B4F0CB822DE69EBE5F203B5CAEF67
+CDB2F992DD76611881520A07E3CD0601DC12FAFF079AF921C7E9336C587B7F75
+7651D715CFB6D94DCD6F84E77201DC8C1C373EC0E5F58D0589569AAE6EAB1805
+A266ACEB6B4F8653DD97B2A99E49E29C51F8D2A5275C33EE72DB131D4942E29E
+158E856AD128689CAA4E964C9C4845F8201C88A5205DF5D6C1AED9C7EBAFC923
+06EC61F7BCEE7F90186D7E17B84B7F9E233EB666CF1894971C21EE0B5A4A6DE7
+2E067B1EF3358A15655324BCD97F5F07BEC60640F5F3A8C6BF21B27C72A8E46B
+E9CA1AFB93A274B96C30CD221D54D113AA8C373643071D38C286A95D81887093
+68FB69AC2B683580140FF010134E539D5DDB69F384D0257237C17C65CF2DF77C
+E7060EBD5B74913359AF537448A2AA5E093D92C59CAD1C77D17B6C14D5B2A021
+83F941B3CF9D026244C55F95CE70DDAC16856DF34E9CFCCED70647743568C20B
+6E0A08E0ECF1F6E00D059792C8051663E378FE6CE13EF7FF4322569B3BB173C9
+A057D4FE766054F9A4767D9766D5075DF0994AFB946D5F605DB333DF4E7DD50A
+268432486AD41E5E411279866304C18A798F4E453C38A165B5C7B6DA8ADCBABB
+3236A015FF5B06F587CFF6F58A2BE985B5AAE6044EC13450CF9589AF8683D9A4
+D0875C21C0D9DAE1252A3FE2691A766916175AFE887912C958D2BBB57D333649
+A3601F0A99A0E9FDE63F40276F4B975FC34F28F5000DED0DC3B2DF725B26F832
+F53CC316AA0393A0723456F7264B7FB2A68274BCD7B397B4325F19F00DBF6EC5
+ED40579A05A05367365F68A9E853C110ED49F17D03FA483A78B60A2190386DCE
+19481A5D1AD40AAD598F62F34059CD19DEE504895CB2EEA95C54C59265077EBD
+2FB13C449417412822288D828262055C0EE9DB7BB0EF786BB70A6DE27234D7CE
+F971D170BFA28A6CBCBF9F2758CAD38F6B6C60D7A77FB5EEA9364213F68CE4F3
+1C683B249DEE6DA20A0AFF62D7D2B81676B4095974F88D3B4EBF0EB369061066
+529091E0B8010DBF265A353A8C48B4C1E3F2B4B1FEB9AD8D92448AD5F54E4EC1
+566EF905160607EF787C86521F3AC0F36A90485EF0BC1D4783F817C803658583
+A9566BB4914E3DCBD5EA875AC098B7124C55F04C48897AC6D28DEFA7C01984BF
+B820969C51A914E1BDCDD1726E5065E93A168EB94B1EF991AF1161EB22143822
+D4AF3373FA7EBFCE0BCFC34F37CDBED5D118DA7EF01E7201145D2097525FA537
+A0EF87E90BC57B7CA35B6D87B425744140299479155CA14DD118B9A602D4FF94
+F2D206B7D3E183A339F628D1548660D6D2DAD8AF65D6153009590D3B0AFD2148
+EC95F4E53FD29B603657328F91CC1C60453FAA0BE452E32772D38E97E19301EB
+EA8A18B0976F6A0206FB503C97D4199B6C0E396AA5314B90E7EF23EEAE1F6E0A
+CF681E3C242F60AD09F118B9BB5AAA2DF36B06CFCC8447631D2D26F09A86D69F
+C9B6B369F20E3C7D55603184EE917BEF74860BC08B456EE270CE786192E3517E
+F95DF3BA7C51F464144A3BA7BCDB4CCA688590072C076FBA2E01D1425954528B
+1BA6F1542AFC961B3489908401C4662F1BFD3E19B4809BC5561E2F999CA17B28
+77DCB37A259494F302ECEB55E3F8AE91B21CDA8E72589A259ECF0A7D4DA756A4
+5AEDC216784BE44F52778BA5E9C1AF00FFF10F11D3555AB06AB808EA664C2953
+6CF487E03C4964F746129D1433B88F05B90C9285F2BBBF8C446859F27D73F6BF
+23942EC4C1B822D6958824B2DB8A1BB524017B7908CF0AE8BC17B5A18F2C5C8E
+306D247F19ADDEAFF146E9D78F32228C7182FED45E2539D157239E8A74E4B0A1
+29DBCBC6711680CC9DCE28A2652799F33E6BF47DA7
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+cleartomark
+{restore}if
+%%EndFont
+%%BeginFont: SkakNew-Diagram
+%!PS-AdobeFont-1.0: SkakNew-Diagram 1.004
+%%CreationDate: Mon Feb 02 09:31:47 2009
+%%VMusage: 120000 150000
+11 dict begin
+/FontInfo 15 dict dup begin
+/version (1.004) readonly def
+/Notice (Copyright (c) Ulrich Dirr 2004-2009, former designs by Piet Tutelaers, Torben Hoffmann, Dirk Bächle. All rights reserved.) readonly def
+/FullName (SkakNew-Diagram) readonly def
+/FamilyName (SkakNew-Diagram) readonly def
+/ItalicAngle 0 def
+/isFixedPitch false def
+/UnderlinePosition -100 def
+/UnderlineThickness 50 def
+/Weight (Regular) readonly def
+end readonly def
+/FontName /SkakNew-Diagram def
+/Encoding 256 array
+0 1 255 {1 index exch /.notdef put} for
+dup 48 /zero put
+dup 75 /K put
+dup 79 /O put
+dup 80 /P put
+dup 81 /Q put
+dup 83 /S put
+dup 90 /Z put
+dup 97 /a put
+dup 106 /j put
+dup 108 /l put
+dup 111 /o put
+dup 112 /p put
+dup 114 /r put
+readonly def
+/PaintType 0 def
+/FontType 1 def
+/FontMatrix [ 0.001 0 0 0.001 0 0 ] readonly def
+/FontBBox {-8 0 1008 1000} readonly def
+currentdict end
+currentfile eexec
+D9D66F633B846A989B9974B0179FC6CC445BCF7C3C3333173232E3FDBFF43949
+1DB866C39088C203DC22FDC758584860EC7BB67FDA28CC6208249060E18FAB32
+204779B5C03C0493BBBBC95CF02692CC4DEAA8D2EA90B5C2E64374E92BCB8501
+429B8FAE4A76C0C6B76D6FF7CF9A7D5EDFBCA0E959541C59BD05B7DE43D25D53
+FC3DDA6EF0C2743978A6D03E19CCED4A11F2EA4BCC3110BE8B8D9E2772361969
+C19258EFAFDC276CB1ADE9208A941A36D18F9FB1C33DEF76AA315DD2D0A9FE76
+DE8B61CED3A549CAC0FB08F46CBFB35BE196B97136BF7D3A7C46BD5B65120194
+EB73D8BBCEC2322379B94E96FB58E7485954D301AF2FFAC68C04C239A2B22205
+EAD28C6A7011030515B132B3B45A0304E110E8C974F5C04A443060A2D11941FA
+5075D4D0355D98FCFF3E3BBF3254013BA36ACA86A53D6F3354E33B2FE863D455
+57542BD527022AA7897985AE714A9C8658BE8B9C27152B55006BD61B97ABBDE1
+E6E3A9E009CD076FE4B0E359AAAE8FFE537BA05DB90F52CCE82677ED16B710AE
+2389D5D8202056B1B0EF627990F6BC84FE14AD2F2285B5B0236BCD4D04798925
+81F1254AC5DE72C2C9E3812792B35DDA8EF3CE5E9C827E08BBA4E34774FF50BF
+B7CD8504811C46A55F60CA62BC443CBF2AC5DE65F021C15F5DFE0CE9822D6D27
+4C523844561CF21D149F7B63F9AF15AADBF5C435837BDD8F51A8723F62A9E299
+5C191B4314AFEC5A8304DE2197B30809135C774EEA5A0D74C13EAAF0925C48FB
+84E338385190BFF4DD3FA539D2FB72ED259DC750C25B768F77D39A8008608732
+139A9EEC29C9BD41AE31412561B0CD45DB7E733E2F33A30E2485E5B64D6DA3A3
+A50653009D886E16512852780D564DDF59A14BE05AF9D81A06419946AC40C3C7
+175B03BA897325E788CBBFB97777BCFD9EAC58B14F82085D50EC4091882741C2
+6A4654A3CD2CE7580F5AA8F9E224851100C06B22089A73ED25B9F4FE4A9751C0
+826E8251B4131D3C72AB5F37E660CA215CCF192A808AB2052A876FBBD745096D
+B2C8406B1EACE49F64C413DEBFE0DA3383220B8730FC326E808AB857E66D8101
+7FD582FF740B7A52C70B1CECF120623F043E86C3C6CC7D12B580DD12D7747B43
+A165E4A50D1D6D582C7A94DAED3DB66355C4382893123F0F199CC6106609CC1A
+998112FCF13E69233B7E422F30E6C0D9848FD327369F803A4FF311D53F1A0044
+B5A3B428CE10C53A802E0D2A06C44FD4CFE03574DA68CD4464B399BAC0B33CAC
+1EF21086DB1731F1F1240F7AD440A8956A67264921284DC59A3D519F7D4F859B
+F6C36E5D5272541EDD22E416FD810F7958F7C859ACCBF8EB5404B684841BFB08
+22C13B4E4EB304CCBB22AFC4919911B945DDE4833A7205A402012BE5E3FE8E6C
+C190CAF25D9965C9A906707D4050015C93B8A7F9FDBAB914EE33DB1E8151676C
+78399E3740D125965EF07E828443D85CA5B1E43034C9088967DC3A672E00BF10
+A60E874E605E291645C1E4CF533954D34F92069F48790BAB38B2416231807525
+3CB95ED81F25DF2801CF89B662720179B5485E90D42090B3BB1211F59F3780DD
+65EE069205B06752D4639E3D24D7253A6012A4251016C65FF04EF3D95EB6954F
+9211CE43A71E702A66C28FE58B54874D5648A668E11FFF45D332DF2857BA62A0
+5D82B7F7A1BE9E3CA0F00FA762B912DE83CF90439A5FF014DF8098D83F657530
+8B39ED035BB984A5281A7E8BDDDBDFD699172673C268FDB85314ADC9D730DCB6
+5B854C77F0F5DCC0A3445C697272432750BAE03BC3DEACEEDB00B5C2FCEAB980
+FDD68FC60AC5D67F07C30255B5CB7A8C0E9DE289C42EAB07B0F60457AF73B288
+B207BDDB0B184B2CDC9B5B76AC26DB381A6CF438E168C0B7160EC4F07284025A
+8AF779BF093624AFCDD595D14B03296E87548221D6264C70E301A3CA3D87AE27
+06D1501864E8486724035519F75822A4732560D04E5DE9E3CF25BB0C4EE70CAB
+7C5DA7C9BCDCFB67F1B6699A4EFC52D90EA1C3CCD41ED86ADAE9C01123EFAC50
+1E62221B95FE357BF67271EE6EED93B251B11A906340301E5BDC0E125346571C
+3AC8F053A09AB668003CE8733C4C57410956520F9C16708AAEE0D9AE34F1050E
+A1F200A5F7EBD0A7DEDA931A3F3AB2A52ADDF6EA97FAA3E9D10D4B47F75D05CE
+2D81DB06B129721A92E55CD0C1369B201B4DA7CE2B7194624D33B42527A69FC5
+22A123C16C70A3FFFF76164637D645477544F691BAD3A9D3976BA027B720A62C
+133DE3866CB703A5B760715238B61A4A3DA50DF82D7BE0840C35FF2A964A6D5A
+BBACCE69775DA6C04E997534F0FEE5F93C8DC30C05EB0FF7D443012A7BACEAED
+4CE94CA2FBA52D5EA6D676BEC0271C9EF3F4050B181152F53128A31BFEA011DD
+FEE3C89A9FA5772BD7C4C94ADBD6C74097660098B89D670CEF6EBF5FCFCE06AA
+CE819E77F1594EE8C7E1A576A6158838E5E2B013BCCAE98DF45A3716924A2571
+20F14D633BBCA267212F3D633FBD45BFA51FFFCEAE9E1A97661A47326B6308D4
+1B37E97BE87AF5CED09CF717D58E2A1C8B5E7A2AE4E28D24625EC6D1308E8E2E
+8FF8BA03158083E47282BD8DE13C30983C4FCDD1836FEDC80308316401D8B181
+EE2855CAE4648BBD1EBF369E7696C8B79441C929EE3F279641FEB9433AF21E8D
+84C50F750434191ECF16684AC5877640C27032E69A65588CD61115FC966FCFE5
+18BFA6204EBAEBAD35AC7918A9C6F373314BDC5623F523C03999939FFC6CC505
+03BB871565797EC537E26CD0FCEEB7BA24A8294C452A3E6A6E801FDD83FFDA11
+926E41B4251518F5F104AE5CD4A2FDD0DDF0A49EBF5C56160359E166BF88694D
+92194916965CA4B0D9F91E630066630D8595A47913D246893E3D16828335191A
+6589A066E3C09DEF8C946669EF2C286DAB56E326FB382CF18147282729BF9FAE
+0CE3CDA5671A9D3CBE451D45D2F5BD0ED0868159FDFB3820D02F460E2C290EB5
+E169FC53F95B10FBDAFD939D8FDBC0EBBE739BBF7CE3E2B32279C16898AC65C6
+9BBCE78BD27F7402BE5B846CC8D970ED51C10F44C8415FAFC12C5777A6BB9805
+8DA68BB2A3832DF7CCC162DB746AC013D8BE893E9B5F81CED307128F7F523149
+B24460809E7A474CB05F65857EC1CBE59F047E3956309ECAAA931850A2221351
+B0C59C9F6CC71B257345C6CF339D33335AAF8808C145CC50FE50BFD826FE7971
+8D613B376A7E1BCD2091191C823FAE3C79AC5BAE9CA0241308E9893DA7B3B8C1
+76ABD5200AE59147B5B34155C98558C496D302AC4DA29C914113C2CA40D86939
+3B90E40A63A05302E96AEF0D666258BCC72CAFAED1EB86A9F586EB695F3FD5D2
+8C97E396004548C3781EC4E2C20E619FD387F75C5E2F04DC9C3BA0AB925223C9
+54CF1ABD3A4EECD3B71C2B7C69BFDD974478B78274EF3C92858AB858675525EE
+2D6843EFC6755AA86869A6AFF6EA1F55737165797AC6EA8DFEEDD25CE03E90EC
+5C27BCDC450D9E276DC5B083531EDFFDCDBE3B426CBDAA773F9BE202A9A4EB12
+858EA5F098C825C0F45DA2C8C78EE35410AFEB196EA9C5E48037C7C41198C7CF
+AD9144D76A9734D9927730DB8538E2355B9A45D99EB55DC3179E9BA6F6C7272B
+77E36ECB5D5768255EB21B30FD7F07AC6B13BF416DCC77FA9898FB83CBA4A237
+E86C07B88C60E4E1090151F43665FFEAE0369FBB3900A0F225EF03A2CA61EFF4
+7DB6C9BC66DA160D7A34C2AF28029D4089C078CF1DD202F1D0FA8107D37BA748
+E8DDAFFFC3D0003ED3413018908C01494A5F2C192A623CD123EA4CE7659E8A3A
+0959EAAAB50C065DC034442B55BF6ACBA2368A9C213EC0F82A1D7750F7C741BC
+F6C7F0879E5E268404ABF21B37478324926398CC3922983BDBD714F29D2D94F1
+272CE8C67FBA104EAF37E97C820EBD82B80C3C450BCBFDBAF55CBAEA2B0BE90E
+9738D7F26C0D8A12CDA3061BC91F3EA559DF1E7508DB4E28E8CF02ED325AE7AE
+F68D816BC8DEC9E653F92077A61DFC7DD671041A08A4F8B7CC46CBCF1499EBB6
+4A6152F5B682489A4B0A6F295D222B545B1E00A91B3D2BD203F86C01D9C955D3
+16EAC44D87207395D3C5812A9F3856B18369D8F63FCFC0B5A889AA9985C9B1C0
+A493D9BFDB9BE58DD24EE3DA7550D3CE0DC86DA1645B9163C671A8E071FDCADF
+AAC1C1211B5F1BA6E2D1E4A45CCCBE989F253C9EFB5D678008FAB0329BDB6AF0
+F2AE4E41457830F8D66E97307E6B8D0FDA58FED35CC96CFB69C19BA993460CF5
+A4EB59A67192BCA9ED8B4D70ACD4EFFD55C41234EA8F648222DF87570F4CB161
+2BEFA1CB71BC1CFF2264C613C9F61C1FD5A30B240DD1FB8177DF569589B97AC1
+A10E33FC1E611BC3142D4A9B58F97102E7AE06C0253B84F8A2A807C55DD3FA8E
+6BD89DB799536AA931CEBB0999EFCFD079ABA71327FBC15077E17CB2561AF7D1
+036FA5C7935303AD6D0DDE22CC3126DA20B79679E5AE4670C0B0B61E49E23399
+4DE3021D1A157F3D22F58FAC1115AFF937E1A8502296281BF8389906234492D7
+F4DBE3C41DB9F9DC99116C1224EE53A5F341E51F352F5ACF474B8D104A5677B2
+31727E89E7C1C3C3AC7708061FAC0F21DE18CC23D29A563527B0A52A7A6133F4
+6882944B7D444B9CF969977681A88D0512AC95DA0AEBFEAD38B6016D9F92BAC1
+70EF57755B1A45D342CDB4DF615E2CB64980C415B399C24396D1D00F476D6B54
+F2D50058F7D003FAA3C3F882090298B710BC75E0106F5F94BDCD5EC3826DA194
+68F817AA3AB8F380A19F5FDCDCFB687120DD2BE53053630FCDB7D87FCAE8F871
+2E1BEC7272951D9CC4ECBF2DC74F1261B9CA2E4FD8A303BAE14060E139457139
+2C367C2C38BACBC1CBB32F277C3765B969071CF2D0CAB561867EF86DE95F3144
+9EF355650C284961104DE937C39D179FEC22D258A9F7CF063183A0278A8DE53E
+74B74219F49EE8C789A9BC7F63500C8A735DF316A689830618B6B3407A6E6551
+05235B3419660D079F71D9C379605CED53147A5A50D0C160A05FE5C50204E88A
+E677FEDED7A6DF943F58C453A442BCB65C7FB09245340D6807933B01CD32EAE9
+B8F2B6A9D16E393A0663CD62F1034255B6423DD09714ED42E2B11D950AD673BD
+2C25E9064465AA5B382AA84C7CE4A629090B9ADB727F855D03F9E815C6A4E1FA
+B1751E66E3CEC9077501F85A4CF668917A3196CECE6089CD23C9471924481BA3
+362FC2C7FD16DD4BFDC262A42BD451CDE74EEC945A00DF7A1093F0ADABDCF6DE
+B097819815B4C51BD2DD18B48840820AEFEF8DA4BDBD8FAD0E9E2F5F490B488A
+46FAEB230B361E560919DAFC4259C849EF68D224414875722C9F069E2BFEAB62
+FD5A466564BE53B20659B937F6C06C0B9E84238D0E0CB373B16BBE1E2BEE149F
+027E2F2200E8015C30E8256DD992C9AF6B003F14B42E6CEC6DAAF5B2224C2716
+2649E8624B742F841CFAB2FE9CE2400B2722A63E9DEA54289DAE0BECF45E4B90
+633609A45B0ADE604A1729747CE57ED614440AFA08F2C07CB7B9CBF2CC349EE0
+7C9B57FF0DED57838B0351915C6A5C65C82077CBF312F6F99C6D5949B701678B
+815A92FE853644775F1BFCA63FD8B738F969D47E8D8C1193943C0A98F92C73A3
+CA86D601DDD3BFED1662963555B069E758F75026235DFD7925408E848A6F69F1
+F060A1939B29C16D42FF4D7AC37DF6A14754539318A2EA5F78A1B273D93788A6
+304366386D92945935D2F3859F38B0BE646E70738CEF26FE95797B1EB7ED8358
+F66687F002776F0758DA3200A193AC8301EF93D840358BF2A8F3F710398C8F9B
+F117C0B4E509F0374E602D71EEF218C4E38C4E468BDBF3A89D5828B6E1941895
+974E9C1A25F3B43DC3CD5CDAEAC7E3C24AED9C3FE49E2F51BD0B4A91C3A6EF7F
+B84709F6A6B56EC290E1CCF5B0D7BC2DB79342F2A9B4A62840A3890821C8C226
+AB8D4393D6E56578783F9D3CB16F01D6DCD7CAF5163D79AD0B2E0BECDAA083C1
+22083EFE0397660DC50FD2C5515479F1AF9699EB9A326C5EE8E3238959C8CA39
+0696DFE87E53946918B64434AA86577C4771F7180E48C490582AD53DBB0F4E20
+4F5DE7818699D5CC8AF020393111112866444F8612B33D1AED2C0A61DC1A7B2A
+17E1A8397AD6DB98EFFBD230F9FE2F0AEF1ADE2550B7E5815B692C0BB9350B80
+CEF8B51C01DAB8BA84AB26C1C932D415EC89E21FA9B47B28CA25543387135547
+C90E3EF345D6D1EDF0BCC4C87981520B6C1366C76A29EE0B1FB9D7EE414147F6
+AE928C43CBB242E83BB97680C9AE0D3B7962CBCA1EEA8528A4AA4C1433AD8BB5
+A828369A7E8BF115B130B8642096B3D2883318C2AF955F21CEF0A09F07433DD6
+A275CA8E950BC89FEEA75F3977115EA024A452F88BA6EA2255F76E41FFE93544
+DC61BB4BA83D134891647E98D9C3ACAC1F7C1C7138041EDB15C5C61B92462375
+987E9618753B5224EDA6FDD7C47F29D972E787E114BD944E68F51A53C219358F
+DD89E876FFA05D6492268883C7E681C1F9098417601D57F7527CFB15F1F48706
+653FA96532CB9F77C7BA843637214099FDD81D7DFF42E3A2FF055E4F12B637B1
+ADB98A6D6B11464DAB7FE1EC34ED176891F814DA4BCF8DE169FA4E0EA83347DD
+8C4E57A829A84F1254B500C7D00CE863428177440A64DBEF2EABB39D27C838BC
+ED3D025CE25EDC61EB9B9BDDEB9C953CC4F66FFBB9765ECC476E447B58D8F206
+113B3C307DDB572D0EE5913DF126E211BB5DC1F1B3DD6ADE199B3BF655D30B51
+9E24864941DE3BE09C83C5F89CC232101F5DA649519DDAC7A8916E6919D4E419
+541AE70317D9A43FB56934298F0B57C8ABEBFDBD5282EDA35CF081E640F5EB32
+F419EED37A3A2B9991E2DFADB85B5B42CA430C097D042AC1CEAEF5B309F70127
+8A5B70F471D35276EDB3AB456D19D9769EADDEFC3906E27CA32C8D92C9D6FC61
+E711F0E68DAB9B4979D0F3B3A4AC153FC8B1725DAA1FDD4AE02131E1CDADD911
+30CA6BB97C2C41B4F01A69863E6CD41A80EC051E875EAD151C0B4868833BA0E7
+E1169119B5CC9FCAB4CEC00312A445FB64A25B668D921CE5BE314EB0EAD1C3B7
+F5ABF4976A25020142B206ACEF8A74E9C7BB7C800F86C1891FD4648F4388EEEA
+32DE22BED937CB908519456A3E409A30CD01684A5E9C8C84AF486301CF82EDFA
+9570188608D83CF2BBB84600513052348B23F94ED4C07E05D7C81F03A2AD9E74
+B1285317E6A05A1084DC4A37DA452881FC884850DA7309C0EC4B7BE0A5705750
+FC488FCC95909B6BCCE03C29448F7608D4A2ED13C6055367688278A7CEDA30C5
+50C78230F9DE24876A2E5295CF4D93546A18972431DCC12D2A753D8E1F0E948F
+E12872CC92FB18E2ACBAE1C95E7B62A395F305A893492EB71DAD0EA444C3026B
+C5294311BDC84BD9EA2524732B84584045EDDB3786713FAAAD66DACF63CB87D3
+ECCB14EA842C6FA1EB500099E522A90BD03E4E65C935960C053AD895C831A5D6
+876F3CFBE476CF21E897E9FB8AFF9059D3EA782B9A45B19B14BEE9261ADB183F
+6A0FDEFABF81731C3B13913C89F8FC4F73E0D2837960B942C4B87B261EF55AC6
+5E333352326942DB124D10E819DBB8BEC26439F9FA6F27F76366D209B543D5A8
+5C53DC0F79CC2DB7D8B5A05A1CB4C4407C344D217A3F199078282082929D57C1
+BF0A99132B9771BC766CBECFADA4C112AD37A58B1D3066183116BBA293C02937
+B0ED9BAD4E072FF6DC6C6416245F4BCC46D4954E8ED6B970B22BB3620BE1F047
+1635EE4605EEC3615B4F829889CD20AA17EC1A626601D73F9A4469852A8FE26E
+F9FD12D949C7221DACB8FB7899528714AEF039366395B6245B5BB5E4C581B307
+A53D7D8B5B68829B4B42EAD91819A25BBE96CCB2B6ABA455B4A27C3C5D07C999
+9A28A5CDCA89D5B3E64D4A9E9491D41B22DE805DD5C57E07F169D8669D4BF6A4
+D03AAE2D22B300891203A4FC43B6F5A5565B8B515360E0E3EEB859CD455BD414
+A87523D9D58A9B4148C0AD35673D34FFEE27F8D87B0FE40DB6961C260C78B1CC
+957B525779305B1D20FB785DA25E52D0FFD976570F10C917F38D74C27ADEFDD9
+7AAD697267C3FF131416E5DE1CFFBB4F3B3A6C17D741EB32F0C45B254F419FB3
+914B4BD1212FBC1E53B3FF59A99145208D57021698A60BD5CD24068935EC8DE4
+20952102E10912EB8164C2105D4EBE9F98E790EA7A0837B78D67CD5551973099
+2EE383E598E7F639C8839B010CC3C9E2DB7628C63B61286CC30313CD0496EB87
+4631222E31FC30720BE4235CC1A1509E6C22D8A6A4B5DA5CD25AFB36DDEB15CA
+5D91B363F99E42A61B3CC2F907008ABC42900305FDFDD0D7168844F4118A2FDB
+14171DE10D191CE211EF0413CB476BCAD7D7BA099993C1E2FA580F2510837ABA
+7A29AB1A59DF012592848F9C633E95E827DEE76DE61414ED95947FA5452997AF
+C83EFFF9A67FD27548500057B6B8BF8EC6A5E15F3E8C52F3058367A129B1E0BE
+CB71FBA63EBB6509B2C252B922839FCD7AA69DB1309FB9447D1D4D1CB1353AF3
+FBF4E30867353DF4A4E969DA79080CE4579CC90C04E945DEC2CA07A8865AAF1A
+69D930BA26D7F63CF310D8E24090077A800F4240299FF1FF96FCC97467F51D79
+ED2589B8048B73A51DDB27E711C889B7DCAB443BC52921B7CBDEFFAE1F4CF5A0
+52FB035011E0980D6ED12470397C8A106532AF95BD5B0A61395FBA0868F6FD11
+81A2B31DC98AA67CA359A290D1C0C95A9CD47B10411428A4705149BF3C6B0CFE
+EE493E07AE9AC74DE46590945FEB9F5031C1EE2C4E6511579F5B7B114B73B2AA
+4B404CB08B7DB3BA8067C2CB35A138323C7F56147EB952FDB2BAA2A1D77769FB
+A1B9EF2A828B9D5901D005A79B771D90C897A256BE0D3E338E017976FED70F20
+FB3BCD31DA8F5D5D8547404A0253B547601703587894DA9302CB513F2229661C
+502520862953617A4EF3588B09E34A98B52EDE89520FF0E0F172E261F976D56A
+860BE9BFB98A322D9F7F5AF507CB853A32E8C1FFD99A12E4A3DD5015F73817D8
+5460435C35BC08038108B259ED741BE850795CE53BC7C3DC0F7680595959FB48
+35F94906877D355C828E58CABFCD81A3DA9472A22295C9BF8772982306764D00
+200DFE492B0EC52B379877644E3B1BEF2B5A2ED9879E4C0B21EE21FF2EEB9478
+5E8B2F9399627B884BCFFAF7DF4149B8303D942CD3F2349AC7FE93539F4EB191
+4005E4D9872384DD9CA4BFAB5E42888B8CABF41FDE9BF8837E079EC0A3A50BD5
+3A2B2842B5E5F78447481E79C2BC389B1EB00BCC202D4247BEDE02BBF4A5BD6D
+D4548469EEAEFDA855FFCB91BFAA8793CA2CDDFE27391490962FA99C77F7197F
+01F29C3A2D3D941F377427FF66940934F8C171948B35AC0B137D65649CE7CD75
+A6E7F80E84757AE4E6A883C83B48EBBEC2230821F0F86E63752F77F0976F9718
+3EBC12520481FE571BDACD0E192393647AC851BFE938EB2754A4D4DAE0E477AB
+D037CD8DAB4109CD47BC0243906A5C137BCF97DEDAA8CBD8F951C84DD163704B
+E2673217734539D7AB1C7B16CF2F2A2C2B19055199214002DAAE9F3DA54C6AE1
+7CD60B143D5EE016861F0371C24C73D88D61B44A3A8A3FC64CD8BDF1591C573C
+AFE8CEA98030E8C7D47B08C1ED1FB5785EBC9DCF654D83B145D2488E2761A218
+68652C73CB684F6B365FFA542615F640E839B75FEA0C39670D97686101541BD8
+7F0DE4B10454BF13749B1854D78EC403398692C56D185742D61EA00A90684BBF
+8ED823DB19F50315F6E436BFDDE72A9EEB68C72D3FE008DF3211F255F8728BC7
+A4CFE3137A6784ABE20CE80CF25356164384C3E55B518AA5A642FCBC54E335F7
+812CF722D1CEE4EB206AB0E1DEEAF9981BD19A4FDA9FACE453AFC284946E38EE
+E2F99E19CBBC96875435F0B36F74841DC2E412AC13F1032D4FEF05F53C9B1135
+8C4AC7295F1A221220997125EB36704A77D0F78B4B4E7A78F436D4A0E65EC239
+A9CC1B8ACB2C0B23CF04D87A27D153C4C138B06FB06C226C86149D35DD944DA6
+D8BF2B52775DE6ABA1D5794EAA52CBD98581E58B68BB094FDF6582C38ACFFFD0
+0083AC53899CB8F87ED5B96E2A5F356329A6C81FC7F00659CDF66111A0A4EE03
+BBC3DBD6D9C6AF99164850714E1B087883DB609E1B04B5B722C9685E25C8285C
+FC77164B166A19A7FBCC1DDEA0E7B467FEF2A943904B9BCD593D8D88008E689A
+A26AC22DD822E1A1D375DCF9FF275A0A4B15A7AA5E62C0609861B8B0564464BE
+0553D44E0E6B1D4E7C0F88C05594474B9F978D9375EE8C948A6E4822E09D23BF
+859A1E48BE746A268526CA1888C2E03004DF09DA2B60D27247761455296E1B40
+AA8338AC2D98DE5438DC7FFD2BC92C158FE3BECFB4E4E0D1705704094BFFB5D4
+01F3E9E0A9B7230490CB985AE3DE72FF0A301D916686D396EC0976ADE245D580
+892D9E2B66703065D152A14CAAC1220CB06AC1875B7C2A37C3B934F41CE7472E
+A64417A9BD68908F0B8E195F44984506E7895F3CBC816946BDFDF218C41881B1
+227F99926BDDC0136273767F0D70947A8A972B91C6611D42171313569CA65077
+8D9A47E6E6AF5FB8A77382E000AC2793180E2114BA0A1BDAFA987A7F0C1C6897
+A5424F8490FB81A5A18E98E97BE10343E4BBA763F1BA02F06EFE9A7A626A2786
+6E656689AB47460C710F6A3BC969C0A6DBD915AB7188FFBCE3AF16B4FDE1F878
+DBBC7B1A24E458B53D7095AAB9DB281CA35C73DF54DC992FA9D3A38F8985AA01
+206FA298ABAE1A432799BD2AFFDC27BA536AFC7CCBB43F0F88F3D2F88752F700
+C01987F090D1FE9AC25A8D51D9310505085A8791024AA39E6242D748A55451B1
+52CC46DE074F8267722F93813FBA44D3F6D54227964E0805C500FAA90AADAA39
+5EF3161969097F1D3D310056C19A29D84FC1D8E2BB88A1C3289901352E1490ED
+24E6C760BBB62590F911E3045AF7BC577F1363169B5DC4689DC7232BB664806B
+CC02E3751928CF0CE7820185B06D200BCF612A2CF22A9E93BDB2CA7BE2407964
+6CF2425401ABEFA7321EA704F1B7530595E2D41C859E70CC08E4B1DCA17E4393
+4A6F16FF3C237CA637BAB5E946C41C32ED18BB5FCA67E033C13795DBF23CC7F1
+75B4C7737AA38B8E702B68CC09B5CCF821AA07CE2304D2BA2C7BF7F4D4E5050F
+E970987F70883389750BE58C11FA6EB8BED6F19E0726C9763E0F4286D7A753D9
+5FABD8B8E28FE0A2C726D95DB87E99488C8C156B51AC18FD24874BFC887BB6AD
+04EFFABA9BEC035CBDB6CA041207595106208E4FCC3A023EF49F46534F4930AE
+E16D6F8C6AF17AD979F33614F2100542904A830E3B6D77B72AACAFB333D66612
+C1840E58E0F1AA2E14E4906AD545913334B3DAD55C2B7912EDB6DFA362B415EB
+8240046ED37DB4B283DE1F94BC8B77A2745CD6073E2FC17EDC07053555B90A0B
+C3E9402671A6175C187F4C8F143959A7812DE34E35C6A74C2D82FEC55199DA55
+579D0CDE8F9434CC239E71EEC8E07FDDEA8DB656B0845A6E7E8B981326BDEAD9
+FD01D2B746E85A5468F45F8B9FE5707E4BEB56E9BE789A62F1F96388A2DE2383
+45999307C2158C613133BCF52E1A8E52ABC9F2067E79DCA0DB0EB7FC4612B2BA
+21B735E50006CE99245CE0FBB220BEDF4212A7AD21FC7EA92B643D8C7899039A
+A04E85EF69E3A039FFA787234CA15E28FFBAF83C19B09A9A34A41B029AA54577
+02CF364EBDF678AB60A95E580BEDB39CA4F40D1C1E7AA8296EC07377C07A5E0B
+4554E5846B097E2E5610867A9E8C78CBA3BCC7CC6ECC6B5C2F5393BCBE053CB6
+1126D28348FA54DBC0150066876BB8239BFA985CB5B54001509243D31643C274
+842B5F836BFAA3499E03FEF9D73576C0F76DFDBEB9A5AA5968C4DE3EBE45232D
+7932A8BA22E0CF34C56525E100C7084831A4E2B94A6A060780455220F9E12E8F
+2AE0BBC62C90F769875E33E73900476B8F1F423D107D0921BE2D95066DA08989
+D9234707546926C375A41CC84B7402E9AEEDB0FAABBA328E4BCB38BBAC47E110
+B69C1CF3442C1B49CE577C4FBB9941A4D009F7C78DC7948DBE5CE32407D11A99
+EDAC63F719DD8C463225CD7C79CCC3A7F6221BE0A569D275E4034E3BA16DD36E
+E94E0889FFCE95FEEC9238732340E2AD6E9EF13882CB7EA8DDC4B258C43591F6
+1895B089E263A98D3AE6D9343D3C4F0A65BCF51A252622F0BDEDB605CE6C825A
+5AF90FA52D897063121AB13F811F31D6B3C3E50AB06E6A2ABB39E6880D0F2445
+D225D68BC58553A5982DAA17B38E54520D5EE35E3DD349A31DDC984D3F92F8A5
+F42D6FF9DCC598239FDF6F7B68E64C76FE45A4ACCA98273F6FE9A4BA85E69F39
+DBF5A254ED43DD04E98923B6918FB2BA5CF0DA06AABD5E045745B58BA9D4D1DB
+E6A5C880B9C0E74C4F1FD30B4C00BAD35947879ABE2297993D453DB037E4C638
+6DC6DB889812BFCB7AF2A76468AC59CFB2D409014B5903B117433E62916D2F9D
+4EA48A081DB8276F5C8F5A8BBBFEC1F14C997583166DD81C33D53ABDB2AE7F41
+F30D07A206171A8179D5B9EBAB9297FE432DBE7F2DD80552998DD9D5905A64BB
+854F0FE14BEEAC18E0F425DD97100F126099C7F26D09F14786DEBB42F17B0A47
+9B7A338747669176A55800D04A6AEC0DFBB05F71BA0648239A4AABDEFECE71CF
+A1D3803DD1C0700F5B5527A6AE94F0AD9D92F176BDA9FB3D1F4E9AD822FE300E
+B0CBC175B12D3F4127C2AD6437973A851D4C70CEEFA2A11A33266EF8C688802E
+CE3783646ED36BD35998738D36C4B0E53DDE0AA45382BE7AA88C26EE820FBCAD
+7951684DE4BD795B57E683B987CDF324CB85FB45B5FC02F88F5FFB44EBF5BD64
+E36C1F0907C566794E24152646471D3A6C8AA12BC56B04F79CD1C6FEE86EEDD4
+AE95F042EA12A658A8B4DFC9B34989AEEEAD4E55424762E97569B495E436E94E
+AEFFFABCD99F9D39BFD2AB00AD3D11B1E5C45229E38774504CA760B0B6780995
+A53266E509D69AAB9BD34B85B1EF68C3294EF770A29B977B23DF765634C249F0
+A9B9E1E7476C0735321A7A0B3DB4CABB688898E76D1C9BC959D43B135720389A
+B016202D4AE7FA16C373275B40F73B8B680ED08CE0D626D716398AE0C3C8CBA0
+013E23814446767E081C42E09804B6BAFC899A63CC8674E91DD54A40492ED29D
+2249EAEC0C925A20D5C4F67A645E8B1A3C978FA71B4AEF22B11CAEDACAB54ADB
+530B5E72B51B56054A586F59F2CCA15C0784902DB90E6186A8967FC4C78857F1
+25F708D757B99EF860AC3481A375D913D3AE22DDD1397C1D550DDCEDF51D4573
+87B6B93624F792B977B9BDE53201D72CF4D1C7F43B27FF6D5D1C5E7FF2F3F789
+4C82DD8C8F2FAFA61C1D37BD7B2FBC389B1ACF7D6DB69666732BB95BF526C772
+15F605092D980B9424397D9255253BB3EE31D76AA8E2B654277ECABD3FF4F7F5
+B9514913058E318A75C8DFB580FA7330F47DE250CA2B72083263F1113741F29A
+91E2B837B7DAEEFBBCCF989D1FB3CD1256B4B445081252357884FC4F55B3425C
+FEA15E347A7538B77008A889A50BC89D470CC7E6513FEA8ADA3C40D2E7C3BE07
+B68FCD5935CDDEFC8ED03633E5B54A1D8CFF9E3C960DFAE4BBE0870B430B8952
+F4305D942B1A0BC179CDBF0104823E8A687AA80772F61E49460DAF12227F35BE
+D85F149887B00E6E5F5602397B03ACB2C3CA03B76412B679CF2D59A1CB415DE5
+2AB186DA365FFE06128DA7A5CACD6F47EF9A31241FBB405DAD62B2AF361306C4
+ED1C87482DC28C63208279250B60FEE4F96FB0E56AC9E7E717B0D1F15E96DBAD
+1D94ED6C5BB48AB30F913684EB1A08F5539536A59E8EAF4AF5F06EE04B0CBC27
+763D6C32914266A1EEFC83D24F4DC6AEA7C79E0ACCDA506BC47BC74C08AD13AA
+F2EAE756E3D80E0DE1F5A3A387BCDAA5D12B8714EF0F39EE05760559499D9B9A
+6243CCAB1F1CED1AA5229FC8ADCF7CF78A9ABB6EF80FE4DF1BD73D5B9FB98BEE
+7492554BF0602C34C60579BD3CB0331AE1C295E478C993A7ADA235A5BA49CE18
+52C547C498073E671987CFF769C6A45B7EF754900697F1197647BCD03606F402
+FAC710264FE772B46F23EE8D146B598B35AC3E0AA9E366543862CF7C920BE177
+389B4AB95B19CC0965F13228AF36409C6BDCB4C54CB4DB75EFCF1056933198A9
+15E6C0317B7FB3448DA772864FEFBBD5F4FD0FC46A2ADC96EF7A962A3F82581C
+4628FEF805305484DF7E76E7919EE9DBF7830F050674C5E46684C37D3C98340A
+EF9DE0AC8DA464920CF428A64FD6B1BFDC8E5CA8C34797DB79942A41FF75B43A
+E6347357E80C7C4BFF045EDA8C92F716A476A613643035E82D6817EFE6E1FDCA
+FA2EAEC95446DAABA3351E8FB9EE8EC2AB71D4BBB8182B795EEE2268115249BD
+29D0061DD1E0D2C7FC3D912FBF3363C585E3E4ADD0CB03065AE4E55C21DEB085
+DDBA367AB1F482A648CB2724973E0D327B03C29B08EB378F6D0E420BD51B038D
+CD5D9434E54EC36B0DD5FB0F91F585E9D4F7A4F30BE9D44F72B6F442D7AF1035
+C3CF3ECE244F19A6292356464AAFB5C37BC1E21A333539288A3335E15A9C4366
+2410045031E0126F1956C815C90214AF64278793279FE63929065A2A9DE82AD5
+A3D6A2DDFF936C13CE9380316EEE56318980FFA1D1FC157ECA7AD2C2A1D38553
+1B0A6E0D5912B7C0EFF0C503AE5333386BD8BDF95377F1561D3527225C7B7FC6
+9A23395F5DF405E21652D8FA185EE3CDA3D88BAA9381227E439508BAF5644DF0
+4E9E83B452D9C0012E2A679655C4754ED3BC10F3765E669CCF550FA8E4EDFB37
+354753A57A18E5F20E28F4F432015106CE784920763CB74AEDAA7340294C92AD
+20873FD395A6C0CE73ABF38503881958388025AA758E79FC34496E322F1683EA
+9C59688D969BD74FD85FDF4412E2AE60FEB4346E339B8DBA9EDD0397E4FEFF21
+6D18FB6E89CD19B92CC9A8BBF00F48D8D6CD4E014DB7AE1E1397A788B0B625A9
+00771809B394448079FA93300A7ACBCE391C605E70CC9774702E1AFA8A6942CF
+6F08205FB08C6B4918C8D9EBCF573BB106FEA5A3A4E409A4549947FB2667E559
+E49EC3B565423CA78D272CCC39F87A952BD446F66AA9D4931B1A93487AC647DE
+4650AD7D9D0715D1B65E16A75B5D3C35D85EF41C19D139BD4CB5531CE19B4586
+C08A9750877996CB27045271DD13C396E4CA04EB732D867F059B391588D36B18
+0DD90514222C4CF59AA3421A5E9D4E6E7AF69460C157C827DD19991772532C5B
+D8C9BBFDE29BAC0B2F9C52B7D21EE2A2E6655FAC957A43B4440E52B494E34F8D
+86D2E33AA38CE0353592751AEE6B6791B6AE3BB1EFFDFEEA54D8987530BEC42B
+8D6B6ED5DAE5D8A0D018BBAEF2221B6F395E7814AFEAC3C8E7035E72D3B6910A
+81B3376C53A3CF4669C1F044AAFADC65BB9003208BB18D24E590C6D8FF4E4422
+5F88930C3B3CA00038591A9DA83973AC1E69300B569DA0AA4BABF8A53CDA5BA4
+7B68674F55DD2DAA20758E2C3051CC0333735253217635762F4C218A8754DEF3
+F05ACA3A15181E8FDBE1121E23A3E8811309E6B645CFD1D131205B4AEC76E98E
+FEF758E9E240F33957FBF1C0B7C2A36D22562921F0F7BD4CB300D05F79120064
+6041DC50CB8E1647812D7A041D34AA0C65FC35D8F42B5D23E280D82AF7404C9E
+6D39074688B4A94FA9F1A3A628749716172C9B5D2883D63D32E6BFBF8FECCDBB
+F7B987D0F767620D76784D4D340932399E1F278F19AEFC992C12B90822A40BE9
+90067CC849B02C8B11EED1C283EEEC032EEA8E4E8E20CC54C6F09500F85BE9CF
+2E163EEF10FD8ADA6E4763ED8B370CDB5EED742AABEB4F8085F538A62C02B50C
+9AF2E177C9D3288D0AAE979398F25EFFFD23317D66B71B3C8CB0A6268EBAC911
+DDADC5DA7DE4A1A51505E8C8C6662933B2D4F335A0D153C3C5D81B873A555B00
+FE549B4AAC5147E573DB208220DC9C41D48788C9565468E36430DED19F803D25
+14D11E352013130285196DFA1D66C3C221911606C70097D68641DEDC3BD6FA3B
+6E7B931F4F603A8A6FAF8D7B678897D15B53CF627157FEE48C005A5A997A42B7
+5C84F764ACD53133C0521B78A72974463335505096D7A191B1BCA7DEEC02A148
+147B38DD0EB9EE0759406F4B6BA86807AF702D514E601F73AAABCE7C6F571599
+09B988EF67671AEE12FD8D8347538D9A960EE5CF73DBC9D2CC4CB0CB6E3AECD1
+FA671728F666FFCDA4AA6394211D79A9DD8C9489DF7917651A454EB9181D7A67
+763317A90B25F2B5C6CDE93B891866697EFABC45704D986BF721EE67900B444B
+AED0347834688B33709C80F2EDCA6182224451C9F696398F525678B887D8E90E
+45DB4B8F728B845E2E22EEBE31029ADA9991A3DDC265D3E92CE587247CD423B7
+923B18032E4B0AF16DCF334F9607150D4CC0D711E5C7F87CBC4183BE3FF0A610
+44B59BF7B766B2C99A9246FDA4567CE25EFE9D34F0DEB6DED70DE129A4A4EDD1
+E73735DACA5F256083415910D06B2CE97159C8A2574D1A012AB0F99B956CD26B
+FA1B11CB1F0827CA2BEF4B27045E889671975698C5F48173A6B223846F1FF84F
+B9CCB0EB1D268FFEAFFB59BF3DA985AA1F1ADC7DAD2336991806C88A33FC6D8B
+CB45227C718F00F948340E6CB52244259337CF88CE08BB8715FC3582FD64D78A
+94CE17D4AC2B77DD4EECE1F6F48F14387386EA013B6014E4C2D92695DCB15BE7
+5FABF65B1472458809438C20B19BAD8D13A10B16A8DAFD9CCA5D6E0C7300DF65
+7CB480776BFD935CB53BF6E25837EB0E0452B2BBD165B215D136CDFDD3EF7026
+5F71F2AEEE58A491705AD8D79B91D8B408F3A0FD5B5C48973FE49E1296BAE9F4
+6E2AC063A8D1398F7B8CBFD7FFDA8E4F50F9D9F28FB98636466B8C85DC680C3F
+55EA9F3F9B8E110A587E18F5A856319F8A8D2BB9C2CB41F606DED417E2135CD7
+F0B612A2A935D46A26E6330C8428E3CBD0658D209BB82E95A8428D03CDFB5B07
+CF70A4324AFF630B21E6B315BEFE09D122E309E2C8511B299825E9F3D21542C9
+60DE11C6838A7C41A9E3EB4AB4D64DAB6F8FB7C29CE4D55CD7AF6D5617DBF632
+661CC425DA7C961FE13028A27577DF1520238244751F217E02121D5E0B4AD356
+37305E8024FE5F957E9AED9077F6C1A346217185BC7C2427656B081506D39816
+9B1C9F8231DDC249626440313275BED6EFD21BB4B22DFB5AF9C5BB2050682291
+328AAA98ED378FF237B83796FC6FDEE884852751A012F46316249C3852A60F5B
+56FD4FA546FDE6E9DC2280B5D52A9508C216D189E5C168D003CD4E8274A59645
+0E843A4934C83B51BFD97A170B718D49A0A5781D4E75458CB3A9BED03ADDCB66
+A49AA3B97CA7C5F121D57CCECCE3C2F6C98F44A23965DCB55F747B2195E59548
+F04D5F5573136B86532DE14669CADA7D988669A876309DE1404B14BF81DE63AE
+0215B67ABDEA446D9017795648728731D6C3C8D5E6330E92C947EB356705D225
+AFAF5027E5DCFBB9D6B38570B57413E184AC60970B44032374D1146FD163D484
+778A0F411D5CD2B951E62C68AB1241E8BB57268AE6377E16CC00D49890CA20C8
+175084A0E7E3A952AB90BF7FB79ACEFF85F14F9563E6197A2ACAB6BB91A98602
+CF918F32F868A061D3EC395048C13B54B8BC68EB33327C0A346373B60860EBCE
+71F8158DC865BBCEEFD38042D152969E8BD6D6078482815F986AA39AECB040C1
+898D48B604433CB74413B09BB02EFBE285B57C66871571E3A92C3A90A877A24C
+191E39FD1AD149E66FE7397595B46B766CE1886E0A9A2F43297DF7C0284228BC
+36C057D9FC88D14ED0E64B39B223386B400468E3344788C732D4263E8A73EB06
+3648302B0D2B436BC58C2B027D9CDBDAC0E99513BA5EE420F83C54F90B24534C
+1E93AAB793F88FDF9B3C7D62DCC93097AF2C218509EA50935A0C3EF7E5EDBDB7
+5C39E7DB3BCFBBB34228F56289256026CF1EE1F3CC30DE62E4D836633EC335C3
+B2FDB1408B9C65DEF5FE896F1C2E161F9AEF79DD683D257D8982D3A5BA13F1D1
+4BA23A4F16ED6EC3A72E95291C1BB062E07AE5D4556015FE461E47449DA0609E
+4A3501602EB68AD3EE30C014B7963CCC920EA63D3DF7E9DC4B13CEF5B5267F27
+1C1B5A7FAE80B39928260CAD8999C812F837DEB7AA9C3AA2E8FC0C41ABCFED31
+D0E251D76D277A837595C252833F10487BFB990B043C60A50E430A7FF330D25D
+63C8CDD68377C215188D1E92FFEAF89010968E64A4C05C5FA11F2D64ABE22727
+9984B40797D90CA0ED7B2A7F8CDE9521FDB5EF1C7C28083C85032623ED80F47D
+1C8395910EB3E288AD9891C7561C3D06B9CBCE4FC3EF2A6E09F797FD3DB48346
+340FF47871318E83FDBDABB09DBE7CC449460171ADD00694B5DE20BD1C3A1652
+DDC586618700AC0897822F8CFAB42A148EC57FABE4CB334BE2220E842991951F
+FBF9148C4172E20E47D2ACF4B6F9CF05E8FF36AF953D36E485A8EAA98D55DDC4
+836452EEA4EAF2EB4ED5595554C6D39C938FF269443E114E0D5F8EBA6E7ADEDE
+A90897D3625108F719FA6505D72A7A053E7EB4054397FFC01270E7494565A180
+DC852083B33AF5AF6788388D617FB0C43955BE8FE6A83CCBB07F8AB1D45F9148
+05CF28922C35C8E1A1CD160913E8592CA99D884254384CF480DA41AD60CBE99B
+74DF7F6D3657E512BF1DC292FFEA3DF1EC362B9967FB28E395E33E95F02A3198
+D269AA9330C05A5D74EF2A0CF76E007AE1119CE57CD9DCA256ABA7521965D9E6
+F92EBB41AE0A59FBDF4C4921BDA658B2BF4D4CACF98985618301083DFEE781AA
+58D302FF07A1CCA66DF19006C01A128BB9E1F5ECF793DFB2541AD93410979CA8
+2AF79BBED41EDAC3FF50BC48BDCCD538C4812F8E5FD4B04F5409D1E4579A1EBF
+92143A05781309345503667F123046E40FD65621E7D6E147542C06E035687ECA
+882076E1BD8F9F7CEE826DADAE9E5951573772A03D07E93FF40736F69C43B343
+9CF802A7AA3C40D8CC015977C793F2D5FC49D22BC7398512E8EEE1587E7B1D93
+8E399474D7E66D6BFD7F2EA573F2455C9B4AC967C6750E91AF919A91462A94C1
+4FEB8D9F218BB4CD2EB324F38729F1A2DB9F6578BF052AD84588BA531C61EC8D
+76A524CFFE366D7754F1894794F4531D9070ACB960610D598C7E9BD4A775EE28
+C265974CE0E21568BED3C65900625D2E42D4CE8744499635281406709EA9EA1E
+D78946B8648787ECF327804AC895043BCD4C750A9B166B7C28672F9C9C8792CC
+17778D0F10B1F5D566B23351C5B631602842135446F1403D7FE2E3EE25C863AE
+0EF81A7BC3F90C98EED435F42DF16A0AFD9DA6B5A3F40D35E3A965759DFF18D4
+A97A94AFB732BCAA5FC1E38AC9DCDC3537ABE3906BC2B6EBFF84384CBAE8BB88
+39B5F82AA14A5960A325909AD9E4883C2B280DC31D78CE360C1F8CBA109B991F
+31A96161B5D97CB038839B1EF425A3A60B16DD938F35E9895218BD0F15AF4B09
+1F2A3D153C0206289F935682BF552F719BDFA6E7F6E6CD15AB7B3208D0E57456
+65DB05F6DA041A87854B25342F5511D5444B126B43C20853E2211331EE2C27D8
+E9FBE2E1FC77CB745FA2CB018C7F37BB891BEAE72A7484B9AB932AC27452CB96
+781AB04B61B553436B36FF531FF002D3B469E6F041C906D6E181F7341D66FDE9
+FE94B8479DA1568E6A490D2C1A71AAFE2B9F1707E9F89E8DA5AFAEE3D1657803
+A17BF624D86FE30E7923E4A8DDB6E8851DCD320512D8B3E688CB6D5ACD3AB737
+C5DFBEAAF24757EDC21B7BA67CA813E4CBB93DDF420CDA67579E9C235B06C8EB
+800EA39354C76DDDB7E6D0666E083D0C8B332DEF8770201AB0184C061585227F
+261B438B26FD7F92842DC6A4C66983AF2368A833DCE5ADB99D6A48B4D51C4BA8
+7F5870F9939AAFBA781FBA09092206B589DCFA3E6E2F069E78F85BC88601CC66
+9B260E10AC1829C4FB705B432EF98315DB27489C7704A2C870A32013B2DCBCC6
+F76724C4B3CB1CB57BB5A754043BF7041E7640E588D3EDA65AA7902CCED24026
+5270DCE5207B7D73200272B87FEB487FA6CD290E899FF0EF57F643015947378C
+A2776BF8E5908BC0B1D081E65BE85625A75F8E17BA297BB0071CAB5ED03A8AD7
+BF94EE114F3432E2D261FC74B04E0407F84DF54C434A4D63899B14DD7F878076
+C913C4DE2FCCDDA86306E4D0573355F5035DC48D988BC188A6B05782CF8E9D20
+53FABDBFB89AEA3C8DF03C6064A463992864105730B18301B9082BC2ED977B7D
+AF7F0BC393EFB07BFE49A332C0FE5C194EDC63F62AEC831D0A905B7C90FB05B1
+E0036A45EC4F6B8AE154825F9248C49FAACDDECE835587983A2AEE7A4568D717
+A331A83D817ABF4259226B93EDF9FDEDF013A2C6C518B55F91FC3950B38379CD
+B4C4BC53C7302D27367AE0695140C15028EDF4875708024C864CFD9695609DA8
+2005CE799F0B890EF5395CEC44306704C2383FCAFE3CE747D4B38FDEB849A5DF
+F11F56A7F15A9B0158F26628995B091678FC6E4BA332A5CEABDDBD5D0B355855
+46AA5A064AA45183196BE43951636A51F5812FAD5FDDE0CF49DAA594D13524D5
+81B9BC088848F163A5D70BB17E5A29BC8DE8D9892989E78282F1AFE94D33051C
+0468AC916E4F3B4A65CB05EC25D176C60F8EE78E255C6E846B77CF8388275890
+290A5BAC7D36242F16C701761D5AF80DBBD5105A9F315D392D860C0ABCEAA196
+DDB5CF16F0AF3A43C31BAC0D92E2F1DADD09949FFC942A4557BF4B8A1B5066AB
+4B83E1B46850E088B290FE9145BCCC51DE53D7B691DBDFAD1B79BB50E0C0CD1B
+40A122946A8D8190EA2B244566E0E86E404DBD828B1BCBDA143786CC8515DE00
+96C9CB766777B1B19968F1C109B95EFA06F7D2BE8B3661810DA2C140027F278F
+BBA99DF19B0597A37532008F2300A2A7BB1FBDEA49F093CB8261BF9E899709AE
+FC38150D9E5BE2283C16B9E91FEAAE6FBED35C3558A0F18E538C91DEDC84280C
+1052B82571B1C52050CEB9B1D0678AFA0EAE72DFE349609CC1F47ABE06A8EB97
+2D0F075E43B84A99A4E86B99F457CBED6FE4AE6C27651FC539AB8B8E74A2DA93
+C88FF0ADA8BF1F575C6C9865E46136CA3AF5BB7126E5ABB5C54C1A2457D1162A
+FA33E68B140A76B892E77D89AA55987FE32ECAD75A4DDBA10C845F58FF41BA9C
+93E47BBE36ABE89C0593FE229B24D3F6099C1DA52BF3BF28B695D95CDE7B964A
+984E5946571FBE88A85BAD123C2E5A9334473B3F131D7F329CD4B16F28B7BD8C
+B30B19CD06CD1E6674D3F61569C60772E0F172B4156CECD04AD5F855AD8FE9AF
+3904D9A7FAA58F8CDF046E11A605EE8B4665230132D5FBACDA30A873A7EDCA03
+01A87AAC8D88093BAA9B0388A7F43AB0E75353F3A359F290701191C61E0FBC09
+22CCBBFC6838B81CE3C7FC0AB5C4BF5AC6FEA3080B55C86D39B50665F1B709AA
+24218753C40C80A65FC60EE0390D35F8138FECDD00D77F713F5F9731206E3A49
+96504BF6014FBF4402F411F8C8A55B8F5D3FB8486BE30D3AE46F61D3F0793621
+5C51B0CCCC410B25449DAB7A7FD21DDD9A5D4E67CAF19E5EC83576382957D573
+B96B8ECFEFB712C6F0FDEFDBF37934813D647968E3271BFBAF8505E8C195233F
+30DF51B160588B50FE776D495AA604B26B6AFE866483762228618FAB19AD7D51
+8294646D792FFC3793D03033E5A44C2CD047E20C3905BED576D043A7623E4106
+BCA2B6A1112101B198F86474FCFB71519B0021188B2FDF7A06438E3C5D54A880
+2964C986EED27E8676DAD5A02917EB31E44C62FE0E37239BDA46277B257086D1
+DCD8C6E22D3E2107D226C8290180755DD4AA9087CD11A109DE7863A6F2F339F0
+3F347793DE6BEE6D5C51C7398293BEBDD367CA296E6FB5447888D6711C7428C5
+BBD403D46C46087AB2F90432FC4A83449A1111B0BB650B2FEE78D6EAAAD6FE0C
+707D4082405F1ABBC4C69258A0A3281826E59CD825B94C1FE796E3E1FB6366A3
+81CC90C946603FAE714D51A9BC57CD8F16CD3C1846F53F68CADF31920BC5FDFC
+C66E43A01E87E6524D9E437520FB95CF65D033B24511FDC1910BC666176A6DEC
+F5CFD1ECF93F05904B5D368502D6438BE3A8963D2478BF0CB340CBC1EAB0DA2D
+81823BE79843C3EA5EA2EB9F63BF233DB77C2FC4416CF6B3D42F73124696F5EA
+E51E84A7EEA01606E79AC070D546772E3DA95A9C2058CDA7664513D1BCEA796F
+DCFD2638F8942657ACECA105A2E3C644E8A8D82EE000010D5F052CEC30A8F148
+EDE39AB037989A0E0E574EB80394C18F37C36B78D050093B3C19FCEC01DF7018
+E9534239A284528371D64A0F6A148FABD6C372840B8A8935D2B1AEB6744BF669
+AEFDE8F9160DE68CE8CF225F502C51F2A10D97454B42314ECE5587A95279CB81
+9F389BE10AADD9E93F14C525472E7108E8277F7952BD647712C39DF86C93DB3D
+6E95B5F64158D3A86E7F3899AAD1F3BBF77961C496824CA1371D245D03E9E565
+F2039C16A5C12C48AEE26ADE09108EF889E47C13E49924AFD19AEFF302336741
+40A244EABFE9735D3C3625D5A801F553AA9DC74639C330666B404B6A5C2378B0
+7142C12CA3AF3947156D600B18102D91C1AA39A45E7E89F32624492288C53FBB
+AB3C67280299CBA90A54DD8A22EA34329848E2F7D960DE555E12FCF85F7D2C56
+609D63B62BA431932AB55BF47D3F25409A878B4223DD96EA1732A61017C19BAF
+1479E414864CB2642A7F99BE0D4A6086824FDF3D4A6126339EF23D8FEAD67644
+DC94780B50EC1BF289355E86EC3679A8853632
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+cleartomark
+%%EndFont
+%%BeginFont: CMSS10
+%!PS-AdobeFont-1.0: CMSS10 003.002
+%%Title: CMSS10
+%Version: 003.002
+%%CreationDate: Mon Jul 13 16:17:00 2009
+%%Creator: David M. Jones
+%Copyright: Copyright (c) 1997, 2009 American Mathematical Society
+%Copyright: (<http://www.ams.org>), with Reserved Font Name CMSS10.
+% This Font Software is licensed under the SIL Open Font License, Version 1.1.
+% This license is in the accompanying file OFL.txt, and is also
+% available with a FAQ at: http://scripts.sil.org/OFL.
+%%EndComments
+FontDirectory/CMSS10 known{/CMSS10 findfont dup/UniqueID known{dup
+/UniqueID get 5000803 eq exch/FontType get 1 eq and}{pop false}ifelse
+{save true}{false}ifelse}{false}ifelse
+11 dict begin
+/FontType 1 def
+/FontMatrix [0.001 0 0 0.001 0 0 ]readonly def
+/FontName /CMSS10 def
+/FontBBox {-61 -250 999 759 }readonly def
+/UniqueID 5000803 def
+/PaintType 0 def
+/FontInfo 9 dict dup begin
+/version (003.002) readonly def
+/Notice (Copyright \050c\051 1997, 2009 American Mathematical Society \050<http://www.ams.org>\051, with Reserved Font Name CMSS10.) readonly def
+/FullName (CMSS10) readonly def
+/FamilyName (Computer Modern) readonly def
+/Weight (Medium) readonly def
+/ItalicAngle 0 def
+/isFixedPitch false def
+/UnderlinePosition -100 def
+/UnderlineThickness 50 def
+end readonly def
+/Encoding 256 array
+0 1 255 {1 index exch /.notdef put} for
+dup 49 /one put
+dup 50 /two put
+dup 51 /three put
+dup 52 /four put
+dup 53 /five put
+dup 54 /six put
+dup 55 /seven put
+dup 56 /eight put
+dup 97 /a put
+dup 98 /b put
+dup 99 /c put
+dup 100 /d put
+dup 101 /e put
+dup 102 /f put
+dup 103 /g put
+dup 104 /h put
+readonly def
+currentdict end
+currentfile eexec
+D9D66F633B846AB284BCF8B0411B772DE5CD06DFE1BE899059C588357426D7A0
+7B684C079A47D271426064AD18CB9750D8A986D1D67C1B2AEEF8CE785CC19C81
+DE96489F740045C5E342F02DA1C9F9F3C167651E646F1A67CF379789E311EF91
+511D0F605B045B279357D6FC8537C233E7AEE6A4FDBE73E75A39EB206D20A6F6
+1021961B748D419EBEEB028B592124E174CA595C108E12725B9875544955CFFD
+028B698EF742BC8C19F979E35B8E99CADDDDC89CC6C59733F2A24BC3AF36AD86
+1319147A4A219ECB92D0D9F6228B51A97C295470093CA270C4488BB4EB864B48
+63941B9739638D2E6F3CC778582B46AEB4E466D89D1C211225274356A4BC90F3
+274C6AA56E200249B7D0949A3FD4185DCB3E5286910EFD7CA72D5D8E8052C96F
+388D12094B87D3705CE64459558CF024667C0FE96CBB32B0BC9E51037D7BD62B
+E4B05FF99384E71D78441A79B0B1DBA1CAE02434A9FAE46596FB86B873B1670D
+AE0BAF516445A0DDC127F8FF3ADA0B10EC30A9CC1F7E9248828B5E8AB46C3FE4
+154B80A54128A08777F5F9B8C519C7E3B632B3476F007FA156E9F39FBE57638B
+4214CD2BA79BA9DDA0F4C073AED814ABCCC2F7906C57A872C00E67FF03AC1200
+29DAB92376422FA21C67CA98BCEB8C431CA2D3EDDC16972F84BF6DB2F705BAB5
+CAB39C82D139FB1304B9E7BF1F6FF447596081D5690B1519E468D6BE49C329C5
+C9C809023EDEB9DCE4A6D52A8049E0CC134E8B41BFC6558CFCAD3D9D2773EA16
+131567AE6231B3235869767A1E7C1FA6C8D6FC1B276CBB1CAD14D376188C9682
+302836A9290E587D4225EB8BB1DBA2C4580A81FACFDA197174FE948CE757C575
+F23070FD84DE121955D7D9307BF986C5E739FFFB6CB76822C341FBD9FC2E3378
+AC9332B40C07D5B8745D74E30F1D719EAFAEDBF5FBC40D0546F69A66072D8A49
+28D2CC2E76B9B1EFD191E0BC7510C2C8761BD92EFCFDAC263342A01398A56D18
+121A591FF5CD4AD8B25699A7897E60BA940336BC17B9EC9F97C2464D031F958A
+A3548D0C97C50C580B6EEFD0FE8330EE2BB0D2E7FD1DAE33448953544A4B1C5D
+8EB57798D0ED4B22909FEA78ECDBC4D8A124DA05B9999242D68681017285A0C7
+69041C1F79442279FBE328733EA0A6694D68BA89739FDB9297BE0CF1808C07F7
+BBF6F1538DFE084EC8C0EC24D883F6CC08A51DFEA23EE920F44BA55FFF58E960
+C7BEE551FCD2D5814DE7E3F835608073C2CB80EC57100CFD484C837881674E92
+B217F4D11165427DACCC29C129005874C05CDE5FBB2D912368EA2B98C45AEDD8
+8A0D2493F60EF36809C8C6EBBC7856F6656E8D398BCB29DAACD4F7D4300A0B01
+161CEF51195D2C58DDFBCAFC1C03F49304ADF02789889826F1E20BCC14827565
+F2A45CA57DCC61B52E33638A0C6C5A59B145E82B82571DF1806EC40FC0E8634E
+A34A791B1325571E19F3AC2EF6FE68A14B0ABEF7EBE0EDA3942E85E5AE967A14
+0C5AEBFF2A36DCA8866700CB7082D2ABE470864C44AEE1F6D180D511304C8674
+D02FAB12A7079ABF96E1CA3CDF9D75532123E87663B1D524265AEF63EB5C2169
+B67A651A101E1C7EDB008D3DB06DB1FC1A81B41B291D6C4A58FB57989FFCA434
+DA84B3914D1D80B17AA3A55A70BBC06C49DD5F7DDD03FEB0055088558FA192A5
+261477899857CF598DB740E82D035E84CF17B33048CFED2DCBEBC2B75CCAEBEA
+B6C5AA1C6978FBB36ED98D9047028360ED430A0AA69AC85A8F83825EA649E1B2
+64B260197B06A24A1DD969CEEEE136FB046D713D0630B246BD41CA285F076038
+F7F8431913BB9A3E70311844D4C22AA446E3CA217A9DFD75A898997130269B29
+AD4AB7D9662856E677FB2DAED7078639CF31C6E6637C74DE2B5D0ACB88BD61F3
+CE3C5D56D3D4B3EC1ACB33EACBE05E53A133EBFE93CE6A0CBC8F24BDC5B31BBF
+5B3E55D6B40B1CED389076014667E28BBBD60145A06BDECEE8011A2C6F06D091
+73767A8045CEF2A110B614149FEE783A2351FB2938A9F73CA406538EAD82ACC5
+A3DFD3DE00221E1B4EA977AF8C89661357FF7D2F1FCEAD6CFC9D6AD81F95100D
+EA1F328249AD84AE849220E6593D45015B4D7C9527F3063E9F6DB6E572092A1F
+1F460696227D5F0FA5A5484B1F0D8B4A35066451663BE448D924DBBFD388B6D6
+D7CFC87C9E75B7CF79A4C9207E29E0BAAAD7FDF529B860F7731EA978E335334C
+13CB2F0A4250F5957B44CAA0674AE8356F586A24FD137103973B9A1FC31090C7
+C84DC5D380404BCDF3FE20C6F74FFDD8BD1DE845E99DC6FE09931F003834ECC8
+08C5D962070B6C44F901A787CCEF048A2C584A2285506B4D4E82B1BF130E2220
+B6C8B3240A4CBBCE16AD3676B23A50B75F82CD88D1B8F21D30A12716426112B3
+23DFDE5A348DC9DCCCE5BB5DB5433A5AC125DE1229FFAAE0D8319B2929986EEA
+56A93BA1FBDBE617F30852A3DC8C712DF674169C6D656F75E252187A085B2788
+2467CC4DB08D48EE6A98C61BC55E6EFB1938FAA718802B7587B94C8F1477E9BB
+DCF6E02B5E67FE3AD9D87C321CD9BC0CCD36B9C4BC601E6BD552EAB8E1C940CE
+3A22F3C2501C3C939CB4F17CE97566F0A04602D2A22A05CECDF4A49CAFD6332D
+5870E1F31AAA5F86867F71610CDB83E473B9D20BA00D8986D7148E0EED03865D
+9622864B52B09D12E0C5FCDD023D29D5AB1CACFA92B6FC14FC84E95F407861D5
+2BEE3301AF399FD7ED04DFDE6679A345A282E7FC08D47E3FC8969D3B00ACD7B7
+F8769647D6D4F4106340EF739583374D023C2702C48FAC1B643B5897D2D7DBCB
+73257712A0FDEEEB98A021D218CDDEBBA34687E23C4828D7F96D1ADDFAED7EA5
+B279322E6D55FB486AD8F3A8E7B2C67915564FE56F0C9277A06B29C47FB7D007
+11AFDDB3FC1B173B4E449CC6B198041CCA0624D81B4840FE5B63BE72157AC6E7
+03E5E95D2E2CE2E40BCE8044A8F2AA45F855484A891B9F0F8F70188AC66A8DEE
+F4D656CBE216E6D9AC33BA8DD0685D480833E1226784469A221D9FA3CA600AC7
+5574B5226649A9C48CCB43339942FC9010F86BAA2D181AEB487A92A96BF2EDF1
+60F3B93FDFF4137A25A8AEC5ADF8613019CDB103DC4367EF3D8AEB4FED0E6BF7
+622AE0CD3CAA0321D26CA4280CFB60D08D9560AB8AA5698231171B881BE9A27F
+BDCF3162134126212C523738D221AA05E31CEE73D9D40F73C450B6AE2C1E70D5
+C37162BDF55943069923A290A6C720042566E55A21CD81C460818883AB016C16
+8FCCD1255A66977DC1C110261D7642199D466DD3D2493A2D47694F842241C474
+1752B00DA03E69CD16A8A14BEB8A431A315D19A39BA978E46EB1189089FEF647
+F9DBB58AAE6B3FBD475E4DCAD241A051DD100ABE81D40ADF18A4C50F53BF749F
+D6F7C8E02A5665B4AD18DDAE79096DD447F8BD32C68F9F97F05E0071D9E9AFEE
+257B96D48ABD9920418E17C8F027E9E975E4A08DFB1988E7104CBBC1CAF356EA
+7750AA7110BE116AF1BA69A94776E4356573B38472A8A1292C63701543B0F315
+611A0E0595B30424A1137478BA6F990AC7C3AB4DB69E75C222B617F373C521D4
+246E954E9857AF59D1E6C36412B643733CF5E1C90389EF0E5E0DA55D3AD12E97
+E7630C315F72A03CAF22E0ACE3AAAFC1D496CF4E5ABC49C2DD5E264BE7EB2698
+AFF36089B5DD2C53DB1C1FCFBE1E89D41A95DDD278CEB29DC85FD1DB8B83CAB1
+EB37C531E9BB8466ED6B8B60258D3C355626CDA43A32834DC89DFB11E5FC6D68
+0F78CFA871113DB81A1690250A6F842ADA15734CB6DF7C6ACED6D8D586BC4E1A
+94EF3052FB0F8B9454390B882CBB6E135AF1F9C777AC362C2A758C3A98117120
+73C6E2FAFB580716D4B2889A4331CC658AAE996245685B973D9C184541385680
+AEC2956107DAB00230FB39BE98D3CA898D917E5F2088F26CBA4F8B5B115B6443
+8753331233B10852702FC26D9DD4C990C13CE4D0DCEA23D62A826A4B4FD16070
+5F3638C0A50A3373A33FCAA6F3644975AFD0560EE5F2D1CDF08820373468E4FE
+6679A229D6955CFDF7ACAA92A87E6D8571AD18CF59F84F88A674B2946FF20A28
+B9798EAA22442415EB46B9498DDC0F4BA6ADD347AB43E9293CAABEAE80127378
+129D5DC69F6DFFBDAFA5D65580239E8EDF6833D0DE6DF75F0FD090A83CE0974B
+AC947BABBD1B1C7194DDAEA37B0CAB477ABF9433FCE0243C8D308409427D1DCB
+8EE4FC36C7E5CEE104904B520B3F6E677A5B92F694BDBC2C799991667E0EC14C
+B95EAE7DE1854BF4542F05B4AF401CF67FC3E46EA5A0DC362F3CF177B1796DA6
+753AA803E724D1721DDD1BCB0C12CE0859E172D2A370C3697286F80D9E138AFD
+A0EE016805F847BD30D11D8B891E54C77AB51A7CABF76BB14B06153C7F811FE4
+93FC4B7CF161051A458EDF767DF94F487DB939A2740B4242BFEE234F75084DDE
+207E84533004B933D43C712F0C71DA4A00FFD6D721EBC93AFDC4200E3B8DE433
+3ED3E1DB799BAA27548ADC853AFF5D9D6BD92D644E3CF394789C99D9DC054A26
+7770AF5DC5BD6563929AE11BE341F036584DD573D3F43D9D975201EF77BEEF80
+D1EEDD1D4AD5D4D4DAF6D5B9D4C1736CB111D6FC74C236779C0ADA430323A825
+09EA8D0CB1772220AF28B93098BDB36913159208D1B2D7ED45808BF7B686419C
+5C0E3DAB5BC9830FDF3B494D624EE8068BF6F5212BD69EF466B9A213047BD105
+B848F056DC544A8CE66C546B1A4DCB4BA29CF0EB4DCD9C2452F22172AFF33B29
+E97E12D8F0D312B03BD9E5377BF0C81D884F1E79DB66E8144F106DFD2579AD26
+C693C5B68F3AC46BF0D6281032D4D4BAEB2243151AB1AC0BDA2ACDDD4D590C90
+F29B335DF8F57DC593DCC081FB56924028E3161AC4865B49D1B0F63F5EE866D9
+7A71171C09B09A44B0E32F03494D9EA63F3C89F5E772BE25A6557F119299E989
+99BA041694ED805AA4F3BBDF00D88171C9D43A9085A287A36A1F0F9386F2A98A
+96815CA51F06E1CDF20B757983C5FDF4003F5438232159F325C6335B734FD982
+1423BA77D0EFD044381AFBD0704E3DE95D23A70E2428E9AA355A9A8A25C6C74B
+48488C14DEC93A766E112D74C83576ED355F17A809E8D3F9C65C4E3E14EF484F
+4658DFB57597E2A4461D8044E95844391C1275D63F282B37888C842A5151937A
+45007547263D70195ACC018A373D498B88C5A028BC66ED96A343EEE74D61EEB3
+D9472B6A549CEB8699F4B35154A0E2ED22867E4F9E4A76311EB2C9F9078FBA81
+838EA49C2966BA64C165434DA3093206B70186BE80600B891D9979F730FDC794
+5DD6D8B2090CC67A634B719F441092A10C447A86ADB78DAE45823ECED5FCEADA
+ECA52E363D913D9EFC0ED98A5A1F823DDA3350EE27F09C14E4C7298CC0FB6200
+DEBC640C68C82D70AFB7A7BA668F1D7948686206884736CD03D9F6E6CF9702BF
+E3C932CEF3CE07FBBFCEC0476EA6E8D5D4C5C6450C8FB236B89BB82D51886240
+5BA7462F50A88F69228DCBDF26B7250E90B3DF8E94ACA1CADD9EFB5C73EF9DD5
+46052314D445CC92512BA231F79A09A2F0D91976B160B8C9BA055DA4AAC1300D
+491193EC66A6DE12BE01EEEDBC3A2291DA1F27AB76596A236B75E19FC5F1FB6A
+DA1AD835CA08B6CD03B97B4CA1BFCBDD2500BB09F1A1B0438E4A759370EFA318
+F062BA9F3D352572CE232E6FBADDAA5363807D0DC5320B807FE5485C8CB09B6B
+0BED9F5B1300FF370252DEBAC9DB25CE2EC494E8EEA45FC6604B3C104E81B287
+EDD49F3D7430EC9176A16B4FCEC5DF68DCC11ADF90BD5337E2E4B59BEFAC8298
+E5ED2C7FC5928635420FB1955251932713236DCE28012C86F63D12AF1DB634D0
+0B8CB8992B8723548177BD6822A808FF221A9E38B0DCCBC1F3430A9BAEDA89CD
+ACEBBDD8CCA5E17F1CC37E35A01E058BAAAB6BE7124314DA19962BADB74EE73D
+8FB13FF6AFB6FFF97926CA045B62B98BAA753AB0FC78B881D3FAFF9EE2FE918C
+8EDBEF87637F1530E3E13AC090FF81F4136E08D5F3734327E643CDF621278741
+A17AEBC56E21217888A6C8B5ED4269731910E7E25693CFBDD4EB4A32698F2447
+4C45D73E810B627D8719E4E34D8FF378F9B68BFB149AC67B3B1E55F20D097FC1
+AF74D46F5A3923C63DFEBFCA210F6B257F5FF3F2AC34CE41C15C9977634E473C
+2235295C05C3DF6B3009C7854BF11CC87471CBE085793AF9C5D05C5479B9E780
+14A5A6F3F6DDE5A18243DA15732CCF26ADE40C566DBC3C62B71D46DE87A12C6A
+647CAC923254E2E74AF882DBD5C9E108A9160393C5CD12566AF7C824EFEAC56E
+6F05B92C73A76824C5ED1735BCBAC61B98D509250C854CF1500C212F574D18D6
+4426B8510FE9785B814A70E75C9234D42483E736D0689D3561E8EE5650F33A36
+D50127589401D267BA6442E8616E2CDB1F6691D3FC4A2A377E5E154972E890DD
+60CB463E9EA9A6EA61087DF452FA5646F69BE879337EAA0F5DA4438FF0365627
+4E3B16851C2F08E976FDA27AF451CCEFED00376FC3D6E0C160F0BC19544DE289
+BECEEF9A067FD71D54DA3A4F73F06E2F522BA07551296214DDA47B1BBB1212E0
+1100ACB5F65FD30C655A3402C83058F8ECFE48FA60B6A3DC86C4996414130194
+6676EC7F37454023AB53E9D9EE60249ABF6953E76DCE3123DD268BBD492412BE
+65D7C3E5A5E483C381182A8F19B506F0AF6DCD55532B89852D1D96021B22E9DF
+D9D072BD7DD4450577E658B433A84F92752B260AFA2EC4A118747CBFE36AB7D7
+6D5DD96A119AA1BDD0FDCBC3AFDAE5FF72713EB46759A06CD09B5CFABCDAB0E9
+85599506AC07AA525978AB157496163AAB387F079EC9FA1F9E91B9C2FBCDC9EC
+7027D77016760539AC03F1C1DB242D28D6EE946C42DD2262D82ED48C3A839853
+BA977046F0EF373AFF884AC3112D2FB319421C3165DFA5710BFB9AB9595A10F4
+9D05704B9E22137CF27F4B2DA9CEF6D8801D5F792969B2E58FB539B8038DF440
+6DE20C0313A7BCD16F279290AD6859B0E657CC3041C7928CAE35B9D3A681F2A3
+2D40F8EDAF1127E754276556C95E1282514B6EB6E43FF4F0FAFF28C715E3F39A
+374415B62C1F5F8E31E006D6ABC736057910A3729AC60360CEE1B2C8D9F77336
+39CAC45329A372205FD551B9E9EA5082411207473D9D90E76136AA70180172E6
+AF6EF3EF6B38B1906B904BE9BD5251EF067738840C28877659B649C6C4CA328F
+1BEF8A9CEC2CB062702F58CC0B8D2D097FBC278F9FD894E10ACE1DEC4530CBF8
+E4E467B6DB9C596DF0C3D43E6AD70F30B733EEE692C2EBD68756D0C16E1F00B6
+AD011B5DA073A769B53C2DA2E7C9B7ADC6F551BF4DF4C39C66443692C3DC62CD
+B1E094013F364D04BE2FBFCD1C7B2836180E9022E0434421FFA4317A50096684
+CF0B8740EF680F27F4A84AAF2AA92C64883BAF57BDC60C6467A8D4E09E6316FF
+9BE73053045E5F3586DA3BD1298DC15D751913FB1E72EF80047F6B33591B97D3
+DFAD34EB224D64EF60F5B4ACC6EB42E1BE0CB2812FF2F3C264AD2E44F5EBA441
+670CA0A60E73176ACDC4E42E74F8F489C73481EB5D46A61FDA1C0FF9F8844DBD
+99CECAFE2A72833E4522981FA13713AAFAF8F121E60FAA6F379B2C8874CFF23B
+8FECE70654E5855E525A403700A96CF7F8111BF2B58386E29640D82F1DD86900
+E0E203F3ED554209CBDA2A61A5641D4B39D98C5C43D4575648D06BB82B6C4D4A
+F043EC61B17C208CE8B4F43A7BCBBE588A3D13A183D79A47404223037FCFA4F1
+DD237344E589F161BB9BBF3FAD2E28749350DB9A74C09E894BBCA85B82E704E2
+99788B24642A7D0F0FD96601CF1AE4819EBECAB89824A0DC1C03BA4B546ED36E
+DABC8D49CFAA53D2A9A5DD6B3431E364C99ED0323513476CDCEE49BC413E50BF
+51EB93563DC03B62F84C5F96ED713F288D109C79179AEC41424822772032035A
+40E84014F5BF40948F05E8562C90FC0D56DEF85E629CAD8E550AC809CE6DD366
+2306521C62810E7C8094AA310BB3E8C5B2E9792E6510FD62DA71DB5739A29DDA
+D51970DEAB2569A665EEE09E12C44829215A25A28E43DDFECF131EA7027FD3CB
+9E87B17D39B03D2D1418FA11E2F7907B9626CA16609BFEE67DB56CFE2B8DD209
+DDDB0964A51388B669C597141ADACC7692B27A350233112B0A339366B7373CE0
+58456E0E103A27305874D4AEC967043DBCF9275F027D92A0AE3B9CB6B88C188D
+462820361376FF9917120D5BE7BE501C11AE527A65B173ABFF706BEAA8332B39
+A9B455ED64573BBD6EAE89F3A956D8F3D2D20C981DC85400A08C95AD9938D7B0
+98BB1CC96B9A823C6359B2843772181735F80EACCB3CFF84825AEC4474D38961
+FFE547746194597E8DB0BD4635276E6DDE73497A3B48229E6B4C5ED6B54F4942
+4EF2E6C391B3B4ED4CA652F989068D45028D73236472FE8858E2AEDC1D570652
+0360431ED7B4F7E56E59E7995E35BAE4A31394D8DA3BFCC0C0C8A63865E7631E
+4ED870F93259D5E3CB571A8EE9C088D96683293D2BAE38A742DE01C8F3F23538
+B7C4EC8055925D77C5718DB7F5906990D3C451FB4F5267AAA3BF6EBBB708891E
+AAAC48BCD5C310F3ED12E5A3246B0DDEEBEC07282F670637C05832CE6EF302B5
+A55F2C51FCA1B04E748A676FAE083E774E17647D25D15D76C896298A9A3DB670
+8E74ACE32A4B709D8FB3D2F67D359AC27E564509E8A3F01EB9304597B04C1B11
+47CBDEE0E44D408757AABDFF38C083B7C91E387B833EC0FE08C72511FFAD5512
+855D738B3CE02D03579FB60C44CB53579CA236085FD1D9DB34607E91F1A43FA6
+F0B55B7E8B4B02421CE78F91C43A0C1CB1C80AD89E37AD4FD79E40FB8DD8C754
+7FE2FC4E6A95DAFB72D91409CEC0641180742F858AB0033EFDEC0BBEA6C36605
+C70CB08B10F592B92A5D49A971F125238D4DC9A66D8E1208C57B04F378524DC6
+3960AA9DD62F7BADE47D6CA81AE2A7EDDFAFA1103F9170DC3D033CE3AFBD6744
+C3AA5A92FA19FC7FD73363A8CA354D2A26140355C24C75F8D6C0DAE731952C5D
+145F644008F8E37A48E97390F90AFE14C586DD8F773CF21EF81CDB40CDC85164
+BAE535420BE07BE2BBF30428AD87547B3F4D1AE989AFF426BA4F95DFBCD0CA5D
+AA30C307E984534F83DD8F20F2E6EB156B31F6544081A0D23A916B166B2B478D
+C4F511BCD7BB2E9D5F26D4F0A979CCDC8B10714E47CAFBE1CE61BB0D8BB48B40
+1A08606411B68658155420B3DD668E35FE16D5F42CB78B43489881204477BF4F
+E4C03F2F511EA703A8105C151BEEB6E3CDB474AC1F7E9EF855D7AC4CF45C4BC3
+ABD060FF02FBFF00F96C23BFC4A5397DFE7A0B59B66BCEDD7195E561AE39D3D0
+38576E12ADA09077336616920CA8F4748F7715E599A9002D16BE14F47D64C0FB
+E3DF0FB2AA1503E6025E3A25943E7EC0D085462252CA47D6D168E4E333388470
+93E290312EE65BA324640B70E907BD302B56652EAA730BD78AE646B97B125330
+DA732A6B6BADFD0F98A491ECB1512EDBDD8C486114B7FA8910119532C405742B
+1816E3E06113B48FC649394DA9EA2FDDDF1185EB3C24A6D774692F213E2BE3E1
+798319BC9422620E2F7B66A120D7F57A8DC475F6C72256ED14558DCBC614F878
+D990E07AA1E2654B2247C569A23DE671E2A03F54597B4EAAC71328E29A133237
+3F72F1E690B6F55C88424C03A036CCEE17817FBF7CE3520943A1C79A6FE8512F
+805D6B27129D6EE18553B45AF8FD6B827B0F583D97CB2AFB9DBC6B94AA4E5158
+1219DE0510CDA0FCAD32147C731748F28CBE526D90854F3AA87447868CF1758D
+5F739105A75FD1C4051E4227E01A2FDFE2542FD2043F8049DCBB1963A9AAC452
+D05B92AB177A13E2C242AE31EC3AFE884B73BF18686BDC579D0FF989730979EF
+E0BCB5BA166A7DBB84D725F45E1253CE0A0C4C4A7DC3E989847F5066900632E5
+DF5B87A89B4218F38B17A3C669AE7D6757FD9B42A8D53BC3972FAD676EF93F88
+878809AF4E87F488FA59E6A8031934C915E274478F73D353DC565F797D6BBC30
+C96407A52B885AB2113C98AF6499C111312D4C880CA542E3C43FA7C8D1F9D1E7
+DCEC62611EC7F4EDC36D1FEB4D7F6D207F8CBD42C987090DAC99A90C10421E41
+B6AF48AAE86AF266B4D43FAE6CD50B36A75A50975EC1E129D9D4641807FA1083
+DBD15889155001D5AB72EE9E0773D719475962C4DBBE9F1A828C43F881A8E6BE
+16B694AF598EA0C1E0AB872BBA0D6B65AB1C573AF0ACB9253EF46BF5C89CC24A
+3ADA2B581BA1AA2A71AB995559EA713693F26596CDB52FDD226983C2ED3CB371
+9B2D2058458BB4F45CF954349BF5FA1DFB9BACC66B939708C4DFC5CD68EB2C73
+F664041A8BACC35B4FEC67B6EF22749B35806A9BF79CC82875D2708A8D71C865
+FBCA50C0EA7C5A48260DAEFC463D7E71F8593FEA33B4D8DA620F62B87A086EA6
+CC888EC8A674173183466F8015E7152C53599788B7D5A2B174C444CAA445ABD6
+37FEEC62A46364003789276DD80CE476B05DDCE89B1EDFA100A52DBC517314C6
+189750A09DC42BA30EF7285CD42C2FB48CD6F91533B7F547A2D53E377ED694CC
+73809CD619F10AC41388B50470B3D870EEB5E2356B70533BD44933A286751C2D
+F12E7F6157346648C7379AE7D3D3B7A27EE1BA734A1EBAAC886EC6B9E88EEF2F
+38272FA38AD2AE2163E3305E9261C158704F513502B8043585DE9571E1AE387D
+FB2A48304C13C96778A87FEADF6603236FF5699302AC002493B62E58AA269665
+7232B90EA13A1394CB5EC7CD31CD4E7CF1B5358D3F96286CF29E3D258572D4D7
+39FBEB58FF46F3F9F30D97CFF70AC631A449AD0A83B6531C8CCF548C23C89066
+A36BDDDF8E2EC49D9FE10C2CB02E0535CE626C337156E7B5A760EEA85F9BBAAC
+F6ECF9AA5E5D1CF964261461C22267C7FFC9300133A32AAD4A3CA56CC4C392DF
+1D58A1F49D71699A8E053562F874D78D58B0A9FE9C9F270AD661DCC7CF1F6BE4
+AC942CCE877E78750D08A70F36B6DBEE2155F9863C6F1263861C29F02544DE7B
+2FF01CD36A0B797C1D2487B7E4146F74358E01158F24111A1EF3F93644B9B132
+1FE4C0504DC5690D5C5524AB468C07A6ADF8D8A5316B10D772FF184E1AC1DB38
+A4B7538AACC20DAD300FF6B8E37F1D61A36C9A9391DC8378B6BE68D77155B9A0
+5BE2264E8AD9C438F761BFA31839042B60E71E90BFD7699ABD415DE7BF3D70F3
+BC
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+cleartomark
+{restore}if
+%%EndFont
+%%BeginFont: CMR12
+%!PS-AdobeFont-1.0: CMR12 003.002
+%%Title: CMR12
+%Version: 003.002
+%%CreationDate: Mon Jul 13 16:17:00 2009
+%%Creator: David M. Jones
+%Copyright: Copyright (c) 1997, 2009 American Mathematical Society
+%Copyright: (<http://www.ams.org>), with Reserved Font Name CMR12.
+% This Font Software is licensed under the SIL Open Font License, Version 1.1.
+% This license is in the accompanying file OFL.txt, and is also
+% available with a FAQ at: http://scripts.sil.org/OFL.
+%%EndComments
+FontDirectory/CMR12 known{/CMR12 findfont dup/UniqueID known{dup
+/UniqueID get 5000794 eq exch/FontType get 1 eq and}{pop false}ifelse
+{save true}{false}ifelse}{false}ifelse
+11 dict begin
+/FontType 1 def
+/FontMatrix [0.001 0 0 0.001 0 0 ]readonly def
+/FontName /CMR12 def
+/FontBBox {-34 -251 988 750 }readonly def
+/UniqueID 5000794 def
+/PaintType 0 def
+/FontInfo 9 dict dup begin
+/version (003.002) readonly def
+/Notice (Copyright \050c\051 1997, 2009 American Mathematical Society \050<http://www.ams.org>\051, with Reserved Font Name CMR12.) readonly def
+/FullName (CMR12) readonly def
+/FamilyName (Computer Modern) readonly def
+/Weight (Medium) readonly def
+/ItalicAngle 0 def
+/isFixedPitch false def
+/UnderlinePosition -100 def
+/UnderlineThickness 50 def
+end readonly def
+/Encoding 256 array
+0 1 255 {1 index exch /.notdef put} for
+dup 11 /ff put
+dup 44 /comma put
+dup 48 /zero put
+dup 49 /one put
+dup 50 /two put
+dup 51 /three put
+dup 56 /eight put
+dup 72 /H put
+dup 74 /J put
+dup 84 /T put
+dup 97 /a put
+dup 98 /b put
+dup 101 /e put
+dup 108 /l put
+dup 109 /m put
+dup 110 /n put
+dup 111 /o put
+dup 114 /r put
+dup 117 /u put
+dup 121 /y put
+readonly def
+currentdict end
+currentfile eexec
+D9D66F633B846AB284BCF8B0411B772DE5CE3DD325E55798292D7BD972BD75FA
+0E079529AF9C82DF72F64195C9C210DCE34528F540DA1FFD7BEBB9B40787BA93
+51BBFB7CFC5F9152D1E5BB0AD8D016C6CFA4EB41B3C51D091C2D5440E67CFD71
+7C56816B03B901BF4A25A07175380E50A213F877C44778B3C5AADBCC86D6E551
+E6AF364B0BFCAAD22D8D558C5C81A7D425A1629DD5182206742D1D082A12F078
+0FD4F5F6D3129FCFFF1F4A912B0A7DEC8D33A57B5AE0328EF9D57ADDAC543273
+C01924195A181D03F5054A93B71E5065F8D92FE23794D2DB9C535A5E57376651
+F6823308463DC4E0339C78699AC82C769542FD3B410E236AF8AF68CF124D9224
+FD6EE92A38075CAAF82447C7AF41EF96F3ADF62F76FB425BEDE4C4124E7B1E0B
+8BF254D91912D3A99557F5427907A56514C5A3EB961B94112077FE9417B70DA0
+B2E1C1FA3E1D6F01D11F640CF848E45BE3E205258E64FE36AFBD4DF4E93F6B1A
+966C8E7FBE2CC8FF43C1F67BF6C361678B5E90F4BA524FE8A4CAD6AB28183E6E
+CA6C9636E884845105595A2E40CDBE8D4807A81AF4DB77B31873FEB221BCADD4
+2C4669459704CB58A7BC230FC59F867EEADE660E49AEEDEEB042BA9A7DD8193E
+56C3A36A1F639F7EA512EE4BC6992F52C2FC82A890EFDA730105B0AF7B819295
+EE00B48F64C2B5BCB275B1DD62F289CDAD4AD9B7EF057684642FA6FA6322C277
+E779CAC36D78F7779CB6DE12638B3C65B70C6B5F8A8C6421A379719B8DD44973
+5F52856A4A29B2ED37F2B1FBE6EF4B79B7C0CD6395C756A00FACD763C235914F
+847D1D99831023CE1FD89EFEC83AA7E313131C0C197248605EF5BA773D0A4000
+72F607551A8EA6F0FF19441ACA179177D1FF7B423FEBDF58B0C19CAE3C10EEF6
+3538D8FC4762B77C5AA023A8186C40D0365A4487DC3564265B3DF908572DEAA2
+57E29EC669DD72974F806EFF5ECAFA9ADF1F9D2A63087FB7BBD100F0F81C6FFB
+B1EA1C9DD46548AEDD147EE64B1B4894972DAE1DC3E8569D6A3CEF9F9E46DEB7
+547E10BB2959D374A33E47C58F1B20419920AB485F166062FCCC08EB5CC9AC88
+F388F0C0155027B727729488E44CCABB7064A1432E179189C4627453C5231535
+47D1F2B8BA43069696830CBB6E5F9A135CF22D3D1FE490A3A63C088EA32FF444
+24A2427BBA63033DFE2E06DF8CE67949B6AB02F26335A376B57376814D2A7DE7
+64A4347577EBE9A6E33DD2FC214A09C6D889C8FFBF1D567032548851B8F97204
+49E215CC7D222F593E1EF1439ED60AD922D41E0E9EFB5CA48F2FEFF75AC5FEE7
+FB6676D8B8D4DB6885FBE8B61B586313E4DAFB09D94CEDC0507E93000104F3DD
+F83865A2C6F6A7DA8562BF86F5DB233CC9B53391273A1462E40876A8AC2B098A
+DBADD5A160DEAC061F86A5FCCAB495EF8A9D121AF07928EAFD56F618E4EAEA97
+CF89A3AFD406FC9DE1E9769C1E1EB83BB883786BC075EB5DA2692CD59C4DD7C1
+7FD2FF9B18AC740A390C1DB38670DEB18C67721A1DCD502FE7368F47DB4281D5
+459B3F020595FA3B10544AAE9EF786A0645FB7C9BB29D091E1432CD878A05918
+1665643005BFD9A4B0FFD347ADC84CE22D6F9AD4EDC05E8C7179DCB360AB57D1
+6ABCD200A4B4AD56825DC345984D9A3DE11CDA5E9EC1E5006EE4181E4EFE0846
+67D8C27BEE8F84A1E01947E945BBE988702DEB2240C4BED952E433E5305484E5
+71965D3DE95C4115FF78CE9EC18E323C599727C8B93CDFBCD1CCA780DB8C81ED
+C4B5E596E1603624308972FFAE9A57B0EDB51FDDB6E23EDE2946F61BEB241345
+2A192D8CAD53E823D687F9C64A70A4B4B703291FA6317C051DC6A44BCCE0288E
+3839D726A8F2E39BFF429865E95C726E808E02CD06F36C1CC9AC77999F8E28BF
+CE9D74B699CA982479E9D0DD98EAB24D29C981EF0349721D6819549A39413801
+F80182D567EE316E2F0AB208068E15693E4C399A381BF9BBA625E597E6E109B8
+16F3A84C8EC92F2ADE288821092A421A8D3B907048FE947230810F0777EE2542
+29A3485223FEA079B359034F70464DAD2F0E420271A4E0CCF57A0ABBC20AB327
+0CA71B292126D395E0D083B19BEC6B48A9DE2BF470C3D01A8C3F52075BD4BE02
+A0C518355814478202FD4762EC542F8E7B9B1F7824F0554660CEB83E35635E1E
+DF0D03C94C903ECB36B4948ED98B6324E0094EB1DF70863142D4ED3A932D7346
+39D69F8F044B6084482D7748C27328AFD24A3A70B99D1F7D32CB984488672254
+28B6A9E9DCA2C9FF6A1B311D72413404B3CE5428BDB7FF3C36357D7975184F56
+FA6B32AD54C37D0AF7576663AB1397B80D4E998F0B4C4F6D90B483029EF2EDA9
+D4C4204C1546EFF3100629453EAE01918D09FE104E626ABA38646F17B6A94CE8
+116BC7A8D9C319434CA5B830859B4164DFADF1D7C3ECA5C78D8DEA930EA4AC3F
+59DBBF3148C91A2E807FB934E3439D4F67C6DBBA9972854E6E3688E1E0A34B74
+482217CFE031CD7B5DFEF727C3EF8DAEEEDA08F4C90289E62FB2AF2357EB2E45
+4BC547980FD479101FFEEE477AAC6268DD659E8DD9E244676FD3C6909713B71A
+323B211E571BE711D103FA23B5B9AF077D84E2D20FEE805E81D20C03501F0F17
+C3B081946CD0FD577F00E50B76CC37CFA97A61B89C25DD43911B28857284BEBB
+5BEC61FFE3A14C64BC5425A7A82326617F6F1FA4FEAE56071C9F559F91568179
+46369B394A5CE96FB7420FF8AB7C61CB83492FA5AE4A4B0799578594C9EA67E1
+E54498AA5CD6ABA34AD3417F04F5D8D664A7EB39D41E2D17643CAEBBCCD9C38C
+C5C9541641A09335EFBCE0D276A54253EFD68141807A66F1DFEB4BEA5889FFA3
+4D20BD52012206A9F8D3E0F6AFC03FDBBDF3E51506EC6336E249CEFB571AB84C
+BDF8E471E3795C04E38A5306BA6D450D72E50910D1AC385BB06CCD4B8E433A32
+5A4B7FACC976BB31FCAA1E62DB2C4FE06DDDE7367930E336B49F47DAD91C8735
+9A35D80CA2E117E86B52E41E9278046ED923454989E48610ACB3B1663F197117
+52659A9D7BFA561C7ACE0771794FC778675F83C5EDCB132AF124C7E6540A140B
+E0A268836C73A3C746DC964E482E63C56C0D396515283970FBFF182F9F684FE2
+655FD8F5D057D22246DDC3FD11B77552DB4D90ADBAB77BBB1FB1592129DE0AEC
+F822D7D36E52BCDABBD560B403A5C56C5E1BE789C3AC049318C7FAC5E5861E42
+FD66C3C0F46361078D7E036281682BCE9BBF77983C93ECBBEBA9B359769CA442
+87FCA1B98F4EEC4935CC93B08AAADDF355C99816453587310F08C50B9BA3D107
+5388A1F3AED2AE32BEFADF0285DA90436D1D7EA85D7B9B6DF2AC4B778CFADFF6
+6EEE54D1A1C5DEE3CCA7EFF57A7C2931933CEED90CA26DAAB45E4388EC4DC366
+B9E88518D6CF094861D2A59282044CC06E63EFB390A6DF4BA5EAC7CE39E1EE03
+3D84099F5BE96612789AF3EDED07266EF10A0FC23EA1EA97040B6BAA63138B1A
+A9CB8F5DED781260962D7618EDB200C3ED976033E8967A8CC676E9C11F74BE34
+343A7ECE7EE97E8F76F7E95517A6D6163527406EF5A669535CB2BF4031F29046
+BB2D0FFFB47A576F5EAB1D00A582965C56F28C00B3BB7BE2CC8D8391F789070D
+775EB775437F0CD53DA840BB3575104B63E4B0BF14E3F14B320EDEF65FD4CAF5
+8596DA491BBCF3153DED3B718F833D106432DF8DB8B8E6B34D5308C9010A5DD0
+7E0E53260BB84BAB3EA748E8D72F75901604F80F4416920D69B4B983DCDB72C5
+E9928F01A4A85954FD74578AE336C782CDF81D1EB7EBCEBFBAE7ED8AB4862584
+397928F502D65139CCD582CF0723C5262EE54B9D2B8C39614652A8A90E1C3B65
+7D26B99DA298FE4B9A7E98848F619C9BB4FF9FD215B72F99506F06355B332689
+37D80AFD9F9ACD8172CDC51FCD3A759ACA0F7D4EBB07840840EE42C2D5B8B257
+2C6DB3A7657B75F2F0B9730A20112745703E2D0FE709436CA6A5F36F59E64D9E
+37C0A23D6D289E1AC1DA273872F5FC5C3DA2B127F078A4D7AB3FD7E124455817
+DDC796D54EF26A1FBFD539D3A21B86DD4477DA49213259ABB3FF241424F2BE5F
+89151E02FF87E0BEE26E85C0E518D8BE7CC9214B8E9A9EA1DBB49C6C212CCF08
+90C0F23E9858947EE344062EBD9C574979087439975EAD4E85CD7BFAD3C91CF1
+EFF577843AF1427D06CB2F3BB519ED1591974218C43F0D2038665F9E2E3960B7
+FE68CD3CB2DB6B36C7997C6B21EC11CF1DE049541001FFF26D14C255E3AE862C
+5A5701292FD2FB3D04523D6E2F3547923BB117718DFB6E6520F0D0B5450C695B
+8C9242CC8671B7284CB2E1E9EB097A3DB1B4D5E8EEB93B4DC7E38C0A10474665
+54DDCBAF079B92EA494F6FA75A84C5AAFE280284D0823D7C22249A21044BB0E6
+4062074ECD17B62E03EDF4945A294BFEFB51F5FD870D9D7230FC91B83C1D85A8
+86CDDF326FC90E04362145D6E8630C50594484FB829DA18F5C078F2EE67D2F2B
+08DFF39AE2E8C9741FA989AE494C7166F122D2C5F71B97C973B7CE8500E9F87E
+D59C30F2E99CC4D34713DAB680598F41955FBDC26A14CF1E73D6BD6B9AAC8D3B
+B998F2D0D647356CD236DEAD6561389ED3A6746221B0CF15D6648412B35A6B54
+6A0EF5BBB34AA376D9BAF025BFC650C1B74333CE85413D0EBB2F4D082A26A5BC
+3C0A25D2B12CB159F140E00E262F1CFECCB2C802FF94CD34DA0CE9B4B3830FB1
+DA85B9B670D5169928990A2E9CC869891CA2FFAD9774E6B92549644DAA5FE00C
+A5BE4F5FF91A0B6D2FD8F96121D766391EC4ED3E73DADD476B7DAE1A50AFCD98
+DB7E27E44D30416088D9BC07D4661D9ECEC0806830ABF14CE55AA3CA2DF66E8E
+748B8ED46466F1EEB072AC0674FE6FED231E0DDA59ED7C42BC05EF00E176050A
+C4834D893DE42474EA20DB1E25059E84BD137EF65A02CC295B0FFDE4CDE95879
+0FE88BDF2519ABAE7F8CC3E6386ED35E04A14F1E3861922645E3A3F43B48A5AA
+1999A5EFE192515FCC625C829FF5A7B337AA422F5E920545F9BB269C869A821D
+6C4C26DD2AE746EF0F0B4C1E7E9871ADB5270E1CA9BE28225F7A0370D4C52422
+E25263EE101C4EC1C7811B05AD42F364844A56BB91EE72FC8ED53CC6954D2BD6
+F945D739BE4C61E36143CE890FC0CBF2F610018D678ECF7CEAB18FF5A0E48F76
+FDE2463D40A99380D679B3B76D39C664F4992D23E5988B0D1AF33DFB04894016
+E852EFD1EFFE586153C0F31ADBDBDE3F73FB49C5EE64D0D02E1504248FAFAC3D
+903FD44679BB09C30288139B41B1E90A10139CA3172677250B16535A1F3E5E4B
+6F4264DE58896E66051FC677030A121C5A285C47B6129CB5A3998830CE070D21
+2F093FC1B44089F603A21F45F60960F134A47226874C737EF6C085634B0A4A66
+139420501351F737A73F39D960EC38420BE46E5B09D298E7C16B8E32F01507D4
+0141FC52DA1DE718D634AD9C8B00E46EEEF84356759324D2B9A3473C5DA38DE9
+E30182B87F91B6A7F7BACF29A93B44C879CCDEDB063F9D2E51E0F1FC9F018FE1
+2433D85AF24B55DE3A61C4D0A2DA4FDE933F5F6FDF17E9FA9932BFC46E2D71F6
+585EEF5B2E4E89E797A24B799D7F064DD1A817A53677FC9EB8CC3E7F93FE50E8
+D50E3191052943FD6C98B573BDD1F6D70349E1F8011599E3F8FDF1D6E80A710E
+51E434E85801617C6FD8ACCF1B77B4BFCCDD35CB4C0367F4EB4D8D9DE8284D5E
+B4F43E2F8320C2C5A9AE90ECBA7E65D377E91DB69FEF27069235366AD3E126C3
+A73CE97F4C90BA00D206FA012C327FD69EE59AF4470A315B1799CDC0539BF90E
+512C8FC3BEFE4D1B01D969EA9E3FEF976CD6E0FA4C9ECEC955B265CFD58AB8E5
+F7371E479279EE14B689269205C5B506940606CF3E24A1E7EFF3CA96ED30AD6D
+E243DE57690C3D69A401AB3315FA49E4BF4ACD4DD1CA39272533E82EFDD508E5
+1C2CD286CCC5DE1202C7C7F654521750632EB637F918667E2233A43DF75239EB
+F28F3129EB5DEE2FC5BFC331FF709B0FE9B327CBBCE98BCA2C861C6547E50407
+1218CEBE6EB5F9BABA4F2E11BCC6FB553A544A567B459E06375102C69F8018DF
+BA6A227CFB13E2D74E6A521E01B74F2963E9A0A1C9FD87A88EE6356E3BFABF55
+BABC751D2BF85E6712E8EF57914920775906662E4BA68FFA21AD422D34E15578
+43CA0568B431101A1194F8AB1EF25E886BFCDFC10F4A5EBD9530816548BC298E
+AE4A0B6B52B8B59C644C409B4191B6F4203F52314F2675F02AEB65A72C66E92A
+2AC703E15D8D381522C0AC30C165B822A9B8D18CAECC094EDE020756018DCF51
+D0701B507519C4270B70D8CE94B436F640C15872F9B5B77892AA3D110E4D6A65
+8F0815C61A5127BA25815378683F46E69E54A391A8675977E7DF9C2D4E6FA991
+9F029E50CC2F266B31EE9F9F24452D5838905F330CB7E416B8AF836C5AC26AB8
+BE2ECC6EA4BDAA08C30995709E225C21D35DB6369167602CBFA8DB2697635925
+969002CD1BEE745DA2E56C17EF3F0C05E3847147F86963C37A221C8827195A8A
+3D38993E4939AC915BFD9A212F5FF3F826F742B952018986F9FBDDB69C3AC65A
+845F7F33C55D4BE60A1817EBBCA7E1538E8087E1BD5C083A320D52953BE65F31
+E8339C612A510B59CE48D2EF7061560C4AD258E7DC59694493E3AC878246F37D
+6DE89253EBC8830C6B209E818213C4AC4CF1F391AD91D57BE76FB0E2924A1407
+E4A949C905E44F54EAED6419F13D59942C8079336A172D4758BEB5D3E786FB93
+3CBE4FD2EB53E4E1DAC34E821EB30FD44BC6CB4298242C38F848FC23AEDC9733
+52BE6F32E31E25F18301370F8936810B0566B664B042C7AE0D78ACF0A87E5BF6
+F9B66E358168B2CEA30DCD940074F3ADB793CDB136161FE2522905E87B8E463F
+95D4DAB7E14A3DF7BCCE8141C5A08FCFA2BCE9F2D1B05A7642E75877EB840149
+AAB007CD239AE47AD115929427717F219B0A8907F0EC79ADE1B901DAEE87A2F8
+39361DAB43DFFF69650F601B24061A9353CFD619FF9626F63275FD09A5B13BB4
+8B3379EC4D147C41197E8387FC04DA7BE409524CEF74EA91DC066808A7FD0EF3
+957A44E2503EDA67B1C61827479486134E922E560A673BF314D601C66003CD07
+55569085AFC8428389A140EB976CCFB8F29E27587E46C413ABE2EFB51AF5913F
+53EEB74063162E0BA1E24CEDCA320377D3E11BD374F0B44E132A5C35835B6E2C
+D32948EF9DC7931D104C1385709DA882DED6458319F21C2329938396BC074106
+CB9CFB9E0A915F8DBC8435F386917AC87A2BA45D857EC30ECA66FB4044F5439E
+CDD556B82A0E43418D179AD883C85AC276E1190CEC242E3E1D86E725ADC39E46
+BB6C47FE9E17E29F8EA81E870302A00D91434F3B7A05F243176E6EF1082541A1
+B9052191EE5C2B8E94A2E02DB65FC769653CA8D1C07A13CB853544AEC7FC35C5
+218DE3128AA31952DCE19C55C23FD69BCEA2C661F57B11B8F9E86BFA718D1521
+3346E78C701A5E51923D6D937E62FDE3669B214D240538F069A100A542720A86
+31DE88116DE775F7ACC2A49EA6C02A24408271A846990669F2AF60AFAB4C16F9
+7F4E88E917F0FFDCE68F22998AC0AF2A60A73258C3A4BBC42A2F918123128195
+196D0E150D79AC3CF4628503D1F3FC528265ED8324E56849A47B3B07C29940B9
+1BC270071E221D355EA51E9942D3BD7F99816304FFFC8F5B036C953B38759341
+ED5D7B9C8E6B70C409DD8362FD291201CC385E4A98D73E8518A4C0E544152563
+82032FBD2FCB6E403D34B85ED4053A8CB619BDD4DE001F4C3007B1F317579651
+E6D6662189CC2D95AB85D7473F65C5D7B4AC63B0FE928F3400035D5A9D443D0D
+F3532B99F3AC26CB25EA3CD64C341159061E02EFBC7C033C05CD919BBD827A6A
+BFCF3BD739E32E7FE909AEE068D50FAC33605FFF98C7D0115FB860178FD03DB9
+7985B78E0AC21F2EA065FA841F5928FB85163B2E2D8F850DC7EE313912C45C28
+2783F6762C67882EFEDDC7E7567F91C16B16FD8D5A1ABF35B5586307701B91AD
+54984598F2AD46FEE3D68A2731BEAA754C8E730FE0E84952EF77930E4118F8D7
+2F3AD7552C48C6D71102367AF3DD19DD76FA71928B63D7918C3DEB88840FEB80
+D288565525B144453F03FD08340E2DD4777484B552E241EB0180BF47E9A19BCD
+086D89AC4DC263E273CB0F1D2E2082E023038DA303AB252AA63564D26ED8721F
+8EA7AB22FEE60F04C671961BD11F2080F30456DFBBC89894FF05BC9517EB869B
+40A4E58290546539BFDB4BDBB450AA7A70D019BC5A39236EFEA6F93A9FBCB8C9
+7EC6DC89C5F27EF258F0D533FE882202FB786D0CE1A9D7D0CD18CEC7826291BF
+1D3DF573690386F2ADABAEEA8E83960631A33AA07BB7B4970477C46E92D30D75
+6E9F27887A8D1CE84F20F88DB678A0D65A53FCC7638BC932CBB2715639B5786C
+3E4C88CCFE8F7D758EB497C82FB73635E828F165B2BA010AF65D973D0FF3CBD4
+71CCEC76F7E415FE5C72FDF6E2D511B5105874E9B69AD641302FD432DAFC4D80
+6B6CD4D1D5B658D4A984B34A2666ED8A74B8A070D33AD7A0E411C644BBD42FFE
+AA7FE68F9E5EEA0521867422FD6BE49B18BF8AC265E40049F851DBEA997C34DF
+3CA77697F5D48FE22C64C303D089E0B928AC2712EDD68A0EDC595FAF83B5D4E0
+28EFCAFA72269A4FB0CCAEBFECEDCE66AC7D1FEB9DBA1FC28C33DB8B89D5CF97
+932939B64B63070D7C293EF846EB7DE76B5F06FF4DB59278DA0F1111FF97FD5D
+25291C63D01506FB143DD9677CB27DD0364FB1D756AADB0D6DF4816B0B1118F6
+340C38E4FBCC4C393F928D47585ECEEF5A7F8A15FBBE393029B12DE7E9E4D781
+71AC2DFC33FD7D59FD80DC1A634C5D99A068803C674B94D56D1520BD4B21FFEF
+E020A7B28948FC4534240839D1C825B4E6C4C0844F057A38EE984B7E5B9AD8BA
+533B9492E64A43E7A04EEE064DA56DA3E08747D5705F44F7156AD5C65653164A
+82150DE6717C614AE1F722D571745119BCDF5B8F40EBE4B73D8CA0A567EC9991
+9DEE71B60A72734E0E19C41457BC2CBF08FBA1B4E045DB90FC51E874B64D3ED7
+FB7487F36D12E8D3D95FE7D078976AD534AB074FFE6BC8279006DAB8CA55DBC7
+89A13800F9DAC874BC74E1C6A6E3A0318AC1656DA73FCC4F5A8727DC1A0F9595
+5EC9B02BC987B9C37CDCB45F921306EA22788C3930E3BD2C5E91C9FA8FCB2F52
+30BE9FDA1E9F58620F5D95AF91C389A6ACA28BDEE8BEFEB80DF279D17269CCD0
+279CD36DB612D1D0DB9F3B398C04A1D39591F3660486759C2C2B9EB9393BA61A
+81B2DD33CEEF70E02173165D6C15FD36D3F40B5D7244F29D3C57415F60F19698
+4BB27B6B6DA60E7BDA42F2E66AAA8E40FBF06465B80B4AE49CF3607C79472706
+C29322ACCD0D0151F3D279ADD31AD7FFE9D694169DAA60CE6A67642202BCDCDA
+6E29C8BD1D9705034FC1680ED7D7F44621EB918EB0F3233C0AF28372ECBBA672
+059017C88511FBF0EA1F3B7DD84411D019D17A915EE05E68D79DFC4F03DB59A5
+ECB39748A437A5882EBFC1574027684145EE9264D62757CF038C0AC868A13319
+EE14856DEE3979D82F249869C7A505A4B7AAD1BD0599CF398A32AFF95D3B88AA
+12974DFA24CEF4D673E9BC4B9FB36398CA44F2B9FF23AA192D56E35056C2177A
+ED4A6B1660520A05C01651D10A37748E1483DBB6FE13FD3EEBC1FAA34349AD82
+06111CAE95F2013F111D8FE902B996C77A1BE211C2B6F9BC4DF73FB024B4D2E1
+CDE9A94BFA9727D95619B30F332C018B528A8F292A142BD5CFB53AF214E36C08
+E986347EFFCC3C3C885857D04A85E2514063067F3141BD86B3452A1A2B495372
+EAE088FC784DBCA46CC744D9947BC5A8BF354F2C630BECA351DE6A2D47B30F80
+DDA9ADA37E50B1816F739DB303627C79CE5DFAC2E94A9CF79957C0CA9B8566BD
+892431AE4F23AF6056C7D8F184818C9D4A9E57FB1CEA8D74CCCBD38E5D7E1BC2
+4551ECC268BDCDA07E675C206B2DCC7E5C7DAE865A4363D4122848B46F198507
+7E166303E4F30C50F0061F6EF316AC7EC5FF61662F088696E1795D75591E6CB7
+0ED973CED00B0D058E9622043AF118ABE8C2B757BA3A1A4D5CE2E6C06A2EB582
+B99ECB6C765811568EC35E38B81523CCBFF8327E2CEDBE765C18A70B9E054453
+1EA6E3E33B9975A49873F3E1CD0438BB53F056254E7051938D08A8173AB22AB0
+9B42C13A84F330DB43CAB3AB877A66C3F2A0295E9D8B6292EAB9546F02FABD59
+13A88D7CA669122B532C906C4081988C0BF556AF1991E1E4C9B2D6B3BC798B49
+A8A6943A242A0CDFC03B498F8F495661C0B32ADAA6C3CEA8C1CCD1E84BC3D174
+425A71F8A84A1F806489E2C926CF032CF157A1CFF0498121BB3A6DE04DC400EC
+3D98FC20A2A20C110DB95B335C4E1682515292A12C8415E323EBFA11551F2B7E
+ADBB7682960FA594CBE077E1EB10AA0158273659E8444562093B5A4C28A39E11
+362611D6907C0B34DC4C958DEF21D232E2D01DE7F9C649C45ED941A8108AE2D9
+775DDD587DDC8CA72A97C3E2E713DDECB09C09F67026284E674A5EF85DE699E5
+7258BF1AA40FE374FF2363847DD0953A20259C7C8191E0FE0A391FFD06DF9051
+3FA61907BA4F984D7089F1329579927E64A8076B5DC08BE067E449948BF1EC70
+03AED3DFBBE20C2B23CB113E3F4973DB01433A72E68335BCEDA94CFC7239E7CA
+55939B5EC58B380871397F1F13D7A640D8FC6924AD183ADAFC447CDB9A6CB63E
+BCCFE5C11E884CABA6261D5605CDA3EDE239737490593E4E4CBDADA0182C8362
+F27FDE36EFC56AC691376AEC6F3204D96AEE953AD141629A31132296FF60ED96
+0D54E153FFB5117845FCB6EA3B1D71FF4328CFA0972B2E3AD0B1430E33F6AF44
+5C12F58959EC611A449923604D95883E378D2DFDA4D2B2D43BC9B4F6D1538350
+D9FB3E6B5445C696D916E93A1FFEBF2C59973A523F8972BD8FD20E160AFEF38B
+E355E2FBDC98F0971A4D04298C47C6781201EA4F16964E6C441331193383C6BF
+B3109040BFEBFD7217655899FFBC57FFAC3778729924CF9C9504A25823CFEB22
+DE375E4AB029F99B91B037A1F956F4CB14E973D5847A3D1F15F400E54730E0AE
+C9C15DD4322AF9DDA0CE77074EBE320435B9D82BD73040E5150DF87AE690115C
+AEF26E5EB2612FD51F7761BD894DC139E79C7952BC319E364BC09825CADF4EDF
+129D8F7B6D819BE5BCD1C223DBCA46785DB5A2DBF04FB42D451691B25F647B1F
+3595EC997C631B70AE41317E8F80394B768C58E64CFC5F97417F88C9DDB98CAD
+9F53DEAF7B225CC6DA84B79B21C1C4810D90C1871EE2B20E0D0B4783F20EE925
+0E91C1C8671B97FA9E248E8F03B15EDE15F4BA072879E90AA8CAED46886DE114
+D19E0A1BE52572FDA487FC97405B4571CD2A48B6135D6EF8C22420AE5C7C9B89
+84D96A38FE9067CB6CBC1826C490675DCA6EBC3AFE89FFEDCBB7C83F92D03A32
+30C76AFAA57B6F0854E3F4327BF892F0C4985DBDF87E476DB2DD76A5A235A7E4
+E750171DB3F4C945A6ED52112B1FB818CC513DF536B7DE1C16685B03589B3D03
+DC7056DD140F39C2D21DF867BC23237F697B6CFC080D59239AB465FE688461F2
+EA9F0350D62450EF80C454227DB6D60CC4A1156A2C3983503EC4C020B8072F7D
+7D471D3D288CA1A1497EEFB7C826FA93CE0A31B1AE583E75E9A97E84CF0F39F5
+27694E23AD868C04440B4B3B674246712D89752365E32A6FD7DD024B6B2E9E09
+420420996C797C228DBBA33529D256565B4C479C9A4826943B79494816FE9AB1
+7A7CF2E0C3110142D10076589753AB96EB827399232E10EFCF1303500DAD9F9A
+050FF4D2A7BE882CEC519E57C44AB791605BBD1CF9EB46F588AE695026ADD366
+ABA1988D0F692BD8ADA131CD77A6A1E3B44536DC67A00E6FAD10A2807F3B4A76
+7AE8F7C5CE76A10958CE05FEE5A6B9DF29540306704239A72166F38FB34ABD12
+189B5395FAC0CFBB0B9B743486E0A3E36103A60DA0CC52D78D3A6E646F04BB5D
+533B1371C2C7BFEDB46DCDA8E7CF7A00FC29C1BA4F0554FCD1701E0FB3614C8C
+E63A351C080E03B7779FF122014A34B32EE0D4557F0C3AB0EDB23EB6ED0179DE
+34B1440C36BA2B40CB06D26DEDE8C2EF827E10BAFDB6800B60963FC5509333D4
+C6AEA8BDD3102EF19E1DCACE8402DB0E98343CBDDD6BCE24D2D9303BA4AD16B8
+EE56A24D80F464EB153987368F7E899F51FB67923DE8EE2F20D6D235E28D94B9
+8456BDEF0959A3B015462E79AB7B84ECF0299444CE4DEB3C8EE7E2BD23CA59BE
+49E6E2C27C0E787376FB5F9524441F803ED572ED7A1321E3C775D8890EFB4A6F
+A2AAD2B92BAAF651D09E1C7B3059AAB87EA01E1EA8CD7206186202B9115B13E6
+7995708F70E72A38BB9FBC9BAF38077D3AAB047A7B469BDC8CBC1D2DF9AA8492
+74D52FF2AF461CF685C751EC27E643EE8206CFAA38B9EE236E051C1847D58D33
+E2801A3F1DA3205E8F383832356366C6D83A22ED1051FB93AA1944A220FA05D1
+4D5FB1A3D14781160712140F698CB99C7EC5E4EA8F3C8DA526A7F92BACC1C67D
+E04F1A5B080D43B0B8589FE343656B8B84E676ABDC34FD93E24F6D1A0EE4685F
+DE701BFE614C49EE893F9E2D7DA3F6E3110C55324A3858E9406D1F098D53D65C
+C5CFD7A5B8FAD2EEA008188F3CDCB6A3029FCE3E1FB6B7363E610DE04FF30604
+6262C8B4EF036C5BCC2FA76C09DC2106411E40E8382671BEAD16EC56C6EB5A5B
+FF2650A38302C5E0A9E5B0456659225818878FD550DEA6D1C8704C6020D2A9A2
+9728DAC36B72ACF23991C122E9EA0E52DBBD639431A0C4375225D16C7D1C226A
+B09C2CD2A6FE67209668B9B876D777B86F68C3AE872EFECD1730456F168E48D7
+23E7A26B783AFA95962E94AEDB1B158DC3DC3A6DA5C17BEA6F42C7D4D5A33206
+32A767AC088B9BE230BF67353507449272A35F18937656529A7D701C5D6ED11A
+30391309A4FCCD5E7530BFDB769C2F3FBA44C27FF56FFC8BE6BCB316DBBD1B69
+85A75C6726A9C0A63AAC84036265EB952556A0610C2832FD04636488B89E2C02
+528754DA559FBF275565644798D4F11E33892AFA540C1F9573DB2DEC7B2832A0
+A538E9903EC4A97AE8ECE9F42B72EEC9B4B5560D1BA7248993C46DA23A3929C0
+EB18C32E4ADB24350F10F1B703A93BAE3B82D7CB66E0FE460DFE1C97FA5FB799
+74E827C03981CB1175E54682465C5946442B9C2ED1E5AE3430D7E95680D69315
+0603E5B2994FA3666DDB44CD35E5C8116CF2F5DDA46C61BD309353D3D89BF459
+7DEDC647A51267BFF24F029F7C34F4B82B9AA619B1B23A678E90003B710D801D
+FD60E1ED36
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+cleartomark
+{restore}if
+%%EndFont
+%%BeginFont: CMTT12
+%!PS-AdobeFont-1.0: CMTT12 003.002
+%%Title: CMTT12
+%Version: 003.002
+%%CreationDate: Mon Jul 13 16:17:00 2009
+%%Creator: David M. Jones
+%Copyright: Copyright (c) 1997, 2009 American Mathematical Society
+%Copyright: (<http://www.ams.org>), with Reserved Font Name CMTT12.
+% This Font Software is licensed under the SIL Open Font License, Version 1.1.
+% This license is in the accompanying file OFL.txt, and is also
+% available with a FAQ at: http://scripts.sil.org/OFL.
+%%EndComments
+FontDirectory/CMTT12 known{/CMTT12 findfont dup/UniqueID known{dup
+/UniqueID get 5000833 eq exch/FontType get 1 eq and}{pop false}ifelse
+{save true}{false}ifelse}{false}ifelse
+11 dict begin
+/FontType 1 def
+/FontMatrix [0.001 0 0 0.001 0 0 ]readonly def
+/FontName /CMTT12 def
+/FontBBox {-1 -234 524 695 }readonly def
+/UniqueID 5000833 def
+/PaintType 0 def
+/FontInfo 9 dict dup begin
+/version (003.002) readonly def
+/Notice (Copyright \050c\051 1997, 2009 American Mathematical Society \050<http://www.ams.org>\051, with Reserved Font Name CMTT12.) readonly def
+/FullName (CMTT12) readonly def
+/FamilyName (Computer Modern) readonly def
+/Weight (Medium) readonly def
+/ItalicAngle 0 def
+/isFixedPitch true def
+/UnderlinePosition -100 def
+/UnderlineThickness 50 def
+end readonly def
+/Encoding 256 array
+0 1 255 {1 index exch /.notdef put} for
+dup 46 /period put
+dup 97 /a put
+dup 107 /k put
+dup 115 /s put
+dup 116 /t put
+dup 121 /y put
+readonly def
+currentdict end
+currentfile eexec
+D9D66F633B846AB284BCF8B0411B772DE5CE32340DC6F28AF40857E4451976E7
+5182433CF9F333A38BD841C0D4E68BF9E012EB32A8FFB76B5816306B5EDF7C99
+8B3A16D9B4BC056662E32C7CD0123DFAEB734C7532E64BBFBF5A60336E646716
+EFB852C877F440D329172C71F1E5D59CE9473C26B8AEF7AD68EF0727B6EC2E0C
+02CE8D8B07183838330C0284BD419CBDAE42B141D3D4BE492473F240CEED931D
+46E9F999C5CB3235E2C6DAAA2C0169E1991BEAEA0D704BF49CEA3E98E8C2361A
+4B60D020D325E4C2450F3BCF59223103D20DB6943DE1B57D05DA0555DF933BB0
+7B42D264831116C06C79335D519461E7B0E870A6715E3D74A08D1BCF86E3BCC3
+A43FC6BAD1C68BD9D4AFCC06D845FD1F1E70D7A47F0BBCAECE8396E04591E5E3
+4797F646AFEEB7DB548183F0B74C9BB6BA2AA04E7F5950EC8AE97C741D4B2C5C
+A8E7A8DF5A36A30B5A7592D95E1DBC63EF33C92FE459792CED29E2B8B6919251
+75EF62089BD7D44A6E1F9B62EC802FBE62B821DA1C3B2DDED45D27964AD29ED0
+9FB7868F3A8FEADA87A8E42D52C1EB7229D7C79B60BDA263F2BDB025AE14A507
+098FA274206BACFB4A0A7257D5998EE8F0FDCA79CB61DD1FC59DADD11E16BF02
+ECDFD706CDA1E72054D4EB55AF7BA9F19955886BC0BD6E0E3FE3769C94AF3581
+DFB2BCD67FE2892AF07E858A01280194D8DD7332B3D0A585C87FAB056C2EAA9B
+5AD48D1C9F00CEF8EF0D1408DBE1C03D04B231D7B8D5D998FE0CD7EE19828EF2
+F988EBF6DDBFEE00F04A4A1F4E1A55DED7EF3AACEAB5005F1962C724A017C914
+2936E2E0DF26A55ACD7DD836C6035CBF07981C1BCE3615064F0540A1034C69B4
+E3908E76EF8925D486DF0B4A8E1F02D8AA99585A7C31847AB9382F83880C1C21
+C496AB2DF8E7BD4643B28B704B5F6B53429D3EE940A79135F5BF0396E5B46F23
+42AF406C26D12BEA7A41F332AEB75DF43C15334CF4651A99F602036946B1B91D
+4BB0D2E51C20216D892C8173241AC8FD15A37C3CDD8AB4FB67D8565AFA61C068
+95E3D6E46D7C09BBD09428207D506AD43C693F3C3D787F6A5C39084AE45E81C9
+830900DB50DAD10A17E118FB5E9680B5194716A788FF7514A1167DD1A305FBE4
+8A4DAE2CD7284E912B80B491E822EE84CEC0ED22BEB736389C419C5FBDB9140E
+99A33F94722F0A1B4D56F2D280B077B8A35183620992F3ED4DAA665F1C31F622
+A6C3728DA48021B70DB89EC4B946965AF75BF6B1AC7A25C002DEEA0A7B58F0B3
+A71010CE8BC3CBC4698763770EDBD04EE2BBA631A61C5CC3289354D143CD1A9E
+DCD1722EA62EF9FE7CF81EE3DA486A5876941BD639BCBB37778D1CF1806B1DE0
+81D2C9B995BF1EE3842EF993F08C5B690EDF00F3FE36C9CAA4C56E41279ACDCC
+BFC37A265AF506B75CB8F498914E17C88A931F7642D8C77E55B9E967CD057C1A
+EB9E463700DEEBA3B41B3CA4DD5B1DEC9F09A663BA83AB1D578004557B946254
+14C4E20D63B967BE9C9E23AB6E54C9A00795DA195FF8A46B2C443B163FED648D
+F6B19E93C11914C2DC6D668F514F0A1B32478B8132A8D4C3B14FACB153A2615D
+C5F183315FEC08741B1D4FCE4C67CD9E29BA9802115EFAF4F5F0E6E57F28301A
+4B002AE8F44BA1B2E3C7343FC7E6C72759F123B6070D698BC43B6CCB451D7547
+7C2407FE1CAC67295BBC1A9A20DDD33108EA2B45BFB41B982971D9DF4ABD9638
+4AD2805F78D82A11E8DDD81DBB43878E3EF527DF3FC629635ECB8FCB0BEB7A10
+E9F47DEF9CD26E23E8FF4C8B8B2C2624355FC01E0209937ECD0E9B3451CCC4D0
+BA7BD9017AF2E9228B1B00BC8AE7D4D365C9989296A7C9974F03BD7AF5F64775
+FBAA3AB9C23B01CE46D85C643A48BE765AC368995B9A8F23CB08E81328343F56
+777C75E604516713AF21E28F442925541E1D8D09B659445C28753D230E776F3A
+84993CC9AD0AAA13E8EE223DEF4B712271E646CE9103B434788BBB5AD093AC0B
+D5DFAC3A5BFAFE07714887938C01172F1239C8617D77071CCA9D3F7D7EAB52D8
+FC651CAC3076CC3D24063ED06459C6EF2FADEE7D7DB3D27AA8D147973E844C35
+B08CBB5A0F4277F0552ED1E83AF4D257894898F4223B36630B03056D38D9CB17
+FCD01E0636AA11AA3940EE04E7C44390C27307763F5B81093CFBB818F04DF9E2
+B397BD293A61E699C9A1CD0E21CCB9491808591CB7F0CBE016443B519D9F0D46
+BC12B921326C61BF37D232DA9F2FA46D2E820A3F0E38BCD552AD55B0ED25A678
+CE23E7B27EE72E6852013DB5BEF0CD5F1F11BD32175EBC122A31A24FC1EA77E0
+FF1FFC5EDD5B59DC35B51EA52DB3EA8B40C16D436A7926EC0F9BC75C92487680
+2831B7A69124A203CD9CE93372FA08F280DDC7FDA3D0B5C1CFAB6863E857CCA0
+7958D04FB03E3F37E01265DDD257A0F7562B70AF83EDD3B00CD9DAA07DD53367
+C7970B80B36D4671D725F2C4CEF4F47EC2254ED32516A2DEC84AAFBD925F2712
+791AFCF83753984AEC128905FC6F896F09DF363F1BB6418A945CA03C5810F5A5
+26E483A971D9883FD254928FAD300F7BF8BD8369EFCB27D9141BF0A64F002D85
+BAC179D851B5927CE63706D708E8D460D8BE12278CB5DF45545E118E9166A83E
+81715BC1C267F8BB43658C69E4901480112299A473CC43AFC2BE532E7FED81E0
+A5BB869285799896D02F3D3F8B040EF9AB97063634736F0CDA77DF9CAFFC1144
+8BA30CF4D0A1259DEC6A071DFBA40CFCA7000687ABB03B393111918EECEE2847
+800D8EF62D733CB730481800BC625927F6C665E26BCAE17D20C690524D0D40B4
+8BB411D8A6A7906610202240E3C44D4C18D20A044C9CA59DCEC1157CAC635F8A
+76E62A1DECCB004F02435F1ADDBD0C0DA0B0A95B1210651FC1DB867D924858CB
+FD3E1C28C9E81F7BA9F450E7697B9C95236934B72ECF1E9614E2F337707CC5B2
+33C1318695924D8C890A21D43595D80E0276808C19E40C40479D1FC707F91897
+FD35AEF08EE51E8498200D648260A97793519B
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+cleartomark
+{restore}if
+%%EndFont
+%%BeginFont: CMR17
+%!PS-AdobeFont-1.0: CMR17 003.002
+%%Title: CMR17
+%Version: 003.002
+%%CreationDate: Mon Jul 13 16:17:00 2009
+%%Creator: David M. Jones
+%Copyright: Copyright (c) 1997, 2009 American Mathematical Society
+%Copyright: (<http://www.ams.org>), with Reserved Font Name CMR17.
+% This Font Software is licensed under the SIL Open Font License, Version 1.1.
+% This license is in the accompanying file OFL.txt, and is also
+% available with a FAQ at: http://scripts.sil.org/OFL.
+%%EndComments
+FontDirectory/CMR17 known{/CMR17 findfont dup/UniqueID known{dup
+/UniqueID get 5000795 eq exch/FontType get 1 eq and}{pop false}ifelse
+{save true}{false}ifelse}{false}ifelse
+11 dict begin
+/FontType 1 def
+/FontMatrix [0.001 0 0 0.001 0 0 ]readonly def
+/FontName /CMR17 def
+/FontBBox {-33 -250 945 749 }readonly def
+/UniqueID 5000795 def
+/PaintType 0 def
+/FontInfo 9 dict dup begin
+/version (003.002) readonly def
+/Notice (Copyright \050c\051 1997, 2009 American Mathematical Society \050<http://www.ams.org>\051, with Reserved Font Name CMR17.) readonly def
+/FullName (CMR17) readonly def
+/FamilyName (Computer Modern) readonly def
+/Weight (Medium) readonly def
+/ItalicAngle 0 def
+/isFixedPitch false def
+/UnderlinePosition -100 def
+/UnderlineThickness 50 def
+end readonly def
+/Encoding 256 array
+0 1 255 {1 index exch /.notdef put} for
+dup 45 /hyphen put
+dup 69 /E put
+dup 76 /L put
+dup 84 /T put
+dup 88 /X put
+dup 97 /a put
+dup 99 /c put
+dup 100 /d put
+dup 101 /e put
+dup 102 /f put
+dup 103 /g put
+dup 104 /h put
+dup 105 /i put
+dup 108 /l put
+dup 109 /m put
+dup 110 /n put
+dup 111 /o put
+dup 112 /p put
+dup 115 /s put
+dup 116 /t put
+dup 117 /u put
+dup 120 /x put
+readonly def
+currentdict end
+currentfile eexec
+D9D66F633B846AB284BCF8B0411B772DE5CE3DD325E55798292D7BD972BD75FA
+0E079529AF9C82DF72F64195C9C210DCE34528F540DA1FFD7BEBB9B40787BA93
+51BBFB7CFC5F9152D1E5BB0AD8D016C6CFA4EB41B3C51D091C2D5440E67CFD71
+7C56816B03B901BF4A25A07175380E50A213F877C44778B3C5AADBCC86D6E551
+E6AF364B0BFCAAD22D8D558C5C81A7D425A1629DD5182206742D1D082A12F078
+0FD4F5F6D3129FCFFF1F4A912B0A7DEC8D33A57B5AE0328EF9D57ADDAC543273
+C01924195A181D03F5054A93B71E5065F8D92FE23794D2DB9D6295729076BD8E
+CBC0F4C1BE246922D2482233846A96D867B66D9CF25A1DB661141D36B8506E61
+A022F9EF8BC1F2F674EDF1533E67A78CA29A612AA9268E113C5EB84DA56CEDFC
+D7A111403E6E2A8682DB04368889747E003A124395ECF0C7FC81218552EE7C6F
+60BCFB4120893528670D0E8A4117EA5676915E3591AE5652D003EEF67818A41A
+8882E102AEEEBECBD15DCF632ED246A6A58B6A7780DB6F1F9AE3FDAC8344585D
+E104F2BA2DF06D68945889A2A3B6C262FB53FC670BC5EB7C56887FBFB7AA7026
+84115872CFB0652C6BB330447AFF8F0F665EFD6A41D6DB6877B08052F402448F
+CB21C26BDC900636C99CA347B79AA73AFCDE9762A992CA3DDF7279E5C50F453F
+52098529850AFB1F501A442D6A02E0A2896F81C8AC735AF1E7EE47208B4CC944
+649DF6802EEE813F1456205C6126D7D0B1821AB62DD65468F3A30575E491623E
+0054E2E680E4402E1C8C538DA389B81603BE88D6DC287A076F92B224CD58A0AC
+44B8D490197341808DEF243660971F444A560C747BC6F52707ED42A99736ECCF
+EBCB694A561C3A70A319D204CD40D402FBF937A00BBCBE85DD26C9E3F91B7D10
+D85B9D314BC3AAD5A58B107F5F341BE2C53490924142566417D6BE03BB4977FA
+6635EA58DEB9508E40B9FFAC75FF44C683680CF242FE210519C9BF92483B0A54
+83F48341318BE16D2F8C988FE3DB2E7914581F579D5E323148A31E4ED03BC24B
+C990372DF5F3B0C5FA32EB2CA4FA0EA33316569133C87697BAA2292E685C26CC
+F8CD40A2366E60B47D47CC9D0FA29D2836011376A07F78BA7664DE96E775CF45
+9BC91559A063073A4C2FAAD0893C517C5C46A1425D07EDCC2B57162E3A45103E
+FF26A2D2F98B194256A4B052AAFCC08965A50EECD7B9E8F35AFDF7B6568B3983
+8030655E7C2BEC961A2F20539D617626E8454E3FE9EBD3EFCEF7F63498441DAE
+16CB509BF239FBBE25EFEF07A3E16C9C71EB8D9DCB8403916FB40FD7F4E1A52F
+72F2DFF94FD14D7D49FE775390C17C37C1BA0CAF35CF75D682B7833A83224158
+D54CE962CFBAFB1B2CA50B60CBEB1F8F58DDB2F5470C355ED9632342D9382AE4
+5D33BCA3A0A25EE9E5B39BE5370E7F20684C664EDB48E7973FEDAD9676F9EE8F
+701CD4D8CC9B9EBC06E8C86EB88AD56E15CEBB8E1930E8F711CB6E01D5D14967
+D7E6C1BDDDE2C4D00384EF4CB02877DECC27AD53FC981338977BA0CC0257CF7D
+B42E9BC91AF45D9722461EC3CD9DEAA8011FB855FE14B74BE0A102008EACA2B6
+0E287BB4F466FBFDD6E65A5262B9322F95E20DAB875A10A84572D982E6FC7ACA
+23C0C37E5EB47B8E69C07507B53CDD98CD1B6445E1699CF35B3DA3E0DC56BB76
+F997C40E2ECE47DBDDB707EB527055960113F2DABC87FD9EC7D0AB36B400CE33
+0D54D4F197B2830B43DF0AA802DFB2BF747A4C44B31FB708B2C8BBE1955A6A28
+379C91AA4CC065A50098AEC0B837E180B76801865A43C74859DF18FE1DA1483B
+C17843BF1C7E1B11A8C6D8BB8CDB1D552FE6A1FD0A696A8F7405F2320F8621EA
+17C1A32056C45A9ED35D2BD12D02D8B26489CAAEBF4EF33B66FF4BD9B46E4823
+6395831A8F3366EEA0D0EA88D612DEBF63DA7FAA24DA979ACC1A52544BCAA007
+6C39946BEA6076ACF45722B2B8E4D0823EA2D12B14A98367BB0433A21FBD9F94
+18DF298C56F67ABC9DB1868D431A854DBEDF8E1F49E359A545C75A7AA1FA4D5A
+50F1EE6B45FC68ABF65FFF257964E4E50D8B0C1FAF498DFC554073697C2F219D
+4A68DA9E873B270B9C56F0DDBC9927ADAF9203FD684DE615F68C24ACFFB44690
+89C0D5322049FA69E7FD00EFC9C9B2BD177B5B339907F81C31496662847BEC1E
+56B5DCDF4FE618970F4268F475B2EF7E0F28CC986DDF098E59DDAD818649CC35
+4080C0867A884B8177A6880F06F1E5CC130AB4243EF8DD8032FCF390765BAB1C
+1F0C9728EEE261A09F8C1D7ABC7A6B1550551BE2A7D19D45B656650DB00B3A5E
+B3E1186043E173BB4DD5EFFB379654F88146382AE3F7196F099BDCD6D245FB6B
+AA2FA9B6CFBC9F0CD52798DDF2F13874BDE5B124DFFE0DD93E24C9DAEAE4C3BB
+71A9A13AE2860F620B4EC789F95221015D9C510CB4AC775EF69DB9E32E59C896
+1AF82C9F0DCDB4812A37761859A3D3BA0CA57F244489C78065346FFA78F5F7C8
+0B2E8CBA9EE62FF5C27369D0BCD52857D40F1FB8F8A1441B83565A4150AB1945
+0B54D6E49F66389E43096269EF5CDD39526A288C0CB81E324E75D326EC9A182F
+2CD966368CE300B41873B08E17C3E6BB51804460D2562AF5A12339966F44CD09
+114C6809AF246B5BA6937631842CB9417781A58944B6BA4FCF961465C208957C
+81A662D560D0F81BD3CB53C06B6D979F04F6121CCFD5D52702CBF6C70C01EDBF
+2040AAB9CB144321E68C4010E0E98CCA2603EB55DD62E881DB621C37EA4108D1
+528ECC7A0121B57C6BB1E26F8AE7161ABA7E88256D2D6A8B7CDE2E730D137493
+3FF628EF6030DD2330D747FABBA03B44CF600418C245C388F33EC5559E7313BC
+4B530C4FC12530D38B27D6408548F25FC084DD0523B27D29D6518D3115AE7755
+37162CFD4CF528214466FE525B13782F9C3CD78F3D6C7423E63A134C0A371F15
+10F4ECE1D482C647B563D3D15586F80BD9DF7381BD53927825D5AEAF762E1CDC
+3BD184F345029A95B3AD4D1B66E79AB4F0809418C0CFD4D503457A190D02F134
+3F57FC04FF655AEEB783D6791E4EC300755861837D3D50649F6B7F60766211B3
+8148F8E575E28D6C2DE75B15E722ABFC6DAADAE53D89FD295352781DCC2CFF6D
+982F6DB778D6FCBF1B7BDCB53F3A23AE6EB499BBFA96E8BE04C3C8E5B660EF24
+01EB842DAEBE979F2C2DB72AAB4D21627063B1D3C6CD40944E4CB81655698FBA
+A343766CB22E392E5DAE01DB33A00918D6DAA07F2F38B336A3C5DF3708865E75
+0DE04D3AFBCA27A249E97377D5785B4E28EE0E93F7D353619C200DB967372ED2
+153BF8BE945474266EB2FD30F80042A11B7E3586DE4AB1FBD4A741D36DE583E9
+1CA25DA345520AA60634EC819E7EB493CDB128BBADEC3890F055455F060A1100
+D5A41D7B180027E08AD6EE7E393DB9F83799544404FE397F557773BE6A130541
+157C0EB37E036C94825B5090EF85F8B4E3DB72895D86687758C20EDEBD6D1079
+196E9949DC6ED0113571C70B150B37E446E319EC54D44CC0CF6A14760953DF4A
+D0E1F33A54D240E236AB63B35BA8E071D77776BE5B9312245F2C6E4FDB4312A0
+0D9CF723E7D9A3D8546C4739C00C301A89ABA60A02757AB1A0AC40B24CE6CF12
+5850485B11E16646D7150795EABAEB08364A53161111F46A7BC3423A0D3BEB69
+BF15726C1F8363914945DEEB29CB8766328318AF3B344FD6D77BBB92BD7FD161
+93356493D4D8252AD125708D47C124E44232FB2BF7DD75F87889496DCDB75D03
+F58A57D4122CFC194B75A9E9C4789C9A33C0435FB4ADA16AD4A6191928D1663D
+05FB8152C0AA176FBA4755205F8A66713404787070757D3721ED6E6D55A59DF0
+C92BA8F05EC7BE05D0A2E66DE85E75373483EA3BBEE0F0DFC7E2FA5FBAFAB118
+058D095AA71FDFC8AF37E5A98406B64E58BF476C6926725D7EF3C2346CE3F662
+1E5A4A18D966479A37070859014719456EA2C7F23E68E1AB2F25ED3A0C00A18C
+DD403506923BC983F89CCA125780DC76A411472E38173BC0DD4CDA7B43E13419
+B5AB0B9A35E77C58BBA12AA4F5C7EBF8A29996B059E4FAE6809565570442AEE5
+D56CBF4407E1CD9A4398B1F3ADFF023F64B230E3D29F526B62D964F5C8DF801F
+E94295AD85BD9E1C18E6327977260A871E921C0745CA06A263E335E344686E7D
+D6FE3ADB4EE0A7E462F3C00873C3E95D183CCEC71C0E5DC1D2FB310B28FC3611
+67C23DE336C374F72368F4973052B48E39969305791C986E6EE35D0350571860
+3A8ED849712CF21AEF444BA390644E8646CCA16559BA4642A5800827A0DDC453
+7CA0818BC47DF6348A5209A2F0A10CA39840CE6346E89CA0E842BE8692DEF25C
+4623A5A0E0B98708B9492E9F564324BB3872D6B953CA59E9F393C477E2AB85EC
+C557D333E88C111CF995FB79D9432DC94C2BDB3BFEE13C0D7D1BB920DAFA6158
+8548447AFC65CD5515D5021E0ED7D213B0C08C35BB424AA91885CA023D7AF767
+B83E619B15DFEF5588D2F0564296E14B5A6ACE03751E1016105C51BE76EA5ADB
+4167BAED2A8899031FD7BA05C410ADA25ADD94A787EED1A7AE133B0568B1DBA5
+44B41BE013782CFCA3D81E8E8210DD506ADFCE7DC7E792EFEF438221164A7D1B
+5E7089F476240C5F94988F081943F24DBF7CC3D1E58CB89E1C0C1624682CC3D8
+C95815ECC9183A4B3E353C7F920B7E64086E01672DAA7C8A81319BAA03C1FBB7
+8E5E84CC5BAE0E107754794C755B7AF00953504094E1A9DF357D51B578259613
+8D26F0BA26AAC459BBEEB90BCC98B865EDD26AA4DF533D6624EDAC762C446B6F
+CF9F86DD2D8989D4655775E662B93BF51805EE3CBA0AE2293D95F166E80973CC
+82C53042D0249C598B0821E9E7F218BA6114EEC86C158F277934F2651490B723
+7F0D0288560DA5BEBAFDDF243048E590871AD18B3B220EC56549004DF122AA03
+BAAD6971D790BC644369FDBEE74A324083CFA9496C2A333774F06E35299242BC
+F4B26578907CC5AD1893613F2B8622CFBB7B55810162EEBFAAEAB2A6D69CB72B
+D7859C73843E665125FF450631F32E64F13A6207F368103C7A7318DBAF2560D0
+F1CDD83C3E48CB30C62AF1E0896E1962C655D9ED98E1BB38477C1C60ECDB6B95
+067D3A638AD43EE886338F7AD2D2A574CE6FD2E21F6FCB4220EFEC85ABF8272A
+82081CE70E4390A74EC717F1DDD168F4A4A080A79EE2ECE0F98A96871DA4B52F
+78441601AF47763C2219F5A167604C32F478D498835EF3A6167936994F7C7139
+3019FF43C97E7978D3CDA641C1E391FEA572D308E759F28DDE2B40B5BC207A4B
+C5EB6A93EEE26782016F8B6534420BE4D790A2E1A65B6CDBE9468152230384FD
+14E9AE84418A44F94E6825DD7D77D0BB5486DE26A692B3DA96C81FA4440C5D44
+8E7F3CAA9B8DF38F87E09C4D78841F629F78F4E7CC8580CC44E59E5D9AE8B2DE
+C0682F793AE7AEC12A8AE688636197E8A08FEB70EFDB6203681A60223B9B0D39
+2DA656E5E99B82130D4BE38D7AFE18568DD30B0CC3C73C1E2914ACE11A65334D
+A9F18135E7B86157122CD221C33C62012FFB16D2D2F3473A53BE3E7B9FD4303F
+66ADF0B07155C7B9B002EA68C6AC7247EB3CE7D2670A60138049DAA964F86A05
+22983EDA7242E6BEEB90DF61C937399B2CE1061DF1E551CEED4A80D86C2D4649
+C9FF9A1F93E96773CD392478D5B70D5336A03A274E0A6EF44BE8CB2274324142
+706BC2E340DC944339D647961FD7BF29944503B4AFCDC69A706AA6B0F6AB2CB5
+D220A96ACC1EE5E7826F6F75F044224E5260D581AE761AD0C752A06AA03FD935
+FAD65C9EDD4E5505396E331D45DE88F0D1A4303D766ABE0702C17E2A7F53C0EA
+96A4DEC5A6B6186F5DBAAB05DD78E38AFE630465BEF0EC66ABA9C1C9232214A9
+795D105C33CF069F6BE20B179F4CC9F484AB63ED25C1212C457DF62CA0D56E20
+608572216F2D4C09010B03A8AA6D287C8F514BEEDC1C912552CC2489858BF4D3
+084882CE4F4B6FB9EE27C0168671E6DA154018ABEAD013C88E1D3EC918371251
+63D95BA0FE20212C20AD3F4DB614EE36B488A3F55D94C1EDFCA8E68E54A1EED4
+7DD168DCCF07C3DDB5E2B499DB5635C5C5056A7438120DB4839427D07F96AB8E
+F842E285243E40259F6DF029E27779CCF3D3BD7206B2C341045A5A4AABACC2A5
+91C6830FE05ACDCFDE99046F16F2AC183426ACA4A89FE5F09B7EB2F811BB5FB5
+AF073BDA2886070B2327D582DCBA66B47E8948C3BE05E837BE4B81402A583403
+74FF9E938F0E9DC3B1CB81B93DFD4070F9EBAED40BA570DE8F9A5C2C0A097311
+22A6065139A6580E332473E9410D9F4C734794F79E41D0D437CEC7381919DF6F
+A24B170E2BC97A6396A4E3AC3D844AD6E2B8FCE1C6AE97DFC5319F49130C3D6F
+AF2541EB2384D5D4CCBEB976846EF8C2165DBF706112BDDDEC9A57D157F5996D
+95229FD5C71B885D16B177BAB06B9DF5740A45C2A005778EE879193290419C0A
+A4A339029E37E685B8A05B111DDF94AC19B1D85C8E6026E57E3D3B373C08557A
+F96E6FE3916695ADFC1F0BF5D558565F42A71C61ACFEFC9026424397F0646642
+7EDAA05794BCCD164A645860B57EAD53CB6899B18C6E9496EA4DAB0A0C272639
+DEBC4FCBA94B3BF123F7771F602E7667C8F56E12429669F2219C7D8E294BE07B
+71E88EA62F5616CAAB7C0198E6FF12A348E36B306FE2684A401399431B6A84CF
+B46EE4BAA0F4099E65E9AF3B70274EDD6B6524F4FA38C23F9CD5273EEDC8C6C3
+E7312B6E0497C05AD3F3C246638F01387CC11DBCBD287ACF54D8E24759F51415
+35ED64132EF4158F54AB9F4D567482B3057880490F805822F71E7E2C52F7BC38
+8B1F803AC3731064B90E5E97AA3351D17E73DC2FE526CD6C91158636E395867D
+C1150FD3BD12493FFFB813AF0D08C8ED0B7418A2CF90BD5B783364358605D075
+5DEA95A9299C0654EFB28E2FE8A41358A0DD124D0314A27558E42ED5F2D74BB7
+056DE04D2CF13B9B804A3CBBA29BC155A3F18B8B48283194C33CE8291677E1EF
+0721138F8E0409D49BB99F217607586D2DF00C29A25536E21924B4CF6702CF85
+C02DFBFD2AA4DE3DBED1D2C02E21052A8D10F96629D0D18154923638FE0C48BD
+E2DEAF11663E20717EA77A5453686AAA39D6FF7919AF09B1AD956FDBF734F49E
+262F3076F62E77BD45122B55A5913902D9F91C4246FC235BA9C0FA4A96994291
+830638949BED423387DA2D455A3C9122484EFF27F5367D1D3DD27D207D973815
+965E1CFF36F43C653ED406F65348671D9FFAF55BA3FC266D438AF473181B7801
+164EA3F04FEC870743195B3F467DE36B3719BAD9BF15A18637A314C887D46673
+445BA3C212749B0A33136FEE9FE2C9A13D62E7ACC96378D257FBE0EB06AD4D4E
+D41976AB92AC720DFD33B0677062C32E6F5C992A0324FD26E984B5341A58C190
+D20EC3F1144697D514D9157340A6C9F82E62AD8CFDEE59F6FF86C6250CE33D6B
+BB82DDB4F65BEFC6F6D0E4044F7BF307CC346E2FFD191846E3CA288C6F91CB71
+5FDE855FEC5E38816CC635C470BF15263A10A409F0BC4877F7E6D4C223E3564E
+E7BB5B320AAA5AAF4F32528F7413BFB97C70FF5E6843E1FE501472129BC9758D
+7531BE576C75840CBC4CD3E6D9E5FF52559B68DE6E7827128BB2ED1BAD43F36E
+A0CB68C1A147A7093EB02062AC5492DB7EEE08B1BDB187E15339A66269E459BC
+67495937B4317AF66A498923322B087ECF47B601C26E253D223A784DB2D204FD
+0668BD403A73723848018B7C86B627B9AE0BD9038F567CD5F670CAFC5C4D86FC
+ECA211B713ACF8C1370191161CBB6C2592E8B9DBF3471133F2D9A60F15D72F9C
+5E5539D59A6A7E124D9A38A6FF6EB7C71990716F88E1888295584F17D49144B2
+B57183FE1C6ED5D71A48D20EA8C18DB6CA7D3C3A6403B9A767D805747C0D25BF
+7F2F88CEE69141F72141640FD36EDB5886A78D3A1E0FA4DD0E213082C3E6822B
+F981212D179C25CD0570748C3BBE642CCF1F43F5226B9C2EEA6B966628B185F7
+11441471ED972022B4D84CF007C1D9B1D12804610E4F730DAF2F2D5AB767C320
+C62543E261EDE128761D164A9843955BBFEC7213307B78378CD1914FD7D79D14
+947572CB28073B7AA530ADC51270B03CEB7FD7ADB4D72671135435609A235501
+EA55EDE2B2B915DCA5D50A7E3512B325253FEEE5FB8F99189924DE9EDDB672E5
+653E83A354F6E55F47CB4B2F056C6232AA66CF460A06E592FB4DAB538C280A86
+6C7FC5A1A8A411A597335E6BCB62888AC8539B30E8AC2A39A813FC4891B49E77
+75375100F55E9F16BABDD3F76B2F587530D12214A376FCA98170E67BE8E450CF
+CD9116344965344652128A18AA5FBC61A89117BB7D016B4F18A1BBBD8717F984
+F8E429995D5C39BFEC047550D9ED7F9B6538EF020EB60AB57A17600467AD46FF
+AD725999FF72F5DAB93D690AEF7C4640D3A85F71763090740FFCDFFDCA590A91
+FC3B7CA38DC0F1A788550208C1A92993333550753088988692F0931B64538968
+780D323E550908A44EFF17F43281800B9FA0A227DE31664FF3148CD766D2B1FC
+A5CDD82B16A4C0A4E5CAB9A3C2617E9840E977A69D17CF0E2E6A8B1AEB0618ED
+75782C64036BF2514420F656A8379A287081D6EC02EEED83D5271FAA4CCB27EB
+522C2FD607271D1990A0E2B70C16371E0EAB42602BA9418F290F9DC6C5D659B9
+C7992F238557A504436771189D70BA4B690E4185B10097B1EA77C1CCAF3004A6
+EB513465AF0578897ED0091038F790C5CF9818CED62E323A6B43C465B0ECF9AA
+7BA13ED52836F3578BB6B2F6369260E1DD0A204E285338642532060DD5BDDAD2
+91A327F1B132EC549E1D0D5AEDCC8D63E1FA43A57BC9F963384FBAFD4EC19C67
+EC6143A21DF169E1CCC33F1B16293CED9F1BB960AEA4B41AEF27D0387B12FC9F
+2B3C476A858670B98F69EF399C8C6D80FBD6C57E7030F9D9D5EC79E263AD9F23
+0CFE38A7D8FAE476CD9BA96A1601A2788247AFECBC1C66F95B6EC3F6B8472EE3
+FCDDEF445A07C8AA2BD0DA9ABF3B69A83BB06B5136A8AD22957E0EDFD2B9A6F9
+158F1B49139D98E8467E3A85DBAC942064CE728D9C098F9169C4CDDD84A1CB4B
+DBC4ADD790FC086C2950DD90AA8B50BBA0F69C64309B631FC42142402F9F5C44
+5A3DE9CAE675685C5F398ABF78BF6EA8B96B437DC224632FEC4160156C09A74A
+29D656BCC1B1FBFFA82FEF9C869D1AD1E70102C8FF6A57BA9D41A94A9E2DBB08
+3ECFB88C2393164CFDEE8D6F7443090E881C886BFFF5844698CA4395DDDAB76E
+E9AC0FCC1BD476FC1AF9CD7198C18F2EDB4E80FC1BA717EAEC1A10E9B42A78FA
+D134BD20E0B457E044DECE5D0FA107D02C67EEBE7340070E175E31439636FF1A
+6406022BF17A512C2E9752184831BE0A31197C66BA29FFAD724C0438F2FF8E93
+58A1E63ADB0FECFCFEA88A34D7E42856E7169DC484838DDB1031C62B32BA99BD
+A38250055C78537BABEA7AE8AFB6F2489E14CD00C56DE6DEBB75DC2AA19172C3
+8986D0201F7F143BE6061A029C75955BD8882506D3ADAC59B665A7C7C7A2CC6A
+5FB2CDC1133F257A44AC2F62C8D7264A16EE33FF2F1E0D51E3CD97036E8A5188
+35538375B6EE00093E3A6D2F261E6F833FEDAC632D8E35EC17F89B11545B3741
+5F53E4CDC0123AB600AFB1C0BF865B616F2807C4D037C9A8646370E3E48A0499
+E529FB435E02ABD0CC9ADA6611E0A484D7DEFDE317868382059B9BD36A2E978D
+E461024E3D932D1D66BDCFB2E5BCEDD39B7C6FB7F63D699F84E4DB63E30D808E
+ED5FE3DC3F00E3DDBD06B82787B8E860480240A8ACD263B8E901002253B8CBB6
+25F497577258F6CF92CCBEE015A2FF661DEB6E27E6B18F8DF67BD7C4484FD11B
+8BF0D13548697BA412900F3554A99D33F5C50C6CCFEDF87DF5721C7707736BC8
+C68F89AF7D8198AC510A27BDD65361B4AFFCEF10DD5761D7C143AA9EA1482361
+D41EC9976246FD76D3F6A41E4A88E306AA9207ADB33D676739968C185061CE8F
+0F5BE904326B93696305B3A8B03EA3D26D4B16CD743B84CC4651C0A1E7703436
+61B8F60A96EFAD6AFB646F54CEC7CD2F100300AB9B2844BCC1BDA289F7A524B2
+50F23FFF2BDDBDE100030F7CE1F5F81E4EE3794B4A57C7BF04C8915D33E9CB74
+2F3134A928FB530E68BEA4518AFFF226018EA2FED6FF48C71871C1DEF6EDE48E
+B34764BF2B43AA6464374444E09AB5C56212BE811E8D15DF1B4756D23E164F05
+70E04A40DD56ED7C0BE6D42A1667D0D2F8D2D253AB911E437ACDBC56D765E26A
+7ADFE32C2A8F368262FD7B68E1EA6FB161BA30AC2386D572F7DB45E2DB8D85A3
+8B95939A4FEE586188BA82718C5BABE415632517B378D4D9C04172FB390B6658
+FE17042FBFE96B503A6146E0E7FB95480F9835F816F0BE0999FDF559AB9DAADB
+7B86DC33ADE53D8B33C52A4939445D2CAE72F02077BBA85018624AB4CAB58A06
+5F5A527435CD38717DB7EE6357EFD12E35B689B185F0B376696D0E9C99E392CE
+89D42BFAB8901395F21EA77BC11AE0AEEBA0288297852CD9F52F359B81190CAF
+48D8DB7578D649409B25BF519E004CD989075D48D5CF381AC07767DF59D9E9EA
+A67BB06D036F46DB07480ED41E24AE18179BB3699261E5FF6952CC0A23C72F86
+81D4BA27F39EF02609F37CEC6B28EF1FB908E97F0C43B809CEFA5DE55D8C8DAB
+442DE761D727639D26DD574CC13B99AA152CAB93181236456680E56AF5E43FB1
+96B3DDBDDECE3698B96552D2B47DC613FDF97902B8CA628847EE5E39A48DDED1
+FAF76061C59C36316C0DCAE8CF22BC7AB6499F2C3E896E80A8EB58F1CF09E490
+BCD67F26A2086C7D7FB59E41A2A3E5E95B9994F9D5714E5C8035EF2B77717B28
+43D938FD6F75CF2AFF33B24E6193B3E9B5ADCDDE513A2F933ED6F43E54D9E4D3
+6B63BC108AA2AC3C0D1FB57450F7DECC3DDA8D862324A1FD9EF92E7862224A92
+CECEFAEC81B103A690617A150ED09DCB2414C28CF6109710920973BCC04C68E1
+B2C7F0DBB2215030F0CA2ABFA25F2DEEF96CBF632E9F6ECFF371053FC7722502
+0E7D96CCD9F92B3D6C6A5A66EF30FB955E04936AE7C607DB4182B3E7522903CD
+51BEFC4256611298AB2ECBBCC3B3E0AD078C0C646C7AD5940D63601082D676AE
+8C5895AACD44A94EDC85FDDF9078BBD45772DDECAB9FCF51294D0A36E6050085
+349BFCD4847D8A47845A8312AF937E5099BE31B9D745EDBC744B5BA8199CBF4B
+55A04CDCC38EDF6806A50B311A91F332F8B7D028D2E0AA77DE19807AB7BD2CF2
+16D7321A2C286F3BAB927465CDCF3BAE550C9C87465B5918C61D3E4830487122
+B97D35D8ADC7630795D46E10E50BA0663A41F477C67197ADDF9573FD350CB7A6
+3316DF111B96E0436688DA51874BCB7EDB6421B7D787C30D0D6DEE7A8FB04FAE
+48B2209DCB600FBBF146ECBE6AFAA51750FDB35BE3278AD5600D7E027378D3DA
+74E1A16D1FC85EB3E36299524D5BA829F13E28DA37D07FC2EA2A68C6CCD113B2
+5AA3A3FD701CF10108E4C91E79E2C085CAB89CB9682E9DDC9991AB5732197767
+E67AD742DD781213B92DC7048F2BA8641D86BFA8C305ABB453513AFCD500CF63
+80567745840DFAD7EEC297E9B5D784687DFE383AE0921F6285CE32C7AD5E01FC
+4CF6B41627C4DD42DEA4AE2402C358C95D4E610C04B7D275E279CBB2457590D5
+C58319987C4D8948E92ED060B184AED9B8206B69B952195B242D1E30E242594F
+40625CE181FCE0CA4B1844627961018CDF734015AE780914C68C7A4B6A40BB74
+8BE7159A7173F840645D90448AC103CB5FB33C5A29FEB0C8AAA8F493BC3DF407
+5E3C03F02FF2E5B3B2DADADB9EC50D21F09F4F4C9A80499998F6412097932328
+A0C807673351F19271D02660B3B0B122CDBABC38C413E868066808B8645114BE
+D56751A288486CE7A3EA31746F5F04E46731962F5A0132F67C62F71491E4AFF9
+41FF406658ED53155B376FA77EA32633581375541816C6C6A31473FB9AC44F02
+A2AAC603A0E25BCB806393329014AC9F7E2568997707C9854826CBF84659800D
+D7F74D96FF5D39C17B9ADB9A6AD9AB1E9695B052BAE1F2A604257FB45F00F491
+290EA2D1FE9C7FB5E5E81D3AC401C254C941B74A100FCF572022B7C7186A9CD5
+C06BA4D26ADC66C7E09530701BA4E6BC5010840133D4CCF8880FB13921C2D7F3
+A46E61A48C4186A04E4A3B00318FB66E2AC902A63E360542B8D3235F2BC93637
+06D80E9575954A68C00FE890557A94F1ADFC3721304AD3B78FBC6CF30B9058FA
+1A550325CDFEF0B500CC8E01F87D34DBE05914D182B5D4389C8575F444ACDD44
+E5C8BD2C3C2F5BC303806F4B8DD396F16BA2819A3480CD6766D7B375BA653441
+01DD2536C845C283CE545A281B2B4178D5E35E898A28BF72B6F0779D51A58A25
+0EEE5A0E29E7CECEAC40F87F5A96997B824C6F6A14F21BC39ADCA95D9AE952A7
+AB150DDAFA07134206AEDEB246B6D304BEB46DB7C9C1AF68259A065614C6D33E
+F1F50FFED01067E4B1C31A60E377043D87E99497C88F040712B2D7E234E6D7C9
+074F82F900E392A08B6604A326F44BB086F7B3D997DD0931994B4833509E1FD1
+377991AFE01152D6F2DFC3E3B0585DF07D333960265264409AED0DBCB0BFE4FB
+9B17F713176F923784B448E006EE90003B343C25FC7AD7743017FFE87C91BD40
+A648ADED466F85FA2FB670D3C873D4BA8D48B7B050438832E766BDB8D11EF2C9
+C92729FBF123AED75BC2BCF2B704A7659171FDA2F4AC04D4F59475CA59B4934B
+C05D89FF01A78E01858BA75941DAFF7132C4C30C6FCC948C9A833E126BFF36D0
+50121814F70E63A0B7BF29093D38B9C6B8BBF71046D1BC301AA0FE181C13ACE0
+8EB40D7AB98AF2CC530C9AD75A7077195A62B72AE9F3417B392179FA634A9835
+343E4FA2E6842B65785038EB869BD9C6F207313B49E44F1228E6EAB3E5CD16F8
+2E76C351B37D43F0218AE3F2E645086AB90F6A48C4CF92498AA8AB5F1F402A9D
+03F2D6D55778E28C82583F8822747C647EF53AB68FA046DA38D560CBBC2498DF
+FF3B493041AE7973577030000702E0B77950331D4B28B54C51576DD540A216C8
+DA67D754B773038F5885A4EF0AA595742114DFD130E0EF138719B432C1ADEDAE
+8BDD33CB568EC454F2FE435470A9891D3C8C995053FCE888EC5F7A4509A77FF2
+D6AFAE751272625B23F5E32B081469CECF8E8F87F7C0A32D68F7A6D2F5151BA6
+6B6868BE45468342210DF57A438C81C05D45929F2FB47E11B03AAC4665F8A1B3
+2971B00CF1490231B33AA21715C27C40526B554DAB4265B4EB899B73490A1F75
+5AF32445552769C8C506ADFE0AFF58F980DE0949F2060B5CDCF5BC2B9214743A
+A1EB51234369021B1B51361ECC682CF4489395858C661EDC6E7488F6D95E3FA1
+590FA3CA96613756EEEBD409886A78FA1A7B1211C68559F2A591D213B24C57D9
+566477F456E539D3AEC0FB56F09E77D1C5D7B149D56327A846816163ECF20390
+372501BC8519B9AC8D98C827DBA2BEF673784B6B78A89D0B5E030436F439AC25
+FBF815E78A85DAA1AF220803DC01393398AFFF3E193192DD537F16A7152F696D
+2C95E0AA1DF307D4C152D325122C3EC09E289A5844661C81E69F5E5E1D5CA1C0
+EE8F914A5CB2473BB9D953FBD6A5102B2FC7E0DF44C7AB7372CF32DF81150701
+17C2B4E1E70A4D827AA467F862F04162850A4CFD0F81A4DB3C65027957A40CC7
+AF55FF4FB4DEFE25CB6B0593EAD93E47F4755DCDD8F734E630E7FAA238AE9ECF
+5AF2806EDF0CE9C7135F17D1A145192EA884AEC71342A329A29869ADFC5883DC
+A5B8470675F02860DC4DD8723D9342F5FCA7CAB1D506E2F662444181931A6704
+7BD96E7921CC4E818961E88E9051A4D87B475CCBD03E81787DE8F56D3CC6ADFA
+71D030AAFEC4DE428867416582F14E7ACB7A3C1522DFA33318D2901A04603692
+96C04697C5386518D9D32729AB9AC3D2F8819A402050D25EA2853F3B6C358803
+2C87CBECE387344FC55ADD6D9F58146BB68BC44A7C29EEC21CD554AF51A32F94
+174F181F5BA882D3B9DAC2BE977004DF191471
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+cleartomark
+{restore}if
+%%EndFont
+TeXDict begin 39158280 55380996 1000 600 600 (tuggame.dvi)
+@start /Fa 219[42 36[{ TS1Encoding ReEncodeFont }1 83.022
+/SFRM1000 rf /Fb 218[68 37[{}1 83.022 /CMTI10 rf /Fc
+145[42 6[42 42 101[65{}4 83.022 /CMSY10 rf /Fd 198[28
+28 28 28 28 28 28 28 28 28 48[{}10 41.511 /CMR5 rf /Fe
+167[50 5[62 83 5[75 8[71 22[58 43[{}6 83.022 /SkakNew-Figurine-Bold
+rf /Ff 152[48 2[53 42 53 46 39[48 48 48 48 48 48 48 48
+48 48 1[27 46[{}16 83.022 /CMBX10 rf /Fg 167[50 5[63
+79 5[75 8[71 22[59 43[{}6 83.022 /SkakNew-Figurine rf
+/Fh 132[42 1[44 44 60 44 46 32 33 33 44 46 42 46 69 23
+44 1[23 46 42 25 37 46 37 46 42 9[85 2[60 1[61 65 57
+65 62 2[65 4[54 3[59 4[65 3[42 42 42 42 42 42 42 42 42
+42 42 23 28 23 65 1[32 32 23 5[23 20[46 12[{}56 83.022
+/CMR10 rf /Fi 141[166 1[166 166 2[166 1[166 8[166 6[166
+6[166 1[166 166 166 3[166 26[166 48[{}13 166.044 /SkakNew-Diagram
+rf /Fj 151[43 42 25 37 43 37 43 40 40[42 42 42 42 42
+42 42 42 49[{}16 83.022 /CMSS10 rf /Fk 134[51 3[54 2[38
+2[49 54 81 27 6[43 2[54 49 12[70 9[50 1[73 15[49 4[49
+49 49 49 3[27 32[57 11[{}20 99.6264 /CMR12 rf /Fl 134[74
+4[74 74 7[74 9[74 50[74 46[{}6 143.462 /CMTT12 rf /Fm
+135[70 2[73 51 52 2[73 66 73 111 36 2[36 73 66 40 58
+73 58 1[66 8[99 3[96 7[83 6[90 23[43 45[{}22 143.462
+/CMR17 rf end
+%%EndProlog
+%%BeginSetup
+%%Feature: *Resolution 600dpi
+TeXDict begin
+%%BeginPaperSize: a4
+/setpagedevice where
+{ pop << /PageSize [595 842] >> setpagedevice }
+{ /a4 where { pop a4 } if }
+ifelse
+%%EndPaperSize
+ end
+%%EndSetup
+%%Page: 1 1
+TeXDict begin 1 0 bop 0 TeXcolorgray Black 150 307 a
+tx@Dict begin gsave STV CP T /ps@rot 0 def grestore end
+
+150 307 a 150 307 a
+tx@Dict begin gsave STV CP T /ps@refangle 0. def grestore end
+ 150 307 a 0 TeXcolorgray 150 307
+a
+tx@Dict begin gsave STV CP T /ps@rot 0 def grestore end
+ 150 307 a 0 TeXcolorgray 0 TeXcolorgray 263 739 a Fm(Example)43
+b(of)f(the)i(LaT)-11 b(eX-input)44 b(and)g(output)f(of)g(an)g
+(annotated)1106 922 y(c)l(hess)h(game)f(using)i Fl(skak.sty)1536
+1162 y Fk(T)-8 b(orb)s(en)33 b(Ho\013mann)1629 1358 y(July)g(18,)f
+(2013)p 0 TeXcolorgray 0 TeXcolorgray 359 1638 1345 9
+v 301 1750 a Fj(8)p 359 1804 9 167 v 368 1804 a Fi(0l0Z0jrZ)p
+1695 1804 V 301 1916 a Fj(7)p 359 1970 V 368 1970 a Fi(Z0Zra0Zp)p
+1695 1970 V 301 2082 a Fj(6)p 359 2136 V 368 2136 a Fi(pZ0ZQZ0Z)p
+1695 2136 V 301 2248 a Fj(5)p 359 2302 V 368 2302 a Fi(Z0Z0Z0Z0)p
+1695 2302 V 301 2414 a Fj(4)p 359 2468 V 368 2468 a Fi(0o0Z0Z0Z)p
+1695 2468 V 301 2581 a Fj(3)p 359 2634 V 368 2634 a Fi(Z0Z0Z0Z0)p
+1695 2634 V 301 2747 a Fj(2)p 359 2800 V 368 2800 a Fi(POPZ0ZPO)p
+1695 2800 V 301 2913 a Fj(1)p 359 2966 V 368 2966 a Fi(Z0Z0S0ZK)1696
+2966 y
+tx@Dict begin tx@NodeDict begin {-10.0 10.0 } false /N@BM 10 {InitPnode
+} /NodeScale {} def NewNode end end
+ 1696 2966 a 1695 2966 9 167 v 359 2974 1345 9
+v 422 3049 a Fj(a)124 b(b)i(c)g(d)h(e)134 b(f)f(g)124
+b(h)78 b @beginspecial @setspecial
+ tx@Dict begin STP newpath 0.8 SLW 0 setgray tx@NodeDict begin tx@NodeDict
+/N@BM known { /N@BM load GetCenter } { 0 0 } ifelse end translate 0.0
+0.0 translate 0.8 SLW 0 setgray /ArrowA { /lineto load stopped {
+moveto } if } def /ArrowB { BeginArrow 1. 1. scale false 0.4 1.4
+1.5 2. 1. .setopacityalpha Arrow EndArrow } def [ 20.0 16.00006
+20.0 5.0 /currentpoint load stopped pop /Lineto /lineto load def
+0 setlinejoin false Line 0.8 SLW 0 setgray 0. true 16.79993 -3.20007
+23.20007 3.20007 .5 Frame gsave 0.8 SLW 0 setgray 1. .setopacityalpha
+ 0 setlinejoin 0 setlinecap stroke grestore end
+
+@endspecial 178 3198
+a Fh(Fisc)n(her{T)-7 b(al)26 b(after)h(25...)37 b Fg(K)p
+Fh(f8!)p 0 TeXcolorgray 0 TeXcolorgray 519 3381 a Ff(26)246
+b Fe(QX)p Ff(d7)178 3572 y Fh(Not)28 b(26)f Fg(R)p Fh(f1)p
+Fg(+)g(K)p Fh(g7)g(27)f Fg(R)p Fh(f7)p Fg(+)i(K)p Fh(h8)f(and)g(if)178
+3671 y(28)g Fg(QX)p Fh(d7)g Fg(R)p Fh(d8)g(29)g Fg(Q)p
+Fh(g4)f Fg(Q)p Fh(e5)h(wins.)p 0 TeXcolorgray 0 TeXcolorgray
+519 3854 a Ff(26)246 b(.)15 b(.)h(.)229 b Fe(Q)p Ff(d6)519
+3954 y(27)246 b Fe(Q)p Ff(b7)157 b Fe(R)p Ff(g6)178 4136
+y Fh(Within)29 b(a)e(handful)h(of)g(mo)n(v)n(es)e(the)i(game)f(has)178
+4236 y(c)n(hanged)g(its)h(complexion.)178 4336 y(No)n(w)f(it)h(is)g
+(White)g(who)f(m)n(ust)h(\014gh)n(t)g(for)f(a)g(dra)n(w!)p
+0 TeXcolorgray 0 TeXcolorgray 519 4518 a Ff(28)246 b(c3)178
+4701 y Fh(Blac)n(k's)27 b(extra)f(piece)i(means)f(less)g(with)h(eac)n
+(h)f(pa)n(wn)178 4801 y(that's)h(exc)n(hanged.)p 0 TeXcolorgray
+0 TeXcolorgray 519 4983 a Ff(28)246 b(.)15 b(.)h(.)229
+b(a5)178 5166 y Fh(On)28 b(28.)13 b(.)g(.)h(b)p Fg(X)p
+Fh(c3)27 b(29)g Fg(Q)p Fh(c8)p Fg(+)g(B)p Fh(d8)g(30)g
+Fg(QX)p Fh(c3=.)p 150 1596 1763 4 v 150 5196 4 3602 v
+1909 5196 V 150 5198 1763 4 v 0 TeXcolorgray 2033 2369
+a Fd(1)18 b Fc(n)o Fh(fen)n(b)r(oard)o Fc(f)p Fh(1)o(q3kr)o(1/3)n
+(rb2p/)o(p3Q)o(3/8/1)n(p6/8/)n Fb(\045)2033 2469 y Fd(2)g
+Fh(PPP)n(3PP)o(/4)o(R2)o(K)27 b(w)h Fc(\000)f(\000)h
+Fh(0)f(26)p Fc(g)2033 2568 y Fd(3)2033 2668 y(4)2033
+2768 y(5)18 b Fa($$)p Fc(n)n Fh(sho)n(wb)r(oard)n Fa($$)2033
+2867 y Fd(6)2033 2967 y(7)g Fh(Fisc)n(her)p Fc(\000\000)o
+Fh(T)-7 b(al)27 b(after)h Fc(n)o Fh(mo)n(v)n(ecommen)n(t)o
+Fc(f)p Fh(25...)e(Kf8!)p Fc(g)2033 3066 y Fd(8)2033 3166
+y(9)18 b Fc(n)o Fh(mainline)p Fc(f)p Fh(26.)26 b(Qxd7)p
+Fc(g)2006 3266 y Fd(10)2005 3365 y(11)18 b Fh(Not)27
+b Fc(n)p Fh(v)-5 b(ariation)o Fc(f)p Fh(26.)34 b(Rf)q(1+)27
+b(Kg)o(7)g(27.)g(Rf7+)g(Kh8)p Fc(g)f Fh(and)i(if)2006
+3465 y Fd(12)17 b Fc(n)r Fh(con)n(tin)n(uev)-5 b(ariationcurren)n(t)q
+Fc(f)p Fh(28.)37 b(Qxd7)27 b(Rd8)g(29.)g(Qg)o(4)g(Qe5)p
+Fc(g)g Fh(wins.)2006 3565 y Fd(13)2005 3664 y(14)18 b
+Fc(n)o Fh(mainline)8 b Fc(f)p Fh(26...)f(Qd6)27 b(27.)g(Qb)o(7)g(Rg6)p
+Fc(g)2006 3764 y Fd(15)17 b Fh(Within)28 b(a)f(handful)h(of)g(mo)n(v)n
+(es)e(the)i(game)f(has)g(c)n(hanged)g(its)g(complexion.)2006
+3864 y Fd(16)17 b Fh(No)n(w)27 b(it)32 b(is)41 b(White)29
+b(who)e(m)n(ust)g(\014gh)n(t)h(for)f(a)g(dra)n(w)o(!)2006
+3963 y Fd(17)2005 4063 y(18)18 b Fc(n)o Fh(mainline)p
+Fc(f)p Fh(28.)26 b(c3)p Fc(g)2006 4162 y Fd(19)17 b Fh(Blac)n(k)n(')r
+(s)39 b(extra)h(piece)h(means)27 b(less)k(with)d(eac)n(h)f(pa)n(wn)g
+(that's)g(exc)n(hanged)o(.)2006 4262 y Fd(20)2005 4362
+y(21)18 b Fc(n)o Fh(mainline)8 b Fc(f)p Fh(28...)f(a)o(5)p
+Fc(g)2006 4461 y Fd(22)17 b Fh(On)27 b Fc(n)o Fh(v)-5
+b(ariation)7 b Fc(f)p Fh(28...)f(b)n(xc3)27 b(29.)36
+b(Qc)o(8+)27 b(Bd8)g(30.)g(Qxc)o(3)p Fc(g)p Fh(=.)p 0
+TeXcolorgray 0 TeXcolorgray 0 TeXcolorgray 0 TeXcolorgray
+1892 5919 a(1)p 0 TeXcolorgray eop end
+%%Page: 2 2
+TeXDict begin 2 1 bop 0 TeXcolorgray 0 TeXcolorgray 0
+TeXcolorgray 0 TeXcolorgray 0 TeXcolorgray 0 TeXcolorgray
+0 TeXcolorgray 519 405 a Ff(29)246 b Fe(Q)p Ff(c8)p Fe(+)178
+588 y Fh(On)25 b(the)h(wrong)e(trac)n(k.)35 b(Righ)n(t)25
+b(is)g(29)f(c)p Fg(X)p Fh(b4)h Fg(QX)p Fh(b4)g(\(if)178
+687 y(29.)13 b(.)h(.)g(a)p Fg(X)p Fh(b4)27 b(30)f(a3!)36
+b(b)p Fg(X)p Fh(a3)27 b(31)g(b)p Fg(X)p Fh(a3)f Fg(QX)p
+Fh(a3)178 787 y(dra)n(ws\))178 887 y Fg(Q)p Fh(f3)p Fg(+)i(K)p
+Fh(g7)54 b Fg(Q)p Fh(e2)27 b(dra)n(ws,)178 986 y(since)h(Blac)n(k)e
+(can't)i(p)r(ossibly)f(build)h(up)g(a)f(winning)178 1086
+y(K-side)178 1186 y(attac)n(k)g(and)g(his)h(o)n(wn)f(king)g(is)h(to)f
+(exp)r(osed.)p 0 TeXcolorgray 0 TeXcolorgray 519 1368
+a Ff(29)246 b(.)15 b(.)h(.)229 b Fe(K)p Ff(g7)519 1468
+y(30)246 b Fe(Q)p Ff(c4)168 b Fe(B)p Ff(d8)519 1567 y(31)246
+b(c)p Fe(X)p Ff(b4)148 b(a)p Fe(X)p Ff(b4)178 1750 y
+Fh(On)28 b(31.)13 b(.)g(.)h Fg(QX)p Fh(b4)27 b(32)g Fg(Q)p
+Fh(e2)178 1850 y(White)i(should)e(dra)n(w)f(with)j(b)r(est)f(pla)n(y)-7
+b(.)p 359 1966 1345 9 v 301 2079 a Fj(8)p 359 2132 9
+167 v 368 2132 a Fi(0Z0a0Z0Z)p 1695 2132 V 301 2245 a
+Fj(7)p 359 2298 V 368 2298 a Fi(Z0Z0Z0jp)p 1695 2298
+V 301 2411 a Fj(6)p 359 2464 V 368 2464 a Fi(0Z0l0ZrZ)p
+1695 2464 V 301 2577 a Fj(5)p 359 2630 V 368 2630 a Fi(Z0Z0Z0Z0)p
+1695 2630 V 301 2743 a Fj(4)p 359 2796 V 368 2796 a Fi(0oQZ0Z0Z)p
+1695 2796 V 301 2909 a Fj(3)p 359 2962 V 368 2962 a Fi(Z0Z0Z0Z0)p
+1695 2962 V 301 3075 a Fj(2)p 359 3128 V 368 3128 a Fi(PO0Z0ZPO)p
+1695 3128 V 301 3241 a Fj(1)p 359 3294 V 368 3294 a Fi(Z0Z0S0ZK)1696
+3294 y
+tx@Dict begin tx@NodeDict begin {-10.0 10.0 } false /N@BM 10 {InitPnode
+} /NodeScale {} def NewNode end end
+ 1696 3294 a 1695 3294 9 167 v 359 3302 1345 9
+v 422 3377 a Fj(a)124 b(b)i(c)g(d)h(e)134 b(f)f(g)124
+b(h)78 b @beginspecial @setspecial
+ tx@Dict begin STP newpath 0.8 SLW 0 setgray tx@NodeDict begin tx@NodeDict
+/N@BM known { /N@BM load GetCenter } { 0 0 } ifelse end translate 0.0
+0.0 translate 0.8 SLW 0 setgray /ArrowA { /lineto load stopped {
+moveto } if } def /ArrowB { BeginArrow 1. 1. scale false 0.4 1.4
+1.5 2. 1. .setopacityalpha Arrow EndArrow } def [ 20.0 16.00006
+20.0 5.0 /currentpoint load stopped pop /Lineto /lineto load def
+0 setlinejoin false Line 0.8 SLW 0 setgray 0. true 16.79993 -3.20007
+23.20007 3.20007 .5 Frame gsave 0.8 SLW 0 setgray 1. .setopacityalpha
+ 0 setlinejoin 0 setlinecap stroke grestore end
+
+@endspecial 150 311
+1763 4 v 150 3420 4 3111 v 1909 3420 V 150 3422 1763
+4 v 0 TeXcolorgray 2033 1037 a Fd(1)2033 1137 y(2)18
+b Fc(n)o Fh(storegame)n Fc(f)p Fh(mainline)p Fc(g)2033
+1237 y Fd(3)g Fc(n)o Fh(mainline)p Fc(f)p Fh(29.)26 b(Qc8+)p
+Fc(g)2033 1336 y Fd(4)18 b Fh(On)27 b(the)h(wrong)e(trac)n(k)o(.)i
+(Righ)n(t)f(is)32 b Fc(n)5 b Fh(v)-5 b(ariation)5 b Fc(f)p
+Fh(29.)37 b(cxb4)27 b(Qxb4)p Fc(g)2079 1436 y Fh(\()9
+b(if)2033 1535 y Fd(5)18 b Fc(n)r Fh(con)n(tin)n(uev)-5
+b(ariation)16 b Fc(f)p Fh(29...)52 b(axb)o(4)27 b(30.)i(a)r(3!)40
+b(b)n(xa)o(3)28 b(31.)i(b)n(xa3)d(Qxa)o(3)p Fc(g)2033
+1635 y Fd(6)18 b Fh(dra)n(ws)n(\))2033 1735 y Fd(7)g
+Fc(n)o Fh(restoregame)n Fc(f)o Fh(mainline)p Fc(g)27
+b(n)p Fh(hidemo)n(v)n(es)o Fc(f)p Fh(29.)f(cxb4)h(Qxb)o(4)p
+Fc(g)2033 1834 y Fd(8)18 b Fc(n)5 b Fh(v)-5 b(ariationcurren)n(t)5
+b Fc(f)p Fh(30.)36 b(Qf3+)27 b(Kg)o(7)g(31.)g(Qe2)p Fc(g)f
+Fh(dra)n(ws)o(,)2033 1934 y Fd(9)d Fh(since)43 b(Blac)n(k)26
+b(can')q(t)42 b(p)r(ossibly)f(build)e(up)28 b(a)g(winning)f(K)p
+Fc(\000)o Fh(side)2006 2034 y Fd(10)17 b Fh(attac)n(k)34
+b(and)27 b(his)36 b(o)n(wn)27 b(king)g(is)38 b(to)f(exp)r(osed.)2006
+2133 y Fd(11)2005 2233 y(12)18 b Fc(n)o Fh(restoregame)n
+Fc(f)o Fh(mainline)p Fc(g)27 b(n)p Fh(hidemo)n(v)n(es)o
+Fc(f)p Fh(29.)f(Qc)o(8+)p Fc(g)2006 2332 y Fd(13)2005
+2432 y(14)18 b Fc(n)o Fh(mainline)8 b Fc(f)p Fh(29...)f(Kg)o(7)27
+b(30.)g(Qc)o(4)h(Bd8)f(31.)f(cxb4)i(axb)o(4)p Fc(g)2006
+2532 y Fd(15)17 b Fh(On)27 b Fc(n)o Fh(v)-5 b(ariation)7
+b Fc(f)p Fh(31...)44 b(Qxb)o(4)27 b(32.)g(Qe2)p Fc(g)2006
+2631 y Fd(16)17 b Fh(White)28 b(should)f(dra)n(w)g(with)h(b)r(est)g
+(pla)n(y)o(.)2006 2731 y Fd(17)17 b Fa($$)p Fc(n)n Fh(sho)n(wb)r(oard)n
+Fa($$)p 0 TeXcolorgray 0 TeXcolorgray 0 TeXcolorgray
+0 TeXcolorgray 1892 5919 a Fh(2)p 0 TeXcolorgray eop
+end
+%%Trailer
+
+userdict /end-hook known{end-hook}if
+%%EOF
diff --git a/Master/texmf-dist/tex/latex/skak/skak.sty b/Master/texmf-dist/tex/latex/skak/skak.sty
index f3190357760..569a18a6a35 100644
--- a/Master/texmf-dist/tex/latex/skak/skak.sty
+++ b/Master/texmf-dist/tex/latex/skak/skak.sty
@@ -1,41 +1,5 @@
-% Version Date Description
-% 1.0 2002-06-05 Major overhaul of the documentation and a few
-% minor bug fixes.
-% 1.1 2003-01-01 Added Dirk Baechle's enhancements:
-% - extension of the \highlight command
-% - unwanted generation of spaces removed
-% - a set of informator symbols added
-% - the fonts have been improved
-% Fixed a bug in \ParseCoordinates (fix provided by
-% Ulrike Fischer).
-% Fixed the bug with opening spaces in the SAN input.
-% 1.2 2003-01-12 Incorporated Dirk Baechle's improvements of the
-% Informator symbols and redefined the \liftfig
-% according to Dirk's input.
-% The PostScript files are now significantly
-% smaller due to a big effort by Dirk.
-% 1.3 2003-09-27 Dirk Baechle has fixed some of the Informator symbols
-% which needed an extra set of curly braces.
-% The check for trailing spaces in the ``typeset@cmoves''
-% command has been removed due to problems at the end of a
-% ``mainline'' or ``variation'' env when an additional
-% Informator symbol was involved..
-% 1.4 2004-12-30 Incorporation of changes made by Ulrike Fischer that
-% makes it easy to use different fonts.
-% New engine for parsing and typesetting moves:
-% the functionality is now shared between the two.
-% 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}[2008/10/09 v1.5 Chess typesetting]
+\ProvidesPackage{skak}[2013/07/18 v1.5.1 Chess typesetting]
\DeclareOption{tiny}{\AtEndOfClass{\tinyboard}}
\DeclareOption{small}{\AtEndOfClass{\smallboard}}
@@ -687,9 +651,9 @@
\def\WhiteToMove{\True}
-\def\WhiteKingSquare% unit -> square
+\xdef\WhiteKingSquare% unit -> square
{e1}
-\def\BlackKingSquare% unit -> square
+\xdef\BlackKingSquare% unit -> square
{e8}
\def\KingSquare#1{% bool -> square
#1\WhiteKingSquare\BlackKingSquare}
@@ -961,11 +925,14 @@
\DeclareRobustCommand{\lastmove}{{\def\variationstyle{}%
+ \styleC@on{\let\skak@ensuremath=\ensuremath}{\let\skak@ensuremath=\relax}%
\WhiteToMove{%
\addtocounter{move}{-1}%
- \beforenumber\arabic{move}\blackopen\beforeblack%
+ \skak@ensuremath\beforenumber\arabic{move}\blackopen\skak@ensuremath%
+ \beforeblack%
\addtocounter{move}{1}}%
- {\beforenumber\arabic{move}\whiteopen\beforewhite}%
+ {\skak@ensuremath\beforenumber\arabic{move}\skak@ensuremath\whiteopen%
+ \skak@ensuremath\beforewhite}%
\expandafter\wmove\expandafter{\LastMoveString}}}
\def\ParseMoveA(#1#2){% char -> string -> unit
@@ -1118,7 +1085,7 @@
\def\DoTheMove#1{% move the piece from #1 to \MoveToFile\MoveToRank
\edef\oldpiece{\Get{\MoveToFile\MoveToRank}}%
\Set{\MoveTo}{\Get{#1}}\Set{#1}{E}%
- \gdef\MoveFrom{#1}}
+ \edef\MoveFrom{#1}}
\def\DoTheMoveList#1{\DoTheMove{\Head{#1}}}
@@ -1700,7 +1667,7 @@
% new version of \@variation
\def\@variation#1{\endgroup%
\let\currentstyle=\variationstyle%
- \gdef\Printmoves{\True}%
+ \gdef\PrintMoves{\True}%
\gdef\ExecuteMoves{\True}%
\gdef\StoreLastMove{\False}%
\@restoregame{skak.mainline.previous}% roll-back of last move.
@@ -1721,7 +1688,7 @@
\def\@variationcurrent#1{\endgroup%
\let\currentstyle=\variationstyle%
- \gdef\Printmoves{\True}%
+ \gdef\PrintMoves{\True}%
\gdef\ExecuteMoves{\True}%
\gdef\StoreLastMove{\False}%
\@restoregame{skak.mainline}%
@@ -1730,7 +1697,7 @@
\def\@continuevariation#1{\endgroup%
\let\currentstyle=\variationstyle%
- \gdef\Printmoves{\True}%
+ \gdef\PrintMoves{\True}%
\gdef\ExecuteMoves{\True}%
\gdef\StoreLastMove{\False}%
\@restoregame{skak.variation.previous}% roll-back of last move.
@@ -1740,7 +1707,7 @@
\def\@continuevariationcurrent#1{\endgroup%
\let\currentstyle=\variationstyle%
- \gdef\Printmoves{\True}%
+ \gdef\PrintMoves{\True}%
\gdef\ExecuteMoves{\True}%
\gdef\StoreLastMove{\False}%
\@restoregame{skak.variation}%