diff options
author | Karl Berry <karl@freefriends.org> | 2006-01-09 00:56:57 +0000 |
---|---|---|
committer | Karl Berry <karl@freefriends.org> | 2006-01-09 00:56:57 +0000 |
commit | f07bb53970ee2ecc53f81a206a3d3a67ef665e4a (patch) | |
tree | 6f57a1d62971db79e5ff023bdfd83b22cb971dc9 /Master/texmf-dist/doc/generic/mfpic | |
parent | 007f67a693e4d031fd3d792df8e4d5f43e2cb2e7 (diff) |
doc 6
git-svn-id: svn://tug.org/texlive/trunk@85 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/doc/generic/mfpic')
-rw-r--r-- | Master/texmf-dist/doc/generic/mfpic/README | 258 | ||||
-rw-r--r-- | Master/texmf-dist/doc/generic/mfpic/changes.txt | 3053 | ||||
-rw-r--r-- | Master/texmf-dist/doc/generic/mfpic/data.dat | 37 | ||||
-rw-r--r-- | Master/texmf-dist/doc/generic/mfpic/forfun.tex | 137 | ||||
-rw-r--r-- | Master/texmf-dist/doc/generic/mfpic/install.txt | 119 | ||||
-rw-r--r-- | Master/texmf-dist/doc/generic/mfpic/lapictures.tex | 199 | ||||
-rw-r--r-- | Master/texmf-dist/doc/generic/mfpic/mfpdoc.sty | 172 | ||||
-rw-r--r-- | Master/texmf-dist/doc/generic/mfpic/mfpguide.pdf | bin | 0 -> 205686 bytes | |||
-rw-r--r-- | Master/texmf-dist/doc/generic/mfpic/mfpguide.tex | 1614 | ||||
-rw-r--r-- | Master/texmf-dist/doc/generic/mfpic/mfpman.pdf | 8730 | ||||
-rw-r--r-- | Master/texmf-dist/doc/generic/mfpic/mfpman.tex | 4991 | ||||
-rw-r--r-- | Master/texmf-dist/doc/generic/mfpic/pictures.tex | 204 | ||||
-rw-r--r-- | Master/texmf-dist/doc/generic/mfpic/refcard.tex | 651 |
13 files changed, 20165 insertions, 0 deletions
diff --git a/Master/texmf-dist/doc/generic/mfpic/README b/Master/texmf-dist/doc/generic/mfpic/README new file mode 100644 index 00000000000..411fdfc8bce --- /dev/null +++ b/Master/texmf-dist/doc/generic/mfpic/README @@ -0,0 +1,258 @@ +%%% File: README.txt +%%% A part of mfpic 0.7a beta 2004/04/16 +%%% + +MFpic defines a command group \mfpic...\endmfpic (optionally in LaTeX +an environment, mfpic) and drawing commands to be used inside this group. +When TeX (or LaTeX) is run on a file containing those commands, a +Metafont (or MetaPost) source file is created. When that file is correctly +processed by Metafont (or MetaPost), and LaTeX or TeX is run again, the +result is a figure in the TeX document in the location of each +environments. + +See install.txt for initial setup and brief installation instructions. +See mfpguide.pdf for a short tutorial. See below for a summary of +features added since the previous official release (0.6c beta). See the +manual mfpman.pdf for more detailed instructions and descriptions +of features. + +This is mfpic version 0.7a beta. + +LEGALITIES +---------- + +All files of the core mfpic distribution (listed below) may be +distributed and/or modified under the conditions of the LaTeX Project +Public License, either version 1.2 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.2 or later is part of all distributions of LaTeX version +1999/12/01 or later. + +While every effort has been made to make mfpic useful, it comes with no +warranty, expressed or implied. + + +MANIFEST +-------- + +Here is a list, plus explanation of purpose, of all files in the mfpic +distribution. Read it *before* trying to process any of the example +files. These, and the files generated by TeXing mfpic.ins, constitute +the mfpic distribution to which the LPPL applies. + +The three files marked with * below are the only ones essential +for using all the facilities of mfpic. + +All the *.tex files in the src directory (except the plainTeX file +refcard.tex) require the LaTeX style file mfpdoc.sty. The manual is +mfpman.pdf. + +TeX/LaTeX code: +-------------- +*mfpic.dtx Contains mfpic.sty and mfpic.tex +*mfpic.ins The unpacking script, run latex on it. It reads in + mfpic.dtx and grafbase.dtx and produces the only + required files: mfpic.sty, mfpic.tex, grafbase.mf, + grafbase.mp, and dvipsnam.mp + +MetaPost/Metafont code: +---------------------- +*grafbase.dtx Contains grafbase.mf, grafbase.mp and dvipsnam.mp + +Documentation: +------------- + + install.txt Basic information on installation + README.txt This file. + changes.txt Rambling history of (most) changes + mfpguide.pdf Precompiled tutorial + mfpman.pdf Precompiled manual + src/refcard.tex reference card, landscape, should fit on two sides + of either USletter or A4paper. Plain TeX source. + src/mfpdoc.sty LaTeX style used by the next two + src/mfpguide.tex tutorial (LaTeX source, requires mfpdoc.sty and mfpic) + src/mfpman.tex manual (LaTeX source, requires mfpdoc.sty) + + examples/pictures.tex Run tex, produce pics.mf file + examples/lapictures.tex Run latex, produce pics.mf file (same) + examples/data.dat External data file needed for above two + examples/forfun.tex Example of \mfsrc: Run tex, produce forfun.mp + + +NEW FEATURES since Version 0.6c +------------------------------- + -- Mfpic is now distribution in two .dtx files and an unpacking + script (mfpic.ins). The manual is now supplied as a linked PDF file + written in LaTeX. A short introductory guide is supplied, also PDF. + + -- New path modification commands that produce a subpath of a + given path: + \partpath{<frac1>,<frac2>}<path> + The arguments are fractions of the length of <path> indicating + where the subpath begins and ends. + \subpath{n,m}<path> + {n,m} are the `times' on <path> where the subpath begins and + ends. (See the Metafontbook for the meaning of `time'.) + \cutoffbefore{X}<path> + X is a symbolic name for a path previously defined using \store. + The subpath produced begins where X and <path> first intersect, + and ends where <path> ends. + \cutoffafter{X}<path> + Similar to \cutoffafter but starts where <path> starts and ends + where X and <path> _last_ intersect. + \trimpath{<dim1>,<dim2>}<path> + The dimensions are the lengths trimmed from the start and end + of the following path. + + -- Color commands now work under Metafont in the sense that no errors + or even warnings are caused by the commands that set and change + colors, and moreover, \draw[white]<path>. will erase the pixels + along <path> and \gfill[<color>]<closed path> will attempt to convert + the color to a shade of gray and approximate that by filling with a + pattern of pixels. All the following: \draw, \dashed, \dotted, + \plot, \plotnodes, all hatching commands, \point and \plotsymbol are + limited to black and white. \gfill and \polkadot will produce + shades of gray if the color is not black or white. filling (or + polkadotting) with white will erase pixels. + + For this to work, bare MetaPost color triples should not be used, + but only color functions (e.g., rgb(1,.5,0)) or names defined with + \mfpdefinecolor. The colors defined in dvipsnam.mp are not + recognized by Metafont. + + -- New color setting command, \pointcolor. The \point and \plotsymbol + commands now draw in the color set with \pointcolor. (In Metafont + this can be black or white.) + + -- The dashpatterns, colors, and symbols used by the \plotdata command + for different curves can be reconfigured by the user with + \reconfigureplot {dashes}{<list>}, + \reconfigureplot {colors}{<list>}, and + \reconfigureplot{symbols}{<list>}, + where <list> is a comma separated list of dash patterns, colors, or + symbols. The builtin defaults can be restored with + \defaultplot{dashes}, etc. + + -- \circle now accepts an optional argument similar to \arc that + allows one to define the circle in different ways. For example, + \circle[t]{<p1>,<p2>,<p3>}, will draw the circle that passes + through the three given points. + + -- For those curve creation commands that accept an optional tension + argument, the default (= 1) can be changed with the command + \settension. The affected commands are \curve, \cyclic, \function, + \plrfcn, \datafile, \plotdata, \bclosed, \sclosed, \btwnfcn, + \plrregion, \fcncurve, \mfbezier, and \closedmfbezier. + + -- The closure commands \bclosed and \sclosed now accept an optional + argument for the tension to be used in the closing link. The + commands \sclosed\curve and \cycle have always produced the same + path. Now the same is true when tension is used: + \sclosed[1.5]\curve[1.5] = \cycle[1.5] The default tension is the + same as for \curve. + + -- The commands to surround text with a path (\tlabelrect, \tlabeloval + and \tlabelellipse) now accept a second optional argument that + is the same as that taken by \tlabel for justification/rotation of + the text. In order to use it, the first optional argument must be + present (though it may be empty to select the default). The + preloaded default for this new argument is [cc]. This can be + changed with \tlpathjustify. + + Moreover, the first optional argument of \tlabelrect (which gives + the radius of the rounded corners) may now consist of the keyword + "roundends" which tells mfpic to use the maximum reasonable radius: + so that the short sides of the rectangle become half-circles. + + -- All commands that take an optional argument can now take an empty + optional argument to select the default. Useful only when a command + has 2 optional arguments and you want only to change the second. + + -- A command \overlaylabels (or package option) is available to make + the behavior of labels under mplabels close to the same as without + mplabels: this option causes them to be added last, on top of all + picture elements. They are then not covered up by any drawing + commands and they are not clipped off under the clip option or by + the \gclip command. + + -- A command \clearsymbols (or package option) that makes + \plotsymbol and \plotnodes behave like \point does when + \pointfillfalse: the portions of the drawing in the interior of the + open symbols is cleared (erased). \noclearsymbols restores the + previous default. + + -- New figures: + \makesector\arc + Makes a sector by connecting the arc's center to the arc's + endpoints. Calculates the center automatically. + \mfbezier[<tens>]{<list>} + \closedmfbezier[<tens>]{<list>} + Connect the list of point with the standard MF connector ".." + or optionally with "..tension <tens>..". + \qbeziers{<list>} + \closedqbeziers{<list>} + Make a path by connecting the first point in the list to the + third, then the fifth, etc., with quadratic Bezier curves using + the second, fourth, etc., points as controls. The equivalent of + a series of LaTeX \qbezier commands. + \regpolygon{<n>}{<name>}{<eqn1>}{<eqn2>} + Makes a regular polygon with n sides, <name> being a symbolic + name for the array of points. The last two parameters are + equations that should fix the location of two of the vertices, + or of the center and one vertex. In the equations, <name>0 is + the center, <name>1 through <name><n> are the vertices + anticlockwise. Example: + \regpolygon{17}{Bob}{Bob0=(0,0)}{Bob1=(0,1)} + After this, the names Bob0 through Bob17 can be used in drawing + commands where MF or MP point data is required (but not in TeX + commands like \tlabel without mplabels). + + -- \pairarray{<name>}{<list-of-ordered-pairs>} + \numericarray{<name>}{<list-of-numbers>} + These define <name>1, <name>2, etc., as symbolic names for the + elements in the list. After + \pairarray{Bob}{(0,1),(1,2),(3,0)} + one can draw a triangle with \polygon{Bob1,Bob2,Bob3}. The + symbolic names are only recognized by MF or MP and so can't be + used to position text without mplabels. + + -- \hgridlines{<yspace>}: like \gridlines, but draw only horizontal + lines. Similarly: \vgridlines{<xspace>} . All three commands now + draw their lines within the margins set by \axismargin and its + relatives. + + -- \gridarcs{<dr>}: Like \plrgrid except only the arcs are drawn. + Similarly: \gridrays{<dtheta>} + + -- Enhanced \barchart: the data can be ordered pairs that specifiy a + _both_ ends of the bar (Gantt diagrams). + + -- Almost all commands that set or change an mfpic variable or value + now arrange for the change to be global when outside an mfpic + environment, unconstrained by other groups, but local when inside. + The main exceptions are \store and \patharr, which need to be + inside a picture to work at all and so are always global. There may + be other exceptions. + + -- Some backward incompatibilities have been introduced; the above + changes in scope is the main one. Also: a permitted but + undocumented syntax in \plottext is no longer permitted. Points and + symbols are drawn in pointcolor, where in the past the filled + symbols were drawn in fillcolor and unfilled symbols in drawcolor. + + -- All old commands have been reexamined and most rewritten or + tweaked. All known bugs have been removed. (Unknown bugs might well + have been increased.) + + +This distribution, the latest updates, and some past versions, should also be +available at my web site: +<http://comp.uark.edu/~luecking/tex/mfpic.html>. + +-- +Dan Luecking <luecking at uark dot edu> +Department of Mathematical Sciences +University of Arkansas +Fayetteville, Arkansas 72701-1201 +U.S.A. diff --git a/Master/texmf-dist/doc/generic/mfpic/changes.txt b/Master/texmf-dist/doc/generic/mfpic/changes.txt new file mode 100644 index 00000000000..a362e6d95a1 --- /dev/null +++ b/Master/texmf-dist/doc/generic/mfpic/changes.txt @@ -0,0 +1,3053 @@ +%%% File: changes.tex +%%% A part of mfpic 0.7a beta 2004/04/16 +%%% + + Changes History. + +VERSION 0.0.x: + +Development versions. Never released. + + +VERSION 0.1: + +First version released to network, 30 June 1992. + + +VERSION 0.1.x: + +Test versions for new features, fixes, etc. None of them +were released for general distribution. Many new features added, bugs +worked out, code cleaned up. + + +VERSION 0.2: + +Second version released to network, 7 Sept. 1992. (Still had 0.1.13.1 +version number in code---oops!) + + +VERSIONS 0.2.x: + +Resumed serious development of TeX code: Sun 7 Nov. 1993. Much work +done on graphbase code in meantime, especially by Geoffrey Tobin. The +primary task at this point was a radical rewrite of the TeX code, +including defining a prefix form for shading macros. + + +VERSION 0.2.5 of Wed 10 Nov. 1993: + +Bug fix release Primarily work by Geoffrey Tobin. + + +REVISION 0.2.(5.0.)9 of Mon 28 Feb. 1994: + +Intended to release as version 0.3 to network. Release delayed, as +picture operator code is overhauled to cope with arbitrary overlays: 11 +Mar. 1994. + +Horizontal offset by unwanted glue is traced to missing comment +characters: Fri 29 Apr. 1994. + +Vertical displacement of shading reported for MF modes with +nonrectangular pixels: Mon 23 May 1994. + + +REVISION 0.2.5.1 of Wed 13 July 1994: + +Bug fix release Corrected "unxconv" bug which remained in version +0.2.5's graphbase.mf. + + +Alpha Test Versions. + +VERSION 0.2.9 Alpha of Thu 11 August 1994: + +A test release prior to any official version 0.3, is ready for intrepid +users. Introduces coordinate transforms, and other novelties. + + +UPDATE 0.2.9.1 Alpha} of Thu 8 September 1994: Fixes a bug in \sclosed +and a bug in \white, corrects some omissions and typos in the +documentation, and adds the \shadewd, \hatchwd, \lhatch and \rhatch +macros. + + +UPDATE 0.2.9.2 Alpha of Fri 24 February 1995: Rearranges some code in +mfpic.tex; little else to report. + +In 0.2.9.3 Alpha of Thu 21 March 1995: + +GT renamed \fill to \gfill, in order to avoid conflict with the LaTeX +\fill macro. + + +UPDATE 0.2.9.4 Alpha of Thu 13 April 1995: + +Contributes a test for an existing definition of each macro in +mfpic.tex, + +Renaming of \label to \tlabel, and \caption to \tcaption, in order to +avoid conflict with the LaTeX macros with those names. + +\white was renamed to \gclear, because \white is a likely name for a +color macro. + +Also, a new macro for defining Metafont functions was introduced, +because user-defined functions provide more power, and function plotting +macros were added that accept Metafont function names instead of +Metafont expressions. + +Renaming of graphbase.mf and graphdoc.tex to grafbase.mf and grafdoc.tex +to emphasise incompatible upgrade of mfpic Metafont macros, and to +provide $8+3$ filenames for ms-dos users. + +Added \hbox{} to start of \mfpic, for some now forgotten reason to do +with formatting, I suppose. + +VERSION 0.2.9.5 Alfa of Wed 19 July 1995: + +Replaces TeX dimensions by font dimensions for economy. + +Renames \mfcmd to \mfsrc for clarity. + +Renames \wedge to \sector to avoid conflict with the character name +defined in plain TeX and LaTeX. + +Introduces \mftitle, \tmtitle and \plr. + +Abolishes \plrpoint, \plrlines, \plrcurve and \plrcyclic as +redundant specializations. The meaning of \turtle is changed to a +Cartesian form, for flexibility. + +Changed objects.tex to use \tmtitle, \plr, \mfsrc, \gfill, +\gclear, \tlabel, and \tcaption. + +Rendering macros redesigned, and \setrender introduced. Coordinate +transforms in grafbase.mf made slightly more robust. Begin an attempt +to make grafbase.mf compatible with John Hobby's MetaPost drawing +program. + +Added comment in grafbase.mf about dangers of text arguments, + +Updated the documentation files grafdoc.tex, Acknowl.tex, README2, +MANIFEST and mfpicdoc.tex. + + +UPDATE 0.2.9.6 Alfa of Mon 24 July 1995: + +Contributes \thatch which provides hatching by lines at any angle. + +Modifications to \pen, \shadewd and \hatchwd, along with changes to +grafbase.mf to make drawing, shading and hatching more independent. + +Decided that the behavior of \point inside a connect environment was +bizarre, hazardous, and an unnecessary complication to the mfpic macros, +so \point has reverted to its original, obvious and simple definition. + +Renamed \rotate to \rotatepath. + +Also renamed the affine transform macros, so that they no longer use the +`s' of the present tense, which could be mistaken for a plural. (The +sample files did not hitherto use the affine transform macros, so the +damage may be slight.) + +Modified grafbase.mf to use a transform stack to implement local +Metafont coordinate systems; this may be more robust, and extensible to +other graphic localizations. + + +UPDATE 0.2.9.7 alfa, Fri 18 August 1995: + +Changes to pictures.tex: + +Replaced version from "0.2.9.1 alpha Thu 8 September 1994" to +"0.2.9.7 alfa Sat 5 August 1995". + +Added a comment containing an ASCII sketch of the commutative diagram +example, and indicated where each arc is drawn. + +Replaced all uses of \label by \tlabel, \caption by \tcaption, +\fill by \gfill, \wedge by \sector. + +Added some uses of \mftitle. + +Moved one arrow in the commutative diagram, to illustrate the b +option of the \arrow command. + +Simplified Metafont algebraic expressions used in function plots, so +that they use fewer * operators. + +Edited the example of \turtle to allow for the new semantics of +rectangular coordinates. + +Captioned all eight figures, with figure numbers and descriptions. + +Deleted an instance of "\vfill\eject". + +Increased the complexity of the seventh figure, to illustrate use of +hatching, closing, point, dotted curves, and so forth. + +Made figures seven and eight twice as large. + + +Changes to lapictures.tex: + +Renamed version from "0.2.9.1 alpha Thu 8 September 1994" to +"0.2.9.7 alfa Thu 17 August 1995". + +Magnified the LaTeX pictures document to the same scale as the plain TeX +one, using the \mag command. + +Set \fboxsep to zero. + +Initialized arrow heads using \headshape. + +Commented out the center environment around the commutative diagram +example. + +Placed \fbox commands around each picture. + +Other changes as in pictures.tex. + + +Extensive changes to grafbase.mf: + +Turned warningcheck off. + +Used an explicit designsize. + +Debugging refined. + +Rearranged some code. + +Made ClipOn boolean (instead of numeric). + +Added maparr macro. + +Eliminated mistake of using hround in graph-to-pixel coordinate +transformation. + +Remarked that clipping can distort paths by changing their points. + +Tried to clip on character boundary. + +Added Metafont vector coordinate transform, to complement affine +transform for geometric points. + +Write message when drawing nominal Metafont bounding box. + +Changed beginmfpic Metafont macro to take only the character code as +an argument. + +Introduced global Metafont transform stack, for coordinate changes. + +Replaced currentpen by drawpen in path stroking. + +Changed ourfill and ourunfill to use an undelimited path argument. + +Added setdotpath, ourdot. + +Changed onedot to use dotpath instead of a scaled shape path. + +Edited tightbbox and bbox to take a path described in pixel +coordinates as their first argument, instead of one in graph +coordinates. + +Added tbbox. + +Did some more saving of local variables in Metafont functions. + +Deleted lhatchf and rhatchf. + +Added thatchf, thatch, hhatch and xhatch. + +Rewrote lhatch and rhatch to use thatch. + +Edited dotted, renamed it dashed. + +Added a separate dotted Metafont macro. + +Changed head from a def to a vardef; edited head to clarify its +code. + +Altered axis tic mark macros, xmarks and ymarks to ensure that the +tic marks are always at right angles to their axes, irrespective of +coordinate transforms. + +Added a grid command. + +Renamed mkellipse to ellipse, deleted old ellipse. + +Renamed mkarc to arc. + + +UPDATE 0.2.9.8 alfa, Mon 11 September 1995: + +Added to Acknowl.tex. + + +In mfpic.tex: + +Add comment about use of \ignorespaces to skip spaces in user's +document after \mfpic command. + +Retain line separations of user's document's mfpic environment when +writing Metafont file. This prevents long Metafont commands from +exceeding Metafont's input buffer. + + +UPDATE 0.2.9.9 alfa, Thu 5 October 1995: + +In mfpicdoc.tex: + +changed \wedge references to \sector, and \rotateabout to +\rotatearound. + +Added some logical formatting commands to mfpicdoc.tex. + +Included much more information about recent changes (from 0.2.9.1 to +0.2.9.8). + + +In mfpic.tex: + +Renamed \@graph to \@graphfont for identifiability. + + +UPDATE 0.2.9.10 alfa, Fri 6 October 1995: + +In grafbase.mf: + +Deleted spurious argument to \xyswap. + +Changed \store to take two arguments, and to logically bracket the +second, which is the path description. + + +UPDATE 0.2.9.11 alfa, Fri 24 November 1995: + +In grafbase.mf: + +Fixed X-coordinate rounding bug in thatchf. + + +REVISION 0.2.10.0 alfa, Wed 17 January 1996: + +In mfpic.tex and grafbase.mf: + +Changed names of five Metafont macros: xslanted, yslanted, zslanted, +boosted, and xyswapped to xslant, yslant, zslant, boost, xyswap. + + +In grafbase.mf: + +Replaced my dash and dot code by Frank Michielsen's, modified to use +suffix arguments instead of text for l-values. + +Also, the dotsize argument to dotted is now effective. + +Deleted the unused ourdraw, ourfill, ourunfill macros. + +Simplified the dotpath and onedot initialization code; it was too +baroque. + +Added a pixdot macro as a shorthand for picdot(active_plane,onedot,p). + +Replaced the apoint (w, a) macro by bpoint (w, b) which is a +shorthand for fullcircle scaled w shifted b. + +Gratuitously added Bruce Leban's overlay macros from the METAFONTbook, +page 295. + +Cosmetic reformatting of source. + + +In Acknowl.tex: + +Add Frank Michielsen's name. + + +REVISION 0.2.10.1 alfa, Thu 18 January 1996: + +In grafbase.mf: + +Fixed wrong declaration in dotted of dp from path to pair. + + +REVISION 0.2.10.2 alfa, Tue 23 January 1996: + +Editing to restore compatibility with older graphbase.mf versions used +with xfig's (actually, transfig's fig2dev's) mf driver (genmf.c). + + +In mfpic.tex: + +Edited writing of setting of Metafont variables xscale and yscale to +omit factor of unitlen. + +Changed references to drawwd to penwd in \drawpen. + + +In grafbase.mf: + +Add declarations and initializations of these variables: unitlen, +xscale, yscale, xneg, xpos, yneg, ypos. + +Renamed drawwd to its former name, penwd. + +Again made penwd, hdwdr, hdten into newinternal variables, and +assign them using interim. + +Definition of ztr now includes unitlen as a factor in the x and y +scaling. + +mfpicenv and endmfpicenv defined as empty statements. + +bounds defined for setting xneg, xpos, yneg, ypos. + +beginchar now includes unitlen. + + +REVISION 0.2.10.3 alfa, Tue 6 February 1996: + +In mfpicdoc.tex: + +Updated documentation to cover to \dotted, \dotsize and \dotspace +on the one hand, and \dashed, \dashlen and \dashspace on the other. + + +REVISION 0.2.10.4 alfa, Mon 26 February 1996: + +In mfpic.tex: + +Let internal \sim@gdef (simple global definition) stand for \gdef. + +Added \newgdef for new global definitions with a test for previous +definition. + +Replaced use of \obeylines by \mfpicobeylines, to use \endgraf instead +of \par, because LaTeX(2e) redefines \par with unpleasant effects on +Metafont files when using LaTeX's center environment. (To wit, LaTeX's +center environment would write \@@par to the Metafont file. + +Defined \preservelines to call \mfpicobeylines then set +\newlinechar to control-M (carriage return). + +Use \preservelines in \mfsrc, thus bypassing (I hope) the mischief +arising from LaTeX in the center environment. + +Wrapped replacement text of \mfsrc in a layer of braces. + +Added descriptive comments for \tlabel and \tcaption. + +Set TeX's primitives \leftskip and \rightskip to zero dimension +inside \tcaption, so as to protect typesetting of diagrams' captions +from unwanted effects. + + +REVISION 0.2.10.5 alfa, Sat 9 March 1996: + +Minor reformatting of mfpic.tex, including adding spaces, adding +comment characters at end of more lines, and renaming some internal +register variables. + +Introduced \polyline as an alternative name for \lines. + +In order to avoid repetition of side-effects, changed \tcaption to use +\unhbox\@textbox, instead of repeating its text argument. + + +REVISION 0.2.10.6 alfa, (two hours later) on Sat 9 March 1996: + +Updated mfpic.tex and documentation files to incorporate improvements +by Dan Luecking: + +a loading check that automatically saves and restores the catcode of +`@'; + +the name of the graph base is now stored in a macro near the top of +mfpic.tex; + +\leavevmode is now moved [GT has, for now, commented it out +completely]; + +\polyline introduced as a synonym for \lines; a \polygon figure +has been introduced; + +\\ specifies explicit line breaks in tlabels and tcaptions; + +\onelevel causes one level of expansion in an \edef; + +\savepic and \copypic allow saving, use and copying of an entire +mfpic picture, including its tcaptions and tlabels. + +Also modified \tcaption code to prevent repeated use of the text +argument, as that can cause side effects, as reported by Dennis +Petrovic. + + +REVISION 0.2.10.7 alfa, Sat 28 March 1996: + +First release via Geoffrey Tobin's School's local anon ftp site: + + ftp.ee.latrobe.edu.au : pub/gt/mfpic + +Added skip-pix.tex file, which tests whether TeX's \leftskip +primitive breaks up mfpic's typesetting of diagrams. Fortunately, it +seems not. + + +REVISION 0.2.10.8 alfa, Tue 26 May 1996: + +Second, and bug fix, release via Geoffrey Tobin's anonymous ftp area. + +Due to change in syntax of \store to take the path command as a second +argument (which made coding of mfpic.tex easier), objects.tex and +part of mfpicdoc.tex needed to be amended. Reported by Miroslav Dont +(Thu 16 May 1996). + +Descriptions of LaTeX environments clarified to emphasise that mfpic's +plain TeX command names may be used in LaTeX. This is useful to know +when designing automatic code generators. Reported by Van Snyder (Fri +17 May 1996). + +Added hyphenation to \MFbook in documentation macro file header.tex. + +Noticed that the method by which the line breaks in the TeX file are +copied into the Metafont file can cause command arguments to be omitted +from the Metafont file unless at least the left brace (immediately +before the arguments) occurs on the same line as the command. Corrected +objects.tex to obey this restriction. Also noted this phenomenon in +mfpicdoc.tex. Effect reported by Miroslav Dont (Thu 16 May 1996). + +Updated lapictures.tex to LaTeX2e. + +Added LaTeX2e logo to header.tex. + + +REVISION 0.3.0 alpha, 1998: + +Numbers jump a lot from here because I (Dan Luecking) have been lax in +keeping track of changes. First version with support for Metapost. +(Yes!) + +Translated grafbase.mf to grafbase.mp, retaining all(?) +functionality. Now any(?) .mf file created by a recent mfpic can be +run through Metapost to produce a PostScript picture. Lots of problems +with Metapost capacity, especially with shading. It is apparently a lot +more memory intensive to hold thousands of circular paths in memory than +hundreds of thousands of pixels. Ultimately recoded the grafbase.mp +shading macros to simply calculate a gray colored fill. + +Added grafbase functions sin, cos, and their inverses invsin, +etc., that compute in radian measure. Also tan and cot. + +Wrote mppicdoc.tex, which can be TeX-ed alone or input from +mfpicdoc.tex. Should probably combine the two documents. Made small +changes to header.tex: added logos for pdfTeX and pdfLaTeX. Changed +The macros \MF and \MP to use small capitals. Minor modifications to +\LaTeX and \LaTeXe + + +REVISION 0.3.8 alpha, 1999: + +Color has been added. Standard colors for lines/curves (drawcolor), +fills (fillcolor), hatch patterns (hatchcolor), and arrowheads +(headcolor) added to grafbase.mp. Corresponding macros in mppic.tex +for setting these colors. Optional arguments for color added to \gfill, +\draw, \arrow, and all the hatching macros. A new macro \polkadot +creates polkadot fill patterns. + +Changed some of the commands for setting dimensions so that they +actually worked, and so they are local to mfpic environments. + +Added support for LaTeX2e's \usepackage command and options. Added +graphics inclusion code, summoning the following packages: epsf for +plain TeX or LaTeX209, graphics for LaTeX2e and pdfLaTeX, the macro +files supp-pdf.tex and supp-mis.tex from the ConTeXt distribution +for plain \pdfTeX). Added code to detect which TeX format was in use. + + +REVISION 0.3.9 alpha, 2000: + +Altered almost all messages written to the log file or the terminal to +announce they were from mfpic. Altered format detection code to test +against both \UndEfInEd _and_ \relax (lest some previous package +convert certain commands to \relax using the \csname style test). +Minor change to definition of \circle to avoid error messages in LaTeX. + +Changed the graphic placement code so that it tests for the existence of +the graphic first (to avoid all those error messages from epsf, +graphics, etc., on the first pass, or when Metapost fails to make a +graphic). + +Tried to find and change code in grafbase where we could inadvertently +divide by zero. Added another closure prefix \uclosed and its +corresponding grafbase support, to close a path smoothly (meaning +simply matching directions at both ends), but keep the original curve +Unchanged. The current (\sclosed simply closes with ..cycle which +alters the original curve. + + +REVISION 0.3.10 alpha, 2000: + +Put mfpic version, date and package name into macros for use in +messages. Decided the package name is "mfpic" if it is input as +mfpic.tex or mfpic.sty, otherwise mppic, regardless of whether the +metafont or metapost option is used. There are four files +m[fp]ic.[sty,tex], which simply set the package name and input +mppic.tex if necessary. Also put this version and date info into +strings in grafbase.mf. + +Added changes contributed by Jaromir Kuben (Thanks!): An option +centercaptions and command \centercaptions to center the lines in a +\tcaption. Also \nocentercaptions; these can be used at any point to +turn the feature on and off. Improvements (corrections?) to the code +that positions text labels (so that) labels that extend outside the +picture are correctly taken into account. Changes to the positioning +parameters in \tlabel. Both c and b now take into account the +depth of the text b puts the absolute bottom of the text in line with +the point. A new parameter B to align the baseline of the text with +the point. Jaromir also contributed several corrections to grafbase.mp +(mostly inadvertently introduced by me, DHL). + +Added option dvipsnames to allow color names as in the dvips header +color.pro. Requires file dvipsnam.mp. Added grafbase.mp macros: +cmyk, RGB, gray and rgb to convert from the indicated color space +to Metapost's internal color space (which is rgb, so the last is a +no-op). In plain TeX the command \dvipsnames can be used in the +preamble (before \opengraphsfile). + +Added macro \ConTeXt to header.tex, a macro \opt for style of +LaTeX2e option names. Changed \prog to typeset its argument in +sans serif font. Changed \tmtitle in mppic.tex so it _doesn't_ ignore +following spaces (it ended with \mftitle which invokes \ignorespaces). + +Added functions tanh, its inverse atanh, and additional trig +functions secd, sec, cscd, csc, atan, invtan. Made log a +synonym for ln. Added complex variables functions Arg, cis, zexp +and Log. + +Changed all trig, hyperbolic, exp, log, etc, to use syntax "vardef +<name> primary X" so as to match (I hope) as close as possible the +behavior of the built-in sind and cosd. + +Changed \do@ptparami so that it does not strip too many braces. This +was done by changing the line \redef\@ptparami to be parameterless +(delaying the reading of the optional parameter). The old code read the +optional parameter, replaced it, then read it again. This strips two +levels of braces, making two levels of bracing necessary to hide an +enclosed bracket: + \draw[{{\color[cmyk]{1,1,0,0}}}]... +(Such use of LaTeX color macros has not yet been added, but might be one +day.) This strategy is closer to LaTeX's optional parameter handling +technique. + + +REVISION 0.3.11 alpha, 2000: + +Added \plot (usage \plot[<size>,<separation>]{<shape>}...) similar to +\dotted except: +1) explicit shape required (shapes Triangle, Square, Circle, Plus, + Cross, Star, SolidTriangle, SolidSquare, SolidCircle). +2) initial size and separation are 2pt and 5pt. +3) Size is governed by \plotsymbolsize, and separation by + \plotsymbolspace. The dimension \plotsymbolsize corresponds + roughly to the _average_ diameter of the shape. + +Added code to mkfcn and parafcn so that the end of the curve falls +on the given endpoint (even if bst doesn't go evenly into bmax-bmin). +Also ensure the loop parameter doesn't exceed infinity. Also avoid +problems if the sign of bmax-bmin differs from that of bst. + + +REVISION 0.3.12 alpha, 2000: + +Save and restore catcodes of certain punctuation (@.,:;!?{}`'=/- and +parentheses), as well as spaces, setting punctuation to 12 while reading +mppic.tex to ensure the right stuff gets written to the .log and .mp +files. + +Added macro \datafile to read a file of number pairs and create the +polygonal path connecting them. Works like the other figure macros +(i.e., may take any prefixes). + +Added options clip (to clip all pictures to the specified dimensions), +truebbox (to give the metapost output file the true bounding box rather +than the one specified in the \mfpic arguments), and debug (write +debugging info to terminal and log file). Command forms: \clipmfpic +turns it on \noclipmfpic turns it off. Similarly, \usetruebbox and +\notruebbox. For debug we can define \mfpicdebug before loading +mfpic.tex (which will turn on debugging information written prior to +option processing), and in the rest of a source file, \mfpicdebugtrue +and \mfpicdebugfalse will switch it on and off. + +%%% Revised after here, adding spaces before and after code and math +%%% removing blank lines, stray TeX markup, reformatting paragraphs, etc. +Changed names of various commands to a more imperative form: +\usingmetapost becomes \usemetapost, \usingmetafont becomes +\usemetafont, \dvipsnames becomes \usedvipsnames, etc. Also changed +name of option centercaptions to centeredcaptions. Changed many +internal names, prefixing most with "mfp@", inserting "@mfp@" in the +\if... commands. + + +REVISION 0.3.13 alpha, 2000: + +\datafile rewritten, now ignores leading blank lines and comments, and +won't gag on commented out EOLs. Code somewhat modularized. + +Went back to technique of expanding argument of \tcaption twice +(caveat emptor). + +New command \plotdata reads a data file and draws one (polygonal) path +for each non-blank sequence of lines in the data file. Exits when a pair +of blank lines is encountered (or EOF). Cycles through six different +drawing styles for successive curves. User may elect different colors +(with \coloredlines), different symbols (\pointedlines), or +different dashing patterns (\dashedlines). NOT a figure macro, (i.e., +no prefixes). + +New command \using affects what \datafile and \plotdata write to +the .mf output. Default is \using{#1 #2 #3}{#1,#2}, meaning: of two +or more space delimited numbers, write the first two separated by a +comma. + +Brand new dashing and dotting code in grafbase. A complete +reorganization of the code made dashing faster. That was followed by +another reorganization and the gendashed (generalized dashes) command +added to grafbase. Now any dashing pattern can be drawn. A dashing +pattern, ptrn, consists of three arrays: ptrn.start[], ptrn.rep[], +ptrn.finish[]. The command gendashed (ptrn) p; draws the path p +beginning with ptrn.start, repeating ptrn.rep, and ending with +ptrn.finish. The arrays are numeric and specify the lengths of dashes +and gaps. A command + dashpat (suffix name) (text dims) +takes a comma separated list dims, assigns them to the array name.rep, +and computes reasonable name.start and name.finish. + +\gendashed{<pattern>}... is a generalized dashing command; <pattern> +is the name of a dashing pattern. + \dashpat{<name>}{<dim1>,<dim2>,...,<dim2n>} +will create a dashing pattern with the specified name. Here <dim1>, +etc., are dimensions specifying the length of dashes (odd positions) and +the length of gaps (even positions). A dash length of 0 is written as a +dot. Patterns dashtype0 through dashtype5 are predefined and used by +\plotdata when \dashedlines is selected. + +Commented out several macros in grafbase that were never used +elsewhere, and also some that were only used once (replacing that use by +the replacement text). I haven't done any comparisons, but for the macro +dotted, avoiding two expansions out of four (what it used to take to +draw a dot) might be a significant time saving when thousands of dots +are being drawn. + +Added a couple of rounding commands to the .mf shading code. All dots +now pixel aligned, looks infinitely better. + +Corrections to mkfcn and parafcn, they could still have overshot the +value of bmax. + +Removed all spaces (commenting out EOL's) in mppic.tex. It can now be +\input in horizontal mode without generating any spaces (even without +switching to \nullfont). Removed \nullfont. + +Changed some more internal names. Added Diamond and SolidDiamond to +the symbols available to \plot and \plotsymbol. + +At some point (perhaps this or the last revision) I added a command +\fcncurve that draws a function (i.e., curve doesn't double back) if +the x-values are unique and listed in order. It has an optional +tension-like argument. Added an optional tension parameter to \curve, +also. + + +REVISION 0.3.14 alpha, 2000: + +Added \@@tlabel to write label text to output file between btex and +etex. Added mplabels to make \tlabel use it instead of original +\@tlabel. Commands \usemplabels and \nomplabels to turn the option +on and off. Added third part to the optional argument of \tlabel to +rotate the text (ignored in \@tlabel) so \tlabel[Bl45] will place +the left baseline at the point and rotate 45 degrees around that point. + +New macro \mfpdatacomment so that \datafile and \plotdata can now +have their comment character reset. A side effect is that `%'s in the +data file will be recognized. Commands \makepercentother and +\makepercentcomment created to allow the user to use `%' in \using +arguments. + +Gave \plotdata the ability to cycle through 8 colors or 9 symbols +(instead of only 6), but still only 6 dash patterns. (Too many makes for +confusion. Only increased colors and symbols because it was so easy.) + +Added framing macro. On the first TeX run (indicated by nonexistence of +.tfm or fig.1), now show a visible rectangle of appropriate size with +the figure number inside. For plain TeX users, the internal code is made +available in the user level command \framed[<fgap>]{...}. Parameters +\framegap and \framethickness control the default appearance. +(Internal code for undefined figures uses \framegap =-\framethickness +so not to take up any extra space.) + +Added some error checking: when option mplabels is selected without +metapost, issue error message and ignore. Same when \usemetapost is +used after \opengraphsfile. Remove dvipsnames option, making all +dvips color names always available to mfpic. + +Multiple changes to documentation: Added \GS for Ghostscript and \sc +for small caps to header.tex. Folded all the new macros and their +descriptions into mfpicdoc.tex. Still keeping mppicdoc.tex for more +detail on differences between the Metafont and Metapost support. + +Made some small additions to MFobjs.tex and MPobjs.tex to better +illustrate some new features. Adjusted pictures.tex and +lapictures.tex so they produce the same output and no overfull boxes. +Changed TeXMPobjs.tex and LTXMPobjs.tex so that they work better in +pdfTeX and pdfLaTeX, resetting \pdfpageheight and \pdfpagewidth (which +otherwise get magnified by \mag=1200). + +Replaced curves.dat with curves1.dat and curves2.dat to better +show features of \plotdata. + +Changed the default for \using to \using{#1 #2 #3}{(#1,#2)}, +(redundant parentheses). + +Added \fdef, which seemed to be documented, but not defined! Changed +the format slightly and adjusted the documentation to reflect that. + +Changed \savepic: Now use \newpic{\foo} to allocate a box, +\savepic{\foo} to store the next picture, and \usepic{\foo} to copy +it. Now more like LaTeX's system of save boxes. + + +REVISION 0.3.15 alpha, 2000: + +In grafbase, changed secd and cscd so that abs(temp) < +nottoosmall is tested instead of temp itself (which was incorrect when +temp < -nottoosmall). Renamed dashed to DASHED to make primitive +dashed available to power users. Added some error checking to dashing +code. Added save in several places in *fcn commands. Changed +hatching code in grafbase.mp so that all (even those not used by mfpic) +respect hatchcolor. + +Redefined parafcn so it can call mkfcn like all the other function +drawing commands. + +Added \mfpverbtex to write verbatimtex block to .mp file. + +Changed a few \newdef-s and \newlets to \def and \let to keep +ConTeXt from complaining. Affected commands are \rotate, \mirror, +\scale and \grid. Changed code for date written to output file for +same reason. + +Changed \newpic to \newsavepic to more closely parallel LaTeX's +\newsavebox command. + +Allow plotting of a number in a data file against its sequence position +with \using{...}{...\sequence...}. + +Rename \mf@gobble to \mfp@gobble. Move the definition of \newdef +earlier and use it more (didn't catch any new conflicts). + +Changed \rotatepath from a \@modmac to a \@closmac (even though it +doesn't close anything), because that makes its behavior vis-a-vis +rendering more in line with what one might expect. Actually, closing and +rotating both simply accept a path, change it, and pass the result on. +So both should be handled the same. + +Added contributed macro \pointdef: \pointdef{A}(1,3) makes \A expand +to (1,3), with \Ax and \Ay expanding +to 1 and 3, respectively. + +Provide a directory structure to the distribution. Rename file mppic.tex +to mfpic.tex and provide files mppic.tex, mfpic.sty, and mppic.sty +as wrappers to input it. Made Metapost the default when mppic.* are +used. + +Add some error correction to dashpat: force an even number of +dimensions. + + +REVISION 0.3.16 alpha, 2000: + +In grafbase: + +Change name of glabel (in grafbase.mp) to gblabel so as not to +conflict with glabel from graph.mp in the standard Metapost +distribution. Adjusted mfpic.tex accordingly. + +Correct the change to dashpat made in 0.3.15: don't force dashing when +there are fewer than 2 dimensions in the list. Instead, this is the +signal to draw a solid curve. + +Save the variables dashes and dots used in the macros DASHED and +dotted. + +Uncomment three macros commented out in 0.3.13: tightbbox, tbbox and +bbox. Though these are not used in any other macro, but they might +nevertheless be useful to users of grafbase. + +Change the dashtype[] arrays that mix dots and dashes so they begin +with a dot. This will produce a dot at the ends of the curve. This just +looks better than a partial dash. + +Added unbound.tex updating mfpic info in "TeX Unbound". + +Restored mf-revu.tex, somewhat altering its formatting and correcting a +TeX error. + +Changed \endconnect so it tests for its use in LaTeX as an +environment and if so issues \aftergroup\@startfigtrue and +\aftergroup\@imrendtrue to bypass the LaTeX-supplied \endgroup. +Added a similar test to \endmfpic to set \@ignoretrue. + + +REVISION 0.4.0 beta, Aug 2000: + +Released to CTAN. Removed mppic.*, package is named mfpic regardless +of whether MF or MP support is needed. + + +REVISION 0.4.01 beta, Nov/Dec 2000: + +Sergei V. Znamenskii reported (and mostly solved) an incompatibility +with AmSTeX using amsppt style if mfpic.tex is input after the +\documentstyle[amsppt] command. The file amstex.tex loads the dummy +font, setting 22 font dimensions. Then amsppt.sty loads some more fonts. +It appears that if font loading intervenes, mfpic.tex cannot add extra +font dimension parameters to dummy to use with \newfdim. Solved by +changing + \font\@dummy=dummy +to + \font\@dummy=dummy scaled 1002 +in mfpic.tex + +Also corrected code that purported to detect LaTeX when in fact AmSTeX +was in use. + +Added documentation of a bug in supp-pdf.tex which requires +\usemetapost (as well as \usepackage[metapost]{mfpic}) to come before +\usepackage[french]{babel} when running pdfLaTeX. The conflict was +reported by Pascal Chantriaux. + +Changed \tmtitle and \mftitle so they read the argument as a token +list and write it to .mf file and .log file without expansion. Simple +things like "\'" expand to quite long expressions in LaTeX2e. + +Added commands \MFPdebugwrite (to write its argument only in presence +of debug option), \MFPmsg (as a synonym for \immediate\write16) and +\MFPICmsg (to write its argument preceded by "MFpic: ". + +Added \restoreCODE to shorten all the lines in \mfpic-package that +restore the category codes of punctuation. + +Added a few new debug lines in response to previous failure to detect +\AmSTeX. + +Rewrote \mfp@now (which generates a time-stamp for the output file) to +use only 2 \count registers instead of three. + +Added \dimendef\mfp@scratch=255 for scratch use instead having +\dimen255 hard coded. This will make changes easier should use of +\dimen255 cause any problem. + +Added \penwd as a synonym for \pen (to be more in line with +\shadewd, etc.). + +Removed redundant parentheses from default \using. + +Changed internal command \mfp@rwdata, which is responsible for reading +and writing in the \datafile and \plotdata commands, so that it +outputs + polyline (false)((x_1,y_1),(x_2,y_2),...,(x_n,y_n)); +instead of + (x_1,y_1)--(x_2,y_2)--...--(x_n,y_n); +The intent is to have a better interface if ever we get 3D support +started. For example, polyline calls textpairs which processes the +list of coordinates. In a hypothetical 3D environment, we'd need to +change only \using to write triples, and then textpairs could choose +to run some command that processes triples instead of pairs. + +Changed use of \unpreservelines in \plotdata, etc., to the expicit +resetting of the category of ascii 13 (which was its only purpose +anyway). + +Added macros \xaxis[<hlen>] and \yaxis[<hlen>] with the obvious +meanings. Plan on adding something like \leftaxis, \bottomaxis, etc., +with changes to \xmarks and \ymarks for putting tics on them. +(Haven't figured out the best interface yet.) + +Added some new error messages. Rewrote almost all error messages, adding +linebreaks. Added command \mfp@errmsg to format error messages and set +the \errhelp tokens. + + +REVISION 0.4.02 beta, Jan 2001: + +Backward comparability was inadvertently destroyed when \curve was +given an optional parameter and the definition of curve in grafbase.m? +was changed. Any .mf file created by using \curve with an older +version of mfpic would give curve the wrong number of parameters for the +new grafbase files. I renamed the new curve to tcurve and gave curve +a definition equivalent to its old one. + + +REVISION 0.4.03 beta, Feb 2001: + +Corrected a typo in vardef thegblabel: had zz for a parameter, but +used z in the replacement text. I am surprised \tlabel _ever_ worked +when the mplabels option was selected. + + +REVISION 0.4.04 beta, Mar 2001: + +Added \smoothdata[<tension>] to cause \datafile and \plotdata to +draw smooth curves with optional tension setting. And \unsmoothdata to +restore the default. + +Changed \pointedlines to work as documented (causing \plotdata to +issue the equivalent of \plot{<symbol>}) and added \datapointsonly to +behave as it used to (causing \plotdata to issue the equivalent of +\plotnodes, plotting only the data points). + +Some documentation changes: added info that something like +\xmarks{-4 step 2 until 6} is valid. + + +REVISION 0.4.05 beta, Mar 2001: + +Changed vc=vt; to vc:=vt; in function clipsto. When used on an +array of paths, the original caused an "Inconsistent equation" error +on the second iteration. Fortunately, this does not come up in mfpic +except for very advanced users. + + +REVISION 0.4.10 beta, May 2001: + +Renamed \fileversion and \filedate to \mfpfileversion and +\mfpfiledate to avoid name clashes with other packages. Most packages +only use these macros for messages while loading, but mfpic writes the +information as a header comment in the output file + +Added \mfp@ifnextchar, a clone of LaTeX's \@ifnextchar, and +redefined the macros \do@ptparam and \alt@ptparam in terms of it. +Copied LaTeX's code to eat one space after a command into the macro +\eatspacedef. + +Added \mfp@delim as an all-purpose argument delimiter. For debugging +purposes, its definition is to issue an error message saying it +shouldn't ever be triggered. + +Slight rewrite of \mfp@now and \mfp@today. + +Renamed \framed and related macros by prefixing mfp or mfp@. Some +formats and packages (ConTeXt, for example) have a \framed macro. Now +\mfpframed _can_ be used, and _must_ be used if \framed already +exists (as in ConTeXt). Replaced \framegap and \framethickness +with \mfpframegap and \mfpframethickness. If \framed is already +defined, the old version is kept and the user may not get the effect +described. + +Slight change to what is printed in the .dvi file when a mfpic detects +that Metafont or Metapost has not been run, or the figure is absent. + +New dimensions: \tlabel@hadj, \tlabel@vadj and \tlabel@sep for +shifting \tlabel text. The first is a horizontal adjustment, the second +vertical, added to every label. The third shifts the label directly away +from the point of placement (unless optional argument "[Bc]" or +"[cc]" is used). A label is shifted by \tlabel@sep downward when the +`t' parameter is found, upward for `b', rightward for `l' and +leftward for `r'. The first two dimensions can be set with a new macro +\adjustlabels{<hadj>}{<vadj>} (name later changed to \tlabeljustify, +and the third with \tlabelsep{<dimen>}. Need to do it this way because +under mplabels they need to write the information to the output file. + +Added \expandafter before \@render\fi in several places. This now +appears not to be needed, but the \fi following \@render caused +problems with some experimental versions of optional argument handling. + +Added the following macros for drawing axes along the borders of the +picture: + \leftaxis + \rightaxis + \topaxis + \bottomaxis + \bottomleftaxes + \borderaxes + \leftaxisshift + \rightaxisshift + \topaxisshift + \bottomaxisshift +The first four draw the appropriate axis (no head by default), the last +four set an amount (in graph units) to shift the axis inward. + +For tick marks we have: + \lmarks + \rmarks + \tmarks + \bmarks + \lmarksposition + \rmarksposition + \tmarksposition + \bmarksposition + \xmarksposition + \ymarksposition +The first four set the positions (and optionally size) of the tick marks +on the corresponding axis, the next six determine if the marks are +centered, or on one side of the axis. They take an argument which must +be one of inside, outside, centered, ontop, onbottom, +onleft, or onright. For side axes the default is inside, while +for x- and y-axes it is centered. + +For arrowheads on the side axis we have \sideaxishead which takes a +dimension argument and sets the length of the arrowhead. To turn heads +off again set the length to 0pt. + +Added \gridlines to draw a regular grid of lines. It's syntax is the +same as that of \grid. Changed the behavior of \grid so that instead +of starting at the left and bottom, it draws the grid centered on the +origin of the graph coordinates. + +Changed most of the \if-tests so that if an incorrect optional parameter +is used, the default behavior will be seen. For example, \function +takes an optional argument of [s] or [p] with s the default. The +code had been: + \if ##1s true\else false\fi +and I changed it to + \if ##1p false\else true\fi +so for the typographical error \function[o], the user will get the effect +of the default s. + +Added the command \labeljustify to change the default justification +of text labels. For example, \labeljustify[cr] makes the default +[cr] instead of [Bl]. + +When truebbox is in effect, but mfpic detects that Metapost has not +been run, truebbox is turned off for each picture. Before, this was +global, now it is local (so that it doesn't affect a new \opengraphsfile +command, even though mfpic does not officially support more than one +\opengraphsfile commands per file). + +Added the command \tlabels (note the plural). It has one mandatory +argument which contains a concatenation of arguments for one or more +\tlabel commands. These arguments may (but need not be) separated by +spaces or new-lines. + +Replaced all occurrences of \@labeldim, which had been \let equal to +\mfp@scratch, to the explicit control sequence \mfp@scratch. This was +to avoid confusion that could have been caused by changing one of them, +not realizing they should be the same. + + +REVISIONs 0.4.11--15 beta, July 2001: + +Restored a lost backward comparability: I stored the (Metapost) +primitive meaning of dashed in the command dashed_ and made dashed +synonymous with DASHED. Power users will have to use dashed_ if they +wish to invoke that primitive after loading grafbase.mp + +Added \MFPICwarn in addition to \MFPICmsg and \mfp@errmsg. Added +"MFpic error: " to the front of all mfpic generated error messages. +Introduced \on@line (from LaTeX) to place the line number in warnings. + +Removed many more spaces and eols from mfpic.tex (lest it be input +with spaces or eols active). Added some spaces between a command and +`!' lest the latter have category 11. + +Changed name of \restoreCODE (and others) to \MFPrestorecode (etc.) +after running across a package which defined \restorecode. Introduced +\@xp (from AMSLaTeX) for \expandafter. Removed saving of the current +font as \@torig, since we no longer change to \nullfont. + +Added test for equality to \relax in \testdef. Removed \newlet +(later put it back), \sim@def and \sim@gdef as they are not used (any +longer). The latter two were used once each and those were changed. + +Changed handling of \if@mfp@metafont and \if@mfp@metapost to ensure +they are kept mutually exclusive. Changed handling of +\@if@mfp@beforefileopen from a simple \if...\else...\fi to saving the +alternatives in a macro and then issuing the macro after the test. +Changed \mfp@clip to make it global if issued before \opengraphsfile. +Redid \mfp@truebbox to ensure it is global, but leave an out so that +\@mfp@truebboxtrue/false could be set locally. Made similar +changes to mplabels. + +Removed \unpreservelines from \mfsrc since grouping restores EOLs. +Also made \mfsrc check that a .mf/p file has been opened. + +Removed the definition of \mf@bsl since it is not used (any longer). + +Delayed the definition of \mfp@data until \@mfpic@graf@macs. +Introduce the hook \mfp@additions, to be expanded last in +\@mfpic@graf@macs. + +Changed the name of macro \mfplinestyle to \mfplinetype and the +\count register \mfp@linestyle to \mfp@linetype. +Changed name of \missinggraphfileerror to \nooutputfileerror. +Changed name of \adjustlabels to \tlabeloffset. +Changed name of \labeljustify to \tlabeljustify. + +Try to support multiline labels even in the case of mplabels by writing +appropriate definition of `\\' to the .mp. + +Changed definition of \mfp@scratch from \dimension255 to a register +defined by \newdimen. + +Added ability to create a curve surrounding some text: macro +\textboundary creates a rectangle, with optionally rounded corners, +\textoval creates an ellipse with aspect ratio the same as the block of +text, \textellipse creates an ellipse with a given aspect ratio, +\textcircle is \textellipse with aspect ratio of 1. TeX measures +the text and transmits the information to Metafont. + +New macro \axislabels. This takes a letter indicating the axis, an +optional justification parameter (as in \tlabel) and a comma separated +list of TeX text and numbers. The numbers indicating the position on the +given axis to place the text. Since side axes may be offset from the +edge of the graph, the utility \mfp@addto is used to add the boundary +coordinate (one of the parameters of \mfpic) to the appropriate offset, +returning the result in graph units for use in a \tlabel command. The +default justification depends on the axis. It is chosen so that the text +ends up outside the border axes, below the x-axis and left of the +y-axis. + +Color additions: added \tlabelcolor and grafbase color variable +tlabelcolor to control color of Metapost placed text; added +\backgroundcolor to set the color variable background, the color used +by \gclear and by all plain Metapost unfill operations. Had to +rewrite the various color setting macros since, till now, all assumed +the color variable name ended with the string "color". + +Changed the macros introduced in 0.4.10 or previous that controlled the +position of the side axis. Now instead of saying + \leftaxisshift{<num>} +one says + \axismargin{l}{<num>}. +One can set all 4 margins at once with + \setaxismargins{<num>}{<num>}{<num>}{<num>}. +or all margins to the same number with + \setallaxismargins{<num>}. + +A similar change was made to the setting of the axis marks position +(i.e., inside, outside or centered). Instead of + \lmarksposition{inside} +one writes + \setaxismarks{l}{inside}. +One can also set the position of all the border marks at once with +\setbordermarks, or all border marks to the same position with +\setallbordermarks. + +Command \drawaxes added: it takes a comma separated list of +letters chosen from x, y, l, b, r and t, and draws the specified +axes. Later renamed to \doaxes, and commas omitted. + +Added optional parameter to \plotdata and \datafile which +has the form p or s<num>. "[p]" causes a polygonal curve to be +plotted and "[s<num>]" causes a smooth curve to be drawn, with the +given number as the tension. The number may be omitted, and then +grafbase's value of curvetension (default 1.0) will be used. Any +other letter or none is the same as [p]. Internally, the optional +parameter is passed to \mfp@rwdata, which now, of course, takes +parameters. Along with this, \smoothdata was revamped to simply +change the default optional parameter, rather than set a switch. + +When option metapost is selected, each mfpic environment writes the +current font to the output file (in verbtimtex) to have at least the +chance (under mplabels) to match the fonts that TeX would use in +tlabels. + +Framing code: in addition to \framed or \mfpframed, we now have a +LaTeX environment: \begin{mfpframe}...\end{mfpframe} or, in plain TeX, +a command group \mfpframe...\endmfpframe. This is actually recommended +(over the first form) if the user wishes to frame an mfpic environment. +This ensures that category codes are not prematurely set by reading the +whole picture as an argument. + +Changes to grafbase: + +Moved interim warningcheck:=0; after mode_setup because mode_setup +sets it to 1. Now that warningcheck is correctly set, we can change +the test of parameters in secd, etc., from comparing with nottoosmall, +to comparing with reallysmall. + +Streamlined minpair and maxpair. + +Define transform vtr on its own in setztr rather than only the macro +vconv being defined (in terms of ztr). Define ztr in terms of vtr +(the "right way to do things", said the linear algebra teacher). +Remove definition of invztr and use inverse ztr the few times necessary. + +Remove the "complicated zconv" entirely. + +Added plain Metapost's image command to grafbase.mf. + +Changed the command executed when clipall is true to clipto instead +of clipsto. + +Added textboundary, textoval and textellipse to put paths around +text. Only the size and center point of the text is passed by mfpic, not +the actual text. These implement the mfpic commands \textboundary, etc. + +Added parameters pair label_adjust and numeric label_sep. +These are used in grafbase.mp for shifting labels. They are also +used there and in grafbase.mf for positioning and sizing textboundary, +textoval and textellipse. + +Added test for ClipOn to dashing code, plotsymbol and plotnodes. + +arrowdraw now checks for hlen > 0 before drawing head. + +Complete rewrite of axes code and drawing of hash marks on axes. Four +new axes added leftaxis, etc. + +Changed code for grid so it is fitted to the coordinates: integer +multiples of xspace and yspace are plotted. Added gridlines. + +Changed arcppp in grafbase for more robustness (I hope) and better +result on small values of sweep. + + +REVISION 0.4.16 beta, July 28--30 2001: + +-- Changed name of \textboundary to \tlabelboundary and then + \tlabelrect. +-- Changed name of \textoval to \tlabeloval. +-- Changed name of \textellipse to \tlabelellipse. +-- Added "star form" of each that defines the curve without placing the + label. +-- Renamed grafbase command textboundary to textrect. + +Replaced the four commands \leftaxis, etc., with single +command + \axis[<hlen>]{<one-axis>} +(example \axis{l}) and \borderaxes, etc., with + \doaxes[<hlen>]{<axis-list>} +(example \doaxes{lbrt} for the 4 borders). + +Recoded \mfp@now so that only 1 count register is used. + + +REVISION 0.4.17 beta, July 28--Aug 10, 2001: + +Changed grafbase.mp commands textrect, etc., so the first two +parameters (dimensions of some unspecified text) became one parameter, +which could be either of type pair (the two dimensions), string, or +picture (e.g., a btex...etex expression). In the latter two cases, +Metapost measures it and uses those dimensions to make a rectangle, etc. + +Gave all commands that take a [s] smoothness specification the +option to make it [s<tension>] to draw the curve more tightly. +Commands affected: \function, \parafcn, \plrfcn, \btwnfcn and +\plrregion. This necessitated changes in grafbase code to mkfcn so +that it accepts a tension parameter. Plus changes to all the macros that +call it: parafcn, xfcn, function, rfcn, and plrfcn. Those that +are used by mfpic, like function, were altered as follows. The name was +changed to tfunction, it was given a tension parameter and the call to +mkfcn passes that parameter. A new macro named function simply calls +tfunction with default tension. This was to make the new grafbase +accept old files generated by mfpic. Those macros not used by mfpic +(rfcn and xfcn) simply call mkfcn with tension equal to 1. + +Redid doplot, plotsymbol, and plotnodes so that the plotting symbol +can be a picture as well as a path. If a path, it is scaled by the scale +parameter. A picture is not scaled, since this is essentially not +possible in Metafont and since it is expected that in Metapost it will +be a btex...etex expression and the size is determined by the font. +Because this is expected to be the typical case, the picture is shifted +so that its center at the chosen position (instead of the left +baseline). This is not done in Metafont since finding the center of a +picture is non-trivial. In grafbase.mp the first parameter is also +allowed to be a string, and is then converted to a picture with the +infont operator. In all other cases it reverts to a default dot scaled +by the second parameter. + +Changed the \mfpic command so both optional parameters may be omitted +(scale 1 is then assumed). Also, the first parameter is no longer saved +in \@param. That was not a serious problem, but I did experience a +hard-to-debug problem from using the same temporary name in another +command. (It seems that \@param is not expanded until \@xconv and +\@yconv are used in tlabels, and I included a redefinition of \@param +in a command that calls \tlabel). + +Added EOL, `*', `"' and `$' to the list of symbols whose catcodes +are saved, changed while reading mfpic.tex, and restored at the end. +`$' is put in category 12 and used then in several \if tests for empty +arguments (previously `!' was used, then `@'. (Changed again a couple +of times!) + + +REVISION 0.4.18 beta, Aug 10--20, 2001: + +Added point size option to \grid. + +Added a macro \plottext similar to \plotsymbol except instead of a +symbol, it takes a bit of TeX text. The macro runs entirely in TeX, +issuing a sequence of \tlabel commands. + +Changed grid and gridlines so the lines and points are fitted to the +pixel grid. We now use safedraw on +hroundpair(zconv(p1))--hroundpair(zconv(point)) instead of on +zconv((p1)--(p2)). When grid and gridlines are used with the same +parameters, this seems to make the picture periodic. + +Added \plrgrid and \plrpatch. + +Added \piechart and \piewdge. + +Removed \d@adv, \i@mul, \i@div, \q@mul as it turns out they are +either no longer used or unnecessary: \i@mul and \i@div, were only +used in \q@mul and it isn't needed as \x= 1.2\x works for fdims. +\d@adv seems to have disappeared from use. + + +REVISION 0.4.19 beta, Aug 20--26, 2001: + +Added \mfpicnumber to set the number of the next character or figure. + +Removed explicit references to gcode, instead of writing +beginmfpic(incr gcode), \mfpic now writes +beginmfpic(\number\mfp@count). This way TeX's understanding of the +current figure number and Metafont's understanding are guaranteed to be +the same. The opening code of beginmfpic sets gcode in case any existing +files make use of it. This simplifies maintenance, and such things as +\noship and \mfpicnumber. + +Speaking of which, added code to \noship to set a switch so +\endmfpic could skip placing an empty box. I hope this makes an +mfpic environment a typesetting no-op. The only worry is that an +invisible character or box might creep into the output. (It hasn't yet, +that I've noticed, but checking would require testing virtually every +macro we've defined that can be used in an mfpic.) + + +REVISION 0.4.20 beta, Aug 26--Sep 1, 2001: + +Added \barchart (it was easy after \piechart) after seeing comments +on gnuplot list that deprecated pie charts as a means of conveying +quantitative information. The rectangles become available as +\chartbar{<n>}. Where <n> is the number of the bar. + +Changed the code (again!) for shade in grafbase.mf. I was certain +there had to be a faster way. The key turned out to be not to do a +double loop. Instead, draw the bottom row of pixels in one loop, and +then copy that row in a separate loop. The original looped O(nm) times +if n and m are the dimensions of the rectangle. The new one loops, +O(n+m) times. A slight extra bit of efficiency in coding is obtained +by finding the smallest repeating pattern and repeating that (avoids +shifting every other row). This turned out to be two dots at a 45 degree +angle placed \shadespace apart. Then copy _that_ picture. + +I was worried that this algorithm had to copy a much larger picture the +second loop, but it seemed to make little difference. The bottleneck +seems to be the loop overhead. There was a seven-fold speed increase in +shading a 100pt by 100pt rectangle with a \shadespace of 1.2pt +(this is about the most dots MiKTeX's Metafont could handle). I came up +with another algorithm that is O(m/n + \log n), when n < m. But it +was only marginally better at the sizes Metafont could handle. Plus it +traded memory for speed. It built a shading rectangle of size at least +n/8 in O(\log n) iterations and then tiled with O(m/n) of them. +This could require up to an additional 12.5% more memory, as the last +row or column could overshoot by up to n/8. + +Changed timing so that \mfp@count is initialized to 1, and +incremented only in \endmfpic (where it is in the code skipped if +\noship is used). + +Changed \newdef to \def for \arrow so eplain won't generate a +complaint. + + +REVISION 0.4.21 beta, Sept 1--10, 2001: + +Got tired of typing "\macro" so I changed it to \mac. Also got +tired of "\vskip\myskip", etc., so I wrote \bcd and \ecd to +bracket the headers of command descriptions. For examples, I wrote +\bex and \eex. Changed the font for \prog to small caps and for +\opt to sans serif. Added \null to the end of the definition of \TeX +for \spacefactor reasons (saw this somewhere). + +Wrote a \myverbatim macro for mfpicdoc.tex since header.tex's +verbatim wouldn't work for me. Completely rewrote \head and \subhead +for better spacing and page breaks. (One of these days I will give them +numbers and perhaps translate everything to either LaTeX or eplain to +provide cross references.) + +Added SolidStar to symbols allowed by \plot, etc. Changed grafbase +code so that Star produces an open five-pointed star instead of the +asterisk previously drawn. Added Asterisk in case anyone prefers the +old way. + +Separated the part of \mfp@rwdata that writes the rendering code from +the part that writes the data. This is for later enhancements. The +wrapper that writes the rendering code is called \do@datafile. Took +out of \mfp@rwdata the code that wraps the point in (redundant) +parentheses. Now the parentheses _must_ be added by \using. + +Changed the name of \mfpic-package to MFPicpackagE, (part of +the paranoia that catcodes of punctuation might be changed). + +Added code to several commands to test for empty optional arguments. The +reason: when an optional argument has two parts, as in \plotdata[s1.2] +the code splits it up as [#1#2] so that s is assigned to +#1 and 1.2 is assigned to #2. If 1.2 is omitted, then #2 is +empty, but if both parts are accidentally omitted, then the closing +bracket is assigned to #1 and TeX searches for another right +bracket. This can cause extremely unhelpful error messages from internal +commands generated much later. Now, a command like \plotdata[] is +treated as if there were no optional argument: default values are used. +The user can deduce from incorrect output where an error occurred. + +Did the above for \tlabel, but only for the second part of the +optional parameter (laziness). + +Added commands similar to \rotatepath: \shiftpath{p}, \scalepath{p,sc}, +\xscalepath{x,sc}, \yscalepath{y,sc} and \slantpath{y,sl}. "p" is a +point "sc" is a scale factor, "x" is an x-coordinate, "y" is a +y-coordinate and "sl" is a slant factor. These commands accept a +following path and pass back the corresponding transformed path (to +preceding prefix macros). + +Released to alpha testers. + + +REVISION 0.4.22 beta, Sept 11--22, 2001: + +Added \reflectpath{p1,p2}, \xyswappath and \yslantpath{x,sl}. Added +also \xslantpath as a synonym for \slantpath. + +Removed grouping in \mftitle that inadvertently caused \tmtitle's +argument to be omitted from the .log file. Rewrote both to call a +third macro. The third macro loads the argument in a token list and +writes to the .mf file. \mftitle supplies the grouping to preserve +the token variable. \tmtitle also adds the grouping, plus writes to +the .log and to the document. + +Redid \tlabel so that it checks for completely empty optional +parameter. + +Also avoid duplicating every \@...tlabel command. Only ever did that +to avoid the message about rotation being ignored in the \nomplabels +case. Somewhere along the way handling of default optional parameters +made that moot. + +Now \tlabel begins a group, then sets \tlabel@rot to empty (not +zero!) if mplabels is not in effect, then passes +"[\tlabel@vpos\tlabel@hpos\tlabel@rot]" as the optional parameter. The +two different commands \@tlabel and \@@tlabel ultimately end the +group. This necessitated changing a number of commands that call for +tlabels: I thought it more efficient to say + + \if@mfp@mplabels\expandafter\@tlabels\else\@@tlabels\fi... + +than to call \tlabel directly. But now that would unbalance the +grouping. + +Somehow I overwrote the version of mfpic.tex in which I made the above +three paragraphs of changes with the previous version. So I did it all +again, but now it does the following. \tlabel starts a group and calls +two different commands: if no "[]" follows, it defines \tlabel@rot +to be empty under \nomplabels; and if "[]" follows, it calls +\tlabeljustify. Finally it calls either \@@tlabel or \@tlabel, +depending on mplabels, feeding the arguments \tlabel@vpos, +\tlabel@hpos and \tlabel@rot. This ensures that insufficient optional +parameters produce default results, as \tlabeljustify does default +things with empty parameters. + +In grafbase: push vtr in bcoords command and pop it in ecoords. +Added vtr:=ztr shifted -zconv((0,0)); to apply_t. It seems coords +and apply_t were broken ever since I defined vconv in terms of vtr +instead of zconv. + +Added \@firstoftwo and \@secondoftwo and rewrote several commands to +use them, including \@if@mfp@beforefileopen.. + +REVISION 0.5.0 beta, Sept 24--Oct25, 2001: + +Change comment written at the top of the output file. Now includes the +name of the output file, as well as the \jobname of the TeX source +that produced it. + +Changed how \grid handles optional point size. Now it writes a command +vgrid that takes the extra parameter (and the old grid just calls +vgrid with default parameter). + +Made \mfpic and \endmfpic write the source line number to the +output for debugging use. + +Added token list \every@tlabel and a command \everytlabel for +setting it (and writing the settings to the .mp file when mplabels +is in effect.) In order to make this local to mfpic +environments, now \mfpic writes "verbatimtex \begingroup etex" to +output and \endmfpic ends the group (under mplabels). + +Renamed \if@graphfileexists to \ifmfpicFirstTime which +required reversing the sense of all \if... tests. This will allow the +user to override the behavior of mfpic in unusual circumstances. + +Restored the command that expands to a backslash with category 12, for +writing the outer token \newtoks to the output file. + +Because \mfsrc ends with \ignorespaces (should it?) commands +can generate a space under metafont but not under metapost with +mplabels (because they write TeX code to the output). I have therefore +started to look out for such differences and am adding \ignorespaces +when I notice them. + +Released to CTAN, Oct ??, 2001. + + +REVISION 0.5.01 beta + +This modification actually occurred in February 2002, but I made it on +version 0.5.0, correcting a small bug by adding some braces around the +point arguments of \tlabel in a couple of places. The problem was that +Metapost code in the point argument could contain parentheses or commas, +and these had to be hidden inside braces. The code of \tlabels and +other commands would read this argument twice so two levels of braces +were needed, but that would cause errors in other contexts. The internal +braces in the right places meant the user need only use one. All of this +was only a problem with mplabels. + + +REVISION 0.5.02 alpha, Oct 26--Nov 8, 2001: + +Put most of the catcode changes (in the "paranoia" section of +mfpic.tex) in a command \mfp@sanitize for possible reuse. + +In preparation for a planned enhancement, I have divided \@figmac into +three parts: the set-up, write, and post-write phases. The idea is that, +e.g., \@curve[1.2] will do the setup, and write the code +tcurve(1.2, false) but not the points or the ending semicolon, then +close with the all-purpose macro \@figmacdata. This macro will scoop up +the last parameter (listing the points), write them to output, adding +the semicolon, and then issue the post-write code. Why? Ultimately I +would like to be able to present the data in more than one form. +\@figmacdata would detect the form and do the appropriate thing. In +particular I would like to be able to do something like +\curve[1.2]\datafile{file.dat} to draw a curve connecting the points +listed in file.dat. + +Have actually changed the definition of \curve and \cyclic to use +this scheme, although \@figmacdata just writes the inline data points +to output. Shouldn't be unusually hard to make it open the file handle +and call \mfp@rwdata. I will first try to organize the opening, +reading, writing and closing of files into reusable modules. + + +REVISION 0.5.03 alpha, Nov 8, 2001--???: + +Further modified \@figmacdata: Split it in two. First, \mfp@writelist +writes the list, enclosed in parentheses and followed by a semicolon, +then issue \@figmacend. This is because lists are also used by +"non-figmacs", like \xmarks and \point. For these I just use +\mfp@writelist. Perhaps it wouldn't hurt to include \@figmacend on +those, but I wasn't prepared to chance it. Also put the common +combination \@figmacstart\mfsrc{#1}\@figmacdata in a new macro +\@listmac. + +Now all those macros that take a list as last argument (thank goodness +it always _is_ the last argument) follow the scheme. This includes +\xmarks, \ymarks, \lmarks, \bmarks, \rmarks, \tmarks, \point, +\plotsymbol, \piechart, \barchart, \polyline, \polygon, \fcncurve, +\curve, \cyclic, \qspline, \closedqspline, \cspline, +\closedcspline, and \turtle. Ultimately, I may make \@figmacdata +write data from a file (if the next token is \datafile) or data listed +inline as if in a file (if the next token is \inline). + +I rewrote the code in \@mfpic that loads the figure into \@wholegraph +so that when \ifmfpicdraft is true then it is skipped completely and +\@wholegraph is just set to an empty box. Then, at the end of \@mfpic, +if \ifmfpicdraft is true, the figure number in \tt is set as a +\tlabel (so the size of the figure will automatically adjust to +accommodate it). + +Oops! Had to change the above behavior: \tlabel doesn't expand its +contents when writing to the .mp file in mplabels. So it is +impossible to get \mfp@count (the picture number) written as a number. +Rather than have to write the definition of \mfp@count to the output +file, I changed the code that loads the figure into \@wholegraph to put +the figure number into the box as straight text. Now, the figure number +may again overwrite the boundaries of the box, but that's OK, I guess, +since it's just a temporary situation. + + +REVISION 0.5.04 alpha, ???--April 11, 2002: + +Added \@XP which expands to three \expandafters. + +Changed what the truebbox option writes to the .mf file. The scope +in Metafont should now more closely match the scope in TeX. + +Added options draft, final, and nowrite (as well as command +versions \mfpicdraft, \mfpicfinal, and \mfpicnowrite) which should +avoid including the pictures (draft) or include the pictures (final), +overriding automatic decisions. Option nowrite avoids writing anything +to the .mf file. + +Made several assignments, such as \mfp@count, \@graphfont, etc., +global, in case the command \opengraphsfile is issued inside a group. + +Rewrote \tlabel and friends so that the point arguments could +optionally be enclosed in braces. This was done by checking for a left +parenthesis with \mfp@ifnextchar and branching on that. This allowed +me to change the gblabel command to accept a list of points, and now +\tlabel can, under mplabels accept a list of points in braces. + +Completely reorganized the data file reading macros (much smaller and +free of \loop...\repeat constructs). Also added the previously +mentioned capability to replace any list after a macro such as +\curve{...} with the construct such as \curve\datafile{<file>} to +construct the list from the data in file + +Changed explicit value of 5 data points per line to the value of +\mfpdataperline when plotting data files. + +Added error messages \nodatafileerror and \emptydatafileerror. + +Added command resizedrawpen to grafbase to unclutter the +output file. + +Collected the common code in \xmarks, \ymarks, etc., so that now they +are implemented with \marks x, etc. + +Added aliases \lattice and \gridpoints for \grid. + +Changed the option handling in \tlabel so that it is translated into +integer values and \ifcase can be used, making for simpler conditional +code. Added \mfp@justifyerror to the \tlabeljustify command, to +occur if an invalid letter is used. + +Added \extra@tlabel command at the end of \@tlabel and \@@tlabel. +Redefining this makes it easier to write macros looping through many +\tlabel commands. + + +REVISION 0.5.05 alpha, April 16, 2002: + +Corrected bug in \mfpverbtex which caused # symbols to be doubled in +the output: simply change catcode of # before reading the verbatimtex +material into the token list. + +Remove \DeclareGraphicsRule commands issued in mfpic.tex so +as not to interfere with the graphics package error checking. Instead +the equivalent is done inside a group for each picture with +\@namedef{Gin@rule@.\mfp@count}. + +Added a command index to \mfpicdoc.tex. The distribution now includes +a recent version of eplain.tex for the indexing macros and the actual +index mfpicdoc.ind. The makeindex style file that was used, +mfpic.ist, is also included. + + +REVISION 0.5.06 alpha, April 16--May 7, 2002: + +After installing new MiKTeX and forgetting to set localfont, I found +that textrect, textoval and textellipse (in grafbase.mf) fail due +to arithmetic overflow. This is because rather simple text can be (say) +40pt by 40pt. Since that is 400 by 400 pixels (under mode:=ljfour), +and we have to compute numbers on the order of their product, we exceed +the 32K limit on numbers. Changed these commands to do computations in +graph coordinates. That is at least resolution independent. Also change +some formulas involving sqrt to instead use ++ or abs to minimize +such problems. + +Updated most docs. Changed mfpic.ist so it will write an mfpic package +comment to the top of mfpicdoc.ind. + + +REVISION 0.5.07 alpha, May 7--June 25, 2002: + +Added \usingpairdefault to reset the \using specification to the +default. Also \usingnumericdefault for commands that take a numeric +list (equivalent to \using{#1 #2}{#1} ). + +Documented \marks<axis> commands. + + +REVISION 0.5g alpha, June 26--July 31, 2002: + +Changed version numbering scheme so LaTeX file utilities like the +snapshot package are better served. + +Change the graphic inclusion to use \@setmfpicgraphic which, in +addition to executing \setmfpicgraphic, also runs any additional +commands that may be needed and should be transparent to the user. These +include the above setting of the graphics inclusion rule, and now also a +scheme for recovering the bounding box (for future feature allowing +truebbox without mplabels). The graphics package makes this hard by +not saving it globally except in \@gtempa, which hardly seems safe to +rely on. Nevertheless that is what I use now, though it doesn't get used +yet. + +Changed \DeclareOption* to print a warning or a message (depending on +whether graphics was already loaded or not) instead of just passing +the option on to graphics package). + +The default verbatimtex stuff that was written to the out file in +\opengraphsfile is now stored in a token register +\mfp@commonverbatimtex and then written. + +\opengraphsfile now checks for the existence of a file with the +extension of the current value of \mfp@count (default 1) in case the +user changes its value (with \mfpicnumber) before that command. +mfpic.tex now sets it to 1 rather than rely on \opengraphsfile to do +so. + +Changed \tlabel to place its contents in a simple left aligned +\halign. This makes it possible to right-align or center multi-line +labels with an \hfill or \hfil on left. + +Corrected bugs in file read/write (\plotdata, etc.): Moved whitespace +resetting to \@processdatafile, and changed one \def in +\mfp@rwdataloop to \edef. + +Moved the LaTeX2e graphics rule stuff to \mfpic, \usemetapost now just +saves the graphics rule signature ("eps" or "mps") for use in that +stuff. + +Remove eplain.tex, substituting indexing.tex which contains only(?) +macros necessary to process the one indexing command actually used in +mfpicdoc.tex, and the two-column printing of the index. + + +REVISION 0.5h alpha, Aug 1--6, 2002: + +Added code to \@setmfpicgraphic to retain the lower left corner of the +picture under metapost. I did this by redefining \Gin@def@bp to make +its definitions (of \Gin@llx, etc.) global. Then added that info to +\@xconv and \@yconv. This allows truebbox to work without mplabels. +Added code to graphbase.mp that keeps track of maximum bounding box of +all the text labels and to adjust the figure's bounding box if that +extends past the boundary of the mfpic environment. This allows labels +to expand the size of the graph (as documented) in the remaining case: +with mplabels but without truebbox. + +This requires that any user who redefines \setmfpicgraphic must also +redefine a command \getmfpicoffset that stores the coordinates of the +lower left corner in the macros \mfpicllx and \mfpiclly. + +Reverted to the previous \tlabel method of producing multiline +labels. The \halign method (specifically the \let\\=\cr) produces +an error when either of the packages latexsym or amsfonts is used. So it +is not (yet) possible to right align or center multiline labels. + +Reverted back when I discovered that \def\\{\cr} did _not_ conflict +and seems to work just as well. It is again possible to right align and +center multiline labels. + +Added \gclip rendering macro (did no one ever miss this?), that clips +the current picture to the interior of the following path. And added an +example to *objs.tex. + + + +REVISION 0.5i alpha, Aug 7--12, 2002: + +Rearranged the endmfpic code of grafbase.mp so that truebbox, clip +and mplabels interact properly, meaning that text which is clipped off +_doesn't_ expand the bounding box. + +Announced to mfpic mailing list. Maybe this will become version 0.6 beta. +(Ha!) + + +REVISION 0.5j alpha, Aug 12--15, 2002: + +Changed name of \marks command (introduced in 0.5.04) to \axismarks +to avoid name clash with \eTeX primitive command (reported by Guy +Worthington). + + +REVISION 0.5k alpha, Aug 15--26, 2002: + +Rearrangement of \begingroup-s at some point caused a problem with +\datafile commands: the \@figmacend was issued inside a group. +(reported by Jaromir Kuben). + +I moved the location of \@figmacstart and \@figmacend and that +solved it but caused a problem with \plotdata, which reused that code. +Solved by putting an appropriate \@figmacend in the \plotdata code. + + +REVISION 0.5l alpha, Aug 26--29, 2002: + +Changed the code that saves the lower left corner of the picture under +metapost. Instead of making \Gin@llx, etc., global, I redefine +\Gread@parse@bb to store them globally in our own macros. This +redefinition happens only in the \mfpic environment (in fact only +inside the box where the graphic is included). + +I settled on this as having almost no side effects. Perhaps there is a +reason the \Gin@* commands are local even though no one on +comp.text.tex came up with one. + +Also, since now the only \begingroup/\endgroup pair in the +file read/write code is in one place: the \@processdatafile command, I +deleted all the \global in front of \read commands. + + +REVISION 0.5m alpha, Aug 29--30, 2002: + +Updates to *.txt, readme.1st, and documentation. + +Changed \mfp@ifnextchar so that when looking for the next token, it +will skip over \relax. This means one can put the optional argument on +another line even when \preservelines is in effect (at which time the +line end character is active and has been \let equal to \relax) + +Change \@figmaclist and \@mfp@writelist so they preserve lines. +Since all commands that write lists of data to the output file +ultimately run one of these, all those commands preserve lines. Then I +removed \preservelines from \mfpic. Now we no longer need the +caution about putting a macro and its arguments on the same line. + + +REVISION 0.5n alpha, Aug 30--Sep 04, 2002: + +Allow \tlabelsep and \tlabeloffset to have any <dimen> argument. I +was so stupid: it was just a matter of setting the TeX dimensions first +and then writing their values to the output. + +Documented \mfpdataperline. Also changed it to a macro rather than a +\count because LaTeX users are unfamiliar with count registers +(\newcounter, yes, \newcount, no). I could have called it +\c@mfpdataperline, but then it wouldn't be user-level for plain TeX. + +Changed "\ifnum\mfp@n=\mfpdataperline" to +"\ifnum\mfp@n<\mfpdataperline" and exchanged the true and false clauses. +Just in case some user sets \mfpdataperline to some number which is not a +positive integer. + +Added \space to "\mfsrc{verbatimtex\endgroup\space etex}", just in +case TeX could enter a state where it doesn't append a space when it +writes the \endgroup. + + +REVISION 0.5o alpha, Sep 04--06, 2002: + +Corrected LTXMFobj.tex and LTXMPobj.tex. After testing various +combinations of mplabels and truebbox, I'd incorrectly added these +options to the former file and failed to restore them to the latter. + + +REVISION 0.5p alpha, Sep 06--09, 2002: + +Added commands \setpapersize and \setpagegeometry to header.tex. +Now the preamble of almost every .tex file in the docs directory is +reduced to using these two commands. + +Deleted old verbatim macros which were no longer used. + +Removed save piecenter; from grafbase. This variable was documented to +be set by the piechart command, but saving it made it unavailable. + +Corrected the example concerning \datafile with \xmarks: the +parameters of \using needed a space between them. + + +REVISION 0.5q alpha, Sep 09--12, 2002: + +Multiple documentation refinements. + +Removed \if@mfp@metafont, using only the switch \if@mfp@metapost. + +Added \mfp@ifdefined: it checks if a token is neither \undefined nor +\relax. Used in macros to detect format. Moved definition of +\@firstoftwo and \@secondoftwo before it. + +Made some definitions in \usemetapost global, in case it is +mistakenly issued inside a group. + +Removed \@eatspacedef since it was used only once to define something, +and it was shorter to define it directly. + +Changed all \ifx in \@@arrowoption to \if in case someone wants to +pass the the letter as a macro + +In axis code, changed `\x to simply `x lest \x have some +definition and some TeX state causes it to be expanded. + +Gave \newsavepic a definition closer to \newsavebox, which uses +\@ifundefined rather than strictly testing against \undefined. + + +REVISION 0.6 beta, Sep 12, 2002: + +Uploaded to CTAN. + + +REVISION 0.6a alpha, Sep 12--Nov 5, 2002. + +Added \let\par\relax in the definition of \@mfpic to +nullify blank lines in user code. Needed since I stopped using +\preservelines. (Reported by Jaromir Kuben.) Put in commands to +restore \par to its normal meaning in labels and captions. + + +REVISION 0.6b beta, Nov 6--, 2002. + +Incorrect sign on sinh function in grafbase. + +REVISION 0.6c beta, Nov 6--, 2002. + +Bounding box had the horizontal and vertical data reversed if all +of the following three options were selected: metapost, mplabels and +clip. + +REVISION 0.63 alpha + +Mfpic: + +Added code to write into the graphs file a test of the major version +number (to assure that the files mfpic.tex and graphbase.mf/p are +comparable). + +Added a switch \in@mfpicenv that is true inside an mfpic environment and +false outside. This allows macros to make global changes outside and +local changes inside, helping TeX and Metafont stay in sync. Modified +some commands to use it (clip and truebbox options, so far). Added +\mfp@local which expands to nothing inside and mfpic environment and +to \global outside. + +Changed \@dummy to \mfp@dummy (mfpic.tex) lest its name clash with +other packages. + +Added a \partialpath{a,b} command. It's argument is two fractions +separated by a comma and produces the subpath of the following path f +that goes from a*length(f) to b*length(f). (Hmmm...so +\partialpath{1,0} would inefficiently reverse a path!) + +Also added \subpath{a,b} to give the equivalent of the MF code + subpath (a, b) of <following path> + +Added command \closed[<tension>]{<method>} where <method> is l, b, +s, cb, or u so that, for example, \closed[2]{s} does the same as +\sclosed, except that added or modified links will have tension equal +to 2. Then I defined the previous commands in terms of this one (tension is +ignored for \lclosed and \cbclosed since they specify exactly what the +link should be.) Default for <tension> is 1. + +Moved \fdef to a global location and added "save #1;" to its +definition. Functions defined with it should now be local if it is used +in an mfpic environment and global otherwise. + +Redefine \+ for entire mfpic.tex. Avoids somewhat complicated +work-around of its outerness in \usemetapost. Restore previous meaning +at end of file. + +Added \@bsphack and \@esphack (as in LaTeX). + +Rewrote \tlabelrect, etc., so that they take a second optional +parameter: the label justification. Made the current \tlabel defaults +the default for \tlabel<path> also. Might change this to [cc] after +talking to Jaromir. + +Changed \store to be usable as a prefix command. It still takes a +second argument but doesn't wrap anything around it, so +\store{m}\circle{...} is as valid as \store{m}{\circle{...}}. But now + \xscalepath{0,2}\store{m}\circle{...} +is also valid, storing the untransformed circle. It is written as a +\@rendmac so that it turns off automatic path rendering. It invokes a +new grafbase command stored , which stores the path and passes it on +(as the other prefix macros do). This may have restored the old behavior +(prior to 0.2.9.10 alpha), but I can't tell, since I never had any +experience using those versions and don't know why the change was made. + +Streamlined \arrow so that instead of a chain of 4 macros (that all +did the same thing!), each calling the next, it loops until no more +optional arguments are found. + +Renamed \mfpicdebugwrite to \mfpDBwrite to streamline the source +file. Later renamed to \mfp@DBlog to remind me that it only writes to +the .log . + +Change \getmfpicoffset and \preparemfpicgraphic so they take an +argument: the name of the figure file. The default versions do nothing +with it. Changed \@setmfpicgraphic so it calls them with the name of +file. In case a power user needed the file name in his redefinition. + +Shortened \usemetapost. Defined as much as possible outside it, and +include only what needs to be changed. E.g., we no longer redefine +\@setmfpicgraphic inside it (nor \preparemfpicgraphic in the +non-LaTeX version). + +Rearranged code so that \usemetapost is defined in three ways instead +of two: LaTeX2e, plain pdfTeX and plain TeX. Formerly the second two +were combined in one which contained an \ifpdf-\else-\fi construct. That +is now moved to an outer level. Shortened the name of \if@mfp@pdftex to +\if@mfp@pdf since pdftex could be used to produce dvi output, and we +want this to be true only when pdf is being produced. + +Added \mfcmd (adds semicolon to argument) and \mflist (wraps argument +in parentheses). Done so that we can delay reading the argument and +therefore preserve lines. Both of these and \mfsrc now call \@mfwrite +with an appropriate argument. It initiates \preservelines and +continues with \@mfcmd, \@mflist, or \@mfsrc. These read the +argument and end with \@mfsrc, which ends line preserving. + +Rearranged code of \@figmac. It now issues \@startfigtrue before +writing its argument and doesn't do \@imrendtrue. This allows it to +end with the code to read the argument, and avoids some cases of having +to read large arguments before \preservelines is issued. There was +only one case where the timing mattered: \connect, and there we needed +the current order! + +Simplified the scheme for list macros (\mfp@writedata). The above +rearrangement meant there was no longer any need for different treatment +of figmacs and non-figmacs. + +Grafbase: + +Added code to grafbase file to test if the major version of mfpic +(assuming it is input by an mfpic generated file) and that of +grafbase.mf/p are comparable. Added a boolean MFPIC that is true if +the test succeeds. Not used yet. + +Rewrote most of the arc commands in grafbase, focusing on trying to make +any points that were explicitly specified into actual nodes of the path +(i.e., use nothing that could result in round-off error) plus trying to +increase robustness. + +"Corrected" cbclosed command in grafbase. Its code used to put in one +cubic B-spline link and connect that to the beginning and end of the +path f with two ordinary MF Bezier path joins. Now it connects with +three cubic B-spline links, the middle one being the same as before. + +removed w, d, and h as internal variables because of another user +name clash, this time with \fdef(h)... . + +Rewrote grafbase messages and error messages for consistency and +pithiness. + +Changed gblabel to newlabel, but gblabel remains as an interface for old +files, calling newlabel. There are now three parameters rather than four +for horizontal and vertical adjustment. The first gives the fraction +of the text left of the point of placement. The third is a +boolean. If false, the second parameter is taken as the absolute +fraction of the text below this point. If true, it represents the same +except the depth of the text is ignored. This (.5,0,true) gives [Bc] +placement, while (.5,0,false) gives [bc]. + +Added textrectx, textellipsex and textovalx which now allow horizontal +and vertical adjustment and rotation, just like gblabel. The original +commands just call it with the old default (centered, not rotated). + +Rewrote nearly all error messages in grafbase.mf/p. Changed "GUBED" to +"END DEBUG". (That has always bothered me.) + +Reintroduced "bounds" to the mfpic file. It seemed a reasonable +shorthand, replacing four lines of code with one. And has been around +forever. + +Reexamined clipping, trying to make sure that when ClipOn is true, +nothing is written outside the clipping paths. Except there are things +drawn for debugging purposes, so I added noclip() which executes its +contents in a group where ClipOn is set to false. Added DoClip(v) as a +shorthand for: + if ClipOn and (ClipPath > 0) : clipsto (v, ClipPath); fi +Correspondingly changed several commands to write to a temporary picture +variable, which is then DoClip-ed before adding to active_plane. This +turned out to be a prescient act for the purpose of using color in MF +(see below). + +Changed P1 in headpath (giving the direction of the arrowhead) +from "direction n of g" to "point n of g - precontrol n of g". +This gives the arrowhead from \arrow\rect{...} a reasonable direction +without having to rotate it +/- 45 degrees. + +Determined that the filling commands shade , polkadot and tess (all +these are my doing) did not respect aspect_ratio. Changed all of +them to invoke a macro, filledwith, that returns a rectangular picture +tiled with shifted copies of a given picture. This macro respects +aspect_ratio (i.e, invokes .t_ where it should -- I hope). + +Introduced color to Metafont (gray levels only): made color synonymous +with numeric; assigned numeric gray levels to the variables red, +green, etc. Defined the color commands (rgb, RGB, cmyk, gray and +named) to produce appropriate gray levels. Added macro makegray for +this purpose. Allow black or white in drawing commands and gray +levels in filling commands. Gray fill is implemented by a new macro +shaded which is similar in some ways to the internal code of shade and +may one day replace it. Right now shade uses round dots and respects +shadewd and the spacing parameter. But shaded just builds a square +picture which is either two black almost-squares in a white background +(gray levels > .5) or two white almost-squares in a black background. +Works well in simple tests so far. + +Changed the code executed if mode is unknown back to switching on a +default mode, but this time ljfour instead of cx. + +Removed the aspect_ratio scaling from resizedrawpen, and also from +the definition of drawpen and hatchpen. Added that scaling to +shpath. + +Added partialpath and gsubpath to support mfpic's \partialpath +and \subpath . + +Docs: + +Changed this file (changes.tex) from a .tex file to a .txt file for +simplicity of maintenance. + +Transcribed mfpicdoc.tex to a LaTeX file adding mfpdoc.sty to preserve +most of the previous formatting. Adds a table of contents; allows an index +without the extra files indexing.tex and mfpic.ist (both now removed). +Added hyperref, producing a linked .pdf file if pdflatex is used. Did +the same with grafdoc.tex and mf-revu.tex, except the latter has no +index. Have removed mppicdoc.tex since the small part of it that was +not already covered in mfpicdoc.tex has been added in an additional +appendix. + +Made mfpic.dtx, mfpic.ins and grafbase.dtx files. Processing +mfpic.ins produces mfpic.tex and mfpic.sty from mfpic.dtx, plus +grafbase.mf, grafbase.mp and dvipsnam.mp from grafbase.dtx. + +REVISION 0.64 alpha + +Grafbase: + +Rewrote the mfpic macro \polkadotwd so all it does is set the width +(omitting the code "thepolkadot := setdot(...)"). The grafbase polkadot +command now remakes the dot each time it is run. This is really just for +simplicity (for the \cs{polkadotwd} macro). Same was done for \shadewd +and shade. To change the shape of the dots used, I've added +shadedotpath and polkadotpath in addition to dotpath. The last is +now only used for dotted lines and grid. + +Added command threeangles (suffix s) (expr A, B, C) that finds the +three angles of the triangle ABC and assigns them to the s1, s2, and +s3. Now used in arcppp and the new command circleppp . Later +threeangles was replaced by three calls to a new vardef: cornerangle +(A,B,C) , which was useful on its own. + +Added circleppp producing the circle through three points. + +Added circlecp producing the circle with center at a given point, and +passing through a given point. + +Added circlepps producing the circle completing the arc produced by +the corresponding arcpps. These three form their circle from arcs, +ensuring that the circle (a) begins at the first given point on the +circumference, (2) has all the given points as nodes (though more may +have to be added, of course), and (iii) it is at least as robust as the +arc commands, into which a lot of thought was put. + +Added commands that produce circles related to triangle. A triangle Q +is, by definition, required to be a closed path in the form +Q0--Q1--Q2--cycle. + +circumcircle Q produces the circle through all three corners +incircle Q produces the inscribed circle (inside the triangle + and tangent to all three sides) +excircle n of Q produces the exscribed circle opposite Q[n] (tangent + to Q[n-1]--Q[n+1], and to the extensions of + Q[n]--Q[n-1] and Q[n]--Q[n+1] outside the triangle) +ninepointcircle Q The circle through the base of all three altitudes, + through all three midpoints of the sides and through + the points on each median that is halfway + between the corner and the common intersection of + the medians. + +And commands that produce points related to a triangle: +incenter Q center of incircle Q (= intersection of angle + bisectors) +circumcenter Q center of circumcircle Q +excenter n of Q center of excircle n of Q +ninepointcenter Q center of ninepointcircle Q + +None of the triangle related command integrated into mfpic yet. + +Added command pathcenter c which obtains the center of a circle c +(or a rectangle c!) by finding the intersection of the perpendicular +bisectors of two chords. It will happily find the "center" of any path. + +Mfpic: + +Rewrote \function, \plrfcn and \parafcn so they all simply define +\mfp@fcnname to the appropriate grafbase command name and call the +same macro to write the code. As with a lot of other commands, we now +write the old shorter commands when the new parameter (in this case the +tension) is absent: \function {...} produces "function (true) (...)" +while \function[s1.5]{...} produces "tfunction (true) (1.5) (...)". +In retrospect it would have made cleaner code if I had placed the extra +"t" at the end of the name and the tension parameter at the beginning of +the parameters. + +Made similar changes to \btwnfcn and \plrregion . + +All the commands that have an optional argument for the color (\draw, +\gfill, \arrow and all the hatching commands) now have an empty value +for color as the default. When the color is empty we write the old +simpler commands. That is, "\draw..." or "\draw[]..." produces +"drawn ..." rather than "colordrawn (drawcolor) ..." Trying to +streamline the output file. + +Added optional argument to \circle (similar to the ones for \arc). So +the circle through three points can be easily drawn, filled, etc. + +Renamed \@graphdp to \@graphbot, since it is not the TeX depth, but +the coordinate of the bottom recalculated after each \tlabel . Also +\@graphht -> \@graphtop for the consistency. + +Streamlined some aspects of tlabel macros, reducing number of +macros in the chain. Also keep track of the \@graphleft, etc., +calculations so that we can later set the label on the graph with only +two kerns and no \if-clauses. \tb@moveright is the accumulated value to +kern horizontally, and \tb@raise is the amount to move vertically. + +Streamlined \tlabel<path> macros, including consolidating main code into +one, rather than two alternative macros. + +Added \@firstofone and use it in place of \mfp@identity . Also use it +when passing a pair of coordinates for \tlabel : provides grouping that +is not stripped by parameter matching, but also not written into output +file. + +Assigned numbers to axes: x=0, y=1, l=2, b=3, r=4, t=5 . Defined +\get@axisnum similar to \tlabeljustify to assign the numbers, and can +now use \ifnum in \axis and \ifcase in \axislabels to branch on. +This also consolidates the error message in one place. + +Rewrote the \endmfpic debug messages to give me information I want to +see: compare \@graphleft and \@graphright with \wd\@wholegraph, etc. + +Rewrote \plottext under the assumption that all points are specified +as in other plotting commands: pairs separated by commas (i.e., no +braces). Changed docs to reflect it. + +Redid \axislabels so that it could proceed gracefully on an empty +argument. In fact... + +Added \mfp@ifempty as an abbreviation for + \if~#1~\@xp\@firstoftwo \else \@xp\@secondoftwo\fi +to make several such changes possible. Redid \do@mtparam using it. + + +Docs: + +Documented some aspects of MF naming conventions (basically: no +suffixes) and suggested only letters be used. + + +REVISION 0.65 alpha + +Mfpic: + +Rename \mfp@metaposttrue to \mfp@mposttrue, etc. + +Since \@mfp@mposttrue is never otherwise used, we don't define it +(i.e., remove \newif command), instead, replace its use in +\mfp@mposttrue with \global\let\if@mfp@mpost\iftrue . Similar +changes for the false version and for other switches: \if@mfp@clip, +\if@mfp@centcapt (formerly \if@mfp@centercaptions), \if@mfp@mplabels + +Added \mfp@ifmpost{1}{2} as shorthand for \if@mfp@mpost 1\else 2\fi. +Added \@ifmplabels{1}{2} as shorthand for \if@mfp@mplabels 1\else 2\fi. + +Added \xxxfalse (initializations). Though unnecessary, it provides +documentation of the default. + +Renamed \@if@mfp@beforefileopen to \@if@mfp@filenotopen (since it +could conceivably have been previously opened but then closed). + +Added \setdatadashes, \setdatacolors, and setdatasymbols, to allow +the user to set the dashing style, colors and symbols used when +\dashedlines, \coloredlines , or \pointedlines (or \datapointsonly), +respectively, are in effect. (later removed them, see below). + +Added \@nameuse and \@namedef and replaced a several lines of code +with shorter versions using them. + +Added \@ifmtarg (from ifmtarg.sty) and use it when possible instead +of \mfp@ifempty + +Reordered much of both mfpic.dtx and grafbase.dtx (many times!) to +make documentation more natural. + +Rather extensive revision of \axislabels , mainly so that braces around +the text argument are not prematurely stripped (bug introduced when we +tried to "gracefully" handle empty portions of the arguments). + +Added \@makeother and used it in \mfp@sanitize. + +Removed a number of \newif's : those whose values are always set by +another command. These commands now contain \let\ifxxx\iftrue instead +of \xxxtrue . This saves a couple of strings of pool. + +Added \mf@T for the frequently used string "true" , and \mf@F for +"false" . + +Removed grafdoc.tex from the manifest (grafbase.dtx documents the +grafbase macros). Also removed mf-revu.tex (because I'm lazy). +But will add mfpguide.tex as a short intro/tutorial. + +Set \@mfp@verbtexfalse after writing the verbatimtex in +\opengraphsfile (in case it a user tries to have more than one +\opengraphsfile command in a document). + +The utility \mfp@gettoks that was only used in \tmtitle and +\mftitle has now been used to abbreviate similar \afterassignment +constructs elsewhere. + +Rewrote \curve and \cyclic so both call the same command (as was +done some time ago with \polyline and \polygon though not documented +until now). + +Rewrote \noship and added \stopshipping and \resumeshipping so that +shipping can be turned off for several figures. + +Simplifies \mfpdatacomment so that it just sets the register +\@datacommentchar to the character code. Then \mfp@setcomment +changes the category of \@datacommentchar to 14 (comment). + +Added \transformpath , similar to \applyT except that it is a +modification macro for figures. It's argument is a transformer + +Added \cutoffafter {<obj>} and \cutoffbefore {<obj>} as prefix +macros that cut the following path after its intersection with the named +<obj> (a name defined with \store) + +Added \trimpath{<dim1>,<dim2>} , a prefix macro that removes the part +of the following path within <dim1> of its start and within <dim2> +of its end. + +Grafbase: + +Added transformedpath (transformer) expr f that reads a path f , applies +the transformer and returns the result. This is to supply the correct +syntax for the \transformpath macro. + +Added gbcutafter and gbcutbefore . Unlike the similarly named MP +macros, these try to cut off as much as possible. Later changed the +names to cutoffafter and cutoffbefore, but gave them standard mfpic +syntax: "vardef cutoffbefore (expr b) expr f =". Also reverted to +essentially the same as the MP definitions. + +Added trimmedpath (expr a,b) to implement \trimpath . + +Rewrote textovalx and textellipsex so they now simply call a common +command, xellipse with a switch set that affects only two lines of the +calculations. + +Slightly revised MF handling of colors. Now the only real difference +between MF and MP is in one macro, makeclr , plus the "color" keyword +("color" still means "numeric" in MF). What makeclr does is accept +three parameters and calculate a gray level in MF, but simply return a +color triple in MP. Then rgb(r, g, b) means + makeclr(snapto(r), snapto(g), snapto(b)) +while all other color functions (except named ) call rgb . + + +REVISION 0.66 alpha + +Grafbase: + +Will try to converge behavior of labels between options mplabels and +nomplabels . Therefor, we add the labels in grafbase on top of the +drawing, after any clipping. We do this in newgblabel (oh, yes, I +renamed newabel to newgblabel) by adding the label to their own +picture: currentlabels. Then currentlabels is added onto the picture +as the very last thing in endmfpic . + +Added emin(x,y) and emax(x,y) as somewhat more efficient versions +of min() and max() . They are vardefs and take two expression +arguments rather than a text parameter with an arbitrary list. + +Added the possibility for textrectx to be given "maximally" rounded +corners: each quarter circle meets the one at the nearest corner so the +end is a semicircle. This is done by allowing the radius parameter to be +a boolean. When it is true, maximal roundedness is used, when false the +corners are not rounded. Provided a mfpic interface by defining the +boolean variable roundends, which is true by default. + +Added TruncateWarn and NoCycleWarn , that print common warning +messages. + +Added pointcolor , the color in which points are drawn by pointd and +in which symbols are drawn by plotsymbol . Now implement pointd with +plotsymbol . However plotnodes , being a drawing command, uses +drawcolor . + +Removed "withcolor fillcolor" from the definition of interior , which +is normally only used in grafbase.mp in some other command that has a +color parameter. The only really "benefit" of having it there was a +dubious one: plotsymbol produced fillcolor solid symbols and +drawcolor open ones. Now all are in pointcolor . Also moved a couple +of other instances of withcolor out of low level commands and into +higher level commands. + +Removed the color parameter from thatchf . For MF to respond to +hatchcolor , the color has to be invoked when the hatching is added to +active_plane , and only the higher level command, thatch , does that. + +Rearranged some of grafbase.dtx for documentation purposes. I am +trying to follow this order: bitwise operations, picture manipulation +commands with use-motivated names, and then the rendering commands that +use those to manipulate active_plane, finally followed by the graph +coordinate rendering commands. + +Added vardefs pnt@#(f) , pre@#(f) and post@#(f) as abbreviations +for point @# of f , precontrol @# of f and postcontrol @# of f . + +Changed a few "max (x,0)" to "abs(x)". These had mostly been not +well-thought-out attempts to gracefully handle erroneous negative values +of "x". The "abs(x)" versions avoid problems in more situations + +Mfpic: + +I will eventually move the import of the picture from the beginning of +the environment (\mfpic) to the end (\endmfpic). Labels (when TeX is +placing them) will be kept in a separate box, and it will be added onto +the picture at the end. + +The optional parameter of \tlabelrect may now be the literal word +"roundends". This will make the radius of the quarter circles equal to +half the narrower dimension of the rectangle, giving the "rectangle" +semicircular ends. + +Added \pointcolor for setting the color of points (for \point) and for +symbols (\plotsymbol), but \plotnodes is interpreted as a drawing +command, and so still uses \drawcolor. + +Changed (again!) the name of \@if@mfp@filenotopen, this time to +\@if@mfp@fileisopen, reversing its sense, and reversed the order of all +commands. + +Moved the undefining of \mfp@filename in \closegraphsfile outside +the conditional (just in case). + + + +REVISION 0.67 alpha + +Grafbase: + +Added knownarray suffix arr, which returns a boolean: true if arr is +the name of a known array (arr is numeric and a positive integer and +arr[1] through arr[arr] are known). Added isdashpat suffix pat, +which applies knownarray to pat.start, pat.rep and pat.finish. + +Added defaultdashes, defaultsymbols, and defaultcolors, which +contains the code to define dashtype0, etc., pointtype0, etc., and +colortype0, etc. + +Added setdatadashes, setdatasymbols, and setdatacolors to allow the +user to change the definitions of the dashtype, pointtype, and +colortype arrays. + +Added getdashpat, getsymbol, and getcolor which perform the modding +operation that used to be done in TeX for reverting (for example) to +pointtype0 after the ninth curve is drawn by \plotdata. + +Changed thepolkadot (in MF) so it is shaded. But we should make it +cover other contents of a region, and we need to subtract black ones +before we add gray ones. Done. + +Added regularpolygon (expr n) (suffix P) (text eqns), where n +is the number of sides, P is the name of the array of vertices, and +eqns is a pair of equations specifying either the center, P0, and one +vertex, or two vertices. Vertices are numbered anticlockwise (otherwise +two points are not enough data). + +Added variables default_tension and fcn_tension to be used as the +default in path creation commands instead of the hard coded values 1 and +1.2. + +Mfpic: + +Realized that the opening code of \mfpic no longer needs to know the +setting of truebbox. No longer make it an error to use it in an mfpic +environment. + +Replaced the three commands \setdatadashes, \setdatacolors etc., with +a single command \reconfigureplot which takes the word `dashes', +`colors', or `symbols' for an argument. Added \defaultplot which +takes the same arguments and restores the builtin defaults. + +Changed name of \partialpath to \partpath. + +Added \regpolygon{n}{P}{<eqn1>}{<eqn2>} which writes +reguralpolygon (n) (P) (<eqn1>;<eqn2>;) (see above). + +Moved the loading of the figure to \endmfpic. Now tlabels are added +to a box \@alltlabels which is appended to the figure right after it +is loaded. This helps keep most of the box loading in one place. It also +permits the possibility of adding a write-18 capability for on-the-fly +figure creation. + +Added \mpobj as a synonym for \mfobj. + +Added \settension to set the grafbase variable default_tension. +and \setfcntension to set the grafbase variable fcn_tension. + +Docs: + +Started mfpguide.tex, a beginner's tutorial. + +Renamed mfpicdoc.tex to mfpicman.tex (can't remember why -- maybe +because I got it confused with mfpdoc.sty). + + +REVISION 0.68 alpha + +Grafbase: + +Improved fcncurve: fcncontrol does `the right thing' when two +successive points have the same x-coordinate. This gives the curve a +decent ending if, instead of extending the sequence by symmetry (in +order to calculate the controls for the endpoints) we extend by making +the additional points equal to the endpoints. Looks _so_ much better! +That was surprising given that all I tried to do was avoid dividing by +0! + +Modified plotnodes as well as plotsymbol so that both store the +relevant pairs in an array and call dosymbols, which draws the symbol +at each coordinate in the array. And dosymbols call another command, +addsymbols, one or two times (once to clear). + +Added boolean: clearsymbols. When true, those symbols place by +plotsymbol or plotnodes which are `clearable' (open paths that satisfy +their first point equals their last) are first closed and filled with +background color in MP (cleared in MF) before being drawn. + +Added complex function sgn Z : returns 0 if Z is (0,0) otherwise +unitvector Z. + +Modified shadepic. The main point to make sure we don't divide by 0. +But also, set dimensions for the picture by doing the lowest resolution +first (thus ensuring both dimensions are at least 2 _pixels_). + +Modified the arrowhead routine so that when the head is filled, the +extra line that closes the head is also drawn. + +Modified arcpps so that angles less than 45 are drawn as a single +segment without passing through a midpoint. + +Modified pathcenter c so it can find the center when c is only an +arc. + +Added barycenter expr t to average the points of the the path t. + +Added makesector expr p, where p is an arc (or any path). Connects +pathcenter p to its endpoints. Could be a little more accurate if we +limited it to arcpps and used arccenter. + +Added boolean: overlaylabels. When true, labels are added to +current_labels, which is then overlayed at endmfpic (new behavior), +when false, labels are added immediately to active_plane. + +Changed these so they produce a path (line segment); used to be they +returned the endpoint. (You can get the point by invoking +"point 1 of altitude n of Q".) + +altitude n of Q the altitude from Q[n] to the opposite side + (produced if necessary). +median n of Q the median from Q[n] to the opposite side +anglebisector n of Q the angle bisector from Q[n] to the opposite + side + +Added + tbezier (expr tens, cyclic) (text lst) +which makes the simple cubic bezier (connects the points in the list +with ..tension tens.. ), as well as its non-tense counterpart bezier. +Also added + mkbezier (expr tens, cyclic) (suffix pts) +which is called by the above after loading the text list in the +the array pts. + +For quadratic Be'ziers we have qbezier, and mkqbezier. + +Removed fcn_tension, using instead 1.2*default_tension. This is for +consistency, all curves responding to the same default + +Added verbatimtex definition to grafbase.mf. It just gobbles +everything to the next semicolon. + +Redid openqbs and closedqbs so they behave like most other +path-making commands: they call textpairs and then some common code, +mkqbs with the name of an array. Also redid mkclosedcbs so it +utilizes mkopencbs. + + +Mfpic: + +Changed the axis commands so they explicitly call \arrow. The purpose +was to ensure that the arrowhead is drawn _after_ the shaft. +Significant only for colored heads. This turns out to make axis@# in +grafbase unnecessary \arrow[l##1]\@figmac{axisline.##2} is all that is +required. + +Added \makesector, a \@closmac prefix that can make a sector out of +a following arc. Useful when the arc is given without a known center +([t] or [s]). + +Added \let\@nl=\@activectrlM to \@mfwrite so that \@nl can +be used for line breaks when catcodes of EOL are already fixed (e.g., in +macro definitions) + +Added check to \opengraphsfile that no previous file is still open. + +Added \clearsymbols \noclearsymbols to interface with the grafbase +clearsymbols boolean. Added clearsymbols LaTeX option + +Added \newdef\pinumber{3.14159}. + +Added new option: overlaylabels and commands \overlaylabels and +\nooverlaylabels. Similar in implementation to truebbox: a TeX +boolean is used only to communicate the setting to \opengraphsfile +before a file is open. Otherwise a MetaPost boolean (above) is switched +on or off. + +Moved \@processdatafile outside \@mfpic@graf@macs. Also moved +\skipBlanksandComments and definition of \mfp@data since they are +used by \@processdatafile. Also moved \skipcoomments because it +seemed it should go along with \skipBlanksandComments. Then I rewrote +the latter to actually call \skipcomments, so now it _has_ to go where +it goes. + +Renamed \mfp@empty to \@empty. + +Added \pairarray{<name>}{<list-of-pairs>} and +\numericarray{<name>}{<list-of-numbers>}. They define, respectively, an +array of pairs and an array of numbers. They can be used outside an mfpic +environments (unlike \patharr), and have the usual scoping properties. + +Added \mfbezier[<tens>]{<list>} to interface with grafbase's new +bezier command. Also \closedmfbezier. + +And the equivalent of (a sequence of) LaTeX \qbezier: \qbeziers and +\closedqbeziers. + +Removed \setfcntension because grafbase's fcn_tension was removed. +Adjusted docs. + +Renamed \if@mfp@mpost to \ifmfpmpost so power users can use it to +write code dependent on the figure processor. The commands to change it +are still private: \mfp@mposttrue/false . + +Added the test for file being open to \setmfvariable. Saves a lot of +tokens. It seems we never used it without \@if@mfp@fileisopen. Require +moving it considerably earlier. + +Added \mfp@let as abbreviation for \mfp@local\let. Likewise +\mfp@def. + +Renamed \mfp@addto to \mfpaddto for power users (i.e., me) and added +\mfpmultiply (same syntax and similar effect). + +Renamed \@if@mfp@fileisopen to \@ifmfpfileisopen (it was just too +many @'s !) + +Changed \everytlabel so it tests for metapost rather than mplabels. +This allows it to be used anywhere without worrying whether \nomplabels +might have cancelled its effect. + +Renamed \massage@data to \parse@data. + +Make sure every write of verbatimtex ... etex ends with a semicolon so +it can be used by grafbase.mf (see above). + + +Docs: + +First version of mfpguide.tex finished. Writing it exposed a number of +bugs that got by the usual suite of tests. It is the first documentation +that actually shows the code and its result together. + +Second version of mfpguide.tex, adds appendices. Planning to ship a +PDF version. + + +REVISION 0.69 alpha and 0.69a + +Mfpic: + +Rewrote \do@ptparam so its first parameter is the command token (e.g., +\do@ptparam\@draw{} instead of the old \do@ptparam{@draw}{}). Added a +command \simple@opt to process simple optional arguments (those that +don't need further parsing), it calls a second command to read the +option, substitute the default if empty, and then call the command with +the given or supplied option as a normal (brace enclosed) argument. The +idea is to make all empty optional arguments the same as none at all. +Added a command \null@opt which is essentially \do@ptparam with a null +second argument. It turns out that now all commands can be handled by +the last two: \do@ptparam and \alt@ptparam are not used anywhere +anymore, although the bare "\mfp@ifnextchar[" does appear once or twice. + +Make \gridlines honor the settings of \axismargin (see grafbase +section below). + +Added \hgridlines to draw only the horizontal and \vgridlines to +draw only the vertical. + +Added \gridarcs and \gridrays to draw only the arcs or rays of a +polar grid. + +Added \setmfboolean for \setmfvariable{boolean}. +Added \setmfnumeric for \setmfvariable{numeric}. + + +Grafbase: + +Rewrote gridlines to honor the axis margins (laxis, baxis, raxis, +and taxis). + +Added hgridlines (expr ysp) and vgridlines (expr xsp) + +Corrected polargrid. How did it ever last this long without a bug +report? The computation of rmin was wrong, and it seems a semicolon +was missing! Added gridarcs (expr rstep) to draw only the arcs, and +gridrays (tstep) for only the rays. Complemented plrpatch with +patcharcs and patchrays for this purpose. + +Corrected polargrid again! It seems the calculation of max and min +angles didn't take into account that angle (0,0) was undefined but +could occur in the code. + +Redid resizedrawpen to save drawpen and currentpen (not just +penwd). + +Removed mindiam and substituted minpenwd in the MP version (they +were equal anyway). + +Added \InputIfFileExists{mfpic.cfg} in the LaTeX section just before +\ProcessOptions. Added code to detect and input mfppatch.tex if it +exists. + +Docs: + +Added a file plotting example to pictures.tex and lapictures.tex. + +Added some of the new commands to Objects.tex . Converted Objects.tex +to use built-in \ifmfpmpost instead of the ad hoc \ifmetapost +defined in TeXMPobj.tex and LTXMPobj.tex. + +Renamed mfpicman.tex to mfpman.tex. + + +Distribution: + +Packed up for distribution in mfpic69b.zip: + + mfpic.dtx + grafbase.dtx + mfpic.ins + README.txt + install.txt + changes.txt + mfpman.pdf + mfpguide.pdf + examlpes\pictures.tex + examlpes\lapictures.tex + examlpes\forfun.tex + examlpes\data.dat + scr\mfpman.tex + scr\mfpguide.tex + scr\refcard.tex + scr\mfpdoc.sty + +And placed on web site. + + +REVISION 0.69c alpha + +Grafbase: + +Redid gendashed so that it balances speed versus memory: If there are +n repeated patterns, add sqrt(_n) of them to the picture _v, then +DoClip (_v); coloraddto (drawcolor) (active_plane, _v); <repeat>. Doing +that for each pattern was too slow, doing it only once wasted memory. + +Put on web site. + + +REVISION 0.69d + +Grafbase: + +Modified barchart so that the data can be pairs. Interpret (a,b) +as an interval and creates bars that begin at a and end at b (Gantt +diagrams). + +Added predirection@# (expr p) and postdirection@# (expr p) which +give correct results *whenever* the path p is nontrivial. Based on +the easily prove fact (which I only recently discovered) that for a +nontrivial single knot with keypoints A, B, C and D, the direction at A +is towards the first one of B, C or D that is not equal to A. The +predirection[j] returns (0,0) if the path is trivial. If the path is +trivial upto time j, it returns postdirection[j]. postdirection[j] +is analogous. + +Changed headpath to use predirection[length p](p) instead of +point length p of p - precontrol length p of p. + + +Mfpic: + +Added \gantt (= \barchart) + + +Distribution: + +Placed on web site, announced on c.t.t. + + +REVISION 0.69e + +Grafbase: + +Somehow the last version of grafbase included failed to include a +long-ago change to colorsafefill in which non-black fills first +subtract the interior under MF. Corrected that. + +Experimented with a O(log n) loop for filledwith. Made no significant +difference in speed in tests. Must be the extra overhead. Keeping old +O(n) method. + +Experimented with using "..tension atleast tens.." in mksmooth and +sclosed. All other tension using operations either call these or +require different treatment. The one case in the test suite where a +visible difference occured, it looked worse. Returned to old method. + +Proofed grafbase.dvi, the documentation of grafbase macros. + + +Docs: + +Proofed mfpguide. + + +REVISION 0.69f + +Mfpic: + +Made [cc] the default for \tlabelrect, etc. Added command +\tlpathjustify to change the default. + +Added code to input local additions, defaults, etc., in mfpic.usr, if +it exists. + +Changed \let\par\relax to \let\par\@empty at the beginning of +\@mfpic. It isn't really necessary to use \relax, we just want +to disable blank lines, we don't necessarily want to skip over them in +\mfp@ifnextchar. In fact, for catching errors, it is better if a blank +line stops \mfp@ifnextchar. + +Grafbase: + +New definition of image (writing on active_plane) prevents use of +plain.mp macros (draw and undraw, for example) inside it. Revert +to plain.mp version. + +Change patcharcs and patchrays so they draw on a suffix parameter +This avoids the use of image and saves memory since drawing on a +picture takes less memory (in some circumstances) than creating a +picture and then assigning it. Actually, the least memory would be to +clip each line as created and add that directly to active_plane. + +Re-examined use (or lack of use) of mono(). Added a few. + + +REVISION 0.69g + +Packed it up in mfpic69g.zip and put it on my web site. + +Docs: + +Added documentation that several arrays become defined after a +\piechart or \barchart command. + +Added documentation on \mfpicversion. Added a couple of overlooked +\index entries and a couple of commands omitted from the "by type" +list. + +Grafbase: + +Modified piechart and barchart so that the documentation about +arrays was correct What was missing: pieangle and piedirection +(without numeric suffixes) were not declared, nor given the correct +value. + +Modified code of textrectx so that documentation of \tlabelrect was +accurate: negative values of the optional argument should now produce +indented arcs and reversed path. All that needed doing was reversing the +order of the path connections for negative radii. + +Fine tune the calculation of gray level for the MP version of shade so +that the result more closely matches the MF version on modern printers +(600+ DPI). Formula is now gray = 1 - (.88*shadewd/sp)**2, which gives +a lighter gray than before. We therefore rewrite the MF code to permit +shadewd to be as high as sp/.88 before resorting to filling. The +number .88 was empirically arrived at (i.e. I determined what number +made most of the MP and MF shaded figures in Objects.tex look the most +similar on two different printers; then I averaged the two values). + +Change pi and deg to internals (along with radians). + +Make plrpatch do what it used to do: draw in drawcolor. Also change +polarpatch back to calling plrpatch. + + +REVISION 0.7 beta, 14 Nov 2003 + +Packed up and put on web page and CTAN. + + +REVISION 0.7a beta, 16 Apr 2004 + +Change one semicolon (;) in a string written by \opengraphsfile to a +colon (:) to work around a bug in the perl scripts mptopdf and/or +texexec. + + +------------------------------------------------------------------------ + + Stuff To Do + +------------------------------------------------------------------------ + + Pie-in-the-sky stuff + +A command to obtain the boundary of a region defined by F(x,y), where +F is a boolean valued function. Easy if the region is convex. + +A command to draw a path paralleling another path. Will need +predirection and postdirection and some notion of what to do when +they differ. Inside corners/cusps should be easy, + + /\ /\ + / \ --> / \ + / \ / /\ \ + +outside corners might need some limit on "mitering": + __ /\ + / \ / \ + /\ --> / /\ \ or / /\ \ or a rounded (circular?) connection. + + +A command to render a path with a "photon"? + +Try 'write18' on-the-fly creation of figures? Most straightforward would +be to mimic \opengraphsfile with each \mfpic. That would require +rethinking those commands that write to the graph file _outside_ an +mfpic figure. Maybe redo \mfsrc so it added to some macro or token list, +and write _that_ after the file is opened. + +Or maybe: \opengraphsfile at beginning of document, then +\closegraphsfile just before processing the figure, then \opengraphsfile +again right afterwards. Then only commands we insert occur when a file +is closed. + +Truebbox for MF? Might be done if every drawing command kept track of +bounding boxes (commands that fill, hatch, etc. already get this info +with gbbox). Would just need to add it to plotsymbol (for pointd and +plotnodes) and to the drawing commands (drawn, gendashed, etc.). Might +want to skip the lower-level things like safedraw, safefill, etc. (or +maybe add it _only_ there). Don't want to do it for anything that +doesn't add to active_plane. But some things only add pictures to +active_plane and by then it's impossible to determine the size. Once a +bounding box is known, endmfpic can adjust tfm dimensions. and shift the +picture before shipout. + + diff --git a/Master/texmf-dist/doc/generic/mfpic/data.dat b/Master/texmf-dist/doc/generic/mfpic/data.dat new file mode 100644 index 00000000000..24db6380230 --- /dev/null +++ b/Master/texmf-dist/doc/generic/mfpic/data.dat @@ -0,0 +1,37 @@ +### File: data.dat +### A part of mfpic 0.7a beta 2004/04/16 +### +# A file of data to plot a function curve +# (Sharp, not percent, must be comment character when this is read.) + + +# +-10% 11.68# This is a comment + -9% 9.62 + -8.5% 8.445 + -8% 8.28 + -7.5% 5.865 unused: random list, of, words,,, + -7% 5.5 +# This is not a blank line + -5.5% 3.445 + -5% 1 + -4.5% 1.965 + -4% 2.14 + -3.5% 2.985 + -2.5% -1.215 + -2% 1.52 + -0.5% 1.545 + 0% 0.42 + 0.5% -0.435 + 1% 0.96 + 2.5% -1.235 + 3% 0.94 + 3.5% 0.165 + 4% 0.28 + 5% 1.1 + 5.5% 3.145 + 6% 1.94 + 6.5% 5.505 + 7% 3.44 + 9.5% 8.925 + 10% 9.84 diff --git a/Master/texmf-dist/doc/generic/mfpic/forfun.tex b/Master/texmf-dist/doc/generic/mfpic/forfun.tex new file mode 100644 index 00000000000..8f9279a8763 --- /dev/null +++ b/Master/texmf-dist/doc/generic/mfpic/forfun.tex @@ -0,0 +1,137 @@ +%%% File: forfun.tex +%%% A part of mfpic 0.7a beta 2004/04/16 +%%% +\nopagenumbers +\input mfpic.tex +\usemetapost +\usetruebbox +\opengraphsfile{forfun} + +\mfpicunit=1bp + +\noindent +\mfpic[1]{-1.25}{118.5}{-11.25}{40} + +% meta-ness: +\mfsrc{h:=25; % height of "m" + s:=10; % width of stems +} + +% Calculate key points: +\mfsrc{% the "m" +z1=(0,0); +y1=y2=y5=y6=y9=y10; +x2-x1=x6-x5=x10-x9=s; +x6-x1=x10-x5=h; +z15-z1=z3-z2=z4-z5=z7-z6=z8-z9=z11-z10=(0,h/2); +y12=y1+h; x12=.5[x6,x9]; +y14=y12; x14=.5[x2,x5]; +z13= arcppp(z7,z14,z15) intersectionpoint arcppp(z11,z12,z4);} + +\mfsrc{% the "f" +z21=z10; % start "f" where the "m" ends +z22=z21+(s,0); +z23=z22+(0,h-s); +z24=z23+(3s/4,0); +z25=z24+(0,s); +z26=z23+(0,s); +z27=z26+(0,s/4); +z28=z27+(s/4,0)+ (s/4)*dir(30); +z29=z28+s*dir(30); +x30=x21; y30=y27;}% + +\mfsrc{% the "p" +x31=x24; +y31=y21; +z32=z31-(0,s); +z33=z32+(s,0); +z35=(x33,h/2); +z39=z31+(h,h)/2; %center of round part +z34=(z33--z35) intersectionpoint (fullcircle scaled h shifted z39); +z36=z39+(h/2,0); +z37=z31+(0,h/2);}% + +\mfsrc{% the "i" +z41=(x36,y31); +z42=z41+(s,0); +z43=z42+(0,h); +z44=z41+(0,h); +x45=0.5[x41,x42]; y45=y43 + s/2 +3/50;}% Center of dot + +\mfsrc{% the "c" +z51=z42; +z52=z51+(h,h)/2; %center +z53=z52+(h/2)*dir(15); +z54=z52-(h/2,0); +z55=z52+(h/2)*dir(-15); +z56=z52+(s/4)*dir(-15); +z57=z52-(s/4,0); +z58=z52+(s/4)*dir(15);}% + +\pen{2.5*\the\mfpicunit} + +% Calculate bounding box + +\mfsrc{% +% Need to account for half the thickness of pen; +% penwd is in absolute units so we need to convert. +% This is a displacement, so use invvconv (not invzconv): +begingroup +save border,ll,ur; +pair border,ll,ur; border:= invvconv((penwd,penwd))/2; +ll=(0,y32)-border; +ur=(x55,y30+(x29-x30)/2)+border;} + +\gfill[yellow]\rect{ll,ur} + +\mfsrc{endgroup;} + +\fillcolor{blue} +\drawcolor{green} + +\mftitle{m} +\draw\gfill\lclosed + \connect + \lines{z15,z1,z2,z3} + \arc[s]{z3,z4,-180} + \lines{z4,z5,z6,z7} + \arc[s]{z7,z8,-180} + \lines{z8,z9,z10,z11} + \arc[t]{z11,z12,z13} + \arc[t]{z13,z14,z15} + \endconnect + + +\mftitle{f} +\draw\gfill\lclosed + \connect + \lines{z21,z22,z23,z24,z25,z26,z27} + \arc[s]{z27,z28,-150} + \lines{z28,z29} + \arc[s]{z29,z30,150} + \endconnect + +\mftitle{p} +\draw\gfill\lclosed + \connect + \lines{z31,z32,z33,z34} + \arc[t]{z34,z36,z37} + \endconnect + +\draw\gfill[yellow]\circle{z39,(h/2-s)} + +\mftitle{i} +\draw\gfill\lclosed\lines{z41,z42,z43,z44} +\draw\gfill\circle{z45,s/2} + +\mftitle{c} +\draw\gfill\lclosed + \connect + \arc[t]{z53,z54,z55} + \arc[t]{z56,z57,z58} + \endconnect + +\endmfpic + +\closegraphsfile%{forfun} +\bye diff --git a/Master/texmf-dist/doc/generic/mfpic/install.txt b/Master/texmf-dist/doc/generic/mfpic/install.txt new file mode 100644 index 00000000000..9e881942298 --- /dev/null +++ b/Master/texmf-dist/doc/generic/mfpic/install.txt @@ -0,0 +1,119 @@ +%%% File: instruct.txt +%%% A part of mfpic 0.7a beta 2004/04/16 +%%% + +This is an alpha-test version of mfpic. See README.txt for a list of +files and a brief description of each. + +Generating and installing the files +----------------------------------- + +-- Put mfpic.ins, mfpic.dtx and grafbase.dtx in the same temporary + directory and change to that directory. Run latex on mfpic.ins, which + should produce the five files + mfpic.tex + mfpic.sty + grafbase.mf + grafbase.mp + dvipsnam.mp + +-- If you have an older version of mfpic, remove the old files with the + same names as the above five from your TeX directories, or ensure + that the following procedure overwrites them (back them up somewhere + else first if you wish). + +-- Copy mfpic.tex (and mfppatch.tex, if it exists) where TeX or LaTeX + will find it, and mfpic.sty where LaTeX will find it. On any TDS + compliant system (such as teTeX, fpTeX, TeXLive, or MiKTeX) they can + both be put in $TEXMF/tex/generic/mfpic/ (where $TEXMF indicates a + directory serving as a root of a texmf tree). + +-- Copy grafbase.mp and dvipsnam.mp where MetaPost will find them, for + example $TEXMF/metapost/mfpic/ . + +-- Copy grafbase.mf where Metafont will find it. For example, + $TEXMF/metafont/mfpic/ . + +-- Copy mfpguide.pdf and mfpman.pdf where documentation is kept. For + example, $TEXMF/doc/generic/mfpic/ . Optionally, copy src/*.* to the + LaTeX input path, and examples/*.* to either the same place or the + documentation area. + +-- If required by your TeX system (MiKTeX, teTeX, fpTeX, TeXLive + DO require it): UPDATE THE TeX FILENAME DATABASE ! + +There is one optional step that may be useful (if you only wish to use +mfpic to produce MetaPost pictures, you may skip this): find the file +modes.mf on your system. Typically this will be in $TEXMF/metafont/misc/ +Find near the end a line similar to + + localfont := ljfour; + +Replace, if necessary, the string "ljfour" by one of the modes listed in +that file. At minimum, select one whose resolution (DPI) matches your +printer and/or the configuration of your dvi viewer. If you make such a +change, regenerate the mf.base file (fmtutil on teTeX, fpTeX or TeXLive; +MiKTeX Options in MiKTeX). On some systems this may be named plain.base. + +Read mfpguide.pdf before trying anything further. If you are already +familiar with mfpic, version 0.2.10.9 or later, you can probably get +going right away. + +If you want to read the documented source code for mfpic, run latex on +mfpic.dtx and grafbase.dtx (Peter Wilson's docmfp.sty is required +for grafbase.dtx) 2 or 3 times each. Then run makeindex for each: + + makeindex -s gind.ist -o mfpic.ind mfpic.idx + makeindex -s gind.ist -o grafbase.ind grafbase.idx + +and then latex again (once each). The docmfp package can be found at +your favorite CTAN mirror. A copy of docmfp.sty is also on my web page +(see README.txt). + +------------------------------------------------------------------------ + +If you desire to remake the mfpic manual (and why in the world would you +be wanting to do a daft thing like that?), make sure mfpman.tex and +mfpdoc.sty are in the current directory or where LaTeX can find them. +Edit, if you like, the paper size option in the \documentclass command +in mfpman.tex. Make sure mfpdoc.sty is where LaTeX will find it. Then +run pdflatex two (2) times: + + pdflatex mfpman + pdflatex mfpman + +then run makeindex: + + makeindex mfpman + +then run latex two (2) more times + + pdflatex mfpman + pdflatex mfpman + +The last run is required to get the index into the table of contents. +You can use latex instead of pdflatex, but you won't get clickable links +in the result. (I was too lazy to work out the kinks.) + +You could do something similar for mfpguide.tex (but that, too, would be +daft): + pdflatex mfpguide + mpost guide.mp + pdflatex mfpguide + pdflatex mfpguide + +This relies on mfpic so you should probably wait to do that until after +you are accustomed to that process. (And then take a cold shower until +this compulsion passes.) + +And finally, if you forgot: + **************************************** + * ! UPDATE THE TeX FILENAME DATABASE ! * + **************************************** + +-- +Dan Luecking (luecking at uark dot edu) +Department of Mathematical Sciences +University of Arkansas +Fayetteville, Arkansas 72701-1201 +U.S.A diff --git a/Master/texmf-dist/doc/generic/mfpic/lapictures.tex b/Master/texmf-dist/doc/generic/mfpic/lapictures.tex new file mode 100644 index 00000000000..52a9f060d9e --- /dev/null +++ b/Master/texmf-dist/doc/generic/mfpic/lapictures.tex @@ -0,0 +1,199 @@ +%%% File: lapictures.tex +%%% A part of mfpic 0.7a beta 2004/04/16 +%%% +% Magnify to same scale as pictures.tex : +% (Use of \mag is against the law of LaTeX, but Bugs Bunny set a precedent.) +\mag=1200 +\documentclass{article} + +%%!!!!!!!!!!!!!!!!!!!!!!!!!!! +% adjust these to your liking: +\setlength{\paperheight}{11truein} +\setlength{\paperwidth}{8.5truein} + +% Default plainTeX margins +\setlength{\textwidth}{\paperwidth} +\addtolength{\textwidth}{-2truein} +\setlength{\textheight}{\paperheight} +\addtolength{\textheight}{-2.1truein} +\setlength{\headheight}{0in} +\setlength{\headsep}{0in} +\setlength{\oddsidemargin}{0in} +\setlength{\evensidemargin}{\oddsidemargin} +\setlength{\footskip}{\baselineskip} + +% Add the metapost option if you prefer. +\usepackage{mfpic} + +\ifx\pdfoutput\UndEfInEd +\else + \setlength{\pdfpageheight}{\paperheight} + \setlength{\pdfpagewidth}{\paperwidth} +\fi + +\opengraphsfile{pics} + +\setlength{\mfpframesep}{0pt} +\headshape{1}{1}{true} +\newcommand{\vs}{\bigskip\filbreak} +\renewcommand\raggedright{\rightskip 0pt plus2em \spaceskip.3333em \xspaceskip.5em\relax} +\begin{document} +\mftitle{Commutative Diagram example.} + +% A-----D +% |\ /| +% | C-F | +% |/ \| +% B- - -E + +\noindent +\begin{mfpframe} +\begin{mfpic}[12]{0}{10}{0}{10} +\tlabeljustify{cc} +\tcaption[2.0,1.0]{\raggedright{\it Figure 1:} Commutative diagram example.} +\tlabels{(1,9){A} (1,1){B} (3,5){C} (9,9){D} (9,1){E} (7,5){F}} +\setrender{\draw\arrow\trimpath{6pt}} +\lines{(1,9), (1,1)} % A -> B. +\lines{(1,9), (3,5)} % A -> C. +\lines{(3,5), (1,1)} % C -> B. +\lines{(1,9), (9,9)} % A -> D. +\lines{(9,9), (9,1)} % D -> E. +\lines{(9,9), (7,5)} % D -> F. +\lines{(7,5), (9,1)} % F -> E. +\lines{(3,5), (7,5)} % C -> F. +% B- - ->E : +%\dotted\arrow[r90][b-12pt]\arrow[b15pt]\reverse\arrow\lines{(1.5,1), (8.5,1)} +\dotted\arrow\arrow[b10pt]\reverse\arrow\trimpath{6pt}\lines{(1,1), (9,1)} +\end{mfpic} +\end{mfpframe} + +\vs + +\mftitle{Function Plot with Cartesian Axes.} + +\noindent +\begin{mfpframe} +\begin{mfpic}[20]{-3}{3}{-3}{3} +\axes +\function{-2,2,0.1}{((x**3)-x)/3} +\tcaption{\raggedright{\it Figure 2:} Function Plot with Cartesian Axes.} +\end{mfpic} +\end{mfpframe} + +\vs + +\mftitle{Parametric Function Plot, and Filled Circle.} + +\noindent +\begin{mfpframe} +\begin{mfpic}[30]{-1.5}{1.5}{-1}{1} +\parafcn{0,6,0.1}{cosd(150t)*dir(90t)} +\gfill\circle{(0,0),0.25} +\tcaption{\raggedright{\it Figure 3:} Parametric Function Plot, and Filled Circle.} +\end{mfpic} +\end{mfpframe} + +\vs + +\mftitle{Bar Graph.} + +\noindent +\begin{mfpframe} +\begin{mfpic}[20]{-0.5}{4}{-0.5}{4} +\axes +\shade\draw\rect{(0,0),(1,0.5)} +\darkershade +\shade\draw\rect{(1,0),(2,1)} +\hatch\draw\rect{(2,0),(3,2)} +\tcaption{\raggedright{\it Figure 4:} Bar Graph.} +\end{mfpic} +\end{mfpframe} + +\vs + +\mftitle{Pie Chart.} + +\noindent +\begin{mfpframe} +\begin{mfpic}[30]{-1.3}{1.7}{-1}{1.1} +\gfill\sector{(0.3,0.2), 1, 0,60} +\shade\sector{(0,0), 1, 60,105} +\turtle{(0,0), \plr{(1,105)}} +\sector{(0,0), 1, 60,360} +\tcaption{\raggedright{\it Figure 5:} Pie Chart.} +\end{mfpic} +\end{mfpframe} + +\noindent Unindented text here. + +\vs + +\mftitle{Circle with Arrow.} + +\noindent +\begin{mfpframe} +\begin{mfpic}[20]{-2}{2}{-1}{1} +\arrow\circle{(0,0),1} +\tcaption{\raggedright{\it Figure 6:} Circle with Arrow.} +\end{mfpic} +\end{mfpframe} + +\vs + +\mftitle{Use of hatch, draw, lclosed, connect, curve, point, lines, + dotted, reverse.} + +\noindent +\begin{mfpframe} +\begin{mfpic}[20]{-3}{3}{-3}{3} +\hatch\draw\lclosed\connect +\curve{(1,0), (1,0.5), (1,1), (0,1.5)} +\point{(0,0)} +\endconnect +\lines{(-1,1), (-1,-1), (1,-1.5)} +\point{(0,0)} +\dotted\reverse\lines{(-2,2), (-2,-2), (2,-3)} +\tcaption{\rightskip= 0pt plus 3em {\it Figure 7:} Use of hatch, draw, lclosed, connect, + curve, point, lines, dotted, reverse.} +\end{mfpic} +\end{mfpframe} + +\vs + +\mftitle{Simpler variant of the previous figure.} + +\noindent +\begin{mfpframe} +\begin{mfpic}[40]{-1}{1}{-1}{1} % Was `[20]'. +\tcaption{\raggedright{\it Figure 8:} Simpler variant of the previous figure.} +\hatch\draw\lclosed\connect +\curve{(1,0), (0.5,0.25), (0.5,0.5), (0,0.75)} +\point{(0,0)} +\endconnect +\reverse\lines{(-0.5,0.5), (-0.5,-0.5), (0.5,-0.75)} +\tcaption{\raggedright{\it Figure 8:} Simpler variant of the previous figure.} +\end{mfpic} +\end{mfpframe} + +\vs + +\mftitle{Graph of data from file.} + +\begin{mfpframe} +\begin{mfpic}[6]{-10}{10}{-2}{12} + \makepercentother + \using{#1% #2 #3}{(#1,#2)} + \makepercentcomment + \mfpdatacomment\# + \fcncurve\datafile{data.dat} + \axes +\end{mfpic} +\end{mfpframe} + +\closegraphsfile + +\end{document} + +%%% +%%% EOF lapictures.tex +%%% diff --git a/Master/texmf-dist/doc/generic/mfpic/mfpdoc.sty b/Master/texmf-dist/doc/generic/mfpic/mfpdoc.sty new file mode 100644 index 00000000000..674dc965061 --- /dev/null +++ b/Master/texmf-dist/doc/generic/mfpic/mfpdoc.sty @@ -0,0 +1,172 @@ +%%% File: mfpdoc.sty +%%% A part of mfpic 0.7a beta 2004/04/16 +%%% +\ProvidesPackage{mfpdoc}[2003/11/14 v0.5 macros for mfpic documentation] + +\RequirePackage{ifpdf} + +\newcommand\mfpversion{0.7a beta} +\newcommand\mfpdate {2004/04/16} + +% Text size: + +\textwidth 5.4167 in +\textheight 7.4166 in + +% Equal LR margins +\oddsidemargin 0.5\paperwidth + \advance\oddsidemargin-.5\textwidth + \advance\oddsidemargin-1truein +\evensidemargin\oddsidemargin + +% "Equal" TB margins (if headings are ignored). +\topmargin 0.5\paperheight + \advance\topmargin-0.5\textheight + \advance\topmargin-\headheight + \advance\topmargin-\headsep + \advance\topmargin-1truein + +\ifpdf + \pdfpageheight\paperheight + \pdfpagewidth\paperwidth +\else + \ifx\mfpdvipdfm\UndEfInEd + \special{papersize=\the\paperwidth,\the\paperheight} + \else + \special{pdf: pagesize width \the\paperwidth\space height \the\paperheight} + \fi +\fi + +\renewcommand\section{\@startsection {section}{1}{\z@}% + {-2.4ex \@plus -.5ex \@minus -.1ex}% + {1.0ex \@plus.1ex}% + {\normalfont\large\bfseries}} +\renewcommand\subsection{\@startsection{subsection}{2}{\z@}% + {-1.8ex\@plus -.4ex \@minus -.1ex}% + {.75ex \@plus .1ex}% + {\normalfont\bfseries}} +\renewcommand\subsubsection{\@startsection{subsubsection}{3}{\z@}% + {-1.2ex\@plus -.3ex \@minus -.1ex}% + {.5ex \@plus .1ex}% + {\normalfont\scshape\raggedright}} + +\def\mfpicversiontext{\prog{Mfpic} version: \mfpversion.} + +\def\@maketitle{% + \newpage\vspace*{-2\baselineskip} + \ifx\mfpicversiontext\relax + \else + {\let\p@footnote\relax\let\@thempfn\relax + \footnotetext{\mfpicversiontext}}% + \fi + {\centering% + {\Large \@title \par}% + \vskip 1em% + {\large \lineskip .5em% + \begin{tabular}[t]{c}% + \@author + \end{tabular}\par}% + \vskip .7em% + {\normalsize \@date}% + \par + }% + \vskip 1em\relax} + +\def\mfpindexheading{} +\def\mfpindexpagemarks{} + +\renewenvironment{theindex} + {% + \@restonecoltrue + \columnseprule \z@ + \columnsep 35\p@ + \twocolumn[\mfpindexheading% + \vspace{1ex}]% + \mfpindexpagemarks + \parindent\z@ + \parskip\z@ \@plus .3\p@\relax + \let\item\@idxitem + } + {\clearpage} + +% command descriptions: +\newenvironment{cd} + {\def\ {\leavevmode\null\quad}% small space at beginning of line + \par\addvspace{1.75ex plus .3ex minus .1ex} + \vbox\bgroup\parindent0pt\ignorespaces} + {\unskip\strut\egroup\nobreak\vspace{.75ex plus .3ex minus .1ex}% + \@ignoretrue} + +% examples: +\newenvironment{ex} + {\par\def\ {\leavevmode\null\quad}% + \addvspace{1ex plus.2ex minus.1ex}\leftskip2\parindent\relax + \vbox\bgroup\parindent0pt\ignorespaces} + {\unskip\egroup\vskip 1ex plus.2ex minus.1ex \@ignoretrue\@endpetrue} + +\def\pdfTeX{pdf\kern.04em\TeX} +\def\pdfLaTeX{pdf\kern.06em\LaTeX} +\def\ConTeXt{Con\kern-.16em \TeX \kern-0.06em t} +\def\eTeX{e\kern-.10em \TeX} +\def\AmSTeX{$\cal A$\kern-.1667em\lower.5ex + \hbox{$\cal M$}\kern-.125em$\cal S$-\TeX} +\def\PiCTeX{P\kern-.12em\lower.5ex\hbox{I}\kern-.075emC\kern-.11em\TeX} + +\hyphenation{meta-font meta-post Post-Script Ghost-script} + +\def\MF{\prog{metafont}} +\def\CMF{\prog{Metafont}} +\def\MP{\prog{metapost}} +\def\CMP{\prog{Metapost}} +\def\PS{\prog{PostScript}} +\def\GS{\prog{Ghostscript}} +\def\EPS{\prog{EPS}\null} +\def\mfp{\prog{mfpic}} +\def\Mfp{\prog{Mfpic}} +\def\grafbase{\prog{grafbase}} +\def\Grafbase{\prog{Grafbase}} + +\def\mytt#1{\relax + \ifmmode \mathtt{#1} + \else {\upshape\mdseries\ttfamily#1}\fi} +\def\mfc{\begingroup\mdseries\ttfamily\catcode`\_=12 \grabit} +\def\grabit#1{#1\endgroup} +\def\_{{\tt\char`\_}} +\def\prog#1{{\mdseries\scshape#1}} % programs, packages +\let\file\mytt % filenames +\def\opt#1{{\upshape\sffamily#1}} % LaTeX option names +\let\gbc \mfc % grafbase code +\let\env \file % LaTeX environment names +\let\email\file +\let\mail \file +\let\dim \file % TeX and Metafont dimensions + +\edef\otherbackslash{\expandafter\@gobble\string\\} +\DeclareRobustCommand\cs[1]{\mytt{\char`\\#1}} +\def\bbsl{\cs{}\cs{}}% prints "\\" +\DeclareRobustCommand\meta[1]{% + \ensuremath{\langle\mbox{\rmfamily\itshape#1\/}\rangle}} +\providecommand\marg[1]{\mytt{\char`\{#1\char`\}}} +\providecommand\oarg[1]{\mytt{[#1]}} +\providecommand\parg[1]{\mytt{(#1)}} + +\def\ps@mfpdoc{% + \let\@oddfoot\@empty\let\@evenfoot\@empty + \def\@oddhead{\small{\scshape\rightmark}\hfil\thepage}% + \let\@evenhead\@oddhead + \let\@mkboth\markboth + \def\sectionmark##1{\thispagestyle{plain}} + \def\subsectionmark##1{% + \markright {\thesubsection\quad##1}}% + \def\subsubsectionmark##1{}} + +\renewcommand\tableofcontents{\pagenumbering{roman}% + \section*{\contentsname + \@mkboth{\scshape\contentsname}{\scshape\contentsname}}% + \@starttoc{toc}\clearpage\pagenumbering{arabic}} + +% figures at top of float pages: +\@fptop=-\@fpsep + +\frenchspacing +\endinput diff --git a/Master/texmf-dist/doc/generic/mfpic/mfpguide.pdf b/Master/texmf-dist/doc/generic/mfpic/mfpguide.pdf Binary files differnew file mode 100644 index 00000000000..6567586c67e --- /dev/null +++ b/Master/texmf-dist/doc/generic/mfpic/mfpguide.pdf diff --git a/Master/texmf-dist/doc/generic/mfpic/mfpguide.tex b/Master/texmf-dist/doc/generic/mfpic/mfpguide.tex new file mode 100644 index 00000000000..ea0eaf04d88 --- /dev/null +++ b/Master/texmf-dist/doc/generic/mfpic/mfpguide.tex @@ -0,0 +1,1614 @@ +%%% File: mfpguide.tex +%%% A part of mfpic 0.7a beta 2004/04/16 +%%% +% Tutorial on mfpic +\documentclass[letterpaper]{article} + +\usepackage{pslatex} + +\usepackage{mfpdoc} +\usepackage{verbatim} + +\makeatletter +\def\verbatim@processline{\hspace{20pt}\the\verbatim@line\par} +\@addtoreset{figure}{section} +\makeatother + +\renewcommand{\thefigure}{\thesection.\arabic{figure}} + +\newenvironment{mfpfig}[1] +{\figure[htb] \centering \refstepcounter{figure} \label{#1}} +{\par\medskip Figure \thefigure. \endfigure} + +\usepackage[dvipdfm]{graphics} +\usepackage[metapost]{mfpic} +\opengraphsfile{guide} + +\ifpdf +\usepackage[pdftex,colorlinks,pdfpagemode=none,pdfstartview=FitH,% +plainpages=false,hypertexnames=true]{hyperref} +\pdfstringdefDisableCommands{\def\cs#1{\otherbackslash#1}% + \def\opt#1{#1}\def\prog#1{#1}} +\fi + +\def\theHfigure{\thefigure} + +\title{\Mfp: A Short Introduction} +\author{Daniel H. Luecking\thanks{luecking at uark dot edu}} +\date{\mfpdate} + +\begin{document} + +\maketitle +\tableofcontents + +\section{Introduction}\label{sec:intro} + +As this document aims only to instruct the reader in the building of +figures with \mfp{}, we will not be too concerned with the intricacies +of running programs in various operating systems and \TeX{} +distributions. What will be described here is the simplest case: a +command-line system in which commands are typed at a keyboard. To +simplify things further, we will assume that \mfp{} is used with the +\opt{metapost} option, in a \LaTeX{} document, with \pdfLaTeX{} as the +compiler. An appendix will discuss some of the differences when these +assumptions are not satisfied. + +We will start right out with the ``Hello, world'' of \mfp{}. Construct a +\LaTeX{} document by typing the following in a text editor and saving it +as \file{first.tex}. +\begin{verbatim} + \documentclass{article} + \usepackage[metapost]{mfpic} + \opengraphsfile{myfigs} + \begin{document} + My first figure: + \begin{mfpic}[72]{-1}{1}{-1}{1} + \ellipse{(0,0),1,.5} + \end{mfpic} + \closegraphsfile + \end{document} +\end{verbatim} +Run the command +\begin{ex} + \texttt{pdflatex first} +\end{ex} +which should create several files, the two most important being +\file{first.pdf} and \file{myfigs.mp}. You can go ahead and open +\file{first.pdf}. You should see a 2 inch by 2 inch square with +something similar to `\texttt{\#1}' in the lower left corner. This shows +where the picture will be when it has been created. + +Now run the command +\begin{ex} + \texttt{mpost myfigs} +\end{ex} +which should create the file \file{myfigs.1}. This is an EPS file +(Encapsulated PostScript) and can be opened in GhostScript or GSview or +similar Postscript viewing program to see an ellipse. + +If you are viewing \file{first.pdf} in Acrobat Reader or Adobe Reader, +you will need to close it. Now repeat the \pdfLaTeX{} step: +\begin{ex} + \texttt{pdflatex first} +\end{ex} +and then view the file \file{first.pdf}. You should see something very +close to figure~\ref{fig1}. +\begin{mfpfig}{fig1} + My first figure: + \begin{mfpic}[72]{-1}{1}{-1}{1} + \ellipse{(0,0),1,.5} + \end{mfpic} +\end{mfpfig} + +What can go wrong? According to Murphy's Law: anything. If \mfp{} is +not properly installed, one could obtain messages of files not found. If +that happens, determine (from your \TeX{} system's documentation) where +\TeX{} input files should go and make sure that \file{mfpic.tex} and +\file{mfpic.sty} reside there. Similarly, find out where \MP{} inputs +should go and make sure that \file{grafbase.mp} and \file{dvipsnam.mp} +reside there. Then run whatever command your \TeX{} system might require +to ``update the filename database''. You may safely ignore the message +from \mfp{} itself that \file{myfigs.1} is not found (on the first run +of \pdfLaTeX). This file should be created only after running +\texttt{mpost}. + +If you get an error message from \LaTeX{}, carefully check your typing. +Also check whether an older version of \mfp{} might have been used +instead of the current version. If you get an error message from \MP{} +do the same, especially within the \env{mfpic} environment. If you get a +message from \MP{} that ``Grafbase'' believes your \mfp{} installation +may be broken, check the log files (\file{first.log} and +\file{myfigs.log}) to find out the locations of these input files: +\begin{ex} + \file{mfpic.tex} and \file{grafbase.mp} +\end{ex} +and make sure that both these files are from the most recently installed +\mfp{} package. If you are only evaluating \mfp{} without committing to +upgrading it, just make sure all the files mentioned in the previous +paragraphs are in the current directory. + +If \pdfLaTeX{} complains it can't write on the file \file{first.pdf}, +unload first.pdf from your pdf viewer and try again. + +If the figures look a little choppy in Acrobat Reader, turn on ``smooth +line art'' in the edit preferences dialogue. + +I will assume that eventually all went well and you are now able to +obtain the ellipse of figure~\ref{fig1}. Each time you change an +\env{mfpic} environment or the options to the package, you potentially +change the file \file{myfigs.mp} produced and you should repeat the +sequence: +\begin{verbatim} + pdflatex first + mpost myfigs + pdflatex first +\end{verbatim} +to be sure of seeing the changes. + +One thing you might notice about figure~\ref{fig1} is that the ellipse +is positioned quite a bit above the base line of the text. This is +because \mfp{} reserves the amount of space specified in the arguments +of the \env{mfpic} environment. These arguments are +\verb$[72]{-1}{1}{-1}{1}$, which means the each unit in the picture is +72 times the value of \cs{mfpicunit}, that is, about one inch. the first +pair of mandatory arguments, \verb${-1}{1}$, indicate the +$x$-coordinates run from $-1$ to $1$. Since these differ by 2, they +indicate a width of two inches. The second pair similarly represents a +height of two inches. But the ellipse is centered at $(0,0)$, which is +one inch above the bottom (bottom is at $y = -1$), and its vertical +radius is .5. So the lowest point on the ellipse should be .5 inches +above the bottom of the space reserved. \Mfp{} provides a way to fit the +space reserved to the actual extent of `ink' in the picture. That is by +the option \opt{truebbox}: +\begin{verbatim} + \usepackage[metapost,truebbox]{mfpic} +\end{verbatim} +This would then produce something like figure~\ref{fig2}. +From now on, this option will be in effect in our examples. +\usetruebbox +\begin{mfpfig}{fig2} + My first figure: + \begin{mfpic}[72]{-1}{1}{-1}{1} + \ellipse{(0,0),1,.5} + \end{mfpic} +\end{mfpfig} + +Even though the arguments to the \env{mfpic} environment are ignored in +determining the size of the figure (under \opt{truebbox}), they are +still needed in order to establish the coordinate system that the +ordered pairs refer to (for example \texttt{(0,0)} in the \cs{ellipse} +arguments). + +\section{Positioning text}\label{sec:text} + +By now you are probably thinking: ``This so-called `Hello, world' +of \mfp{} doesn't say `Hello, world' anywhere!'' We correct that +with the following example: +\begin{verbatim} + \begin{mfpic}[72]{-1}{1}{-1}{1} + \ellipse{(0,0),1,.5} + \tlabel[cc](0,0){Hello, world.} + \end{mfpic} +\end{verbatim} +This should give you figure~\ref{fig3}. +\begin{mfpfig}{fig3} + \begin{mfpic}[72]{-1}{1}{-1}{1} + \ellipse{(0,0),1,.5} + \tlabel[cc](0,0){Hello, world.} + \end{mfpic} +\end{mfpfig} + +The \cs{tlabel} command places the given text at the given position +($(0,0)$) adjusted according to the optional argument \texttt{[cc]}, +which says to center the text (both vertically and horizontally) at that +location. The \texttt{[cc]} is optional. Without it, the text would have +the leftmost point of its baseline (the imaginary line that most letters +sit on) placed at $(0,0)$. + +You are no doubt thinking: ``The ellipse doesn't really match the +text. What you need is some macro that measures the text and produces an +oval with similar domensions.'' For that we have the \cs{tlabeloval} +command. The \cs{tlabeljustify} command in the example below is to +communicate to both the text placement and the curve generation +procedures that they are to be centered at the point $(0,0)$. (We'll see +an easier way to do this later.) +\begin{verbatim} + \begin{mfpic}[72]{-1}{1}{-1}{1} + \tlabeljustify{cc} + \tlabeloval(0,0){Hello, world.} + \end{mfpic} +\end{verbatim} +This produces figure~\ref{fig4}. +\begin{mfpfig}{fig4} + \begin{mfpic}[72]{-1}{1}{-1}{1} + \tlabeljustify{cc} + \tlabeloval(0,0){Hello, world.} + \end{mfpic} +\end{mfpfig} + +This would be better still if a little space is left around the text so +the ellipse doesn't touch it. The \cs{tlabelsep} command can do that: +\begin{verbatim} + \begin{mfpic}[72]{-1}{1}{-1}{1} + \tlabeljustify{cc} + \tlabelsep{3pt} + \tlabeloval(0,0){Hello, world.} + \end{mfpic} +\end{verbatim} +producing figure~\ref{fig5}. +\begin{mfpfig}{fig5} + \begin{mfpic}[72]{-1}{1}{-1}{1} + \tlabeljustify{cc} + \tlabelsep{3pt} + \tlabeloval(0,0){Hello, world.} + \end{mfpic} +\end{mfpfig} + +Now it would be nice to make the text pop out a bit with some color. +Adding \verb$\gfill[yellow]$ in front of either \verb$\ellipse$ or +\verb$\tlabeloval$ will do that: +\begin{verbatim} + \begin{mfpic}[72]{-1}{1}{-1}{1} + \tlabelsep{3pt} + \tlabeljustify{cc} + \gfill[yellow]\tlabeloval(0,0){Hello, world.} + \end{mfpic} +\end{verbatim} +This will produce figure~\ref{fig6}. +\begin{mfpfig}{fig6} + \begin{mfpic}[72]{-1}{1}{-1}{1} + \tlabelsep{3pt} + \tlabeljustify{cc} + \gfill[yellow]\tlabeloval(0,0){Hello, world.} + \end{mfpic} +\end{mfpfig} + +Notice that now the boundary of the oval has not been drawn. This is the +standard behavior of \mfp{}. A figure command alone will draw the +figure. If you want some other rendering than that, you must explicitly +provide all of it. To get the boundary back, simply add \verb$\draw$ +before the \verb$\gfill$. You can draw the curve in a color other than +black with an optional argument. We can also make the line thicker with +the command \verb$\penwd$: +\begin{verbatim} + \begin{mfpic}[72]{-1}{1}{-1}{1} + \penwd{1.5pt} + \tlabelsep{3pt} + \tlabeljustify{cc} + \draw[blue]\gfill[yellow]\tlabeloval(0,0){Hello, world.} + \end{mfpic} +\end{verbatim} +This will produce figure~\ref{fig7}. +\begin{mfpfig}{fig7} + \begin{mfpic}[72]{-1}{1}{-1}{1} + \penwd{1.5pt} + \tlabelsep{3pt} + \tlabeljustify{cc} + \draw[blue]\gfill[yellow]\tlabeloval(0,0){Hello, world.} + \end{mfpic} +\end{mfpfig} + +This last version doesn't look too bad, but it seems that the oval ought +to be a little fatter (slightly higher than it now is). By default, +\verb$\tlabeloval$ will make the ratio of width to height the same as +that of the text, or rather of the text plus the additional space +specified by \verb$\tlabelsep$. This can be changed with an optional +argument, a number that multiplies the width-to-height ratio. Decreasing +this ratio will decrease the width (slightly) and increase the height. +Here we have also omitted the \cs{tlabeljustify} command and shown that +\cs{tlabeloval} takes a second optional argument that can be used to +`justify' both the curve and the text. To use this, one must explicitly +include the first optional argument; if the default is intended, an +empty pair of brackets may be used. +\begin{verbatim} + \begin{mfpic}[72]{-1}{1}{-1}{1} + \penwd{1.5pt} + \tlabelsep{3pt} + \draw[blue]\gfill[yellow]\tlabeloval[.8][cc](0,0){Hello, world.} + \end{mfpic} +\end{verbatim} +This will produce figure~\ref{fig8}. +\begin{mfpfig}{fig8} + \begin{mfpic}[72]{-1}{1}{-1}{1} + \penwd{1.5pt} + \tlabelsep{3pt} + \draw[blue]\gfill[yellow]\tlabeloval[.8][cc](0,0){Hello, world.} + \end{mfpic} +\end{mfpfig} + +The \cs{tlabeloval} command places the label last, after the action of +all the preceding macros; therefore the text ends up on top of +everything else. The \cs{tlabeloval} command also has a \mbox{`*-form'} that +does everything \emph{except} place the text. Finally, ovals are not the +only thing that can be used to surround text. See the manual +(\file{mfpman.pdf}) and below for others. + +Here is a more common use of \verb$tlabel$ commands: labeling a graph +and axes. In the following example we have given \cs{tlabel} the option +\texttt{[bl]} to place the bottom left corner of the text at the given +coordinates. However, we have used \verb$\tlabelsep{3pt}$ (which has the +additional effect of moving text away from its nominal location) to +prevent the text from colliding with the curve. +\begin{verbatim} + \begin{mfpic}[72]{0}{2.5}{0}{1} + \tlabelsep{3pt} + \polyline{(0,.2),(.5,1),(1,.7),(1.5,0),(2,.3)} + \tlabel[bl](.5,1){Max output} + \dashed\polyline{(0,.2),(.5,.6),(1,.3),(1.5,.7),(2,.1)} + \tlabel[bl](1.5,.7){Max input} + \end{mfpic} +\end{verbatim} +This will produce figure~\ref{fig9}. +\begin{mfpfig}{fig9} + \begin{mfpic}[72]{0}{2.5}{0}{1} + \tlabelsep{3pt} + \polyline{(0,.2),(.5,1),(1,.7),(1.5,0),(2,.3)} + \tlabel[bl](.5,1){Max output} + \dashed\polyline{(0,.2),(.5,.6),(1,.3),(1.5,.7),(2,.1)} + \tlabel[bl](1.5,.7){Max input} + \end{mfpic} +\end{mfpfig} + +Notice that \verb$\polyline$ alone produces a solid line while +\verb$\dashed\polyline$ makes a dashed line. Let us close this section +by dressing up this figure with axes, some fat dots marking the +keypoints, and hash marks on the axes: +\begin{verbatim} + \begin{mfpic}[72]{0}{2.5}{0}{1} + \tlabelsep{3pt} + \polyline{(0,.2),(.5,1),(1,.7),(1.5,0),(2,.3)} + \point[3pt]{(0,.2),(.5,1),(1,.7),(1.5,0),(2,.3)} + \tlabel[bl](.5,1){Max output} + \dashed\polyline{(0,.2),(.5,.6),(1,.3),(1.5,.7),(2,.1)} + \pointfillfalse + \point[3pt]{(0,.2),(.5,.6),(1,.3),(1.5,.7),(2,.1)} + \tlabel[bl](1.5,.7){Max input} + \axes + \xmarks{0,0.5,1,1.5,2} + \axislabels x{{$50$} .5, {$100$} 1, {$150$} 1.5, {$200$} 2} + \end{mfpic} +\end{verbatim} +This will produce figure~\ref{fig10}. +\begin{mfpfig}{fig10} + \begin{mfpic}[72]{0}{2.5}{0}{1} + \tlabelsep{3pt} + \polyline{(0,.2),(.5,1),(1,.7),(1.5,0),(2,.3)} + \point[3pt]{(0,.2),(.5,1),(1,.7),(1.5,0),(2,.3)} + \tlabel[bl](.5,1){Max output} + \dashed\polyline{(0,.2),(.5,.6),(1,.3),(1.5,.7),(2,.1)} + \pointfillfalse + \point[3pt]{(0,.2),(.5,.6),(1,.3),(1.5,.7),(2,.1)} + \tlabel[bl](1.5,.7){Max input} + \axes + \xmarks{0,0.5,1,1.5,2} + \axislabels x{{$50$} .5, {$100$} 1, {$150$} 1.5, {$200$} 2} + \end{mfpic} +\end{mfpfig} + +The optional argument of \verb$\point$ specifies the diameter of the +points to draw. The command \verb$\pointfillfalse$ forces the points to +be drawn as open circles. The axes configure themselves to the size +specified in the argument of the \env{mfpic} environment. The +\verb$axislabels$ command takes as arguments a letter, to specify the +axis, and a comma separated list of labels, each of which is specified +by some text to place (in braces) and the x-coordinate to place it at. + +\section{Drawing figures} + +\Mfp{} has several predefined figures and commands to obtain essentially +any curve (provided one can obtain enough points on it with sufficient +precision). We've already seen \verb$\polyline$ and \verb$\ellipse$. The +former needs a list of points to connect with line segments and the +latter needs the center and radii of the ellipse. The \verb$\ellipse$ +also takes an optional argument: the number of degrees to rotate the +ellipse. Here we list some of the more common such figures. Remember +that all of them will produce some sort of line drawing if used alone. +They can be preceded by \verb$\dashed$ to make the lines dashed or +\verb$dotted$ to make them dotted. If the figure is a closed curve, +\verb$\gfill$ will fill them in. +\begin{verbatim} + \begin{mfpic}[72]{0}{4}{0}{1} + \rect{(0,0),(1,.75)} + \circle{(1.5,.5),.45} + \arc[s]{(3,0),(2,1),45} + \ellipse[20]{(3.5, 0.5), 0.6, 0.4} + \end{mfpic} +\end{verbatim} +This produces figure~\ref{fig11}. The \verb$\arc$ command has several +forms. The optional argument picks the form to use. This one specifies +the endpoints of the circular arc and the angle of the arc (the angle +between the radii from the center of the circle to those two points). +Other possibilities are a three-point form (option \texttt{[t]}), a +polar form (option \texttt{[p]}), and a center-point-sweep form (option +\texttt{[c]}, specify a center, starting point, and angle). See the +manual for details. The default (what would be assumed if no optional +argument is given) is \oarg{s} and is called the point-sweep form. +\begin{mfpfig}{fig11} + \begin{mfpic}[72]{0}{4}{0}{1} + \rect{(0,0),(1,.75)} + \circle{(1.5,.5),.45} + \arc[s]{(3,0),(2,1),45} + \ellipse[20]{(3.5, 0.5), 0.6, 0.4} + \end{mfpic} +\end{mfpfig} + +The \cs{polyline} command draws straight lines connecting points. We can +also draw smooth curves. Lets take the same points from our +\cs{polyline} example (figure~\ref{fig9}), but change \cs{polyline} to +\cs{curve}, omit the text, and add the points from figure~\ref{fig10}: +\begin{verbatim} + \begin{mfpic}[72]{0}{2.5}{0}{1} + \curve{(0,.2),(.5,1),(1,.7),(1.5,0),(2,.3)} + \point[3pt]{(0,.2),(.5,1),(1,.7),(1.5,0),(2,.3)} + \dashed\curve{(0,.2),(.5,.6),(1,.3),(1.5,.7),(2,.1)} + \pointfillfalse + \point[3pt]{(0,.2),(.5,.6),(1,.3),(1.5,.7),(2,.1)} + \end{mfpic} +\end{verbatim} +This should produce figure~\ref{fig12}. +\begin{mfpfig}{fig12} + \begin{mfpic}[72]{0}{2.5}{0}{1} + \curve{(0,.2),(.5,1),(1,.7),(1.5,0),(2,.3)} + \point[3pt]{(0,.2),(.5,1),(1,.7),(1.5,0),(2,.3)} + \dashed\curve{(0,.2),(.5,.6),(1,.3),(1.5,.7),(2,.1)} + \pointfillfalse + \point[3pt]{(0,.2),(.5,.6),(1,.3),(1.5,.7),(2,.1)} + \end{mfpic} +\end{mfpfig} + +This is somewhat unsatisfying. One could improve the result by selecting +more points, or by increasing the `tension' in the curve. + +Roughly speaking, tension determines how straight the segments between +the points are, and how sharp the turns at each point. High tension +makes the curve look a little more like a polyline. The default tension +is 1, a tension of about 5 makes the result look somewhat like a +polyline with very slightly rounded corners, very high tensions make the +curve indistinguishable from a polyline. Another effect of increased +tension is to reduce the little wobbles we can see in the first curve. +Let's try a tension of 1.5, which can be specified as an optional +argument to \cs{curve}: +\begin{verbatim} + \begin{mfpic}[72]{0}{2.5}{0}{1} + \curve[1.5]{(0,.2),(.5,1),(1,.7),(1.5,0),(2,.3)} + \point[3pt]{(0,.2),(.5,1),(1,.7),(1.5,0),(2,.3)} + \dashed\curve[1.5]{(0,.2),(.5,.6),(1,.3),(1.5,.7),(2,.1)} + \pointfillfalse + \point[3pt]{(0,.2),(.5,.6),(1,.3),(1.5,.7),(2,.1)} + \end{mfpic} +\end{verbatim} +This give figure~\ref{fig13}. +\begin{mfpfig}{fig13} + \begin{mfpic}[72]{0}{2.5}{0}{1} + \curve[1.5]{(0,.2),(.5,1),(1,.7),(1.5,0),(2,.3)} + \point[3pt]{(0,.2),(.5,1),(1,.7),(1.5,0),(2,.3)} + \dashed\curve[1.5]{(0,.2),(.5,.6),(1,.3),(1.5,.7),(2,.1)} + \pointfillfalse + \point[3pt]{(0,.2),(.5,.6),(1,.3),(1.5,.7),(2,.1)} + \end{mfpic} +\end{mfpfig} + +When we use \cs{curve}, there is no way \MP{} can tell if we are just +connecting points or if we are trying to graph a function. +It \emph{cannot} enforce the requirement, which every function must +satisfy, that the curve should travel left-to-right. The command +\cs{fcncurve} does enforce this (assuming the points to be connected are +listed in left-to-right order). This command also permits a tension +argument. The dotted line in figure~\ref{fig14} is produced with +\cs{curve}, the solid one with \cs{fcncurve}. One might want +to increase the tension a bit here, too. +\begin{verbatim} + \begin{mfpic}[72]{0}{2.5}{0}{1} + \dotted\curve{(0,.2),(.5,0),(.85,.5),(1,1),(1.5,0),(2,.3)} + \fcncurve{(0,.2),(.5,0),(.85,.5),(1,1),(1.5,0),(2,.3)} + \pointfillfalse + \point[3pt]{(0,.2),(.5,0),(.85,.5),(1,1),(1.5,0),(2,.3)} + \end{mfpic} +\end{verbatim} +\begin{mfpfig}{fig14} + \begin{mfpic}[72]{0}{2.5}{0}{1} + \dotted\curve{(0,.2),(.5,0),(.85,.5),(1,1),(1.5,0),(2,.3)} + \fcncurve{(0,.2),(.5,0),(.85,.5),(1,1),(1.5,0),(2,.3)} + \pointfillfalse + \point[3pt]{(0,.2),(.5,0),(.85,.5),(1,1),(1.5,0),(2,.3)} + \end{mfpic} +\end{mfpfig} + +Other figures available include\leftmargini=2\leftmargini +\begin{description} +\item[\cs{cyclic}] Used just like \cs{curve} but closes the path + (connects the last point smoothly to the starting point). +\item[\cs{polygon}] Used just like \cs{polyline} except it connects the + last point to the first with a straight line. +\item[\cs{sector}] Makes a wedge with two straight lines and an arc. The + arguments are almost the same as \cs{arc}\oarg{s}, but the order is + different: center, radius and two angles. +\end{description} + +Here are some other curves that, like \cs{tlabeloval}, are proportioned +to fit given text. All have a \texttt{*}-form that draws the path +without placing the text. +\begin{description} +\item[\cs{tlabelrect}] This produces a rectangle. It has the same usage + as \cs{tlabeloval}, except the first optional argument specifies + the radius of quarter-circles used to make rounded corners. +\item[\cs{tlabelellipse}] This is similar to \cs{tlabeloval} + except that instead of modifying the width-to-height ratio, the + first optional argument \emph{is} the width-to-height ratio. If that + argument is 1 (the default) you get a circle. +\item[\cs{tlabelcircle}] This produces a circle, of course. +\end{description} + + +\section{Functions} + +\CMP{} is able to calculate a number of functions natively, and still +more have been defined in \mfp{}. Also available are the usual +arithmetic operations. Any valid \MP{} expression, containing +one unknown \gbc{x} and producing a numerical result can be graphed. + +Here is an example of the graphs of $y = x^2$ and $y = \pm\sqrt{x}$. +Note that exponentials are denoted by \texttt{**} and it is important to +note that it has the same precedence as multiplication (denoted by +a single \texttt{*}). That is, in a formula like \mfc{3*3**2}, the +operations are performed in order, left to right, producing $9^2 = 81$ and +not $3\cdot 9 = 27$. Parentheses are needed if the latter is intended: +\mfc{3*(3**2)}. +\begin{verbatim} + \setlength{\mfpicunit}{1cm} + \begin{mfpic}{-2.5}{2.5}{-1.5}{4} + \function{-2,2,.1}{x**2} + \function{0,2,.1}{sqrt x} + \function{0,2,.1}{-sqrt x} + \axes + \xmarks{-2,-1,1,2} + \ymarks{-1,1,2,3} + \tlabelsep{3pt} + \axislabels x{{$-2$}-2,{$-1$}-1,{$1$}1,{$2$}2} + \axislabels y{{$-1$}-1,{$1$}1,{$2$}2,{$3$}3} + \end{mfpic} +\end{verbatim} +This produces figure~\ref{fig15}. +\begin{mfpfig}{fig15} + \setlength{\mfpicunit}{1cm} + \begin{mfpic}{-2.5}{2.5}{-1.5}{4} + \function{-2,2,.1}{x**2} + \function{0,2,.1}{sqrt x} + \function{0,2,.1}{-sqrt x} + \axes + \xmarks{-2,-1,1,2} + \ymarks{-1,1,2,3} + \tlabelsep{3pt} + \axislabels x{{$-2$}-2,{$-1$}-1,{$1$}1,{$2$}2} + \axislabels y{{$-1$}-1,{$1$}1,{$2$}2,{$3$}3} + \end{mfpic} +\end{mfpfig} + +The command \cs{function} has two arguments. The first contains the +starting and ending x-values of the desired graph, followed by a +\emph{step size}. Generally the smaller the steps the better the +accuracy, but \MP{} has a limit on the number of steps (usually about +2000). There is also an optional argument which can be \oarg{s}, the +default, which means the graph is to be smooth, or \oarg{p}, which means +the graph is constructed by connecting the calculated points with +straight lines. Here is the same example with larger step size to +emphasize the difference (see figure~\ref{fig16}) +\begin{verbatim} + \setlength{\mfpicunit}{1cm} + \begin{mfpic}{-2.5}{2.5}{-1.5}{4} + \function[p]{-2,2,.5}{x**2} + \function[p]{0,2,.5}{sqrt x} + \function[p]{0,2,.5}{-sqrt x} + \axes + \xmarks{-2,-1,1,2} + \ymarks{-1,1,2,3} + \tlabelsep{3pt} + \axislabels x{{$-2$}-2,{$-1$}-1,{$1$}1,{$2$}2} + \axislabels y{{$-1$}-1,{$1$}1,{$2$}2,{$3$}3} + \end{mfpic} +\end{verbatim} +\begin{mfpfig}{fig16} + \setlength{\mfpicunit}{1cm} + \begin{mfpic}{-2.5}{2.5}{-1.5}{4} + \function[p]{-2,2,.5}{x**2} + \function[p]{0,2,.5}{sqrt x} + \function[p]{0,2,.5}{-sqrt x} + \axes + \xmarks{-2,-1,1,2} + \ymarks{-1,1,2,3} + \tlabelsep{3pt} + \axislabels x{{$-2$}-2,{$-1$}-1,{$1$}1,{$2$}2} + \axislabels y{{$-1$}-1,{$1$}1,{$2$}2,{$3$}3} + \end{mfpic} +\end{mfpfig} + +In addition, one can increase the tension in the curve drawn by putting +a tension value after the \gbc{s} in \oarg{s}. For a tension of 2.4: +\cs{function}\oarg{s2.4}\marg{\dots}. + +The functions available include \gbc{sqrt} and all the trig functions: +\gbc{sin x} assumes \gbc{x} is an angle in radians, \mfc{sind x} assumes +it is in degrees, with a similar naming convention for the remaining +trig functions. The inverses are \gbc{asin x}, \gbc{acos x}, and +\gbc{atan x}, which produce angles in degrees, and \gbc{invsin x}, etc., +which produce angles in radians. There is also \gbc{ln~x} or \gbc{log~x} +for the natural logarithm, \gbc{exp~x} for $e^x$, \gbc{logten}~\gbc{x} +for the base 10 logarithm, \gbc{logtwo}~\gbc{x} for base 2, and +\gbc{logbase} for other bases: +\gbc{logbase(16)}~\gbc{x} (for example) for base 16. The general syntax of +these functions is the following: if the argument is \gbc{x} alone or a +pure number alone or the particular case of a number followed by \gbc{x} +(no \gbc{*} in between!) then parentheses are not needed. Example: +\gbc{sin~2x}. For almost anything else, parentheses are required: +\gbc{sin(3*x)} or \gbc{sin(x**2)}. + +Some other functions available are the hyperbolic functions, \gbc{sinh x}, +\gbc{cosh x}, etc. (all 6 of them), and the inverses of three of them: +\gbc{asinh x}, \gbc{acosh x}, and \gbc{atanh x}. + +These functions (or any \MP{} numeric expression) can also be used in +any of the coordinates of points in drawing commands like \cs{polyline} +(but not usually in text placement commands like \cs{tlabeloval}). For +example (from now on the value of \cs{mfpicunit} is set to +\texttt{1cm}):\setlength{\mfpicunit}{1cm} +\begin{verbatim} + \begin{mfpic}{-.5}{2.5}{-1.5}{1.5} + \polyline{(2,-sqrt 2),(1,-1),(.5,- sqrt .5),(0,0), + (.5,sqrt .5),(1,1),(2,sqrt 2)} + \axes + \xmarks{1,2} + \ymarks{-1,1} + \tlabelsep{3pt} + \axislabels x{{$1$}1,{$2$}2} + \axislabels y{{$-1$}-1,{$1$}1} + \end{mfpic} +\end{verbatim} +\begin{mfpfig}{fig17} + \begin{mfpic}{-.5}{2.5}{-1.5}{1.5} + \polyline{(2,-sqrt 2),(1,-1),(.5,- sqrt .5),(0,0), + (.5,sqrt .5),(1,1),(2,sqrt 2)} + \axes + \xmarks{1,2} + \ymarks{-1,1} + \tlabelsep{3pt} + \axislabels x{{$1$}1,{$2$}2} + \axislabels y{{$-1$}-1,{$1$}1} + \end{mfpic} +\end{mfpfig} + +There are other types of functions: parametric functions, and polar +coordinate versions. \Mfp{} provides \cs{parafcn} and \cs{plrfcn} to +graph these. The \cs{parafcn} requires a starting value, and ending +value and a step size just as in \cs{function}, but in the second +argument there must be either a pair of expressions in the variable +\gbc{t}, separated by a comma and enclosed in parentheses, or a single +\emph{pair-valued} expression. \CMP{} and \mfp{} provide only a few +pair-valued functions; one is used below. + +The second argument of \cs{plrfcn} must contain a single numeric +expression in the variable \gbc{t}, and indicates a function of $\theta$ +to be graphed in polar coordinates: $r = f(\theta)$. In the following +example (figure~\ref{fig22}), we draw a portion of the graph of $x = +y^2$ by representing it as the graph of the parametric equations $x = +t^2$, $y = t$, and a portion of a circle of radius $1.5$ by representing +it as the graph of the pair-valued function \mfc{dir(t)}. The expression +\mfc{dir(t)} gives the point whose distance from $(0,0)$ is $1$ in the +direction given by the angle \mfc{t}. +\begin{verbatim} + \begin{mfpic}{-2}{4}{-2}{2} + \parafcn{-2,2,.1}{(t**2,t)} + \dotted\parafcn{45,315,5}{1.5*dir(t)} + \end{mfpic} +\end{verbatim} +\begin{mfpfig}{fig22} + \begin{mfpic}{-2}{4}{-2}{2} + \parafcn{-2,2,.1}{(t**2,t)} + \dotted\parafcn{45,315,5}{1.5*dir(t)} + \end{mfpic} +\end{mfpfig} + + +Here is an example of a graph of the polar coordinate function +$r=2\sin 3\theta$ (figure~\ref{fig23}). We use the degree version +\mfc{sind} in order to work with integers. +\begin{verbatim} + \begin{mfpic}{-2}{2}{-2}{2} + \plrfcn{0,180,5}{2*sind 3t} + \end{mfpic} +\end{verbatim} +\begin{mfpfig}{fig23} + \begin{mfpic}{-2}{2}{-2}{2} + \plrfcn{0,180,5}{2*sind 3t} + \end{mfpic} +\end{mfpfig} + + +\section{Transforming figures} + +\CMP{} is capable of any affine transformation (things like shifting, +rotating, scaling, reflecting and slanting) of any path. The figures +we've been dealing with so far (\cs{ellipse}, \cs{curve}, \cs{function}, +etc.) all produce, in the \MP{} code, the definition of some path (as +well as a drawing of that path). \Mfp{} provides for different methods +of `drawing' the path with \emph{prefix macros}. We've seen \cs{dashed}, +\cs{dotted}, \cs{gfill} so far, in addition to the default \cs{draw}. +\Mfp{} also provides for modifying the shape and position of the path +with other prefixes. Here's a simple example. +\begin{verbatim} + \begin{mfpic}{-.5}{2.5}{-.5}{2.5} + \rotatepath{(1,.5), 45}\rect{(0,0),(2,1)} + \point{(1,.5)} + \end{mfpic} +\end{verbatim} +The command \cs{rotatepath} obviously rotates the path that follows, but +it needs to know what the center of rotation will be, and how much to +rotate. These are given in its mandatory argument, separated by a comma. +The example above (pictured in figure~\ref{fig18}) rotates 45 degrees +around the center of the rectangle. +\begin{mfpfig}{fig18} + \begin{mfpic}{-.5}{2.5}{-.5}{2.5} + \rotatepath{(1,.5), 45}\rect{(0,0),(2,1)} + \point{(1,.5)} + \end{mfpic} +\end{mfpfig} + +Notice that we have no drawing prefix. A combination of +transformation-plus-figure is treated as a figure in its own right and +behaves the same. If we want the figure dashed, we could write +\begin{verbatim} + \dashed\rotatepath{(1,.5),45}\rect{(0,0),(2,1)} +\end{verbatim} +It may not be obvious, but we can also write a drawing macro between +the rotation and the figure, producing figure~\ref{fig19} +\begin{verbatim} + \begin{mfpic}{-.5}{2.5}{-.5}{2.5} + \rotatepath{(1,.5), 45}\draw\rect{(0,0),(2,1)} + \point{(1,.5)} + \end{mfpic} +\end{verbatim} +\begin{mfpfig}{fig19} + \begin{mfpic}{-.5}{2.5}{-.5}{2.5} + \rotatepath{(1,.5), 45}\draw\rect{(0,0),(2,1)} + \point{(1,.5)} + \end{mfpic} +\end{mfpfig} + +This illustrates another property of \mfp{} macros: the combination of a +rendering prefix and a figure is also treated the same as a figure in +its own right: the same figure as the one that follows. In fact, the +only difference between \cs{rect} and \cs{draw}\cs{rect} in this +example is that the second one has a minor (!) side effect: the +rectangle is drawn. + +Finally, try to guess what happens if we add another prefix at the +front: +\begin{verbatim} + \begin{mfpic}{-.5}{2.5}{-.5}{2.5} + \dotted\rotatepath{(1,.5), 45} + \draw\rect{(0,0),(2,1)} + \end{mfpic} +\end{verbatim} +and if we add another rotation in front of that. +\begin{verbatim} + \begin{mfpic}{-.5}{2.5}{-.5}{2.5} + \rotatepath{(0,0),45} + \dotted\rotatepath{(1,.5), 45} + \draw\rect{(0,0),(2,1)} + \end{mfpic} +\end{verbatim} + +Transformations availiable include \cs{scalepath}, +\cs{shiftpath}, \cs{xscalepath}, \cs{yscalepath}, \cs{slantpath}, and +\cs{reflectpath}. See the manual for a description of what arguments are +required for each. Here's a final example, producing figure~\ref{fig20} +\begin{verbatim} + \begin{mfpic}{-.5}{2.5}{-.5}{2.5} + \shiftpath{(-1,1)}\draw[red]\slantpath{.5,1}\dotted + \rotatepath{(0,0), 90}\dashed\rect{(0,0),(2,1)} + \point{(0,0),(2,1)} + \tlabelsep{2pt} + \tlabel[tr](0,0){$(0,0)$} + \tlabel[bl](2,1){$(2,1)$} + \end{mfpic} +\end{verbatim} +\begin{mfpfig}{fig20} + \begin{mfpic}{-.5}{2.5}{-.5}{2.5} + \shiftpath{(-1,1)}\draw[red]\slantpath{.5,1}\dotted + \rotatepath{(0,0), 90}\dashed\rect{(0,0),(2,1)} + \point{(0,0),(2,1)} + \tlabelsep{2pt} + \tlabel[tr](0,0){$(0,0)$} + \tlabel[bl](2,1){$(2,1)$} + \end{mfpic} +\end{mfpfig} + +\section{Rendering figures} + +\emph{Rendering} is the act of making a description of a figure visible. +Examples are: drawing a solid curve, drawing a dashed curve, or filling +its interior, For \mfp{} figure macros the default, in the absence of +explicit commands, is to use \cs{draw}. That is, +\begin{verbatim} + \rect{(0,0),(1,2)} +\end{verbatim} +has the same result as +\begin{verbatim} + \draw\rect{(0,0),(1,2)} +\end{verbatim} +The default rendering can be changed. Just say +\cs{setrender}\marg{\cs{dashed}}, and all figures afterward will be dashed +(see figure~\ref{fig21}). +\begin{verbatim} + \begin{mfpic}{0}{2}{0}{1} + \setrender{\dashed} + \rect{(0,0),(1,1)} + \circle{(1.5,.5),.5} + \end{mfpic} +\end{verbatim} +\begin{mfpfig}{fig21} + \begin{mfpic}{0}{2}{0}{1} + \setrender{\dashed} + \rect{(0,0),(1,1)} + \circle{(1.5,.5),.5} + \end{mfpic} +\end{mfpfig} +The \cs{setrender} command can be inside an \env{mfpic} environment to +affect only later commands in that figure, or outside to affect all +later \mfp{} figures. + +We give a few examples now of the renderings possible. These divide +more-or-less into those that trace a path and those that fill in a path. +In order to fill in a path, it must be a closed path, of course, but +\MP{} distinguishes between closed paths and those that merely happen to +end where they began. There is a good reason for this: \MP{} cannot, +without human aid, know if two points are the same, or merely +accidentally so close that the accuracy of the program sees them as the +same. It requires human aid in the form of an explicit request to +create a closed path. Of the \mfp{} macros we've seen so far, +\cs{ellipse}, \cs{circle}, \cs{rect}, \cs{polygon}, and \cs{cyclic} +produce closed paths, but \cs{polyline}, \cs{curve}, \cs{function}, +\cs{parafcn}, and \cs{plrfcn} do not. Also producing closed paths are +\cs{tlabeloval} and its relatives. + +The following example illustrates filling with a hatching pattern +(parallel lines) and an \emph{unfilling}. Clearing the interior of a +path may not seem like rendering, it is treated in exactly the same way +(think of it as a negative rendering). We first hatch a rectangle, then +clear out a smaller rectangle with rounded corners to place our text +inside. The results are in figure~\ref{fig24}. +\begin{verbatim} + \begin{mfpic}{0}{2}{0}{2} + \draw[red]\lhatch[2pt][blue]\rect{(0,0),(2,2)} + \gclear\tlabelrect[6pt][cc](1,1){Hatching!} + \end{mfpic} +\end{verbatim} +\begin{mfpfig}{fig24} + \begin{mfpic}{0}{2}{0}{2} + \draw[red]\lhatch[2pt][blue]\rect{(0,0),(2,2)} + \gclear\tlabelrect[6pt][cc](1,1){Hatching!} + \end{mfpic} +\end{mfpfig} +This example illustrates that \cs{lhatch} fills with left slanting +lines. And that it takes two optional arguments. The first is the +distance between lines, and the second is the color to make the lines. +There are also \cs{rhatch} which slants the lines the other way, +\cs{xhatch} which uses both slants, and \cs{thatch} which can draw +the lines at any angle. + +Here is another example of rendering (figure~\ref{fig26}). The new +macro is \cs{polkadot}. We've repeated this example twice to +show the effect of changing the order of the prefixes. Each prefix +applies its rendering to the result of everything to the right of it. In +the second example the hatching goes over the dots (and a bit of the +dashes as well). If the \cs{gfill} were first, it would cover almost +everything else. +\begin{verbatim} + \begin{mfpic}{0}{6}{0}{2} + \penwd{2pt} + \hatchwd{2pt} + \drawcolor{blue} + \hatchcolor{red} + \fillcolor{green} + \dashed\polkadot\rhatch[5pt]\gfill[yellow]\rect{(0,0),(2.8,1.8)} + \rhatch[5pt]\dashed\polkadot\gfill[yellow]\rect{(3,0),(5.8,1.8)} + \end{mfpic} +\end{verbatim} +We've added a couple of other new features to this example. To emphasize +effects, we've increased the thickness of the drawing pen (\cs{penwd}) +and the hatch lines (\cs{hatchwd}). We've also used the \cs{drawcolor} +macro and its relatives to set the colors to be used. The \cs{polkadot} +macro uses the color set by \cs{fillcolor}; so does \cs{gfill} if no +optional color is given. +\begin{mfpfig}{fig26} + \begin{mfpic}{0}{6}{0}{2} + \penwd{2pt} + \hatchwd{2pt} + \drawcolor{blue} + \hatchcolor{red} + \fillcolor{green} + \dashed\polkadot\rhatch[5pt]\gfill[yellow]\rect{(0,0),(2.8,1.8)} + \rhatch[5pt]\dashed\polkadot\gfill[yellow]\rect{(3,0),(5.8,1.8)} + \end{mfpic} +\end{mfpfig} + +If one wants to plot several curves in a single graph, they often need +to be rendered differently. The three methods we've seen so far, +\cs{draw}, \cs{dashed}, and \cs{dotted}, may not be enough. The +\cs{dashed} and \cs{dotted} commands permit an optional argument to +adjust the length of the dashes and spaces, and size of the dots. One +can also change the curve thickness with \cs{penwd}. But +that may not be `different' enough. \Mfp{} provides a few solutions. +When color is available, they may be drawn in different colors. When +not, there are two possibilities: \cs{gendashed} and \cs{plot}. + +The first, \cs{gendashed}, is a generalized dashing macro. It takes one +mandatory argument, the name of a dashing pattern. Named dashing +patterns may be created with the \cs{dashpattern} command, as shown by +the following example (see figure~\ref{fig27}): +\begin{verbatim} + \begin{mfpic}{-3.5}{3.5}{-1}{1} + \dashpattern{dotdash}{0pt,4pt,3pt,4pt} + \gendashed{dotdash}\function{-pi,pi,.2}{sin 2x} + \function{-pi,pi,.2}{cos 2x} + \axes + \end{mfpic} +\end{verbatim} +\begin{mfpfig}{fig27} + \begin{mfpic}{-3.5}{3.5}{-1}{1} + \dashpattern{dotdash}{0pt,4pt,3pt,4pt} + \gendashed{dotdash}\function{-pi,pi,.2}{sin 2x} + \function{-pi,pi,.2}{cos 2x} + \axes + \end{mfpic} +\end{mfpfig} + +The \cs{dashpattern} command takes a name and an even number of lengths. +The first, third, etc., lengths represent the lengths of dashes +(\texttt{0pt} means a dot), and the second, fourth, etc., represent +spaces. The given pattern is dot-space-dash-space. This pattern, when +used in a \cs{gendashed} command, is repeated for the length of the +curve. + +This last example illustrates that the predefined \MP{} variable +\gbc{pi} (equal to 3.14159) can be used pretty much anywhere a number +can be used (except, often, in text label commands). + +Another way to get more distinctive curves is to `dot' them with +something other than tiny dots. The \cs{plot} command does that. It +takes one mandatory argument, the name of a symbol to use instead of a +dot. Here are the same two curves \cs{plot}-ed (figure~\ref{fig28}): +\begin{verbatim} + \begin{mfpic}{-3.5}{3.5}{-1.2}{1.2} + \setlength{\pointsize}{2.5pt} + \plot{Triangle}\function{-pi,pi,.2}{sin 2x} + \plot[2pt,6pt]{SolidCircle}\function{-pi,pi,.2}{cos 2x} + \axes + \end{mfpic} +\end{verbatim} +\begin{mfpfig}{fig28} + \begin{mfpic}{-3.5}{3.5}{-1.2}{1.2} + \setlength{\pointsize}{2.5pt} + \plot{Triangle}\function{-pi,pi,.2}{sin 2x} + \plot[2pt,6pt]{SolidCircle}\function{-pi,pi,.2}{cos 2x} + \axes + \end{mfpic} +\end{mfpfig} + +The \cs{plot} command takes an optional argument to specify the size of +the symbols and the spacing between them. The size of the symbols can +also be adjusted by changing the length command \cs{pointsize} (that also +adjusts the size of the dots placed with the \cs{point} command). + +In this last example, \cs{plotnodes} is similar to \cs{plot}, except it +placed the symbols at the `nodes' defined by the path command. In the +case of \cs{function}, these are the points $(x_k, f(x_k))$ with $x_k$ +stepping through all the $x$-values determined by the first argument of +\cs{function} (figure~\ref{fig29}). +\begin{verbatim} + \begin{mfpic}{-3.5}{3.5}{-1.2}{1.2} + \plotnodes[2.5pt]{Square}\function{-pi,pi,pi/16}{sin 2x} + \axes + \end{mfpic} +\end{verbatim} +\begin{mfpfig}{fig29} + \begin{mfpic}{-3.5}{3.5}{-1.2}{1.2} + \plotnodes[2.5pt]{Square}\function{-pi,pi,pi/16}{sin 2x} + \axes + \end{mfpic} +\end{mfpfig} + +See the manual for the list of predefined symbols available to the +\cs{plot} and \cs{plotnodes} command. + +\section{More on text} + +The text positioning commands used so far in this guide are entirely +handled by \TeX{} or \LaTeX. This is why we have occasionally had to say +that certain things could be done ``except in text placement commands''. +It is possible for text positioning to be done within \MP, making many +things possible that couldn't be done otherwise. For example, text can +be rotated about the point of placement. You are probably thinking that +\LaTeX{} can rotate text, but it is not all that easy to arrange for the +point on the graph where we place the text to be the center of rotation. +Below are two examples, in which we attempt to place the text separated +from $(0,0)$ by \texttt{5pt} and rotated 45 degrees around $(0,0)$. In +the first we try to use \LaTeX's \cs{rotatebox} command, and in the +second we turn on \MP{} handling of labels and use a rotation option to +the \cs{tlabel} command. +\begin{verbatim} + \begin{mfpic}{0}{1}{0}{1} + \point{(0,0)} + \polyline{(0,0),(1,1)} + \tlabel[Bl](0,0){\rotatebox{45}{\hspace{5pt}Test text}} + \end{mfpic}\renewcommand\thefigure{\thesection.\arabic{figure}a} +\end{verbatim} +\begin{verbatim} + \usemplabels + \begin{mfpic}{0}{1}{0}{1} + \point{(0,0)} + \polyline{(0,0),(1,1)} + \tlabelsep{5pt} + \tlabel[Bl45](0,0){Test text} + \end{mfpic} +\end{verbatim} +\begin{figure}[!hb] + \centering + \begin{minipage}{4cm} + \centering + \begin{mfpic}{0}{1}{0}{1} + \point{(0,0)} + \polyline{(0,0),(1,1)} + \tlabel[Bl](0,0){\rotatebox{45}{\hspace{5pt}Test text}} + \end{mfpic}\renewcommand\thefigure{\thesection.\arabic{figure}a} + \refstepcounter{figure}\label{fig30a} + \par\medskip (a) + \end{minipage}\addtocounter{figure}{-1}\qquad + \begin{minipage}{4cm}\usemplabels + \centering + \begin{mfpic}{0}{1}{0}{1} + \point{(0,0)} + \polyline{(0,0),(1,1)} + \tlabelsep{5pt} + \tlabel[Bl45](0,0){Test text} + \end{mfpic}\renewcommand\thefigure{\thesection.\arabic{figure}b} + \refstepcounter{figure}\label{fig30b} + \par\medskip (b) + \end{minipage} + + \medskip Figure \thesection.\arabic{figure}. +\end{figure} + +The first produces figure~\ref{fig30a} and the second produces +figure~\ref{fig30b}. Our goal was to get the baseline of the text lined +up with the reference line drawn. + +In the first example, \LaTeX's \cs{rotatebox} command produces the +following result, where we put a frame around both the unrotated text +and the rotated result to emphasize what \LaTeX{} sees as the +boundaries: +$$ + \hbox{\setlength\fboxsep{0pt}% + \fbox{\rotatebox{45}{\fbox{\hspace{5pt}Test text}}}} +$$ +This is then placed by the \cs{tlabel} command with the lower left +corner of the \emph{outer} box at $(0,0)$. But \LaTeX's axis of rotation +was at the lower left corner of the inner box. In the second case, \MP{} +placed the label. The command \cs{tlabelsep}\marg{5pt} and the parameter +\oarg{Bl45} explicitly request that the label be placed with its left +baseline 5 points from $(0,0)$ and rotated 45 degrees \emph{about that +point}. + +The \cs{usemplabels} command used above asks \MP{} to arrange for the +setting of labels. Adding the option \opt{mplabels} to the +\cs{usepackage} command that loads \mfp{} has the same effect for the +whole document. There can be problems with using \MP{} to set labels. +One is that \MP{} has to call a \file{tex} program to do the actual +typesetting, and then one must either make arrangements that ensure +\MP{} will call \LaTeX, or never use any macros in the labels that are +not defined in plain\TeX. If one does arrange for \LaTeX{} to be used, +one needs to arrange that a \LaTeX{} preamble is prepended to the output +\file{.mp} file. The \cs{mfpverbtex} command can be used for this. + +The command \cs{nomplabels} can be used to return to having labels set +at the document level. For the rest of this guide, we have +\opt{mplabels} in effect. + +There are a few more commands that place text on the picture. All of +them pass the final responsability for text placement to \MP{} if +\opt{mplabels} is in effect. See the manual for more details. + + +\section{Arrows} + +The command \cs{arrow} adds an arrowhead onto the \emph{end} of any path +that follows. For this to have predictable effects, you need to know +which part of a curve is the end, and which the start. Not surprisingly, +for the commands that connect a list of points in order the first point +in the list is the start point and the last point is the end. Except the +closed paths (\cs{cyclic}, \cs{polygon}, etc.); for them, the start and +the end points are the same, but the order of the points gives a +direction to the arrowhead. The default \cs{circle} has an anticlockwise +direction, but if the circle is defined by three points (for example) +the direction of the circle is determined by the order in which the +points are written. + +Anyway, here are a few examples, illustrating the use of \cs{arrow}, and +some of its optional arguments. +\begin{verbatim} + \begin{mfpic}{0}{4}{0}{4} + \arrow[r -5]\circle{(1,1),.5} + \arrow[b 4pt]\arrow\polyline{(3,2),(3,0)} + \arrow[c red]\reverse\arrow\polyline{(0,3),(2,3)} + \arrow[l 5pt]\rect{(4,2),(2,4)} + \end{mfpic} +\end{verbatim} +See figure~\ref{fig31} for the results of this example. There are four +possible optional arguments, the first character inside the brackets +tells what option the rest of the argument applies to. The first example +above starts with `\texttt{r}', which stands for `rotate' and asks for +the arrowhead to be rotated -5 degrees (5 degrees clockwise). The second +starts with `\texttt{b}', which stands for `backset' and it moves the +head back \texttt{4pt} from where it would otherwise be placed. In the +example, this is used to put a double arrowhead on the line. In the +third example we put an arrow at both ends by reversing the sense of the +curve in between the two \cs{arrow} prefixes. We also used the letter +`\texttt{c}' in the optional argument of one arrowhead. This stands for +`color' and the requested color is `\texttt{red}'. Finally, the +\texttt{l} option, standing for `length', changes the length of the +arrowhead to \texttt{5pt} (from the default \texttt{3pt}). The space +between the letter and the value in these arguments may be omitted. +\begin{mfpfig}{fig31} + \begin{mfpic}{0}{4}{0}{4} + \arrow[r -5]\circle{(1,1),.5} + \arrow[b 4pt]\arrow\polyline{(3,2),(3,0)} + \arrow[c red]\reverse\arrow\polyline{(0,3),(2,3)} + \arrow[l 5pt]\rect{(4,2),(2,4)} + \end{mfpic} +\end{mfpfig} + +The options can be combined in one command: +\cs{arrow}\oarg{cblue}\oarg{b4pt}\oarg{r25}\oarg{l6pt} would produce a +\texttt{6pt} long blue arrowhead rotated 25 degrees anticlockwise, set back +\texttt{4pt}. The setting back is done in the direction determined +\emph{after} rotation. The order of the options is not significant. + +The need to occasionally tweak the arrowhead with a small rotation will +be apparent if you look closely at the circle example without any +rotation. + +The shape of the arrowhead can be changed with the \cs{headshape} +command. The following example draws the arrowhead first normally, and +then after an instance of this command. We increase the length of head +and the thickness of the pen to emphasize the effects. +\begin{verbatim} + \begin{mfpic}{0}{4}{0}{4} + \setlength{\headlen}{20pt} + \penwd{3pt} + \arrow\polyline{(0,3),(4,3)} + \headshape{.5}{2}{true} + \arrow\polyline{(0,1),(4,1)} + \end{mfpic} +\end{verbatim} +The results are pictured in figure~\ref{fig32}. The first argument to +\cs{headshape} sets the ratio of width to height for the head. We have +cut it in half here. The second argument sets the tension in the curves +that form the sides of the head. This reduces the curvature in the +sides. The third argument can be only \texttt{true} or \texttt{false} +and determines whether the head is a solid shape, or only the two +`barbs'. The defaults correspond to \verb$\headshape{1}{1}{false}$ +\begin{mfpfig}{fig32} + \begin{mfpic}{0}{4}{0}{4} + \setlength{\headlen}{20pt} + \penwd{3pt} + \arrow\polyline{(0,3),(4,3)} + \headshape{.5}{2}{true} + \arrow\polyline{(0,1),(4,1)} + \end{mfpic} +\end{mfpfig} + + +\section{Color} + +We saw the use of color in earlier sections, and now it's time to be +systematic about it. The several rendering commands have a color option; +examples are \cs{draw}, \cs{gfill}, \cs{arrow}, and the hatching +commands. However, even those commands that don't provide such an option +can have the color of their rendering changed. \Mfp{} provides the +following commands to change certain colors. Those commands with a +color option can be used without that option and then they will the use +the appropriate color described here. Each of these color-changing +commands takes a mandatory argument containing the color to change to, +and an optional argument to be described later. + +\begin{description} +\item[\cs{backgroundcolor}] This sets the color to be used by \cs{gclear}. + It is the same color used by \cs{point} for the inside of the + points when \cs{pointfillfalse} has been used. In \MP{}, the + only way to clear the inside of a region is to cover it up. The + default color for this purpose is \mfc{white}. Use this command + to change that default. +\item[\cs{drawcolor}] This sets the default color used by those rendering + commands that draw a path. This includes \cs{draw}, but also + includes \cs{dashed}, \cs{dotted}, \cs{plot} and \cs{plotnodes}. + It is also used by other commands that produce lines or curves: + figure macros used without any rendering prefix, as well as + \cs{axes} and related commands. +\item[\cs{fillcolor}] This sets the default color used by \cs{gfill}. It + is also the color used by \cs{polkadot} (which has no color + option). +\item[\cs{hatchcolor}] This sets the default color used by any hatching + command. +\item[\cs{headcolor}] This sets the default color for arrowheads added + by the \cs{arrow} command. It is also the color of + arrowheads on any coordinate axis. +\item[\cs{pointcolor}] This sets the color used by \cs{point}, \cs{grid}, + and \cs{plotsymbol} (the last one will be described later). +\item[\cs{tlabelcolor}] This sets the color used for all text labels if + the \opt{mplabels} option is turned on. +\end{description} + +The color can be a common name for a color, provided that name is one of +the following: \texttt{white}, \texttt{black}, \texttt{red}, +\texttt{green}, \texttt{blue}, \texttt{cyan}, \texttt{magenta}, or +\texttt{yellow}. We have already seen this usage. It can also be a color +name defined in the file \file{dvipsnam.mp} that accompanies \mfp. It can +also be an explicit color formula, where color formulas are described in +the \mfp{} manual. + +The optional argument is one of the \emph{color models}. See the manual +for details, but the syntax is just like that of the \prog{color} +package's \cs{color} command. For example, +\begin{verbatim} + \pointcolor[rgb]{0,1,0} +\end{verbatim} +would use the color model \opt{rgb} with parameters 0, 1, and 0 (this is +green). After each of these commands a certain color name is assigned a +value. For example, a use of the \cs{pointcolor} command assigns a value +to the color named \gbc{pointcolor}. This pattern is followed for all the +color setting commands above (i.e., \cs{drawcolor} sets \gbc{drawcolor}) +except \cs{backgroundcolor}, which assigns its value to the color named +\gbc{background}. + +Color names for \mfp{} use can be defined using the \cs{mfpdefinecolor} +command. Here's an example (figure~\ref{fig33}). Note the use of the +color name \gbc{pointcolor} to make arrowheads and points have the same +color. +\begin{verbatim} + \begin{mfpic}{0}{3.5}{0}{3.5} + \tlabelcolor{red} + \pointcolor{rgb(0,1,0)}% green + \drawcolor[rgb]{0,0,1} % blue + \fillcolor{Goldenrod} % from dvipsnam.mp + \headcolor{pointcolor} % will be green after above + \mfpdefinecolor{DarkerRed}{rgb}{.67,0,0} + \hatchcolor{DarkerRed} + \penwd{1pt} + \gfill\circle{(1,1),.5} + \point[3pt]{(1,.5),(1,1.5),(.5,1),(1.5,1)} + \hatch\rect{(2.5,2.5),(3.5,3.5)} + \arrow[l 5pt]\polyline{(1,1),(3,3)} + \tlabel[cc](1,3){Examples \\of\\colors} + \end{mfpic} +\end{verbatim} +\begin{mfpfig}{fig33} + \begin{mfpic}{0}{3.5}{0}{3.5} + \tlabelcolor{red} + \pointcolor{rgb(0,1,0)}% green + \drawcolor[rgb]{0,0,1} % blue + \fillcolor{Goldenrod} % from dvipsnam.mp + \headcolor{pointcolor} % will be green after above + \mfpdefinecolor{DarkerRed}{rgb}{.67,0,0} + \hatchcolor{DarkerRed} + \penwd{1pt} + \gfill\circle{(1,1),.5} + \point[3pt]{(1,.5),(1,1.5),(.5,1),(1.5,1)} + \hatch\rect{(2.5,2.5),(3.5,3.5)} + \arrow[l 5pt]\polyline{(1,1),(3,3)} + \tlabel[cc](1,3){Examples \\of\\colors} + \end{mfpic} +\end{mfpfig} + +\section{Closing paths} + +There are many different ways to modify a figure. We have already seen +\cs{arrow}, which appends an arrowhead, \cs{reverse} which reverses the +sense, and several that apply an affine transformation +(\cs{rotatepath}, \cs{shiftpath}, etc.). Now we will see the simple +operation of closing a path. + +All methods of closing a path have to connect the end to the start, but +simply drawing a connection is not enough. \MP{} has to be told to close +the path, and what kind of connection is desired. We have several macros +that can do the job, the simplest being \cs{lclosed}, which closes with +a straight line. Putting \cs{lclosed} in front of \cs{polyline}, for +example, produces the same result as \cs{polygon}. Another macro is +\cs{sclosed} which produces a smooth closure. Putting it in front of +\cs{curve} gives the same result as \cs{cyclic}. There is one other +useful macro, \cs{bclosed}, which also informs \MP{} to make a +smooth closure. The difference between \cs{sclosed} and +\cs{bclosed} is that the first modifies slightly the original path (in +order to achieve the effect that +\cs{sclosed}${}+{}$\cs{curve}${}={}$\cs{cyclic}), the second just asks +\MP{} to do its best to connect the ends smoothly. Here's an example +comparing the two smooth methods (figure~\ref{fig34}). +\begin{verbatim} + \begin{mfpic}{0}{4}{0}{4} + % an open curve: + \curve{(0.49,3),(.5,3.7),(1,4),(1.5,3.7),(1.51,3)} + % \sclosed a shifted copy: + \draw\gfill[green]\sclosed\shiftpath{(2,0)} + \curve{(0.49,3),(.5,3.7),(1,4),(1.5,3.7),(1.51,3)} + % \bclosed another copy: + \draw\gfill[yellow]\bclosed\shiftpath{(2,-2)} + \curve{(0.49,3),(.5,3.7),(1,4),(1.5,3.7),(1.51,3)} + % \cyclic with same points, shifted: + \draw\gfill[red]\shiftpath{(0,-2)} + \cyclic{(0.49,3),(.5,3.7),(1,4),(1.5,3.7),(1.51,3)} + \tlabeljustify{bc} + \nomplabels + \tlabels{ + (1,2.4){\cs{curve}} + (3,2.4){\cs{sclosed}} + (1,0.4){\cs{cyclic}} + (3,0.4){\cs{bclosed}} + } + % Some points to help illustrate + \point{(0.49,3),(.5,3.7),(1,4),(1.5,3.7),(1.51,3)} + \point{(2.49,3),(2.5,3.7),(3,4),(3.5,3.7),(3.51,3)} + \point{(0.49,1),(.5,1.7),(1,2),(1.5,1.7),(1.51,1)} + \point{(2.49,1),(2.5,1.7),(3,2),(3.5,1.7),(3.51,1)} + \end{mfpic} +\end{verbatim} +\begin{mfpfig}{fig34} + \begin{mfpic}{0}{4}{0}{4} + \curve{(0.49,3),(.5,3.7),(1,4),(1.5,3.7),(1.51,3)} + \draw\gfill[green]\sclosed\shiftpath{(2,0)} + \curve{(0.49,3),(.5,3.7),(1,4),(1.5,3.7),(1.51,3)} + \draw\gfill[yellow]\bclosed\shiftpath{(2,-2)} + \curve{(0.49,3),(.5,3.7),(1,4),(1.5,3.7),(1.51,3)} + \draw\gfill[red]\shiftpath{(0,-2)} + \cyclic{(0.49,3),(.5,3.7),(1,4),(1.5,3.7),(1.51,3)} + \tlabeljustify{bc} + \nomplabels + \tlabels{ + (1,2.4){\cs{curve}} + (3,2.4){\cs{sclosed}} + (1,0.4){\cs{cyclic}} + (3,0.4){\cs{bclosed}} + } + \point{(0.49,3),(.5,3.7),(1,4),(1.5,3.7),(1.51,3)} + \point{(2.49,3),(2.5,3.7),(3,4),(3.5,3.7),(3.51,3)} + \point{(0.49,1),(.5,1.7),(1,2),(1.5,1.7),(1.51,1)} + \point{(2.49,1),(2.5,1.7),(3,2),(3.5,1.7),(3.51,1)} + \end{mfpic} +\end{mfpfig} + +A word about the labels: we turned off \opt{mplabels} with the command +\verb$\nomplabels$, because we used a command (\verb$\cs$) defined for +this document and not known to basic \TeX{} or \LaTeX. The labels +therefore are position by \LaTeX{} while it assembles this document, +instead of by \MP{} which would call a separate instance of \TeX{} or +\LaTeX{} where \cs{cs} was unknown. We could have kept \opt{mplabels}, +provided we had used \verb$\mfpverbtex$ to write the appropriate +\LaTeX{} preamble to the \file{.mp} output. It would need to be some +subset of the preamble of this document. + +\appendix +\section{Appendices} + +In addition to \pdfLaTeX, \Mfp{} works with plain \pdfTeX, \LaTeX, and +plain \TeX{}. Instead of \MP{} as the figure processor, \MF{} can also +be used. Let's start with the difference between using \mfp{} in a +plain~\TeX{} document and using it in a \LaTeX{} document. + +\subsection{\Mfp{} in plain \TeX} + +Here is a sample plain \pdfTeX{} document with results the same as our +first ``Hello, world'' example. Let's call this file \file{plfirst} +\begin{verbatim} + \input mfpic + \usemetapost + \opengraphsfile{myfigs} + My first figure: + \mfpic[72]{-1}{1}{-1}{1} + \ellipse{(0,0),1,.5} + \endmfpic + \closegraphsfile + \end +\end{verbatim} +The main difference is the lack of \LaTeX{} commands. The crucial +difference is in the first two lines. There we simply +\verb$\input mfpic$ and we turn on \MP{} support with the +\verb$\usemetapost$ command instead of an option to \verb$\usepackage$. + +Since \verb$\usepackage$ and its options don't exist in plain \TeX{}, +all those features that we select with options in \LaTeX{} must be +selected by some command in plain. For example, the \opt{mplabels} +option is replaced with the command \verb$\usemplabels$ (which can also +be used in \LaTeX). + +Also, plain \TeX{} doesn't have environments, so instead of +\verb$\begin{mfpic}$ we just use \verb$\mfpic$ and instead of +\verb$\end{mfpic}$ we use \verb$\endmfpic$. + +The external processing is essentially the same: +\begin{verbatim} + pdftex plfirst + mpost myfigs + pdftex plfirst +\end{verbatim} +should produce \texttt{plfirst.pdf} with the same picture of an ellipse. + + +\subsection{\Mfp{} without PDF} + +If we wish to use nonPDF versions of \LaTeX{} or plain \TeX, the only +difference is in the processing steps. To process \file{first.tex} with +\LaTeX, run the command +\begin{ex} + \texttt{latex first} +\end{ex} +followed by +\begin{ex} + \texttt{mpost myfigs} +\end{ex} +followed by latex again. +\begin{ex} + \texttt{latex first} +\end{ex} +Then run the dvi processor of your choice. It should be one that can +successfully handle eps figures (or at least the simple eps produced by +\MP). Certainly \prog{dvips} can do it: +\begin{ex} + \texttt{dvips first} +\end{ex} +will produce \file{first.ps}. The file{.ps} file can be viewed with +\prog{gsview} or printed, or converted to PDF with some distillation +program like \prog{ps2pdf}. Also \prog{dvipdfm} (if recent, and properly +configured) can be used convert the \file{.dvi} file to PDF. + +\subsection{\Mfp{} without \MP} + +\Mfp{} can produce figures using \MF{} instead of \MP. What it does is +work with \MF{} to produce a made-to-order font, where each picture is a +large character in that font. + +Since \pdfTeX{} and \pdfLaTeX{} do not work well with the fonts produced +by \MF, and many PDF viewers don't display them well anyway, I do not +recommend using \mfp{} to produce PDF without turning on \MP{} support. +However, all dvi viewers and \prog{dvips} \emph{do} work well with such +fonts, so it can make sense to use \mfp{} with \MF{} \emph{if} you don't +need the features that \MP{} enables: color and rotation of labels. One +advantage of doing this is the smaller number of files produced. If +there are 100 \mfp{} figures in a document, \MP{} produces 100 files +(apart from a couple of temporary files and the \file{.log} file), but +the \MF{} procedure produces only four files no matter how many figures +are present. + +To use \mfp{} without \MP{}, omit the \opt{metapost} option or the +\verb$\usemetapost$ command. If you want a visible reminder of the fact +that \MF{} is being used, you can use the \opt{metafont} option or the +\verb$\usemetafont$ command. Of course, you may not use \opt{mplabels} +without \MP. You may use the color commands and options, but the only +colors actually produced will be black and white (and occasionally a +pattern of pixels that simulate gray). The processing steps are +different. After +\begin{ex} + \texttt{latex first} \quad(or \texttt{tex plfirst}) +\end{ex} +run \MF: +\begin{ex} + \texttt{mf myfigs} +\end{ex} +This should produce three files: \texttt{myfigs.log}, +\texttt{myfigs.tfm}, and \texttt{myfigs.600gf}. The last one (which +might have a different number on your system) is called a \emph{generic +font} (GF) file and contains the bitmap descriptions. If the file +produced is \texttt{myfigs.2602gf}, and the \file{.tfm} is not produced, +that indicates a configuration problem with your system that we'll get +to later. If this did work, one needs to convert the \file{gf} file to a +PK font file, the standard format for bitmap fonts in the \TeX{} world. +This may be done with +\begin{ex} + \texttt{gftopk myfigs.600gf} +\end{ex} +Some systems may require you to name the output file on the command +line: +\begin{ex} + \texttt{gftopk myfigs.600gf myfigs.600pk} +\end{ex} +And some systems may require the extension to be simply \file{.pk}: +\begin{ex} + \texttt{gftopk myfigs.600gf myfigs.pk} +\end{ex} +Finally, some systems may have a \prog{makepk} or \prog{mktexpk} command +that can be used in place of the combination of \MF{} and \prog{gftopk}. +You'll have to check what your system has and what its usage might be, +and what it might do with the PK file produced. + +After the above, one again runs `\texttt{latex first}' (or `\texttt{tex +plfirst}'), and then the {.dvi} can be viewed or processed with dvips. +The two files \file{myfigs.log} and \file{myfigs.600gf} can be deleted; +only \file{myfigs.tfm} and \file{myfigs.600pk} are needed. If the viewed +image shows the pictures at a far different size than you expect, this can +also indicate a configuration problem. + +Some systems permit on-the-fly creation of PK files by various +\file{.dvi} processing programs. It is not wise to allow this to happen +when working with \mfp. The problem is that this automatic creation +process is \emph{not} repeated when a figure is edited unless the old PK +files are deleted, and it may take some hunting to even locate them. One +should \emph{always} follow the \MF{} step with the \prog{gftopk} step. +You might even want to write a batch script or makefile to ensure that +this happens. + +Another problem, more an annoyance, that can occur comes from the +behavior of most dvi viewers: most will reload a \file{.dvi} file if +they detect that it has changed (or if asked to), but will usually +\emph{not} reload any fonts even if they have changed. So if one is +going through a edit-compile-view cycle involving \mfp{} figures, one +usually has to close the viewer and open it again before one can see +changes that were made in the figures after starting the viewer. + +\subsection{\MF{} configuration problems} + +To diagnose these problems it important to know something about +\emph{printer modes}. \CMF{} produces bitmap images of characters. This +means a description of a block of pixels, telling which ones are black +and which are white. If the description says that 60 pixels in a row are +black, that produces a thin black line. How long that line is depends on +the size of a printer's pixels. For the LaserJet IV, there are 600 +pixels to the inch, so 60 pixels makes 1/10 of an inch. The LaserJet~II, +however, has 300 pixels to the inch, so 60 pixels is 1/5 of an inch +long. What \MF{} needs in order to produce an image that is the correct +size is (at a minimum) the \emph{resolution} of the intended printer. +This is typically reported in DPI (dots per inch) and \MF{} keeps the +value in the variable \mfc{pixels_per_inch}. + +As part of the configuration of your DVI viewer or of \prog{dvips} you +may have needed to select a printer from a list, or edit a line in some +configuration file (e.g., \file{config.ps}). What was going on then was +the assigning of a default \MF{} printer mode. There is a file on most +\TeX{} systems named \file{modes.mf} which assigns symbolic names to a +set of parameters that enable \MF{} to tune its output to a particular +printer. For example, the LaserJet~IV is given the name +`\texttt{ljfour}' and that name is associated with the value 600 for +\mfc{pixels_per_inch}. In order to tell \MF{} to make output for the +LaserJet~IV, one can put that information on the command line: +\begin{ex} + \texttt{mf \cs{mode}:=ljfour; input myfigs} +\end{ex} +Your operating system or \TeX{} distribution may require you to quote +the backslash in the above command. + +There is a system for making the selection of the correct mode +semi-automatic, not requiring a command line specification. Near the end +of \file{modes.mf} is a line similar to +\begin{ex} + \mfc{localfont:=ljfour;} +\end{ex} +This is intended to equate the symbolic name \mfc{localfont} with the +user's default printer. If the LaserJet~IV is your default printer, the +line above would be the correct one. If it is not, then that line should +be changed. This can be done with an ordinary text editor, or your +\TeX{} system may have a configuration utility to take care of it. + +If you say ``\texttt{mf myfigs}'' on an \mfp{} file \file{myfigs.mf}, \mfp's +internal code will detect that no mode was defined on the command line. +It will then check if \mfc{localfont} is defined and if so, use that for +the printer mode. Finally, if that fails, it will select \mfc{ljfour}. +If even that is unknown, \MF{} will go into \emph{proof mode} and set +\mfc{pixels_per_inch} equal to approximately 2602 (and it will +\emph{not} produce a \file{.tfm} file). + +\Mfp{} doesn't need to know all the parameters associated to a printer +mode, only the value of \mfc{pixels_per_inch}. If you get a GF file that +indicates an incorrect DPI value for your printer, you should arrange +for the line in \file{modes.mf} that sets \mfc{localfont} to be +corrected. At the very least it should equate \mfc{localfont} to a name +defined in \file{modes.mf} and associated to a printer with the same DPI +as yours. After changing \file{modes.mf}, you need to run whatever +programs your \TeX{} systems requires to remake the \MF{} format. + +\end{document} diff --git a/Master/texmf-dist/doc/generic/mfpic/mfpman.pdf b/Master/texmf-dist/doc/generic/mfpic/mfpman.pdf new file mode 100644 index 00000000000..ac9baa1ca69 --- /dev/null +++ b/Master/texmf-dist/doc/generic/mfpic/mfpman.pdf @@ -0,0 +1,8730 @@ +%PDF-1.3 +5 0 obj +<< /S /GoTo /D (section.1) >> +endobj +8 0 obj +(Introduction) +endobj +9 0 obj +<< /S /GoTo /D (subsection.1.1) >> +endobj +12 0 obj +(Why?) +endobj +13 0 obj +<< /S /GoTo /D (subsection.1.2) >> +endobj +16 0 obj +(Who?) +endobj +17 0 obj +<< /S /GoTo /D (subsection.1.3) >> +endobj +20 0 obj +(What?) +endobj +21 0 obj +<< /S /GoTo /D (subsection.1.4) >> +endobj +24 0 obj +(How?) +endobj +25 0 obj +<< /S /GoTo /D (section.2) >> +endobj +28 0 obj +(Options.) +endobj +29 0 obj +<< /S /GoTo /D (subsection.2.1) >> +endobj +32 0 obj +(metapost, \usemetapost ) +endobj +33 0 obj +<< /S /GoTo /D (subsection.2.2) >> +endobj +36 0 obj +(mplabels, \usemplabels , \nomplabels ) +endobj +37 0 obj +<< /S /GoTo /D (subsection.2.3) >> +endobj +40 0 obj +(overlaylabels, \overlaylabels , \nooverlaylabels ) +endobj +41 0 obj +<< /S /GoTo /D (subsection.2.4) >> +endobj +44 0 obj +(truebbox, \usetruebbox , \notruebbox ) +endobj +45 0 obj +<< /S /GoTo /D (subsection.2.5) >> +endobj +48 0 obj +(clip, \clipmfpic , \noclipmfpic ) +endobj +49 0 obj +<< /S /GoTo /D (subsection.2.6) >> +endobj +52 0 obj +(centeredcaptions, \usecenteredcaptions , \nocenteredcaptions ) +endobj +53 0 obj +<< /S /GoTo /D (subsection.2.7) >> +endobj +56 0 obj +(debug, \mfpicdebugtrue , \mfpicdebugfalse ) +endobj +57 0 obj +<< /S /GoTo /D (subsection.2.8) >> +endobj +60 0 obj +(clearsymbols, \clearsymbols , \noclearsymbols ) +endobj +61 0 obj +<< /S /GoTo /D (subsection.2.9) >> +endobj +64 0 obj +(draft, final, nowrite, \mfpicdraft , \mfpicfinal , \mfpicnowrite ) +endobj +65 0 obj +<< /S /GoTo /D (subsection.2.10) >> +endobj +68 0 obj +(Option Scoping Rules) +endobj +69 0 obj +<< /S /GoTo /D (section.3) >> +endobj +72 0 obj +(The Macros.) +endobj +73 0 obj +<< /S /GoTo /D (subsection.3.1) >> +endobj +76 0 obj +(Files and Environments.) +endobj +77 0 obj +<< /S /GoTo /D (subsection.3.2) >> +endobj +80 0 obj +(Figures.) +endobj +81 0 obj +<< /S /GoTo /D (subsubsection.3.2.1) >> +endobj +84 0 obj +(Metafont Pairs.) +endobj +85 0 obj +<< /S /GoTo /D (subsubsection.3.2.2) >> +endobj +88 0 obj +(Points, Lines, and Rectangles.) +endobj +89 0 obj +<< /S /GoTo /D (subsubsection.3.2.3) >> +endobj +92 0 obj +(A Word on List Arguments) +endobj +93 0 obj +<< /S /GoTo /D (subsubsection.3.2.4) >> +endobj +96 0 obj +(Axes, Axis Marks, and Grids.) +endobj +97 0 obj +<< /S /GoTo /D (subsubsection.3.2.5) >> +endobj +100 0 obj +(Circles and Ellipses.) +endobj +101 0 obj +<< /S /GoTo /D (subsubsection.3.2.6) >> +endobj +104 0 obj +(Curves.) +endobj +105 0 obj +<< /S /GoTo /D (subsubsection.3.2.7) >> +endobj +108 0 obj +(Circular Arcs.) +endobj +109 0 obj +<< /S /GoTo /D (subsubsection.3.2.8) >> +endobj +112 0 obj +(Other Figures.) +endobj +113 0 obj +<< /S /GoTo /D (subsubsection.3.2.9) >> +endobj +116 0 obj +(Bar Charts and Pie Charts.) +endobj +117 0 obj +<< /S /GoTo /D (subsubsection.3.2.10) >> +endobj +120 0 obj +(Polar Coordinates to Rectangular.) +endobj +121 0 obj +<< /S /GoTo /D (subsection.3.3) >> +endobj +124 0 obj +(Colors) +endobj +125 0 obj +<< /S /GoTo /D (subsubsection.3.3.1) >> +endobj +128 0 obj +(Setting the Default Colors.) +endobj +129 0 obj +<< /S /GoTo /D (subsubsection.3.3.2) >> +endobj +132 0 obj +(Metapost Colors.) +endobj +133 0 obj +<< /S /GoTo /D (subsubsection.3.3.3) >> +endobj +136 0 obj +(Color Models.) +endobj +137 0 obj +<< /S /GoTo /D (subsubsection.3.3.4) >> +endobj +140 0 obj +(Defining a Color Name.) +endobj +141 0 obj +<< /S /GoTo /D (subsubsection.3.3.5) >> +endobj +144 0 obj +(Color in Metafont) +endobj +145 0 obj +<< /S /GoTo /D (subsection.3.4) >> +endobj +148 0 obj +(Shape-Modifier Macros.) +endobj +149 0 obj +<< /S /GoTo /D (subsubsection.3.4.1) >> +endobj +152 0 obj +(Closure of Paths.) +endobj +153 0 obj +<< /S /GoTo /D (subsubsection.3.4.2) >> +endobj +156 0 obj +(Reversal, Connection and Subpaths.) +endobj +157 0 obj +<< /S /GoTo /D (subsubsection.3.4.3) >> +endobj +160 0 obj +(Arrows.) +endobj +161 0 obj +<< /S /GoTo /D (subsection.3.5) >> +endobj +164 0 obj +(Rendering macros) +endobj +165 0 obj +<< /S /GoTo /D (subsubsection.3.5.1) >> +endobj +168 0 obj +(Drawing.) +endobj +169 0 obj +<< /S /GoTo /D (subsubsection.3.5.2) >> +endobj +172 0 obj +(Shading, Filling, Erasing, Clipping, Hatching.) +endobj +173 0 obj +<< /S /GoTo /D (subsubsection.3.5.3) >> +endobj +176 0 obj +(Changing the Default Rendering.) +endobj +177 0 obj +<< /S /GoTo /D (subsubsection.3.5.4) >> +endobj +180 0 obj +(Examples.) +endobj +181 0 obj +<< /S /GoTo /D (subsection.3.6) >> +endobj +184 0 obj +(Functions and Plotting.) +endobj +185 0 obj +<< /S /GoTo /D (subsubsection.3.6.1) >> +endobj +188 0 obj +(Defining Functions) +endobj +189 0 obj +<< /S /GoTo /D (subsubsection.3.6.2) >> +endobj +192 0 obj +(Plotting Functions) +endobj +193 0 obj +<< /S /GoTo /D (subsubsection.3.6.3) >> +endobj +196 0 obj +(Plotting external data files) +endobj +197 0 obj +<< /S /GoTo /D (subsection.3.7) >> +endobj +200 0 obj +(Labels and Captions.) +endobj +201 0 obj +<< /S /GoTo /D (subsubsection.3.7.1) >> +endobj +204 0 obj +(Setting Text.) +endobj +205 0 obj +<< /S /GoTo /D (subsubsection.3.7.2) >> +endobj +208 0 obj +(Curves surrounding text) +endobj +209 0 obj +<< /S /GoTo /D (subsection.3.8) >> +endobj +212 0 obj +(Saving and Reusing an mfpic Picture.) +endobj +213 0 obj +<< /S /GoTo /D (subsection.3.9) >> +endobj +216 0 obj +(Picture frames.) +endobj +217 0 obj +<< /S /GoTo /D (subsection.3.10) >> +endobj +220 0 obj +(Affine Transforms.) +endobj +221 0 obj +<< /S /GoTo /D (subsubsection.3.10.1) >> +endobj +224 0 obj +(Affine Transforms of the Metafont Coordinate System.) +endobj +225 0 obj +<< /S /GoTo /D (subsubsection.3.10.2) >> +endobj +228 0 obj +(Transformation of Paths.) +endobj +229 0 obj +<< /S /GoTo /D (subsection.3.11) >> +endobj +232 0 obj +(Parameters.) +endobj +233 0 obj +<< /S /GoTo /D (subsection.3.12) >> +endobj +236 0 obj +(For Advanced Users.) +endobj +237 0 obj +<< /S /GoTo /D (subsubsection.3.12.1) >> +endobj +240 0 obj +(Power Users.) +endobj +241 0 obj +<< /S /GoTo /D (subsubsection.3.12.2) >> +endobj +244 0 obj +(Hackers.) +endobj +245 0 obj +<< /S /GoTo /D (section.4) >> +endobj +248 0 obj +(Appendices) +endobj +249 0 obj +<< /S /GoTo /D (subsection.4.1) >> +endobj +252 0 obj +(Acknowledgements.) +endobj +253 0 obj +<< /S /GoTo /D (subsection.4.2) >> +endobj +256 0 obj +(Changes History.) +endobj +257 0 obj +<< /S /GoTo /D (subsection.4.3) >> +endobj +260 0 obj +(Summary of Options) +endobj +261 0 obj +<< /S /GoTo /D (subsection.4.4) >> +endobj +264 0 obj +(Plotting styles for \plotdata ) +endobj +265 0 obj +<< /S /GoTo /D (subsection.4.5) >> +endobj +268 0 obj +(Special considerations when using Metafont) +endobj +269 0 obj +<< /S /GoTo /D (subsection.4.6) >> +endobj +272 0 obj +(Special considerations when using Metapost) +endobj +273 0 obj +<< /S /GoTo /D (subsubsection.4.6.1) >> +endobj +276 0 obj +(Required support) +endobj +277 0 obj +<< /S /GoTo /D (subsubsection.4.6.2) >> +endobj +280 0 obj +(Metapost is not Metafont) +endobj +281 0 obj +<< /S /GoTo /D (subsubsection.4.6.3) >> +endobj +284 0 obj +(Graphic inclusion) +endobj +285 0 obj +<< /S /GoTo /D (subsection.4.7) >> +endobj +288 0 obj +(Mfpic and the rest of the world) +endobj +289 0 obj +<< /S /GoTo /D (subsubsection.4.7.1) >> +endobj +292 0 obj +(The literature) +endobj +293 0 obj +<< /S /GoTo /D (subsubsection.4.7.2) >> +endobj +296 0 obj +(Other programs) +endobj +297 0 obj +<< /S /GoTo /D (subsection.4.8) >> +endobj +300 0 obj +(Index of commands, options and parameters by page) +endobj +301 0 obj +<< /S /GoTo /D (subsection.4.9) >> +endobj +304 0 obj +(List of commands by type) +endobj +305 0 obj +<< /S /GoTo /D (subsubsection.4.9.1) >> +endobj +308 0 obj +(Figures) +endobj +309 0 obj +<< /S /GoTo /D (subsubsection.4.9.2) >> +endobj +312 0 obj +(Figure modifiers) +endobj +313 0 obj +<< /S /GoTo /D (subsubsection.4.9.3) >> +endobj +316 0 obj +(Figure renderers) +endobj +317 0 obj +<< /S /GoTo /D (subsubsection.4.9.4) >> +endobj +320 0 obj +(Lengths) +endobj +321 0 obj +<< /S /GoTo /D (subsubsection.4.9.5) >> +endobj +324 0 obj +(Coordinate transformation) +endobj +325 0 obj +<< /S /GoTo /D (subsubsection.4.9.6) >> +endobj +328 0 obj +(Axes, grids, and marks) +endobj +329 0 obj +<< /S /GoTo /D (subsubsection.4.9.7) >> +endobj +332 0 obj +(Setting options) +endobj +333 0 obj +<< /S /GoTo /D (subsubsection.4.9.8) >> +endobj +336 0 obj +(Changing values) +endobj +337 0 obj +<< /S /GoTo /D (subsubsection.4.9.9) >> +endobj +340 0 obj +(Changing colors) +endobj +341 0 obj +<< /S /GoTo /D (subsubsection.4.9.10) >> +endobj +344 0 obj +(Defining arrays) +endobj +345 0 obj +<< /S /GoTo /D (subsubsection.4.9.11) >> +endobj +348 0 obj +(Changing behavior) +endobj +349 0 obj +<< /S /GoTo /D (subsubsection.4.9.12) >> +endobj +352 0 obj +(Files and environments) +endobj +353 0 obj +<< /S /GoTo /D (subsubsection.4.9.13) >> +endobj +356 0 obj +(Text) +endobj +357 0 obj +<< /S /GoTo /D (subsubsection.4.9.14) >> +endobj +360 0 obj +(Misc) +endobj +361 0 obj +<< /S /GoTo /D [362 0 R /FitH ] >> +endobj +364 0 obj << +/Length 2177 +/Filter /FlateDecode +>> +stream +xÚí\[sÛ¶~÷¯à£4S!XÜq^ÚÔµÝvÚŸT3íLOh™¶9‘IŠŠ“àÅ/ÖűbÇžÌX” +·”PÊð¹§pÂ#†»CŒe®ÎÓƒ7ÇÚ *˜^øºÓó¿G¿ÿ™þZ”Z»2àøe…ãñDÁèÿ²Ñ/þïáÝ+µ8¦ˆV¾ò¯ñ„I::gù2‹Å·8)>§îí@"© +&œ0füKGþwE¬fÁݯù_'À-Ê7ø€s™/ºó«BäïQ^¤I^|“ó»ŸOÓEÞ¡•Òuw‚s«]ûŒàåý”•¼J¯Ã²ÓG¤øü- +ó«lyߘV£“(½39ºÈ¢1ÈÑçjd†ŽÒ3¨oÐÐÀ«ŠéÁ~sa7_¾±ÿRÊ{úÅ4aÀƒI]ï§0‰£y!ÿçª3Ëhö!N.ë÷ëf¬ ŠÉF+Œªº–ÅZÜ,#Ì?z¦¬¯Ê°Co +ý+€ƒÂ²²ðž†Ú=ç—.‰¹º§ãÍé¬åßuTПWcÅ÷mùB…óÙÛeC€›F‡û@õKœ˜GúÖ>r÷Ñšhñ-VgzXo=k…‘„JSBDn
VC$íǦbÔØW||óøà5>¼4ô ú[–Ä åzÈW +"<ÌuÌ·!Âè
1$wÇÚCb
†ò9Ëèltt–: +\ªWØûQÀ(pR®/nâYa£ÄP»
V„̲4¨Šb´’ßZÓ6Ô#IWOgj΢$²è|ñGå1„mIÙ× +H–ÌæHFøõ]Q‚µ„L£%’}I³ÖNncŒ&à)ª_¯Qÿ9ú0FGËË®Š˜ÀðJo®woPÞòÒyžê£±‹¼‹p¾ˆ:êÆ€8rcT°'nt:F=<å‚HíDf¯ŠÂlñùú,íeÐn/jGs¿4¥p(l+»Ñ’·"¦‰ó¦¾é'Ç…Ú°ÁhØJûø°ÙžFÛu¶'sô9¼èI&F¶£ò†œ-SÊ’pÞ#D!Y÷©ÚH|\x[û8ï1_~w~‡U˜¯¬wxRc·´„qï w•¤·Y9Æ•Å`pˆbpŠÇ[ž «€sµ{5…@±Ë²ÊÖüÌÒ·¿ï¿¼_ΣnjÈa|05$ä‹O󷱈¸–ôqÌÚƒÒõ¼L×O¯¢òØJ8+>tS÷Èœ…àǤ6kR÷æ§îy}èá8žWG}ê8GÉXÐÑÇ8K“kVzü
X¢äË6Š½&Ý·Kº›ý™/^Ÿg8Ž/ÝQ¯îf“$̲!:d5ÝŽ|è>$-Nûmx˜¶ßwU†Nr¤Ú€ŒggtxëÀ˜l3Ô¨uO$€S‘©#°p:æ0zëÏûÞùç—…ª"\”\¥ÒOß +㬋A ¸ì ‰¡ÏzåÁ¶i(´7™ž|œyaØíÓ4F÷ñ]yþ1N¢ê¹v5ï£z—<L.ç=f$ö@ÛA;ÄØó·CL5N yªv—Š}[hïOt6+uYñàßâEy¦÷gD—KdNË]>ŒR˜ÁR¡¿õ„1XCÛ”" +1õyæ"ÄÈqš”wÊ©£žîá,ÊCR_´Æ¾£wS™™bFÜf´®Z›»f¸?*<A>ƒñˆ«uB¦îêöó0ÏÒ³ˆDçK.ëîÝ5P¾©ˆåкd}Ÿüyyiû‡e˜}pÒ»÷¦ËYfh‰™éWæ„ãðdïÿ +endobj +362 0 obj << +/Type /Page +/Contents 364 0 R +/Resources 363 0 R +/MediaBox [0 0 612 792] +/Parent 410 0 R +/Annots [ 375 0 R 376 0 R 377 0 R 378 0 R 379 0 R 380 0 R 381 0 R 387 0 R 388 0 R 389 0 R 390 0 R 391 0 R 392 0 R 393 0 R 394 0 R 395 0 R 396 0 R 397 0 R 398 0 R 399 0 R 400 0 R 401 0 R 402 0 R 403 0 R 404 0 R 405 0 R 406 0 R 407 0 R 408 0 R 409 0 R ] +>> endobj +375 0 obj << +/Type /Annot +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [110.002 540.517 181.006 549.513] +/Subtype /Link +/A << /S /GoTo /D (section.1) >> +>> endobj +376 0 obj << +/Type /Annot +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [124.946 526.544 173.594 537.488] +/Subtype /Link +/A << /S /GoTo /D (subsection.1.1) >> +>> endobj +377 0 obj << +/Type /Annot +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [124.946 516.631 173.644 525.533] +/Subtype /Link +/A << /S /GoTo /D (subsection.1.2) >> +>> endobj +378 0 obj << +/Type /Annot +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [124.946 504.651 175.855 513.578] +/Subtype /Link +/A << /S /GoTo /D (subsection.1.3) >> +>> endobj +379 0 obj << +/Type /Annot +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [124.946 492.696 173.395 501.623] +/Subtype /Link +/A << /S /GoTo /D (subsection.1.4) >> +>> endobj +380 0 obj << +/Type /Annot +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [110.002 468.891 163.202 479.775] +/Subtype /Link +/A << /S /GoTo /D (section.2) >> +>> endobj +381 0 obj << +/Type /Annot +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [124.946 457.093 252.683 467.75] +/Subtype /Link +/A << /S /GoTo /D (subsection.2.1) >> +>> endobj +387 0 obj << +/Type /Annot +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [124.946 445.138 312.551 455.794] +/Subtype /Link +/A << /S /GoTo /D (subsection.2.2) >> +>> endobj +388 0 obj << +/Type /Annot +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [124.946 433.134 364.068 443.839] +/Subtype /Link +/A << /S /GoTo /D (subsection.2.3) >> +>> endobj +389 0 obj << +/Type /Annot +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [124.946 421.693 311.34 431.884] +/Subtype /Link +/A << /S /GoTo /D (subsection.2.4) >> +>> endobj +390 0 obj << +/Type /Annot +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [124.946 409.273 285.045 419.929] +/Subtype /Link +/A << /S /GoTo /D (subsection.2.5) >> +>> endobj +391 0 obj << +/Type /Annot +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [124.946 397.317 426.249 407.974] +/Subtype /Link +/A << /S /GoTo /D (subsection.2.6) >> +>> endobj +392 0 obj << +/Type /Annot +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [124.946 385.237 342.071 396.019] +/Subtype /Link +/A << /S /GoTo /D (subsection.2.7) >> +>> endobj +393 0 obj << +/Type /Annot +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [124.946 373.358 354.391 384.063] +/Subtype /Link +/A << /S /GoTo /D (subsection.2.8) >> +>> endobj +394 0 obj << +/Type /Annot +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [124.946 361.787 415.786 372.108] +/Subtype /Link +/A << /S /GoTo /D (subsection.2.9) >> +>> endobj +395 0 obj << +/Type /Annot +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [124.946 349.209 237.862 360.153] +/Subtype /Link +/A << /S /GoTo /D (subsection.2.10) >> +>> endobj +396 0 obj << +/Type /Annot +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [110.002 329.309 180.438 338.305] +/Subtype /Link +/A << /S /GoTo /D (section.3) >> +>> endobj +397 0 obj << +/Type /Annot +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [124.946 317.354 246.589 326.28] +/Subtype /Link +/A << /S /GoTo /D (subsection.3.1) >> +>> endobj +398 0 obj << +/Type /Annot +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [124.946 303.381 182.231 314.325] +/Subtype /Link +/A << /S /GoTo /D (subsection.3.2) >> +>> endobj +399 0 obj << +/Type /Annot +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [147.861 293.443 254.848 302.37] +/Subtype /Link +/A << /S /GoTo /D (subsubsection.3.2.1) >> +>> endobj +400 0 obj << +/Type /Annot +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [147.861 279.471 301.832 290.415] +/Subtype /Link +/A << /S /GoTo /D (subsubsection.3.2.2) >> +>> endobj +401 0 obj << +/Type /Annot +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [147.861 267.516 290.335 278.459] +/Subtype /Link +/A << /S /GoTo /D (subsubsection.3.2.3) >> +>> endobj +402 0 obj << +/Type /Annot +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [147.861 256.313 300.288 266.504] +/Subtype /Link +/A << /S /GoTo /D (subsubsection.3.2.4) >> +>> endobj +403 0 obj << +/Type /Annot +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [147.861 243.605 263.366 254.549] +/Subtype /Link +/A << /S /GoTo /D (subsubsection.3.2.5) >> +>> endobj +404 0 obj << +/Type /Annot +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [147.861 233.668 212.299 242.594] +/Subtype /Link +/A << /S /GoTo /D (subsubsection.3.2.6) >> +>> endobj +405 0 obj << +/Type /Annot +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [147.861 221.712 238.171 230.639] +/Subtype /Link +/A << /S /GoTo /D (subsubsection.3.2.7) >> +>> endobj +406 0 obj << +/Type /Annot +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [147.861 207.74 239.287 218.684] +/Subtype /Link +/A << /S /GoTo /D (subsubsection.3.2.8) >> +>> endobj +407 0 obj << +/Type /Annot +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [147.861 197.722 287.715 206.728] +/Subtype /Link +/A << /S /GoTo /D (subsubsection.3.2.9) >> +>> endobj +408 0 obj << +/Type /Annot +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [147.861 183.829 316.218 194.773] +/Subtype /Link +/A << /S /GoTo /D (subsubsection.3.2.10) >> +>> endobj +409 0 obj << +/Type /Annot +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [124.946 173.892 176.423 182.818] +/Subtype /Link +/A << /S /GoTo /D (subsection.3.3) >> +>> endobj +365 0 obj << +/D [362 0 R /XYZ 110.999 687.904 null] +>> endobj +366 0 obj << +/D [362 0 R /XYZ 110.999 662.997 null] +>> endobj +374 0 obj << +/D [362 0 R /XYZ 110.999 558.866 null] +>> endobj +363 0 obj << +/Font << /F78 368 0 R /F80 371 0 R /F85 373 0 R /F87 383 0 R /F88 386 0 R >> +/ProcSet [ /PDF /Text ] +>> endobj +413 0 obj << +/Length 2124 +/Filter /FlateDecode +>> +stream +xÚí\[SÛF}çWøQž)Û½_)¤&a€>5}PlšÈ’+Ë¡ù÷ýV7_¤
¶J +ïý‹²Gq‚¸®xV²•Qï$ß¼ÈÌ©|UPƒ-ZM=`rÉÛï!‰å¡ÇðbêPª!´êÈÔa¥‰È‘-ÌÀûdDMÁVqîÀØ ©éK3Ýça!wEœôk,x‰ø›àÆ4®ý‚_:>ø³ +J/±é +ß½=˜Ú• Î_E|ÖR ®èÓÐà@Ã.jþ&õQ¿*4MïMœ:5žš +GØ]žÓ˜<G߸IÛ¹â¢úų*¬ýçÏæQÐǃˆ˜¹&æj°Áhƒõ^è籘éŽË2;_Æy +µ(s¨*ºˆ’¼×Ò:ÀŒ WZͱÊêÝÊêºÏÙ/WAØVY}ňFAE#Á©+CTM³Ÿë*ÞªfõƒHÛ„›;&lhéiÖŠt`Ó¬ÿ² ý¨ødêg¶Ægg?8ÿ¦‚Bæɾ#ÓæÅ%`)(îî½÷ÇY•ÞûOÿsm»îSžÏê–Š¸DJ'¤xÈ©·çºÀ+¿ö0È¢÷àT»Zêz¬êùÞ”DP$ˆ+å"CQíÇáßÁÔ^ýt™Í‘Ò,–iš,ãé*E/ùЦ‹ÐÚåæ%tmO^õiéuÕööÇ{_Wâ—ÊÚ_ËÅÚ§
Á! +å@®çµ–Žx¿çÛ§MD9’²ò¼‹p’-Ó ¥›‡V®”€Ó ³Ü¾eÍÕ»j$˜î“,¦$K WÁ‰›ÔŸµÔvìmPåšû†Ê¡Ýöèí6fúdÁ0h ÀÉí¶æI~PÅLx©/n’tÖ¤¾R58Ê~®hA?
Œ¶¡¢ÂSaS[c+û
wÂbÜ|O€GJ³¹¡á`¸FšÊZ§¤¯øY9¬«o‹,˜µTT1R£E‘bOÎÌí¹)¢ÐeÐiúÄþJ/ÓPµÊç<qâ\H¡ž™`¦§‘÷Z
¤0ôÖÝgAË¢i ùsfÿÒ¼Þº}wVh›@íÌ +Ö++hÁŠsËŠJQ}2ýj=€O‚2økÑÆ[*ÒÆM9”Š*ð^[÷„VÀE¡¼«dÓíàkŽ” ®ŸÁtÀþYa_ÆïüÉ+Ðhõ
WãcÐ!|¸Ó¿kQ@н`0˜Ž)€èï@‹²Ù’€üí¼ŸÏƒxNšÍÉà<‡ÎƒH„×Ë8mß"•ÏcÃE»ñ¶PýÛZÆÉäK\(˜Þ³ ÎÚÜGÔUɤÀ_=¤¬¦¬‚÷¼Ò‹~.5«êÚïÂE–¤ßÆR4oÄĹ³œE”Ø#0ÞŸT©X7—À—³™ðo$¯çƒDÜYÂÂj°…0ýƒjéߦ¦a‘}‹*ËpùM^`Òk0æÍ^åa|ç纇m²p—–®èÇðý4ôÓ5Ê© ú¤Bµ„äjLÂJË2NƒÔ_2Þ‰w”•®¢CÖ(eBÔCòjâþ¥ÌÍÒ-¬Pç‹äÏž/5¦ƒ@†î*p²OüåNøsãÝ?økà_¹À‡èÂÕeÀ‹gÒCßæ€`ˆ™]†Š…ë|Mºzü»Óª’µXÎçIšµVÚ)[ÕDë€÷[Ü7Üû¾-èéë~[PX:8É_Ea$Xþâ xÌ•¨H$劉CÈ%;«Ì¾Mýù]8©^<2‰Ào$qÓ˜Pds¿8JÆdOc¢ûŒrá¬j3%ÌJ#«lá|Í~¸Ráüe)öŒZU/‡KƒEÖì§WÁ)|šFÓ¦u€,L¹…÷tPäµQÈôéVºÛë +Ï(Ìlôi%WÛ0¨SWïêë=#_)n?ÂT.[hó4¹MýYóýà\\oŸáˆóáísÝ–ÉIÜ©y‘¢cÝæµËC6.ð?ÊOïendstream +endobj +412 0 obj << +/Type /Page +/Contents 413 0 R +/Resources 411 0 R +/MediaBox [0 0 612 792] +/Parent 410 0 R +/Annots [ 415 0 R 416 0 R 417 0 R 418 0 R 419 0 R 420 0 R 421 0 R 422 0 R 423 0 R 424 0 R 425 0 R 426 0 R 427 0 R 428 0 R 429 0 R 430 0 R 431 0 R 432 0 R 433 0 R 434 0 R 435 0 R 436 0 R 437 0 R 438 0 R 439 0 R 440 0 R 441 0 R 442 0 R 443 0 R 444 0 R 445 0 R 446 0 R 447 0 R 448 0 R 449 0 R 450 0 R 451 0 R 452 0 R 453 0 R 454 0 R 455 0 R 456 0 R 457 0 R ] +>> endobj +415 0 obj << +/Type /Annot +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [147.861 649.882 288.452 660.825] +/Subtype /Link +/A << /S /GoTo /D (subsubsection.3.3.1) >> +>> endobj +416 0 obj << +/Type /Annot +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [147.861 639.944 260.318 648.87] +/Subtype /Link +/A << /S /GoTo /D (subsubsection.3.3.2) >> +>> endobj +417 0 obj << +/Type /Annot +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [147.861 627.989 239.297 636.915] +/Subtype /Link +/A << /S /GoTo /D (subsubsection.3.3.3) >> +>> endobj +418 0 obj << +/Type /Annot +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [147.861 614.016 277.474 624.96] +/Subtype /Link +/A << /S /GoTo /D (subsubsection.3.3.4) >> +>> endobj +419 0 obj << +/Type /Annot +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [147.861 604.078 263.745 613.005] +/Subtype /Link +/A << /S /GoTo /D (subsubsection.3.3.5) >> +>> endobj +420 0 obj << +/Type /Annot +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [124.946 590.106 247.247 601.05] +/Subtype /Link +/A << /S /GoTo /D (subsection.3.4) >> +>> endobj +421 0 obj << +/Type /Annot +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [147.861 580.168 249.937 589.094] +/Subtype /Link +/A << /S /GoTo /D (subsubsection.3.4.1) >> +>> endobj +422 0 obj << +/Type /Annot +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [147.861 566.196 325.503 577.139] +/Subtype /Link +/A << /S /GoTo /D (subsubsection.3.4.2) >> +>> endobj +423 0 obj << +/Type /Annot +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [147.861 556.258 213.853 565.184] +/Subtype /Link +/A << /S /GoTo /D (subsubsection.3.4.3) >> +>> endobj +424 0 obj << +/Type /Annot +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [124.946 542.285 222.619 553.229] +/Subtype /Link +/A << /S /GoTo /D (subsection.3.5) >> +>> endobj +425 0 obj << +/Type /Annot +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [147.861 530.33 218.934 541.274] +/Subtype /Link +/A << /S /GoTo /D (subsubsection.3.5.1) >> +>> endobj +426 0 obj << +/Type /Annot +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [147.861 518.375 365.224 529.319] +/Subtype /Link +/A << /S /GoTo /D (subsubsection.3.5.2) >> +>> endobj +427 0 obj << +/Type /Annot +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [147.861 506.42 313.897 517.363] +/Subtype /Link +/A << /S /GoTo /D (subsubsection.3.5.3) >> +>> endobj +428 0 obj << +/Type /Annot +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [147.861 494.465 223.516 505.408] +/Subtype /Link +/A << /S /GoTo /D (subsubsection.3.5.4) >> +>> endobj +429 0 obj << +/Type /Annot +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [124.946 482.509 242.574 493.453] +/Subtype /Link +/A << /S /GoTo /D (subsection.3.6) >> +>> endobj +430 0 obj << +/Type /Annot +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [147.861 470.554 258.395 481.498] +/Subtype /Link +/A << /S /GoTo /D (subsubsection.3.6.1) >> +>> endobj +431 0 obj << +/Type /Annot +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [147.861 458.599 255.087 469.543] +/Subtype /Link +/A << /S /GoTo /D (subsubsection.3.6.2) >> +>> endobj +432 0 obj << +/Type /Annot +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [147.861 446.644 285.911 457.588] +/Subtype /Link +/A << /S /GoTo /D (subsubsection.3.6.3) >> +>> endobj +433 0 obj << +/Type /Annot +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [124.946 434.689 233.698 445.632] +/Subtype /Link +/A << /S /GoTo /D (subsection.3.7) >> +>> endobj +434 0 obj << +/Type /Annot +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [147.861 422.734 232.363 433.677] +/Subtype /Link +/A << /S /GoTo /D (subsubsection.3.7.1) >> +>> endobj +435 0 obj << +/Type /Annot +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [147.861 410.778 277.733 421.722] +/Subtype /Link +/A << /S /GoTo /D (subsubsection.3.7.2) >> +>> endobj +436 0 obj << +/Type /Annot +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [124.946 398.823 303.326 409.767] +/Subtype /Link +/A << /S /GoTo /D (subsection.3.8) >> +>> endobj +437 0 obj << +/Type /Annot +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [124.946 388.806 210.166 397.812] +/Subtype /Link +/A << /S /GoTo /D (subsection.3.9) >> +>> endobj +438 0 obj << +/Type /Annot +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [124.946 376.851 225.618 385.857] +/Subtype /Link +/A << /S /GoTo /D (subsection.3.10) >> +>> endobj +439 0 obj << +/Type /Annot +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [147.861 362.958 410.623 373.901] +/Subtype /Link +/A << /S /GoTo /D (subsubsection.3.10.1) >> +>> endobj +440 0 obj << +/Type /Annot +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [147.861 353.02 280.572 361.946] +/Subtype /Link +/A << /S /GoTo /D (subsubsection.3.10.2) >> +>> endobj +441 0 obj << +/Type /Annot +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [124.946 341.065 196.458 349.991] +/Subtype /Link +/A << /S /GoTo /D (subsection.3.11) >> +>> endobj +442 0 obj << +/Type /Annot +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [124.946 329.11 233.838 338.036] +/Subtype /Link +/A << /S /GoTo /D (subsection.3.12) >> +>> endobj +443 0 obj << +/Type /Annot +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [147.861 317.154 234.605 326.081] +/Subtype /Link +/A << /S /GoTo /D (subsubsection.3.12.1) >> +>> endobj +444 0 obj << +/Type /Annot +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [147.861 305.199 216.762 314.126] +/Subtype /Link +/A << /S /GoTo /D (subsubsection.3.12.2) >> +>> endobj +445 0 obj << +/Type /Annot +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [110.002 281.394 175.954 292.278] +/Subtype /Link +/A << /S /GoTo /D (section.4) >> +>> endobj +446 0 obj << +/Type /Annot +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [124.946 269.309 231.227 280.253] +/Subtype /Link +/A << /S /GoTo /D (subsection.4.1) >> +>> endobj +447 0 obj << +/Type /Annot +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [124.946 257.354 218.385 268.297] +/Subtype /Link +/A << /S /GoTo /D (subsection.4.2) >> +>> endobj +448 0 obj << +/Type /Annot +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [124.946 245.399 233.429 256.342] +/Subtype /Link +/A << /S /GoTo /D (subsection.4.3) >> +>> endobj +449 0 obj << +/Type /Annot +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [124.946 233.443 268.925 244.387] +/Subtype /Link +/A << /S /GoTo /D (subsection.4.4) >> +>> endobj +450 0 obj << +/Type /Annot +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [124.946 221.488 336.451 232.432] +/Subtype /Link +/A << /S /GoTo /D (subsection.4.5) >> +>> endobj +451 0 obj << +/Type /Annot +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [124.946 209.533 335.126 220.477] +/Subtype /Link +/A << /S /GoTo /D (subsection.4.6) >> +>> endobj +452 0 obj << +/Type /Annot +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [147.861 197.578 250.634 208.522] +/Subtype /Link +/A << /S /GoTo /D (subsubsection.4.6.1) >> +>> endobj +453 0 obj << +/Type /Annot +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [147.861 187.64 302.2 196.566] +/Subtype /Link +/A << /S /GoTo /D (subsubsection.4.6.2) >> +>> endobj +454 0 obj << +/Type /Annot +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [147.861 173.668 252.846 184.611] +/Subtype /Link +/A << /S /GoTo /D (subsubsection.4.6.3) >> +>> endobj +455 0 obj << +/Type /Annot +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [124.946 163.65 277.513 172.656] +/Subtype /Link +/A << /S /GoTo /D (subsection.4.7) >> +>> endobj +456 0 obj << +/Type /Annot +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [147.861 151.695 235.68 160.701] +/Subtype /Link +/A << /S /GoTo /D (subsubsection.4.7.1) >> +>> endobj +457 0 obj << +/Type /Annot +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [147.861 137.802 244.537 148.746] +/Subtype /Link +/A << /S /GoTo /D (subsubsection.4.7.2) >> +>> endobj +414 0 obj << +/D [412 0 R /XYZ 110.999 687.904 null] +>> endobj +411 0 obj << +/Font << /F78 368 0 R /F85 373 0 R /F88 386 0 R >> +/ProcSet [ /PDF /Text ] +>> endobj +460 0 obj << +/Length 864 +/Filter /FlateDecode +>> +stream +xÚí™MOÛ@†ïù>ÆR3Ýý>¶P+J¥’[ÛƒI–`ÛÈ1üû®cÇ4þhI +ËIÂ0̇ǕiLPî +Òf÷(¿œí´4ù˜¢/yEãëqµ$ãnÊþ\’»ÆQ"Èðc<µ>Ã[„îgrQ'Iñtþ¦<}…>&ñ¼øíºŠÆu‘ÍlZvœß-ÏÏl}AÈÎÛ¤Ap¹ +¢a5ø#AÈ“¸1“5Ó)2D®šÞi§ÄúõùüIJÁ±6IS’< çY;ÄU4Ù#ym›K”‹¹[DGÇlÞ
4¨ÈµÜ@ P…ÈõÝ +šˆ®Ôª"wêú#Ü€ +endobj +459 0 obj << +/Type /Page +/Contents 460 0 R +/Resources 458 0 R +/MediaBox [0 0 612 792] +/Parent 410 0 R +/Annots [ 462 0 R 463 0 R 464 0 R 465 0 R 466 0 R 467 0 R 468 0 R 469 0 R 470 0 R 471 0 R 472 0 R 473 0 R 474 0 R 475 0 R 476 0 R 477 0 R ] +>> endobj +462 0 obj << +/Type /Annot +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [124.946 649.882 359.983 660.825] +/Subtype /Link +/A << /S /GoTo /D (subsection.4.8) >> +>> endobj +463 0 obj << +/Type /Annot +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [124.946 637.927 253.902 648.87] +/Subtype /Link +/A << /S /GoTo /D (subsection.4.9) >> +>> endobj +464 0 obj << +/Type /Annot +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [147.861 625.971 211.621 636.915] +/Subtype /Link +/A << /S /GoTo /D (subsubsection.4.9.1) >> +>> endobj +465 0 obj << +/Type /Annot +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [147.861 614.016 247.875 624.96] +/Subtype /Link +/A << /S /GoTo /D (subsubsection.4.9.2) >> +>> endobj +466 0 obj << +/Type /Annot +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [147.861 602.061 247.297 613.005] +/Subtype /Link +/A << /S /GoTo /D (subsubsection.4.9.3) >> +>> endobj +467 0 obj << +/Type /Annot +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [147.861 590.106 213.833 601.05] +/Subtype /Link +/A << /S /GoTo /D (subsubsection.4.9.4) >> +>> endobj +468 0 obj << +/Type /Annot +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [147.861 580.088 287.157 589.094] +/Subtype /Link +/A << /S /GoTo /D (subsubsection.4.9.5) >> +>> endobj +469 0 obj << +/Type /Annot +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [147.861 566.196 273.17 577.139] +/Subtype /Link +/A << /S /GoTo /D (subsubsection.4.9.6) >> +>> endobj +470 0 obj << +/Type /Annot +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [147.861 554.24 241.797 565.184] +/Subtype /Link +/A << /S /GoTo /D (subsubsection.4.9.7) >> +>> endobj +471 0 obj << +/Type /Annot +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [147.861 542.285 248.174 553.229] +/Subtype /Link +/A << /S /GoTo /D (subsubsection.4.9.8) >> +>> endobj +472 0 obj << +/Type /Annot +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [147.861 530.33 247.317 541.274] +/Subtype /Link +/A << /S /GoTo /D (subsubsection.4.9.9) >> +>> endobj +473 0 obj << +/Type /Annot +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [147.861 518.375 243.432 529.319] +/Subtype /Link +/A << /S /GoTo /D (subsubsection.4.9.10) >> +>> endobj +474 0 obj << +/Type /Annot +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [147.861 506.42 257.628 517.363] +/Subtype /Link +/A << /S /GoTo /D (subsubsection.4.9.11) >> +>> endobj +475 0 obj << +/Type /Annot +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [147.861 496.402 274.315 505.408] +/Subtype /Link +/A << /S /GoTo /D (subsubsection.4.9.12) >> +>> endobj +476 0 obj << +/Type /Annot +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [147.861 484.447 199.148 493.453] +/Subtype /Link +/A << /S /GoTo /D (subsubsection.4.9.13) >> +>> endobj +477 0 obj << +/Type /Annot +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [147.861 472.492 201.658 481.498] +/Subtype /Link +/A << /S /GoTo /D (subsubsection.4.9.14) >> +>> endobj +461 0 obj << +/D [459 0 R /XYZ 110.999 687.904 null] +>> endobj +458 0 obj << +/Font << /F78 368 0 R >> +/ProcSet [ /PDF /Text ] +>> endobj +480 0 obj << +/Length 3820 +/Filter /FlateDecode +>> +stream +xÚÅkoÜ6ò»…¿eðòDê}_iÒ&\ãk4ª•¸»ªµ’¢GS߯¿ÎPKqÝև€—RäpÞ3¤¼tàO^Jéˆ8Ž/ƒ(±ã]¦ççòC¯.$OqcG8Ž‚öÊàÎŽî\ODAŒs>»¹øÛ‘k‹Ø÷/ofîMöÃFnwÒqœÍuÙ5[mª¬O»¼*·?Þ|i>‰E¸ôÅNÂscúNØ/¿;m¥¿¹û}Fó/|áÊÐ|q³œMuÞîToŽU·Ý¹ðuwÒÔÈ3½•›„:‡ª–*„¸ZÀR>£ýÕv¨Íæÿ[ø/7צý?»øüf †”Jx^Ä"ô$
5ÇKj|3’ιtE ƒbfw7Ts‚ÝÛÁ2ò`}ûå}~(G>±Ê.:¡-z®Ú®¸#ÒT=“¦:ÐoBðƒÖE^Ç1lú¶kä˜ ÈËü°U>Ìntiê»Åá³NOI™·çÏ’±A|gE°Aê½âMÝäeG{BÏ@•³ù%׸ÃG`ìƬò ¼ +º‘†'d +fÂkb•‘bfƒÌZº>ZÙæsA>ËüC¯i Õú¬3jî4hJ°Å¢"pùÈrUôú=¡Jß‚Ñ£™¦Ñ6@ #ó”1ÈËL×þ•²×iÒ·Üɬº6#Š¤ðBw&C7ŒŽ§‚u,ÕKdçDsq§&Ÿ¯%`£ÓêXæÿÕ<± ¬ò/x+=_Hß[r÷Y»ä¯Ltbž{Eë'eF
Ї¬àMAÎÔÊË £
B)'éÎJ‰7¥¢pF£7«ÏvW p[h‰ãÏ—hº"R1,b§,Èü ü³0,)ÎÆ•|x¶+{G x˜mcS•çáÔ§„ù”zžÀ<lj
f®5æ@E~Î;€êŒúm_×4ÆVÞ|mL 4É‹do ?1dïðû¬IPBÐ:¿W*NjGžˆQ=&ľ«ú)o,δ3.4À!£u9óSÆUqWVg´”ö
I+KlôF¡¤{¾Tѧ·$Ðõ¼¹þ°½
¬¥oqÙ ¢¯šV}Óš½ óÖ,ƒó‰ÁµƒL…SwôbAK07ô!9¼ÏG0á'ÂMØ€]£9ô…ae`¼›«‘¿æûÙM`R(hu©›¤à#í‘á†:0”w¼0F ÔB1Ú“§©zëÉÁè«xÎâƒNŒäîTXªQ‡…X +ë'„x«ï!wNÒ¦jip8/ ?XñðqáµÙ Ì'ع/"ˆð¦Ä_å·ä“ü–«üÁQ–"ÖšX šºk¢H„¨;ÑSºi»ùÎÊG!6Ø·øXÇƋ͉+bõ8ŠÂ7us +ùÅ"yõ#æ +Çž&•þpèM“Â
ü§1ÜÑàÅÏÉÏøÊHq¸€ŠóŽ @e˜B÷kD<sj‰ãÏ]éÇܸ6ø¨Õ…Æl^EÒÖqÔx‚4 X3îúÃ~Cƒß¾w|§ÔISÜAKÒ“˜M’3Oc‡$~cJõØÿÛÒŒž!¶òˆ×0¡2=ΙÔÕñˆÎìlÓ";¢Ê‰¢Bç—ŒØS&â±@ï#•CÉ‘4ÚŠ†Î07†8³T7äÌ`Ç¡äZ¶»ä0Æ·OT*%]ÈH\ËT{Ù*s[÷Ÿj$Ĥª:¿Î2#TìîUØçÙk†%Ã6mò½ÎæµvbV§ˆa8¹J{¬A²P5f©žÓ +žmÈ¢
<MjJîrÄ!˜ÞyîZè+ñzuH`ÿšØ7o¯6@²µ8Š+>IUT
É8žÓÐxrrœÐPœA×sJöx¿yïô‹8CÆÐTª¦ü¡äÃ
‡{FwZÁxB°LŸIf +ö|Åìod«+jB²eêûÐ4ðû2iº3HÙ‰º/ª¢0†ùˆØL˜Ü®RiÛõ†ÙôöÀ,oL¶öšÞj ÐÑìj +€ÐètÛQù}Ö`Rr‡…BNé’‹î`€³µäÐižŽn•Ã‘è“ôfäbxÌ0ÀýL}T¬2oO”yºŽ9ÀóœÄK1‹¡Œ®C¨sËÐàÏÕžû>ÓMs·¢‹ò"²ŽKŽÕñ6߀¹`Ыç‚`Ÿéî#™Ç^«˜ Ìa›Pd.AÁ‡&ºW:S@ôØ« ›\DUÍWË0cÔ˜•&
¤—ÙÊù†;Ö½½SFÁ65!¬ŸªÖŸ“PtQc|Åq_:Î"Žœ£ÎÀ9r±×ºùey÷É8åyz[R°Zèì¨Q…áPŸ¾U{‡f§³tBfQh©nÎyF
ª3äëãŒè>QÔ˜”ѦNÚÖžºÆwÀ·¯tEŠÖh|”DuoQ ²Aƒ +Äug÷ÅÛ(j+.Q`5|q<~ä¬_9ÕzèJ¥;BÏ—ÓýöV• +D„Ó·XÝŒ,çuˆ?ÍgÓŸëÃúƒ’ñå?ˆsðűØ$ìV ¢–òg?
;Bˆ+ƒœÇ–‡š0D +endobj +479 0 obj << +/Type /Page +/Contents 480 0 R +/Resources 478 0 R +/MediaBox [0 0 612 792] +/Parent 410 0 R +/Annots [ 482 0 R ] +>> endobj +482 0 obj << +/Type /Annot +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [222.45 618.126 228.626 630.919] +/Subtype /Link +/A << /S /GoTo /D (Hfootnote.1) >> +>> endobj +481 0 obj << +/D [479 0 R /XYZ 110.999 687.904 null] +>> endobj +6 0 obj << +/D [479 0 R /XYZ 110.999 662.997 null] +>> endobj +10 0 obj << +/D [479 0 R /XYZ 110.999 648.384 null] +>> endobj +14 0 obj << +/D [479 0 R /XYZ 110.999 288.263 null] +>> endobj +485 0 obj << +/D [479 0 R /XYZ 125.345 146.922 null] +>> endobj +478 0 obj << +/Font << /F85 373 0 R /F78 368 0 R /F88 386 0 R /F101 484 0 R >> +/ProcSet [ /PDF /Text ] +>> endobj +488 0 obj << +/Length 3749 +/Filter /FlateDecode +>> +stream +xÚZëÛ6ÿž¿Â÷©6°føõÈáP¤mÒ×5í5‹km“mÚVcK®$w»ÿýÍpHš²´Ûm.0`>D‘œg~3”˜qø‰™œE1KóŒ<™Ïøl>&ÜΤL >¹}öüu–ÏrV¤éìvkGÜn~š‹ÅRó9³ÿj±Ê¿Ü~e‡gLd +‡+Î%Ý;_,–©œ¿\ÀÐÛ04Ì,4“iá†~ŒÏgJL‰ë“Ø÷ìÕmاʖÁ|Šˆ¥*8ã\B%a9Lì©Éõ¬€5Õ€fià@þì?›‹.aJävø[chH
9K¸v~ÿêågß¼býýx.
û‘žÐmÓ.– Wó‹d~¨ºÞuÔê*©½j+³¥ªY=ÿãt(벯šš†5þa¹ÞSz’y¿7Ôñ3ðã`:FÝßÖ1?ÜS-¤žÿŽS»áekÜÖý¹<ÀPÊ2SLª"X¡µ¥¢6fc`»2M‰"™fóíùp ®r½6]Gõ¾‰´¤È,ç8g*÷¬ûÆjÉkûÿü‹ù—¶þ阓2e"h×Gçn‘uy*WÕ¡ê+Ó½‹*åLpÿÞq{ªÖ¬7ŒçO4Ë‚¤nÆóh&=˜¦ëï'¦É<åÆý'Å +÷y(ûÞ8vÅ<lj”‹ç¦åºÌ5˳tÀöF¬T™´,az&>xþr¼euo†Øƒ8KX"ajÉd"m÷+×CûÒû£ãñX÷S˜ÀŸÓŸ…JÎ9•ëwåÎLè?R\¸!&Ç~×–ÛUÙvÜṄ˜ramà¢.ù¼ÚŽ”.UL%•{eÿoJ +}R–½‡±‚-q¯÷»êbl;Z´kü¦vçjcêµÛÚwÚžë +Ôk==öªw(CƒØ½C¹/’;}½¡¡¥c·Ððöæ@‘¨LXÞÃŽ‰ ++Uà þžûÓ¹§ÎMĶ£N$Kè„‚ ™€·i™i˜œ4q)S*½Æ/°r¼E‹Ì +Ô× +ì̶øüõ%WëÇXêˣ{³š1믯Š ÒȾ4å|·ÌAå!iÈhÞ۽߮½–q†ˆâjП+º\à„±²rïnª-œ-B5 ¡0€_ÒÔ.YeêŽÒ…—¹Ä|gz7¼Ðºì{Ù¤Œæ5»û®7GX´»Ðã^p˜fÚ«qÚ0cñydˆoË$qæ˜`ëק'e’'FRÏ‘´c\çRAP:Ås×YT|÷µ¿¢©ûøMæÁϤ鴟‘¶ò‘#ÿ”œà]ìõ•§‘²i<ÝàT¬ÅvxQ²T
5è/Xq'±I“%€ìÔÿmbvÛ¾9½‹ìøgfÊ„ø¨p`/Ç÷y¶¡_nÐ-žL· €f‚ ÊŸºÐä6Í¢B2€¡†ñ¯ªÈ]Ê*ÃX +}*u‡¼Èå8uô¤RL=ù’ÜNthvä ò€Ì¬.BD–5Ñf׋ÄyL¨`ø0 +71uû~7Ê<•Ã³Z$—ä +˜›ðup; Lm ^p"œVñ‡lEsrwÄE⬰Åáвy.wN¡ÙšßΕMÈǤZÀ¥ÙTýT^$ïœ>Õ(8S0®‚eWè÷/eUQõR5‹XØP}½/Oxœ¯@à;\Š[À=u? OäÔû™ÅÄlvËáWx£ùèVvžU±‡:7kƒÜè+ÛÝ#Þ˃k&³Á¡=Mê‡È¼ÖÛì.LhÁ1Æt69‰=dÒ B·ÀT·É«kŒˆ¹çL#®‡HG©ÉÏñ£¦Bà£ßžýôŸm`ÈWÏÀµùì꜉¢˜ ´¶Ÿ6Rûðìí³Erc9.“²4Ü{À+ð-£ÁùTsÛ|^ÐGSÖ{†,zÝ +·'û;m¶S™Î,| +endobj +487 0 obj << +/Type /Page +/Contents 488 0 R +/Resources 486 0 R +/MediaBox [0 0 612 792] +/Parent 410 0 R +/Annots [ 490 0 R 491 0 R 492 0 R ] +>> endobj +490 0 obj << +/Type /Annot +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [413.901 467.696 420.078 480.574] +/Subtype /Link +/A << /S /GoTo /D (Hfootnote.2) >> +>> endobj +491 0 obj << +/Type /Annot +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [322.364 408.004 328.541 420.798] +/Subtype /Link +/A << /S /GoTo /D (Hfootnote.3) >> +>> endobj +492 0 obj << +/Type /Annot +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [238.168 172.39 245.142 183.333] +/Subtype /Link +/A << /S /GoTo /D (section.2) >> +>> endobj +489 0 obj << +/D [487 0 R /XYZ 110.999 687.904 null] +>> endobj +18 0 obj << +/D [487 0 R /XYZ 110.999 662.997 null] +>> endobj +22 0 obj << +/D [487 0 R /XYZ 110.999 569.823 null] +>> endobj +493 0 obj << +/D [487 0 R /XYZ 125.345 167.205 null] +>> endobj +494 0 obj << +/D [487 0 R /XYZ 125.345 157.396 null] +>> endobj +486 0 obj << +/Font << /F78 368 0 R /F85 373 0 R /F88 386 0 R /F87 383 0 R /F101 484 0 R >> +/ProcSet [ /PDF /Text ] +>> endobj +497 0 obj << +/Length 3657 +/Filter /FlateDecode +>> +stream +xÚÍZK“Û6¾Ï¯˜ÛJU#˜ +C-cþµ\™tñ¶ïÕOªŠ²Tz}Fí×6•‰bY‚]}uÛ£hÓL%IÊHNñ_Ù,PA`PUgÃdXÓ7ÒÕË•
ÂES÷ùºàJ·+{É¥*0Éï—«Ø,¾rÿ·K«Ÿ»âKükÚ'Ê?H£Ÿ§_9Œ•µ~g/.Ö±*Ð~™¯³Þ.Wa(s¿vÿÿ¼œÛÆ*J#Ývűå
=”Ýî¼5WhËj»wåhÑ.õ¹RßENU…>ê(P¡y?!^ñFп$D„zæP¼è/`¤‹|õÇúÔ\¬¿²6S:Ì®WZ«,ŠžÆC¡>„G¢¢À㱩קCQuyWÖ|í¿»zi¢ÅWˆo軑/è«e«¦œªÓ@¥g\ÁŠÜÒl¯¹ðã@ðpø±Ž‡üš(›˜!¿†ÓB¥ÓDñ#½4<Éñ ±fœo—i°x<–ë|¿dÐOm7]a¥Iž Œ(¨ÌŒV™Êž‰xh <ÒÇ«¬",°x«ÇËCY™@YceM>äºa$1¼-5\!„NIã~™¬Ye +=’ÞYA-ÚPxëóû®ÀÊÖhÒM½.Ú¶ŒáêI"J‰FaÕîÔêŠw—KÇ8¶ÄªH§îtDq¦FõøÊÁ¡Í€Úú
2$%<ºÝÕ§ý†ØqWT\¹+ø›x·—ŠÓ|ø6 +l"_¸™~t3½¨Ù™YMÆñÔ§îxêãýª“
n EÃ@4‚A$¦š;P3>P·ù–'9µÅF ”y.Ä#M@ž;Tdí³çöÊLLG©8kÓ¶X×þ¨`n¸äøŒ +žÏ¨|Wð7w|e¬׌Ãåõx¾bÄ+¯¿|É…3Ÿ"£a^œ¸VVëýiS€s7,·:T‰ŒÛDì6áŽ8jâ[Õ.rpy+øîðÅ·)œDÉÑßüÔÕ¬[°fÈ}]ɬۢ*o$³¬›"ï +^¨w#†JÂÄÄ’½Ùëî3ü‡(¥ ÍÅ,àëØxÎUÇßf8?Qaj{OÄmãHFöËòžNçšÍ‘lkS¥í˜ +·ã§þ<1! ÎìÅt>Ž¼1‰´ô÷#–ÐÂùc{#ÕÜs‡.yÅ€2¡û=WºæQ–îÛ’æýc©£…ËùãŽÂzÔþ¾\åG‰µC·Ûà µuõw·å`´×}î4½Y,6¥0)*5»çbÎ"èöäðO‰_Ö)Íýû©ô઀$óGÀ-nO©H}éNå¾»‘UœôaÔÁYJ"fNL‡§á×w áȼA¸Ðóñÿ%—DÊsQ¯ßm’„‰)sÈ£CtŒmE*M8Ø uµ0>Žá‘Ờv×Úâ6—âÚ-sz”2g/´Ži +Ò÷o|è
•²r~ײcbfJB‡$÷¾vlx%Ø9ôrù0SQ˜=Ÿð+0‹&&{bì7Ÿd~£±6¡`’²háJn·À×ñêß°? +&2k-2O‘7ëÃxQuꈡŽO¸)öEWH‡ú õlÂQ5Š1-fÎ_õí¼¡K•é8ïEЬdæΚˆ–^ç7Á•¨„™0<˜ÈãéH†"“–À;>‚à€ˆÓ +q˜QÂÞÏ[Æ‘£ -á{x‹N'²í'~hêj{ó>ôIQ¥þh¼÷'ˆqŽ§;6DñL——ÕÙ€ÄQ|q +.´ƒ±þ¸d³1þGØ}x±1c)}ÔäD ’r"AÕpvÎA}(Æ8†ÙÐû¸:îŠÆF.q2ó.B)?šxT²”Ò‹F– +—´ÌÝÇ‚Nfo,QÆDOsôœ«žö™óÕL†<•ž85Ï C)y/õeîó6ý¹ÿaÎÝ)ÑDqªÒ±f¾eªÛ +˜xˆ˜÷·ò8º1±}VŒ€·rKeæ³ronò'˜&v¼ÏœÓÌÆÚAò•œ?¤µÉ/¸*ðºå¶®úƦ>mw¾"Ðü®&¹èqk¼²QÜá;õ~Ù~Ûû|-ˤ=E9@°”/œxœÖÈñds»R< ¢Þ3I+¶’/,Åìúì'¬`}€à4Ÿ·ay7IF^(47T$nhöD
YÊÝêç©!ÂŽ}ÀH||Ï +%šÆIœ-Ä»Ôá¦P>ÜJ “ãÜÚ[aڤϯ\úµ£KŠ?ãpdJûaŽ:uóÛg¼Ø[¾Ï÷‰gQˆ…JÈ&Ï¢
®e6‘”Ä{ž\b/Ñó.Hì_h0¯<
i¤¿FC¾nêÖ¦F49¶3e۞܈§N’î«Ÿ!ö—~=-ëþEÛPb7º§"v‡Ð^b› :ÑCo¨ÐÀ¹ëY‹x¶ïû—Ü£LE½×M¾ðœ=ˆ”ÖŸü.˜ƒ'ÚdOW#\s1çÏSŒ–ÂÁ7á™ÑZu¸ŸËÅ!Éît‘é M9s¥hßÅñ`J”wÝOwÕ‡·(Óà¥f\¬4ç› †[z·kêæïgé@¥6úqì0Uº))&Ù?’O9û8"RVt2TORÍNy3ç´3iÞ¼™Ä4e7sýÓ»
’ɯ`W`¦lûŒ¾CH’&ɨ£ß¡¬|Jþ‘ÁbþÐО×CØÕÄ5zn`˜õqF[Ÿšu1¹èüNÎWgÓÕ3xM&þ³äsÈøO8(cF‰è+‰é¾PV0ÁÇ-0^úÚ-å9È-ÛäU»wWr:ƒ=Þó +5y¦æZY‘|Q©-%Å9G¤pÚÞ§ì´`&’~2ðŒÞxfï_æYïZVôˆ*ËÆÙ&¯QÉŠ„LO‡TQÈbCãÒvž¤+Üó—M{hûŸKý¥°ïm“ßßåm1«Z¢LÁœO¢ŒÑ\zÍ9O5÷„#¢×5ç'D¡eÁ§Â>¿+ö-oŒco +.ÅB"Ç|c‹* +@ú¸ã¢S$øJN&LÓswШ“è,š¨~Ç«¹•r½ŠE‹õ®*?9ŸuÏ¿ÜX{Ìê¶ðSz´}BLG± +ãhD…ï|)oŒ‹Ù4 {3c4 †àõ]nek!”Ӈݥ¿-#z‹6wÙ$ÙØmœY;Qi¯K +Ž7ʦ®„PrïÍê|]öÀ¾ µcY=¼N„M×ý#ÆÃQØjÎ`êžiý£ƒRžr)¾v7¼ƒºóæ8Ô½ +/kV#ðUÆÄyàMöÂÑs0ÿ2+L"•ÙìRâ×òûÕÏ¿×ôøö +ãà6? ÀûήWòK¯Q¹¾¿zsõïóË9¸)˜c«8N†oâ0ÿÓ7q¦.~I3{ö¬ÉFi%¾.÷cà¡oøºÊý‡öîX4eQ9:YÈ㨬#é*ß]ÎÙcª±ÆA_¿¦—vu{i +endobj +496 0 obj << +/Type /Page +/Contents 497 0 R +/Resources 495 0 R +/MediaBox [0 0 612 792] +/Parent 410 0 R +/Annots [ 499 0 R ] +>> endobj +499 0 obj << +/Type /Annot +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [290.892 637.927 297.069 650.72] +/Subtype /Link +/A << /S /GoTo /D (Hfootnote.4) >> +>> endobj +498 0 obj << +/D [496 0 R /XYZ 110.999 687.904 null] +>> endobj +500 0 obj << +/D [496 0 R /XYZ 125.345 147.939 null] +>> endobj +495 0 obj << +/Font << /F78 368 0 R /F88 386 0 R /F101 484 0 R /F87 383 0 R >> +/ProcSet [ /PDF /Text ] +>> endobj +503 0 obj << +/Length 3815 +/Filter /FlateDecode +>> +stream +xÚµZYãÆ~÷¯˜·h€Q›ÝÍæñè5ví
ì8°ˆƒ8ES¤ÂóóïSW󹇽ö}T×ñU•ô] +¬üv¯Ý®h³{½«¸½á
¸Ò7ò=ã†pÛ÷ÓÎ*Ëñ¾¿ßGf÷†þÿþëÝ[*½>§I•R™wÍò_³§Bñ6pèNΚg5Ô쪲ë‹#·•õt,¾LŸÕǬ•îïfgµ±¡Ã&‘Jmx§Ul5íüÕúdV%&*ŽcqÌ]¨BÝí2!7¿–æ$4wSëϼ`2[po£¸ìÞ?(ŒûEÛpè +¹ùú.ch¡¿FocÒ^ò^'»§áRÔý75-‰^X@z™Ôíú¡xÖ#Wé~.û³Ì(Ú>+¥ùÚ6È ¿•Çâ(ÝÍåDí¸öKà¢6íYW/D‚½œu~½kÓu塬Êþ^Xà„G´‘Ý]+Ú‹LØ$Q(ýqÊÂîZñÌŸš\ªàÊÄ«PaŽ
ÒÛÁ]ó3ñ´6'ä÷wÁÅd™ÓŸÛfx:7CÏíÌYÐqlr"·â§VéØ..ü- š±Ïôµ»KÑâHTEÎå°ê…Kt +*DzÊm]|+2Ââs, äÁ¥¸2²õðÄØŸ_ï׿ªñX/2Å_ÊuÓË/
,9¿\D—ëÏMG/.èUsÓœ¢P}.+ä¨8`--׬ëHâ¡ÜÈ$Tú8JÚJïÇFE:õ
©ùIå5ª³ûvaðÿOkU:Õ…%xs-õQ43AI|—À. +¤{àÕËž¿ò”P:Ⱦe}¤ó?C×ûÎk(g~ƨ6©ÕwÉó¢ëXH¡þÏ{@8»fàÛ,´ Ý,fˆHTÅztCÆê5~„TΛmI
©×tÒQn$ZË×ïŠ|è>kŠÅ©²¡• £Lâú„_àËd$ÉÀ•ÆÍYè°2™¨¼à±ð|O$¨d¹ªüŠqq¦B¢U/¹â,êC”
XíécÐÇ'\#ª^qÏWy?¦×ó§Þà†:Öª0™Sç#X"ðŒ/ë²h1òkË#ÛSÚñgÇ$Öó¸+o†–
žÔôv
7Ð6L—T+.ÑÁHs”+ZÐ":P˜aÌ”WävòMò—€~€kÐ:P~Ÿ†ÒQ´Á¡k7D0QQ`7E0IX“Q›BËAöõ"M™â»ACA„‚ºu’øžtW5d¹zo® +—ŒßªãIÝ)/qrÎMs™Î£1Åío{þæç¬~ò« RLEz÷Ìà1¨Cg—ø©¨É‚ã80²‚…ìx'hz–m;ª°©£Á Þ„«ËuM@«hi\èÅ–OìêÑÆ™ìVÊ—-0»ñô +ÚeÚÁné-´ƒõÑaõP`õ@q¨¬%ì´¹E +fn
T.Œ%áD¹w½±2K¶
À¸xÔHäæZÔOmv=w§²Ú +¢,x8éZ˜øŽy8iŠ—H›nO’ñg#Êj´ +á
²¦ŸdœìŒ€¯xntUDØ\}'À}µyP Ïç‡x©yà+•=YçaiÔyÔ-€µ-²#¬¾*òlè¤ñîlp_âRŽ§þ,÷Ž'T/Ó¤[s±w‘2f{|…^LÅ+2lA¾Û { ¢$\[8B8Æ"°lª#IE´:ŽVucôqó„àµûõ»ázÝ_'Õï6xÏ‚ÍžÔÀûM|†uä$UÁèŽÁª°¨B¶vwÁ76
”+Ý¢¥q +6wÏgÔJX‚óÃZ›â“€ÁÆDÑø„ÅðÄŸ$<x’ö ¥}A™EXÿ¡¬ŽŽü‘};ò.‡/z¹…´m‚²^9t¿CM<A<tšn%ŠjÇ"¯²vÔj —oÂ|dV’(=ŠËï37úv¥D2øîN%&Pb›Þ¸–æ£®å ¢ê6\ËD%Qòa×ÒÜÐø½‹-€ï'ø©u³\k!'ÚÂÅt"~jB“¾Fu‰4B=X‰çC+p$ΰ”ˆPK6üE3[H“$DÐ_0ªýfìÚ¡A*Š+oÅß:g2µ–©Å˜Èà:†,êiÕy‚Uگϳ«Ç®«ˆSpÁT´ßÖüå¨áð¬.Ħ2Çq¡ +â=þqæ_àõ´_é™ôÕw0¢™ÞˆHJµ¿;T¯Y+×àó8kÖcJè +endobj +502 0 obj << +/Type /Page +/Contents 503 0 R +/Resources 501 0 R +/MediaBox [0 0 612 792] +/Parent 511 0 R +/Annots [ 507 0 R 510 0 R ] +>> endobj +507 0 obj << +/Type /Annot +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [481.743 395.252 496.189 405.807] +/Subtype /Link +/A << /S /GoTo /D (subsection.3.1) >> +>> endobj +510 0 obj << +/Type /Annot +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [420.877 168.238 435.323 179.182] +/Subtype /Link +/A << /S /GoTo /D (subsection.3.7) >> +>> endobj +504 0 obj << +/D [502 0 R /XYZ 110.999 687.904 null] +>> endobj +26 0 obj << +/D [502 0 R /XYZ 110.999 662.997 null] +>> endobj +30 0 obj << +/D [502 0 R /XYZ 110.999 461.04 null] +>> endobj +34 0 obj << +/D [502 0 R /XYZ 110.999 306.146 null] +>> endobj +501 0 obj << +/Font << /F85 373 0 R /F78 368 0 R /F88 386 0 R /F87 383 0 R /F105 506 0 R /F17 509 0 R >> +/ProcSet [ /PDF /Text ] +>> endobj +514 0 obj << +/Length 3568 +/Filter /FlateDecode +>> +stream +xÚZYsã6~÷¯ð>Te!¸xå-ÉN6“Ê&Ù«’ª™<P<fB‘ +Iã¿Ýè Jô1»)WYht}€êZŸºVJŠ¢(®Ó<…´×»Ã•¼þ +-PÐôåíÕg_gùu.Š4½¾½ó=n÷ïVz½IäJøÿfýëí·Ÿ}gÐMfØK+¡‹„»¶k•¬>®u²rÝzt]®\=ÖåÖÕ=—°©È¢Á7<wÜ.2™só{elûÑuuùät©ÚÚç§Ë¢éšö… µ5Âfát v¸zs;rÏä…ȲœøwÎÚ)¤Raá”EÌã01Û0L‡Û£ëÊ¡j>P±ìwïe¢(‰‡o4,¢º(Á×£dA«Òñ‚´\ù3#1;w<o’ +{y-c³E®ž¿–x¶L eÌë§{êZÆ Y@g + aTîG¾m€cE²îvu,ûá†êNÍr]fM·k5¯|8>µœÉŸ¿²®y‡²þç@kñPß²ë\9¸=5l/Ï«¤VÚèă¿¸r"ÃËfOTCO“w®QAuûˆ›q¼×1ÊýÞñ ¡Øë€à$Z¨$*Q$$AÇj7œüà$·üðÊn5t
ÿ×z“êÕÿÿvmÔê ÕêG_ñƒÿÿ“¯¹
R©¢;ÏDb‹p²žVĽ!\`É®ÚÝîÔuk“à¬I‘ë€
‚ÆßÞW==”{7Îy ª?ms»:xv$PƒëˆÜw%rñuÏ®víá +söTU5܇{¬ÕÊK@DJºcò®kDùƒ"ѹž×kïfó°`*ý|ïš‹fXé6VñNqÇÚ
xExN9? M)•å@µA‹ócbcÚ@Cñˆ{*ù…æ¡=rÅUTƒ +q¬Wäm<¬•\•T;í «±…›¹nëî£]ÑBIÚ +îñö€¤g Ð…03Á + {JgÌ4ñ7-^þC$^ñ
µ> ‚^¬[¤¢PöeÖƒøŒÝªp&²x|&BÜtlÝÌ3òÌ=™©h®XE˜T +±ŠúŠ’W ‚Qº¡"á^0à÷¾ä!˜ u,)8_]>×À¦\èVñPflO&›Ú‹ÒWÀËGd„™™ÌÛdD
‹ˆ™¼2{ÞgòÎ6¾¸Ó©kؤ¡*ñÀr˜–òôôbÃY£#Q6|oÀÍ•
ùØgv‚¤^ft:/ÎP@õ22õrÃí-ý¾¥º)ˆ†ªƒk¼?µp#„>XÀ[Ãßq‰Î¡‡úŽÍ=URqò×zª^yÄ,4¤ThY”x׬>›×^¸ÈQÁ "ÄôRõ!Ò#È» +æ@æùóÁhì\ñ„“¥Ò‡¡ŸÙÎçšµÂB“sP›ùAß·ÝBÎ…HÐ11ÿc$6s`Æ1Ž‚û<ž(º4(Ùþ÷Í õ?ý^J];¢Y$ +\P^¶GáB¯¶-X/òl ì òhÇ1ÚOù|s¬ÿò‘~gZz~úM–Åè™Î½ (³è\6°µSÒÊçD:0þbj¥°6dX{=wöD€|ôgl8?:ðOOQxÔuè†fçð†Yâxúíã4âB¾t +AhgÈwË,蚉2ÕlØȦ…Ht1÷ëédfŒe€:víþ´ó[B,CD£_Ã1 ôCÛÎc[úõq0ôkœƒˆ\x +2ÜÐNn¿–©È´}ߣÂzä¤!À5ûz?IæÃÒW$Z@²’‰=>ì§%v-ØÓÝ +;…“<p]?;%j vߺ^ùöŽ›^Ñc !·‘š*Mœ™Çj +Æ$â€kYÎ ØQª8¶)›¥<¤C3jËÈ¡Oyèã(²º¶A§ŒÃ5/è°z9ó»-¦3Л¥8±äNËS´ +<T½{zFâ„‘ ÌóˆÔ§d!\À_ïþ8Á¬TfË‚ù•^PARáZö>s3ëÍA +ÏT +Ó3÷lOî‡0ˆ»éPªà(b”ÒPØrkKÁ +°&}<§È@$ã÷$¬B7ü q}W9C-Tº£¦½Ù]+4‚eUaf5[ÖT›˜E|åCgŸþ:•&hendstream +endobj +513 0 obj << +/Type /Page +/Contents 514 0 R +/Resources 512 0 R +/MediaBox [0 0 612 792] +/Parent 511 0 R +/Annots [ 516 0 R ] +>> endobj +516 0 obj << +/Type /Annot +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [252.508 185.638 258.685 198.516] +/Subtype /Link +/A << /S /GoTo /D (Hfootnote.5) >> +>> endobj +515 0 obj << +/D [513 0 R /XYZ 110.999 687.904 null] +>> endobj +38 0 obj << +/D [513 0 R /XYZ 110.999 642.808 null] +>> endobj +42 0 obj << +/D [513 0 R /XYZ 110.999 464.004 null] +>> endobj +46 0 obj << +/D [513 0 R /XYZ 110.999 347.018 null] +>> endobj +50 0 obj << +/D [513 0 R /XYZ 110.999 225.947 null] +>> endobj +517 0 obj << +/D [513 0 R /XYZ 125.345 156.337 null] +>> endobj +512 0 obj << +/Font << /F78 368 0 R /F87 383 0 R /F88 386 0 R /F85 373 0 R /F105 506 0 R /F101 484 0 R >> +/ProcSet [ /PDF /Text ] +>> endobj +520 0 obj << +/Length 3930 +/Filter /FlateDecode +>> +stream +xÚZ[ã¶~ß_1o•1#’ºP}K·»éÍY
ÐôA#˶º²dHr&ƒ¢ÿ½çFY²5³“m`À")^Ïõ£ô]?}§u¨²,»K\ª²0º+Žo»=4}óFK—PA šþ´yóÕûÔÝ9•%ÉÝfG=6ÛfµŽÃ@Ѻú×æ¯_½w)tSìe´2Y,]·åÃÊ„ÁyÏݦ££¢,‘~÷2̤=Riè¤ùgm£ãîT0Þy?tçòv¼Ä)§¿h¼]^÷šÄ*“y%ÁoÞmFNY—©4uÌ«k6®mª04Pˆ”K²‘Ÿ.¾Ë`;ã§.ê0žógÜϧ£˜D¥:»Ù÷Ø©Ì™Ïðq:^š(£í—Œ7çãøÂZÛXY
¼ÐøtôæÛüÜ—ýØä‘„Çjf~3߮։ ÞÓÿð¯ƒT~{;‡q*SyohWk“DÁcW
+”\ËùÑåájÇÕ:ïVÚ{ßéMí¹¸ÚîøY5@ÞµÝ1ª¶aÏbî†I&LU虨êv¿°d£F5ùD¥×©ƒfËå¾=–CuFñT²1™ònm@M€³‹y÷ew¬š¼ý´:þ<JÎÚ†ìd²
lß—M <)·\}xºÝŒNXŸÎ[
å¯^fõD6¦:øx¨pO8jÝæÛªY`Bì” ýyW=÷>uíCþP?q
Ï€W;+ûA¨Mýäy +‹Ô´·ãÍ
R+°CS{ôí)Ê”½~¾'ëóYŸçmP¨ÒÈóé£Î¯†ÇŠ+V´~a Å6îâÔ‚ÄßÎbJÆÝ.Š“NT<ãÇ©nfÆ¢8…n4œ‡|àUŸê¼(yÍ9Súc^×LéÁBñpÜAÞ)óâÀ2›@‘WëªÆÖYÑ‚ )í·«Á†”Fgd;z]{Eª_ÐÊ +¬crÎ$¿T(’aI—¡}[õŸ˜Þú7©ŸÊæÒ瞉ƒ_Dqh+Øs!Õ‡’µºl«b`ãI
O—qŸálƒ}9ò"[5£µŸC-zÛfA6@ÒôZ6vU]ÏB¡‹{m½~ÁVoE„-[ðNA÷ +é òO¼ýXΗšeÕPñ£¾üÌ·[ï1&£o»ë#vdþ¢êŠóq~°)JÅH#ûžîŸ•'L@⊖B‰ðïãœJ^m-À8F^nXa¯!{C ü‚>2ïªrxb:±WtÈO%9a¬@t#Í ~WÄ$hÚAqóÚ?Ê5oZ'ZÅZ˶1¹ 4i +¨ €ðñáÜÛ]D$ŽI‰ m³r2½LÔŠ93tdë;Bùa¼Á-ŸÁ–Ëà’€BMÜà‚ËÑíÄÕÑ7í¶\ð™1ÄÆ}ÆíD£ÂøѼd<évÏK<ä[¿¿èœ¥ÀÌ-‹ð
:üc¡^ü{¤¡@oO¨O÷âfL +É—›‡†žÙÍþŽŸ0o_.pâ„D¿V72ˆR²9”‚¦F¯äw¨\xÉêh•º5,‰ý±ÞIaáb¬N§;“’‡Ã’‹¨òPB> ¶T;IË<t¼²ExT\ÜÎý‚=ã-òì?ÛºÚ¾V—ÿ½Ý²6`ÉŒ úv‹óð‰uŸz®þûLñ@‚Å'lZÈ¿Ðz?ï1_p=ÎÀ‘ÏÒip2NNÏ““a¥žÛI2$’ƉH.¹$[ÒeV=Ë¥S,ygÔ
Jpú™mr^‡ ”/“ÅÏ:ÄY”¨tžeÐf)/ÈnbÓ#z;bCÞs±+Oxnòò}W~Å!‡_èGÁú|GæþB곎bå`Òy”}‰éòÝp;š†’¹BMfƒÌRLóza§"¿r<ÔÌ®PÇýfThyo`]öúdŽ†ÚU‹|ÅP7«jÚÉgyœ1„¥³<îïÍ–³)0“N¨•m̱òSÛ/E `ÌG/å}Ê8*¢1ÆiÏ=·ó¢k{nÇÔª)êó¶ôd,X¼#ðôúÿˆ¤L0 «<Vò>áU¿>« )?"RÕ³ +bþhõuLêAàîŒD$è?:Ž’\€à4å{o?” +¡%A=rYT¶mó\ˆvP•$»ÆaÙŸÊ¢B(«æHÊqÌÏ¿M2mÌxIÝ!º + û.?ª‚©²S¥{" ¡ÞlIÄ—Äš³yÚ^an!ûûÁ âÖaŒvÏ7“Ã{*=Á*ní¹Nãù¡Æ[‹$¿ÂÂõÖ"#ÂðѴͤÓÀDZP1ÊXø È:ŸdEµ¸òï§-°F½óñ<`’ª“2Ëc +2²‚¢§’©?ñK}™wš@ù”Râ8„¦dhAò-%<‰[ül•, +RFsARœP,æ5 ˜ö8yu䚀œFöJN®Ó Úq¾Ûñ¼¨Ðó1¢.;ÃTHÜ:£‡’¥™˜q#zyJã‰<¥Qp¬ö‡éÒÎÒƒÕîžI䥱Àf4?žêòžû°úCÓÅDKeOñöáK ’˜Æc\ +m¬¹@«¤OÓÊ„j"\ÒÁ_YNÞZG*É殇ÝÞ;ú߬¬† ór©ó=ý$Êæ–Ë*†zÆs¹AÄÊS{æC,âÆ5^L1ŠÉ1¬ÔéøäLÙÈL®ºqÞ½<óC™o¥ØHaÌ@°ÂŠ +KëÊcŽ«k8äŠ?›žý,’6”à{ç~!™Zë$„¼ßÍB¥Yr›^„ÑäÁÆ.ø€ŒS‰Ì€ÀÖKd´àyÆõÝŠ%,…ç‚Ý—y°…Cà ¦©¦C¿"ÅÐË9ÆgB:\þnÆÌwÂ+È(Í n;œwÏ(ô6xð‚Fþ¾ãíUñ äÕ&Šwÿá‰Ué˜[¢ýtž£ÂÄåf‡e€“W¨ãEÑh]°À4˜^L!›!&JY!±0QH¬Žˆ!;MVr™¢Hïc$æÆúÔð¸Qò‚E\0~TBvn6ßBÜ|çE*ËÌLû¿Ì4ýPSþ±aà\{:‘ÙŽ@púþÌ +Â6,Û6Á¾y']k s‰¿\1äÝ°ò_:!ƒ?ø^K…r%Œ”‰`u.ú´Ø²”¡Ù'nn‹$K/Ÿíš ’$ãP’BI?„ÔO&–Á0œf¬krs4ÆXŽÑÉËGcÓÉw»0ì)?ñz¹Kսβ—'~RŒÌØõÙôòA$ï* ç÷Šíy8QÖ_к¼Ý¯ r©3â‹àævÕ¯¼£+Ävµ†Çb`i›½„syã£9½{Ìöo‘lŸž+Pv$P¶až0ƒïO—;æE{ï•<×tSx»Žpª~d9‰Lâ[ º€J&iҌ҇[1~5‘7{y=)$¯*Îô+ð:~kv÷'X.¥çÙ9À&òüÓ6\d;.V^”“Ä/NØRŽ9®µó28ÅQb÷’Ñ6ò©íï¤qév/Ñ„¥‰€™þ¼Ã4pE{“&Á[:d×
ù| š3¡{Ýñ¤ÉÕG8\ûP +¾ƒíÌ÷4!¹àhêédxÝ—hýêÙö]{fÑÅ™:ÝÞ_ÏŸ‰²y^Ãsgñ•TdüUè@vZIDðé»"=Gè0»ììö“Uâ—[ö÷‘Šñ:p²ÛLv«xU+Æ?L0ôíÄaÙøé%¢Kž0‰@ç™1pAѪk›#¨ÆIþχ–ðI(åüàcÌ`ŒÞ^qŠøíK†¡`ÍÅäLŠ¶Gwj9px2l¼yÂ[ÉT˜|&~z?ÑïžÕ‚ÞdÊõ{Y +gendstream +endobj +519 0 obj << +/Type /Page +/Contents 520 0 R +/Resources 518 0 R +/MediaBox [0 0 612 792] +/Parent 511 0 R +/Annots [ 522 0 R ] +>> endobj +522 0 obj << +/Type /Annot +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [407.911 336.731 422.357 347.675] +/Subtype /Link +/A << /S /GoTo /D (subsection.3.1) >> +>> endobj +521 0 obj << +/D [519 0 R /XYZ 110.999 687.904 null] +>> endobj +54 0 obj << +/D [519 0 R /XYZ 110.999 662.997 null] +>> endobj +58 0 obj << +/D [519 0 R /XYZ 110.999 591.625 null] +>> endobj +62 0 obj << +/D [519 0 R /XYZ 110.999 436.731 null] +>> endobj +66 0 obj << +/D [519 0 R /XYZ 110.999 210.106 null] +>> endobj +518 0 obj << +/Font << /F78 368 0 R /F87 383 0 R /F88 386 0 R /F85 373 0 R /F105 506 0 R /F101 484 0 R /F80 371 0 R >> +/ProcSet [ /PDF /Text ] +>> endobj +525 0 obj << +/Length 1307 +/Filter /FlateDecode +>> +stream +xÚVKã6¾Ï¯È6¨–äçöÔ.f§S´³ÅnŠèô 8J"¬m~ÌtúëK‘²ãL2‹Š +–~Xß|û!Ë9+Òt±ÞáŽõöÏ@„«$ +~9~£pÅ#øÿþµþ •2Æ3锤d(Òü5\¥<XÃW÷øýˆß‡Ior&–dÜë}¾´›°XÆ~ùýdŠ£‹Ñø~ï.KÎ’"óÚŸ.§ŒG©_þ
üŒÆo‘þ|%Ú\2ÁÇx2·áæv=eUæË`t-å+YD,Š1ËÓbžûÈyî{®dº?¨ž(Ý„q<™Ö6µnzæ|/xÌŠ8^¬8gE’ æ÷M¸’‚zŠ$ØÙ¶w¼ª£…Ö
‰jµÕ${„ªŽëvG«O!OÝvÆz‹Ë`§U ÖêKÈ!:âúƒéh}hŒó?Q£k<Ûaº%‰Tã6½œ{ïÞdiëžuuvØ[«fëÊ4¨L×ë-ÑjcIrN"HýÐ6¦Ùc=Ï[Às:íÆ›±”BbžMUµñ&÷•Ý„¾?´7`ºnC±Cß™-¤òYÅeHs_÷zw4å„»iÓjÜ5¯ô"'k—8Glõ&Q0쉅<Ö.ZL˜¨ÖoÔ.M—šrñÝ<í«â8»™sÊe}aaDš°4‡Â&bŽ¡ÝâÀ<‹“ôÒêJ{Ä +8¦*ݘ‡f‹³CþæÑXÃr:U5ƒH:ëËÚJyFÐÑš¸Õ×ÉÂÑÚY/€æ‰`I<6¢_°|À/53ê4ï/K# +ç‰×sI>AÒc.ʃjöèÚ ~rðR±ƒW8ªVÕº‡ûâ_¤.¼y>v¶ª¬Ó{•\Œ7(—ÉwŽ”AeKD%HMƒð»€K¥ü:ìàl§n÷ +nK²ï.ÁèËcQ?ú0¡Í:³±¤
ÊŽW~v<·¦7 ˆþ~l +)¼æÓ¹¼4—°hîÌØÎ6ÿƒ1DƶU»+¶àºæÅ×M½¶´3
庥ST”KhÃ6W2‹``HÏ^Ézcrô•S§,J„·ïðéÆ“ƒ6-‘þÔeß‘ +2ºô¢V«/Óãß³Ê)3èà”\¶ÔŒç X‰,cy9ŽS&…¼6q÷tþÔüPVendstream +endobj +524 0 obj << +/Type /Page +/Contents 525 0 R +/Resources 523 0 R +/MediaBox [0 0 612 792] +/Parent 511 0 R +/Annots [ 527 0 R ] +>> endobj +527 0 obj << +/Type /Annot +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [375.423 542.674 389.869 553.229] +/Subtype /Link +/A << /S /GoTo /D (subsection.3.1) >> +>> endobj +526 0 obj << +/D [524 0 R /XYZ 110.999 687.904 null] +>> endobj +523 0 obj << +/Font << /F78 368 0 R /F88 386 0 R >> +/ProcSet [ /PDF /Text ] +>> endobj +530 0 obj << +/Length 3350 +/Filter /FlateDecode +>> +stream +xÚ½Zëã¶ÿ~Å~‹¬QO*ý”¶wÅÍí-¨V¦×jlÉ‘ä8× ÿ{çEJ²t·{i,°"‡¯áp8ó›¡õ]úNëPEq—™\arW^…wOÐô—WZºÄE¨Â0‚òJãÖµnãD™¬À>|xõé“ÂܪHÓ»‡=õ}Ø}Ä›Ã0x8ØÍ6JÃà‹²ê6Úm¯6ß=üõÓ7¹¹+T‘Å<j«3•Ä}Ûl¶qZÃÁö–‹;ÛW]}êÚ¦gâU¯õñÈ¥v?XÜÙ½ídž–¿ÿöƒr\W›XEq*<±ÙfQðšþ?lb|E¼!ÂWôÿK¢<,wd*ö}"|3ŽÓΖÇã;,›àdËæ½|…‘Š¢èC|EÄ—~–/(i-µÝb¥ml´JÒ@Îðý‚øz"ˆ¼wÁT…n½OÔf›„” î¹ÄG•„E`û³…ìj–’-wR¨Ê^J(J»‰ÒàÇN<X¢Jkc펧À£FŠœ>Í&¤ª=Êf'ŒÔ͸ìán|Gi1ÃpÝè0@åÉup,›§Kùd{®^uuàbÙY.ô—Ç~(›A¶„$Ú +µ•'ؽÇZ<n¢0¸ +-%Ѩ H~Ú®¿g·aîq'X±xj?•§óQƲPÜtÐøŽk‡uƒ™{î@7ê==è´m¦>ZéY·¬¤yôUø%YªÀ©ü9“<8Û¼›L_ >ë +mî@FûN'ªHœÈhJÐ8ŒƒÄu,ñˆÂ$èm7à²q^~$_z¼ñ;®ˆR@3ÝÕŽ• +à«o/iC¬éZíg\ùÛÄ|€õ"‡•$*l UkÑ‹…m!Ž}„ã$Ê^$[fv·GÓ-ƒcÀ$Æ|äè,\ÛCdTœ½`æÿÞ‚*%Š’˜Ú̽/(¡Øƒ8—c7îXò‰Crç¹_Á¹ÒznÏÆ|MFü-•ÿ´ÜÈ )ŒŒ»1EÈ 0tQ¼vI€îér£„ö{<0fÃ"ùEì·³pYçòà?—~á=SꆿkG¨0¨‰ò~VŸH´z"ѳöZ¶…ýÞ”»²bãÁ{Nã^Øæ£I•Sâ +{4´]‰Ò¼’±CB)½ë®:º‘hƒh%!<ÕS·Oû7Ó#+”Á@ +²j2;¥ìß8ƒ*Œ3‡xÑh3«ëåxà/wÓ‹Ù€t宾 hÅ4:4øÊ¡Z‚¤x+àGJ_¾sݽX&Ëê<†…`àö,9ÓF餼dä‚Q8‘Ä +çW뫌Ɍ3i¿’ï+2@ÀæW… +3·»IËœØI%@núšî
T(n¯=iŸBg¦ …ƒÉÀUö:Má†c®‡ei +Èt8vñFœ—V\ú¼Ê¨‡Èã_/wåÒ2h?À œîäY\R£¡$€:ÆÂPáƒV\yí¡Xsé4° gÉç`)2yϵSÛy[^ÊxñRIp®m%l;n¶P)·G}EÞ¤ê6 ¨—·…D{.;N(Žˆ€@Ùq eFôFWn×@E[) +U%ìÁ•–פ7õÑŠ™÷Áõëck~]jè¨uà^™ÌÍ+S¡ò,óæ¾=ƒçîÊó¡ßÃÌ?Ëpâ ´ƒäò!+FŠÆ8I¶œDGJç‰ó+a2Ç/KD·Åóõg 8ÿYB
,E³ã¥8ûØövÜñŠïqÞ”5%T$¥ƒyû²êZ2/hºèÆQ ½ãÍÎ>Ęf¥âHE¡ù-^ +¾àÅ +Ñ+7ß §”ž† +-~îa_ÌHP +òï éÜIi-Ö³D¥þ-è´7¶’w½¦‚°‘1£íá£ëA^_A!²:\õrƒ²dÂØ?Õv¶bÍ”Ô<Ƈå=+¿=¨Ì#.žÊ=5ãŽGn„ø®½ÈâB…-ÞÊz?:Á½w–2€‚KÇç#‘@™ß)®.CáßxWÞ×yå·.Öó÷Üö}ýx”Ì:F§6Kû“ëI¶æPÊ«N'ƒ›:‹û(?uÈàvv5¨ªKÒ
¶‡cp?7ÈX˜ôÂà±ß˜çËFaA¹ôYÀ³›¼”´±<L;Íé"Kq" +endobj +529 0 obj << +/Type /Page +/Contents 530 0 R +/Resources 528 0 R +/MediaBox [0 0 612 792] +/Parent 511 0 R +>> endobj +531 0 obj << +/D [529 0 R /XYZ 110.999 687.904 null] +>> endobj +70 0 obj << +/D [529 0 R /XYZ 110.999 662.997 null] +>> endobj +74 0 obj << +/D [529 0 R /XYZ 110.999 309.558 null] +>> endobj +528 0 obj << +/Font << /F85 373 0 R /F78 368 0 R /F88 386 0 R /F8 534 0 R /F11 537 0 R /F101 484 0 R /F80 371 0 R /F87 383 0 R >> +/ProcSet [ /PDF /Text ] +>> endobj +540 0 obj << +/Length 3912 +/Filter /FlateDecode +>> +stream +xÚ½[Ýã¶Ï_±oõ¢kF$õ™>¥í¥H‘^ŠvQHò ÛôZ¨-¹’œÛM‘ÿ½óEZ²ä[ß]R9S$E‡óñ›¾‹à?}§u¤Š¢¸KóLQ|·>|Ý=ÁÐ_>Ó2%RÆÄЂ¡?>~öùWY~—«"Mï·4ãqóýÂÞ/“h¡è_}¿Ôü~uÿãã_iz¦tfqºIU‘XyçëûejßÀ¿zñ†Úÿ¼_Ú,^|IoiàÏa‘°§Í•I +YäÍt“D&•á·´Ô¿è_Þï÷K£ß†-Ìâoôï›Á¦BÍdë$UYËÚpZ“ÇI²(pâgoÇl^¨Þ‹æع´E¤¢È@#VyZùZÀFvÈ×CYÕ=üïZØxZÖnT=ÿª§4W~ãbñ,þ|¯“…óskþ횃ãÖ¾ìýŠ?Ñ̶«šZñóK«Øh¢æmãÃöX¿—™Ñy¦MT’z¶ïx\Gz0ëÇŸ»u¹wÓEp¤ð“ª)9¸F"Ã?άSó +~—÷‘ÝHÄ?‘ˆçÜÎt‰BÙô<›~ùtÊç.h%ú6.|2 /×¹ÿßHød.ȃ
@Ã,hO +Z¤Áò%4ï°::ÿL]bËŒÞAÍsõ†”/˜¥óAcUÄ1¼(«száqç:TöÜ‚
Y·MÇíæèjn±%ÉãÅz¯
OŽýÎM Ò Üyáíö"˜eãev‰Á¶TmS\Ýó–•lýnWwB[ÓÉ`³=@ÙóœH€3g…ŠÒxÄCùï{`-ÌŽu¼è\Ý9ÅíǹãexGÞª7=!ØëT.
¼h¹ï¿Ußa+YœŽÜC4cc߀µáæºiÚMUƒ
æ¹\ÀK×»?n›öâ] ¦?µÓ3\n®"›øðªæ€2"#1ãa”£©æe*·ùo`‡/©ðÃDz-œ°ßÆéd§\í«n‡sû÷®~êwÜF±ÂÁ’‡·‚Ý\ ŽêªàfÙÞ:œö}udòï–à÷‹b¬í$¼±á
€œj +–ƒg÷ŸS¹WÜwEïUi˜Þß:ÆúfrýšÖß + +Žoè Í•ã6iõóðJ‡jŒS™ë`Ýñ²Æ>Yp +"q6zÑL|7¸ÒOÐîpã +¨Rð>Ù{=n +~ökTï¡b¨Ëˆ9“lñåV…8®r8DùVy¤]+k½†p.õ+ú÷ï”Kå¬ëŸfòh M¸ßi\30¯‰ŠU604¤—.hü„RQîO3‘n?˜}œYpƒ‰í˜)¨-sl<¹³•„Q åÌM.-:ãÌŽôØV5ÜÄï0«ÒqâöØ@×/20žñ@m`ªO¸@“ +YAžA ™ù$ñzçU;AèÁ¿ÚÉ8õÉæý¾bÔæ(JFd¿mz7à +îBÄú,]èÅŸv°÷5³C¨Å7ËBæÒ) +®a»9öG“…(¢Q£“pÄ›˜ÂÇîÐ7Ìà€D¢š
Ï«{-N½bc•ezĺhÕF¹€4héìø™Pü®]‹‰~E;ôv)ëP‰Ã°³& +þÍrÕ5ûS/“q*n¿y.Çý嶽àÝáÒ©©p>ÊÆm£–§=à¦ðP›ÍöòRǦ-%¿Ã륎£«.ç\.ÈÉšn¼dÙ¶Ïí\I误ÑU?»N"÷Ì)»“UÅØ^éiem®_+nQ +Sàó[Sò9¾5yâÓÜÉÜVknS|ëG/]p©PñV3ï¦jª—üí¨È9
‚¥3" +Ž¤ïi†øR²v)çŒåÝNÞyxæÄž‡Áœ”ݦ:8
ÞZõÛÃN2ÀÂtpཬ؆|†˜9ÑïgóW6_— +ôRXÓå*Ft¬ýiãBÑI€F’ƒƒ¹ˆ%C5Ù ++ÅlìéÛ²îUßÓÖ…€×Â_<ÌmNýñ$ïÏmÀæ4 wÂT^Þøƒ@«ì.VÃœz¾x:Ƀ
Ë¥±€UÂ' +ãÞ/ýÔ!ÖÍá +ö'a*pÈÖëbÏ—œ.Ú+äK=; ÷Øt‚cñ‰‡EaÂ3™¡¥†Máy +J212åËA$O&8Ū¼?ÑQ¬â‹t`5åØ{S¤¿|ƒ˜Ò[ËÚ-“n#©©ôRóÆ‹ÐñÔ–ÇácÅf”ýX}XPƒ¦ùÊ+"“äìÙaLäBÖqû}7á„R@ÛÙ‡'¼ÀuƒUÊÆ®›¢ƒ"]€ém(v(0sUq":÷Ÿ“«×Ž§qÐ
/?<_ŠQЮ…s3† +?JFèš¡*†y耮qG +ЦÕÈи½±@pÝ=&ï«æ:Ô(8€ƒ3“é&î0âÁ²Ÿ©–ƒCLPµüv§>L^ÆÚ¿ÿûé™ +P&Ÿu¤ÔQB‰ÿ¹<²YNÄnò÷DøË&щ8Бþq:ý„O‚M¡UËx0=ƒå¯ºRÐ0<–Ýø•õÎÿ
V”nüÞxïë +m]|éö–v‹÷Ôº2Ø*¸±V€…¹ëP¾pϺ<ubä\Û6-¥b ¿ÉZ +endobj +539 0 obj << +/Type /Page +/Contents 540 0 R +/Resources 538 0 R +/MediaBox [0 0 612 792] +/Parent 511 0 R +>> endobj +541 0 obj << +/D [539 0 R /XYZ 110.999 687.904 null] +>> endobj +538 0 obj << +/Font << /F78 368 0 R /F88 386 0 R /F80 371 0 R /F101 484 0 R /F11 537 0 R /F8 534 0 R /F87 383 0 R >> +/ProcSet [ /PDF /Text ] +>> endobj +544 0 obj << +/Length 4039 +/Filter /FlateDecode +>> +stream +xÚÅZY“ã¶~÷¯˜·H•„ +ݘ×Ë»Ø,¾âÿýxËí/øÿ»~t¿˜IU%n´¢÷7¡‰Tקêüä‹ûžö0ÍT‚9‚¹Ý…I¤‚(Eê4Ά;Ì°h8Üáý®XÞ™,Y´ùá¸wí‚À Í”¦ƒA1¨ +#7rŸËuwjŠVuÅ/ý¶ú«‚,v›z©£ÅÏå¦ØÈe·p2KhL”)ù¾a†}Éÿß0#…µŸM×2Ö²n\¹ßŸÚ®É»¢•¥º]éZ§–w˜.êtäÕt—$zÂ[ìrfÁT…qê¾)ª¥
°·;–Ý]ã3ök
µˆø“¦®EÕaQhPYÉï׃ý‡‰¡ymªl˜ÞhEŠ…q¯¦K‡*åÉý'÷¼ªUÖÄ7wFk¸û×âùÜûOѯ;«(Ã$`|ž!´Éí¨%L¢ßn©»b"¬kFúw +ê…uÈ×MÝÊÊ›ZÖ«jG@Ž…·K-¶ÅÚuužÌm]¹®CÑ5÷:Íåþ`NºÁyuho¬Nu GŽ½Ž,a8‹í÷ +7Õ¡áªÛf¸€Û/é[·çj#[i7Ê<cçmá4ƒ#;R°u}8`(q2Õ‹¼!¤f±ÞåÕ™õÖtæ›ï"U¤®§úÔHϦ^ŸHUoå/ä‹G˜•t‰xе˗zO†]È«®–7Mq,òÎõí-0ÃÆ-ÛvÅ‘·Œ6! +·Xm[VòL’Ä”£^-„ß‹ h—ž¾ÀˆÛ2éÅTàœ_WH¯cF?q¦U¾Ä¸dç ’¹ïÅz¸
'ëÖ([GAsrïwE%â5V;¶Ä–cWÖÞQ%£Àhï„`ù±†éNFŸâc {Â(^´Å6ÅÎ8rÎ +rêä¹óæ>\lˆoï8¹ŸŠÕR‹U½ƒÅLe´m²[! µùe]Ý’§jƒ®E#OÇ
Tá,Ù +}ž.†O)»VÞ
€CvC÷5/K[_×u³)«¼s¬hŸ²®
ź$©^ÊndB +˜!ä4ëTí±3i× ºy,ÛÂÃÇ
øC ÌÉËFçÙ ›^&„a*0²µPqúÀ6KhâR§àö))°K– õ™Iú¶véÐ7¥µd§`IÖs¿5›”U âwÜþÖ½œ)lßLÓ¤nîå«5¼½j°|ŒeX >…Wa=Йlõ]Y™ÇêY‘~=Égøå é¾È™‰éÛËϦ`Y[«ÂÈü´œª8öã6MNd=2¢¥Î°i¢ +´[ŽÑõݦ„Çi£9Tá‹ÂA’ǪÅ_Ò^×P·‚¬£Ì+IwèÍO'ð¸ìÊ‚…‰r”orÛ¯´Þy³Q¤FÁ—5zh•[AÚ‰árzC\Õ”!š,Žué\d Ù-5Dë®n|sE‘*Ç}^Êev“XýMÝRR≜Uñz…ü"h\jA»ÞvE5$•¹¯ÇùÚ“*‰ÖêI~s·›†xYlå©$q‹µ'?Ö›ÚHCLq‘ÐÛŒ¹ª¬×€9Ãû¾Îðót8FЧWÍÌx +@CãÔžò=ԈꕔÿêS+ŒÕŒqX
¸€N0]ç†l/¾`Ȩ¤}ï;Áÿ5ÂvW1Z+]OUw9gÐBà¾gj»bìãÎ8æPxy/͇¢vå&àbÞ«TNÍœW^£ýûz{‰*]È€+ÖÙؼ¦x*pˆpJc›œzw5&¬„„;Ã嘂%šR– –h·ò¸"ŸËE4äT«RôÐO³®÷ìR3i¯Ô”@‘:ÞËÌ燞?¶P×t\ý "šFêûL§&ODRa_C=å)WÖàÆ|ÄЩ†±¦/ÍœÏ×}aÈx˜þ¼;_Í7ÏF ÉÐ;ŒGòsN+XŠÆ{L.ö=Cd¬›Œ÷xÝå±<(,ÌЪ,ov¼•(ô¯Q‰œºq°*ºÇ‚ü>=¤eVÅé8?wQISRC?J8eå‚™öA‰Ðõ®„4±G"è=6õ±nÈÅ´Ò!OŸo ’nÍâbH!aHŸ×\íOnš²ºXÍÛš\åŒc%‡zSìIÆJž_
‡LÝÛÐzÀm¤‰ßœ~BÓ¨g_¾'¬1SÊö²;ä¡ùL>%ëͨž1Ðe{hö¶~Ê÷ŸfÁö D po +J»«bã¶NôÞ³Ëf¤:OC]Ž‰ÔÜž)DJÏïóNg12àq…ýðôþŠO0@Ô½Õ_Á‘r +ÏÃÈ—º”_g"’è…ÃgÎüTl£g]J¢¢Äô.¥¯1•.ŠöUøk>5øæ…U°ÙCDRY(Fëës™l€=HœÞ§w.‚N•
Œè•r˜†V‹GÄ?›b ¦èsÀ$å0Ôœw5Wýƒ€ÓuŽQ|PsŽøgQGÏ +³J\W‡“DÊe¿¾Ì;ÔŽç®4›ðŒçJ³þ¦Ê´pŠÈlû“‹ï[ÿÖéÒµj¤²¾äz+®äë
VAêýzP¦úâÚ1…΀âqpÕym’ +½2ß糂êóØ·“‰¥í¸"ýÙe"õíàÚÎ×üò*ÕQ€4AËÉ—èA)¤3 Ž¸Ãaªÿs%dSlÿ=½P€9Ó {áÂjÓ)ÏfÏßIð¼þí +’oÓ}µùÿQ»K3ˆîŽ R9÷r6fÉïÈOûtXÕ{ºøAOÌ´ +îš3°r» +^þó’jçŸóÂJž¯¿Í`gH¤ùîÙ +endobj +543 0 obj << +/Type /Page +/Contents 544 0 R +/Resources 542 0 R +/MediaBox [0 0 612 792] +/Parent 547 0 R +/Annots [ 546 0 R ] +>> endobj +546 0 obj << +/Type /Annot +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [315.255 186.993 329.701 197.936] +/Subtype /Link +/A << /S /GoTo /D (subsection.3.7) >> +>> endobj +545 0 obj << +/D [543 0 R /XYZ 110.999 687.904 null] +>> endobj +78 0 obj << +/D [543 0 R /XYZ 110.999 523.257 null] +>> endobj +82 0 obj << +/D [543 0 R /XYZ 110.999 508.069 null] +>> endobj +86 0 obj << +/D [543 0 R /XYZ 110.999 273.169 null] +>> endobj +542 0 obj << +/Font << /F78 368 0 R /F88 386 0 R /F80 371 0 R /F101 484 0 R /F87 383 0 R /F85 373 0 R /F11 537 0 R >> +/ProcSet [ /PDF /Text ] +>> endobj +550 0 obj << +/Length 3253 +/Filter /FlateDecode +>> +stream +xÚå[Yã6~Ÿ_ÑoëÆ\‘I)oÙd&ÈbIX °²,·…‘%G’Óéùï©*’:,ÚÝ=Û9€Å +BP~Bž:ÒÜÈë%|sä57¶uãÈ+Ú¬ót#ó¨1«mCsê+8vÿ"¶=S¨m›¡Ðj®ŽpµYT$'h¿ýÐW¶y…dbkÙõ,º0Îí¶@½¨I- ËÎhËlSK– +“€ð½V;-qO«?¬M,ÁϺïÁpඎ%R +õŒDàÄ6àiÀ0ûí}Ú¡Ûí>,™GLÇÉ™ ¦†›Å±Õgä2Œ„cèëkxûB×&ä!¤bJ?s‘¯!nmÿGBîÀG×÷¡íKÌ3)é³€ó“"¾¼Äˆ)>ß¾nªr{‰ÅJ±$½¼ f‰ô§Ö¹Èæ™Ë¼°’ž®t‰×/¥è2¿µf‘/X*ÌôXADüLŠ>k›®È
òºØ/ŽÞf¤gß¿«S÷„ð™‹Ífò¶&ÀZ”4%@G9YuûæTmmóÆuwEµ[hP~:V`²:ë›öñâ@fG|SoÇ°üCfËÍxä…y(úìØtÄHgL21„øÑÑÀ$d`¨uˆ°mµ¤z)dYê¥ñÛrdaÈ×R§,‚Œiʻ׋õfŠé®?÷ÛbwN?;U=rÁLV»c²ìѳZÉÔpò2·hˆ…‚Ã@u¾h@n’â}·à¦AÑXÇ°!Ä4±zÚH6˜û¼ì¢óÛ§T~»ò',$+ÔEÌǨґ‚ÞŠÚØ—¡s f¢¹8/XQÁÔàÁ(CÒ9G(t=ЬÝÚZ^59¾ucŠzy‘ë;6Õã½uäP»óà±³¥ÿ†d + H)gµý>äÝc&SsF^€ƒ4zÈÇ-"áxä@!*5ŽÚ‡¶ì{Ê¡‚™mÛõnÊ©/+ÐìQÅÀIg6ÎY}‘\€¾ñÉF.ñx-U©óœ7#å fU[dÛG—Èf°Ï'»‚L&NWÿZ†•œ£Q4"®ˆÇ$3 +Œäü;‡ˆÅB?(C ÅyÎa)cf +[˜øGÛ€»Û°„‚ìáÄó†-`ŽY_nÀ„ôp´#1Ç9õZ—;Ë3wŒ7‹Ê÷J’n¦ßŸ¡Wð1`'šœÎO¬dõƒšª‹ß3Œ«wmÈZ-IÂ!us>h¡¬nLsÿOwÙ‹È#ÅQâ¬bÚÞÎõ÷ÄÈÆVœ%Eh«ÝiÓ?œ +ºç@sÆÊ<ׇ*Í\Eg?âΔ¼Ší€@EëÀZÆxƪI({a¥„¡–ÈŠTA(ÆWîl‹‚™é™–zà +ö ½µª¹RbϦph¾ê¡Õt[ty[nH i:¡jzR«j&y²#À¯áät†["¡zçÅ ÷½¸N@«‚¿pΑ§8 +ù0âó‘΢޿?Ô©ž¦ñUAo1½>Œ$ÕÂC¢àº€äfXß_ZrütþÑDþa÷¢qíC–dy]Wcú¯ãiúoœŸ‡RQoÝ]Tå*브NXd’W¼zþýÕÿÁÎógv¹Â¢áºó½Âº|·âÅRÏ$WÕˤã®* Tsœ2(1ðjÉŸcÖfï
X¬ùCŽ¿Þ¯p‘ ¾ÝÉ™-Ù¬ +œØlJ»|Ksûøï¡èÞ^ÒÅ¡Yôˆ«ŠKý¾mN÷{;¿÷‹vÇ"/1Å wÃÅ¡£¢¬ý\÷ˆ +qê1œ¾Ì}ÜJñ3å:?ƒ·S„¹>úÚaZ(å ’-Äý¡˜ +@õûÇT/4ÿÚ1UH…”b)d—T(õï0R4Úyoï5©}._è·ýÃqõábÿ~dŒx§Šô5}|4}½ayÜ9±l +0ô¶µ(ñÑ«c>·¥«Ö†¿ÇcÓ•½YÃþÄüž!oÚºh»á!ÜüLOU`ræñS5êÌcè¤èàø™/{û ƒîºR³jò<Cø˜^¼RϾ¨Ž»Se» ¾€ÆµÃ6m+á½Øž7u
¤YM4)¸#UioGÜ tßt®vl›í)/Ü[”Mè©-ÇpÝ<×ÉëÄ+ƒ¿>{ +Á™‰âEîˆ\
â$f|ñ7‡Ö$¾˜Yª#^‚q¯)]Q‡® + ÂPÌ+³ëmËÖ¢,Ò¿†N»ƒ#!'æsè盢!õ ñK9!“‘ +G”¾µu21Òã±HMëÞ`@/™JùÁ¤ÇâÜx,ß8“Älå=²3$)#'/…®H(¡2/_pUÇ+,²G[ظðÃù÷(#õö7«Áí분Á[:Ù4²>Ûˆ?§“`Îs™8üOÜ1í‡;LŽÊú’ƒñyø!0zGtþÌõ[ +÷æµoÚòç¦îÝy†w7l?×Ú{û˜7€hB¥ä|ÿãÀÿ‡ƒ@÷Ë&`$endstream +endobj +549 0 obj << +/Type /Page +/Contents 550 0 R +/Resources 548 0 R +/MediaBox [0 0 612 792] +/Parent 547 0 R +/Annots [ 552 0 R 553 0 R ] +>> endobj +552 0 obj << +/Type /Annot +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [457.861 367.491 479.779 378.046] +/Subtype /Link +/A << /S /GoTo /D (subsubsection.3.5.1) >> +>> endobj +553 0 obj << +/Type /Annot +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [476.762 355.147 498.68 366.091] +/Subtype /Link +/A << /S /GoTo /D (subsubsection.3.5.1) >> +>> endobj +551 0 obj << +/D [549 0 R /XYZ 110.999 687.904 null] +>> endobj +548 0 obj << +/Font << /F78 368 0 R /F88 386 0 R /F80 371 0 R /F101 484 0 R /F11 537 0 R /F87 383 0 R >> +/ProcSet [ /PDF /Text ] +>> endobj +556 0 obj << +/Length 3568 +/Filter /FlateDecode +>> +stream +xÚ½ZÝã¶Ï_±6°fERÔG‹>\ۻõMS$ ɃÖæÚÂÉ’#ÉÙ5‚üï’–,mn·w9°(~‡ÃáÌo†’7ü䔑Èóü&ÉR‘GñÍæðEt³ƒ¦·_H×%JÅP‚¦¿¿øÓ›4»ÉDž$7ë{ê±Þþ°ÐË•‰‚þÕr%#x¾Yþ´þ'uO…L5vW‰ÈvcÞ-W‰Z¼¥ÿoá_.¾¦òkúÿ&Œ“©L“ºÑÛo´2BGÊÕI…•_¼^Þu–‹hDs[é<Œ^éXdIV˜e79Lª‡+üQ긵»cSwMý+s—E—Ž 2•®÷žÛe$/4Ìa\{}:L)H“I\Òµgó~›á +BT*ɇ@!˜^¤Ó»¥ä˜ƒ#
X9ž—å•q”r£òÌøËï–“ùq°ºÌ.玒L“í/ïGˆZò§zÆMͯ9S"‰ó.ٌ֗œŽ–Íž_òµòÂ2¾ª.l$€"#¶+ +Àl<2+Û¶@1<ŒlJ×î +ªôQæ6‡€eÖÚǪ̀÷Èâ¦h]•Ç†X{gYTš‹H_!’â=‚?\YꆟW}e¿YXÚ–pª +\¸T‘ØÁG]ëmÑ7cjq
£¨(D|Ç°f0¾Bõõ
t8dQˆ><›¦i·e
võÐcQ¶øÂŽ«.¸"W(Ã3WÀnÝºä˜ ‡×ôÄ-ëúÁYKا0õáP¬:{+½hG + Š…àŽ.»ƒ¬¸'ÄÚ]yW‘*@V¨çèG7W{–¸¸àÊøÞ7UÕ E|à°=2*NqþsðÙˆm…ƒÝÍýÔKJÌãÆjÊÚv3Y60s&y.§ó4ä…Nô3S’óÁŸD¸$ï28ƒ"hA©g º4©Hód„$Âr±€›v_Vvfé™*Ÿ™`dÕ˜µ©ÑÏLÏnpRI2^ÄžiÈ™Š8~nÔúRžÇ€;O²AfMK—ãÑÎƉ`T9Ü$¥3½Êw’á0ar_”µ³ÓƒNîLaqí©·ŒÕJÊÑtM{`?á§A^˜+åç!óž*©tdC5Åž{(l-ð3T¿É8„Ò©+v®3i Ž9ÜÆŠ{Î7`±¬ùÙî:»¡LÛÕí†Ò\²APͼÀà¶vwÃ…¯ß†K›É•†‰Ð×4%t£´ÂàÂäI +‚9\‡¥l¿o¶¼$_çp¢°²rx“VÚºvçï^X’Ù0òbœKÎãuüZðãâò¼¿ƒJvÔX"wOT7Îçh;C
쾤rœ“<ôèH¨,YH»è˜8µ\°¸þÇ=ºdé€
Vçqµ#3vP´rJff~éP*¶¡Ž‰S}î2œ™Ï–f‹c¹éiétaç€#„½*Ä€0â5ç+yÎã悺$kF^zêÀ\Ë–¢®j`Ìc?›þIÆ Ï+Zø˜l@ªx,;Ð [u3fNkÀ¥RMÒ^OŸ•Šà€ÈÁK¡)~ééI…ü¨Óƒ9G$«s¤É³b’8Ä$× +ÅÀB”]ÝÕZºNÈSäA¡u ³ÛPÁñ +{¨ Fs<Rrv»U› ¯$_:GÛº(ç>¸Ð?ÎÿCئÒè’
œ +>ÆãêÏàãŒ+€}öÍ+¦\ÂØÛjÀó> 8Ï +gsU<†5¥‘qêƒ!(ŒBsxïÎû¿¬/½LýSÁf§#eg\“ÊD”'Ã{ä”îXØé6ƒƒÏ”Ò[“‰
ÒÎC§tΚ\9F¨—ˆ +p²q¸M|Ø—›=ÓÄ»„Õx€ï‡¡ÐÜQÖµlN”3Èf£•:ÿ‘=[Eö*bD\ÛóU ú˜ÿíÕB\Tx(·ý~ÄâÖ\dWµ{ëR±vQ +Žp`Ž†fQÍ}4‰,N?¹ßc«pw–’AÀ\;’^JhÔ·[ÖÖ½-¶®[ÍO[löNÚ`L®Gaê+]ÉúïIb±Ø=™ÒSÕs>xö¾Çð2ê ðÛ)áz#c„Ê°»J(ˆqº×Ô + šJç×™Ú©l#‘f0#yž~jHCPx{•=¹wEïFº‰Dû±€~oŽlô!çJÒ'Tc@úm]•!“¤Öç/é¡Ž+\t¥Áµ6†þµu=?ôÔ:¬ƒËÓ”|î\÷mÃO¾m‚Bk»#’†s4~.ë§Â1¦ˆ¹ÂÝ><…—hŸóhát´›‰H!†7Ç!©ùc´4¤D–_}Ø;!é܈$Zxö"ÞÌG Á’ ζ¿Bíp ìŽ{‡xS•[®AàJÿQ¿Q.G\5h:Õ•ífô]ΦÁÞ~И¯´Â»Ó±ŽÏ# +endobj +555 0 obj << +/Type /Page +/Contents 556 0 R +/Resources 554 0 R +/MediaBox [0 0 612 792] +/Parent 547 0 R +/Annots [ 558 0 R 559 0 R 560 0 R 561 0 R 562 0 R 563 0 R ] +>> endobj +558 0 obj << +/Type /Annot +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [341.598 372.896 363.516 383.839] +/Subtype /Link +/A << /S /GoTo /D (subsubsection.3.6.3) >> +>> endobj +559 0 obj << +/Type /Annot +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [157.872 337.419 179.79 347.974] +/Subtype /Link +/A << /S /GoTo /D (subsubsection.3.7.1) >> +>> endobj +560 0 obj << +/Type /Annot +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [343.788 201.165 358.234 211.72] +/Subtype /Link +/A << /S /GoTo /D (subsection.3.4) >> +>> endobj +561 0 obj << +/Type /Annot +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [156.189 164.911 170.635 175.854] +/Subtype /Link +/A << /S /GoTo /D (subsection.3.4) >> +>> endobj +562 0 obj << +/Type /Annot +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [188.817 164.911 203.263 175.854] +/Subtype /Link +/A << /S /GoTo /D (subsection.3.5) >> +>> endobj +563 0 obj << +/Type /Annot +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [436.486 152.956 455.913 163.924] +/Subtype /Link +/A << /S /GoTo /D (subsection.3.11) >> +>> endobj +557 0 obj << +/D [555 0 R /XYZ 110.999 687.904 null] +>> endobj +90 0 obj << +/D [555 0 R /XYZ 110.999 494.714 null] +>> endobj +94 0 obj << +/D [555 0 R /XYZ 110.999 333.035 null] +>> endobj +554 0 obj << +/Font << /F78 368 0 R /F88 386 0 R /F80 371 0 R /F101 484 0 R /F8 534 0 R /F11 537 0 R >> +/ProcSet [ /PDF /Text ] +>> endobj +566 0 obj << +/Length 3527 +/Filter /FlateDecode +>> +stream +xÚí[_㶿O±o•5+’úÛ>]‹\iŠdû”äA¶i[8Yr%¹»›C¿{g8$%YôÚ»×AqXÀ¢HjH‡3¿™áò»þøç!Ëóü.ÉR–‡ÑÝúð.¼ÛAÓ×ï¸é2!"(AÓ_ÞýñCšÝe,O’»‡îñ°ù1‹eLÿŠÅ’‡ðü°øùáoº{Êx*±»HXKóÍ7‹e"‚¯õï?á—ßëòWú÷÷µLd,ŽSó5Ãö;)b&Caê¸ÄÊw_=¸¹Ë,g)Ð}[Ê<d!|½”‚I‘»fÙ]ƒÊñ +â2*žÊîGšW]dÈ¢,6ýöÔÎC>êÀ2Xi¯T='ÁE±%QšölJÁ6ÿüÉó}Èx"nœBS«%.ųÉR·?W¦ñ½°Õ)y +{;^mšâIù¸…,‰Ò+S¯s+ù¸…œZVe×{ØÅYúniqvÍÀ:8Ză±ßÃ^uj±”qÛfsZ›—¢^ð8xÆ—8h¶T™ÐcSn"¶ªUuoº?awÕ1zª†fѵàA¯Úùzàœ³Td¿ŠWž²ˆsÓ¼†•é©”‡ƒ!œK˧9¡Œ%ŠRÓο™Ì¢Ètxž³0³¹§iôÍ”ûZÈ%mœæFÈrÐqEuhºJ>Šâ ×|†‚úשÄ=ù7þíK¤wn>É0c‘LGzæi`ëx¶ÀÖ\ØÕõÆC*e™ãRz¾@i¬±þl¦ÖÒ³4S¥‚ocb8ôÒîpu±óÏa!¹i^}Ö×íõM¥µùx•$–ë½O¶bnGÑBt†# /–?šÅ4LmÄ%D£Ê':‘DCˆ`Õ´…¼’2Ô¹Æc¹îO¢V”° +붿§šUÓ÷Íážú¶ånßS±1ôúæhUwTëÞ!ê‚êå”Í!’”É(I
énØdƘê<C4(iNfmƒæ·–C ãbj5ŠªZ,E’ë/ñ©¹"Ò0èÊ'ª©TŠ«£dÏcÙïéMA ÙŠåîX¬q^ømcêê¦ß—õŽ^Êšž+Õ?*UÓÆ +<Uú3³ÓÝx&Ø~„†c[½pŠ×NôÕSq8VêOs–£
Ì¢Ç?U«¶÷XŠ$aa,ðYŠ˜“J +CñDo‡bÝ6-?Sa¥è h¢*Õ†^|êŸg¸Ò³Óçµ+ÜÙ#„DÍ©'¢ +ŒyKEÇ|é¢PœÇKàp’âx-s£kX鼦Íò(¢4£hN˘"³˜%| +V ÀjjªÑ¢:7”’åa~̤,sþ£7pOÏÃU^,³ØE«ï3ëF¨¢ŒÔ§Ù?8«ÓØ]ÝàÉLËš9¯ÒžC(ž#=ɨÁºâºß—öÆž¨øšö#µcdIµ` +à„ÝS +‰Y‡5Û¦2‘‚YÐv01ÔÂÙ¨¾‡ÆŽZ÷šR¡ÓÑWfÎpžÔ$zEV`¥@ÈÕ™s> +çà›mwvÀsÜjÂ"ð«çºÈ“›™Da®¥‡üéŽöÆ´Ì[³C–@}:|^~ʦÑÀIó|–FƒÍØÕyf›q°@Ñ)›Ë³½Â¯ä÷ï/3°2#@V0=æ“™ªzYlò„Å2ýÍÄÆ›ý™ägæ€ç|pnå+rµ~}àòžt$°bÐÆ•AHŒˆl + v9ˆyˆ ü +¦ƒË„5°Ê ×1™Ât2NÔ_u.8¢;VÚ”ÂRArr…€ÏGU//ûüåúT:j`p–eϨb +§PnªoŽÞ%ñ|4Ö½ÛI_V—§çnê2´ò^‰ˆ"î‰å‚€4LUÖîØ–3™túÇc>$]šñÍ‚ÐTÀ‡^»ÁRâ!«Ë¾£"åÒ°d.£8Í%spÑo¨¬êâ<£ôì[%“b´k/OÖ݆¡Ù2*~·¥çº9µÐˆ(d™óë9"OaQ}©ÝÚ<¡ÓµVNcñ™ô|æyãNB:Ú³Nv’¦9¹‰Ò] 3iZ1¶?Øö©zÊmÈ-O¬J…*sKHùä3={ØdoÐI¤1‹\:ö† ë=ØK™äLFÓ˜ã…àÓ,¡ñHg#ð +Y(=Rxg’0
Þ°fÙõ˜,;ŒÆpFÆÜ›o½À³ôóóÍ`Ä2ñÚ{o$¤×Í —sçíêqè`ï$ä(âÓóó¢Ó 5ÁˆrŠÚ†‘
”YëÀ·P¾3›¬ž)¾5Â6ä’Mpœ+ù4æØ&y–!€|Ø)øìã›o.ÛMð_\Œ;ñk]\y+Õúo.GBG›^¡h¼ä,ÚÐa×kصú,vÅWÙÿ?°+ôÝv½Fºª/ìz
»Ú/ìz
»L(ç£/ Ç +endobj +565 0 obj << +/Type /Page +/Contents 566 0 R +/Resources 564 0 R +/MediaBox [0 0 612 792] +/Parent 547 0 R +/Annots [ 568 0 R 569 0 R 570 0 R ] +>> endobj +568 0 obj << +/Type /Annot +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [128.294 517.553 150.212 528.497] +/Subtype /Link +/A << /S /GoTo /D (subsubsection.3.5.3) >> +>> endobj +569 0 obj << +/Type /Annot +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [470.376 517.553 484.821 528.497] +/Subtype /Link +/A << /S /GoTo /D (subsection.3.4) >> +>> endobj +570 0 obj << +/Type /Annot +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [110.002 505.598 124.448 516.542] +/Subtype /Link +/A << /S /GoTo /D (subsection.3.5) >> +>> endobj +567 0 obj << +/D [565 0 R /XYZ 110.999 687.904 null] +>> endobj +564 0 obj << +/Font << /F78 368 0 R /F88 386 0 R /F80 371 0 R /F101 484 0 R >> +/ProcSet [ /PDF /Text ] +>> endobj +573 0 obj << +/Length 3194 +/Filter /FlateDecode +>> +stream +xÚÍ]ã¶ñ}…ßjk–¢$¦O
p .@4q€Id›^‘%G’s» î¿w†Cʲ$¯ÛôP,°¦†äh†œï‘˜qø3!83ÆÌâ4a†G³ÍáÏž`êëá—p&e#˜úrõð÷¯’t–2dzÕÎXmš«ÅRó9sÿåb)8ü~µøeõ[ž0‘(\.cf´ò{Þ/–±œíþÿÿÅü{7~çþÿÐíî^&S¦uâw3œŸ)©™âÒÃD„À‡w«Žv•– +G÷èØŽq +
ä«Î£ù©±[F 's÷I0`ÆðÖÇ×&DÄt§UÏÜ°H‡[[ƬÜN`’ÜoÊ—ID2p°ÌžƒÀ:„µ'{cËÖÖv;I9Ülš2¡ýÅSmQ4Úž€H€}Éžóæ4$q‡?"ꋹuUomövÚÖ)«áÚ,·u†SÂîj€%áÙZF_VNñh¾ ï±ûl!ùü÷¼ª=-›¬sŽM~!’›}V>á‰HÍcÛXD¥,/*dû@£dž`°©¸§†žÙKØC€ÚmÖ´™_VíZ[Ò +i"YC>ι¥ rè°2ó{Ai €â2ïÀa•>¦tbY[6VÜ’B* :cÐØöãŒ]O"˜P÷ú0D4ácÆéôEúÕCðq‚Á™èÒ³[«)`…J_§ ¸Ï^€diä¥÷§E¹ÊµóJÁ +}o¦>M.¼º3x·È}ë§I€¸V˜ÏDB=MB¡ÞH‚¸AB@оý"¼p©‰¸ˆo‚–Åë¢cb¦Ur'ÅŸ,èz èpÕ‚ÇS‚þ|PHPRó™2Ià\Í™/ÿ?d"¨X2í +&š)‘„<&aÒyƒñwKcç9pàìƒê .rŽ¯7Ÿøš!‚|9‡5b*²Ë2ŒÛV
¶£f[æÛBœ2: +¤Q½ôÛ¯Ô/âû.¥:µW@X'÷!骵Ó%ðô:–¥J°L—¹JUv×Þ¬ËL¤u8›ª¬]€;ÍWü:’´CÒVSi „I¸æIy…ܨ;»ª\Wm[nô°ÌŽ-ÄAc7•»a¼ÁXœÊ„î¹=ŒðqWja‰:?ÐlûI¿)„ÔÙ0¸AëËÐä>džʢñ’šI5çÒy:k¨˜‡#_;×zÎhÉ*lk÷y½%X(x:8E+¼.(½>ˆÙÞÛhÚüA"âêòihàÁ ÿ‚#yN‡Í¬ÂʘÜ.ÒDz蕬SI‰‚³õ†èìò©n¼›©±1©zÈ‹Œçy*vLcÈ“õgÄ.…4·k^+y@¨]Š>™{¹Ê\ü¿Ž‹^anè8 ]÷‘Š—E¬}ïyiR·¥Ïë·Ô›Ô^Fa +¶ëÕ›èÓx5ª€l^‡W•I-+¢Ô+‚|¿È\iY¬ +_)ÄëU¹‘«Ž/G1!äËáð6+§s{ÔM«°†Ì’¸öÁ +8óÛÃO¿ðÙV|óÀ™‚ø +endobj +572 0 obj << +/Type /Page +/Contents 573 0 R +/Resources 571 0 R +/MediaBox [0 0 612 792] +/Parent 547 0 R +/Annots [ 575 0 R 576 0 R ] +>> endobj +575 0 obj << +/Type /Annot +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [343.185 602.061 357.63 613.005] +/Subtype /Link +/A << /S /GoTo /D (subsection.4.6) >> +>> endobj +576 0 obj << +/Type /Annot +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [254.306 476.532 260.483 489.325] +/Subtype /Link +/A << /S /GoTo /D (Hfootnote.6) >> +>> endobj +574 0 obj << +/D [572 0 R /XYZ 110.999 687.904 null] +>> endobj +577 0 obj << +/D [572 0 R /XYZ 125.345 234.08 null] +>> endobj +571 0 obj << +/Font << /F78 368 0 R /F80 371 0 R /F101 484 0 R /F88 386 0 R >> +/ProcSet [ /PDF /Text ] +>> endobj +580 0 obj << +/Length 3202 +/Filter /FlateDecode +>> +stream +xÚíÛŽã¶õ}¿bÞ*k–W]Ú§4Ù
¶H›¢™>%yÐÊòX¨-’¼“IÐï9<¤,YôŒgdzEÑbõE‘ç~#GÜpø'n„à,˲›8MXÆõM±{ÃoîàÕ·o„›Â™” xõ§Û7¿Ÿ¤7)ËâøævmgÜ®~ŒÔbixÄìÿr±~ß/~¾ý³ž0‘(œ.c–å¾ù°XÆ2úÖþÿø_D·ð;ûÿÃ×Ãf2eÆ$îk†ïo”4LqéÆ„ÁÁ7ïnÜUš±Öà!–*ãŒÃ×K%™’Ù@ašÞd°©Sø“Pú®V?^)?NQœéÔ¸yz/¸M`)P@ï÷}WýZΑ’Å™v“*÷>®á÷øù·ù÷ GË‘ø¥+÷%–pu +oçŸÆSq!/Fà_VþK!Æ%ÈRP-3Õ¾©ê¾,OžBÕ\"0óÊ3OL¿ªÀÌÓÓϘI˜áÉL`ۼ﫢HK–ÈôÿÒúHKK&c=“Öík[Õe÷ÛÍëó=A<E5™æf†é§«aúË«`O\Ö9Daiö?§}YT#£ È‹d¨!;8Zx:r«6_Ýw‹¥R:ÊñGE«¦wÏ=
”i¢O8³lè•
ôvÝ´4v¿©Š
õ›’Æ~‚Ä¡íÜzEÓ´«ª^XÙ½¯üÖ5}«–¸Ñ]éݶ}µß–ôºYÓ(®?cÝR+'r¢Û×ÓÖ1c¦”׳¼^-–R§D3]Y44˜y’“"*iIÆiH2þNHÆ#É8½/×OÍXy}]KÎè#Ün7 U廲'¬3+š ¬Y;÷I‰„FíBòhIª+
¤ºñTd;0nË=}|¤‘ªê׈sRn<åÈX/rXž™iŒôø@ÈÌÇ}À%Kb5Õ"ã˜e¢MÞ®hù¢Yy~T5ýêo«†,Áå²”Ò§ý•·%¢¯låðÞ|oÿÿ«¹ã¥ÁC$žø]^´MçwÍ{‚[c_íÀŒ·$IÅÅÄU¯°T!œ' +÷ +Š5y[KªqT{]† ›f²p\ló‡ãú2ÆžÔª™çÝÐÃ}Þ›órâ +sèžVe—^û<O;bgÐÈ$ã™yuu¸ó祂Zܨç¶_„ÑR@®µ*G(
®‰\âÊç1J¡ÔÆ +”`È6ðšÁ&ßïKw#3üýè® ¸K³{ s4ëCøzÑï$8®_(Š%·Cèœv§ +Sýªª5æ9eæjpÖµ?õl&›jUN'—”>,b¹¤ñÖg–öà +Xwdз7Ò¬}Îè®` +-F*!‰°é„‡UtXfïÜèôõY1d)4÷Ž 3ŽG&éc»#J©8ÂCúÈVtðàdnÆr6CÇà] +Û‚©ÝÌ‘œísH¦ï°'ñ«tÞO$;pTþPjKurP27?#n¨ÌDvMï´î9i«³aF÷¼®S9M +g×l›÷XÔÜõØи½¨ÝahÀ¤3á8
ôê$?^~¡3T¤{{ +OpŠ¯·”U,žqÂ>åñRÈ”i{$w<[úfÜ®²÷ƒ%Wq•ÑØT0Cغ£cÁ7î‡ +ì‹I?ôýH>8
]W.ß¹Îe‡äÛ8KÞJxé§tH "MÏ«jmí5L°íCx3Ê`‚mUÂ/Þ•A&¯FÔjG-¼{ë¦5!o›ùeu÷ñ\£aºðÒ(ìM`î¢87Ñ]5iÄã+šbÜåFÛÎÀQŠœ‡#m¸£ ïð¶-Æ,ÛÙ€7÷Ç7yŸT¹wƒrÙk?ø¢öË•4€mç¼oZۓ🶈¸°Ó?0ã7Kcb<—ü™ÿû²É_Ÿýê#·ÿendstream +endobj +579 0 obj << +/Type /Page +/Contents 580 0 R +/Resources 578 0 R +/MediaBox [0 0 612 792] +/Parent 547 0 R +>> endobj +581 0 obj << +/D [579 0 R /XYZ 110.999 687.904 null] +>> endobj +98 0 obj << +/D [579 0 R /XYZ 110.999 219.058 null] +>> endobj +578 0 obj << +/Font << /F78 368 0 R /F88 386 0 R /F80 371 0 R /F101 484 0 R /F87 383 0 R /F8 534 0 R /F11 537 0 R >> +/ProcSet [ /PDF /Text ] +>> endobj +584 0 obj << +/Length 3038 +/Filter /FlateDecode +>> +stream +xÚÕ]“Û¶ñÝ¿âÞ"ÍœP| Ù·Æ=îL›Œ«ôÅÎL(Šwâ„"’òùÚéï. +®¤ÎàæÝþœ‘9p/ªB"&ŽZ°f[Þ,õXŒ†Ö~(rU
Ah +ƒi3¡Ñ6vt‚`Ûœ®Þ÷«ÑUb&97eW6Åó1oøí˜7:fë]·TÉ¢,=ïŒòñNãºx¼˜ÚØ2ÈhâÒ }WÚ¦ÙÛjÞØ·ËíI[«w›ÖêÊ.1Ú·£Ÿ~èòêvçg5ðAà«ÿr%ÜÿV|Hœ6Zõwey(_P×Q6¥¼v”O<åµ£|²îP·iŸÌlp‹I]t´yå–†7÷'óóæ¶. Fº
@]A€M9 +îç–¦ yChÞUQ·Å/w•Û¥D¼>åa >Êð|W4‰çÑ)Ó^œ™Së.rïÍfw»²+-Nî@‹›=P-¶U7Š6P!W}þœ·%ØÙ=(â--E]¡21âþ5â‘J“1k‘Œ~º¦ Ä«‘‹7À‘ˆ£¹ÊþŒ›‹³›Ï¯#ð:gÑŒ +ußÈyÓ °æì,Ы©zÒÄú%MεC½[ÔÃèà’ŽWÓzžö$ß—>«1;<ØX•
ºŒ¸fÜ[(ð^ð©}¨¶&i&•‰ÅÀ 6ÑE~O0Ào×`wL®Ì:ß<>Lèmªæ¦ŠôtÆâÒ}¶d Áñp×™;bÔµGçëWƒgS +q¼pá‹’Àÿ8Ö9ÎBµ<ßÖ¶®÷r’ÀÍs1S¥{x?šòÝÛ¥Èÿ +ÖóƧë£hZÏ›+ÕÄé †^\™ sñ݇±V1;ú‘O{ +"eIú‰L¯þ«ýˆŒý¬F¯Éçr¾¼ÚtbÜ…˜#é½HP*|ü9‡9¤2ÁNI•Z,Îlp"ŒV€Ÿ~߶Æî&àÓçÔB^Ôï”vî¡,ª÷œK£¶àƒ +L±Þ(e6® +Ô&·oAêˆ77vfåGÊWÆd ®+ª²Iœ9E +endobj +583 0 obj << +/Type /Page +/Contents 584 0 R +/Resources 582 0 R +/MediaBox [0 0 612 792] +/Parent 587 0 R +/Annots [ 586 0 R ] +>> endobj +586 0 obj << +/Type /Annot +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [418.739 464.542 440.657 475.486] +/Subtype /Link +/A << /S /GoTo /D (subsubsection.3.2.7) >> +>> endobj +585 0 obj << +/D [583 0 R /XYZ 110.999 687.904 null] +>> endobj +102 0 obj << +/D [583 0 R /XYZ 110.999 365.159 null] +>> endobj +582 0 obj << +/Font << /F78 368 0 R /F88 386 0 R /F80 371 0 R /F101 484 0 R /F17 509 0 R /F11 537 0 R >> +/ProcSet [ /PDF /Text ] +>> endobj +590 0 obj << +/Length 3407 +/Filter /FlateDecode +>> +stream +xÚíÛnãÆõ}¿Âo•kʹðÖ·Mš
¶h»Eã<%JS”E,E*$¯[äß{.3GÛò®³Û +kD!Ä–:D³—Úˆ,Éçæ°©žcX—KÇ‹z´…]_]ÊŪ*«aèzn+ÚÆMÅ…¦F,™Å®«Û‘7n±iØ +3ŒhON©¸¸ÙgÃWĵx Š0Rd2³qS–§'—oA‚+Rñ‚é-”û¾ej‚JSG¬_V’¹ºà¸dìÌõ†y5Z”EÛv#—o*þÞhǪZqý®”ð"±dfiàðeü47k%ò4™0$.æu÷my؃V,Q@>ÝX¸u=ñغnëñþt_‰Äx*Ã_$?¨ +Xóq»®¹oê¶rÍŽçý1ÈÄ‚W¸v«jMfv„bä‘ÒA'' +|Çû]]ZsªËË(Ϻ:Åk 3å¸tÕ%ªytÙ8÷×ëmå ¦«†Â/HE³·Õ¡¹p°ì}Ánb¦gÖLð8ȳèc19l–ÑÒoð‰¸h»å¦ãÂûÖ’([q98°&ñnbè¶Õ¸a™*AXÝt{4Ôf*ŒI"hÚ8&ýÛÌ·¾¾Ôrñš\î7ÔðŽþÿZ®VT"´v"ãŠwÉ”ÄÒ¿ps>…?p‹ë!“#‰m
Ŷ²P‡®cÀ‘ás™¼ä gµSò +sܡꩨo«<â·M}]Z] [Uy‡“2q$熔ñ"K¡{7"‘ÎVÜ…Ây&CQ“èáðÂòç* ½f1Ž‡€T©B1ç<ž¼¾«ª]€ÌŒŸ€àWkÍÀEËÔºÿã_ôÆŸ{’ê“Oò׃‰;Ùÿ‰G»¢‰ùeJ2F/xŒixïŸOO1ÄÑ<}ÓæÉ1
#ø +lþ}é;}i{Š²¤÷…[êŽÞb×]cÍûi̪ʾ¦-qœr³´&„Î +˜({?Iž}´ý<†ígý°ý,?Ö~žR-®7œë\-m¶;>µ?`CKÀÎY³±C¶€œY”1@Æ0¹¥3×vÅ0TÓL—í‚ãQæØÖÊ®8e¯AyNüÍj¨Û‰{ã£TªÉ!r²3fçKn{‹ÖM;KòÝk—Üaf>®Xûpti·“Æ9Ù–w»¦æ7Êa¾£ÆÎË`òÜúíÃ䥥ÈÒ'¯Ýç#/.vÈ?.3@œ}£Dc’Ã"H\T… PN²É?ÊÊ4h¡“L8
ªö‘š8™‘ZÙj=)°W&å™:ü¼°ÉÑ-¦<¼aœü?wôÒ”¬±¸mo¿™¤ÌÀÏ)~klhôü¬cdßÑS§gEŒÞeŒu–NA˜ÿ<è“qÏ}TxÄDÀ-ä}±ª÷}&
c}&ûÛ¡¯:¦ûOoxòöìÏšœ„w5Øß,ÙøÃüfN²N1YJz-‘Þ'8”Šu Τø‡iËXƒ?dî÷]žHú/B‚æendstream +endobj +589 0 obj << +/Type /Page +/Contents 590 0 R +/Resources 588 0 R +/MediaBox [0 0 612 792] +/Parent 587 0 R +>> endobj +591 0 obj << +/D [589 0 R /XYZ 110.999 687.904 null] +>> endobj +106 0 obj << +/D [589 0 R /XYZ 110.999 451.032 null] +>> endobj +588 0 obj << +/Font << /F78 368 0 R /F80 371 0 R /F101 484 0 R /F88 386 0 R /F11 537 0 R /F17 509 0 R >> +/ProcSet [ /PDF /Text ] +>> endobj +594 0 obj << +/Length 3242 +/Filter /FlateDecode +>> +stream +xÚÍZKsÛ8¾ûWèºÊÂâÅ×Þ&;™læ0»›xOIª†’h‰‰ÔTœÔTþûv£ŠÈ’d3å*F7ÐÏ3b&gišÎ¢$f)׳åîŠÏÖðêå•°C8“RC^=¿½úÛ/q2KXE³Û;3âvõ6P×óÌü—×sÁá÷—ë÷·¿šá1±Âá2bi¨ìœW×óH/Íÿÿ¼6íæÿ›nv·˜LXÆv6Ã÷3%C¦¸´}"ÁΫ·ï*IY4¸O°¹J5K
Í’(õÁ²'|’ÌRàGõ…›½¯+B&µô/;&{HÞnr’_pq|+bÆNØŸ¶m^—Y›_Ï%Oƒ}µÍjl&Á]UïºÝë&'ŠÅnëWuv-Âྡ¹íÆÞ ^R»ºs}ægYÔËv_´Zj™—À-–ð§Z°Ðh
.·ñÈ¢`Ç#û~9% ™–ŽÛb*LÈRífgåŠØª³Uqh<´$KÒðB^j/‚ëÓ¼ôgß'M›ÕmQ®i“²ö¸Í¨´sÅÁ"@ÿ„ +pâŒV&ýÍþƒ¼\±*Ôè‘éðK“Æ,Ž&|XÑ—F>Išþ*ŒØ}^¡>£†ñÆ +Q[ivyÖê|ådk‹å¶Z~¸/;à®®vÇ0G,”E±¶g™ÕöUS´Åµƒh}>WŠé8µÜ}òEܽÎ>
•wQ )+Я +öu…k|,VÈ7ö,òev@ŽÍ°–:›<ßÙ™õìª:§V
bWe¶ØÚ9U½ÊÑ?ا;NG$Áú°OÐÜXR $f4ÄŽ0(ú.k—Úbî†ÚÎòzâÆà—…S½wBé&_¶Uí9T
n`ÿq(j·Æ;ˆE &=4‡’(ªrì±%8WŒss›ïL¯êõŒ¯_žö׊™&CuÏE¾P[îAÁH€.0ô· ÞªÄy˽Çõ3Þ…jo¤7Ä +»EuÞfE™ÛC“…œ„8Zê‹ÿZp8÷õ,«Ý>k‹E±-ÚÏ×QH‘¹¿sA”Ö1ì`À÷SÃìòÿfA™:ûE8Ƀù¾*JãéÔ‰‡,L§!Vqí4]™8z0¡»3Œ¶Ø€=
+òBútT5„ünQµïoˆ•c$CæÉÑwÒ耶d²$“ª3GŸÖÄTa;Wg'¾>p"³Ùpçš”Æx2Ôòæ>Ï÷¶#ÐðÒý®„&8=Ÿ¬2ŽÕúÓ)ªñÓ±Ww)oVW“ëDÖsbÃêŠiS¢×&逖9!Fmt…6T¹Æ´¬‚cÓl…¥ju¶ŠK§Ã¼ÅD‹DY"‰ÑKêÛåí¦Z5Ôotn`Ý-mr‚ácÙ¼“2î¦ï FÈ¢:4ŽrÛ—ÈJÖ6nª[M-(›-$Ã+ÛUÑoUæÝê(dXÔDðbqj•urùEAh;;Žúaë#Aá\æÖÅ{J ®Ørè_=5Oc£P›wö·¦úg¯z=Õ¨vd§L¿LFŒ«ø‘ÕÕQOű>`ÓccÖ\JÆÁéºÜêv›ÿé1P¹kü
+ùU,ì€è Ügf+H1ôiˆN1®ôxy9ƒÐbˆŸÞXIˆgï8—Æ”»‡Æ1³H-^‹tÚð +Cãä6p0ýîÐdeaÒ“†>@áLj<Qp×êa8µ8ðs,;,é§SØ/x`LíÔ„\GƒPdGi.¸Œ ï\ÅÚöÿf0áŸ=Ö#X"Ý:ÿ¾ +(Šˆä…Ëoæ]Ä~ô(“Æ—1òå#—-ˆbyHH¦¢‘ž/L¡ìÐjà(Æôj +²CJw§}eŸÛácúk¨‘Ú)qÅ™N‹‰ÛácâØ +Øßy®úæv~;|¼€1fØ¢?¿ÒžËÃÎsŠàœ:,â²S„* JÃA®d6Oð¯Êæè¸þ2lŽ³ˆ³8“²c.…vÙ²®<©"Þ̤½4͹ÿ)yëërµý¡5eÏèga¾©a +¦ÏÔénˆ +^b®ætÇhÀ+;aU9ªåÒ0—CSwëD‚åLʃM[Ášá¦B°·1Ó<œâ*7)Y$1ÈSQS!Ž¬\Ó÷&Øé–v¿)–›n5Mnb®c +z]R«Ç6<Uv,®n§^¡9DÓ^öGGìd p`2îçöξ=úà÷mÍèÉnÅñc/©øäû)ð¦(—95(bMm³¤¥1B! ÇlF—µBG 9nã)ðFí˜L=ù@ùÆeü ˆ±¨sÇÏ:ÈÚTŒ +endobj +593 0 obj << +/Type /Page +/Contents 594 0 R +/Resources 592 0 R +/MediaBox [0 0 612 792] +/Parent 587 0 R +/Annots [ 596 0 R 597 0 R ] +>> endobj +596 0 obj << +/Type /Annot +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [347.451 614.016 369.368 624.96] +/Subtype /Link +/A << /S /GoTo /D (subsubsection.3.2.8) >> +>> endobj +597 0 obj << +/Type /Annot +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [251.391 382.136 257.567 394.826] +/Subtype /Link +/A << /S /GoTo /D (Hfootnote.7) >> +>> endobj +595 0 obj << +/D [593 0 R /XYZ 110.999 687.904 null] +>> endobj +110 0 obj << +/D [593 0 R /XYZ 110.999 539.296 null] +>> endobj +114 0 obj << +/D [593 0 R /XYZ 110.999 294.813 null] +>> endobj +598 0 obj << +/D [593 0 R /XYZ 125.345 146.787 null] +>> endobj +592 0 obj << +/Font << /F78 368 0 R /F88 386 0 R /F101 484 0 R /F80 371 0 R /F17 509 0 R /F11 537 0 R >> +/ProcSet [ /PDF /Text ] +>> endobj +601 0 obj << +/Length 3960 +/Filter /FlateDecode +>> +stream +xÚÍKã¶ùž_1·z1#’%5è!’Ezè!™Š$@4²ÆVÖ–\IÞÙIÿÞïAR”%ϸ»›¢À¢HŠü^üžyÁŸ¼‘2yžß˜,yß”‡Ï¢›-½ùLÚ)‘P*†}}ÿÙߦÙM&rcnîiÆýæÇ•¾]'ÑJЯº]ËžßÞþ|ÿwšž +™jœ®ŒÈm¿ùîvmÔê
ýþ~åê{jC¿?ø¯ýf*I’Ú¯Žßh•)Û'sìüì›{»Îr‘ÂÑbkG"‚¯×:™ÉCsØT‡ýíZ¥éªnÚæV&«çC/¸ë~WaìEÙµw,!#%âÔù“Ôñ¶h†Á#è'j-TœØyµÝ°Ø÷mCp+W‡/¹óiW
»ª›L|C»P³Üm¶vÒCÑ1ÔÁ˜Û³ìªb¨6DâµÔ‰He +
ÜK¸Mu¬š
ÎF4ôˆÐØC!,¢€±ÈãØ®chÏ’‘¨ +¥NjÊ%¡ÊT*FX°n†ª;v•WTZ§"[RÕ¶Žc†_Ç Ra"”P‰ã-b¸ žîÛa)C Ë3i‡¿¼ <éÅòI´]Ü>ñëV…ÇiŽV@Òt†ÐEU[,c¤^ÁÈäa£‘Ë¥Bå&à*¢r•qìÉ¢ &¼»Uгç”æÄJ3΀ÁŽÝ¬…qŠéDÈ +7Iêè\}õå‹Á ‰üäw¯¯ÅKÕ΢)öí¶=±î¼ÁS(b#'úíTb +غcê>Õ›Á’l…Õ£J‚‰Ï&ŽÚ¾-+¼ib—ÆÀe8Œ‡º!žùÉ̆»‚4÷Þõµtðô⚸.óʶéÁÎõvê£[¯«ì×`Gª®.y¶ÿ¸'У‰(æSË”`Ó2cÛºdþÁ…ð +ó5ëßè4ÏÍ&F~éxyωô@sÁ‹K@v²+½™Ñh3¢¤éìÒÔxh‡Ý'¬6[ÛËÓÒqH±êP…µ@;‚“y·€#ºZÞT¾J¨ê¸°:Ù‡‰ÝÔHægJØÑ”ˆ†ÎÁ•žªŠ¬…õ¹©×Ñ +[r»íg ¬îxª=çAMž]IŒn¾ +tÉG±JÅîÌ´ey:ÖÞKb`ã4l$õ`rç*¦Qè*B?«“ŸYƒLݾ«9~àw`pÁÔ[Ž´ÒÈ«×I¼’§´?Ãøct'ïäÏÞU"Ï'Îw
/»šª+öw +œ¡Ážö’FÍïãÅf‰hÆý©ÞÛs†‡ØBMºh-t:µÐâUy¸ZÇMpwìèç·èì’ó ¡Rž¿h_=$í«J¼}½ÎýwA…4B›/Rc^-?☠+;N¶…Ãj%hI;©åæ•ÊAUGrêSÉI‚Iš—iílR,x³êC½/:ªY”ˆ¬~oó«:s—MëDþdäaOñÐâç><œU¦9ûµöÓ¢G*Á4¿”`ËÏÅ!Í–=5uÇûVC)xã{Jñb8³Vö•ò—9ƺý3÷óÏMW +Or±§ŽŸã¤W«
ñå‘KsXÍDOÍwÙŽEW÷mÃ6~âL^Gñ¥šuØÇ#¨QI¢ ÎsQœƒ8(4„%òÅ•OïP1³¾Ë+'"õÞÛÝ|)Ùez^V¿¼RîW"ÌÇ|N(̽ø‰¸&°wh_‡ŽËa¸ìŠ¦
ôŽ¹Ì¯*¡S=á‡s·5žW|°§Åé¡qÎÞéUµ¯ z~c_^Éÿл4h㮎>¬¾‰Õ_§
èp"4Nàû8j U4ÛÓ¾°H‹a'W{® Ó§~èÜÛÎ_O®*³\˜xšÜ×Ì8AYŠ•#.>«,[9úQÇnOEáŽ'¸+Ò,™Í¢â„cWáïƒé=O±ÊzûÊ»Ëá5•¤"‹d=“âMë¶7ÜøþÍå»'Z$ç+¸Œ¿p¯EõôÂÎlÉCñÌ“C
8œzrö ‡<·S?ÉâÌWR
†A.¨oòÛÕ~ðŽjÙî[v‹l<êl£í …:;˜Ïщ;ŽÇºbÇn!"‰ÀŒ]›ëÜÔ1 ’ùø +ËÄK«¤"Õ^À·û…sÇ[곋)Ù…:òÏ¿/€]¯K)—K¡ÕX¸°}r¦T')Œ(“Ÿ4Ÿ} ÷?>÷ëUÔ%üÿ°:Ääç¹+lO_}¬°õÇjMàA§©^•¶¡Ã£X4ý‚ÄEBëø:”/Jܵ_À +-"#“äJ¾/„a˜…ˆ%ú‚ ÄYà£ä—}”,È™†ÊaÁVƒðàñ:\xÓ’=øV¶Ë;gøfMÇ°5vÇ]h‹Nv6zZ§Á-²Xr—y&´J§`’X½fÇ)0'½+}Ð)uvï<ð¡4pƒ
Udn˜Œ8èc +|9RÄö‘ç
nÞXŸµm}v¹¨”ÚËñ§Ð»/Þ|¹c¨Ð9ÀgÁ°÷5©bêÚWU“±
áVšp +Y<¦?«š\ÃÖXÓ˦E¹TÄ‘¾$pážœö¹àbù{wä,˜*2˜$Ï#JœFM£ƒkå¾-Qß>Õý’<E"ñîØâjS(›¡~eE*ꙑrW¡‚Ójø±ü!ß
<2KðÄú;%Ï"Î'㜠$‚^wŽí.óÁ½š²ÆgÍЋ”Ùjkoá@ =&D)ßj]¹*l®K*~oÿ‚X¿u®I±a§±<²wZù4vU宾%rÌT-•)ieKÍ8™ö ªÒKßøKÆ¡ÓU‚c[*.ýFÎu†FX •+;?ÈÅÃçâ±±#v[1·°8ã€
F …Øã ±À=;À´¶ÌÍ•:à¿p›Îî +~j¼0PVû}ÑTíÉN-ñæî¶{æEXÏoÑ14`þû_MÖI@Óc³QØ8À.hn°MÙ+¨§Ž?vt>a¤ov§øo8ᑉ¨–…*Ïôµ®–ʇ}cróq-oU€Å<-Ž™:2BåSfö-z
Z)«E”v7¼°ï>ìã.¢ôTxŒ¨â…í´sèB7Ç+[ê!*MþÔÛÙx;ÒCJ° +^øU_ÿF"ñ
»àãO&v²@g|áon«ØiŽ²Õ±Ã[¹87òé–'oÈ2—m\Pì
¨€kŒ÷ +"r”qB-
ï<‡B’'@ìO:Ÿe·¼ÏÇ7†#wÍ@*IÈ-”ÍÆˇ ©mšËzá¢IE¬ˆÉÿ´kfaaùÑU½g…ÿä25ÁJª!>ÛZËòà?%øß„՘.Rx¹1ÑK™+÷Y“´Ö +endobj +600 0 obj << +/Type /Page +/Contents 601 0 R +/Resources 599 0 R +/MediaBox [0 0 612 792] +/Parent 587 0 R +/Annots [ 603 0 R ] +>> endobj +603 0 obj << +/Type /Annot +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [367.848 321.115 382.293 332.058] +/Subtype /Link +/A << /S /GoTo /D (subsection.3.5) >> +>> endobj +602 0 obj << +/D [600 0 R /XYZ 110.999 687.904 null] +>> endobj +599 0 obj << +/Font << /F78 368 0 R /F88 386 0 R /F80 371 0 R /F101 484 0 R /F8 534 0 R /F11 537 0 R >> +/ProcSet [ /PDF /Text ] +>> endobj +606 0 obj << +/Length 3441 +/Filter /FlateDecode +>> +stream +xڽ˒Û6ò£T5ÂâEÜ[â8YoåUñlåç@I‰JTH*ã‰+ÿžn4@"¤™]·ìxt7ýÄ
‡âFÎò<¿IMÆr®oV»WüfCß¼n +gRjhÁЗw¯þñufnËÓôæîÞθ[ÿ2SóEÂgÌþ…¶àðûzþëÝ¿íôŒ‰Lát H´qk~˜/R9ûþ +×þÉþ}7¬Ð¨D2“j·PrœñêÍÝ@¢29Ë2CDžÓ¿PYÂxb ¡Jn$*ÜÈ÷}ÙÎRÈYAt˜`–ÌYšJ7õ½PúP•«mÑöÉÃT1£üVWÍnWì×W̶EG–e¹§VÕuÇr}Kãý¶t½ûu5—Éìj},j|(×›Òß
®Ûb.’ÙÃþ–úßs.ëz +ú9i†ýq·´œÇA{ú™têªÀc©ڲ/@ëj3éÁ'áfÓà¦-[ê:î«žì’ŒK¿’@»È®©a–›±ø[/¢RP°<q8®B3ˆwîT÷}L
I2=Rƒ,q[ÒÖ¼RϪè"‚—j6Ä1OYÓO;0©\LÎ9™-QK©YÐÏ¡¨Z"ݪô:Api3gÌyF¿‡xsJ]hÑžæõ‡éúœés!6têö±?F±óä:öä´}5ă b( !
,V>û—ÊA´e(¡Ã¡™„TÒè±H†gŽ;ùD†'פ)ãƒÐ6mõg³ï‹Úšk“X˜Ê¹aò…áœ"/þ.ÄéÏM(—V%mÞÊ@·µ2xhŒ¾£–F€¥AƒqÑaCä'òsGÐâVEK&r/èûøì’øøoä0˜¹P¸Ï}D:žX ¥Äù´«N$3y¯åƒÉ½„CW±ìšúØ—Ô½jlÜöü.ÆuÈ$O±÷'Û•ˆ”k¦õ1+Qäò™ÈãVÅ0~ÒˆýÀuâ®—qè{Ø–myv‡¦²94•ÇCY +KTÜA–¶tiÞ¡.VåÚF3X£€Øv’§’IEBmaÿrW£ø1¨Q€v ƒ€y)Q|áJSO™Òà¯_O +b#œ%dò”DÖíǸR)iEò̤
v©2é†3ô]LçÚÎá1áFßœ¦¼Œöeqåû}Jcb¹ö"4†®òÐÌyœ¯hE¥~¦Á¸À×4¤Y|2Íÿ_Óë|}Ó[‰Ž04ÇÜ+Ó?Á† +Q®LelI£ÂzžÍl°D©µ¬)…)‡¦.Zêr^®è]=£ëŽf-GóYùû‘ªŒø§¨©*Ïä3LŽ‹ýæèÐ+q«¢íË…«”i–ŸU»ªØ[GbÓ«]`Ó,]ŒÆî¶msÜlc.Ù0=*ÖmÄ +ó “¾%ðXCOïjz¶.»j³÷É!J¶{¼±n¡+ì(——êYqöl Î{«C]Y¹«š|¶.ú‚zÚÔëk"/ʇó3áùuï¥Ì(½‹B[a\í)°‡ïeÓoiÎxS0DP`„Y·9.Ù…§ƒ–N‡$ kåà6—ÎÑ2[ðç|öº©›6’{ç|ò³ë‚Ð9[·ünâÅÈ€H7&œ¼³í·c?æü%|üË9Ò©S,M}œ÷UÄk¦ƒêº¯çÂzÄ̺HŒ +úéi䬙Âßç„×n@Nâm‚’IÌãŠÚ~
ç*ë¶xXá±ü±¹ âç§Ã®Y—uĹ`©"^’úëÇH¦À™x²‘ÕmØæ-ñò®Â?3aþË뮆Œw\“A®ÝWuMØ& áÌðü¹`ᦟ#Øýj{ Cp,Ï@`gŸÃ·ög„¿-‹õgeP_ËòҌFᦇi+¢X«ß6àrö—vb“C&E3ræi +º œ™Ëì"Èë;°¥ÊˆÙ®XµMGí®ì©a}06Ö%¸©{”íâX»A¢Ê6ï}ƒ|t[5GÊßøYûe]Ú'FŸ_ìqøÑA<¶T¤ÀOŠ*t8Øì-%NùpÙ£¯J{.ViLý»Eh·ø©mï1‰àƒÜyÓ[‡6½ÜJ ÏÇ‘.b‚ÜX×Òd÷Õú–p®‹°nËá»é{÷¡f[€ø¬óÅÊQÛ=ÂÂݲ©;·ôl€çAʆë?âFUÓjéj•Øá
štÊ0¸Œp!Ǿ$`Â`¨#ž*Ô(FÀßyà1ÌÇÎîîê$H´õæÞmõÌ)– _`µr2½ +ÍÒ!¨3ÃùÔ.¾Fy!ª1ô¬©·ßú‚¤Žçc͵–Ó•1]xÂÁ¹ +¶aTö¤ã¹ÄYP2‘SÍš,œíiÛܺ˜.£!wtæ‹®É"ø+„5˜` âòÝÁzŸH$«°¦®ƒš#BD#€{(ï‘ð{»Ýî¬nbÃé&61—ÂÉ
{WøJrvæ©èî|†45M\äi`*ãć^}[a„O$ùì¡´ç„Þ¿p€9nOØGö[1{#´d2 _lVuY´Ñ›]•=ep‚Š:ññÛnXÆÍXRÁóÑFØébçZ~KдõdåM©íÙÓï°ÎÞ5V~Í‘qÁÞ?º¡o«Xà ñóÂ!ŽÐYòLCÖ+½óÏ>¦·"pøÉs¯ÿ®…þærub‰”‰3A/–ŒK£á×IšO”2µe`W™Ú,§8„´~alK +Ä‚ÃäyXõÁÒ[Š¯.^v]|ÙzÚwÓk.Á25¾¤TX)•OJ)ÆLùg)t©ñ–lÕd™MGñ‡ÞÞcºj|m®¹;äþçõv¾a;=>´•z|o&
‰«:G$Ö£+Ÿ”†ä龉C°®S™ŒrOè(N©½qI;–;\Ao|!˜ãܽ-WÍf_ýIÑ '£ªè¡š: 24—“…4*ÉäK˜·Ÿ¾·û >‘€Ozq|·—v\yÑ·ÕÁšXå^øÁ/½=sóêê7ô±—x“†o“Ä-KàüFÝV9̵·É)$¯çdªÏî)RŒ«úzU£œú(¬‡o,Ÿ`ÇpA,ŵ۴Ãr·€ÖG‡"S÷ÒÅVJh1 +lï.‘ìУw¸°úçmÕ—çö‡ÂR’(áNäÙ¾Ê9xA9~Óÿ7ò\endstream +endobj +605 0 obj << +/Type /Page +/Contents 606 0 R +/Resources 604 0 R +/MediaBox [0 0 612 792] +/Parent 587 0 R +>> endobj +607 0 obj << +/D [605 0 R /XYZ 110.999 687.904 null] +>> endobj +118 0 obj << +/D [605 0 R /XYZ 110.999 537.902 null] +>> endobj +122 0 obj << +/D [605 0 R /XYZ 110.999 444.651 null] +>> endobj +126 0 obj << +/D [605 0 R /XYZ 110.999 431.306 null] +>> endobj +130 0 obj << +/D [605 0 R /XYZ 110.999 186.769 null] +>> endobj +604 0 obj << +/Font << /F78 368 0 R /F88 386 0 R /F80 371 0 R /F101 484 0 R /F17 509 0 R /F11 537 0 R /F85 373 0 R /F87 383 0 R >> +/ProcSet [ /PDF /Text ] +>> endobj +610 0 obj << +/Length 2529 +/Filter /FlateDecode +>> +stream +xÚµZmÛ¸þž_áoµ[›IQ/é§$½¤wè^ÙZàrd‰k«‘%W’³5‚ûïá‹,Z´×iR,`Ñ9gžy†^:àÎ(
Hš¦³(‰I„³|÷"˜màÕ»Ô c!´àÕë‡~'³„¤Q4{xT#Š_ç|±Áœ¨OhÓ +ÁžŒÙT]£õßfÆxyS5n~F3fm™+©ÞÒÓÖ;y²q›UVÈ‚¦WžK‹ÄlE)I…P‹®¥:Ï÷:oe!? ײx95a”8´gC§û¡‚°›KÏ! ´Û´¸ôD$Äm"ÖÕAz$„®ôŒ„£¬ªæÉã “è6ù1«¿M‹]¶‘uŸ]pÄgÔ°(ð´-{yÁž'=ÔQ£ãLd1pŠt0,ÆÒõ³!ZÖ« +ýMDó~+uO픇B_YkÏã4ä +çEj¾OC +ù8qB«NÖSíGª{,BPî „~©N‚èö}YçrŠaQJ¢Á…îÔ&¯@SPF}P9!bºd]¨ÕøO¹Õ›é?°¡®+›º[Ž¨Á!DÅQw®¥~fEÛVͺ0ƒU_î+À®Rš®µ™Vv²-s4 +‘©C(ß?a"ÕÃ)ôúA'÷é6:ó×k¡Ýt:Ð ”ß8ýè_ýÖéŸ|ÓÅ°ºŸ?¬ÀðœG`-A85¤45zœq²}œÄ`>Ј¢{‘Ù|‡ã>, Oϼ%v{™—èy†Î¤;ûfâÓ@ô"}‡ÀÁ\V|jÍÖ?…ÕtŸ<&ƒ•ÛÍÚC&˜ÊC¶A¡oQ˜Ýª†l·¯äÒìs +6òf·óf¹‹)I¸SÖ“éò +)ö#BËÕŽ¥¬ +³ˆ°áT4˼LcÇ,s©Ã’x¾5mpÀäÕ!èK}¬ØÓ<z‚> +VStŠÁH7gè]SH,&Er
á†Ê§4W{{ÕÐk§=i¨nŒ,àk}©IOlË3ïѼìõ³½lwe¹hlPB·›v—™qš%¡À¬Ý›™ÝºÄ´
XP:Ú¡nŒQîMõÝ*æ÷^ c’îÆ„7aòñýùö•r€éµl»á"ÇÅN•
(Ã#LŒ¦»÷Y›
)ÆòteãŽL5]=Æúzë–ï/ ì÷Óøò͈£¶¾08´ÿƒæ6¾£¥7ÝÂïìõÔEýß׎ѿNså#t¸[(ûã8%T"è϶Q¿ ,1ŠŽÜ¸3UE<³W4Å€þo·ªg·âhILcš¸€E”MáˆÏ®ÖÅéWD纜C^uߪÏ_”^?ªö/øGC²ªYÿÓ¤oÐLv` X]TºšŽÞŽìuY + µT®ÓUàÓ¯¦‡¼P‡Ü …z®¯,ü+’¤ß¾Ð%áÀ‘¸{–#i&VÖ“òXþû0¢wÕ@Q}%±G¢£Ø—{Óª1Ðí…£<†+Îs“ æÎÖnTQ#a&â‚CÈ`²Æ–ÍUØ6ùºÒ£uÎU/0yb×(y.Íô‘m¯r¡oz•‹ÒÔí
¾®›^wͲ²Î«¦S?ƒ@¯ùíÍÍK€_`XdÞªL¸Ý´µÄŸ ñ‹Ù"´ô…¶ìF ©c[jK‰Ý@ÂF¯ì+ÁúawMKøõ·Bvy‹ëZéŽBë“PÏ&Z]¼–ÍÁ–/‡u'•Dsùõ°ÍÆÄ÷VWFgN§¶dË™Öt–XÉ`túqxIêéÈDçøŸ&@;!8ÞñyþiÂþÏ„óÿÒk×endstream +endobj +609 0 obj << +/Type /Page +/Contents 610 0 R +/Resources 608 0 R +/MediaBox [0 0 612 792] +/Parent 587 0 R +>> endobj +611 0 obj << +/D [609 0 R /XYZ 110.999 687.904 null] +>> endobj +134 0 obj << +/D [609 0 R /XYZ 110.999 370.918 null] +>> endobj +608 0 obj << +/Font << /F78 368 0 R /F88 386 0 R /F101 484 0 R /F87 383 0 R /F80 371 0 R /F118 614 0 R >> +/ProcSet [ /PDF /Text ] +>> endobj +617 0 obj << +/Length 4106 +/Filter /FlateDecode +>> +stream +xÚ½ZYãÈ‘~Ÿ_Ñof—™Éäá}{Ƴ˜Ãpà<Ì’X%Â’¨%)W—ýïûÅ‘Yd÷´{ÇFÅÌÈ+2y“àϼ1&‰Ë²|“y\&é›Ýé‹ä͆¾ùÂè”$¶6EC¿¹ÿâ?¾Î‹7E\fÙ›ûGžq¿ÿSäî¶>‰bþŸÞmM‚ï»»?ßÿOÏc“;šn³¸ôN×üîn›ÙèKü7Ñï¹ýv\1`“8-s]±åý¿_îkL\ŒûþÈ{ý–÷ý–Û_Ë·ÜùÃòçbS¤º|eû"NM©ÃÀ×Úè+Ýjkž÷nw{¶mlaLYK3¿x{?Øeœca²Fý-âr[—ÆEVNÙPâ$÷!6¬±ä·“»ªX™&q’…»½Rë‡ àÿßÜm]ž‚a“ñü4‹“4pé«Å! d:çÎw¼ù¯2î91ÞêŠVös…½ñ{|ÿJ~ÆL Ö#x¼˜Œo
p· ®µ¸‚åi?—ž/ûú±9×»öØvÿÐ…Émaab[ædÜ$æ6Á[™ŽŸ«S½ÜšØçöÍ7ÚÁëðÿ® +³ŒIãĘO¼é§3|zH½zòÐ:Þ™¨jí]ûz#ðf8„æ,ßá +×ëuf»‚¬ÉâQÆ®+FÃÇiâ'hb;BSºç3k´«½€¸{TÇö¬@æ@rÎæ7SorgéTÝ÷+¢e³©>Np¦iìaã¦4$VCÛ½,å)õ±ùDô1õ/>&‘·-€ÇŠZdq‘çÿ:ýÿ 2³'‰ª^¿íñPbü«c!§qˆàݶžš¥þÂa:ÛBçM´#»’Xn@<æiŒq/íöQ!5¯’q¨gcÁn”ÿÿ~âE¿Z‰ÌŽ¢
œž®]IÃD=˜OrI@BúÞ„p²Y ?ëÆxãtYñ†´>Ìh¯Ãå:ÜÈq¬7á‚û +Itn¡¨-áéçòÙÕG˜'Ò›2%õÅ×t£¶jFY• +G|'0ÇK<¹Ö«ëÓA׈Ëpß<6uWŸw×xäçL¡‰Íª‡çº&{X@¢Ž0“hæ¥8‚=š¡–&`eÿBù›S#¾šîÿ~Àžpà…˜¾½öxꪗ>–ö»ös›ó“‰x:¬-GH €$Î7KAƒS*róÏÛ—mX¹ÔT²&0lüEúD¥öÅû纫ˆ(¨ÔÖ]×êœçCÀJ>¢zàìvw¨ÎO|щÙI” ±Ee?-¶uŽ]vU6’õ!|¯ïYˆaÅÊeñX‘Ð_uÝe–‹S¡øöÜuµç8ÄëuœO£KÛ÷̓(>„g~–²õa¬dQW_ºº¯Y
¼Ÿ„ržÂ¨×¼´QŸÌyùVUQõ4”©BÁG”x©§°„iPua*ùP<¦~„äO‚;/Šê)% ”Ít¾žê®Ù‘ÑÊôöÇk-ÝQ£¨“Ð'×P}#Ÿ•‹d¯|äâÞ_OîýÃïø|Œc9P`¡ô~‚åæ—Å°šHxà󸲒OÇÓžX#ù*êô ÏqRÎÉÄáì±Þãº8§Åµ4nDG¹cÕ¤q\r#L¡:A¯_ùýÖqbtu¡6ý¡ÚSzNúF}ºn_ëýõ¡¯w¤ ‹B Òˆ$C0fÐLÙt¬{z#?|ó‘ê_ìãEqÑPÒéçµÅîp£×Œ2šÞ{Ž>¦t“áŒ:»\ºö}sb3ÅLxŒ0å1ŧP˜À”0´«zÖb#C–OÄ}nÈð= ¼Õ©ûª?ui‹G]í„ìÔ0p[iÆ¥:ë҂ǽ®”ÒE2³ÃýËé¡=Ò¶,T”ÄE”Ep¥ð¹T$æ,:ƒ¾°A;†¥u/t¥®æ8,‡\»)±©õ £31äÓz ž²,4›*ÄQþ: 5½0ij&¹íéö e¹ìÐ3òQ¦chWµ¢A” +ÎÙÉSõ@šˆk¸ÀÜPRØÃÒèªDáÉgVÊãÄøÏ*ûñÍe×îõIÁ§¡>ˆí¯;P7ò +:Òê¥"IùúF ‚LJE^–CjR +èòñ¢¡Zn×kŽÂ¤YÅø»ÉvX-9æãï}«ëО ’HgÃObèÙäu0&WüOz5%jUò‘R‹5 +_¢ÓFçð4Â#j±‰ÈÃóåØì.°LNÒµ’eŒ3Ùaé+?š°e£=,Ž²ÛJ„ +é–iã¦F‘ìR¼HÅ\žÀùÈÉK–ÅZúäJD#‰ëÌÿ¶3²endstream +endobj +616 0 obj << +/Type /Page +/Contents 617 0 R +/Resources 615 0 R +/MediaBox [0 0 612 792] +/Parent 622 0 R +/Annots [ 619 0 R 620 0 R 621 0 R ] +>> endobj +619 0 obj << +/Type /Annot +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [445.319 443.506 467.237 454.449] +/Subtype /Link +/A << /S /GoTo /D (subsubsection.3.5.2) >> +>> endobj +620 0 obj << +/Type /Annot +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [388.302 300.044 410.22 310.987] +/Subtype /Link +/A << /S /GoTo /D (subsubsection.3.5.2) >> +>> endobj +621 0 obj << +/Type /Annot +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [455.404 169.06 482.303 180.004] +/Subtype /Link +/A << /S /GoTo /D (subsubsection.3.10.2) >> +>> endobj +618 0 obj << +/D [616 0 R /XYZ 110.999 687.904 null] +>> endobj +138 0 obj << +/D [616 0 R /XYZ 110.999 662.997 null] +>> endobj +142 0 obj << +/D [616 0 R /XYZ 110.999 530.43 null] +>> endobj +146 0 obj << +/D [616 0 R /XYZ 110.999 245.15 null] +>> endobj +615 0 obj << +/Font << /F78 368 0 R /F88 386 0 R /F80 371 0 R /F101 484 0 R /F87 383 0 R /F85 373 0 R >> +/ProcSet [ /PDF /Text ] +>> endobj +625 0 obj << +/Length 3235 +/Filter /FlateDecode +>> +stream +xÚå]ã¶ñý~žEF׬H‘"•·\r—\qIƒ;§(¨lkm!²dHòm·Aÿ{g8¤LYòÞî]òT,°¦†Ãáp8ß¿‰áßp³,ËnR£YË›ÍáE|³ƒ©o_p‡3!$Œ`êåêÅ__kscX–¦7«;‹±Úþ%‹¥Š#fÿËÅ’Çðû~ñëêo]3®D)ËTâÖ|·X¦"ú +þóèG;~5¬61“™v+––þ÷Sºœ33Ðý»¥õ¥ûÆŽ_¿±¯ìûé&I¸‘nùyÃ$ÏÜ4ð+Dôµ#µÜí÷~†wÅ”òdA6Âpn"‘ æ‹W«AÀ‰É˜†…ñœô—I³80̤Yx
씄װÚX £_àòª-òí9M´©šºbKǼßw„ž·n]¿oº‚¦û}ÞpŸ/D}Xp9´ÑaMÀÏ2¦„¿Ø +÷ñ"°¸N“:¤/ˆXYû
‹²%PÜNÇêÔ}9Ý
eb„£óOd[lúévp2ö7p;%“2©"›²ÝTÅ×p‘©¾Nf™€õ(wŠ˜)5,ªª<v3eÌRùEÅ„NÎ:8^Ó^á,}:Íæ*7ŸF'”Ô±©vM}å`愪¶-vå)3ßNi³ÏÛ~ÏI*¦…yºŽeq_lwÅçSê«|]Tóº©3Ù“u*½ Ù|È«gÓ”,$z&uUI5g<IžK†)é©åõvÆ…¤Ìh\÷÷õÝfNËÀa'þÐסDBE÷èí.¸YŠ®#“ @Í’DÍÅ©aÌ]Ìú:pþvÐ2ÐyOóÖÆïðñÿOòÎ…¯e¢¥›~=«Ðqæöãd'àVAFfÑÊ’þî"ºœ}Ä<c†è2U òÊ®X,Å Ô*ôÍœ_ñI_‚@x|þ™l¿ßªã¶Q,ášBgþÛ°Œ*ø›oö0Š³¨95Á0èШ¬{ˆF
=äôãXs˜0í‘×o»-ëukª².h:!jw(êž0ÖE_øû½C+êí±Ý;ÇÛ©u–rdnv‰PÄõŒˆcÀΘ9ë+ñÿ³ÃŒ¯8Ž½“}?Øî½Y_ÔÝ”Üfì1Ê)/!_§—« ^ò'ßÊ@”»[ãR‹&EtÈ7-^›ä‘u塬ò–úfÆ´cÚºÆêZŠpA,I{±ÿÞÇžöu¹ Ì”î×RsÜ âÔ4tŠ#§xÈì¡iú}õ@¤¬ftÛæ¸É=ªéƒÒà>Ì(¦ƒÊIH…^ZŽˆñZì©D*iiy_‚?n¦øOY´´tsj)‘¿I%¦“gŠ:fZeϤXvSŸ%YÊÕÏ:ßÿW‹„»Œûµ¯úÁBV3w‘ZÏéÓ5¥¢Ž6óþÔB²g¸G£Ïh̉ÚÔ5ĽïbG ou–ëÔÄ®Î/sKϳbÉSHÙ@.õUmJ êøÕUdÜÙu£Þ«¢ë Œ[ÚÁ¡!øŠ;Œ*¿@þ½)[ÁiÜëÔôP“n:üYÝÏ4ÓÙÓu_lð}Ó
îAâii£ÒñrêNy…ºŒ»¹%¼ÎA‚2úR‹…‰#¨º¦Î×v5<ç ˆ}ÑCz覻SÕSÙ½op‘0y(º[í)àç-£]È8r
úe¤t(wûž†÷e·w»Rsèçí¹àÙ«MS3Â{sG¿dò8"…·Î÷|&ò6y‡*”Ädã`ÃdsDʨ·8ê±ÝÉ´~ë$`”Ê<]^üú»Ai]õ¼†ÞZ¨òýÙ_fc—?ʨ b÷ÃnÓ +‘ØËkâß^H`Öj¯ÖiH™ŒßʾMs8ÌZ"DªQ…Ò„1J|KΙ"äY]áèw§uG×}YsP\!2`Ë@·u/͵»¼ûöz%œ0ÁÒ M@j\g_¥@u³JkÇõÉ&)8B'fQ@â;7;d
VÖü,ë_& &r%/rˆîÿ ‡0A¸ÖN7èC +þ¨Î^Á†.û0¡y!édìjû¶´ÇŒ¹Uü½kÚMá@{7O óÎ/Þ·Íig}$XÈB1£ +ßöÉŸÓZ)
sšÙœkÐU€XáhÅÖ¶aäÓÁTÙô{äP£h?š‡]Û²Ó¨•½Kf2Å8—#µiîzÌð…”æyGcë—á×zl™8ÿ¼½%(%z +ºÂ†,Ý-ž¹O%™4IN¨kñ)6g®]ž}XoG¤/Šêó›qˆO’?”mS/ÏW€}Ôð +\ ç3ÿÎd¶»
óñc†‘ããǪ>õ˜K U²Ösud,á¦Ë6lÍHêNw®”ƒ1Óëec¦…¹ÖH 2”Ëïû€1o;zð%¼Hæâ‹œ°Ôæeåö“ƒB]u6Vó´q}2yGªËÃ2Ÿ™¨*rzñe‹ãɸAGÒ½¥ ›-„T/mœe(e»€»ò¸.í"BMæôèîÓë©-Ût¶?û*K™ÀxÙ¡eʲ‹äÿ‡¦ŸÉ(¹afø\ãK̬¹s\÷Û P'Z8ô$7œá·öÝÛ\ád;QÅvÊ¡à’P..ú¾r`l1œ¡ÿ¼%z¬O¨ÜàNoq„ùÞ
Iu‰Q +4ø~¢ €ë9IªÒ-AjØ1¸«á5ŽXN?31œ'6≗]ÿP9¾/ÌŒ¸Ú`#a®¿/Œ`\Œ{(W]¤Hñ¹à†¨fÓb…/fz[øSètÖÅ®¬wÄÿ;õiB—Ÿãº/ˆZ·Øˆewh1eÜ:;·yÛ£…ü>í…à÷qöÄþà]‹VŸoøLëè„t ogغ„׸H/¸W¸àOãbFÀ!àÊ8•'ô3÷ª²íLM*íî´¾"ìg5cëÓaNÎ"Èð¯œ0ý<9ˆOcàÓEÂŒ!û”ð—
½Ò¾Ö§‡ÜÁ@»idÃ9O|kH€‡«\ºB–)ìðÍŒÅs<|!ÏLé1#ɆÎh1°e~úLç„÷çØÚÅ+žáƒ¢ó{˜°£¯Áï¤ÏdD<Ÿ‘eÒäÝínßœ*÷¹ÆÚ}]ª¶F9`ðFì>á¨Ý +nï*ð=5wp|þ<Ä©‡Ã…Ôêü
bÕ]|ÑAÍûIsj;7Î/ÑÎÄíËÄ‹—Cç÷1I +©uªæ¾ÆôcŽ^!ýX´®endstream +endobj +624 0 obj << +/Type /Page +/Contents 625 0 R +/Resources 623 0 R +/MediaBox [0 0 612 792] +/Parent 622 0 R +/Annots [ 627 0 R ] +>> endobj +627 0 obj << +/Type /Annot +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [291.231 464.427 313.149 475.371] +/Subtype /Link +/A << /S /GoTo /D (subsubsection.3.2.6) >> +>> endobj +626 0 obj << +/D [624 0 R /XYZ 110.999 687.904 null] +>> endobj +150 0 obj << +/D [624 0 R /XYZ 110.999 621.976 null] +>> endobj +154 0 obj << +/D [624 0 R /XYZ 110.999 354.554 null] +>> endobj +623 0 obj << +/Font << /F78 368 0 R /F88 386 0 R /F11 537 0 R /F80 371 0 R /F101 484 0 R /F8 534 0 R >> +/ProcSet [ /PDF /Text ] +>> endobj +630 0 obj << +/Length 3336 +/Filter /FlateDecode +>> +stream +xÚ½ZmoÜ6þî_áoÕ^_D‰ê·ô-H^ïÒz@ òJ¶…h¥¤/Wô¿ß‡”¨•ìlÛ´0`QCŠgžyáŠkâZβ,»NLÊ2_ïWüúº^^ 7„3)chA×»«|“škò$¹ÞÝÙ»âM¤6[Í#fÿëÍVpx¾Þ¼Û}k‡§L¤ +‡KX$67ÛDDÿ„ÿ2úÊþ'ÊkÛ~eÿSïËÍV¥qô}y±ÙJ}iÛ¯mû{ûÙãr#wJKf’Ø'cqõõnÜ™2KSC{;ßöVeœq.¡Ã,Y¸ÿVPáþïÚºn7RGý
ð”Éèv#ytðEDýwCOù@Ïa#¢‡’ÚǶj<ù!wU=íÈði=¡9SF¹Uh€àb¡€Wí¹ê6BGù^,'’œ#ܸjÝØŸ€`¤ënï<k%qÖvÕ}Õä5‘ë²¹Üæê¶}ÝÓ[58aäMA Ž3Ib€^Ä‚Ý0ôNEÀSëßµ}ùÄöåsÛŸ¤l·¯ìùÖ2Ü>iûŒº^Ý-×Ê4S2ýÈ‘%ŸâÈ&ž«ž˜»ïÊ|(;bT«YN«3ÆÅïT¨? ÑpšbŽÎë˦/‰æ…=ös«[(·§®DCû9);øND£žW~{Áº[k&yæ4'±¼*îO·vî§1gIœ¬¦žÀ áq#xÔµ9nzéÚS]Шےh·åðX–
½pê#[˜æôÓP¯Ý?о@¾®e¬˜Ðp¨Œ“Ê¿•‰E±ë-g:¶cOù¿Šæ +fFq¢-Á=>aŒš¥2Œ–k7÷ž6ÑÑ:Ú€“8è:òÈe^õ-„%}YÒІ¸u‚dúr»…A‚h•›Œ¬‡ª(jצ}8”dúÌ|r ‡.=V¾Õ·‡rx¨š{z«÷¨H8gìòNÀH¶ è£÷H@ɲQŒ9lù1”ç¯ü†éßR +s&Ôgãb˜¸jª¡Êkˆ—†fX<â’:+®'´væ¶ç÷ *rðZ„ç´†cV¬ÿ"0=˱bï+óQÝ]<–ÄÂ…Ù ;› +”Å*!@†q£}Ú|A˜¨³l¹Î¼*0ÅýûǪwýyמ×Mé(GSÎØØ'$áµ[»]IJeš@‘ý-"ã£È +ÊLº²´Ìï¼€£8x)–#âˆÛ¯µÿ:ÞžS!Y:ÆžÛ÷ǽ]úìÆÇÄ:ÐË¡Ó½ªÚé…Ë#áù2`{€£÷Ÿñ®kÔrª ©2©IB“nÜ8Ò’Å™9ÓÏfK™™8´±)RJ¡'´àlÚÓ-*“¢^ψèòÅ,ÄvûJä̆Òøn÷
È!ÔB„Ã!¹›Ê2«À± +nàä*ÀIpøÕpo¥LQ¤B°fz¶áPÍ ÔŽäÞÂëXtxQÞTøEH3½º£§µI½zÒZ»¢œtKB`€öÅhà@P€ú¾6u€¶ý +ž>»Ã•î ¡qÓ»Ì"Au”æ„RÀ)gÝUÃWûljwjX»˜1H²'c,ƒH@5wôö扎mržñBƒ¼<æ'e:Ó# +З>y7ó¤;Ñ*3‚…é©™~m×µSF…L9ÓÆÑZ€‘ÅÑ!ÿ€
P–ã±Ì;"âXZãâ7$¶]6stÄØ9–›±ÓžR«¦¨ö¤MHŸEØ¿ +ì;§ÞÛ‚Él5,ÿ@öÆçI0mtÓgm:¬›C”ĸtÉ$³wœG¯!.»1=>ä{È[#ú¥è!/Œ³Yä}v 1¶…ËI¿º '}±‘™KF_u™—+‰)Ä™ S0'bãd‘S?>”Ë:”Wé¨C–ÍJ¼,ªÍ‹²@H0ÜÙ9P]`F/î”|
uö¤·œËûSWºóÎMR¸TÆ}áWtÕI¾«‚Æ´§¡†XšQÇŽ’\µ¿YÉÝ5˜O2‰1Åú_1µ7³j‹±Í‰þÛ +cn´öǪ¶á£÷BoS^<ûЬ] + ˜»±d0Øœìß¾ÙØ ”¾ÃÀ‰cU¸.?w‹¶ô¤ ÇNÖ,³?ut¤ŽÚ+Uw˜{Wau×tœêôUë¼ä2ªÃj$¾xæ6¶s-k*yÑ“ÄUn%¡2jî|÷,Øä¼FíjV‚Š*?yáë,uÕÉä;ò +àÒÒ@,üB¿Y¹q0üc,ôG¼d\r Ybâ¿©ÊAÔ)Ì“^„'‘;>h§g·ÏØ‹? +¹§&Ù/ŒrîHý±ÜWú l:M‚›:ìvfΨoç'ÄÒRÀ-Ò|Ž÷uKçá‚昶aƒ\÷kOa¡À¸‹ú©_¹Â…€hI§ée•Y\ò™ÊlÌT"Ï°å²Ê¬‰ŸÌ¢³q£ã'Ë2(g—ÕZŽgN
6N*jûüïè¾8M™‘+’–É$ihWî9v†’†–•tØï$
&EþKJDvÉgkàRœ :0¼gQ7ðŒ¨!ãË’Ê:,I§Ôçb¢RP(‡ïÙËÞÿC€Ì½ðô麀
³`B×ì»2§»ôÖ=‹rF¾u_å½›æDy£¥L™J%!“d)(£²±>ò Îó€-¤–O
+‰1ÿÏWoÞñëÒ‚o¯8SW?B›C]®€]âÞê«®þ=ý6rHø¼täÅ'ÍZI(I0«tú‘%Еè†7>a.»r®!”0ã¯V—JÓyÒ>æé|úíÊßA”ÿÂÓdvVOeæ*+÷HW[UnN$ŒqóÍ| +endobj +629 0 obj << +/Type /Page +/Contents 630 0 R +/Resources 628 0 R +/MediaBox [0 0 612 792] +/Parent 622 0 R +/Annots [ 632 0 R ] +>> endobj +632 0 obj << +/Type /Annot +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [406.738 325.972 428.656 336.915] +/Subtype /Link +/A << /S /GoTo /D (subsubsection.3.5.3) >> +>> endobj +631 0 obj << +/D [629 0 R /XYZ 110.999 687.904 null] +>> endobj +158 0 obj << +/D [629 0 R /XYZ 110.999 557.951 null] +>> endobj +162 0 obj << +/D [629 0 R /XYZ 110.999 392.348 null] +>> endobj +166 0 obj << +/D [629 0 R /XYZ 110.999 377.16 null] +>> endobj +628 0 obj << +/Font << /F78 368 0 R /F80 371 0 R /F101 484 0 R /F88 386 0 R /F11 537 0 R /F85 373 0 R >> +/ProcSet [ /PDF /Text ] +>> endobj +635 0 obj << +/Length 3307 +/Filter /FlateDecode +>> +stream +xÚÝZYÛ8~ϯð£hsE‰”¨yËÎ…,0“AÒ,0“Ùb·µ‘%¯$'Óä¿o¤Kî8™ /‘Åb_%WüäJÊ@¤iºŠM"Ò@v‡gÁêº~~&Ý@„¡‚týýîÙß~JÌʈ4ŽWw÷4â.ÿ}Ýlt°ô¯o62€ç«›7wÿ á‰I„ÃCXD÷Î7›X®…ÿpýýsË+*¿ îýùf%jýUžßlÂpý=•_Qù%½öº_®§.Ò¡0±rë…G<ûñ®ßYdR‘$†÷v¾íM”"B((˜%í÷oÌ*…¢ñþÿ‘Ê뮳ùïL† †A*±JÜÈ=÷Ë@"˜_»þ¶ø¯O!0Îo¤pýfy†ÛùëZF~‚€ØpÌv„¡ˆÍ'(ðS¼qKÈe +¾‘ÁððçÖÞ8BW©E$
½ôC“ÝH½~ß‚,Dr
̦R¸ÎʺzàÆno¹Ðí®øÏæ<è˜u{Á}w<(\çöþÖÏN7r]vÜFܧaõ=·ôs+ðB{Öûî&Ô@ÊÉÍÍo÷…ë;Üå*RFÄ:ZmB*é´ +Ì„:c÷ D~k‘„#~‡`&Ÿàw‡žx^FKÜ U4p'$nc…KÈ|v}Ò×rù=ra‹*]gù¿Om‡ªƒYëéœ(M$d,Ç{ÏÚ=¼9#4ÒBÇIOèl&𼄦§À|ÙOx,ënÁ¦FPF_kÒ.ÛÔè:‹vÁ¦~“ª¯3êo>,l +c¡ûLMî<[ÅUçψ`-÷n”ó`XünÛb[º¦Åí'%Rr¡hÃbZ±Û×-F +Z·>U¹mælOb!e8b;jâxããéT¨Ô.*ž¸=m[ØÝuÎnŽ±—LAúC@W& ,@WÜÕ<¬¸ðêçoÎðV$Àjϧi¨§hîâ‚id×éÑ@Ù-è:Шã¯nmÆt%BÅ^ÈÁÏÍM-Àp5Ö‚c]TܺVBI¯•YåÎ?û78-s&žÜ>Û@_
`¯7vSÕ8¼´ÿTÈH¶ïÄ~ÙÏÆÔ$òËü¬¾ÂÏÎÝ—1NLÂîk¢2UÛvÁƒi-LúÍ‚‚ÿÿ[6a2 îöC° ÇÒ(güpTSùJÛì`Ý`2¢E BÑ¿CÏøÒA‘ÒךÃÑÙÞ:J¬[â“„0è¥ +<O˜ý}+¸ñ9¢é©0>´Ô•u…{îpsãÉ¡áóMñÛÞëï÷Ån?Ê;¤ §@9¥Ò_ú\†ee=§âO”Ex9J;Ü- +Ù˜c/‘' o“ +®!zb +Ǻa'€Âeq<ôù\,ª¶ÈíÙÛ“ÙQNIH±ò²rC +´»Zˆ»b´ó×:² +#–yÔ%…îq觢®/
ý¼¯+m%¦H„Ôú[¤Oaýð«¬ÿYçEdü…÷kz´›·‹'š¨ô³âè©©JTS«?¡ÔRÇõºF7•[–X‘k”Vnv2Ûr;„nK‘°†HS_“òOEÔ§´.Aé«2»ã©ŽMûzæÖjýÆ +G{6Ù'`…ÜùØÜ‹4¼Š`·–ªõÙD +bˆŒÿ±»Ul +8V»p +ŸW>›¤D(§Ù¤¬$ùízp¯mجc-ÐíBÖfãK×Á£ï%°ÌÒ<•(Ç íŒéc„%´cõã‡àˆ!þ:v·Ñ‘ž^KB80$³Ä‚C4R™eþkÝÙENÂúç-^l–0Ûc‰µÐ¸wV™h!³àò"Åî-Šò-7±Tq¹¬ë·\Ê|Ò¨ë|ú/î€Íع7ûô
L¸ó³¸¼ÌøÝvØzô²é½/Þ-ÐÆfzIé4®å +R}zx +endobj +634 0 obj << +/Type /Page +/Contents 635 0 R +/Resources 633 0 R +/MediaBox [0 0 612 792] +/Parent 622 0 R +/Annots [ 637 0 R 638 0 R ] +>> endobj +637 0 obj << +/Type /Annot +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [302.625 563.247 324.542 575.152] +/Subtype /Link +/A << /S /GoTo /D (subsubsection.3.2.2) >> +>> endobj +638 0 obj << +/Type /Annot +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [425.518 516.507 447.436 527.451] +/Subtype /Link +/A << /S /GoTo /D (subsubsection.3.2.2) >> +>> endobj +636 0 obj << +/D [634 0 R /XYZ 110.999 687.904 null] +>> endobj +633 0 obj << +/Font << /F78 368 0 R /F88 386 0 R /F80 371 0 R /F101 484 0 R /F11 537 0 R >> +/ProcSet [ /PDF /Text ] +>> endobj +641 0 obj << +/Length 3619 +/Filter /FlateDecode +>> +stream +xÚ½ZYoäÆ~ׯЋ uØ$›MȃoÇðÚ›]`ûâPÂrLr¬U‚ü÷ÔÕ=äZiu @Sì£úªúêèÖ—!üéKC•çùešY•‡Ée¹¿/ï¡êë-MBE PPõÙÍÅŸ¿²Ùe¦ò4½¼¹£7ÛƒxsmÂ@ѳ¹Ö!ü¾Ùü|ó-5·JÛ›G0H’IŸ/7ש¾‡ÿQðýç’7Dÿþsí×›ëØ&Á+úøtsEÁçD¿!úêöÖçg›Hei"ãE)¶¸øòƯ,ÎremÆk;_öuœ‡*# à’OןÃñtýLf8tM½E2šº®¸´h·LÜWmÕotPŒ•ÔL¶(·ÈÏ#ÎݽòÛ7›XãâüŠüÃd‡n<#?µ$W!PÌèa£Ã èÛº½—IÝn¢08Ž<Yê~i¬J,<RQÉa9,¾O¥ÿduÓp÷¶¹¨ìö‡¦¨[ÅŸ»ãú‚&Á¸“…oë=ìCÕu×4¤VÖ$—×Z«Ü©ná䣷7Ž²`[;.8ãXõ¾V}ÅtxÅ;‘Mv"·*ÎRÙ‰ŸtœÀ9 «j»Ü5“¨0sÓWák·³¾}”Yô0 å·÷“ÙåÁ +Æí}ÆA“qˆ&ÆA?a²Ô MÙmeÂÀÃÙ<²(Ä:SZOQh‚ +2êwdšÓ¡Þ›bd@†o·ž÷àŠ=á +-w©Õ3\y^£¼$VköJ¿ì‹¡"Mmyÿ8îpªKm°âSÌQl«Ç¼ÞÐ5b˜ +ÙB¨¸]AÞ(LT”Ͳ[Pþû¾;¶kAm¨2¡í‹Óàm
·bµ5h¢kú^žgCÈѦm×ïÅË
ƒÏ×"!ÞPÄöÝ0JmÓ§¡á@–¤ŽS؉x¦KÇÁ:Mí¶äŽ5`øm#>ã]ßí¹yž/q§Ê¦>¬ ^²n^Œz€v&Ñ3gÆ¡^2ø2Ô‹T¦]þé:ìÁi†Y4…=` +{øíC©8tÞ;”ÊÅúÔñPà õòq‹Øû‹ØÂÁ"ÒG§ŒxT™ÊæyFJ:BÊ ¢¥ªäÔž€C`JpmCPñôÃ$׿3k?ƆKüÐ`35Iàܪ“—ó{£'ÿÄd8¬pKò +R˜pÏüŠ·4-@DÒqb&©,FG +KAt -f.´ñ.Ô‰‹$‚íHm»‘rPÍ?,«ÇGò + ˜Gñ“à.2ÉüÎíæaÒ|î7þÞq: +"B©sЀV&›K)»ÅäqXëcmËìÓt¯¿”¼u–{„·—ñôf+@-æìÓ¹‡XŸ–g$ÀQøx‰§XÁÚI¬`FXÎSÿicLà¶Ã,¹2á,—àL_KŸºˆ%SÏB}*fC5oŠºs6”8—Òßqd˜ƒ›.s`2tEÂ"P!¿\ŒcÍý¨³·tû!«x~3Ü4±íÚ,‡&±ElŽä2„|í3VÑŽ„x6=ÛuiRv½äÏ¥iÇ¿ÿЦÕL<üfÎÞšOæC©…˜€H`ž%xr«~¥¿ÀK–êtê´ZÚ牫˜á:é¾ç¹'«0}ƾYqcÐ÷õGÈîøÁÜÒù1JÔDÀÛ,À<Ùþ@þ••R4“{t è‹‘ÌfΛ4ôU>yÆŸ÷=]óÚé¡óµvZtîIm…74‹cÎn!ÈØ’êÁÜñ2è7ü×ÑhPD$g‡ß[PvÎ6eôà`ô~V•k¯ñ®Pu‹ÉH`‹—Õr¹Å5mój8ò/ßw µ+rÓ…©ŸiŠA—`=’>ç @êµWÂT,e,Þï`Þr¢C\Ž–H<w+·ODH9ÜÝÀcQí(²bR¸â˜FQªL˜>‹;€_Þ¶ún{,…)Æ +“l5\“Ç̳‹ƒÿŪnöendstream +endobj +640 0 obj << +/Type /Page +/Contents 641 0 R +/Resources 639 0 R +/MediaBox [0 0 612 792] +/Parent 622 0 R +/Annots [ 643 0 R 644 0 R 645 0 R 646 0 R 647 0 R ] +>> endobj +643 0 obj << +/Type /Annot +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [188.517 452.492 202.963 463.436] +/Subtype /Link +/A << /S /GoTo /D (subsection.2.2) >> +>> endobj +644 0 obj << +/Type /Annot +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [219.56 452.492 234.006 463.436] +/Subtype /Link +/A << /S /GoTo /D (subsection.2.3) >> +>> endobj +645 0 obj << +/Type /Annot +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [240.87 381.905 255.316 392.461] +/Subtype /Link +/A << /S /GoTo /D (subsection.2.2) >> +>> endobj +646 0 obj << +/Type /Annot +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [272.69 381.905 287.136 392.461] +/Subtype /Link +/A << /S /GoTo /D (subsection.2.3) >> +>> endobj +647 0 obj << +/Type /Annot +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [427.625 274.676 433.802 287.469] +/Subtype /Link +/A << /S /GoTo /D (Hfootnote.8) >> +>> endobj +642 0 obj << +/D [640 0 R /XYZ 110.999 687.904 null] +>> endobj +170 0 obj << +/D [640 0 R /XYZ 110.999 621.592 null] +>> endobj +648 0 obj << +/D [640 0 R /XYZ 125.345 138.467 null] +>> endobj +639 0 obj << +/Font << /F78 368 0 R /F88 386 0 R /F80 371 0 R /F101 484 0 R /F11 537 0 R /F8 534 0 R >> +/ProcSet [ /PDF /Text ] +>> endobj +651 0 obj << +/Length 3399 +/Filter /FlateDecode +>> +stream +xÚí[[ã¶~ß_160fDR©¾µÙlv‹¦ v§@€$[c+KŽ$w2-òß{.$-YòÄIgƒ<XE’çúñ#o"ø“7RF"˲›Ô‘EñÍzÿ*ºÙ§/_I×$JÅP‚O»{õÙco¬ÈÒôæîZÜm¾[èå*‰‚~“åJFð|¿üáîïÔÜi46W0Hl]Ÿ/–«T.þ ¿jñš~¹æ=•ßÑ/ýr¹Ò&^|E/]®”Z|Nå÷Tþšº}Ã…ÙéD ›Æn<e°Å«/îÂÊ´Í„1–×v¾ì•Î"E + +1PɆëÏ`=\ÿº©š&£ãEÙñó¾Ê×—?4î[?nÓúr_þ§Øð냧Ñíóªââ¦é]ã¼*·µoÚ;Šý®à¡üi)“EáºmÛÒµüdQÖYd†D‘¡`U<ÿ¯ÿÕân©%rŠoˆ³_QHøè Ä©Ð:u„`4éýn:¨Ì0ôâÒJ+¥ë°š[i› +iÍÍJJ‘% 5ûf0çŽúá$v¼VN< +x^t®†ž–)ßê±ìw\Ú¶ù—òz3ì +ò‘“递%i:£›ÿNU=db®6p"3&ÞˆÇÖ2âÏ€ÂÏ3\‘•¦¤Þ»¤.„CÅ3j™B㗛̩¥LÀ°ô@- «eôm.k-ÜæyŒ€N¯geU±?žªQ"ŒÊÂØín.Œƒ*hûª<„Èa€uStâ·`a¿ƒ‰M–l• ò¹[¡¤_ðcIá(Úfs¤ð/Ý.çe俘Ž¶’"*à +ÐŒdPæ~—÷ëÝwS-Œ#‘ÆæÙs‰`,Ùu‡)%
fz>ßN»õù—*¯·Õ|ü‘Ú<?¿”fxÚ™Ê+y1ähëuLøÁ ç™ðت@„‰Î¬dA½^"´´Ôé
¨ÅS½Èù±®šŽ´Ê€çv\r8JÅGòôBa04náavx«Êºð„{~:ܽr¬K¢¾7‰HpùÎ7ìÁe:Ž…$GˆLܹġ…ûq£ˆ¼šÌ2çÈ¡âþ‰Ÿ4ür‘f‰H¢xàÚÉæBÍÈSCÄy¹P¸Ð!<xsð󘣿Ó)\~*û›œ +G3 +*\á³–Ð(‚{ºi¾äØ9€L;>xbÖ䉋AcŸŸwœ3‡'f½*ØpWOCZ°½ ; +›¥Ñ>eÎ&ƒ¤õŸâWpZ"§Íx_ŒœþéO_ü{C5+T³Ñ +ý™L×iº7Ñs±Ä{Ã/˜$ŒúP´l¢™; è¸\R: +»ËÙ…LÁ +÷MçÉ“ŽBÁ¥ Dæî¥w#‡[0ã7¤3šZKV½-›º›I• ž™Q+iD¬½âæǾÙßק<ò(ah„ +ۑΰ;³´a¤Ê‡`‹§é9å3±ˆñŒZ'sÙBY»KmŸOCu&å=Ä[E-ÜlûòÒm¶;jôÖžNÍU‰Äx®¼žŒj +Zììµ:98ÜVŸ3)ã®1@¹cLh=pƒuS£Ö;uèI°>çfÛ¢Ù}[®¹vSt붤W”5eO6.ª!ÁÞÍ]®KD¦ÕËŸ_<¥ïw|!ïšám¬…{ãÓm¶ +u†ðƒº!ZÃœr£žO6VƒûF¿0À%‰òjðaB +|H8Ê·‚ƒËýæU…‘ätÆ70{wÍ„AꈻEHîP™ÙÏ‹oNÙp¼0Ýe +¢œd¦:p?äôf®@Ñ)땈ŒÏƒ¡ÆÐi°w¨ãÓ`_û-O–ÎRêM73²¤‹µWí^~¾´!±É(9ô.œ›R”óØå¼ÈåùùŒ$3…Ô*à@ÂAÑéÞhÚ‰Ñ΃y?ÎÄ$¢P—˜ÄTÑ%tx}’}‡Ëe´1 à +ÌÎN[2<)ÚÜ©|ܵëêIGj{l]wS/ X;FŽ|Þ“¹S¥lÁúSlèXÉ>{¬”ùH%¾¾7 ³Þ$í¦vºÛ‹-šý}YûU@…¿5tD&)ÿAB¨—²Û +qpòXœU.Ôù,jW°í$«HÖ
(˜øK(FÁn0D¢f íÓãŒ÷ÐаjÖ|Òf!~vxàwö€¿(Ssÿààÿ¿aôßÿ²åzendstream +endobj +650 0 obj << +/Type /Page +/Contents 651 0 R +/Resources 649 0 R +/MediaBox [0 0 612 792] +/Parent 622 0 R +>> endobj +652 0 obj << +/D [650 0 R /XYZ 110.999 687.904 null] +>> endobj +174 0 obj << +/D [650 0 R /XYZ 110.999 266.968 null] +>> endobj +649 0 obj << +/Font << /F78 368 0 R /F88 386 0 R /F80 371 0 R /F101 484 0 R /F11 537 0 R >> +/ProcSet [ /PDF /Text ] +>> endobj +655 0 obj << +/Length 3676 +/Filter /FlateDecode +>> +stream +xÚ½ksã¶ñûý +÷S%WBˆ—ɇk’Ë\&¯iœi;M?ÐeqB‘ +IÅVoòß»‹A²œ“ñŒ °»Ø÷Âô*‚?zEiD²,»ŠÓ„d‘¸*ö¯¢«;úâ5S"˜€ýýæÕGo“ô*%Y_ÝlÕŒ›Í|¹–Ñ‚¨ßx¹¦<ß.ÿ{󥚞špœÎb’In¾ùa¹ŽÙâø¥‹OUûFý¾S¿ßªþoTûûåš'bñÆ}ÀŸ¹Å,1%Tdfñïæ›K"¸0Ã_©Õafw½Q=ï¼-¾˜oÁ9IS?`ËÒˆÒ„)Î~õù#O3’ÀÇQˆ¦kžE$Š4IãÌ'n»qŸ¸y£!I½1Ê ‹3a¿=T…ƒÖÍaÌIÍœ²YŠhñKյ;l†4Mý’.Zݬý,`;Õ¸-ñ™À—EÝöåÆL³£ðe—e¯_³JWöCWƒþ´Ìp—7w%ÑíoC_mÌâ!Ü8c$ŠùãÈy,ˆÌÒ«5¥ÀT2„$ðaeŸ½~æúqW··yÛ SnÊáDšj¨Ú†à†WTL³C¬vx»¤rÑv˵à٢ė‡|¨K §¸6]l‡²›#•wiœ~¤\ôåЕͦìÞãÛ&ïwåFõïòMùëaÊ)5+»RÃP´û}ÞlæÆ(·ÔÛ°¨º¢.ßÿ²"xÐ
ì“J'–ø‡®]+R€ +{ŠšfUs§_:µ³NÿÊ®3À
» +ÎżlÊí’ÀÇzЧtµ±¦ ‰@¶Ïµ™ôÚÂh¶Ï=å’%ŠeQEXåò/¥>Þ(…ò5ürÐFØþJõ®ÚßÏ /"óÄ)Eõ$#)Ò\ŠÁÀ;¤OûIÄc%¦ØQ5 yÇb¨–ÌÒ`¥gl‘_qŠbì9»ˆ´îm·ºóˆ„í`&M]ÿƒþÔùƒ›¯`§ÀŒ£®I(‰¥¥ +$WÊ…2œÙâfwìWº©¬pì …„W¿yoºÝø!GŒŸT½î1æNÛu\@F!ÌKˆŒRs dXEêXAc R[9À›3Áu +àóØ ÿBð(™Qîðe){>|Ão‡/&<rVzÐ' 4Õ.Jî¼/¤´V”K +{æò$1‰¤EõkçÚ`$Å©ñ~ÞºPÎz7…™*–³zÝ?tà Ucô¤ +–¦zÒ3¤ŽùÛ¦6þã±ù©Ñ<få|É»*Çø¥vÞkWÚ%´[¤Lñ¦*òÁ:©ãqL´#Ê‹S~ñ‘~L¬Íªš38ÒVR êfõˆÍ† +›vkß¾óÂöp0=rr¼heáílq`/'É?x+}jøhš*°üõ}À¡KA“̬%IFÛB$ðÞLÎ옕°]@„}ßÍ|Êu]â[O„
@@#Ù3! +ºß=掜^ÆŸ"îs±Úo×ÚÑ<t´(‰(æ1<fš10Ž©2’Q¬½ðÏŒ3¡L‡`hÂ÷âQ˔֥ÏѺ҂·5>€¤$±3™—È%Ÿ”9%ÓÔ"±Ôn BQÀÛøÙ +S*ûœá~¾6‚Ǥ$Ï—°Ûô™4zRPäo‚‚Ò A9IÎå„y±3ûö4RÆwpŠ\^æ»yÀZhÖ³åÀá×q¢oÊÏù–…ø–°È ³8ô§Ä%ëgnU6±½|tL„5ÃÜ9&|±íÊR"‹ï1ÿ¨X\uw„î_4ùÞÄ +AÓٕñ3û
§ƒYQ'h´”H9u—Œd%£È«7VØ„ˆ=l§»òéPb7&säù‚™å†èþêøÅÛ(·¾¿ò¯í&ac…à\pA²ä¥õ4ÑŒ¬Ê§¬ªBNŠ©Å£â"r‰o/ý¦§;›ãöø?KˆK–=S‹¥A + qOCÛJ¹µ©á‘4_{0®²þÝ«sŽ…¢";†bœ¨&–ºÖ’*'\Å‘04”a‚æ¢4q’ƒ¥‰šA¿Øp@Ï2qµšT™-÷eÞôÓp=öD'š¡%A°va‘;ymZ=Ò·¸§ÎSãpOt~'Á‰ËEwÒ3óÅ>7!®š2Ù¸×} pÕœ±Û¸´††©¤ø¢ÚèÞÎU9TÈ
óUž© Äw6->êy)³Œjj½EÈl¥5\’<©âcNDBÿ3g›{
Ý!ïU> +Û›ª+‹Aé÷³ñê «Ï’°î +òøýÅ:ì7ÆT >©+ê +|z%¬’(I¥3=åÃá hLQø›vp…)Wžg€é“ø…œ‡Ô9c9m´IóOI,ÓË +߯]6ÊO(ëXºjÈ4Èž”¸tT-ÐcP>²x1иSk«’úY‘qSØ +œ
u|HøŽ9“pº¾þ_@˜§
T&an8àÔ\’×+ò^J?@p±˜ÛŸÔóeF-=±0z•Ñz„à%‚gaãýл{øỲ·¥Òººn¨ëÓ_Lö|}—ÇGj4©ÈØýëàÕé®îÜòÐÔ²ã·Ôï©c«¡«îڦݗ˜Âzc‚ö²ÊÏRâRáT^<ÊõxÛš?®¼5—Bа‚.îŽ*BÒ]ê"<7ºbß•eÿq@¹²4"éYÀšMùÁ#]2ŸÌ¡ôËQLâ…ŒJ›Ð
AP§îQÀCÖþWÈ.«Rž>®JI½µ7fôý8¡îN «Cº¾´¹8ù÷«%*Üæ"´£î[sëÆ”çô›ÉTg”Ïhš’(É>¸~&-=¸Ð}¬7D<öîJgè¬d³‚ÀLÈ°’$^ÊžŒY¿f£.WÛ[×ÁÜÞÄàJFý;…ÕvN!°œ”=·ÌsÛ¶õÅEÕeÙãåÜØ•×æÇщsžârCÂ)*SXÆ)ȲîËA&Bû‡DN âW#AÄsëöp†Â•£¯×A´xœü¹$ÞVÁÚéx?ƒœÿßGtµ–’£«ø¿ûo“ +ù?¾¼èendstream +endobj +654 0 obj << +/Type /Page +/Contents 655 0 R +/Resources 653 0 R +/MediaBox [0 0 612 792] +/Parent 660 0 R +>> endobj +656 0 obj << +/D [654 0 R /XYZ 110.999 687.904 null] +>> endobj +178 0 obj << +/D [654 0 R /XYZ 110.999 609.884 null] +>> endobj +182 0 obj << +/D [654 0 R /XYZ 110.999 463.348 null] +>> endobj +186 0 obj << +/D [654 0 R /XYZ 110.999 418.992 null] +>> endobj +653 0 obj << +/Font << /F78 368 0 R /F88 386 0 R /F101 484 0 R /F85 373 0 R /F8 534 0 R /F122 659 0 R /F80 371 0 R /F11 537 0 R >> +/ProcSet [ /PDF /Text ] +>> endobj +663 0 obj << +/Length 4042 +/Filter /FlateDecode +>> +stream +xÚÕ[Y“Û6~ϯ˜·ÕìÎ 8›£js8åMœŠgŸâ<P5bDjI*cÇåÿ¾Ýh +»Ë˜eZÙoþ}}ËÅOðW,¾5å;ó÷¹ùûÂÔÿdÊ/¯oU-þá?‹ï<q?—X0e–øÏÓÁ5‹Td›ÿe¨ÃÒzgjž†øa:„R,MÝüaµ2åB,$,x‘aïϾ¿ólSiÆø˜‡xz«2Î8—PˆXgCæf0š2÷—b—we]µ0 ð5¿–|ñûµÔ‹¼ÜåË]AÕ›º¡B·-hæ)ïi ¬ç‰¥¸¥‚‹¾,
Ií˺Þy5%£$ã™ãqéäÛc¦´#rÈ›ŽfToú™™Bq-ôâõ¡)ÚÖEueµÚ×nêšB‚òÔRýj:¨f<¶ùfú}IJTÚæ/?èk×üõG}ýe`ê }"–~^H{…Ê«u€{1K·%_?6†í ”*cZ¨«[!@aµiú¶Þvå*üÅæXœXÂë*¯¨°,è¹.^„W®ûò
=sÛÈÕÇÊ6Žâ†*¶åjKŲ}ÜMYØ*®^Õ³ÄHi”°ØóíG£Íß[-WìÈ„ ¤_¸n'oU3‘&–!±éöÌÙo1î„cgNvÛ¸·/ª®…F"ÝíjÔääR$RÃ%lAfâsÂÓ¸ÛÙVЙºuß–ö£fX +„¤ª;ªêÞ +ª{ª+7¾†*@XÊ&dÏGûò˜=ßonô H›.jÞ¦',ŠÝ~¡âüêÊί=¢ŠbÕª¾§ÓX1]ØiP"PÆSÝZ±Ì-d¤¥¨^Ï<pP! d·J&£tÄû¡yÒÎ<™hÏé$<Ðóãâ©D)K¥c»ŸÂs{ ê¿#[ +;™¦X›¶ìëARcíÌ0:í4KFËúÖA À£@by°`Å“ÅÖâ¤J–Ea»Â¦¬3Ö”U@9h 7£÷M¾Yæm1£Ñi¯ÑH4º-h"èØA4з›wc½° 9Ží1ßQc×”÷´x©3Æ5³§“É‚ÇêçÚyC52œ)s¶i&¼%é>‚å¶XÍQP—QXµP¸•‘ðžŠ]þŸk¢fÞòê~gÌ”Ñ=àsmó¾)à¹h-…Ãîh»²lÊÜT +jÆ
>4‹)@† +UmÐùXù
±)x}xs€ËŠz“¸}¡R +x»bŒ +¶ê¶&vƒŒ5TÇýe?©jz¶{µ©“‚Ž"æ1*>¯\£I°BÍ*'Ö§n³Ñ.¦¸‹;*-²7ËÝê;Z¾‡’JÆb\T”ôÇ—â¿ùCsgÍr猺]’ÖkŠ_bÀZô½žVÁ¢AÎÕ7±PÃt¯O’ÕÖ¼=.!–ëP%ëjr¬£2X/ìµb
'7ÔÖÜ_Qá—æÏrtJS@7©Ç'E³ÐbÐ\7äÁÔ‚`4ÊafRy£D,!æ]^å?kñ2´ŒÞîÜñÌù¼AW™w]@y"À!½0ùø¡f©?IZ‡ÓØ4÷êä0épl@-Š™£¦=¬ñ€N‡*@‡C½0†™²i‡#`®u3UðíÀqS媮º¼4iE“ÃÂ<Š)Rô»;zt<\m&@ë¢MÖ¾¬BLï÷杻–Ž.=þÛç¯ãÇ îÉüødxzN0&E—f¬Û®8Ið(»lmqÈ{Z…ÉÏ7nûöF$ZwÔÅA!½ÎÄ=®Dk_V$z´ùqÖ'ÇèØ5±—ÐÉÔÄåµhDò¦³ ïN¤™éR%ÄÁ:ù”3tqöЄ¾ÛÙÇ&4µdêR)þ°-Îê¾ÅM‘¯¶ˆð'Ѳ${ G6+áée†&öîy +Çs¦hÜ+öù*œDÑPcÀ<-Z)š’.ÖY‰½¶¶{[þaKu@¥NX¤Ò§fß¼³µsªVÅ4Å2à>&žÕ¢W/“Eƒ'…vGÀ&«qº0J¶¥3WË6
ÑCY¹ÊUÝ4E{¨«5åM°_MÝ:{vU~kc¿
hò.ÀT‰!·¿§SŽU2¦ãþÜ çºhÚñØK;pnÇw‘4ùPœ¹BTÓѺ_Úˆgš`‰˜L?-öH˜ðŽë~Ÿ™DŽ]g.@9_ÁZòå•bm$» V;zéêš +&Š£")Â3ì£Ù!Å]¸Ä{ö¸ïñ‰ñ’ˆ¯Wxý`’lÁ{‰xŠSo@ëÊéÃ_0dk]†IŽß›Yå‡|UvˆÇ2n’)2̓©vM/½•@AáÐ`Šm…7 +ª{FuÏ«€ƒ–F2®€¢4±Ö°Ûbw %‹ƒím>ËF|4c[˜»(+<ÖÂ7·U¸H>Á¼ßuƒÉœ„(MG]kzAÇCn[ÁâHÀ`ÚØ3s²´ +„‡úÞ.ÇÙUßkf¦ñ| +0rÀsgOs7¬‡¥@Ê]Ñ ƒ¬¼—(Äô–4¶mìÓä¬ 0¢3>f2Uîj÷ÇsÇ6ûÅãœõÒåÿ +ˆüœÁ4‰M Ç +òÂI6pÃì$.FJ“ŸÎ÷EG>«ònK½üùÿšÞC aÃT¤¾žYl|q²§ò`¡ÐÏ“úÃìO3™x`KJËÎ +*P„¡ˆÀ-³ØÇ|ÝãÇÜ@±)ºcSQˆŽLø…Ù-¼/¿F;Œ +é‚V6;d° +LéE㦈>qkÄ¡12k'ȼøÆXL.ƒ\Ÿ¥á€á>±É' øÑL´ûü‹GŒÕ›Ðüä“ÎOÌ@u0ªÜßí÷$•¶Wa5þà$“—-Ý‘µiõè,^
¤U´Ù*¶¿\ÙçŒ^ •BóYT*–&Ù§>—â,MYæõðX ++êa)¬ÓÁRg6¢pè8ŸD¬œ9@_ +endobj +662 0 obj << +/Type /Page +/Contents 663 0 R +/Resources 661 0 R +/MediaBox [0 0 612 792] +/Parent 660 0 R +/Annots [ 665 0 R ] +>> endobj +665 0 obj << +/Type /Annot +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [449.09 439.261 471.008 450.205] +/Subtype /Link +/A << /S /GoTo /D (subsubsection.3.2.6) >> +>> endobj +664 0 obj << +/D [662 0 R /XYZ 110.999 687.904 null] +>> endobj +190 0 obj << +/D [662 0 R /XYZ 110.999 514.618 null] +>> endobj +661 0 obj << +/Font << /F78 368 0 R /F80 371 0 R /F101 484 0 R /F88 386 0 R /F8 534 0 R /F11 537 0 R /F17 509 0 R /F122 659 0 R >> +/ProcSet [ /PDF /Text ] +>> endobj +668 0 obj << +/Length 3236 +/Filter /FlateDecode +>> +stream +xÚÝ[[Û6~ϯ˜Gy1fÅ;¹À>t7M‘E›-Ú)°@Ó-µõH®$g&úß÷ð"J²èËÄ“4»`DRyxxxø‹ñU +ø +ãi¯„’H§ìjqÿ"½ºƒWß¾À¾KŠaP‚W¿yñÕ+©®ÒB\ݬl›å/ Íyš û_Ìæ8…ç«Ù¯7ÿ´Ý%Â’šîD Í©ÿæçÙ\ä
üÇÉ?lùÆþmÿÿ˶¿±åŸfs*Yòuø€$/ÃàfÚþÃtrŽeþõwvt˜ƒt³Þؖ׃)¾NA)Rª£VKTŠ±Y<NRÓûÅ77mTi$áã4ÆÓ9Õ)JS†”йJ]i˜™ûS¶ÝÔ«Eù‹#I¥}'–"Á¤ï¹vïqŠû@²àþ}³ÍÓ!°D2í8Sø÷*>¯"ߧ²G‚Œÿû`_¨$n_°Ž`Ä·}î‹22 †’¾ê{ Tø‰®§Cp”*|™†J¦=•Ùc„J +½ØUßë;/£òåïQ>¥ÎÛÌ?>Dä¼ãâÊ07ÐÝ÷oá˜û‰OÑNàˆÐþ{||ÿû^ϱL% +Q¬ÜqßTmç‘“¤]ç®°6YmŠ4YíÊE[T¥{±ÌÛ¼!Ë—®~û>ÆÎÝ2êÉ2¢´“ù¿ÅÙÈ¡ˆ³‘MÙx\G\4‡fŸò ˜Ù…>¬ó:©Š(ߣUŽÖ*i)ÏælpB´´+–°nÆï +ýÆ«VŠ½ò~ÕéÝ eo¦Ó1…T7N¹»Ïëbáæoce74(è257*‚»c—Ï0O·uÞ4®¿IµòÏ2w…~l¨€¨`•Üíf8¹ÏËöÚ·–ËéÎ`¡ÁSU:(”Òî"z7#/òƸª«ûˆWH¤ê9T(;K…²¡zØÛê°²¶Šêzq9™L³:”^õ½NYøýmÚ|Û„ž²˜!4Ï3)ÖCç
92¾É‘‰ˆB€KÏœ*À˜ŒÚ‰ÑfgD—Jw +©‚µƒ*1o.ƒ™‘•¾^Þmü7÷yÖìj×Ñ|SZ´s&–ùŒ¥É]=ƒosßéŠb1X2ûÎOéŠN›Ç‡q:Í`ÕÙºòiWÎÓ”%PíÉWÉ®ü¬ûÊéeÅâzoæáÀ±€ÎšÔIã•–€{^‹Ñ¯ª:¢lH‹<,-–ô[ +Pðs\2‚EZ^# 1ØA4`åt¨cYg††sæ0ñ¦É¦ª¶¾iåž™{ÁæÛ¼Í6®®š¼msäj¯W®‹„$ež/ýÀu¶,ì†÷þ7×îÕ®ñÝ›ê>o×EyçI(~3{ï_:Y†ÂªÚlœ,CO4e[d‘#®m‹¿8bl ¸e+_aeY9ääW®_àæ€ðAëƾmʦ
G’¨/Ï´9DÂãôÆcˆêúØ‹ùB«aŸNqœNúÑ7ó§±Á^F–!@iÊñ2FƒXp/œ ícmŸ'\Dg^DO3φy!Q+üIŒ)ÊÕ#ûìe¯)iš:}d +µUâw£›úmÞ>äy¹×«}0º¬r•ÎhbÌQp«±'oà‰ƒ¢âGl—Ž;½õ0YpêøSwð9iÜC;ž×MÞí½EL1XHcÆÛªÃØ°Ý´Q#$c/1Êñ` +`?àò®¨vfgèÐ`Þßg@T×{_ÅÀ$kVÉœ# +v¼ð-‹E»V4@N|·‡¢]Gì9œctERõ¦Éf±;jiŠ‹ÊN‘ó¶“×Êç)X$úYPþ3D0>Êçg)óK"-ÇA¾ø¤ ÿt€C~Zÿ´ +Ñ„‰0&Xp= +ѧ}ˆ +ÑÓà<ý!ú4y]:rœ-¬Ò3‚Õ +ÐÝ'V?Eë¢ÛuÌó’´s44$‡¦í`Ñ04#㳣Ъ‹B«±sÖ¼(ü4Þ nZÓì.*À‰‚ +¦0Ó)†ÍOgÜ»úîÊ~ü6üRiòcŠ¢ûcbèfÕù©t—büó§É CNµÈÂv»š`;T˜Õ¬?iÔYÀ.w§þ>{¥IRQ*äfG! +áësN°J¶uµÜ-lb¡v ŽÊx¤ÞßU¥Kq„jÖ®¯]‡Î¨Ë
Ù€ŒšãÓö©‹öœÂè æîԗ󥡋9065÷™Ï#J(Øm‚
$Ø(‘<êN`jèNðsWnžOTG—ÓxL\9N–1L² +endobj +667 0 obj << +/Type /Page +/Contents 668 0 R +/Resources 666 0 R +/MediaBox [0 0 612 792] +/Parent 660 0 R +/Annots [ 670 0 R ] +>> endobj +670 0 obj << +/Type /Annot +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [361.54 156.707 383.458 168.612] +/Subtype /Link +/A << /S /GoTo /D (subsubsection.3.2.3) >> +>> endobj +669 0 obj << +/D [667 0 R /XYZ 110.999 687.904 null] +>> endobj +194 0 obj << +/D [667 0 R /XYZ 110.999 239.805 null] +>> endobj +666 0 obj << +/Font << /F78 368 0 R /F88 386 0 R /F80 371 0 R /F101 484 0 R /F17 509 0 R /F8 534 0 R /F122 659 0 R >> +/ProcSet [ /PDF /Text ] +>> endobj +673 0 obj << +/Length 3575 +/Filter /FlateDecode +>> +stream +xÚÍkã¶ñûýŠA¼ÀšII”ò-IïÒ+Ú$h]$@ ²-¯…Ø’+ɹÛùïII½»—&@±Àš/‘3ÃyåMòFÊHäy~“fFäQ|³9¾Šn`êËWÒ.‰„R1´`êóÕ«OÞ˜ì&yšÞ¬v´bµý~¡ï–I´ô?½[Ê~ßÜý¸ú-7BËU*òDÛoþy·LÕâ+ø/_P{EÿßÒÿ¯iü+jÿãn©M¼øÌ ò›{XR)dœÛÍ¿™žˆXÇvú¯´;œ¡Ü©+y;:âËùZ‹,sð¶*‹¤DäåBâêW¯Wžl:Ë…£M—:D)hÄ"Kó1qs8M‰»ÚŸ»{ A"Å®/[nöûÑbÓE½eh³Ñ÷2J…”ÆîòƒÔqwlš~¿-úâ{»<–§À FÚÕ{ž—‘ +iŸ;ÚKÍq™ˆýŠ@³4í´?ß©dQζە=C¸~ÎNÎÈT:Ž²ŸÐyÃRƒœJOµ”>r‚·T …ÕŽ›ºäƾ踱.Ëš[çîN.Ê-à ù2d,ò8ž\Åjo¿¿*Ö è/Bø¹äzz +";òµe×7ðèÝYO +˜É„Ì“?TÀR¡ÏëMH“ ; <Í¿Ë’es™9¡íçÀJ"kÂ=xŒïy°,6{nÕÀr±\Šú'9Tt«Ðªð*ebI?€?”<ˆ’cE×(´²áÁMS÷…û¼èíÆeÑõvÝ;È.®ÏÇuÙv÷<Õ•(‚}¹eÔ\ƒœŽùn_õew*6Qœ“¸öÆQtèæ‹5ò"s"x¾C„Z +×y `3”ãsþµdƒiK$+Z× BÀAVHˆðÛ–'`²v§ìQ.Bœ•)¡¼r?¿øXÄÞŸX:ý–Š4K&äñr4Ù]‚7’:cóÜ\ùÍ7MÓn«n/šÿüsjªºÜ~[W}U¸ãØ(a +Ù¯‰à׊`>ðnÙÚFõPáθ·3ÝÅ +Ô@ÇΞ¼Úã–J +O¨qdÂÕk‹
ivìP± +¤Q,#YðpYÇ¿›ã7ÓvñÍ2‘J'à=-¿÷¼ßúN´pVÞÂB¸.#uÈ^½Ó¯UýÒR$i>Ò˜ÇÝ Q³Ä|€77#“³.wM‹ÆvàÐ ýyç„ Ä÷3P É‚´Yõ¨k¢:Ì÷{ +õ†Õ +V¹˜E×#v£Õ3ź¥8wÄYã›sû3‚a»¬‡`¾lÄÇÖUÈ8ê8ÊÄ#’!½vÕ¡ÙF»xÌcÞ6ê(]‹Gnàµé(Y€ôoÊmi§×v¶pTÃâ‹¿lä¡ß Êï¹·[ç#È5†‘®q½Ú‘§ +\ =‘g›"cbÈh<£!*(”ºDÈÄ]öß(}Cÿ¿§_Ìo¢€Ü{hƒW +'‘»lUMæUM–Y7•‡,T§,XÇÓ=KŒU0p(Öå¡CwùY_ü„>Bi¿$ÃUßYoEK"ÎøÞìõD@ +0oÙâálmŽðÏ¡â%k>!ÛqÛ…Ø·¤l«
Ù[èú`ÀAcƒE]ò–`g `x,ÈÏÂ>Qì´>^{Fß`½˜xZÛ‰¾`“@ +a©rIèäh¨ve[Öä—å’•1ÎÖ<ÍäÕ\0cMo.¢¼ð
.$Ìsy¡Öp„¢X6ù4u%ÄŽcN=âDJhn™5xî©g-ra;‹ƒ÷
óȃt„èÂZÊü§|ꀯ*_ö³Å‰ø47ÎNÂÞÜ‘»<¡Ëƒ5ƒ«{ÏÀæ5O5îk¾PÙ¶N£`¯àÙ-°ÔïyÀú²¸ÃÎïÉ–ùB–¡'äÔÔ[ô=&^nt© ŸÊúáŸr¡5¸Ö–±Æ»ïšƒõ@ +©õÐý÷…kó[á‚€9i$gyÜËÿTà_ÿï,F^ßœ€ø®”7ê~/È®ïw™wE)‘%ëUTí3‘TåãÍL´À[ÆJ/ìšËìJGæu“L +õléÅþ¨¢Á2Ê/™ÐñUÂe–‰$AÏ4WAü‚꛺¥N…1<L©Ðþî) Š9n‹}Øn³ØÙ4‹m¬‘†ÆÆ¢@›Ó6àÆ)ò€W\„ƒX"Œ–J(€|Mà/ÄêfýÎnk³Æî{öÜfBzÝöQ¨ªœÄÉ%†µK3GBgÓ¤ ×Z[é¹8xr&J»“!N>¸lù6U‘j1ó¡þqÞ”&Ú;LK¿óiõInÓ¾Þ^†X_2ŠÓ„\œ,’CÁóô¿XAúÂJcU/OE)“ÀFp^ò²7¿àÜœz!‹7çþ: @¢L¿ð5D(â–`¹så$Óð»ÎX'Š¸fx‹`Çö¶AÕJ³vvlÝ`Ie´NR»°ƒ”¼Or +‡| +;>…k.’ë0]
Û´v£Â¥…ÅË]sF~Óé(
¢
§A´/Ìj_>ÑÓ„žæ +OzÐ'±‚ytíûëX&¨Zû5„u¦Wuw¹¦+7
{üœqÄÄMíÖP¼‹@,Ë–RóäÐcsÆü¶âD”Žô¢ÃìÏc `’"šL,#·òþVÝßêûÛø×_l*:-\/€`[^|Ðá+ +añôc‰©ç…íÙÒŠšf>å±×ìñ·@(T8ÖX$ +î:å[Ä“èùô16f\„oÆÙ°”ë—Süd¨h\=Ôtµ£Ï‡G(dqâŒÅe,Ð÷¼a‰_ ‰ã»˜ˆ`sY,¼ŠŒgc_l8‚‘ª©V¹JŠÇê$
W9?L/„QŒÀÍðܪçQĽË~cë+³Û”Ñ¡VC
+lÚ‹ƒè—•®:äŠ=,˜TêlÕÇ!Éä +*zp|`Éuî|¬Óꀳ¡Dfdàè»e"Z…ˆSs(Z‚á²/…B`$à²ùð§Ú]è÷"
é“Q¤;¶üˆÅàÛ8^Ó.Ü3¬<–?±µ¯ZL>y§Fää8—RAÅäá'J¦Bª—Ä¿t(©~RU‰RÜóX¶ï°7}©¥ÒX¤Z]ÖÀÜÓ®«5¢¡´FóðÉùÞqJC\ÆáJ'½tå¨+µ(|å|%s¥LtG<{xÞ¦7‘QdB¹H÷z’¨ü/«‹Â$endstream +endobj +672 0 obj << +/Type /Page +/Contents 673 0 R +/Resources 671 0 R +/MediaBox [0 0 612 792] +/Parent 660 0 R +/Annots [ 675 0 R ] +>> endobj +675 0 obj << +/Type /Annot +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [154.927 506.42 176.845 517.363] +/Subtype /Link +/A << /S /GoTo /D (subsubsection.3.2.3) >> +>> endobj +674 0 obj << +/D [672 0 R /XYZ 110.999 687.904 null] +>> endobj +671 0 obj << +/Font << /F78 368 0 R /F88 386 0 R /F80 371 0 R /F101 484 0 R >> +/ProcSet [ /PDF /Text ] +>> endobj +678 0 obj << +/Length 3259 +/Filter /FlateDecode +>> +stream +xÚ¥kã¶ñûýŠAmÀfDJÔ#ß.éåQ¤wº +$ùÀ•éµp¶åJòmAþ{çEZ²u¹k‹,rø˜ápÞ\}—ÀŸ¾Ó:QUUÝåe¡ª$»«¯’»'úî•–)‰2&ƒ}ýðêËo‹ò®TUžß=liÆÃæçEº\Ûd¡è7_®ußo—¿>ü¦J)N7¹ªl*kþ¹\çfñ~õâj?ÐïôûŽào©ýå:-²Åë¸À,þ7´äZ鬒ͺEnU–f2ü#í8LÀú@F(¾»E‘¦ª,ýpZS&ZãáõÂàìWo"ÛÒ²R,NæxºN«D%‰F¦Ê¼3·l阹;Ϥ”£A]ª´ÊeÆ/:ÍÎ}s|Š$Çy@2P"óêöppÇ
^éEíŽÇvÀ¶YÛîàöûyôü=÷~ÃãÍ‘!ÃÎ3 󧽫ýÁ— +F`°þCÓµG¸bä$(t¾=÷míöÜ$vàwâàdÞÕ&Š¡ïðbŸ›ÞO7uÛ¥±‹¯ÙÄ‘ýù±÷ÿ>G2ڣ;.Ÿa+UFóâÚßYgªÊ2˜nUªyÁkÄ^Àðcý 0ùº¡sB¿v½_ñŒ—öÌ
–Hhœö¤NÊ<jƒçÃ#É?nû´´×ûû
‘€¬ö8µ}ƒ.Øž`-µúöà‡ +
u÷Íû¥^Ïp#ï¢VQâ~¿×`¬aá½ùã÷_À\O8¥«{
PýÇÓ +•F…ÀK…{ûÞwÄh²‰0ùâàjبko)+°Iv¤¿"@VF¦>7$ˆÄÉ©©GjIúû'·?ƒ¬Üê`¢l®eS}‹Ôª¤Ã«Ûå™*Ò@½ùÔj"еbS—ॠ+N»óýÐvÈ"D3|î±Emû€?‚ýP<hOlÛŽˆMæ¸Á)n~šôµÎs•ÛêäV’)kÌg¼Fþ¥UDöbè¶3ªÞ¨¼qûm¾ŸÓÚ2WiqQZ’EcÁ9˜br¦·í€¼H2 íxšˆF#hÊÖÄ^”ŒÇçÖFb¦?÷xV¹ÓÉ;ôpDIËØ:¿3ƒfBì¼ç×-u¹x:“¯©Œn˜gú.δ!Ú!6h4G`ÐÆlžñ ˆ7³bÀ{î Á¯ãê,·zBv_øû¼kߟ VZ1 +Þ
=CEÿ«Å›w? +¤e€ãnd:€bD(+;χ/À~MOjÁÁlíOè…'ÜKߎҊª …4ª*EjÿNy÷ôûÓ(Ÿøf&Úª”ÑÁ‰4ÇÁwG90 v› t £d`(%Љñ<Žx +ÀÐ&<ùÙø4³çI©Š¸;™4Ø +e7o;0:®{‰ðxh:ÞG'z,ZÀ‰ÌDÊ‹ØyÁ^|ÙB¿ŸI,óHÑÓ€8-ˆAÍ„Íß·¨ÅÏc]ŽU©P|)±ÐÍ0ÜT‘}^±Çf·5º2V½8*<ïÑôIÙ‹CÆK
ª¹"´œÔ†œÔÌä¶õBêS;Y²m÷{> X§R¤ÞNûèþ!w0åÔfïx•èô¦µ QVÖ>d=MÿÕut
éd‰ÅЫÑz\1½®œBÆ©³q9ºœ©˜’¤»÷^”›’îBÎôEH ä›rYä^©`\²º7± ·Éç°}T·2§*#ÂÅyIZr +¸/âFq–4Ig„_ÛK k™#ÚŠ» +ó‰øb®uðƒŸÑ:“X•ÄW†Ù8íÊ/¥zÞYÉTvAC9¢B‚eHcéûölÁAn1àŸÖ}âÉ +=ëb³êbMgãT•6D¤d4h'¢ªH¨` ‘Ë©A‘„8•r8¸n<Ê8„ÃJž
”ÀB$•ùÜH@ñN ÒÔž‡ÓYÆüBŽ¦1+‹JÙiº~U2ÖŽU`Å©·Ø‘Ëç>G9D"‹FBœäçè$‘]Zþ^%¥²Ó0ž”“ýµ(Càɤ–k-_²o‡ÁKgRromM–!½è€µñU‹·-Æq¨õ&æÑ<[ÌRÏ=0àçý&ÌHŽ¾òîƒy³ž½ŸyY0e®ò<ÿ„½½rþ¥ŠóU¶òñ\ç7Fús¬k•C”\LƒM*û‘/z$ùhÚsëª=¤õs²Ñô¯ +ƒŠŸeA2ª÷&ªŒÅ½ÝL¬Jš‡s÷'_ßn¡!’Ž‰csKÓx‡_ŸY?V¯O‘0Žˆ&›@–_ØÏ#b¦Â¸® Îó«š0éVY‘¨K³›Z’Î +ÂÝsÇ™$Õî’ª9´J2^œÌ'P<pyŸ¥”ÿÿ¥¤S~L"HUdåØö"5’ÓqüŽoasr^@B—Œ£òþЂÎPÐzûœ +k*ôŠ˜$SIZ]ÕèäyÁåøÛããÞßs/¼Á@sTÐÅ®Hd^^ž™ -äâ8‘›Â}Üùò½1íÐ%Ç’D;ìҦä(n¾žâÜ(w„£ô¶qëz!†ˆY:WÝ0ÓÑdq&®Øç!$¹h'f©Y$§°‘;…8MÀ’2 +ËBSW£\Œ)¸v=‘焽mù{ê¼ÔˆcÀÁÕ]+[ò‹,?ph†ˆ’óxŠÓ¨XQÌ?CÜþÁ¢Ïˆ©UE”èBºXNÃÚ7$–º2È9z¹½bn]ËÿQèð`ùA˜ežÖËhçpñ3ë AQäœà^j"4òõï3ª½®xDéKØ~Á¡#AàµPÕ·ûfóÑÈž£H£ƒÝÛ4zÚÜïøß2Æs ¼î62" ™€Ï¤+™‚µ®=?í¸ïd‹v M’(ƒ¥Ðßd«1k$ôá~/'zÃ@èëß–VJWãÊóˆ.“«Š³“c ‘«æþ½'üwÏäþ$—endstream +endobj +677 0 obj << +/Type /Page +/Contents 678 0 R +/Resources 676 0 R +/MediaBox [0 0 612 792] +/Parent 660 0 R +>> endobj +679 0 obj << +/D [677 0 R /XYZ 110.999 687.904 null] +>> endobj +676 0 obj << +/Font << /F78 368 0 R /F88 386 0 R /F101 484 0 R /F80 371 0 R >> +/ProcSet [ /PDF /Text ] +>> endobj +682 0 obj << +/Length 2981 +/Filter /FlateDecode +>> +stream +xÚÍÛŽë¶ñý|Å>Ú€Íò&Jê[Ú椧h“ Ù¢Md›^‘¥%g³Î¿g.¤¬ÛžÝ4h±Àj4¤†Ã¹iu'áOÝ)%Ežçw.KE.íÝþüNÞ=ÀÐWïT˜"…Ö úÃý»ß½O³»LäÎÝÝiÆýá_+³Þ&r%è¿[o•„çûõ¿ïÿBÓS¡RƒÓµybÂ7ÿXo^}
ÿÕêßÓÿôÿÂMðwëIíê‹þ½úSO¼çÅ)¡lˆ;_<ÖØ0üW¢kè¸ê=a>–øj¾„1"Ë"ÿ°[I¥póøf¿ûò¾›Ér‘ÂÇrI¦[“K!¥ÀŠÌåCáæ°š +wßœÏE}ÀåÒUÙòóÚúµZäSÙz¼øƒÿ(×>ŒŠ6Ž]ç/5p«º8ÃÚb6XTk#T÷ˆwÏ^ö²è'ÚL$™óºÓ¥¹>œæäPb‰žPK¨%"ÕÙP²éêþ7»ó[ü¤•(a’ün«XRB³OÅZËÕesÉ`wû¢f`çâTÔ$xAQý~Χ’©°Qü^»oªdY•µoim9Z§<6eÝ}zÊ¡è +šÖ6uõüâ¤ö4 3Œ²"·¾I„QÌÞý‰6–õ†1ÛMŽºYÚÍx
— §£ÊYZ-¯Ð5a¥µJVÏ{øþ!…Ó‹/Nƒ‡ò¸ÖÉêè/¾î"—°v ×vÅ¥ë‰Ù’^•5‚Õ
E³«Šýëýâ lyX»dµA¬N@CÁgÁ#´$cº¦¯•à76)œr*â'5?}`|ßñRÖ-šä)¹ ˆ8í£Íß(`|‰Q!T}£Ç0€ï-‚ÈÍò™MÏL´Må{¸ûŸöþ±+›:8ƒ´"u#™¡¾,Lìˆ +£îUF“1£cAg2**OЮñQ7õ¶¦zìa
È®DsãÚ)L¸žw`ëV¢ŠQù6`Ógh<›`°mzNÊhB…2ŒÌš€‰‚Wa·â&h*«bWyÁAâ”LÇ•GCéÀW®† m¤M”̓˜L†ÑÆ!¶ùŽÁ.~ù&dÃO¹á¯ÛðÛ 'û5 +v›-dÒ̲j *Êbhº¬I>å‹#$ôÍü…TùHˆ#-xÖûêzðË +ÙBÔíÚ±ƒÛ=¼ºXç–º¬@cáœT íòÉAWXå•ÒM0}®OœìïvIG6ýàAörFʡò“£a®¦Œ¦ms/‹oEuñÅá™_~¨¹æAâF¡±Oïb”v™Ï~³áõ™E5< _¼ñ̬€ñqaE”Æ/܉¤N€÷l®:p„;Ðù…Hey¸íÌò^ê„$ÓÎÑ2j¼s¶ûxuœËxj—ËåkeãéÙÿðtyth’‰4Mg×Ö@œÎ}`±½îÀUãEÖèÒ\‚0$D|[TÐïÏaìòpÇÀß¿zù¦Ü0²)M…—¡ÉøþE +ñ,2ŽžK¨‹½YãÔ +·ïsÒq7½hŒjõ¾ÿ‰CüÄýâµ–ëC¸':¹±xƃ—s%Ÿñ*XKrsG@²;PTxƒÃ;P»Ÿ»O4M>‡û`š‰¦Ï–е èÀÅ4xR—xc9•·õ!L‰ÇÚ:ÑÐjŽóGt‹FäƱ˜d¾4"É`/”©`ðŸÈxB(Kwœšh÷Ê™F*Ò¾/ŸŸiàRávÀÅvŒ¢¾Ÿ‹C`Œ^U5û¢ +RÐÐWÙt~µDÍ\Ñ14YR0ö›k×–TþæÖý… oÅàæ›ÞñJ˜ú<ôÓÿ\ÃMþŒúK
ž¬Þr‹?bo9ìý^úÄ`fèKÞ0³¯™ßþË óé_N$fx';XkñÈX7¿2YTsN§¡/«nN9èºÃüp!4ø°¬å¾è¨‹|_ñ™,ØrŠB\ œè)“Šl’fû{Å›{¨Ò}Û!âø':“(áÏ ¥±²ZdPï-üì)þêi‹4ãZendstream +endobj +681 0 obj << +/Type /Page +/Contents 682 0 R +/Resources 680 0 R +/MediaBox [0 0 612 792] +/Parent 660 0 R +/Annots [ 684 0 R ] +>> endobj +684 0 obj << +/Type /Annot +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [416.206 238.774 438.124 249.718] +/Subtype /Link +/A << /S /GoTo /D (subsubsection.3.2.2) >> +>> endobj +683 0 obj << +/D [681 0 R /XYZ 110.999 687.904 null] +>> endobj +680 0 obj << +/Font << /F78 368 0 R /F88 386 0 R /F80 371 0 R /F101 484 0 R >> +/ProcSet [ /PDF /Text ] +>> endobj +687 0 obj << +/Length 4177 +/Filter /FlateDecode +>> +stream +xÚÕ[Ý“ã8¿¿bÞÈ3Â’%ÀuÜ]qSÅUí݃'q&æ;ØÎíÿ;Ýê–,ÇÊL`¹*¨Ë’Ü’Zýñë–"oø'o¤LDY–7Y‘‹2Ñ7ëÃgÉÍ34ýþ3É]¡”†4½{üì¿Ë‹›B”Yvó¸µ=7ïWéí½IVÂþÍoïeÏ/n¿ü£íž™§Ø]åB댿ùõí}¦Vïà¯\}nË_Øò7·÷i®¹ùKû÷·ž”YgBå†Iýf9T&´*g#}m©?Úòƒýû•¡!¾Y‘¦"-$Ó€µ©ÒdÉ*ÕØó³Ï=ƒÒ¢9|˜Ä¸k1"1´(²2dc #¥!w5“'«uw8Tíf IA×L‹Ds÷ïdªOCÓ>û¹ûni"tá8}·$c„ôKC2‡íqSŽ[·ã’^\I»afKŠ2Iž$‡úo§º]×KbºZºÍÙU·*Yýx+ÍŠ?:.ÕK‡ºjqöeW÷\ýÈٶ뗓¹W¦®û¥¥1~RÇ}7âB#“2"W…›?|bhÒU5Ð'%³Õ½m:zFÏr‡8à¶ÙÇ8Q +¥ÓiФzêÄœ… ¬d¤F<Wmu{:<Õ½åÌÅéH“‰r¶Ù¯ìÎlj×0VýhE„7Èó3³íÁL{ØPù͸£R]¹Ôַʬ>ÐËúÔÓ‚çiB%¸W‰HÀÖX‹"¬IÀŽTOõ~ ïQòlá7ÕqlºvË5€½Ò%LÔˆT1ëäË’-Õ7ù(s«>(¡n?Ç£-?¶é÷åÓBIÇðÇñL˜ÂÌhË´”d&Ò¤ô&ÈnE ‚šÃú´H¶hœÔª³<aÎæ!ƒ‘¥ÛÕC
Âx›&«.¦çÐÕ(·ðf ºMKÏz‹[¹×·r5RÕ¡Z÷]ÄLå9x4¹qÛГ½j¨Ò²\Ð"¢›ˆLç¯*BÕÇf¸DË"÷/Y;UÎÖ·®îŸY»,u+DÃ|k»Ñ)–zf¦*ÇedqQXËs.B°XãÙò'+=Ÿ³¥’ýÝï¬h}ˆêc\Ὠ~—$j¦µ(1âe'Á²A¦”“ݵËDÛ >ÎÌÉ-‰(pÒN›%o‘†ã—8l#ZaæVSÒ”+fXµßßQͺ–“«îyiÕfSo˜·U‘ËŠc³O®ãÓUZ¾.¼Ø+£+Ö^l +“†jôš–E&W"O羄&UÚ¯|1-Á²9Ñ>/i +¦ô\†ûÐúñ‡šŠëj¨^E³=k6«˜6oÒ`«5øò"Ÿë§“±Ð–tÿBUë]Õ>×½t=5ƒ¼5ÖYñg=_ºwØtë®;O×
a·z´üM[[ÉõT̪¯µüiBÙêØwëz1A'ë—Ï7ÀùÉieÑMÖ¨À\Ú“(ÞCÂíNDî}Ð…¾º¼Ûño-eÎK—ò#\<41(ëq’‰L^¡Æô‘u~@¸ë7µ¬£*@ËG—}=ò༥ÓP`©J¥¯Ë ‚ˆ Ú0 ú{‰ŒÎÎüáû¥•ùÃK¦Ú™Ù¿žœšj-Œ±.j×üý‡‘°›W:Œ‘U=ÙÁ×]ÅÝòkˆ¼<ð}kð—èàêÊÁÑýãÂòå•›`wD ,÷ÇÈn ª,åu»ñO2_Òhк|ýÏÍ?>QbŽUÓ#¿î÷Ml.)xÛ¢¼’eÿé\fÛGÑÉ+›˜?ù77âÉ,).lâ™ö,”}›…=ºòê06 †E+ +h]é@¸5Q&À…ãþÔW{ŽBtº`¼pâ0 ¡,%‡ÌðRû¦Ž1ÂÎ4¿&f΃„Ž#0θhLñHÝ–§XõÄuïPm)½éŒmh@-¶”%CxŽPS‹Õ3c[õ¸C¤<rGDÔX°“XšQˆ&2þþ]ƒ„# s(Øý‡ˆ‘E™ÝL]š%3‘xÃиUÒãGŒ]ª}ÃÌ nBÁržž›¸ÑTµ%Š$–»ª`òòº]Íuy&ô,çâ¨Ù~=rÌ’–Ò´Tx⊡Æ9Úí´Õ/\}DSuG/œ–Û7¯ÂE¤:Á07—²ŠðŽ»Œí Ï‚JSø‡twÝi¿‰íj‚ÅÂcõ1šàš@Íåù³¶Cg3YžöUû9]»b`RëY²’RëZƒ½¬z`èô·SÓ[¡‡úi[mcûE@þM[õ/ÔÏ%À4–æ +SH_–aö +íý†tSñ^"DÂ-÷GÃͬºˆ¦k(úóþ8÷ý©Îñ4gCÚí bÝò¼ˆ!A'‰i‘©¹\Û¯ï”Ê?ì‡1ðÊÃ%>×JBt
x„Ñ5Â'nGÙ
0Kø©å„ ò£«ÜÔ—O{þìÜMÛÊ&’«I%Ǹ÷ïöÌ +ªyàŒç¼PZbW=
|z/äú:7£|Ì9¡˜‚B1õ/9ŸŒô+6¹JêsûˆW@”ÿßÀ°V?à|mr£Pä¨Å¬p‰ê}‡½ÛÀá‚íes +bu¬ñÞ×Dm$…XaCxB‰ùÿ‹•™M!à)Ãéì¶Md™*I+æ¢ÿÉHÃZ‰â®ó4µ)ܵÉÔÚÜQåf à"\(Ú-¶© +´¹8[Oü®Câï‡óÝO¤l3kœ©€+ŒÎ¸Lgybo·\s¹ÐδoM˜BüïK²ÕŸœÄ×’äÁaÄÕšO~”DÄZf-ßm•ÁE"—Trco(¼yG¥ŒßQÉ®¿£Â‰ +endobj +686 0 obj << +/Type /Page +/Contents 687 0 R +/Resources 685 0 R +/MediaBox [0 0 612 792] +/Parent 689 0 R +>> endobj +688 0 obj << +/D [686 0 R /XYZ 110.999 687.904 null] +>> endobj +198 0 obj << +/D [686 0 R /XYZ 110.999 620.915 null] +>> endobj +202 0 obj << +/D [686 0 R /XYZ 110.999 603.71 null] +>> endobj +685 0 obj << +/Font << /F78 368 0 R /F88 386 0 R /F85 373 0 R /F87 383 0 R /F80 371 0 R /F101 484 0 R /F11 537 0 R >> +/ProcSet [ /PDF /Text ] +>> endobj +692 0 obj << +/Length 3642 +/Filter /FlateDecode +>> +stream +xÚ¥ZÛŽãÆ}߯˜·PÀ¨Ãn’M2oÞÄN6pì +nM}¸ë°k õ>tüÚÌLƒç¶¸œø[YsUQÓXür([·Çu>Þ
Ü]p){yk]çÚØÏÉ +Ž|z܃$1ÛBf7p’eÇOÚȯ—¢>àHXÓ7ü<¿àQ:~k›æÌ%š‰†èP?¿iz÷àäß¹S±1¨6CùÂkoo2Õu/Ë:”G<Í£kIÉh¾ÖÏÜŸ +©C¹r
o6œms +1QjHÕTò b +¡§r`Î&\¬*F«²~ž(ižÒFaƒïú¹v€O›Hϼշâ›Øs-V§¨'sÆ©Û¶¨Ÿ¿°
C¡¿] +Ð@eÃt¦} ®gT…pb£B;NóѵUñâªRt¤M“•d´§rÑ’ÅäAÇžÑûpúVûÂáàëØ|soiÙàM¸a/N2êįBµ«ŠKOì“¡t.nbˆÀ«t>7ÄK;9MrÀI$|J·6Ç/âÀ!t\³Ã]¥W)OO#:~å•bã97€rêðÄ…½‘N9À—¦•Îû¦îÊ®–ØŸ +)‰Ã@~^\{.»®ØUòÁã :®à…cWÖ´n©ÌÚBãõñìúâÒtýŠY•¥Þ•=.‡Æ6D¯xíF‰ß6ʺ5ÃÉÇÉ0 +€FPdoô68õ)‰žÄÊŠc•oåS_Br´ Çßm’$ ·é)Ò·šŸì>©miËϯ-7@â¤1Q5hFFCU¥¶ë®Ä†)DË– C ¨vÓ|V¥í±,UÐæ>¢rUt=… ”(-wîÈŽÃzG‰½Á‹’'Ã^%nÏ7ìø±–Œ»° +P°¯_xˆ/Ø.™”oÍ•;r¤öidÂË¥ºÍ«¦ÌIœ²lt*1ÏDh+vÞc]aÐÒ‘“‡×¯6’ÅÁ¯¸žT+&b@å3TMK¶ŠÂd7Ç©õ oDÚ&°E^ú5à›œOb=“äÓ¬¼Í%@U²]§?rq!©{l„@6µoÅFßÐ[NëO™ßöByr +ðh »¦:p•à5”tÈÏKSÖÒsÀÅïO'¿Õ.Mw·bÀmSà÷¦ñ: +ÙáÓ(%6!-ŸDP€d+d;d–}'ù^Äo+,;µÎû9–Ã,‡ +Öõ¾“ië0-ö@DÄE€S\;IŠðÌ(¼~Åu™,Ti˜¿Õe`ïC¤:@ld0ÿ³ÿE’klýX9žF4³~ºŽ‚ïÀÎêYÒ4“ƒtèøY¥ùÉŒ´B”2ŠWP’+p¢7‹Ÿ\ëóMi¨l<¿Ž©¢„uÎ + +í”ÀpuÓó4•¾£!˜Ô+0>Ímú’ؤP©æä”cz¼ëÒ6}!Y8x“¬/4º‰±Šò^’!Of¾„Ök#PBÒA;p¨~VXÔõ׶&±Zd\Wý˜’´Óü4*¸ŽÉz[K´`‚³ëº‚ð¿òò¡z'5ÌfWþcC×`„‹S‹0Û3dißœÎáÝùJpëçMõg"ëDnÔðù\7”º&ï°B’ñ*?ÏßvI3^Kep4yt䙊¾°9;ׯ9—izôsÎå{Ź +:Q•;öcê™ +ù%‡¤¤[‡Œi:mu¾±M"e“læ4žÖsï93»•{%LŒGsCDNF¶ÉHm"¹+þ!™ì^(ˆ‚cŠÊÏ“ýÔܬ87WN%â÷vOvü=ˆÌ毷 CIdî~ærql¡eúH$œ…Nðvi:ú9»=¬(Úâì0J$˜€êtBA¡PP4÷_i‡Ì¦fà +v ŒDÔâÃZ>(É'Tc¿zýp3,ìýëýËa7¸¿Yo†(´nROˆÙNBÔƒyÒ¨&@K}¶µ/9‰ˆÉnqð±Ÿ\êZ ¹ù“ f†:¼ÜT».ZV¥’ƳƦcΞàq¨õI}ß°–¼ú©iËßšºç…§¼pÅe¹Ÿô*ñj„ïÛ97÷;Î\
ø…ܬýŽÓÿŒsö#Ïÿ‚…qendstream +endobj +691 0 obj << +/Type /Page +/Contents 692 0 R +/Resources 690 0 R +/MediaBox [0 0 612 792] +/Parent 689 0 R +>> endobj +693 0 obj << +/D [691 0 R /XYZ 110.999 687.904 null] +>> endobj +690 0 obj << +/Font << /F78 368 0 R /F88 386 0 R /F87 383 0 R /F11 537 0 R /F80 371 0 R /F101 484 0 R >> +/ProcSet [ /PDF /Text ] +>> endobj +696 0 obj << +/Length 4310 +/Filter /FlateDecode +>> +stream +xÚ½;]o丑ïû+ü¶mÀfÄ}åž²¹M0‡Ùdp㇠+þuì‡ +#âôœžûåK€2ʼFƒÃ +&ò`×e4>¸€ÿ&WóÏ£Ò¹0Ht,´$uq÷€ª\í´vÌêP›’_X%Žû +À¯h/¬yƒqwÖþH
l‰±‚C%-Þí°¸pÈFè?£·JˆUó’wZ iòo&¦8£]ø˜Ldyr5©–Ì›J)l\IÁkx‰G‡¶¯Ðè0;ÃË•Q$2ÿ6yœ-Ôä+ëL¿emóâ:q¯Áì*3óEÐ~Ü,éPR¤:¿Pûž·A^>^YºSJ‚ãVm¨¹G«b[ÖåƒgA¡šAu MǯíÉ€FÛðÛv8)º¬<k½$jzœo–ŸÇ"q+Z¿åãî-oùø鵉u]ˆupNëž_F#ÍÝoÅDŸ@Ï*4xZÆ»V0¬j>”‚ø|Æ™àŽNf¿¤Å€NIÌxH¢ªÙÔÇ-űӘØ(>{ L-É}‡N±Ù´Çf NP’bðE—/¸ýÖ¡•?- ¨!ææÑ)¶ºlw»¾ìw‚þš("”ؼ)ƒ[g1¸³Ÿ˜@’êÕ¶Ü]ƒÅ*Žõ@ +YîÁ°‚˜ÜS/ÄK4{Q/˜iÉØd
Nq{†v<Quß´]¹E~¢ãÝ„DbƒT°|9‹<0rĈ:AÚà³x +3cžD,¶ò‹n'íyGæn‹–?e8F/jt€Õ:2øêŸHU×ß3šöå¦m¶ßÓ[Š +_¨œ¾Ìøeï¿,0!ÄÍƺêÉTAÛ +KÏ^þ;þ¶¯Àð?»(¢?ºuïÁë¯À%ÄHbž-âÀ€‚lÜ@W~ávuS¶£ ¡¡³ckn¶Ýƒ÷Âб +§5{ +5ÆCÁ4€D^éLu6Ʀ#ià9f«ûãÞžº|D»ÇòµM{@Ïgœdc{_<» ¾ý©Š€´íÙ¡¨8Í@þ +¥q†’Ò—™0y,h´Sü|Z–S0—ã¯.OvÆw9°`&a¥ä]ë(b'-TjT"MóËR££EÎ$b®\Z +z¢W.B;ÝT ö#“Ùïጀtxåÿ +Õö á“ÎÐ&›£"kLè>¨ +ÞUî>èÉ$“ëîÔíä‰)Ä;„É¥7¸G[˜½Ñ§Ë^¾r{Û¿É4œ˜Ü&1æ!Ù°)¬ÃýÖŠä¾xzÙp0œÞ{%ĺyÛ=é]ü9IØ•HòË*’o.Œ2C9v>[²0ÉÄú†àS¢ +T)GŸ$<ÜÍi{ÅÊ>HøÈk~æLÈù™°±Ü,¢áäò–»T5^+ó/±J[okÝç|elÍX@ì8†ƒeî±õ~Y§Ti!^fÇŸwÙßt…ä_¡t»!¼naÔ%ªà{¼æÁŒë¹Î8C]`½Èó8v-•2ú“Âeè8Z´}±é8œz¬ÐÙ°a׸úyÃÉN¼ì‚><ßòiç»0þj±Cµ¡e|û£{÷ˆw‰ì…% +Û + +™g4’\-T'LºñÀ† nƒìÇÀwò–17Ëɲ…YÔ"‡®åª¸Z¢ÚJ†ñÄžª1 +endobj +695 0 obj << +/Type /Page +/Contents 696 0 R +/Resources 694 0 R +/MediaBox [0 0 612 792] +/Parent 689 0 R +/Annots [ 698 0 R ] +>> endobj +698 0 obj << +/Type /Annot +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [157.872 626.36 179.79 636.915] +/Subtype /Link +/A << /S /GoTo /D (subsubsection.3.7.2) >> +>> endobj +697 0 obj << +/D [695 0 R /XYZ 110.999 687.904 null] +>> endobj +694 0 obj << +/Font << /F78 368 0 R /F88 386 0 R /F80 371 0 R /F101 484 0 R /F11 537 0 R /F87 383 0 R >> +/ProcSet [ /PDF /Text ] +>> endobj +701 0 obj << +/Length 3816 +/Filter /FlateDecode +>> +stream +xÚkã¶ñ{~Å~‹xY‘z÷Û%½W$m‘l‹I€he®D–\IÎÞ¶èï¼HI–öâ4ÁáÖä‡ó¦ô] +3-8àl&“`¦8ó£·žAa–«kÜ»ó@F¤²$÷lÌ‚»v +§l<2:ÐãX«Ü9OÅûç=Ï™.7™ŠòPæTþ ~<UF;®Í +ª4L~7^WÝêx³JI¢’,¿‘’ÎÂM‡ÉF+Ã
¤
)@‚ƒ:ÛŸm9T[o~Æ]mý²Mb¸Þ{‚[Ô̱á;FCYœ‡ªm–tD¹ +RGçðr¶½zÞ±r¢Ûêls¸œl30dx®JË~^ôˆøîÞ$ˆuxw¯µÊã˜pî[ÛóÌ©„©!.EJÐ=…¢Jò¹ n2Àè¦<ÐV°I`Ce"Cà·Î ?Bÿùñ6Ž7ý +‹@=òt¡ר$ò3ƒXïø4ÃÑ3 0]?´: xhå׺1ág¶y®¶z³Ž;îzL½-[wñ#¢§¶ãFg‹Zqóáh;vBÝ@« Ñr Ñ|é- 0`‡ªž‹ýÏUo÷+Òh¥Š5í°ä†ŽU*,âÒ +Þ¦¬/{+ÈÎîêö±¨e ï«nPŒz·’‰Øp×ÀPÒ®÷ƒâ³qIÍ„ëÝÌLcwþùƒpݬ`7¼m!åC¬‡®8±mŽÅÖ¢w<¸¯žPŸà"P+pÒs—ÚïF’¸ñ¼ÕÁ¦å)¤ê-a,•:[À™©vËâ–mQ +%- îPª…+à®’Ü,¸jý +W@B´¹•+žCñƒtPŸ.õPkË=4„xîPÜ´·‡¹É¦¦=Â9dÔ>
÷2JÒ®:‡û/ýP¡zY£a™(íy`D¨Äˆ4$åŸ2‚ï +ƒTY4cQûô!
|®jÑÞG7Œ”òŒXu¤òhŽóÑ~cÅîf }ÙmÒ«Ô¸©;Æøöý¹®ÊŠØû›I6`ê¹}*^xøQÑoz1¢Ù/ü{é+´GîkK€qÔ„^ü¿bòñQÙžN ÈŠ±>° €²ç¢+îÅQæ™JÒ™™¦G vx¶V:|/Qˆ +3´'Ò¥MÏU9\È´ +sËÂï#£Ç¢9op›‚Mžƒ²eÇ¿{ëáx’`Eß@JúŸªó’™F¦ÉÔ Ÿž€p'ó~É”±Y6‰·(Ôà
~è.¶û˜{µmhN¦.åËâtn»A +A\÷R‡ +‡âxí«½´PšgCȔÂÎå{"è»Ñúz8â5và¬`oO;ùKjžìpl÷n8è/èT±WΕ5LB©²ÿ3FM×cT}KŒ +É_¢t2·ŽUŠóìZtžVè<^3É1Õ›¸§ê€vdyB£"ŸmŠ ªº¶ÁXNî·!k‡ûì!|múÑ•ÍÓ 3XØ£E§¿Ü:1*7f‘´M&*ôÄy|-ÑA¼I‡ž +$
õ Ó†;öN“[È”²—JFÀ0H_y¨;Üqãë/|]`‘І°ç5FHB¢0žg˯"@.3}'â4Å„¨à.¤t3@6•mJgm†ç-Cd#¡÷ <&aüålŠ‘9óž-Ã(Æ-!kh×Rø‘mäG¨h1^ynxÒDšàI˜Ï˜SQvmÏÖÛ(G»7¯\|ÛHñå³…
s{ú;Y쯷:ßüƒšo¥B¥—oȪ»9ò×hª—»ÂÌhÿò£xðX520®_«:NðØà'ÂÑØ×Å£;Ço—†$€óèë%ŠD±VðÏÙ¼N‘eëH¾_¡B`¢ÌT`@¿‚"R±/`½B‚Óîï—Ë!ŸÉneù¨ºÈsÒÛxðŸßF +-˜—À©Q6WÂÑ+gq R=»Ñy
@xF¶A±UàO´ÁL…ËñæÜVÌ£ A˜¿ï¸O©½_Ž)&p±÷0Lø¦])öõYœÿîFh^0|Ì䨷•·Z¢hí¢h89ÜÌiy#8uoïñ<¿Íž½_.‡°7o³æ»õÍo,¿¿¬îmnܛ⩕è„áæ¬FBaK"ê–A°^ª +
_.©l +Gù¥žkIúa-qHþ(Ç{º¢Z +µh¢¹¬ÝíyÆŠßL
tû±€`\õáW>ftÌWz?ÛÎ=½R +ˆÿ[PÉ#•*yÆÕpÔhþ|ÎitêJÀ0•%œRÈ(%* +endobj +700 0 obj << +/Type /Page +/Contents 701 0 R +/Resources 699 0 R +/MediaBox [0 0 612 792] +/Parent 689 0 R +/Annots [ 703 0 R 704 0 R 705 0 R ] +>> endobj +703 0 obj << +/Type /Annot +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [159.875 494.38 179.302 505.408] +/Subtype /Link +/A << /S /GoTo /D (subsection.3.11) >> +>> endobj +704 0 obj << +/Type /Annot +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [417.733 251.899 432.179 262.843] +/Subtype /Link +/A << /S /GoTo /D (subsection.3.4) >> +>> endobj +705 0 obj << +/Type /Annot +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [452.031 251.899 466.477 262.843] +/Subtype /Link +/A << /S /GoTo /D (subsection.3.5) >> +>> endobj +702 0 obj << +/D [700 0 R /XYZ 110.999 687.904 null] +>> endobj +206 0 obj << +/D [700 0 R /XYZ 110.999 480.168 null] +>> endobj +699 0 obj << +/Font << /F78 368 0 R /F80 371 0 R /F101 484 0 R /F88 386 0 R /F87 383 0 R >> +/ProcSet [ /PDF /Text ] +>> endobj +708 0 obj << +/Length 3148 +/Filter /FlateDecode +>> +stream +xÚÝ]“Û¶ñÝ¿âÞ*eîP H°oic{Üi£¤±óÀ“¨ŠTH*gדÿÞý +qJh°x?¤]ÜG¤jrzb?ì*^p š×›)˜Jj¡¬:#$NcÎB&æW2xÆVžÝIwwê;æÊøB‚µ(št
æTËÀ1±ÿëfäÂkô +’\¶ÿoÊŠd +.yÀŠ8Ññ†„D,·.Ûu”0)¤ÖÿqΚ§9ÿ§¬5/$ñ'Yv‹`iâW#»œx«•nŸWUÑõÜròÂ5X¸¢%¼?›yhÊzèó£E½nöØjѱIÏ[PhnŠwàK×ÃczíHàr¢ +y= +d«¥C•¯‹ÎŸºpöÀÀЙW¾Sl—,šGêQL3Û'ˆc=Æt•àØé([ÜïÊ5R*²‹CÛlŽ¼3ä\°Ü †øûÒFè‰ÑxÕ5\ƒyÄÉrS0#“›ý8¥ÙòEA)Øq4äêä’žaÞç? Ü®M]}àšó§{ÃHäÐr¼}š"ølªp|hÃÞÊ
.å8OæˆN©à®Wxy +¯–Êœdêhª}æ`Ô3”ƒÚ×Ä"|Ðõ±å5»ë³G„îæØìvͱÚ0àmá@š®ìË¥E8üjËÃÄ[h£ÿímsíWUNŸ*%¬™û¥ZɦÜîÊ +¤‰nŽR »O·=C„âJ ®of²_X +^”Ã%¶K‡NMúînIªõ„˵ƒêݬ +þf™)•Æà^©\ãv¢·(Z|“ÓÝ,ë;G<J©@åMqìF½£÷€,%J‚-‹†üù#ïc„”šzñy]®û#yOEÀ”S–dzJLrN(õþ,%µ,ˆ"¦ÖÆ Jè¼-ŠÚÓmÛpcÛ6{ðj ØÙñØ¡-9»–rf€"¡…Œ¹Ä +8ªÐlx-ú +î£Ø‘V9MYçμ‚Zm¼å|M_ç¬5jÊ +mÎ`ç½?vÏR¥[Ú³#ÊuH)Å ùÌÔ»/½½<ã»a=OvÖàMÉ)õÑX¾Ù„¼8v†GDª.îĹ"£Ñ• ãœ÷ƒY'ê68,&¸_bì‚â@®jÀ’ߨ\P¸«˜M5Q8ÂÇ'>ÆÁ5>-ÌÓù A¾,Õä³<‘M=Oà=Œ*>Ø*ûYPQBʦàñ¨¦ Ö :¾’ÿMD0cô²vRÚÊpÁ¤_ÆË*å\$§•Xè¨ý.2ÑI‹bO@_Z+â$#•)/Й2¬4eð.ÈG•¦š(Mwð Þ‡`p0É*k.1§ºlÇ-NAt5Ñ4‰äâ +½ªÈ(F›GUE$“°ªàµé~ByÛâØ578G€• +ñ¢MSÁ©HãôAº""GˆŠSj@¯¹Ï½§Q}]L"85ƒOˆ1°WO4Y}¬ªqËgjFñe‰š3k$µ¿ÎÙûDrÓöÔa\0£ïŠQ8^T%‰ÀÜpp&->Ûsß–=>¬.ê麃„O…R™É±ž»Rµt_Á¾ ~=úHv¸ƒà
±gsìœ9•Ày©qFn”Q³RDáoý§ª“¼Ý¿&á-sendstream +endobj +707 0 obj << +/Type /Page +/Contents 708 0 R +/Resources 706 0 R +/MediaBox [0 0 612 792] +/Parent 689 0 R +/Annots [ 710 0 R ] +>> endobj +710 0 obj << +/Type /Annot +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [342.02 376.965 363.938 387.909] +/Subtype /Link +/A << /S /GoTo /D (subsubsection.3.7.1) >> +>> endobj +709 0 obj << +/D [707 0 R /XYZ 110.999 687.904 null] +>> endobj +210 0 obj << +/D [707 0 R /XYZ 110.999 369.892 null] +>> endobj +706 0 obj << +/Font << /F78 368 0 R /F88 386 0 R /F80 371 0 R /F101 484 0 R /F85 373 0 R >> +/ProcSet [ /PDF /Text ] +>> endobj +713 0 obj << +/Length 3386 +/Filter /FlateDecode +>> +stream +xÚÕZ[ã¶~ß_1oµ1#’"%åm›î´S4›`wŠ¶ÈæA¶å±Yr$9›IÿÞsxH],ú2;»ŠFI‘‡çòÍoøã7œ,I’G, ›ÕîUpóC}Å픀 B†þüðê«»(¾‰Y¢õÍÃÆÌxXÿ0“ó… +fÌüOæÀóûù7Ó#Æ#‰Ó…f‰’ö›ûùB‹Ù7æÿü糚ö;óÿÍ|!£pvg¨ëµùÿ†þ÷ÝEZ0®B»$…ˆÕL&8óÕ›‡îT2NX¾#/d° ÐY¬“áÙØIÏ~¿]âdöTæøá¬ÎöYÚiñà1¥”ýê—a“þ’íóUwˆnf2%";ócÞni‡v›ÑMºËìúAÿ•æ ÊØ~µ¥qð~‚„³h;û–ÞU¤dQ'£|J.âq{DWU¬©gU•mV¶
½¥uÖq¦Hç|¶ÊÖÔq|6h”Ùœ«Ù¯†7(¦tx³àp8`ž%½=Ô›r˜‡, ÝdÝñùÐøÙ,Ak‚ÄžeUíó –Ê#µÛÊõ‚TM÷6]S×2ËJêjÒ¹f¿ í™Ìí]MÍákê[V¿2ê|Øæ
õí5OvÜPC—Q'÷aÚcÈÄ4äKµi‘¶³Ì³ÈšóÀP„¯mEÏU+R{w€-Š6߶Ã1ÛÕÆ>K;xÄ{54Ñ"™ +°~ÌÕøô“EPÍ¢pŒåqìwŒOéæ’ÉÎŒ¹Êèí¾$8$ƒ0!ÉÜ ÍÇÑl•6YsKíSòîÝm¼h-b&ºƒ~‡ +ƒÏHc‡3 +oÆk›VZ®m×a·Ìj7YÝ@Z"?žèÅÂ(Ä`
“{q”w8 +_é2+X•3»Œ;»DøتÝvG"Ì7„øàÊ!,¨;yº¡OZÛgkü¡qbµsQéÚ¶¬“j–æ@™sYm÷mÖíXÏ•šybô21ïÂÐ7£?L
H,î"„KV¸0Ãcƒšê¼ ºá=° >‡šIå,x>½ÎÓbÑV‹e¶ØÔ(|rL–M8຾EY¹v\"áó˜3)â‘ð‡¼\û˜©Xü¿ãåïžÏƵ¸’‚gpR Á¯¤ë³{d±”£ðçÀ3” +GŸOž€Óp¨OkçÆ%ÂÁêjG/69†yE”Ì–OýðTØaÄÄ•ÉÐim“Ó™PÄt?¼!Rš}¶Ê°³õ-YuõǼ±'04GIïBD„©æ8Ã!„+ˆfIDQxYxKb碀EU9p•ëp`½NÝ)‡§Ð„;¼O˜q£‡Ýym0HEK;Ÿ§,²N† SÀ¯“ác'c¶é]î4k†7Ðמòý„rx¢?œæŠ >ïºçô5d:ryyZ{â´àØٺطž˜ +œvAÕiÊÜ.}«Å ¤áB‚±£öµ9ŠˆQˆ´¢*ˆtŽ{¼WF"b¬ÅðQ›„nê×Ýbté! væò´¹Blt†õƒMeCPÈÊël“Õµ +eBÇ) þªNµOG•ª³â£¨²¡õ)uÐŽžeÚæ;q>‚Æ!,^e–Ò–º\¼t¾¶ËAi‰îa€‡œq1:V®ŠŠB'ö:Áú +*Æ/ +“4èc5×z ævV]ì2m
% šSÛëLläe™Õ»ªié•ÒoÜ#Œµ
ãž“œA$¼ž3Áð +è<g”d¡rBܧ¹Òï7ΩJðò8ruè¼ñÕ‘8³;ZYy,@ÀÆN|Íaµ¥Åˆ]t`Ñ°<ÂE+”ÉÎbæÇܳÃGùE7¾Àõæ6x£øB@±89uí2e‡±.Æ<|[µ™·w— _÷–¾bgu1ƒL^”Aš+†©šAþÜ]FžÒ/ Vé“×SæÃÊkÙ×kç^ÁÌu>@•tÔK5Ú'^¿÷NÔÞ¨,§>2‰Y§oÏðÚx1$ù”ã2aÚÜvõD¢Ñ™¸2óÔÛà +òÙDø~Ðï~Ï?úµÿ¼O-&endstream +endobj +712 0 obj << +/Type /Page +/Contents 713 0 R +/Resources 711 0 R +/MediaBox [0 0 612 792] +/Parent 689 0 R +>> endobj +714 0 obj << +/D [712 0 R /XYZ 110.999 687.904 null] +>> endobj +214 0 obj << +/D [712 0 R /XYZ 110.999 606.943 null] +>> endobj +218 0 obj << +/D [712 0 R /XYZ 110.999 370.49 null] +>> endobj +222 0 obj << +/D [712 0 R /XYZ 110.999 301.972 null] +>> endobj +711 0 obj << +/Font << /F78 368 0 R /F88 386 0 R /F80 371 0 R /F101 484 0 R /F85 373 0 R /F11 537 0 R /F17 509 0 R >> +/ProcSet [ /PDF /Text ] +>> endobj +717 0 obj << +/Length 3411 +/Filter /FlateDecode +>> +stream +xÚÝkoãÆñ{~…|¨XÛ}‘\¶Ÿ®í]{-’=IÐ뚢-6©òa[ òß;³³K‘âÊñ]}ARоwgç=³´¸âð'®„à,MÓ«Ø$,åú*ßƯî`èÏŸ 7…3)5Ô`èëÏ~û&1W†¥q|µ¾µ3Ö›.Ôrñ³¿ÂþòåJp(_-ÿµþ«]”0‘(\¤SP£•oÞ¼]®b¾ø~åâõ0{8B*¦t³×óÝ"–ÊÄ
ÿÃnòÊþâ†bñÎÖßØúßmæ|aßÍÓ ÓÊ’iªøBsœùÙëõ€eR–ÀBBÙJ¥œq.¡¢™‰ÓwÆ\¥p’ãî½PºÍ³]ñAcøiŽŠXpÑÄ-.F`{?ÞÖ3“Dn¸tÃfºÚÿ8àb†Khã†ß!„-àhÚWåmÝìwGjÞ¸2£âv) žwuCíz) oš1ãŸðn+™¦£ôj%K£hÀõã%dkÎbü@ÑÓ +׈€Ï¤ßΪZôò“òÌ3¯E*Ë=hÎ=zdVHmßCÙmºJ”ÔU)3%³Ãaw\_ÒT晚ªk–HJð¥a<8….€+#À°ƒ±ýz[ÿh-¨Ôà –6ˆÀ> +A* +«ZïTÛý·Y“åTa3àÐmÑÜ#™ï¸ÔÓ@lWVÅMSdßµC$;õCsrüˆˆÖ“Õ_oœ/%p’-l€¯jKؤ-¨š×û=x -µÊ¡l{‹q7›*ÉOgãÍlé>wônG•¶¿i‹ÿôäèQ +í]ßoF=?ròá*ó+Y(´H`|W·eu7×ã‘aqâùÕf^Û€þÑàzqôŽÖ$ª€ sàúýí¡„92…0ÈkÀ5¨çû²©+´/È׌`}[ai@…£íʼße^—cŒ]‘‡ŒÓ÷Ù‘*UögXïznÜíÁœFW\*=ÍÍ |aJ95µÓôÜ-·~öïkäÇ“vRä¡8áx}k…ÕoGž†Ô]÷][nŠ³9í!Ë]°CÝ‘Ÿ-›IAˆ¶àPE˜nKF®Ç2¬ü̱}p,MbwÈöEgýÛÂzLŵ[µõª¾±¨(ë8J‡º´ŽL±Z%æÞaÏ-•Í:« +bºéÀç6ïl[¸³Æ’ǽq»WnwXÝçyѶ°âú)A©O¼È& ÿ(š‡.Pz$}‰\ÃN$gÓv×ÔjkšBWõã^d¡i!¶3ü}üF™Ûq3FÎoŽ³ÐYÃñÉ]N Åš”_¬ÝNPiÆèv¸Å~xËõX½Ö”¾+'7>/uPfO°¥Z´å¾D¥¥õÙ±¨Ü‡´£C@§ˆ¡Gê +¼në³%)ºßL§¤ì¢™0úê4ç9ûÈûD£}¾ù0§p»o{PGwQÄrV9dYò8¤CIÔ‹æï}æN¥b?s,‚t¼€Œô»î‰ôD‹!ˆ|A¾ºÚCn¬’…Yc^¶O¬c{ñ¡GºÏ5Ö3¼s=ØÒÓÂy‚O`ñji÷ÄêÛ©#®ío‚Hê}5wûÙ§½ZêÔî/9û¢ã$‚c¦y4Þ(O…U±˜&À¡·Và½.‹G‰Sk'p¨ +bÔjÔ¹)Û¼o[Rd" ƱóÊp0àKÂ¥y™ì\ªåØ5rÙ:ˆ•O``{½[ï›|^œò·Sn0‘ÊØ'4£$Ñ„W@ópÙPˆó0¸p– lKNïvÓ(8ž5ìP©ƒcâ‘e6ç]7KɽƒiSS ž*”Ù=L;ç]o3ã°DïˆQóë¥á7í¡¥M|ÂføÔS¶ç°Ëfþ:pBWV£·¤ì¶+Ü£?fܪ®©7}ŽH¡…˜—«ýëµÃ8~1à?h»º¦Ÿž‹¾zÌ°¹“…vÉ@´.NÁ†?4zþ» Ž2åYSf7¡·±H1ÍÓ§ª^oýøCèm‰øùOÞCFyòMK„z&Þц(UÌÁ™h½"}ȧ
ÏEÚÄÇt°¶Úâ<Õ
NˆeØÂÕI.l®âûd{ +é&¤~õSùyBiu›
ìm~i3ÓÌ`$bù‰oAkú‰Ù$¹À&Œ.:$à°á^¸Êùu<Ê
î<7¯p–§ßj¶ÝJ™œ˜iÞç„3q9Ÿ$#&„7‹íqSƒÛŒ¶ôfM5º¶µM}M•Ò
ax;‰È±ó”/ó1k.g•;«O¦š/vEGlX}ã—G|´ymÕíùv)P‡÷Ôj·u¿ÛPýÆ›W“øì©"«ÛNù›Pî3÷mõn]¥‚ØkšÌ‹Õ½èúX>ÑÃ&Å{ü©Ë
uâþó`d9ÆGl +€ªt†×ÜRÙÖ{7䢩23ñq'„@k¯„ô¢Œglå’ ØµËÈ@*Ê~`Ù·~¾˜lÞ6G¹»˜KèÑ)&‹¤â€{5I2Ô7ÿÈ‹dæôŽðMá4–Ëôà‘Cúô\uúIU.è¯á‹d‡9.30óJ׉ž¤Jl†B)ÿN¢FxÄ–w;”Ò”L¶yˆ-u„Þr„”à®êN!â¾/~ÀÅüš#¾®±.&uacç(ø²#ˆU& +2›Tîc.„Ìßj_oÊÛ£eil–£ŠŸ^ÍO^œ}³8N2µ1Ä öc”©pè¶?bk‡IÊbƒÕ¦¸wIŠg#ä6d¬Á\™³çüš9e"’¤ô±H3|`zðÐË^!( +f•€§O=u«@4)(šµ7¬ãá"0b¿HOzkRü"ÌìºkêjÝ*ºTÆW€féŽð ¹£:=R`í¾lË›kôÕ®hÝtí +endobj +716 0 obj << +/Type /Page +/Contents 717 0 R +/Resources 715 0 R +/MediaBox [0 0 612 792] +/Parent 719 0 R +>> endobj +718 0 obj << +/D [716 0 R /XYZ 110.999 687.904 null] +>> endobj +226 0 obj << +/D [716 0 R /XYZ 110.999 335.8 null] +>> endobj +715 0 obj << +/Font << /F78 368 0 R /F88 386 0 R /F80 371 0 R /F101 484 0 R /F17 509 0 R /F8 534 0 R /F11 537 0 R >> +/ProcSet [ /PDF /Text ] +>> endobj +722 0 obj << +/Length 2292 +/Filter /FlateDecode +>> +stream +xÚÍ]oã¸ñ}E^•‹'RŸÜ·k»¹n½.y»- +Y¦-5¶äJr²AÿÞù eɲws÷PÌ!9ÎçS‘7üÉ)¡µ¾I²Tè º)öï‚›-lýôNZ”@([¾÷ÃmšÝdB'ÉÍý†0î׿yáÂOЯ¤ß`áË +€Hd‰ëNÃMáXwû¼h›ná‡ÀP~8˜…ôò–§+³iZÃpCk°·éÝ®zÁÀ§ž÷*K¦;˜¢Êw«æ;Ì{wÎŽÛqwÔ»g†ù|eb‘7NTòÝ®Y¨Ø{Q%T¾”BÇ1I·iZUoAIìò¾D(ñú†Ç•á¼æ9È/3o{Ü›º_ZTº‘ªÎ.™ºØ5YÛe{vÕæ…éOîK”‘OñJ×ì +‰kîúîx84mÏ“CÞõ#+Ó)™lŠ,•öÅ>F¥¼_È´>ü—áÜðȾ;É:IèüãBÆži»ª©‘+ðbƧ²*J¦’¨¤J$ƒ‘‘aÔõh³ÛBü&ïi!/ïKò„&S‘eÎ릟’±ˆçk2…šIy8Y +ÎÈRÄ\_†\š‰H
‚ì7Íêß/?I‹8q’”d +©<ÌBxTˆWð¨öAihö«ª¦˜ŽÓîX”µÞñR^¯ ÍÓ¹ºësx®ÓHyÌw}‰÷9bÓ©q~9g) +rmÚ}Õ÷6¿Œ8ŠˆxÙÁ´yÄ—¼`úB>ò7Óš?-âسvÍÞ^Ö k6O Kù“ÔÊi¤«ö‡]…W¹Ðš±ÁTs)‹¤Yò;³¼Ýœ’L §ó…ñ”¨Ý\4úp^Bù‘ÐPÙùR¥"cRçcžjÐìB5Hô²þ×æõçEÕ;ó"@áÒ{}]ø©Œï=T¨ïH|s]\(cغé{³>e-ºËÜ4ÐŽæÏÍë6·V[´BÇ—IByS”sÚRÉ6>„ëˆw¨¡,¬8¶œñ>·j¬ÀÇöÑt®<Ó&b£2_Q›ß;´}ã¡o±GA†½» +M.O(¥Ù¸¢Êƒ’98i8ð}dÍ÷‹gxi´¤ö~bŸoyäL‚9¿ïýðúòžp ¯’‰š!î¸d%Å4umŠþü‘g’Ÿ3S´&ï5…MÛì¯ð42¤ÉtKnÒ2†,¸ßªb¸vfÖ]sS¯-ÛCetQÌ·¸Ê_¡ÈNÒTm÷&o¹@{N¨Ögô;ܯ¯ ו9”ºcšå¹îM¸6µ™½Ùµ+æ^þð/h +
ú@a
NA«ÆÍbû«4dѲ9îÖSK #´7Æ.Ù .")»BHhŸç–¿qøûû=¥E0ô‰£úAÛGÌÚEÕ“¨È5´¡À„ã’ZAâÖž-b˜˜+<†6.toaÖ•Agú÷"‚IÞ5<>7GÖjC½˜L§‚ºñXS½5ï3 ˆOõ¹á¼X6.t)hTë‘í¡¶Ûš8®¸¯Á´ïÔÞêùsßtöpk +cKJœv`=¦.,¦\7ªÚ}ua›©ƒ4›Ho9†Gdû“P‰DÑó'c‹ÀP%Þ*/Â!˜YÑ4í±ëm^wäŒK^¨6<RA (AóTÓÙ¥Û8#Õ=w½Ù3Lü6¥ÈG˜—œ”cÖ“©P 7<M[{LÝä$Kžw¹õÎÕóµZNeÜòÍZŽšè
ʼn۲©œ…Ó¶éA/Qls†Ù~»*ùú•+°—þ{±``›³DX.%µ<T(^© +’µzCó-ó8]ÅÏÔ!9¬¨:¬’’Ø[ÎÊ–ëøT-PS)Wµy’+ƒ$P®ßÀýÃB¥ ©(º³x\¡ª!MQ›Ò;R`Æ™f؆lwìíf2Úddö]\0´™
„Á\ÛPÕÃq*¬àXïöÆ´)ûÃøTbÚT§*´zúïD7ËhC€Ž ‚‚'¹ð÷ožÉ?þ¡endstream +endobj +721 0 obj << +/Type /Page +/Contents 722 0 R +/Resources 720 0 R +/MediaBox [0 0 612 792] +/Parent 719 0 R +>> endobj +723 0 obj << +/D [721 0 R /XYZ 110.999 687.904 null] +>> endobj +720 0 obj << +/Font << /F78 368 0 R /F88 386 0 R /F101 484 0 R /F80 371 0 R >> +/ProcSet [ /PDF /Text ] +>> endobj +726 0 obj << +/Length 2875 +/Filter /FlateDecode +>> +stream +xÚí]ã¶ñý~žUlF”DIЇ++R ),úÒëW’×ÊÉ’O’sëî¿w8CÊú wÝ;7Eƒƒ‹CÎp¾8’ßùðãwœûLJy§ “~t—í_ùwÐõ×WÜ€ø,"(A×_î_}ó&IïR&ãøî~‹÷ù?½pµ¾ÇðŸã¿¿Úp¾¯WÿºÿJOB=(Y%ùæÍ÷«Mì{?Âà}7@(‚Ei` ï—³ &ƒÄtÿ„“¼Æ=!÷~Æò,ÿËóþÿ¼D%, +-:XP eè{Q !_}w?p%L%K` ïbÙ&”>óý +Kc9æLá˜we¿4Iäõ»‚ +ͱ?{*gª¦ÂC1ƒêÔÞ”T7ë*ëaü[ÂО©Î”¶MK…¶¨ó¢-ëGªÚâ-þ´âÂ+:Ì
I|ßä¥(rªÿŠ€mW6†Ìf«9KÛpΤ¸Ä~§49<‘•¬jºck*KÌŒ:î-xWæ¦TlWð¶Eff-5xâ
3çÒó| u¼¹êvа¶-~PUP7‹„& ¿Ã4Õï¸:€SÃ|³eƸLU⩶m4v…Ê×ÔVôcT„‘»$Ý?,©£†Z¾á/µô
}ßÕ4;Õ +¹1þ±Áÿh:íDƒF1ÃØL4¦iª=SÊh¥Ôœö¥,~&kùüZ6G=!8Á¾Uu&·'cÛpxYÛš¡MûŽj'æ¶=zTL(TÖ߃áQ¸šS©¬-hiú´p•‘/C²yÄdM¨&3_·mªŠŒðrI?€Mí•à ÷\¯<7s)úìO hcº'몪NTËÚ¦¶èTSs×7Æ5™¹,-b¾cšJäEì£ùjy*|_SqúxÒî;ªýrìzÈË.;vÀε0cCP³Ž +Lò–‡QÛ€Öš¯õªÍÿ<$Ž™/ìv¿£~îó3@û·0ýOËñ‹„
eÊ%Ez´õ0ëåhÁü”_‰üäD\‰\sÌA +‘Ä,àÑ•ß·ú,j ‹¦ü·½8Kâ€ò!±ãð»Ì}‰”E‘e)bvÀæPE¼ÈAÎ…¥‡7×q%^8MŠçO“3–IŽG›EŽyǶ°T«‡ó,@÷¡)ë~É¥Î5IpŽâýÏóyñ9Ü/ÜÍâ/:ÂŒŠágÄÔ×Ûž’D#Èš½I¾…Agždâw÷ªÎ;‡Š\@}ÃcÄ2Äm}ÓŸž>}t%k¸ç¯}:om¨~$>‘_Ïz°½ºÌ×Ï¿Ÿ–Û8ãrBP¡æá}‹° 8 +X"¶i¬û-€jRœ™Œ¬h²¦îU©³!zýL¶“Úh™¹©PfNÕU±6cÌØIZORöÔñ¡¬ÌT6'†)@Fm÷´´H›Ä¹“D&c–LÓ¥{•µÉ[Ršqœ¡ÔÉ:LÄÙ#vb²J[˜ß³>Â$C[…öù¤—ÖûsxÐzìŠí±²sÀøPô¤j˜>UµCƒØ¨7mÞ-† `kâ%3˶©÷EÝÛ»,ˆÝšälmØúà¸Òiì[En³÷
}@¨¦è£Yôxlµðö±À,ך¼~I.S'üë!yë{]U>îz›ÜÌK“§mTjݬ:0u®Sü½#÷9I…ÇËô˜SmS>„pN+ž˜”7•g›€n¢M ô9ÞRà +Ñèö걦;\l4w»ÐÙíÚ²~g
EÚûd虇ÐgBèÄ»ª 4æõ3ðíÉG)2ºrŸ»î`‘\Üd‘.¼ÓË;f;jQÔ@÷'»›¥0s꺶ž\¼¹ƒ9ýáIÃçâ\$£ØËÞKÒò¡?ûQºK̵ÜÜ/;‡QÄ ƒxdRLòÔ6DΑ8·KÁÃK±C0¡¿è:pÖ¥¹Ä+‰y™!ìíÖÌSû`σ;¸ÑëàQk")¹ÞfveU¸ŽqÈbÜóŸc“aÀØÄÏlŠ[ˆ‡÷*±pr$|б S6|½áW +
§a9 +a)Ýû +OÇBz,¨èg0sê4:ŒÂ¨JÔCÖt”CW´‚œ‰^Lù[1A1L%P•Û®7WÔBBÌ5-Ì3‘žïV{¥p;|[sÇš5mm[»^ºÉ¥lŠ\]›ûTÔl-ë9XiNe‹~Ô=Ðq<,¶V(—ˆXÞÙN´ÿ¥ +9˜@çds"\Q-Ç©]·kÕäADbtâÅÀ±ù“m__
„L®'ÛöÅöä=÷¿<ã¿
endstream +endobj +725 0 obj << +/Type /Page +/Contents 726 0 R +/Resources 724 0 R +/MediaBox [0 0 612 792] +/Parent 719 0 R +>> endobj +727 0 obj << +/D [725 0 R /XYZ 110.999 687.904 null] +>> endobj +724 0 obj << +/Font << /F78 368 0 R /F88 386 0 R /F80 371 0 R /F101 484 0 R /F17 509 0 R /F11 537 0 R /F8 534 0 R >> +/ProcSet [ /PDF /Text ] +>> endobj +730 0 obj << +/Length 3331 +/Filter /FlateDecode +>> +stream +xÚ]ã¶ñý~žÅì²")êãú”wM\$~(Шlk×jeÉäìnŠü÷Î%Ê–÷6ÉaÕpH‡ä|Óú&‚?}£u¤ò<¿I²TåQ|³=¼‹n¡ë/ï´‰”11@Ðõ§õ»?|L³›LåIr³~ ëÝ?WööÞE+Eÿµÿ¯#ø~wû¯õßhRªtjq’ÕJǹÌüúö>1«ïé?Âzõ þÛÕ‚×ôÿC0懑ÞÈDœªØ¡§°ÿÆFF™X.¶ˆ|÷a=îÉf¹JF´´á{›:¹€XeI>î<ËnrXÔ†;ÿQÛø¹¯‹f8Ã~dnç2e3[õ·÷Τhä[W… ÚŽç†k8§²<Xg¶Ìͽֱ2)~UîÜ8êåWrÓW‡ª.:ní%q®\¿u¿ÏwLssk¢ÕiàFy«Ýêy»/šÇRö%][{\ûÀ¤u¤'Úvª¿éçËÅ•ŒÍn‰D¢²4•!/‹´§°mÛnW5ÅPöêòTîmäT +´ùü“ñtºò¡.·WŽ'‰U¤Y +‡S×ÀŽm”ð) +!³Ž¢ˆ( +VÉkŽô…»þ=Daè¾b¬X1°L|67<ã„{k|ddPÁç±@â ÇDdƒbÔ7pïwŒ+–LfCPä•jègY¸ì4Ò0A.!;ö‘×>ì£Ã™ó-“æ¼'ÁaX§b›ÏNcÛ•`ãD²ùÓ”BB> #Šôá¹8Y
@úQ
.Ž”ï´fw¹Wgnô{—.Â,/3ý¾3À +ÀyýÀ6ئ]ÙIv`%‰ˆAŠ_!«¸/°\°·KËÆaÉÄû…S†˜ƒ%!™óúÿøPÕ5¹b:ø‹¨)þ£_pÀ®è÷厽öv¸Z-ÄU÷³¥3Zú©Â1Y&N
+Bƒ„ùLÅÃ#bv^ÐÁKCG?´-ÈÌ^ó"2ph÷XN4´ÈêˆUí ûžUé]u€ì¡j”êh„>ÅÑi2-.—Fž[¯ eÝÔÒd9
cªiK~zÕ‹0¦)UÂóhÚ}S‰û"ag&T²ìhp(,yÓœª|Ð@…£ï¾<0$‘´›@ÚüTíb§þDÆ@¾£,V½åv`Vwª=7$¸â¶= +ùýEnÙ½—À)K”IòYš2I±Î9" n·x5·pøev“L%VdI/r«=·8é±kOÇžaŽ
tž‘ ¦/ C¬v²zÑ,ÄdàÍxå‡È·¬)ˆùh…AÚ ¡þ©êÚæ@¦‹8@™{B íe±+'ðX·›¢V²ñ½—O£A>ç% +@Ûö +w¤ÇÍóK3¦Æ¯‹wˆ7°^¼ÊßhÍqÒ˜¬qeÛ¿xfþ%Š†±àUÒÂîmÕmé¥TFwúƒ'!Ši¥~y’NÒ…þ˜ö¿pù1„/ó»G¢üh8Qçšdæ楉‰ÿ¹\ø7Ž—æõO+ž{^Lá_–~¦BOq¬ÛÉ\ùå‰ì*U“O›ôTÔß©xŒF¿„8g 4£4›«Òl^‘fëŒrÖ-K3>‡îT.>z$æâg+³ƒ¸0£øPÔýÉûÔ)ç’%'`ãÉ Ä©~›€I›¶Kz‘FÿT
XqCxü!‰PÚûzÅl‡UaÒõ âKr€ ñ[´Â¨LûqR
Eš²¥*5e‡Ðj…1LVDW¢Î__ÄYíi_ËÄ“B4wÜö16ÂeWôåNž±ÞûY"‡püV/˞ΕŽOEK2b"eGyÏ”üÆÆUù§3i—é+a3‚TýŒ£é-H]-¦Ã7YO˜E±°Ï˜þ|žäÉH´Xž +endobj +729 0 obj << +/Type /Page +/Contents 730 0 R +/Resources 728 0 R +/MediaBox [0 0 612 792] +/Parent 719 0 R +>> endobj +731 0 obj << +/D [729 0 R /XYZ 110.999 687.904 null] +>> endobj +230 0 obj << +/D [729 0 R /XYZ 110.999 442.559 null] +>> endobj +728 0 obj << +/Font << /F78 368 0 R /F88 386 0 R /F101 484 0 R /F80 371 0 R /F85 373 0 R /F11 537 0 R >> +/ProcSet [ /PDF /Text ] +>> endobj +734 0 obj << +/Length 2591 +/Filter /FlateDecode +>> +stream +xÚíZÝ£Èß¿ÂoÁÒ¸Ó44º§œ´)Ò%§¬"å"…1=c²,`Î;wÊÿžª®n†ñxg÷ö)iú£¨_UWˆ‡?±‚³,ËV‰IYÆãÕîðŽ¯aèÏ™”1´`èûí»?þš•aY’¬¶nƶøg¤ÖÍ#æ~Eø®?ÿµý‹[”2‘*\¤qæWþi½Idôw÷‹mý¿*zïÚ[÷û~4çÃ@o`"NY,¥§Çp|¥¸d2¾/Ž±óÝûí “2K_x£2Î8—ÐLÉlܘUUcÉ*>Úú7bËðó©YÌc?mOã‚‹óÅ@ãE»:ÊO@ª+µsjqÆhÑìÒ›)1í‡ÿët°1’¥™Ym„`™Ö·Eë³Àq¬Y*Í+ëÏâ8þ,ŽWL€)/Y†gœŠ†•fzPá·W±ƒá0¼I
ã"æ5S¸iï»>¿¯Êno»õFÆ<ê÷":ETýžîš‡‹áºi9L©èl†ÌŸÊú‘&‚Œ†¶´„G…}XåOUOe7—AjB!9ÓÇ~.ɹŒˆm÷eç9l»'¸k×7-høþyäñYê4#3Ų»þèÜ™\{»VÂ{ÿ®ãoî÷¯>ÌŒ¦”1(S¯htû¼ =ÁMÑôµò”&Úçýn_Ö ÜGê +j!„'d¿ÆÞC¾kFííð q”ÄçóØð>ï»Ñá +~Nkýæ³,žºä,€
]Ð|ˆšûУG!#·GÊRJ1iÌ
Q8hÿŽˆQÓÁ]¡ñò—WOvx!0Ddâø2"ž1R¦ÅH,]$£H,_ŒÄÉ8÷šJ +*Ž‡lÏA{ +±’‡Œ6!;܆R,IÓk(}[<Gi¦á@"/C¯Í‹ +ÂÈ\!RœC%ý"‹éñ+ ¨oèpí8®?fîϽÿ E”÷¹¤OdŠôâé9½bXyĬÛ0œ8æmÛ ÞOÈ´§éCbM··Â’ùaGe£Ê +OsÑ!Š‡]"`͉Mœ¨ Ö +ÀJ´O}—¶_0r<í$”a ™kRU:*še½‚‰° kÏ:Xõx¬J—ú çͅǼ¥}e1‰£âçù3!zêø3l@±ùyN‚£WüŒÆ§Á³+ûùTeâìdBö-^†‹Foƒ‹a›” àbØvg«ñ Ð$ø—£yö/¼uðòKüK +;8Õ7¡{9ì þ‘Ü·Ñë‚ë[—ñë ‚ãœœìÃŒÜî1Ï¡öØ‘Hì™
6Šk–r3Ù|¾"¶ÓIÖ"ã¡x‡æQ~ÅF‹UFjN_.¨l(t†±ñºKÓ)Ú¿ñZöþ!´å|·À1 'Óêë»Ó¥ØÙKb÷a¿œøÞm¶&…@€Ô‹`€¤¤žÃ¡XáÅØ_Këö*å,‰§ùþî©ýAm»ï°–˜ 8}¤’[UòŠw'/«€>¼ðtIò3/‘¤,I²¯qø̘ÃþØ4•ÍkzèÈK¨Ž[¸’7_3½À›¡<]ྵ~VC“îCMKK–\¾&Š‹§p§yù°cÈ>ûöÉ.„ÎÔ9bp-ˆ¢+áãÕ¿ySá4¦;®2¨‚Ä© £{z±3ÅÝp‡*
û€Aè!¯:ûÊ«9Or£Ýõ%êðX=¯!>Øœ¡)Eh}ëžs%>©—9öÝ‚_0£ãß=TÈùI‡¿r^ûR'Õ×<xßà'îÝ oõ¹~í…ú‘áîK¯^åtÏû`{çªK¯Ú¥¿·¹ÎÚq›0ôï¥#"¤'ÁOÊú¡¬ñUæ\<ØÁú j§²ª¨uÈ?¢Ïz•Óº‡ž³GB»‡RÈpb –¿FX¹Œ[Tÿkóòqï³o|70”Ô!—€Lê²Èí× +–Ñk§Æsiæý†Ò¤¯G:MßQû¥xz÷jéèæ”*»êe]Ü°Â íWÜÛþdI›«
ì°ÙÅI˜¨ßчôV9–€0€UM_˜ÈI¢MŸc¸ër=6;üDhj†Ø&±<½»ªñþó“¹q!Ë0o#KTù3I9¨ˆþóä^ÛÇòü}LÐ3¶©XïÆzñÕFëŽ5Kz…ï¼&_ýLËÂendstream +endobj +733 0 obj << +/Type /Page +/Contents 734 0 R +/Resources 732 0 R +/MediaBox [0 0 612 792] +/Parent 719 0 R +>> endobj +735 0 obj << +/D [733 0 R /XYZ 110.999 687.904 null] +>> endobj +732 0 obj << +/Font << /F78 368 0 R /F88 386 0 R /F80 371 0 R /F101 484 0 R >> +/ProcSet [ /PDF /Text ] +>> endobj +738 0 obj << +/Length 2414 +/Filter /FlateDecode +>> +stream +xÚYK㸾÷¯ðÑÚ"%&Èa̳Àæ5}°³µn#KŽ¤žžÞ ÿ=U,R¢,Ùãl7`‘Y,V}õ¢ÄŠÃ¿X Á™µve²”Yž¬vÇ;¾z†W½~ +gR&ЂWy¸ûÃi¶Ê˜5fõðäf<ìY«ÍVó5s¿"ü +Ïl~}øÉ-J™H.R‚‰Äú•?l¶F®ÿå~±-Ö?ïZ¿sí÷û.šóa 70‘¤,‘ÒÓcø~¥¸d2~,Ñ8x÷îa8“Ê,K_:ðVYÎ8—ÐHXfl|r›ªøäÝ)ßÝf+3µ~,ú×¢¨}çž¹y|ÙmÄú0ŽbQ©DŠBØÕ¬³R;Úâœí0g²õŸ»_~å«=á§;ΔÍV¯ÐæL€JwŠ™Ìø^u÷áNW[ÍR™
G\Œœ„³Õ“ñS–ÂLÅ•º)ͨ?eKÍÏ©×yõRÜSÿõP´QÂ]R™ä™k[e<h°ì†m¨Q¿¿aà!VE²>Š¼-ëg)ë‘Bd+eÊ4@~+³š$¾{i?o„^;Þ¡EðlÚ½Ûͤëºéi¬oèyÈ7’¯iœò¶/óŠæïóîขyXzð3‹zß1š÷ÆöÅÓFðuþRùÙƒ@•¶ %
œ²?è²HtJ&Ìè?õsá +
ö¡›qt=Ä2P.:”J +ý_.lîOدÚhõŸ<1:Nvé8µ±7ÂKg,1“ÓÌuônR7˜–e ++¢_àŽ12‹ÅsCQÉדš›‘ps‘pByƒ«œQØ +‰FaÈI +
äÈ%OØ2[G¢éýänFX•^€…I˜11,ÜÁT¨ ,èX…ÌŸ7dnÅ8ÓÌí{´ +ÞœuÕ}M©iƤž›>ØOE{á€ßš!Tåó¡¿Hmš#¤“!KÇ!Ã|ÑÅ(1•§êz‹úŠO]ÿ5œB$Iu anS¿ ä#˜zôÔ#eíÀOu÷4¢}‰ ¦,/ÿç…#’“ñˆË‡dºtB2Ú@ùsÊ’
Ñ%Sør
X&ô$v‰-ÌÌw‘‚e:»í +vrz8aøŒ¶¸®ì=¥º9–uî_Ÿš®DZŒºï{¿ê •ùɵ¿P#ònî†ú‹[!ׯm AÓ±¡Ö¯¥»µá¼ö×Ø8ì®pT¸ÂÆ®9Á¥ÛåÙäV4¼€^
ÁàJ‚d žÓé¾=Ó‚h‘ÁÛ§K”°æ²a2
óÓIfxvæøûâË
i+Ší}ïÍ2…‚ëì¦)¯º7õw½J„74b_Dn&gyÅâ-;
ЗqŠ?:Ñø¾øȹ¬?ÜR´ïe=+%ÀÑË™~Z€ÞBÍYòýÒÕ[™˜WD³ùœ/àG§€luMYÓk1ã°¨ªòÔ-ÄL\Åß©xøNÅÏ¿”ÁÀ¢›„xσCæ7}‹÷ˆ1íàžî†uOmwÃOº^ááfÐÄRÈ)£›8ËÿaÕ—º¯Â6uqG3;Ü…ÿì¾€Ó×ð‡
¸¡2]pšA¾Û9Pª5(õGGðïîSûß<ñ9]É´Ôq,‰?Lo×éÆB!SKßÕÃgõÉG÷ÿQ®+€endstream +endobj +737 0 obj << +/Type /Page +/Contents 738 0 R +/Resources 736 0 R +/MediaBox [0 0 612 792] +/Parent 719 0 R +>> endobj +739 0 obj << +/D [737 0 R /XYZ 110.999 687.904 null] +>> endobj +736 0 obj << +/Font << /F78 368 0 R /F101 484 0 R /F88 386 0 R /F11 537 0 R /F8 534 0 R /F80 371 0 R >> +/ProcSet [ /PDF /Text ] +>> endobj +742 0 obj << +/Length 2794 +/Filter /FlateDecode +>> +stream +xÚÍZYä¶~ß_1oQÓ)êô›¯ƒ
àÞÙ8@6šnδbµÔ+©w<1üßó‹TS#ÍqŒZÅ«X,ÖÍQWêJ))ʲ¼ÊŠ\”2¹Ú_È«{ýõ…rS¤ˆã†¾ºyñçoòâªe–]ÝÜÙ7ûFz³Me$쯲¿ñf«$¾ßlþuó7»(*×´H+Q‰[ùýf›ÅÑÓ¬ µÒB–ÊÍúr‰%e»á¯7Û8Žþ¾É5fn3}g±þÅþ¾´=_/wÐ¥PIîP¼ùð¯-’—ŽXú}½B2 Yº`F\ª"p"Êhö‹—7WuQŠ‹åË·º”BÊ@"Š¬œx_W%vÓ!ïß*ŒMukšîîn0ã¯LX!/Ss%”ÖnþÇ•T— »¤~¼1í…[ÒÌM©Ýx±Žá· g*‹?‘„÷ë$d"-‹O$aºix«T*RÌØâ«UaçÝꄧˆŽÕ®ï4ÃXÝ6õp0n¬âϹïºþÈîn§1œÛã¡rPu:5µÙ¨È®.£`Ç`Õ +ºë»#Aiô¤1n'ê%ûQ·nY=r'mæCuçñtC<×~“zƒIV\7¡°B§ËÔÉxf©?Bqg"OçQ{>Þšžà‚úN]Ý’DÌ•Fê¦á¾[ÃßÉÚÅ-wVüpºÆð½1Û[·«šNˆN>¡àW#›n‚çZNh¬ÅÁe„ª»7„
4b!]I"â< Ì0/…ë×tÅo)ì”\øe!Ó„7Ûzw0õýaEí3D}“‰_1¸é"4¸ÙC½+~5UˆUŠ'nÕ–ÏÚ™²DŸh hѾ>šv¨»và¶0:rg³0K7 +EA¯(YÀñwP¼{Žïò„©ì…Â晓+ÓòR¸£”7}cðÕP +æ…ÂlW„"…P™x–¶\‹,Nf2áòFWjž6žË[/89¿;W¼NàÞ¬46—Ôä¤z*¬\ó¨«Î³
FάvYf•Ç%óqñªkxd·VŽ¤5b=Ïîõ{ÌD©fºý¸kÖªÐ09e£u‹3ŒLâÐ1[¨TMÕ8vûšÜ†-ðPœ¼`ì =óÊó9†Óª¸!}aìšûÕ#ó÷š¸7»šÃzärÏ_ÖÏônFí^ÀÚnYÀJäiú¿0Ô¢pc7î¸7þ5èDXå/Ó½.(GÕG^¶: gù“ºpX=.àºÇG[™Hü¾fÐFð;_u!uþ˜ƒXú¢Yp1êZY"¨!ç
É
È=8®½ZèÆ8 ^· +Y-#íà¨õÜA¯[Ã…xRËÎÖãYÎ2äBÉ<K…<¯èTœ@ûóY¡¹»ý÷ŠH‘Y`sCáû–ŠØ "•™€¡ßÙŸ¾·# SIø?Ͻ³[ò~ýóÁòÿóÛ‚2÷¾MrQÀ!®ü€ÿ€Ù¿ü¨m‡$endstream +endobj +741 0 obj << +/Type /Page +/Contents 742 0 R +/Resources 740 0 R +/MediaBox [0 0 612 792] +/Parent 744 0 R +>> endobj +743 0 obj << +/D [741 0 R /XYZ 110.999 687.904 null] +>> endobj +234 0 obj << +/D [741 0 R /XYZ 110.999 463.655 null] +>> endobj +238 0 obj << +/D [741 0 R /XYZ 110.999 448.268 null] +>> endobj +740 0 obj << +/Font << /F78 368 0 R /F88 386 0 R /F80 371 0 R /F101 484 0 R /F85 373 0 R /F11 537 0 R >> +/ProcSet [ /PDF /Text ] +>> endobj +747 0 obj << +/Length 3173 +/Filter /FlateDecode +>> +stream +xÚíZëã¶ÿ¾…¿‘Ñ5+’%%è‡<.Íy4‰S¸P,¯ÕÓçG6»ÁýïáeÉVn7M› @±€Å7g†Ã™ßW®|ø“+)}‘$ÉÊÄ‘Hü`•UWþêºþv%yˆ/” + ]l¯þòq¯b‘³ÚîíˆíכÐ÷„ý•öW7Ò‡ïÇë—ÛOí¤HÈHã$-E<óËõÆ(ïëqÔ¸´ÔÂO$zÿr#¥¸û£õF)ïëHÃÈ‘ÞvÕíï3ÛòÑå:2ˆx‰oß¾Ã7v‘gL,þ~³@2”ü„g€0T"ãÈ@^„£¯žmG©ê8Lö—D¾Ñ‰/|_A!±I¦²O`7=•ý]Q–ë–¡wl›Ýå×X3^QSkȉÔx29V"ŒFR«ýÈÌ8˜Ñ±áß1%-zù~~L³¾¼§úCÑ1iàíoÖÊ÷†žÚ»¡m›¡ÞQèiÈ]ÑN4Ú¦-²’‰ ·QBÊRðÌv€4 ~jýŽ¦ßµéñXÔ·´F络·ê;ŽÄ
ìl¤IÚÉUúj-}/Ÿœ|!ë*¡Ó¼Ïíalÿn•à9ëÖ…Ä”R»yï¬C`t Jà\ràT«Ò¬m¨ØÝw}^QùiiÚW¨7±ï}Ò¬H(_«Ðûž·ëÀ÷®©×Ê‹V¨û”nö¼AÓroÖTDzÈÒÅa)óa¢²´¦ÂMN" +}aÉ2– :é¾Í«ÏZÁ}.óúN-ôî×&´ä@c×Ð÷.§/Pdïaº×R©–ŠºÏÛ=2›fù»—šé±àóý^ê ÚßäEÞ¾à±þi,î@ýÒ—§nOÈý}^w—KH#|7¢¸¤fºÀËŸ¦ûBõD +Ê¢ë–PB›ài$¼¡£’>^„p¦Í(ª¬lº|÷ÅR¨$x„\ó¨À‚äíäšß@búHl~O7RùÖ¶md(´Œí¸-Ù0ð YS×yÖs,Ž
h.7ZÓzêˆNÛÄ6m63uMÿjÜÌ昷iß´—Ä+#Á4;3"žBÑÔ¿·ò±à"¦G)ˆ±çû÷VW5ð£ÌÜò:ž6*0 ŠþÄßdõݳÛ~éò?–¿ÙÝ¿ä>ᨃ³R=ØÚkª‘‘Ð~ƒ5LË!§ö.ï©ps¹©ôcK·0^j>Ó)
!8é`ôÑ¡_ÔE_¤¥5Ö°„6I480‚Š_ÖL¹(Üæ=»K£„‰“Ù¡¥è.”—¡O¸ÏÀ`]²vcÏÍ=}ÁÝóz‡þø’=€ua0eÖ%o:'ÌÑÕª´ÏÖß#'m‚.Ò&äûš©r8‡=5fÂRÝpƒ'jµW†FÄI<óŠ]ZY?§½6§rÚ-¨082M˜è2BÉ`‚ aáí!ïx¿´åB6ÜXù‡ÊûÀEB^ôQ¡ífÊÄ/BÐÓÍØcwÑ ¬…¢= î› + +äÇ>Õ'ÐÄÏI.øjHw`‰-ß±…w0z2[1£t„ôýl‚òt¤ìé V+)"@mó(cj^ƒqÌ–qh ÁS¹O©õ»“œ}ïXdýÐ2BÊkDs?mSWyÝó=…¾‹––ºéÓ¢¶ +‹g™€ÀQ´dTÙ¥}J%dtßðX~q«Žh/sj!œ©™æÔý]š3_ã“ÞÂBà¯ôtiù£ËXrл¤lOÙ+´ð±Æã†É¡“3KB¸ÜQ¨$¾Dþ«ÂñJLFÙç¦6¯3n¶yvÃ7‰›:úV8th!U‚™’è”PuØnAàyçJóèh¿¢ç]¦÷„ºÐ4öAº³CZß.&HW…3 +ÎÙ‚Z‡¤â$EwñXd/”ÿò'LŠ½ùIâÿȲÅ/wŠ†ä_Ѹø×>Ú‡÷è’P‚r:áAm´)¯Õi¤6èÏjµ±oZï½Y£™ó½?á?%0„»%;¡ô…çø<Çex/ˆ@ªÓ6{Ñ¿²¯Ôõƒ~³²Àapm¬TÞBùö(˜ÀA߇‡<{Ň;ôgé†Îä‚EÛ;F³ +t½¾zñÒ_í`ȧW¾Ðà…î ‚¼qAÚ)£zyõÍÕWã" ý8PŒ¡f4…ò0~ÏãƒÙÝÖ€:"Dµq¢É‚
kljŠ6ª®OĤÑéuk’`*.3@UE˜ßŽåà^‘zw['nýôhãþ·<L?O/¥°Ýa¤ÒÂèó«ëdñ ¯EÉoðv‡j©Óý§ØìÿÈþ
9Ðüfendstream +endobj +746 0 obj << +/Type /Page +/Contents 747 0 R +/Resources 745 0 R +/MediaBox [0 0 612 792] +/Parent 744 0 R +/Annots [ 749 0 R ] +>> endobj +749 0 obj << +/Type /Annot +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [339.091 368.921 345.268 382.048] +/Subtype /Link +/A << /S /GoTo /D (Hfootnote.9) >> +>> endobj +748 0 obj << +/D [746 0 R /XYZ 110.999 687.904 null] +>> endobj +750 0 obj << +/D [746 0 R /XYZ 125.345 152.571 null] +>> endobj +745 0 obj << +/Font << /F78 368 0 R /F88 386 0 R /F80 371 0 R /F101 484 0 R >> +/ProcSet [ /PDF /Text ] +>> endobj +753 0 obj << +/Length 2922 +/Filter /FlateDecode +>> +stream +xÚíZ_۸ϧØGµY‘Iéú”ö²×¸\иE‹$(dY^ë*K>IÞ=#ØïÞ)K½·Mö¡ÅERÃ!çßo†Ëoøã7œ,I’k–ÑM¶ÜÜÁЯ¸0!"hÁÐW¯~«ã›˜%Jݬ¶fÆjóqΗ2˜1óËͯ˜/y +1ûû\‡0s©øì¡ú'óûÆô|?]!L´%ñ·§Wø`ˆ¼±ÌâïËÐ +û†Hx¬gœÄ,ÆÙ¯Þ¬úS
ã„iø8ðù2L‚…"éÏ>ŽoX-žý'FmÞí·÷iS¤ë2ÿBœÅÁy®VLpwä;ç?OY¬¤ïN‡|J‚+&wZ…Ç”~ô° +ÍØu?¼ä*b2»ä’…\›y«]Þæ`ÚI2ÛÖÍ>oʽU—7UZ +ˆ +™RÚZƒ2aùËa”‡O.èÎí'뎯,i¦§?÷s!gÖâà„T`ì†Q$J»7oicgyf»´ºËñ³?Pï©>RÃæð±‘Ý.o¨]W¶ó:mWsî©ecçÔVŸãÉRÆLµ;;Ž}Þ¥‡ºí¦…pÇ¡Ýh}芺‚…˜½nñÉQºæÝló×tÀCÀzKÀEÑPv³ Á¶¨²œ:7Å>¯Z ì6v :‚ baï&íRK·¥fQMD +Û×e<µ0Tî0ÁrBpÆŠAÈØí@IÞYêS‚Iá¼ì[H‰idõ~ŸV›©Û +0¶ôCïaÎAaŽå8‰ÔHcCžÕe°{)™Šä˜hZ×㳑ÅLgÄ„3RÚG/KBGÎ8&Ø .4ˆ>ÎÙqY9/Û”:xd…Ì4_o;cæ Òná¥+ñÆÝ’™ñµeü<·¹LaGþs¥–!ˆU‹1 +Ø48=}(ª;Ïò’I颒ÓA£à^¬n¦ôè
“^äšMþ˱hòÍwÓCX‚¨x¢¿‡²î(R|¤“ùüeò’Õ]™?â”&Ϻ/Ÿ +¡] Ä!ËŠÅÚÉg—Ú˜‚ÎÎÚF!ò%e±™øFiT¿„oLX؇,”œAHìšcÖ4QóTué¯ÏipP©³C¬j¿SKz´ÕÖówè"ÌReñoÔ"³ÄMj1Ðc¦–ƒ¡8“ŽÐ¼ï +uÎdCŒõ²ßßi®¤›Ü9àJ.8Õ<>E/ð‘këRº0VTSAÈ„‰@±ßÖëŸ=‚@MRcáë@ÝØk¼Æd$ºßÐ3Ü%¼’£ÄVï(ñ…:嬬³´´3k÷…Ǹ÷8•Ýo +ù +L\`%÷ +±€‘° /3uǦ²RcðZ6?ÎviÛ¹§fÞsOžÀ0•¨—ÂrHÙ”«Û©aÒlüpëC™´»!˼‡Õ¥ +‡ èl1“úçN= +È79Ñ%9Ó¼ˆxŒzW”©@Ë=§í±´}x*ÐQi;úÝs¦&ÃQD{(ÚËÌLtÃ4µ¾âAàì¼ô *ÔÁ¯Çò8‘Wc9.xÁÈ>‚è<O 8;-0·œ¢spg˜ +Vßæ¹CW%¡:“…yœ Lb:ÀdÄçŒPaÚ4žâw$™ñ3‹ß‡û)°‰ ú¯ +ßÃL±ýWå 6šÙyâ8œMõØÔ”””\˜il +“ØCUï½€M§kÚ-M¤"¬¾”~ÿEvÜKãqÌ»© Àgy••uÛS3I»ýÆè(²ÐlÎÈÜô%B*Vùm¸X>%†¦ Ô4ÆFÚÔÛ7ž[È|#õÌìùšˆåõÌyø¹«C^.°‹^³º,4aAÉ— ËÈfØ +vÙâöð³ý¾v³´µ%3sAD«T*B›ÄÇÑÖ6‰¢Æãª7Öàqê]Þà’BͶM½§Ç‡´¹›«,B£:î×”3)âYXž}ðºrÕ~;@-#÷!w8ð ¥QÂq,Ëò–R)a6`žû<ZúžÔ,êëÒ+_n}‹1× +2÷m!;5åЋûç%hmd"ðDý—З—Ñ41øÍ;hçÅ)Ý{Ú‹»)`{ªv¸”à]L"P4V…s3—É“¶P…3˜tw«þEžò=ñ¾‰è+Z•¯dȸœH¶ö‘~ôƒGé|_“o–bÈU¨,JãÃÊ&ÝÈø² †üUøV߶:*¢sóòÖÞeÆ>±‡TgiRL«¿VYa ObÍ«¥{dn 7‹)€âòe0pÔÃpãn[!{ê¸'ŒÇ,ìÿ¿#u©ìs½n¨48Õõèžt²RÂY_«3 +â(r†Ñº^ÿÁQƒµwØV*!‡Àé‹+Asõ†¦~Qb‘Aï°Š8t,}ï:ß´—•!4¼œÝ1Ïý ‡M÷%LØtõ;߶ñCéA™ùõµ¿Sw‘±¨L˜¬³ŒôCðä3ºÅpUyܽãM4Ü•à‹qÙšS´ŒóÖýN¡§°sR+à`¿‹k@z/à)¶FÚ+³khØ¢WÑÑ=*rbJM0ä`©ÝœÀ‚Z;R«<‰YÀÇWI¾:"¦æe½NKvéýц + ˜ï¿Ü?þ5é?WïXendstream +endobj +752 0 obj << +/Type /Page +/Contents 753 0 R +/Resources 751 0 R +/MediaBox [0 0 612 792] +/Parent 744 0 R +>> endobj +754 0 obj << +/D [752 0 R /XYZ 110.999 687.904 null] +>> endobj +751 0 obj << +/Font << /F78 368 0 R /F88 386 0 R /F80 371 0 R /F101 484 0 R /F87 383 0 R /F11 537 0 R >> +/ProcSet [ /PDF /Text ] +>> endobj +757 0 obj << +/Length 3016 +/Filter /FlateDecode +>> +stream +xÚÝZmÛ¸þž_±eœÍòE¢¤äSÚKŠ½\Ñì$ù ËòZ=Yr%9›mÿÞ©‹›] ½6(¬(Š’ÙgžG\qø'®„à,MÓ+Ä,åáU~|ƯnáÓŸ ;„3)ChÁ§ß_?ûÝë8¹JXªõÕõÞŒ¸Þ½Ôjñ€™¿Âü•«àð|½úxý'3)f"V8I –$¡ùój£eð×aÔ Z(ÆSaG½\JÑ,•Ò~þqµ‘2øÛ*V0r£EðÖHýƒùûÊôü¸\A¥L„±ñË·Wxg„¼²›Å¿ï<[†OíP†LE!h"Hqô³W׃VU’²&sŸÊ7*Žh„,Ñé {ÁÅU +Ë©©òß6}1lfø +›I„ÛÌsØL(‚75>yðçÉaU,íp¥å•`xö™Æ‰Š%2½ÚC®qÈUÈB©¯6’ÉPšîW¶;÷±÷fM[è+”½œ²²¥5{ê9fyÛtÔ—g5unê8wÅŽzJ{þPPǾisI=<G•N“ß𬛮¿¯ì¦‹z?•mS‹º§]åYUÁY̲ÉdÙL$2†•K£Èˆ;eý!k[Ï&#åÑ2ÎPsàt ž…h…Žî¼îƒPᶸ-ë/VøWš &æk&E8@ÅøXˆ S9_Ô»áÓk
ö-Wñ(B¤L ð +Ï£(ÍY<h½\ZÚ0ž PÐFD`Q1¹ó¡è +ò•¢Î¶•mœ@£+çªüAÑœW튜˺ì˦¦ƒ5ð´8¬ÞQÃ^½|ZÉ(ÈÚWêõ½^‰(hì´_>gÇìDk+kßíeÜØ€_¤Bàži$¦Ñã2ŠÀyE8ÜÓ[âW}êæë—µùZÀC¬±-Ö¶4¼ò5Ÿ|2í¯>¥s& œ¸ÝâJƒrgÚXÚO$Y»½žÈF²iÀz) dé`7òßœ¯?ÜûB¢9c¿ =’$Ó +f³Èœ³Êdsa˜·%*ïšKaÐ"ˆ~WvÈzk¥íì(Šky/‚Ôzi_d5`GÉʾšê¾*ëâËXßÈõZß„
ž»²BUpìÚO}Go¤h \<<—AÞÔu‘ÃÉû²¾¥®Þú9G†pn©E +côrí•õŽ¼^Ù=‰hN} 2›B¶íÚÚ)§sïæÒ³ƒ›kíÇm›å¿"fï iP7@¡dJ)ÅT|v:§¬Ízd;سo›#
6ÇÆ®:;ÔµµÓ¬¢àž:-bšRØ×²Ü v¾±™çÐ +ûH
§¶è:ƒt8 +uéf“Y&,ÖîfJè;JØzÅkÓAµ·¦çzi!Ø@ä ªi+F/ñ,´t Ûæmò6*ÑL$ódô/fw?ÛI÷ïŒi£V2@|³TGçúWäØd³µÚГRîT±ÓÀGsnF³ÞX)@û2?WÙc€ +˜YY+YÂ[i[Ú +b{`Ǭ´Å¥†øcÈU.€9ŽX(§e“SYä0.¯Ša¨?6ëI®jj0Yû0 8rZK„
º¬«[.ÖÚ}S£B¿Ã?ö£°ÑÌ +ø¥Cf¼ÜV”0)ô“¹QaÈd<WkžÁÅtÈ=#¢ãÌÍÆÒ!>l¸·b–a»çË´Äå± +À*‹A2|3áz:yØ•n˜Àt@¾[´ãWÓí†Yi,s¸ESâÀ÷7û¥‡hNÌÏ\¸§ÌÅ”¶…29>¤?¸=ãata±žÌ2½X¥‚S+™jP·mQ`‰_æ=ù.¤»QzîÙs– TOC¦ ŒæšEõþ26èsü©N„Ñò÷#p +ºs¾ðr¤·Cû˜ +šB-¤õ逴ˆæ^QÑ×ÀR¦y4+@?À~¤B>”Olb$=ÚÁ‰^’žýnx¼ºôfä=zä=6‰!š +ƒ‡ðDýG0*+' +äíæ¸IÊðçâi™ù4¹-Qd ‰ü#cÐÑñFrhÚòŸMÝ›ð ïm3È£ˆAJK.°qyP9°—Š'©°œl–ï^Ðà½Ô\ßZ¨Âe™´m*G,›½/f‚q¿áö œ…Ý%Ÿ5Kbg^÷^ CÁ¨ÜÑÃå‘|,ÜOõõüÁ ‘ÄLÇßUxÅkéýï ¯C蜦¿<h&•›¥–üŒ¹«GËø˺#¤›ìsÙÍ#ð°fUd»!0¤Û38é‘8¿³+0¿Ç?ý +<–œÂHý°/€ŽÒ¿É›¦Mf}ñ ¦÷ýŒ'îg£ÅÐ'(;úΔ]8,X”÷õ_Õmy{øÕµ‰¤Û¬}Ü°C[2§t€Tbƒ©ß™/”/cU‚CìØUòÂWQWŒGÑÅ6|<ÿ#ÁÐ1Ï>*»æœÔÊ›¶.,ÝÅ÷¬÷ý'¥XœÈ«rÞ.Öz…ŸØàÏ‹ÃoÿÞÄMÉ‘q²îQôиÛ= _ÂÆÂI6äÚV×ü®[ŠÑ…îvޢ߰[¢¶îžPn¹ëîw•ˆ…é"¥ïeþk]tݘ´û€~Ë~È´f\¨Ç^U +Wm~E™|üÊšçendstream +endobj +756 0 obj << +/Type /Page +/Contents 757 0 R +/Resources 755 0 R +/MediaBox [0 0 612 792] +/Parent 744 0 R +>> endobj +758 0 obj << +/D [756 0 R /XYZ 110.999 687.904 null] +>> endobj +755 0 obj << +/Font << /F78 368 0 R /F101 484 0 R /F88 386 0 R /F11 537 0 R /F80 371 0 R /F87 383 0 R /F8 534 0 R >> +/ProcSet [ /PDF /Text ] +>> endobj +761 0 obj << +/Length 3554 +/Filter /FlateDecode +>> +stream +xÚÕZYä¶~Ÿ_1y²˜aDÝŠ‘ŸÁðï$/^V«ÕÓŒÕR[Rïx俧.JTK³žµwLSÅ«X,V}U¤¾öáO_kí«<ϯ“,U¹]—Ç+ÿúªþv¥¥‰¯‚ ‚T}|wõçÏÓì:Sy’\ßí©ÅÝî;/ÜÜƾ§è¿¦ÿÁæVûðûùæû»/¨Sªtb§P«,‹¤ç×›Û$ð¾[CëPù¹–V-GITRýéæ6¼nÒZÞ&ÚûŠFý„þF”O—3„¹ÒQ*CüãÍ3¼¤A>fñÿË–¡äçÒ„ä:K½$áùØúê³»Qªa–«:ûk"¿
s_ù~ +µÕ³dG‰G½[t•Ÿé_`Âv?7fXŽ c•dï—+…‡ÝÊô`1óøw™þ°²zp
áï"ü²6§•Õ[K÷þ+38€ªF*HôìÔþŒ2ƒñg©éX +f}PÏÁ.¡š.O0yš¢a.lÿm–é§c%0‘ï½6]Û«f¸a*›(ìºb£Á™æž `¯ŽE³ëíW3tf» |ï<T2v‹nÏR²88?ÍÓµÂ6‹À1©0æG+cÁ²¢(~óPpFô¨'ÂsÁ?]UEs®‹Ž 'Sç®b³ä©Êt(ÂNøLyØ€½ ¼cñÈ…m…¿¡wî7Ú«vüÀÊWà/QX&;‹ÓUgÐ!àW»ç.e
&}Ç4ð‡^qùÎvC#ÐÏûؽ™i{nŠÝ›M{¯±Ú|âõqÅŒ"¾{;”fë'ù†…²‹õ\“áö‡ö\‹(·²œ‚vàÊšÞ´
עϩÍè%«åyÑQ¨’ÜÎOÊ‚d*ŠmØ“å8µ«L³ªcAÎ|”»s!©æ›àWÚÎüÎMQ_¬©¿ØB_4§]zš*?yæ¾=Ã|ƒAŠQ]µÝ
°)™mÐûÑXFní(˜\q䉦G¢¾Ý`JVt!¬ˆeË@½?¢åßìd&A)YâƒÌ~ói™<_ݘ)~ÇîûMû²ÆÂÎçiàó<øSóOö {y§s'¥æ|ÜVÛËÈ{±_ΘÊiðVêü|¿ï²¨p4'f%¦€ð.]Vw^qY +Á[6½Œ}ZM_ÙÉ«£ÌØWp‰KL¢°EU߯ì@ðЪ&-HŒb8ÊŸÅmU3ûhøoÄe1âS]½u…x*úêÛ£”J±ø!m“´µÞãU%=|
ìÿĤ»ÃJ<„™ÊÒè½Ä5sL”ñX÷u»}XRá&6míŠø@ÀqÌ":.¶X¹ßùÐ.W œ:wÛþ?»hïÆ«ˆÞæm¨$™Cô»M{ˆfá 'rX¡0ÁÆ J "µà‹±Œè‘K¬MØ\š¡àªº.PÔ±=ž:3öµÃ–íÉT½KK§35—) õÑå= Âõ¸/ý©*
ê‡r
”Þ†hw’üö¯WiwŒ7"G¬#Ál_Ô´ü»«ö”•9×+N
pS®³gzÅwÃñ‡Ì[[à÷H¡È £ÉÁ6ìD¸qÇ¥ÉøBkd¨·`5d}épª¤uyîŸI"*™›F’[zS•‡Ú‡ Ïx$¨¨ºÔ‚Ϧv“z*'û™§†0ºÍŽ~9fRdVKšõs"p +÷+¢Üdse
|ÙRj¦ìªþÔrd‹Ü<2uîoóLN$ÔÈA£í˜Ô´Sv´Oq¹ÐÿQ„”†*€%¸¦o )³ÃCöIŽóˆ<ŒWuæÝÓžÆÀ5ψëí©½ô +2Ñs›v7uÆÐÄÞØpäÎÓ—ÕS/SA2A¾ò<´û}±%[A~I¢ü8x¦×m·ÿZ‰ëÜœã /™ƒ>w3]ЇTóÅ#ÿ¬¤qµŠód‘Çå5n«=Hee‘ e=Þ¡ü™¨$M‹:ƒ÷]‡•Æ¾ÊÆ«Ê_ZàγBpï&¼U”ó”z9MDhtjò~¯žÉg°ÎgôË|¾³
ÓÀU’åü{{I@Æù´Û UZ§Ö„õÕÌC4ß‘éû¿"Î
^Î9(§6èúAŒ(Ýà¶Ü~ŠÿiP±³?ÀY§ôíû7ö¹èL±¥‹±všsålÑ©Å¢¡seÌü’‘7·?—>®=÷ÌuêõÚc,g’ÝYÈ9”?ºÔêóĵxâ$ÅyvÅ4<98 ™)”×oT7¦ðí3*Û«e·/
Ià@Ý·µ$a#k†æ+:ø +ˆ‡dˆí°øÞˆ‹üÎJè33ih–F @Df0¼áS+š +õxIcÊÃÇΕ1›§••çH¼ÄLÇkp(>õleRAÃd6mB>2¤±ëÓD‚KÎ'¯€])h‘w¤…ËmuéÂë'ÊOW_a_*Î5VýtõÝ÷þõš|qå«0Ï® ì+ç×€/â˜^tów}õòêïX!û‘º(:ÀÿÊ ºH·íIŠA¼ð×f6Ç5>¨±H×½?Vàþvò±·¹CÊ€íÆKøþ ’ÿàYxAÒ™íÅâe?nGr½;áÅlE9œmRtÚr,j±¥,ꘞâ®n'†¿~”UÚ×ß³7ÚÿÂúé@endstream +endobj +760 0 obj << +/Type /Page +/Contents 761 0 R +/Resources 759 0 R +/MediaBox [0 0 612 792] +/Parent 744 0 R +/Annots [ 763 0 R ] +>> endobj +763 0 obj << +/Type /Annot +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [428.595 238.889 438.458 251.682] +/Subtype /Link +/A << /S /GoTo /D (Hfootnote.10) >> +>> endobj +762 0 obj << +/D [760 0 R /XYZ 110.999 687.904 null] +>> endobj +764 0 obj << +/D [760 0 R /XYZ 125.345 138.467 null] +>> endobj +759 0 obj << +/Font << /F78 368 0 R /F80 371 0 R /F88 386 0 R /F101 484 0 R /F11 537 0 R >> +/ProcSet [ /PDF /Text ] +>> endobj +767 0 obj << +/Length 3471 +/Filter /FlateDecode +>> +stream +xÚÕÙŽãÆñ}¿bò´0êôÁæá<mâµc#>àÄâ +žUj¢` š$¤§4kêA®OŒMéQÖYZx@¯[÷gnÐí ýQç5k¯ŽQ´¶ +D°2h»1VzNÕå$"8ðÅ“PW'¯¥gYœ@òvô⎞چì + ¢-ЛãkãÄñP´è9ï Gg@{¡hÆ‹¤
7´¼ +â[ÇW•ˆ¤¢ _ÿ2r&Òδ{§Dd®ê6cÕÒx8¾ËŸe ÃŽøådáÁ%ÚNŽq×Õe^ºãBH(Á‰©!§²êoÉÕ‘Ü„‹X ¾YCBOH4eây¦äÄfA©à·Ü3«ÏÄ^.å×5bÒ8À°Æ +B¼5¦»@ +`¡e<ñÍã˜ÇïÇElÔn]6ËЖ#PâÜ—)EXã°eØö£DŠMß^Rô±ã·Vñ8z…xè¹c²<ËÙ3Q"§´ˆ¬qR§Þ'v1‰º’»ˆMØ|P¶çX*oA•vd~™é ÿÁÔê¼Je&¸6}Ægú°‰«q +8Q‚`"²©út.˜FŽÆ–¢é8ðj©d˜Üv61Æ•{dÞÞtbÒ Ä“9 êO[ßH+
ail§â;-¥Ãp¦:œi,ÔéÏ nû¾gZ.Œëƒq,´M~Ã!Änë|®äÄÇÎòFBšifæmOÎI:ŠÍ,§g©ÇÑæ‹Èž˜fÁô›
aBp3M‘^¹¬TdíŒVX~°räÇ
´ÀÛ´-2ݹ1§wÞ0ç´œó~z§¤ +¶%^–PéÆø¼¡|`ŒMÂiX +’ä†Gζú‰ +8 yËIШÝ/aÂN› +½PÉ2JFkºÈž[îâå‚šæn\ÚǧýX¾$©j°¹À +l¥@DRpÌCç4'kk3"4¹rœl‘ö…óØ}X$Çu8f”•óOøDöOJwkHµy Î%YŠ=wñíYß`ycå"8x‡£í@˜Àâ¨$Y}]7§´ôe¸É^âÄ]DÝz +ï<§>ÙeÐF.»aGŸž}Ôca†«iïÐpÕ¾Úå¤5yÀ¥õ/©ÕWu–·-}?(g@¿¬æÈËÕ&}ñGr‘HŽ¾Ï2t‰Kµ%Å… É%ǘȓè‰çæ±ÁB—¬’kRîf°¯*¤à‰š–ÝpÍꓽi]̇Œ…ÍS¡ï}¢O¤`æ™ã©ÛŽ®'ÇKE ®É¯4TÁ €[ƒk !ÖñUÖFÚ$‡KŽ.
yFK åZÒ +endobj +766 0 obj << +/Type /Page +/Contents 767 0 R +/Resources 765 0 R +/MediaBox [0 0 612 792] +/Parent 744 0 R +/Annots [ 769 0 R ] +>> endobj +769 0 obj << +/Type /Annot +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [456.878 264.328 478.796 275.271] +/Subtype /Link +/A << /S /GoTo /D (subsubsection.4.6.3) >> +>> endobj +768 0 obj << +/D [766 0 R /XYZ 110.999 687.904 null] +>> endobj +765 0 obj << +/Font << /F78 368 0 R /F88 386 0 R /F80 371 0 R /F101 484 0 R >> +/ProcSet [ /PDF /Text ] +>> endobj +772 0 obj << +/Length 3221 +/Filter /FlateDecode +>> +stream +xÚ¥ZYãÆ~Ÿ_1oÑ36oú!ˆïúÈaÇ; ¬
„#µFÌR¤LRžY,üßóÕÑ%rí]ˆÅ>ª«ë®âØë +®1õÅ•Õ% æþtõû—Y~›"M¯ï·¼â~ózÝÜ%ÁÊð¯åßðæÎx¾¼ùáþkÞ”›E´)²&ÏcÝùÍÍ]®¾W¨md‚ÂêªÏæXRS„¡N~s†«ÝdVÞ¥võwÆúgþ}Á#ŸÏOˆ +cãLQüó—OxÅH^(±ôûjd@A¡;ÀŒ°°y¶JÀ °«¯^Ü\òÂdØ,±ü.*!€Øäi1å}Ó¢)ï÷Ç~ÀYY±zpxæÁª”×}¹îZŸªa'sÃÓ
V:\v76_=÷®zv¥b[w®\¯ÛvN·¬‡cYü=H¬]SîõÜm×î=¿ü¡½±Éê'úqÊnèÀ_
Ä$ÜêÎZS$ ߮ߵÇzƒÐ¥²î[ø¦x®Ûý¡vƒ«ßÊ»»±éêùP6›ò¡vF_9]-T¢ÃÁ5›jíú[è½[UÛ\Ê)Ì¡#EƒLt×|÷Åû%›ÔD—-–…é²ÜCç–6ùm;!y{ìp}Á]Ž}òhe>Ùy± mŠK&,£ùÞFñ¡s`¿ÛoÕú±+»jýN·§í6HMZxÞÉ4ãŠ*šèüD%f˜¢Èd‰·ûjNèÏÏ£uîa Œ + +É™)4Îm܆”:·¸¸`㶄¶<Öƒ !4ÕpcW¤Ð<ÈÁ“‰¡EúlÚaW5ò∤çµ;(¦§Óíd9'ÿXdtÉ0ÉLl½‡þbâÅËð—üûÕèíÄqŽüŠ“ž_‡rý¦|tçtûÉÍKqPìÈDA~ƤÉî|ïSmÄe¸¯<×µ+Ù•$‰<Wþd`âàº}Õ("ñ +@ù[¥PÃY±Ú)±$åšâ¢L}ñ#åÓ|𛜶àöñ÷ãõFív‹Ë-8zº°ˆÅϧêç£ÿÃÏô;^ðóQšŸô‰^üà…Ÿç©%?ÏkÙç: +ØóaÐĦÐ(Z¹óÓ‰©!™7²øžÂ‹X*¢ÍÏLOMDîÝP.!…óX(¡§@ º£·h)U¿Åü¬mÛ¼ï¬hé,QæÉyt®Ì’Ö=<0™"»’´ +²^žÚ]%héyã-kä)®ÔhtòÙUFÄlâ +endobj +771 0 obj << +/Type /Page +/Contents 772 0 R +/Resources 770 0 R +/MediaBox [0 0 612 792] +/Parent 777 0 R +/Annots [ 774 0 R 775 0 R ] +>> endobj +774 0 obj << +/Type /Annot +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [391.803 637.927 413.721 648.87] +/Subtype /Link +/A << /S /GoTo /D (subsubsection.4.6.3) >> +>> endobj +775 0 obj << +/Type /Annot +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [219.031 180.323 228.894 193.116] +/Subtype /Link +/A << /S /GoTo /D (Hfootnote.11) >> +>> endobj +773 0 obj << +/D [771 0 R /XYZ 110.999 687.904 null] +>> endobj +242 0 obj << +/D [771 0 R /XYZ 110.999 298.425 null] +>> endobj +776 0 obj << +/D [771 0 R /XYZ 125.345 138.982 null] +>> endobj +770 0 obj << +/Font << /F78 368 0 R /F88 386 0 R /F80 371 0 R /F101 484 0 R >> +/ProcSet [ /PDF /Text ] +>> endobj +780 0 obj << +/Length 1913 +/Filter /FlateDecode +>> +stream +xÚXQÛ6~ϯX ‘›IQ”ú–^7‡Ð&¸¸Å—*ÛôZY4$¹›Å"ÿýf8#´Ò%AQ0É!9œÎ|3”¼‰á'o¤ŒEžç7ifE'7ûó‹øæ¦þþBò’X(•@¦~ܾøþµÍn2‘§éÍöVlÿŽôjcâH„þÕj#ch_¯þ³ýGØd…´7i)²,áoW›TEÿV
¬¥q.yÕ«9—TäJñôO«RÑo+«aå&•Ñ/ëßÂÿm ü4?AçB&–YüúåÞ&·,,þ¿_zqÎ;À*—™X«_Ün«ê,6ÇK&ßè<q¬ “ˆ,ÍǶÏá4=¶}åýG<ËFÅÉì¦ÑÑ7DûÄÌFÓDXÛ?HŠ®8–•V&FX•ñÒ—b#qݞʖ¢ÖFµïXjZ×”þÊ‹.ßU©Û×ÖÑ ;¹ÆMYùºzè{<µ÷çsQP›
úlbBGäÆàksMµÐÒŽ4mÏÞw'Ôw®«1"ëï5…ƒ
â¨W¢¢®ø¸’qäZš(j"ûKWúº¨˜Ú¬dÝ]Ï®îZZ°[©8ºv4ð®_âæz*pú•4‘£%¨gÑùæ9®dôœ)Pkz aEÑ ²É…Š-›&
ʼ9ÂÂT‡‹fÁ!d.R™ìÔ¸ªø47‘»giïÌõrqEã<b¹Ò` Pê¯ya¹
çÆF˜!Æaõ:ü¿áö†£x&ˆÊÀƒ{aßXÓIeGí=^–¿V,ØÎQÛßbÍB¶ƒ°Ð&ýýEƒµ™X†Uä€Y"3ñ?×4!â +YFhóy= +fâ|Y`gÀ’zZi[Sw e2ô)«ZLŒôP@Ú,Ô2
9èË¡öm°™‹Øf#ýæŠ0©ý+‚ÚˆXÎ4§Úј€M0E"(Oñ®°K…tŽ¾ª(ÑQ9¤>æ7Eã¯Ãk)O…yöZêAoTÉ]<`Ô?<¨n †Éà%*S÷;~>µÂÅÊdü¥ [x†§;bS &Êîá;ùøü¤§º¬?¾úŒW3Þ÷ˆo£ú®Šã´\+´ëçµæ]fÙ¸}÷ˆ«ãuÒ_}^¸.aQsÛe¶oÑúÚ¤€XëÑp+@$XÉ<VÕ7 +}‹[ŸÊT‘ùa]Bèƒcã±Ä-=æð@D¼oZÞ`™·4Ïþ +$˜ê!ˆ¼žhÊL½çzñÁC±쀄4¡]B›Ã£É~hÆÈ°þ+#vä‹y4ÑÏžŠ!”$ x§W˜ ¥¾U= +endobj +779 0 obj << +/Type /Page +/Contents 780 0 R +/Resources 778 0 R +/MediaBox [0 0 612 792] +/Parent 777 0 R +>> endobj +781 0 obj << +/D [779 0 R /XYZ 110.999 687.904 null] +>> endobj +778 0 obj << +/Font << /F78 368 0 R /F88 386 0 R /F87 383 0 R >> +/ProcSet [ /PDF /Text ] +>> endobj +784 0 obj << +/Length 2556 +/Filter /FlateDecode +>> +stream +xÚÕYYsã¸~÷¯Ð[¨* !ž»O¶çÎnf3ö¦RÙÙˆ„$–yhy¬Çÿ>Ýh€‡DÇ®ÉSÊUfãj4úøºñ•|Ź˒$Y…qÄ×_¥å•»:ÀÐû+n¦ˆÄe®ë½0¸µ£[á³8LpÎÍýÕ_ßÅðfI¬î÷zî}ö›ã¯·Üu]çzíÎ餪,OU»þýþ“^°$4ËCæ‹„V1n×¥U½æ®óX¨ì JUu-£åQ<_0Á#½ü~»N]®·ÂóG\]÷EFÍ"ÀE®6ߣ¬YÔWï혙|Rõ©0´ìèûF6]Y÷ÝÑt·fSe¹PO +œ’|\8YAÒÚÃAÇWÖoÃ0¹÷¬î:•Qg‘WŠ(0è©ïd7Y¯ P’Ê#Ÿô02„á£Ì†mP 0m<÷«¸Ý&tÐÄÀAÛÉKœSS:è¡ÁØ0‡ÄáI”'hayPf„¢:‘©ÙÃR‰SƒÀ
uNÜöVEm¿ë +Õ媥˜pnp—y~2;ݢѹ‰ÁÑè|Ñè!"0V5ñ
ÅŽÚ³‘ ÐQ§!6»fˆÉ1¹²0üNPð̺aóJQ,éó]&îyabz06Ð!’ª¼=ªÌâIkƒ^µyû#¹8C–xž ûPo}Ó<©¶ž8ï¥Iù¾a=£A±5sÝS—Š(46.qÑ1°ý2¯Ò¢7ˆç#cð@pÄÇ&!þã‰Â¯Eѯ\ø]*O(Á¥n!}úÌ‹|ã=tÐR¦M–'ÅôE——²SfZÕ
p *=u§}Ó +“¶q¦¶à +EŠH¾ ™ïi‰Þ긕@{ìýW•CmgxcÝŽ<nTÓ<Q×m]ºÀ8(³)% Žª8á õhàgáiÒ[õc¦–ŒLi»”S»úÉ¥]çKt"hŸÍÿV0‚ƒ¼3(`.Ïò†(r~êUú@¢pf*œ˜ +ZÚTðUéÑPdf@™Îô<4e;_£ïRHèóÁNt>ÙÕx|rüÙaR…c›ê¿pRÿ»c±Oå‚=å¤.Nò‹ïT¼>½àâ!½0j_Wã»Ð!3³
+ˆJ–˜Tp’–R¦fê‡Z=h%KÄ@—
õ“=À{†>wÚåþ'Ü”
m4«hèŽä²8ög>9xË¿e^æDÞIK]“¯;s¨³ÆÀüÌFÞ7¶T(ë¶c_{$8ÄÁ—;,Êß”„;A_ž‹Õá½Ñ:zn6a—O£+$€ +ïæéóD/8†5Ív…)c%½¨t„ã’Ê6¬çâd3×v¨ „ Ë~¾
8Tbõ‹©1>Î*JÒX´ŠA¡VFÀÂÈúçÞ +™Çý Œ÷>Ê.n‡ºÀ¼ðôY<ݸ_㥺Z8&Üœø +endobj +783 0 obj << +/Type /Page +/Contents 784 0 R +/Resources 782 0 R +/MediaBox [0 0 612 792] +/Parent 777 0 R +>> endobj +785 0 obj << +/D [783 0 R /XYZ 110.999 687.904 null] +>> endobj +246 0 obj << +/D [783 0 R /XYZ 110.999 662.997 null] +>> endobj +250 0 obj << +/D [783 0 R /XYZ 110.999 646.119 null] +>> endobj +254 0 obj << +/D [783 0 R /XYZ 110.999 376.844 null] +>> endobj +258 0 obj << +/D [783 0 R /XYZ 110.999 329.724 null] +>> endobj +782 0 obj << +/Font << /F85 373 0 R /F78 368 0 R /F88 386 0 R /F87 383 0 R >> +/ProcSet [ /PDF /Text ] +>> endobj +788 0 obj << +/Length 1876 +/Filter /FlateDecode +>> +stream +xÚÍXKÛ6¾ûWø(k–={KÓm@ƒ´qÑC’-ѶYT$j7‹¢ÿ½Ã‡dÉ’½C±Àš"‡óâð›’%†?²$£$I–a¡ûËô¸ÀË=,½ZG‚¥>Œ`é—Íâ§ß¢x£$—›¡Ød=µ&8ÀÞ‹ÕçÍ[C!1MB1Š©#{¿Z‡Äü§Þ½¿3ã_Íÿ7æÿËÁꇞ]/‘ (Ü1M±¸ßôÚ²8AlÀs¦¬Y‚Æ>ŠÃ¤·)Ž¦6É ¼‡
<QƒyWðÃÞSÁ·¢h¬fq¼uBc(f,p›?æËQ|D
è#‚cŽþnÊoíÖ„ $z¶¥|†1¡"a´ì{͛՚•ÒþŠ6l'Re¿surZ¼ÇˆÆ±Óò(¯d£¦2Yˆâ¨#CS6kƆ1 bßÐ)ë×VlW{[©ÝûíǶP5ìÚÊoSMBèˆ\q«#°n
n½ÌsäÑðéQ{Îi‘W78P“wUžNÅÀ'WÜç¦Qy…éLD¾sn«E£ê<U¹,›9+)ñQ`nì)nÒBðºy:nåM÷pJ>Š—á€^‹K0gð5¾?ÚfQ*Q‹,å•ÙwÛ5™ß5R’kÞQÌ8àyî?Ö Å^»¿ÁzŠ°¡Ýë{=¿!×àל›}â»ãE#n²y³Š±çìVm]Ú‘t¿½Uû¼Ü;ð8ä…˜êDE‹:ìК %f +“äŠE1òcÌÑÄsóßT„½#¨†ô]òb´bM)MÂ~´9%WâbŒP†Bδ¾ ®#ØåóR{‚R>Ö½Ô¹xˆý +›/¡À¦ãt9Ú¤÷`ïØêðVöÀ¹l…ýµ`Îh—ßÎШÎdé9d¼ØÛ·ì*(=E3 +•Xìà¬Ö<vù¾…F¶©Sc¸cÉ©Ê1¬Ò8äVm]Ù¦³¿ÓPZû¦Ð)Å£3ˆ(}Ö¡zxæPÍrDâë*B £†Á_e&fПFˆõ·Ç”puEVä¥hžíñlÉäÔ8p]Làùà§êS“C-UÎÑ +i3ËS®D†ìüæ7vÔýòÒRêªóh¼“¦†ß#ÿ¢{IáfM~·cëHG¥»"3_[hóœd;õ7ù6/rõääíWçò²QN®†–ÝvgMÙ|¾‡Ú¨Ì\÷ xÓ¥¤¦MSѸ~@*&ai5ó®IèÍäØ®›Úׂ«âéôâx–ñd«ªÖí•®ÃÈò¦*øS÷ö 9Bðyy*¨FÎ3ÀºOâ }ÀæÞÕ»gõÑ£ûû‘@Ÿendstream +endobj +787 0 obj << +/Type /Page +/Contents 788 0 R +/Resources 786 0 R +/MediaBox [0 0 612 792] +/Parent 777 0 R +>> endobj +789 0 obj << +/D [787 0 R /XYZ 110.999 687.904 null] +>> endobj +262 0 obj << +/D [787 0 R /XYZ 110.999 426.185 null] +>> endobj +786 0 obj << +/Font << /F78 368 0 R /F87 383 0 R /F88 386 0 R /F85 373 0 R >> +/ProcSet [ /PDF /Text ] +>> endobj +792 0 obj << +/Length 2415 +/Filter /FlateDecode +>> +stream +xÚÕ]sܶñ]¿âOŠo€Î´3ŽgìI·Vžl?Pw”Ä–g’Yñè¿wx¤Hß©Ž<mÇ3âXì.û‰3[PøÇŒQ’$ÉB[C*ëò„.®`é§P(á\K?œŸüå…±Kç—ã|ón)OWŒ*º|zúáü•G1„áP8%–´7§+Íü_¾üÑï=üÜÿ}éÿ>¬¾íÉõ…J@àHPi‡qòãy/° 1°Îe%Œ$–& +L•h ç
ðãÉ»t±Û{uB‰Hìâ`JØiyÂ4ÌÉ0,NÞžü}o©‹c wÓß«¹×u]ÔMw»ÍèTVC‰qÄ=âE‘®ÿ…8)ˆé=º‰ýe«UÀËŒ
(€¾¢i|?¿[ÞÍï6ãÝv~s¼‹±–VLRï`N•‰Òc•±#*k²ÍŸUûÿV˜+Œµ±]öP
5ÔØ“)NLÜÏiä¦s44ÑüÁDª•}Z!äÃYµŠ#j›´ºúÆŠÕzºÛü?Ò¬óTÄ·´X¥‰„X;«ZyDµWM–Uß<*>Duö«ŒRÔ?f”pNõ_WG4W¦WYÕ¥ßÖ*:f•±§?-¢vÞ¤¿Æ*õÝ®O™ZÞ¦ÿ#†©#2<†ï¥osD‹·YQÔ§\-oþÛFzHAæQMýhè4óê…f€¡z«6Y3½ +n‰±.~Ï„ÜÖyÕe›"¯²væd®¯‰êK«Í” ³Dð!ÁMÚ¥žh[WÅíÌÝBÝÎD_·¯D¢—Ýuæ +ý€þZqcõÁÔl@½Ëb +DéòYÞ¬‹lÆòzL1›ºm!ò€ø¶.òÍó<-ë +|osh‹ˆ[>î‚! SÌ7Ån,„ã©€wæY]>™ +|\&¢wisÏÉ¢ ‡"¶jTÓ‘D:óNˆµxI”{Ðrû·Ù:wA…+ +y´j!Î4i—{µ¶8}síÜÉA»ÖÅÒûË\hgìP,`>ðA,`s±`IA‚ôc=AïñœIqm‡P^n!á§U6YÛA\õRãz5Rp¢|!¥…è¸àFÆʪ–mþGº¾ÄoŠŸ-ȹk ûѳÂX^¥]Ö~YrÍ¡Q¡^UŽ†ahR»¢ËK p‡3ŸÎ}’Ô´Í?ù8Zàô®Ê»Á¼ +˜>*pY»KÁ©4@>Q™z×mwÁI¸Õ6ìÁçYÜå˜F{î:~! M굤‰>›q•Öo‡Z…ïÌ +÷ · ,²êÊ'´ýî&ÔŸ~W¤ìΉU·‘>AÔ—AD§àÙÙdÛÔëŽ+w
zlŠãŸÓ6k^eÄ¡K¤šR<g}é²ÝNt×Þ¬*³´ +`zQ» +ÅÑÔÄâ\^¯}rvƒNndË-]2¾gòmS»"ëTÒeÏøgãLO—‡P4B‰@”§êëöQüƒK7ZæEÚà +|š}¯…–Þóá*Y^zZw˜£í<?Ãï_Æ5íÜ¡µ1ŠærÁlŒ0&J%Ì„2 Ù®»ñ'87w'Œƒchû0ÛâjjÛ®_5ÉÞ¸g~°JS‘£_MâȮ-‹ŠD˜©àÄ‚‹‹ éœ*
á}ÿÛ¬PyHc Õ‚6DÙq–ÞL™˜ +¸É7Tu‡×^¯×»°˜vøíâFßÉ"è«%@_7ÎM ùD‹µ{dWôž!Ø¿•¹A™5¾o™á`§ŒOÇúP÷è4Ss†¦7b‰ƒ8–v8Ó×Ü%#òí®HCKê©lØ4©‹îU’LsbLœBÿËæþ‡HÜ=ññ +endobj +791 0 obj << +/Type /Page +/Contents 792 0 R +/Resources 790 0 R +/MediaBox [0 0 612 792] +/Parent 777 0 R +>> endobj +793 0 obj << +/D [791 0 R /XYZ 110.999 687.904 null] +>> endobj +266 0 obj << +/D [791 0 R /XYZ 110.999 357.445 null] +>> endobj +790 0 obj << +/Font << /F78 368 0 R /F88 386 0 R /F8 534 0 R /F11 537 0 R /F85 373 0 R /F80 371 0 R >> +/ProcSet [ /PDF /Text ] +>> endobj +796 0 obj << +/Length 3715 +/Filter /FlateDecode +>> +stream +xÚÕ[ßsã¶~¿¿Âo•gl” +“¾{Dµ¤Ô,ÑšÄ ÈXH" +²ˆˆ‚L¯ø$ݦàƺÞnëKe÷PR 7Úöûºé¸S¶ü·*ŠU±¢v²øâº-HÅüÃœÿ`p«ù8§\J¦Â:#ýÝÊ¥ãØÙ×µ”"3Æ-XVm—o·¤ñÈ“¢÷°ÙµÍù¡‚M°ì·yY¹µ/Œ‰N/®•P±òšFã°>ô£?áÍ4Ñ‹bñ3¬tëU"ÐÕTàx±o×¢+>ÍÙˆ2ÂFÒÃ>&ñëu¢¼Ö¤Ø‰–núgÓe5\NsœsãO+ˇ”³‡äÑŸT”a{0ç„N<sÔT +“gk!uê§ÕÍtxø$͆ë´ÝÃËòéHòÿs–Á}aoÅë‚ÇSiøÀŒ6–i-f67"‰õÅqN¯_û|ù1¿›ú£"ŒgÖW8´¡¿< +WÃ@5t
¦g{Ë0 Hõr;§Ÿf$§"%tªNIn¿ZãÕY By°†¤ó” +>ˆB×5vœ÷CV‹Ø†hW«GdEšŒÛ•í ÿ
W)R9fÁ;h„"Åò–‚dœ"Æ=I¸ ±~ÿ»&_ßâ}±ÛO·7)ìIž}–Õ¯å¾òÝ鵂Է‡öÊkÉ:ÀÉCÓW3‘ž¨ççn½/—'ü*”jEàa–^˜!äŸe£€È«ÎFƒÑªëút +íâöaêÇŒ¦WçYÌò9 6h»`NkäƒFª‘º0§áÄ›bÄv`qîYR´ÝI1ÁýpIJŸ|<$¦Ý>ð(#h2ôý¾©÷@JM™w~ŒUGGÚ)À9 +ùDV0M4 Ø=ã®'ë‰VH„€¡{,‘Ùl [4v™WUÝQøÔŽÕPK´cfSœ‰ué½7¢™W¼hÇù,ö!±ÐȪXS +’¶ž˜²ã ÷¥sÈôRóài«ý”jèf¬Ù Ž§&¹>‹´ûM¹Üð>eëÕ‰†µcìzWTÈÒ·Ûö]ëCWnûa¢àÓøPÈoÈÍ°ö#GÍâx{ 8 +9Üz +U%HR²ÿ,ª”=*(С¥dbuÅ=V<[÷àTëÉõÀkôæ]Ivñë¥4‹Â^Ÿ@™$BÆêì¢ +¸Ê£§$%iòL€œ?$ÙÌ:úmGîÍ˜Ü ‰ðèC&?öԆ˜è +QâÛRYÃùn0ü¥V¯@Ct¯fÄÌ=ŒRŒ¹å¨øasKxíuš<zd}x5Hh<1÷—Rº:yã'ÚûzÍer‹°ÌƒhOÇ…„1ê–Àõ‘9+Ø#¶]SÞ^ªh×ÖÕ?ÉgÏ<¡*&(œÃ/»Â©&ísªQËHÌaÅÀ°)i{ª²TX8—3ÈÂ;Ý”6¬O¾Ýrú&»‹¦ÅÖIØäžð¶ÞÞ’áb;NIyÝ;z)fP@—uU°G@ß'RhÍi’” +!5Xñç¤ë^‰>wêÃûë‡!¥²Å¡}¾ +¿µ/±åM}à(ëÇrO3‡µh±óÕ4Ú!Œü}ênDœ‰ÑÆŽó£ÞŸiãVö5T*(7t[ ˜žsdŸE¨=»vÔ{77#3V 4 (éá ‡Ö™5ZŽÿrÑr¯®ü„úñùmMÊÊËC>ସw„®TŠö«{FûÕýáû…§UjhV$_T¦ÎzÑìòeSûó&âW‰q…Ž^8sc ,Õ„¤˜®ì‹(’ѱpîP¶aô™¥àW|Þ{'xøÝz@ŽY<po““¹ÖÓ<¿åm`ÈEÚ«©fE°r›¾ðéä[º© ”»Ð_Oã™-£A‚ÌÌvš¥TÂPú½*–\˜wƒ-•<ì ¢J¼cÆó¹¬YSìVÏBÄt"&ç•xž/œÚS…ÓÄÕ”SöΈ R2êEÎEg¤†yåR鬜§ÉkUfÉuNBÉn}$À
8ŸãõCyÆÀ}Ùn$ò%©I³ÿŸ+1’¸Õ ý1QÈÌ\+ïÆål×ÙZ?|ëGÀY +Ù;¶ijXÚŽGwå»é¸wë§x/üÀ£lµ—”!/T½”ˆ6gî{¸ã‹ÑÍŠŽ#‚–ßéf‹]±ãÛÞØ}ÒP/ó.<rTsy±lxŒxí‹Ý®ôœ†z%?æÕs¢»õkºªÕ°F9òóÒY=ôóûzû1_ÕÝŒF +endobj +795 0 obj << +/Type /Page +/Contents 796 0 R +/Resources 794 0 R +/MediaBox [0 0 612 792] +/Parent 777 0 R +>> endobj +797 0 obj << +/D [795 0 R /XYZ 110.999 687.904 null] +>> endobj +270 0 obj << +/D [795 0 R /XYZ 110.999 662.997 null] +>> endobj +274 0 obj << +/D [795 0 R /XYZ 110.999 647.645 null] +>> endobj +278 0 obj << +/D [795 0 R /XYZ 110.999 341.593 null] +>> endobj +794 0 obj << +/Font << /F78 368 0 R /F85 373 0 R /F88 386 0 R /F17 509 0 R /F87 383 0 R >> +/ProcSet [ /PDF /Text ] +>> endobj +800 0 obj << +/Length 2947 +/Filter /FlateDecode +>> +stream +xÚÅ]oܸñ=¿ÂÅ=TlV$õA]ŸÒËGs¸ä‚ÄEhú KÜ]!Zi+iã¸Fþ{g8C´«:vz×CŒÕ’3Ãù$#ÏBø'ϤE–eg‰IEFgÅöIx¶†¡—O$£„B© úËÕ“?½HÍ™Y’œ]ÆUù :¿”aOÏÿyõ£CI…L5¢¨PÅhoÏ/é~UðÜÁoüÌý¾r¿?LFßË;ê8‚ý‚±AŒ'ϯFjµÉD +Â%V.u‹06 +”!tIÒô•d +‚d¬<îû“µHµ¼nPnùn¢oÿÛª*z¤à Tâö$ˆ¤€š±1è÷vØ®vUágžªHC3“>ø.Š·ìŒSŒA¤S.Çaþbµ¯Agdð—T¸¡ÎúÀë—¡x’r"ý¾âðÞïlQQHƒ¢êŠý¶/[¸0‰}O‹ƒˆjvðÇ’Õ¦(%gùð‹‰T½ÅÊ8Sønßô¦]¢©cÈ!©šŠæ’C?àsÎ…ì•ÚÅf‰™'8$;=”;žNt)LD呶!ʆ†º!ñþÐ6ùÖž®¤µHã1Å?¥×‰yø±-¡,fÎö‚.-m OLã߉j°g'T¯™êvµ–ˆ–p@_#:þ-ˆ>²D: O®9ÝæPµ w«§ñ¬´”ÆìkNŸ]Ÿ³Äj`÷ëÖêN©“)ø:=ÆwÌ$÷=ƒJµP±vqT§™¯`)×yÅ ótg:‰†rXA襘ûÜõCQ©³Cï/¦%Rñ„\`~êïäöÚ]"Y]·Ÿï¾“_–¤Ÿ(¡³¹ôtÿ4q9:Unwà2;“"ÕDáÓÓḮ7â\1o‘JÀ² +³®5„)®Àô2Ïj‘gêý+ØX±
¦“ÃÖ"IܺqBTÚ…Ûa€ÌÊ’Ò¤"J,>H0ì@¦Àýý7ˆqWBF”,Š<–®~;y.Ý(!Ç+Ÿ‡H +W‰Õ=áI‰4R_õ§Ù¢?M“ïOÙâ“œÄ'qr +$¢eÀ’üÃö[Žá¾ð5Ìÿx÷Á§X§«´Œ4´×Š//Öu
¥Ìf¬õÑ»m·XåžfÒ‹ñqip4Úðq@ˆE"ão(N3à*§§áŸ†òy©sºd +K_TÒ¥^Ç‚OäÛ¡lRûF ‡¹¯gBaPÛÕÀ/'m×ø^÷”ã={-Á»ÊñÁRÑ)Þä±äàao)°ÝïQÃ]ú,É!Db’‰$œêúó‚â]c.+ +ÃØ,`Ú˜h&fõçqìž#3~B´»KWå<Jþ–à¶qW8 +éŒ ÖPô6ÃwÕ`Žûõf‚ºp1b ;’ÔùÐGÿccðTù¹ÍŒ··>âãP¦Yÿx§{¨,«ážú 1BÅéR 3ʆg +endobj +799 0 obj << +/Type /Page +/Contents 800 0 R +/Resources 798 0 R +/MediaBox [0 0 612 792] +/Parent 802 0 R +>> endobj +801 0 obj << +/D [799 0 R /XYZ 110.999 687.904 null] +>> endobj +282 0 obj << +/D [799 0 R /XYZ 110.999 529.309 null] +>> endobj +798 0 obj << +/Font << /F78 368 0 R /F88 386 0 R /F80 371 0 R /F101 484 0 R /F17 509 0 R >> +/ProcSet [ /PDF /Text ] +>> endobj +805 0 obj << +/Length 3915 +/Filter /FlateDecode +>> +stream +xÚ½Zmã6’þ>¿¢¿ÅÚ\‘E)ßær™l7·»I/’E²@d[mcK^INO'ÈߧX$-ÙJÒ38XTñÈ*V=U”¼Kð“wR&¢(Š»,·¢HÒ»ÍñUr·CÕ—¯¤o’¥R”Põ_¯þôÆæw¹(²ìîáѵxØ~¿H—+™˜dñzù¯‡¿¸&VH«©‰JD®|³¿-W™tÿjñ…+ÿ¯+ÿ·ûÿÊý>ªý&gÔ¦ +kζ>VMϪ\/võR™ÅOKiUäõ3?Ý4*Ç*º¥Ì»óúU5CÏTRßÐìö¸X£,wVf$…Nl”Âñˆ-<ð·Ë4Y@½nÕ(ƒršôµ(YÔŒÓáÜÏ(d!RÎè +•ËyQ¨ÑŒëéµ(Ü|ŸØ‹‚&öŠ +¸¢"A¾?a›P½™¨BÅ3qïá#Qt?Veã[aŸPrê=úÒ!À üÇ/MËÏ‘¥ýrj6ª.{ +Z!ŸT,ú³ãÀUÝ +3Jö€ÒÌnŽÝ’˜k8;L„#ãÄr˜ÀÓü€GìÛîٷ㬂à7ÅÑéØK*ÙU˜>†vµåd‰Îœ•ÔÚº ðÚã$pÎ +´º™K„# +K_{„®×ß( +âQ~Th(m€‹#±ö<%É•„Êû®=ïöáÚ²€£.fdwmAÚ¦úl©Î§ÉŸªí®š½^WÊŽcXk(â["zé\”0—"ÏDb§¹ÀÍÐv³×ì:¦«œ'°(Gm½el€¬®7ñ~—ÏEPHØŠÉR)ò—ÝÛ¹©åg•Çcö|BëFÉgTÄP˜™û2òÏ0bï§ þ@ðDçÎØ’îž‚À»ö0léi×ßWð5ÎL\—¨‘FýžD“Ñ×3ú±¢‘¬‹U/áÜE|¿Pžß÷J&ד6~—³Ÿ…DyŒÞÏô© )…z&õ‹ÞYŒÇoz‘ÄKÖ?šüyvrõÂÉéÚa†„*Õ/ä€Ý¶Žß“$“üµ–æ÷y1¿½°2æñþˆ²Ù*9ìµ,þyP¿ÁCþ2™üzíÜM¡`#ñ´ìxn¾u„0…«ú÷«ïÿ•ÜmÑä/¯g8žPÆ*ŠâË÷Ý$¿^}óêïïƒIôNü:àÿÆoME[Y¨0’Ú|»¯Ýo +ýÉ‘.¬K)öÙ8áL*tš_Á7JV#ð°&™=BuúîBýŽG¿†o£âTü¦©ÝlJrL|Kݺ +Ð çrȲ£7Âë>‰² +qÏËÁØå{ÄuA-Î=߉§ÒãÐîÚÕ¡~GÀ©â]áëì!¶t÷âxú\¤ãoïÛþøöÍ'¾U?m]zƒ.a?SH¤pß:º8àTmjÊ%c2²ÒZjñ!ÃÕ,(?~õ SÜØxzàEá¯à&þ#KÔýH+ù„©Çò™‰ýy·s‰7ÓºÊ'÷õ‰)„Ýl¹²R$¡í¹.Ì8¿BÓü¨…†¦N™¼†~åè@T4.ÔÏ]îŠõãærÜåJÿ<õ;Á…LÖv‡’«ôî’¹1wì>Â!Á¤l@G;s
<æØõ6mL)ãra,V¢]©•Üê]S†ÈsäoÇ[.5Ï?|Ëê’lü!ÏÄr±EQ|3k¶Vi*T6W§‹D$îä*ÿì±£@endstream +endobj +804 0 obj << +/Type /Page +/Contents 805 0 R +/Resources 803 0 R +/MediaBox [0 0 612 792] +/Parent 802 0 R +/Annots [ 807 0 R ] +>> endobj +807 0 obj << +/Type /Annot +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [264.014 232.721 273.877 245.515] +/Subtype /Link +/A << /S /GoTo /D (Hfootnote.12) >> +>> endobj +806 0 obj << +/D [804 0 R /XYZ 110.999 687.904 null] +>> endobj +286 0 obj << +/D [804 0 R /XYZ 110.999 346.918 null] +>> endobj +290 0 obj << +/D [804 0 R /XYZ 110.999 333.618 null] +>> endobj +808 0 obj << +/D [804 0 R /XYZ 125.345 174.608 null] +>> endobj +803 0 obj << +/Font << /F78 368 0 R /F88 386 0 R /F101 484 0 R /F87 383 0 R /F85 373 0 R /F80 371 0 R >> +/ProcSet [ /PDF /Text ] +>> endobj +811 0 obj << +/Length 2478 +/Filter /FlateDecode +>> +stream +xÚíZÝÛ¸Ï_áGØeER”ȼ¥m’^Ñ抻-P éW–×Âé«’|çpÿ{gHJ¦,Ú»›¤-PX9$‡óùqé*‚?º¢4"J©U"S¢¢x•U¯¢Õ½EID‹¡C¿½{õ›w©\I¢’du·3wÛ¿¯ãÍ-D´~³ùÇÝ
IJhÊ‘„ED2Gö—ÍmBÍ/[¿5í¦ý{óûùý7úã´Ü´# +L"¤xõönâ–KER˜…ŽrËSA"!¡™(ÿL°lÂý3ÝíóÍ-éºÒY×XN¤G§DPîˆ?R·e÷ËG‚#N¤<"±ŽtoÇiD=àfï<ò”¹á4YÝR+ah{Ä„Êxu")–ã.‰Ûåf¹ˆFžñ˜†'ÿsÉ¢ T=ƒCñ4‡£@”ô&,O*‹ù×ÉSøÜÒ¯æö‚<éuŠë¥Ïàñ:7uŒx‚@“‘Ñ×àÉ4:=u¬FÙÿ:ñ=K’Lª)zô ¹>ôºÎ·öehì3k ³ÞÄÑúç
ë¼lÛ”º³ž—5M·-j=änH]o‡ã‘«[F9‰9:%JX1ty6èúá`Öa’zëô7¶§oìs@'·$U¥ëm8p +æbîèÙ¡û9_>$eòÌ$¤olŠ]ãJǬ,²åRâ&}ÑJeQç}€'ISŽŽ:!Ø‘œ/Ö6E=,ƒÀ–ÆNÞ‰™ò˜w(EˆÿÛ®i[T4¾ìº¦òìZ¥¸@ªH4™ÏŸM¬g~mnsÀbc–ÊGy»Á‡fÃÄúѾú|y²[ˆ÷ÜXG:”Óú~¹´“Rû&A&~:$Æÿí ?XâÿDØN^ QúÅÜ&ÿN‰>ƒEñB^ˆÚìEQ{¤þ5¶oY”’TÍ<¥¨û!×Λ›ÝrU¦ˆ„w;G-âãÇ‚Hõ¿z¡¥>åWì߯è·áñÛ;Ö8tKUJ6w,Ì·qÄÖ}Q€RÊ£}Ý5Ýr‡ +G_;·):›×ñÒ’Ð’Ie¼XqW”e +êòZWù6(SÎbOá-8 6Bu\Uo¢tøi +—²¦þE¼@=â»U/¶,¤†ÆŸ–^L#@T‚âÇØáM€"攑äÎ +}`'rý¸/²=6ÓµÖÛ~mûvMYZÅõƒy2(‰ˆ¦
é}s,¹¶=ÆÊܦ¸‚¡IÿØiõ«L€¥B°òlÀ2Öêap,E’ þŽÕ— êI0ý‡cw苦>·
í +”¢àà¾*Þµ.ËÉÆR¾6f•ÆN
Ðø-¬žHúu®Kƒ®K'×Eòª-1
Ž•ÆñÖê‡Ür•úëÅ…(‘é\H"Ũ½„‡
ûCÛ‚['ýI:Ë MIÄüë]€pÎ~Bn—Å’4ß,q•ûfë¹sŽ+S{ùê*½°kŠ¶¦Lbã\Œwê`=Äü¦^›¹»öï¢âŠ¤t4Á;#ž?L·élý–ˆ±“Û§`
x?CÿÓ¶rþ1tÿƒMã[7=ù„síÂÀC|×öÑvÍC§«›Ã +t4yØ»ïï—›R?‹³Å*‚Ä©úQ„N r¯‡‰×í!ó¾M»@hn¿p›¬Ù:Ii'!À¾íâ–yqÅðè€,æ£íÀd¡{ +ÒbÓµÍû¬+,¸q³Î‚~Ð% €¿wh>M7ð¦öÇ$µ B2¼á]g†—º0UÜg÷¹SI×@d7wÇ8âeÖÞ’ dw¶‰9¯Ì—¿,ÁËŠQÕ®-22äŸÂ·¬œ?uË:}5ØÝë>'Õ.M¼2~xÁÿ6™ëú¯õn!,Î\°ç Y2½í›Á<SeÕAËQÉ¡ìãÆ@¼¬IÀÞœ»€D®×%<iêÒõÞ;Flõ‹c6súÿ°3ÕÔýÛW~æÿÓó/» +endstream +endobj +810 0 obj << +/Type /Page +/Contents 811 0 R +/Resources 809 0 R +/MediaBox [0 0 612 792] +/Parent 802 0 R +>> endobj +812 0 obj << +/D [810 0 R /XYZ 110.999 687.904 null] +>> endobj +294 0 obj << +/D [810 0 R /XYZ 110.999 193.21 null] +>> endobj +809 0 obj << +/Font << /F78 368 0 R /F88 386 0 R /F80 371 0 R /F101 484 0 R /F17 509 0 R /F11 537 0 R >> +/ProcSet [ /PDF /Text ] +>> endobj +815 0 obj << +/Length 883 +/Filter /FlateDecode +>> +stream +xÚUYÓ0~ß_Ñ7ik<vû‘c¹$A +ówaþ<Œ¯Ãøl±ûi67ß(s€'ƒx‹«jF+•f%àQYKÍç'S…^rB³…\rjÚ¾÷ƒ«»ÆéZ”<9ÞšÞд³þÉB2n׺ѵ¶#á±ÝíHÍ6ÍاO.i=ÔhÒFÕš–;ÛÔñȶíMãl»%UüCbhnB‰&íØϯmï=‚Ö +endobj +814 0 obj << +/Type /Page +/Contents 815 0 R +/Resources 813 0 R +/MediaBox [0 0 612 792] +/Parent 802 0 R +>> endobj +816 0 obj << +/D [814 0 R /XYZ 110.999 687.904 null] +>> endobj +813 0 obj << +/Font << /F78 368 0 R /F101 484 0 R /F88 386 0 R >> +/ProcSet [ /PDF /Text ] +>> endobj +819 0 obj << +/Length 1806 +/Filter /FlateDecode +>> +stream +xÚÝ\KsÛ6¾ûWè(ÏD(@Ó$ͤ‡N§õé¢H™cŠdI:‰Úéï’tTÛl¬bpÇ->€ûøv+³…¶`ŒcÌBÅš-ÒÝ]láÔû3vs %œGp§~¼8ûá'/bb”Z\äã›?–ÑùŠQI—¯Ïÿ¼øy¼D¦Åp §$æ7—ýz¾Rl|åËwãñ/ãñÛñõÃøúæÖÙß;Œ(¤ } âÃgï.³±!n 6(+a(¡”/V<¸Ú +w±bpRDÀ±\À˜JÜLâ2¥ËÕ&ûr¾â€¾Î§÷´Þí’jÓ½ºù¸9g˾¨«núNMMÒ&»¬ÏÚ›ëý×Ï·Ù}\ðS— +KÃ7$ŽãÿçÏû#QÒ4åþâ°´‡k„$yºðÕý D”Èèf]§ÏÚíb:øíýA3ŽŠÞÐp wÈG ðÆ1R>¤MQ€¾‰Q_(¸$‚J4 +¦1(`!¹ÒmýÙ"J¢Xº€ÀŒÂ#¹ +ƒŸ,Ål8D`—Y²)³êÈÖhæ‚£$ŒÀñ^+¨—†A˜DÁ)“uVZ„#%‰PéF(Èf—´Û¢šŒ]ѼÀ(_0W6ÁÀ“¨ Õ&0Pe
ü¿â€…éG±¬“ôjÛÖ×Õ&˺=F3“_bE¸ÆûN1"Œ·xÖ@ø—IÛ[8Öfd»t(9EÓbŒKCR@Ù¶Isù ¤eÝe›“ˆo3E4`—Òø”ëüØ?»¼)Ò-L£ +Ëcøˆ(Ýí¯>RI'Œ²{µé¯8nüßíGDmݑܽû§°éüîøv
ºê{ûþÛF¿²Ý.£~fqï·`‹]D„Å8C*æPþ÷¶´¡´˜m;›+¨¢i<locðTU–ö/¡–•Öu»qôgÂ*š¼iëε‡%Ÿze)DLç"£ Šõ
Õ(×í§l¦bSErÝ×yžä½-Œ²«(iÀ]Å Î:ËÁ!ÏäŠQx3Ànƒ+&ÔÜi4:ºRN-"cçÁѦt®òŠ:¡N4VTïËÙ$íDà—É&›k›[TÈMÒ]ÚÊÃAä‚ëkÁÕï& ®'„\p1ι(/8ÖNŠ0T¤¢Ê —¬)Ó$=Ò\}.<,œ>±§«Aö!ø3(|{í¸Ÿj/À/T(™6uQõ]]•û™ŠEÈ”ÏQгŒ7ÙúœÓåõÖ’aDD»!77 +ü…oæìUzŠ¼½z–'×eß”uÿ<IÊ¿ìm‘ìêj®È¹ó‡$¨ÚÞKúÝu`lêÞI´!Úü<‹ëY0]ñ÷lɸª`}×$éL‹ƒr§Lù@éçËäÉ«G(¥=gt™ä;ašÄîœsÐa˜R`ƒàÚäóLµ7Žj¸ûÇ
+‡£ 6Ȇ*§Èö‡±¯¦yæé›gÁ#+Ë¢éæòÃ,dQ4Ú¬{!ø‘‹€ü8‚±ï±ÜîÁ{Q>`vy“ß´›+06“ê ŽÞ‚ð
†]@ú +g2MÒ_&m;SH‡5™Þ^êáÊ$
éÊ>eí¾¿ 4—ÁœT…ò$™<;VAªP:à7-rHòçŠÇâ€ñX^”å3ŽÇüÓ–€„P.®žAu‘£4ŒU1å•9}¤”W‰Åç0E¢Èýn¹™Ûƒ*`ŒØ¿ÿ,¿®ÒáË3i…9E»=½çvìž+)Wá +X[{sp®°ka‘†cc5Œï”sÙmÖÁlçÖÊbÝÉ=¤º›_¢øU=ìRÃŒ¦¬ÿ¶dúÏ&÷ðµþendstream +endobj +818 0 obj << +/Type /Page +/Contents 819 0 R +/Resources 817 0 R +/MediaBox [0 0 612 792] +/Parent 802 0 R +/Annots [ 821 0 R 822 0 R 823 0 R 824 0 R 825 0 R 826 0 R 827 0 R 828 0 R 829 0 R 830 0 R 831 0 R 832 0 R 833 0 R 834 0 R 835 0 R 836 0 R 837 0 R 838 0 R 839 0 R 840 0 R 841 0 R 842 0 R 843 0 R 844 0 R 845 0 R 846 0 R 847 0 R 848 0 R 849 0 R 850 0 R 851 0 R 852 0 R 853 0 R 854 0 R 855 0 R 856 0 R 857 0 R 858 0 R 859 0 R 860 0 R 861 0 R 862 0 R 863 0 R 864 0 R 865 0 R 866 0 R 867 0 R 868 0 R 869 0 R 870 0 R 871 0 R 872 0 R 873 0 R 874 0 R 875 0 R 876 0 R 877 0 R 878 0 R 879 0 R 880 0 R 881 0 R 882 0 R 883 0 R 884 0 R 885 0 R 886 0 R 887 0 R 888 0 R 889 0 R 890 0 R 891 0 R 892 0 R 893 0 R 894 0 R 895 0 R 896 0 R 897 0 R 898 0 R 899 0 R 900 0 R 901 0 R 902 0 R 903 0 R 904 0 R 905 0 R 906 0 R ] +>> endobj +821 0 obj << +/Type /Annot +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [145.469 625.698 157.424 636.019] +/Subtype /Link +/A << /S /GoTo /D (page.40) >> +>> endobj +822 0 obj << +/Type /Annot +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [130.227 613.872 142.182 624.064] +/Subtype /Link +/A << /S /GoTo /D (page.17) >> +>> endobj +823 0 obj << +/Type /Annot +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [140.388 601.917 152.344 612.108] +/Subtype /Link +/A << /S /GoTo /D (page.24) >> +>> endobj +824 0 obj << +/Type /Annot +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [155.631 589.962 167.586 600.153] +/Subtype /Link +/A << /S /GoTo /D (page.11) >> +>> endobj +825 0 obj << +/Type /Annot +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [135.307 578.006 147.263 588.198] +/Subtype /Link +/A << /S /GoTo /D (page.12) >> +>> endobj +826 0 obj << +/Type /Annot +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [135.307 566.051 147.263 576.243] +/Subtype /Link +/A << /S /GoTo /D (page.13) >> +>> endobj +827 0 obj << +/Type /Annot +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [170.874 554.096 182.829 564.288] +/Subtype /Link +/A << /S /GoTo /D (page.44) >> +>> endobj +828 0 obj << +/Type /Annot +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [165.793 542.141 177.748 552.333] +/Subtype /Link +/A << /S /GoTo /D (page.36) >> +>> endobj +829 0 obj << +/Type /Annot +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [165.793 530.056 177.748 540.377] +/Subtype /Link +/A << /S /GoTo /D (page.13) >> +>> endobj +830 0 obj << +/Type /Annot +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [160.712 518.231 172.667 528.422] +/Subtype /Link +/A << /S /GoTo /D (page.13) >> +>> endobj +831 0 obj << +/Type /Annot +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [191.198 496.183 203.153 506.504] +/Subtype /Link +/A << /S /GoTo /D (page.20) >> +>> endobj +832 0 obj << +/Type /Annot +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [155.631 484.358 167.586 494.549] +/Subtype /Link +/A << /S /GoTo /D (page.18) >> +>> endobj +833 0 obj << +/Type /Annot +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [155.631 472.273 167.586 482.594] +/Subtype /Link +/A << /S /GoTo /D (page.18) >> +>> endobj +834 0 obj << +/Type /Annot +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [150.55 460.447 162.505 470.639] +/Subtype /Link +/A << /S /GoTo /D (page.23) >> +>> endobj +835 0 obj << +/Type /Annot +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [175.955 448.363 182.929 458.684] +/Subtype /Link +/A << /S /GoTo /D (page.9) >> +>> endobj +836 0 obj << +/Type /Annot +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [145.469 436.537 157.424 446.729] +/Subtype /Link +/A << /S /GoTo /D (page.13) >> +>> endobj +837 0 obj << +/Type /Annot +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [140.388 424.582 152.344 434.773] +/Subtype /Link +/A << /S /GoTo /D (page.40) >> +>> endobj +838 0 obj << +/Type /Annot +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [150.55 412.627 162.505 422.818] +/Subtype /Link +/A << /S /GoTo /D (page.30) >> +>> endobj +839 0 obj << +/Type /Annot +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [155.631 390.709 167.586 400.9] +/Subtype /Link +/A << /S /GoTo /D (page.46) >> +>> endobj +840 0 obj << +/Type /Annot +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [183.261 378.289 190.235 388.945] +/Subtype /Link +/A << /S /GoTo /D (page.5) >> +>> endobj +841 0 obj << +/Type /Annot +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [155.631 366.798 167.586 376.99] +/Subtype /Link +/A << /S /GoTo /D (page.18) >> +>> endobj +842 0 obj << +/Type /Annot +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [145.469 354.843 157.424 365.035] +/Subtype /Link +/A << /S /GoTo /D (page.11) >> +>> endobj +843 0 obj << +/Type /Annot +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [145.469 342.888 157.424 353.08] +/Subtype /Link +/A << /S /GoTo /D (page.15) >> +>> endobj +844 0 obj << +/Type /Annot +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [160.413 342.888 172.368 353.08] +/Subtype /Link +/A << /S /GoTo /D (page.16) >> +>> endobj +845 0 obj << +/Type /Annot +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [175.955 330.803 182.929 341.125] +/Subtype /Link +/A << /S /GoTo /D (page.6) >> +>> endobj +846 0 obj << +/Type /Annot +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [185.917 330.803 197.873 341.125] +/Subtype /Link +/A << /S /GoTo /D (page.11) >> +>> endobj +847 0 obj << +/Type /Annot +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [167.293 318.464 174.267 329.169] +/Subtype /Link +/A << /S /GoTo /D (page.6) >> +>> endobj +848 0 obj << +/Type /Annot +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [128.433 306.558 135.407 317.214] +/Subtype /Link +/A << /S /GoTo /D (page.5) >> +>> endobj +849 0 obj << +/Type /Annot +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [160.712 294.938 167.686 305.259] +/Subtype /Link +/A << /S /GoTo /D (page.5) >> +>> endobj +850 0 obj << +/Type /Annot +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [181.036 282.983 192.991 293.304] +/Subtype /Link +/A << /S /GoTo /D (page.46) >> +>> endobj +851 0 obj << +/Type /Annot +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [186.117 271.157 198.072 281.349] +/Subtype /Link +/A << /S /GoTo /D (page.47) >> +>> endobj +852 0 obj << +/Type /Annot +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [186.117 259.072 198.072 269.394] +/Subtype /Link +/A << /S /GoTo /D (page.47) >> +>> endobj +853 0 obj << +/Type /Annot +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [181.036 247.117 192.991 257.438] +/Subtype /Link +/A << /S /GoTo /D (page.46) >> +>> endobj +854 0 obj << +/Type /Annot +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [191.198 235.162 198.171 245.483] +/Subtype /Link +/A << /S /GoTo /D (page.8) >> +>> endobj +855 0 obj << +/Type /Annot +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [181.344 222.709 193.3 233.593] +/Subtype /Link +/A << /S /GoTo /D (page.21) >> +>> endobj +856 0 obj << +/Type /Annot +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [175.955 211.381 187.91 221.573] +/Subtype /Link +/A << /S /GoTo /D (page.33) >> +>> endobj +857 0 obj << +/Type /Annot +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [150.55 199.426 162.505 209.618] +/Subtype /Link +/A << /S /GoTo /D (page.23) >> +>> endobj +858 0 obj << +/Type /Annot +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [145.469 187.471 157.424 197.663] +/Subtype /Link +/A << /S /GoTo /D (page.39) >> +>> endobj +859 0 obj << +/Type /Annot +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [140.388 175.516 152.344 185.707] +/Subtype /Link +/A << /S /GoTo /D (page.11) >> +>> endobj +860 0 obj << +/Type /Annot +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [150.55 163.431 162.505 173.752] +/Subtype /Link +/A << /S /GoTo /D (page.46) >> +>> endobj +861 0 obj << +/Type /Annot +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [140.388 151.605 152.344 161.797] +/Subtype /Link +/A << /S /GoTo /D (page.16) >> +>> endobj +862 0 obj << +/Type /Annot +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [170.874 139.65 182.829 149.842] +/Subtype /Link +/A << /S /GoTo /D (page.50) >> +>> endobj +863 0 obj << +/Type /Annot +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [175.955 127.695 187.91 137.887] +/Subtype /Link +/A << /S /GoTo /D (page.50) >> +>> endobj +864 0 obj << +/Type /Annot +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [357.905 625.698 369.86 636.019] +/Subtype /Link +/A << /S /GoTo /D (page.16) >> +>> endobj +865 0 obj << +/Type /Annot +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [383.31 603.909 395.265 614.101] +/Subtype /Link +/A << /S /GoTo /D (page.45) >> +>> endobj +866 0 obj << +/Type /Annot +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [357.905 591.954 369.86 602.146] +/Subtype /Link +/A << /S /GoTo /D (page.24) >> +>> endobj +867 0 obj << +/Type /Annot +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [383.31 579.999 395.265 590.191] +/Subtype /Link +/A << /S /GoTo /D (page.33) >> +>> endobj +868 0 obj << +/Type /Annot +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [362.986 568.044 374.941 578.235] +/Subtype /Link +/A << /S /GoTo /D (page.44) >> +>> endobj +869 0 obj << +/Type /Annot +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [383.31 556.089 395.265 566.28] +/Subtype /Link +/A << /S /GoTo /D (page.45) >> +>> endobj +870 0 obj << +/Type /Annot +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [383.31 544.004 395.265 554.325] +/Subtype /Link +/A << /S /GoTo /D (page.25) >> +>> endobj +871 0 obj << +/Type /Annot +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [368.067 532.178 380.022 542.37] +/Subtype /Link +/A << /S /GoTo /D (page.12) >> +>> endobj +872 0 obj << +/Type /Annot +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [383.011 532.178 394.966 542.37] +/Subtype /Link +/A << /S /GoTo /D (page.30) >> +>> endobj +873 0 obj << +/Type /Annot +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [397.955 532.178 409.91 542.37] +/Subtype /Link +/A << /S /GoTo /D (page.31) >> +>> endobj +874 0 obj << +/Type /Annot +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [398.553 520.094 410.508 530.415] +/Subtype /Link +/A << /S /GoTo /D (page.33) >> +>> endobj +875 0 obj << +/Type /Annot +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [352.166 507.678 359.14 518.46] +/Subtype /Link +/A << /S /GoTo /D (page.6) >> +>> endobj +876 0 obj << +/Type /Annot +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [383.31 496.183 395.265 506.504] +/Subtype /Link +/A << /S /GoTo /D (page.33) >> +>> endobj +877 0 obj << +/Type /Annot +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [362.986 484.358 374.941 494.549] +/Subtype /Link +/A << /S /GoTo /D (page.11) >> +>> endobj +878 0 obj << +/Type /Annot +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [357.905 472.402 369.86 482.594] +/Subtype /Link +/A << /S /GoTo /D (page.13) >> +>> endobj +879 0 obj << +/Type /Annot +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [378.229 460.447 390.184 470.639] +/Subtype /Link +/A << /S /GoTo /D (page.45) >> +>> endobj +880 0 obj << +/Type /Annot +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [362.986 448.492 374.941 458.684] +/Subtype /Link +/A << /S /GoTo /D (page.45) >> +>> endobj +881 0 obj << +/Type /Annot +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [368.067 436.407 380.022 446.729] +/Subtype /Link +/A << /S /GoTo /D (page.45) >> +>> endobj +882 0 obj << +/Type /Annot +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [357.905 424.582 369.86 434.773] +/Subtype /Link +/A << /S /GoTo /D (page.25) >> +>> endobj +883 0 obj << +/Type /Annot +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [345.271 412.627 352.245 422.818] +/Subtype /Link +/A << /S /GoTo /D (page.6) >> +>> endobj +884 0 obj << +/Type /Annot +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [347.743 400.671 359.699 410.863] +/Subtype /Link +/A << /S /GoTo /D (page.24) >> +>> endobj +885 0 obj << +/Type /Annot +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [373.148 388.716 385.103 398.908] +/Subtype /Link +/A << /S /GoTo /D (page.20) >> +>> endobj +886 0 obj << +/Type /Annot +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [362.986 376.632 374.941 386.953] +/Subtype /Link +/A << /S /GoTo /D (page.44) >> +>> endobj +887 0 obj << +/Type /Annot +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [362.986 354.714 374.941 365.035] +/Subtype /Link +/A << /S /GoTo /D (page.16) >> +>> endobj +888 0 obj << +/Type /Annot +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [378.229 342.888 390.184 353.08] +/Subtype /Link +/A << /S /GoTo /D (page.23) >> +>> endobj +889 0 obj << +/Type /Annot +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [373.148 330.933 385.103 341.125] +/Subtype /Link +/A << /S /GoTo /D (page.39) >> +>> endobj +890 0 obj << +/Type /Annot +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [383.31 318.848 395.265 329.169] +/Subtype /Link +/A << /S /GoTo /D (page.39) >> +>> endobj +891 0 obj << +/Type /Annot +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [368.067 306.893 375.041 317.214] +/Subtype /Link +/A << /S /GoTo /D (page.9) >> +>> endobj +892 0 obj << +/Type /Annot +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [378.229 294.938 390.184 305.259] +/Subtype /Link +/A << /S /GoTo /D (page.48) >> +>> endobj +893 0 obj << +/Type /Annot +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [362.986 283.112 374.941 293.304] +/Subtype /Link +/A << /S /GoTo /D (page.50) >> +>> endobj +894 0 obj << +/Type /Annot +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [383.31 271.028 395.265 281.349] +/Subtype /Link +/A << /S /GoTo /D (page.35) >> +>> endobj +895 0 obj << +/Type /Annot +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [368.067 249.239 380.022 259.431] +/Subtype /Link +/A << /S /GoTo /D (page.17) >> +>> endobj +896 0 obj << +/Type /Annot +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [347.743 237.284 359.699 247.476] +/Subtype /Link +/A << /S /GoTo /D (page.28) >> +>> endobj +897 0 obj << +/Type /Annot +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [373.148 225.329 385.103 235.521] +/Subtype /Link +/A << /S /GoTo /D (page.20) >> +>> endobj +898 0 obj << +/Type /Annot +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [373.148 213.374 385.103 223.565] +/Subtype /Link +/A << /S /GoTo /D (page.26) >> +>> endobj +899 0 obj << +/Type /Annot +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [388.092 213.374 400.047 223.565] +/Subtype /Link +/A << /S /GoTo /D (page.27) >> +>> endobj +900 0 obj << +/Type /Annot +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [343.864 201.419 350.838 211.61] +/Subtype /Link +/A << /S /GoTo /D (page.6) >> +>> endobj +901 0 obj << +/Type /Annot +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [368.067 189.463 380.022 199.655] +/Subtype /Link +/A << /S /GoTo /D (page.29) >> +>> endobj +902 0 obj << +/Type /Annot +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [357.905 167.416 369.86 177.737] +/Subtype /Link +/A << /S /GoTo /D (page.26) >> +>> endobj +903 0 obj << +/Type /Annot +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [352.824 155.461 364.779 165.782] +/Subtype /Link +/A << /S /GoTo /D (page.26) >> +>> endobj +904 0 obj << +/Type /Annot +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [373.148 143.506 385.103 153.827] +/Subtype /Link +/A << /S /GoTo /D (page.25) >> +>> endobj +905 0 obj << +/Type /Annot +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [398.553 131.551 410.508 141.872] +/Subtype /Link +/A << /S /GoTo /D (page.52) >> +>> endobj +906 0 obj << +/Type /Annot +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [413.497 131.551 425.452 141.872] +/Subtype /Link +/A << /S /GoTo /D (page.58) >> +>> endobj +820 0 obj << +/D [818 0 R /XYZ 110.999 687.904 null] +>> endobj +298 0 obj << +/D [818 0 R /XYZ 110.999 654.928 null] +>> endobj +817 0 obj << +/Font << /F78 368 0 R /F85 373 0 R /F88 386 0 R /F87 383 0 R /F101 484 0 R >> +/ProcSet [ /PDF /Text ] +>> endobj +909 0 obj << +/Length 1742 +/Filter /FlateDecode +>> +stream +xÚíœKoÜ6€ïù{´˜åûqì#
ÚCQ´¾5=hµ”W^ä¸î¯ïH¶7¶—tDaÉ&AÀ^Ä4Åof83œ¡L6þ‘
!c6R+d0ßäõ+¼¹‚½}Eî‡`D)‡Oð£ï._}ó£ÒŒ”›Ëbq¹û㌟_,ðÙ·ç^þ<Qˆ(6
¡iz?ì×óIæ¯ôìÍüù—ùóóןæ¯ß?úéï‡éOdÂÀ‚&”lñêÍåaµL¤à°å‚°fð#-ÍIë
L+Ùc¦w„ñ«¢¬ªÃ"CF\‹ûq¯– —ênwÿ×_mî>üöö ãçQù|¢iõpx5›BâÓ }Öí·YÌ)ª},#…M0Ñ.æa CîYä‹,Àqû,펃`òq‰`þ0înÀã)82C„)ȱ(&Û >IpÐ9×áZ%’à`Ü˵ZîŽ1žâØ:1bZ†kTY'<„‘õùÊ:EˆN$FR…é¤*ë€åêy¹n@ÎÏ,ˆ¥kËftÁ¤½, 3Hda<¼ÇçmdXˆþ$Ë>ö•m(0W^&¤á(<hï?ñæbʘïS…Xµ:ÄÊe y[µ}šÍBqÄÍ2Ã]–Û40\Ć¹Ù¥Ú-<æn±ÙÎgc¢K˜F—‰%¡‹–aŸu6ZÜ,‹Ô²À½”Á|iA_c»òÜCNt졧I,g8ÿÔ‰K½ÆÆæ/eQ]ݵØÆÆ]ccaªlKW ŒâÇHÌd¬Ê«v°©"%e1Q|‰%L#å§|±æ””XÂv åÕ~´=„—ÃƤDXPŽ"39ÓS Qð8CËœðË'ü$¨ú2%üËÓ—ªÎú÷C"#l…-ô_uöÞv¶Ïm3æm]÷c(#‘`ÞhI0†; +DÇèâälbl>¦:d®Ëž+Hwj;fîøÏ$¬Ôkjœ -VdÌGóÜWƒÛ–Oì¬ØÚJ›(Çä*bŽYy½Kä›Ý §ñÍuQ•NÛŠá›yÄà_íö¯T +Y,ø¢Ûecæ/J"J¼=M1"Ü»'Bhf&‚ +endobj +908 0 obj << +/Type /Page +/Contents 909 0 R +/Resources 907 0 R +/MediaBox [0 0 612 792] +/Parent 802 0 R +/Annots [ 911 0 R 912 0 R 913 0 R 914 0 R 915 0 R 916 0 R 917 0 R 918 0 R 919 0 R 920 0 R 921 0 R 922 0 R 923 0 R 924 0 R 925 0 R 926 0 R 927 0 R 928 0 R 929 0 R 930 0 R 931 0 R 932 0 R 933 0 R 934 0 R 935 0 R 936 0 R 937 0 R 938 0 R 939 0 R 940 0 R 941 0 R 942 0 R 943 0 R 944 0 R 945 0 R 946 0 R 947 0 R 948 0 R 949 0 R 950 0 R 951 0 R 952 0 R 953 0 R 954 0 R 955 0 R 956 0 R 957 0 R 958 0 R 959 0 R 960 0 R 961 0 R 962 0 R 963 0 R 964 0 R 965 0 R 966 0 R 967 0 R 968 0 R 969 0 R 970 0 R 971 0 R 972 0 R 973 0 R 974 0 R 975 0 R 976 0 R 977 0 R 978 0 R 979 0 R 980 0 R 981 0 R 982 0 R 983 0 R 984 0 R 985 0 R 986 0 R 987 0 R 988 0 R 989 0 R 990 0 R 991 0 R 992 0 R 993 0 R 994 0 R 995 0 R 996 0 R 997 0 R ] +>> endobj +911 0 obj << +/Type /Annot +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [140.388 650.504 152.344 660.825] +/Subtype /Link +/A << /S /GoTo /D (page.26) >> +>> endobj +912 0 obj << +/Type /Annot +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [155.631 638.549 167.586 648.87] +/Subtype /Link +/A << /S /GoTo /D (page.18) >> +>> endobj +913 0 obj << +/Type /Annot +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [150.451 626.096 162.406 636.915] +/Subtype /Link +/A << /S /GoTo /D (page.21) >> +>> endobj +914 0 obj << +/Type /Annot +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [135.307 614.639 147.263 624.96] +/Subtype /Link +/A << /S /GoTo /D (page.15) >> +>> endobj +915 0 obj << +/Type /Annot +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [155.631 602.684 167.586 613.005] +/Subtype /Link +/A << /S /GoTo /D (page.15) >> +>> endobj +916 0 obj << +/Type /Annot +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [160.712 590.729 172.667 601.05] +/Subtype /Link +/A << /S /GoTo /D (page.15) >> +>> endobj +917 0 obj << +/Type /Annot +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [165.793 578.773 177.748 589.094] +/Subtype /Link +/A << /S /GoTo /D (page.15) >> +>> endobj +918 0 obj << +/Type /Annot +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [155.631 566.818 167.586 577.139] +/Subtype /Link +/A << /S /GoTo /D (page.15) >> +>> endobj +919 0 obj << +/Type /Annot +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [150.55 545.03 162.505 555.221] +/Subtype /Link +/A << /S /GoTo /D (page.45) >> +>> endobj +920 0 obj << +/Type /Annot +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [140.388 533.075 152.344 543.266] +/Subtype /Link +/A << /S /GoTo /D (page.27) >> +>> endobj +921 0 obj << +/Type /Annot +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [165.793 521.12 177.748 531.311] +/Subtype /Link +/A << /S /GoTo /D (page.20) >> +>> endobj +922 0 obj << +/Type /Annot +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [165.793 509.035 177.748 519.356] +/Subtype /Link +/A << /S /GoTo /D (page.45) >> +>> endobj +923 0 obj << +/Type /Annot +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [150.55 497.209 162.505 507.401] +/Subtype /Link +/A << /S /GoTo /D (page.44) >> +>> endobj +924 0 obj << +/Type /Annot +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [160.712 485.254 172.667 495.446] +/Subtype /Link +/A << /S /GoTo /D (page.20) >> +>> endobj +925 0 obj << +/Type /Annot +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [150.55 473.299 162.505 483.49] +/Subtype /Link +/A << /S /GoTo /D (page.44) >> +>> endobj +926 0 obj << +/Type /Annot +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [160.712 461.214 172.667 471.535] +/Subtype /Link +/A << /S /GoTo /D (page.44) >> +>> endobj +927 0 obj << +/Type /Annot +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [165.793 449.259 177.748 459.58] +/Subtype /Link +/A << /S /GoTo /D (page.15) >> +>> endobj +928 0 obj << +/Type /Annot +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [155.631 437.433 167.586 447.625] +/Subtype /Link +/A << /S /GoTo /D (page.18) >> +>> endobj +929 0 obj << +/Type /Annot +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [160.712 425.349 172.667 435.67] +/Subtype /Link +/A << /S /GoTo /D (page.18) >> +>> endobj +930 0 obj << +/Type /Annot +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [165.793 403.431 177.748 413.752] +/Subtype /Link +/A << /S /GoTo /D (page.52) >> +>> endobj +931 0 obj << +/Type /Annot +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [150.55 381.643 162.505 391.834] +/Subtype /Link +/A << /S /GoTo /D (page.15) >> +>> endobj +932 0 obj << +/Type /Annot +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [150.55 369.687 162.505 379.879] +/Subtype /Link +/A << /S /GoTo /D (page.23) >> +>> endobj +933 0 obj << +/Type /Annot +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [145.469 357.732 157.424 367.924] +/Subtype /Link +/A << /S /GoTo /D (page.27) >> +>> endobj +934 0 obj << +/Type /Annot +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [175.955 345.648 187.91 355.969] +/Subtype /Link +/A << /S /GoTo /D (page.45) >> +>> endobj +935 0 obj << +/Type /Annot +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [140.388 333.822 152.344 344.014] +/Subtype /Link +/A << /S /GoTo /D (page.11) >> +>> endobj +936 0 obj << +/Type /Annot +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [145.469 321.867 157.424 332.058] +/Subtype /Link +/A << /S /GoTo /D (page.13) >> +>> endobj +937 0 obj << +/Type /Annot +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [206.44 299.819 218.396 310.141] +/Subtype /Link +/A << /S /GoTo /D (page.32) >> +>> endobj +938 0 obj << +/Type /Annot +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [196.279 287.864 208.234 298.185] +/Subtype /Link +/A << /S /GoTo /D (page.32) >> +>> endobj +939 0 obj << +/Type /Annot +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [165.793 276.039 177.748 286.23] +/Subtype /Link +/A << /S /GoTo /D (page.18) >> +>> endobj +940 0 obj << +/Type /Annot +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [151.862 263.619 158.836 274.275] +/Subtype /Link +/A << /S /GoTo /D (page.4) >> +>> endobj +941 0 obj << +/Type /Annot +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [155.631 252.128 167.586 262.32] +/Subtype /Link +/A << /S /GoTo /D (page.47) >> +>> endobj +942 0 obj << +/Type /Annot +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [140.388 240.173 152.344 250.365] +/Subtype /Link +/A << /S /GoTo /D (page.47) >> +>> endobj +943 0 obj << +/Type /Annot +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [145.469 228.218 157.424 238.41] +/Subtype /Link +/A << /S /GoTo /D (page.47) >> +>> endobj +944 0 obj << +/Type /Annot +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [140.388 216.133 152.344 226.454] +/Subtype /Link +/A << /S /GoTo /D (page.41) >> +>> endobj +945 0 obj << +/Type /Annot +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [186.117 204.178 198.072 214.499] +/Subtype /Link +/A << /S /GoTo /D (page.31) >> +>> endobj +946 0 obj << +/Type /Annot +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [186.117 192.223 198.072 202.544] +/Subtype /Link +/A << /S /GoTo /D (page.46) >> +>> endobj +947 0 obj << +/Type /Annot +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [186.117 180.268 198.072 190.589] +/Subtype /Link +/A << /S /GoTo /D (page.22) >> +>> endobj +948 0 obj << +/Type /Annot +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [155.631 168.313 167.586 178.634] +/Subtype /Link +/A << /S /GoTo /D (page.39) >> +>> endobj +949 0 obj << +/Type /Annot +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [160.712 156.357 172.667 166.679] +/Subtype /Link +/A << /S /GoTo /D (page.39) >> +>> endobj +950 0 obj << +/Type /Annot +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [140.388 144.402 147.362 154.723] +/Subtype /Link +/A << /S /GoTo /D (page.9) >> +>> endobj +951 0 obj << +/Type /Annot +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [196.279 132.447 208.234 142.768] +/Subtype /Link +/A << /S /GoTo /D (page.37) >> +>> endobj +952 0 obj << +/Type /Annot +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [403.634 650.504 410.607 660.825] +/Subtype /Link +/A << /S /GoTo /D (page.6) >> +>> endobj +953 0 obj << +/Type /Annot +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [398.553 638.549 405.526 648.87] +/Subtype /Link +/A << /S /GoTo /D (page.6) >> +>> endobj +954 0 obj << +/Type /Annot +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [378.229 626.594 385.203 636.915] +/Subtype /Link +/A << /S /GoTo /D (page.6) >> +>> endobj +955 0 obj << +/Type /Annot +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [388.192 626.594 395.165 636.915] +/Subtype /Link +/A << /S /GoTo /D (page.7) >> +>> endobj +956 0 obj << +/Type /Annot +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [378.229 614.639 385.203 624.96] +/Subtype /Link +/A << /S /GoTo /D (page.6) >> +>> endobj +957 0 obj << +/Type /Annot +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [388.192 614.639 395.165 624.96] +/Subtype /Link +/A << /S /GoTo /D (page.7) >> +>> endobj +958 0 obj << +/Type /Annot +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [383.31 602.684 395.265 613.005] +/Subtype /Link +/A << /S /GoTo /D (page.46) >> +>> endobj +959 0 obj << +/Type /Annot +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [388.391 590.729 395.365 601.05] +/Subtype /Link +/A << /S /GoTo /D (page.6) >> +>> endobj +960 0 obj << +/Type /Annot +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [398.353 590.729 405.327 601.05] +/Subtype /Link +/A << /S /GoTo /D (page.7) >> +>> endobj +961 0 obj << +/Type /Annot +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [383.31 578.773 390.284 589.094] +/Subtype /Link +/A << /S /GoTo /D (page.9) >> +>> endobj +962 0 obj << +/Type /Annot +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [373.148 566.818 385.103 577.139] +/Subtype /Link +/A << /S /GoTo /D (page.43) >> +>> endobj +963 0 obj << +/Type /Annot +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [388.391 554.863 400.346 565.184] +/Subtype /Link +/A << /S /GoTo /D (page.52) >> +>> endobj +964 0 obj << +/Type /Annot +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [378.229 542.908 390.184 553.229] +/Subtype /Link +/A << /S /GoTo /D (page.46) >> +>> endobj +965 0 obj << +/Type /Annot +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [388.391 530.953 400.346 541.274] +/Subtype /Link +/A << /S /GoTo /D (page.33) >> +>> endobj +966 0 obj << +/Type /Annot +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [383.31 518.998 395.265 529.319] +/Subtype /Link +/A << /S /GoTo /D (page.33) >> +>> endobj +967 0 obj << +/Type /Annot +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [378.229 507.042 390.184 517.363] +/Subtype /Link +/A << /S /GoTo /D (page.36) >> +>> endobj +968 0 obj << +/Type /Annot +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [352.824 495.217 364.779 505.408] +/Subtype /Link +/A << /S /GoTo /D (page.47) >> +>> endobj +969 0 obj << +/Type /Annot +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [362.986 483.262 374.941 493.453] +/Subtype /Link +/A << /S /GoTo /D (page.51) >> +>> endobj +970 0 obj << +/Type /Annot +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [357.905 471.306 369.86 481.498] +/Subtype /Link +/A << /S /GoTo /D (page.39) >> +>> endobj +971 0 obj << +/Type /Annot +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [363.294 458.886 370.267 469.543] +/Subtype /Link +/A << /S /GoTo /D (page.4) >> +>> endobj +972 0 obj << +/Type /Annot +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [352.824 447.267 364.779 457.588] +/Subtype /Link +/A << /S /GoTo /D (page.41) >> +>> endobj +973 0 obj << +/Type /Annot +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [392.296 424.392 404.251 436.298] +/Subtype /Link +/A << /S /GoTo /D (page.21) >> +>> endobj +974 0 obj << +/Type /Annot +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [362.986 413.523 374.941 423.715] +/Subtype /Link +/A << /S /GoTo /D (page.51) >> +>> endobj +975 0 obj << +/Type /Annot +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [378.229 401.438 390.184 411.759] +/Subtype /Link +/A << /S /GoTo /D (page.38) >> +>> endobj +976 0 obj << +/Type /Annot +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [418.876 389.483 425.85 399.804] +/Subtype /Link +/A << /S /GoTo /D (page.5) >> +>> endobj +977 0 obj << +/Type /Annot +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [398.553 377.528 405.526 387.849] +/Subtype /Link +/A << /S /GoTo /D (page.6) >> +>> endobj +978 0 obj << +/Type /Annot +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [408.515 377.528 420.47 387.849] +/Subtype /Link +/A << /S /GoTo /D (page.11) >> +>> endobj +979 0 obj << +/Type /Annot +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [383.31 365.573 390.284 375.894] +/Subtype /Link +/A << /S /GoTo /D (page.5) >> +>> endobj +980 0 obj << +/Type /Annot +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [378.229 353.618 385.203 363.939] +/Subtype /Link +/A << /S /GoTo /D (page.4) >> +>> endobj +981 0 obj << +/Type /Annot +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [403.634 341.663 410.607 351.984] +/Subtype /Link +/A << /S /GoTo /D (page.5) >> +>> endobj +982 0 obj << +/Type /Annot +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [357.905 329.707 369.86 340.028] +/Subtype /Link +/A << /S /GoTo /D (page.48) >> +>> endobj +983 0 obj << +/Type /Annot +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [378.229 317.882 385.203 328.073] +/Subtype /Link +/A << /S /GoTo /D (page.5) >> +>> endobj +984 0 obj << +/Type /Annot +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [356.318 305.927 363.292 316.118] +/Subtype /Link +/A << /S /GoTo /D (page.6) >> +>> endobj +985 0 obj << +/Type /Annot +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [388.391 293.842 400.346 304.163] +/Subtype /Link +/A << /S /GoTo /D (page.49) >> +>> endobj +986 0 obj << +/Type /Annot +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [398.553 271.924 405.526 282.245] +/Subtype /Link +/A << /S /GoTo /D (page.8) >> +>> endobj +987 0 obj << +/Type /Annot +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [393.472 259.969 400.446 270.29] +/Subtype /Link +/A << /S /GoTo /D (page.5) >> +>> endobj +988 0 obj << +/Type /Annot +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [379.245 247.629 386.218 258.335] +/Subtype /Link +/A << /S /GoTo /D (page.5) >> +>> endobj +989 0 obj << +/Type /Annot +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [373.148 226.096 385.103 236.417] +/Subtype /Link +/A << /S /GoTo /D (page.49) >> +>> endobj +990 0 obj << +/Type /Annot +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [362.986 214.141 374.941 224.462] +/Subtype /Link +/A << /S /GoTo /D (page.29) >> +>> endobj +991 0 obj << +/Type /Annot +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [368.067 202.186 380.022 212.507] +/Subtype /Link +/A << /S /GoTo /D (page.23) >> +>> endobj +992 0 obj << +/Type /Annot +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [362.986 190.23 374.941 200.551] +/Subtype /Link +/A << /S /GoTo /D (page.48) >> +>> endobj +993 0 obj << +/Type /Annot +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [342.662 178.275 354.618 188.596] +/Subtype /Link +/A << /S /GoTo /D (page.44) >> +>> endobj +994 0 obj << +/Type /Annot +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [352.824 166.32 364.779 176.641] +/Subtype /Link +/A << /S /GoTo /D (page.44) >> +>> endobj +995 0 obj << +/Type /Annot +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [368.067 154.365 380.022 164.686] +/Subtype /Link +/A << /S /GoTo /D (page.19) >> +>> endobj +996 0 obj << +/Type /Annot +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [368.067 142.41 380.022 152.731] +/Subtype /Link +/A << /S /GoTo /D (page.19) >> +>> endobj +997 0 obj << +/Type /Annot +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [347.743 130.455 359.699 140.776] +/Subtype /Link +/A << /S /GoTo /D (page.25) >> +>> endobj +910 0 obj << +/D [908 0 R /XYZ 110.999 687.904 null] +>> endobj +907 0 obj << +/Font << /F78 368 0 R /F88 386 0 R /F101 484 0 R /F87 383 0 R /F80 371 0 R >> +/ProcSet [ /PDF /Text ] +>> endobj +1000 0 obj << +/Length 1693 +/Filter /FlateDecode +>> +stream +xÚÝ›IoÛF€ïþ:Ú@=Ãc³ÔhEøÖô@‰#‰EÒ$•¥¿¾”ÚÖŒÍôv@¬áòÍÛß#ÙŒÂ?6cŒ’4MgÚ$$¥r¶ØœÑÙ +~º:c·K(á\Â7øéÍõÙ¯¿'ffHªõìz9®¸Îÿ>——Œ*zþÛÅ?׎KÂ1,á”~»ìÃÅ¥fã'??~ÿküþnüücü|{ï×OûÓí¯(T +7|wB-‡gï¯÷w+LJ8€ºP.Eª5¾Hbtºg2f§Õâ>Óg&dSÖ}žõÙþ>ö«¤" 7·Ky|Š’„¦»›Øý]Ív_>^í·ñà’‚?>Ñn‰FS¢>»dŒ¤JMb©êÜv‡0p»f¼]7 †³pÄ×Pâ–EObé~læué€QÄxY`ÏL‚aIà"B ¦·ßûXJ¦Q•¬=Ä +˜),å—,¯û8ž€kTO°CéšlMϪží€¾åqBŽ”¨!§ü±r¥e8 +®î›eÐ"‹0 ž•7!AéÛsÄÔªµÝvc»uÑ4EµŠU2Ä’±µ_!ØÄòÑ\àô½?^½ùLÝQ@åD|Ü-¸pæå£ã‡áá½]ž€DÅÄÃß<}u +dYxJœg¤0Ãã-ûÅk_öæ57‚ðþO‰1ƵD¤”Púèøÿ +endobj +999 0 obj << +/Type /Page +/Contents 1000 0 R +/Resources 998 0 R +/MediaBox [0 0 612 792] +/Parent 1091 0 R +/Annots [ 1002 0 R 1003 0 R 1004 0 R 1005 0 R 1006 0 R 1007 0 R 1008 0 R 1009 0 R 1010 0 R 1011 0 R 1012 0 R 1013 0 R 1014 0 R 1015 0 R 1016 0 R 1017 0 R 1018 0 R 1019 0 R 1020 0 R 1021 0 R 1022 0 R 1023 0 R 1024 0 R 1025 0 R 1026 0 R 1027 0 R 1028 0 R 1029 0 R 1030 0 R 1031 0 R 1032 0 R 1033 0 R 1034 0 R 1035 0 R 1036 0 R 1037 0 R 1038 0 R 1039 0 R 1040 0 R 1041 0 R 1042 0 R 1043 0 R 1044 0 R 1045 0 R 1046 0 R 1047 0 R 1048 0 R 1049 0 R 1050 0 R 1051 0 R 1052 0 R 1053 0 R 1054 0 R 1055 0 R 1056 0 R 1057 0 R 1058 0 R 1059 0 R 1060 0 R 1061 0 R 1062 0 R 1063 0 R 1064 0 R 1065 0 R 1066 0 R 1067 0 R 1068 0 R 1069 0 R 1070 0 R 1071 0 R 1072 0 R 1073 0 R 1074 0 R 1075 0 R 1076 0 R 1077 0 R 1078 0 R 1079 0 R 1080 0 R 1081 0 R 1082 0 R 1083 0 R 1084 0 R 1085 0 R 1086 0 R 1087 0 R 1088 0 R 1089 0 R 1090 0 R ] +>> endobj +1002 0 obj << +/Type /Annot +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [155.631 650.504 167.586 660.825] +/Subtype /Link +/A << /S /GoTo /D (page.32) >> +>> endobj +1003 0 obj << +/Type /Annot +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [160.712 638.549 172.667 648.87] +/Subtype /Link +/A << /S /GoTo /D (page.25) >> +>> endobj +1004 0 obj << +/Type /Annot +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [165.793 626.594 177.748 636.915] +/Subtype /Link +/A << /S /GoTo /D (page.11) >> +>> endobj +1005 0 obj << +/Type /Annot +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [155.631 614.639 167.586 624.96] +/Subtype /Link +/A << /S /GoTo /D (page.36) >> +>> endobj +1006 0 obj << +/Type /Annot +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [130.227 602.684 142.182 613.005] +/Subtype /Link +/A << /S /GoTo /D (page.20) >> +>> endobj +1007 0 obj << +/Type /Annot +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [145.469 590.729 157.424 601.05] +/Subtype /Link +/A << /S /GoTo /D (page.30) >> +>> endobj +1008 0 obj << +/Type /Annot +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [150.55 578.773 162.505 589.094] +/Subtype /Link +/A << /S /GoTo /D (page.15) >> +>> endobj +1009 0 obj << +/Type /Annot +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [181.036 566.818 192.991 577.139] +/Subtype /Link +/A << /S /GoTo /D (page.15) >> +>> endobj +1010 0 obj << +/Type /Annot +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [155.631 554.863 167.586 565.184] +/Subtype /Link +/A << /S /GoTo /D (page.15) >> +>> endobj +1011 0 obj << +/Type /Annot +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [160.712 542.908 172.667 553.229] +/Subtype /Link +/A << /S /GoTo /D (page.30) >> +>> endobj +1012 0 obj << +/Type /Annot +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [135.307 531.082 147.263 541.274] +/Subtype /Link +/A << /S /GoTo /D (page.11) >> +>> endobj +1013 0 obj << +/Type /Annot +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [140.388 518.998 152.344 529.319] +/Subtype /Link +/A << /S /GoTo /D (page.10) >> +>> endobj +1014 0 obj << +/Type /Annot +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [165.793 507.042 177.748 517.363] +/Subtype /Link +/A << /S /GoTo /D (page.20) >> +>> endobj +1015 0 obj << +/Type /Annot +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [155.631 495.087 167.586 505.408] +/Subtype /Link +/A << /S /GoTo /D (page.10) >> +>> endobj +1016 0 obj << +/Type /Annot +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [175.955 483.132 187.91 493.453] +/Subtype /Link +/A << /S /GoTo /D (page.33) >> +>> endobj +1017 0 obj << +/Type /Annot +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [186.117 471.177 198.072 481.498] +/Subtype /Link +/A << /S /GoTo /D (page.43) >> +>> endobj +1018 0 obj << +/Type /Annot +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [181.036 459.222 192.991 469.543] +/Subtype /Link +/A << /S /GoTo /D (page.43) >> +>> endobj +1019 0 obj << +/Type /Annot +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [160.712 447.267 172.667 457.588] +/Subtype /Link +/A << /S /GoTo /D (page.43) >> +>> endobj +1020 0 obj << +/Type /Annot +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [155.631 435.311 167.586 445.632] +/Subtype /Link +/A << /S /GoTo /D (page.26) >> +>> endobj +1021 0 obj << +/Type /Annot +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [181.036 423.356 192.991 433.677] +/Subtype /Link +/A << /S /GoTo /D (page.45) >> +>> endobj +1022 0 obj << +/Type /Annot +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [165.793 411.401 177.748 421.722] +/Subtype /Link +/A << /S /GoTo /D (page.44) >> +>> endobj +1023 0 obj << +/Type /Annot +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [150.55 399.446 162.505 409.767] +/Subtype /Link +/A << /S /GoTo /D (page.11) >> +>> endobj +1024 0 obj << +/Type /Annot +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [155.631 387.491 167.586 397.812] +/Subtype /Link +/A << /S /GoTo /D (page.11) >> +>> endobj +1025 0 obj << +/Type /Annot +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [211.521 375.535 223.476 385.857] +/Subtype /Link +/A << /S /GoTo /D (page.52) >> +>> endobj +1026 0 obj << +/Type /Annot +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [226.465 375.535 238.42 385.857] +/Subtype /Link +/A << /S /GoTo /D (page.58) >> +>> endobj +1027 0 obj << +/Type /Annot +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [155.631 353.618 167.586 363.939] +/Subtype /Link +/A << /S /GoTo /D (page.46) >> +>> endobj +1028 0 obj << +/Type /Annot +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [155.631 341.663 167.586 351.984] +/Subtype /Link +/A << /S /GoTo /D (page.47) >> +>> endobj +1029 0 obj << +/Type /Annot +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [150.55 329.707 162.505 340.028] +/Subtype /Link +/A << /S /GoTo /D (page.46) >> +>> endobj +1030 0 obj << +/Type /Annot +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [191.198 307.79 203.153 318.111] +/Subtype /Link +/A << /S /GoTo /D (page.33) >> +>> endobj +1031 0 obj << +/Type /Annot +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [135.307 295.964 147.263 306.155] +/Subtype /Link +/A << /S /GoTo /D (page.11) >> +>> endobj +1032 0 obj << +/Type /Annot +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [175.955 284.009 187.91 294.2] +/Subtype /Link +/A << /S /GoTo /D (page.39) >> +>> endobj +1033 0 obj << +/Type /Annot +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [170.874 271.924 182.829 282.245] +/Subtype /Link +/A << /S /GoTo /D (page.42) >> +>> endobj +1034 0 obj << +/Type /Annot +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [165.793 259.969 177.748 270.29] +/Subtype /Link +/A << /S /GoTo /D (page.12) >> +>> endobj +1035 0 obj << +/Type /Annot +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [186.117 248.014 198.072 258.335] +/Subtype /Link +/A << /S /GoTo /D (page.48) >> +>> endobj +1036 0 obj << +/Type /Annot +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [150.55 236.188 162.505 246.38] +/Subtype /Link +/A << /S /GoTo /D (page.23) >> +>> endobj +1037 0 obj << +/Type /Annot +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [169.918 224.233 181.873 234.424] +/Subtype /Link +/A << /S /GoTo /D (page.21) >> +>> endobj +1038 0 obj << +/Type /Annot +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [153.768 211.526 165.723 222.534] +/Subtype /Link +/A << /S /GoTo /D (page.21) >> +>> endobj +1039 0 obj << +/Type /Annot +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [145.469 200.323 157.424 210.514] +/Subtype /Link +/A << /S /GoTo /D (page.27) >> +>> endobj +1040 0 obj << +/Type /Annot +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [145.469 188.367 157.424 198.559] +/Subtype /Link +/A << /S /GoTo /D (page.13) >> +>> endobj +1041 0 obj << +/Type /Annot +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [145.469 176.412 157.424 186.604] +/Subtype /Link +/A << /S /GoTo /D (page.39) >> +>> endobj +1042 0 obj << +/Type /Annot +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [175.955 164.457 187.91 174.649] +/Subtype /Link +/A << /S /GoTo /D (page.39) >> +>> endobj +1043 0 obj << +/Type /Annot +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [165.793 152.372 177.748 162.693] +/Subtype /Link +/A << /S /GoTo /D (page.42) >> +>> endobj +1044 0 obj << +/Type /Annot +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [150.55 130.455 162.505 140.776] +/Subtype /Link +/A << /S /GoTo /D (page.38) >> +>> endobj +1045 0 obj << +/Type /Annot +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [352.824 650.634 364.779 660.825] +/Subtype /Link +/A << /S /GoTo /D (page.40) >> +>> endobj +1046 0 obj << +/Type /Annot +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [373.148 638.549 385.103 648.87] +/Subtype /Link +/A << /S /GoTo /D (page.42) >> +>> endobj +1047 0 obj << +/Type /Annot +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [362.986 626.724 374.941 636.915] +/Subtype /Link +/A << /S /GoTo /D (page.23) >> +>> endobj +1048 0 obj << +/Type /Annot +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [357.905 614.768 369.86 624.96] +/Subtype /Link +/A << /S /GoTo /D (page.18) >> +>> endobj +1049 0 obj << +/Type /Annot +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [368.067 602.684 380.022 613.005] +/Subtype /Link +/A << /S /GoTo /D (page.32) >> +>> endobj +1050 0 obj << +/Type /Annot +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [413.795 590.729 425.751 601.05] +/Subtype /Link +/A << /S /GoTo /D (page.13) >> +>> endobj +1051 0 obj << +/Type /Annot +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [413.795 578.903 425.751 589.094] +/Subtype /Link +/A << /S /GoTo /D (page.14) >> +>> endobj +1052 0 obj << +/Type /Annot +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [398.553 566.818 410.508 577.139] +/Subtype /Link +/A << /S /GoTo /D (page.13) >> +>> endobj +1053 0 obj << +/Type /Annot +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [388.391 554.993 400.346 565.184] +/Subtype /Link +/A << /S /GoTo /D (page.14) >> +>> endobj +1054 0 obj << +/Type /Annot +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [398.553 543.037 410.508 553.229] +/Subtype /Link +/A << /S /GoTo /D (page.14) >> +>> endobj +1055 0 obj << +/Type /Annot +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [383.31 531.082 395.265 541.274] +/Subtype /Link +/A << /S /GoTo /D (page.51) >> +>> endobj +1056 0 obj << +/Type /Annot +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [398.254 531.082 410.209 541.274] +/Subtype /Link +/A << /S /GoTo /D (page.59) >> +>> endobj +1057 0 obj << +/Type /Annot +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [403.634 518.998 415.589 529.319] +/Subtype /Link +/A << /S /GoTo /D (page.51) >> +>> endobj +1058 0 obj << +/Type /Annot +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [418.577 518.998 430.533 529.319] +/Subtype /Link +/A << /S /GoTo /D (page.58) >> +>> endobj +1059 0 obj << +/Type /Annot +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [393.472 507.172 405.427 517.363] +/Subtype /Link +/A << /S /GoTo /D (page.48) >> +>> endobj +1060 0 obj << +/Type /Annot +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [393.472 495.087 405.427 505.408] +/Subtype /Link +/A << /S /GoTo /D (page.48) >> +>> endobj +1061 0 obj << +/Type /Annot +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [373.148 483.262 385.103 493.453] +/Subtype /Link +/A << /S /GoTo /D (page.27) >> +>> endobj +1062 0 obj << +/Type /Annot +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [378.229 471.306 390.184 481.498] +/Subtype /Link +/A << /S /GoTo /D (page.16) >> +>> endobj +1063 0 obj << +/Type /Annot +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [373.148 459.351 385.103 469.543] +/Subtype /Link +/A << /S /GoTo /D (page.14) >> +>> endobj +1064 0 obj << +/Type /Annot +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [373.148 447.267 385.103 457.588] +/Subtype /Link +/A << /S /GoTo /D (page.14) >> +>> endobj +1065 0 obj << +/Type /Annot +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [352.824 435.441 364.779 445.632] +/Subtype /Link +/A << /S /GoTo /D (page.26) >> +>> endobj +1066 0 obj << +/Type /Annot +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [378.229 423.356 390.184 433.677] +/Subtype /Link +/A << /S /GoTo /D (page.45) >> +>> endobj +1067 0 obj << +/Type /Annot +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [362.986 411.531 374.941 421.722] +/Subtype /Link +/A << /S /GoTo /D (page.44) >> +>> endobj +1068 0 obj << +/Type /Annot +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [352.824 399.575 364.779 409.767] +/Subtype /Link +/A << /S /GoTo /D (page.39) >> +>> endobj +1069 0 obj << +/Type /Annot +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [373.148 387.491 385.103 397.812] +/Subtype /Link +/A << /S /GoTo /D (page.42) >> +>> endobj +1070 0 obj << +/Type /Annot +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [383.31 375.665 395.265 385.857] +/Subtype /Link +/A << /S /GoTo /D (page.44) >> +>> endobj +1071 0 obj << +/Type /Annot +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [373.148 363.58 385.103 373.901] +/Subtype /Link +/A << /S /GoTo /D (page.42) >> +>> endobj +1072 0 obj << +/Type /Annot +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [378.229 351.755 390.184 361.946] +/Subtype /Link +/A << /S /GoTo /D (page.30) >> +>> endobj +1073 0 obj << +/Type /Annot +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [383.31 339.8 395.265 349.991] +/Subtype /Link +/A << /S /GoTo /D (page.11) >> +>> endobj +1074 0 obj << +/Type /Annot +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [388.391 327.844 400.346 338.036] +/Subtype /Link +/A << /S /GoTo /D (page.11) >> +>> endobj +1075 0 obj << +/Type /Annot +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [383.31 315.76 395.265 326.081] +/Subtype /Link +/A << /S /GoTo /D (page.11) >> +>> endobj +1076 0 obj << +/Type /Annot +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [373.148 303.934 385.103 314.126] +/Subtype /Link +/A << /S /GoTo /D (page.11) >> +>> endobj +1077 0 obj << +/Type /Annot +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [393.472 291.849 405.427 302.17] +/Subtype /Link +/A << /S /GoTo /D (page.11) >> +>> endobj +1078 0 obj << +/Type /Annot +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [357.905 279.894 369.86 290.215] +/Subtype /Link +/A << /S /GoTo /D (page.11) >> +>> endobj +1079 0 obj << +/Type /Annot +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [347.743 268.069 359.699 278.26] +/Subtype /Link +/A << /S /GoTo /D (page.11) >> +>> endobj +1080 0 obj << +/Type /Annot +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [388.391 255.984 400.346 266.305] +/Subtype /Link +/A << /S /GoTo /D (page.48) >> +>> endobj +1081 0 obj << +/Type /Annot +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [352.824 244.158 364.779 254.35] +/Subtype /Link +/A << /S /GoTo /D (page.40) >> +>> endobj +1082 0 obj << +/Type /Annot +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [362.986 232.073 374.941 242.395] +/Subtype /Link +/A << /S /GoTo /D (page.23) >> +>> endobj +1083 0 obj << +/Type /Annot +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [383.31 220.118 395.265 230.439] +/Subtype /Link +/A << /S /GoTo /D (page.45) >> +>> endobj +1084 0 obj << +/Type /Annot +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [368.067 198.203 380.022 208.524] +/Subtype /Link +/A << /S /GoTo /D (page.36) >> +>> endobj +1085 0 obj << +/Type /Annot +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [347.743 186.378 359.699 196.569] +/Subtype /Link +/A << /S /GoTo /D (page.50) >> +>> endobj +1086 0 obj << +/Type /Annot +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [357.905 174.422 369.86 184.614] +/Subtype /Link +/A << /S /GoTo /D (page.27) >> +>> endobj +1087 0 obj << +/Type /Annot +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [347.743 162.467 359.699 172.659] +/Subtype /Link +/A << /S /GoTo /D (page.50) >> +>> endobj +1088 0 obj << +/Type /Annot +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [357.905 150.512 369.86 160.704] +/Subtype /Link +/A << /S /GoTo /D (page.34) >> +>> endobj +1089 0 obj << +/Type /Annot +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [388.391 138.557 400.346 148.748] +/Subtype /Link +/A << /S /GoTo /D (page.38) >> +>> endobj +1090 0 obj << +/Type /Annot +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [383.31 126.602 395.265 136.793] +/Subtype /Link +/A << /S /GoTo /D (page.20) >> +>> endobj +1001 0 obj << +/D [999 0 R /XYZ 110.999 687.904 null] +>> endobj +998 0 obj << +/Font << /F78 368 0 R /F88 386 0 R /F101 484 0 R >> +/ProcSet [ /PDF /Text ] +>> endobj +1094 0 obj << +/Length 966 +/Filter /FlateDecode +>> +stream +xÚݘ[oÓ0Çß÷)òØJÌøøîG.c‚„ oÀƒ×¦] M¢$…–OÏiVªi‰!®HÕ¤(ZNmÿü?CDñ" +š'›\5ïo›÷—Íóuó|qïë‡ãpǹ´¸à_*¹·¸¸šWË%@»P.¹•„Ž/‚eLÆD8¬â÷™>uênâ4NÓ¤¨âãbŽ¦p~°òp)Z€ÃÎÝý¯\Ew/ï¯{Ùš—›‡Ý™tE¨ÖÑ% +Uoœ„‡qd›u\&óE¼t›´©Fpâk +ý…q.)½PØyrí•ÊáRÿ%(ŸTû}å¬÷ùäÛªLi’ÅÕ8×V O¹¶ê ³uÛ¤)€€
@Û[WÏoGÊÏL—Ÿ·çrµ²æn´~DÐSATOî~ˆx»T ¼¦ÞV©ë:°?2Uú‚œ‹*»ê»+ÎA•ä±«Ò³6îΤ6îÎ¥¤ìÎ¥¤ìΩ¤ìmIa‰ÜßÔcãªå}‹–%Ã>CD’‰æþ°ò™¤¹ÿGTÉ ölä&FI$b”PaºŒ¸ÅOô¨?766endstream +endobj +1093 0 obj << +/Type /Page +/Contents 1094 0 R +/Resources 1092 0 R +/MediaBox [0 0 612 792] +/Parent 1091 0 R +/Annots [ 1096 0 R 1097 0 R 1098 0 R 1099 0 R 1100 0 R 1101 0 R 1102 0 R 1103 0 R 1104 0 R 1105 0 R 1106 0 R 1107 0 R 1108 0 R 1109 0 R 1110 0 R 1111 0 R 1112 0 R 1113 0 R 1114 0 R 1115 0 R 1116 0 R 1117 0 R 1118 0 R 1119 0 R 1120 0 R 1121 0 R 1122 0 R 1123 0 R 1124 0 R 1125 0 R 1126 0 R 1127 0 R 1128 0 R 1129 0 R 1130 0 R 1131 0 R 1132 0 R 1133 0 R 1134 0 R 1135 0 R 1136 0 R 1137 0 R 1138 0 R 1139 0 R 1140 0 R 1141 0 R 1142 0 R ] +>> endobj +1096 0 obj << +/Type /Annot +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [181.036 650.504 192.991 660.825] +/Subtype /Link +/A << /S /GoTo /D (page.38) >> +>> endobj +1097 0 obj << +/Type /Annot +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [181.036 638.549 192.991 648.87] +/Subtype /Link +/A << /S /GoTo /D (page.35) >> +>> endobj +1098 0 obj << +/Type /Annot +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [175.955 626.724 187.91 636.915] +/Subtype /Link +/A << /S /GoTo /D (page.35) >> +>> endobj +1099 0 obj << +/Type /Annot +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [190.899 626.724 202.854 636.915] +/Subtype /Link +/A << /S /GoTo /D (page.46) >> +>> endobj +1100 0 obj << +/Type /Annot +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [165.793 614.768 177.748 624.96] +/Subtype /Link +/A << /S /GoTo /D (page.38) >> +>> endobj +1101 0 obj << +/Type /Annot +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [165.793 602.813 177.748 613.005] +/Subtype /Link +/A << /S /GoTo /D (page.37) >> +>> endobj +1102 0 obj << +/Type /Annot +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [150.55 590.858 162.505 601.05] +/Subtype /Link +/A << /S /GoTo /D (page.34) >> +>> endobj +1103 0 obj << +/Type /Annot +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [160.712 578.773 172.667 589.094] +/Subtype /Link +/A << /S /GoTo /D (page.35) >> +>> endobj +1104 0 obj << +/Type /Annot +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [175.656 578.773 187.611 589.094] +/Subtype /Link +/A << /S /GoTo /D (page.45) >> +>> endobj +1105 0 obj << +/Type /Annot +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [181.036 566.818 192.991 577.139] +/Subtype /Link +/A << /S /GoTo /D (page.38) >> +>> endobj +1106 0 obj << +/Type /Annot +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [145.469 554.993 157.424 565.184] +/Subtype /Link +/A << /S /GoTo /D (page.13) >> +>> endobj +1107 0 obj << +/Type /Annot +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [150.55 543.037 162.505 553.229] +/Subtype /Link +/A << /S /GoTo /D (page.51) >> +>> endobj +1108 0 obj << +/Type /Annot +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [181.036 530.953 192.991 541.274] +/Subtype /Link +/A << /S /GoTo /D (page.42) >> +>> endobj +1109 0 obj << +/Type /Annot +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [155.631 518.998 167.586 529.319] +/Subtype /Link +/A << /S /GoTo /D (page.11) >> +>> endobj +1110 0 obj << +/Type /Annot +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [155.631 507.042 167.586 517.363] +/Subtype /Link +/A << /S /GoTo /D (page.50) >> +>> endobj +1111 0 obj << +/Type /Annot +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [149.647 495.217 156.621 505.408] +/Subtype /Link +/A << /S /GoTo /D (page.5) >> +>> endobj +1112 0 obj << +/Type /Annot +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [135.307 483.262 147.263 493.453] +/Subtype /Link +/A << /S /GoTo /D (page.39) >> +>> endobj +1113 0 obj << +/Type /Annot +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [145.469 471.306 157.424 481.498] +/Subtype /Link +/A << /S /GoTo /D (page.18) >> +>> endobj +1114 0 obj << +/Type /Annot +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [175.955 449.389 187.91 459.58] +/Subtype /Link +/A << /S /GoTo /D (page.30) >> +>> endobj +1115 0 obj << +/Type /Annot +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [211.521 437.304 218.495 447.625] +/Subtype /Link +/A << /S /GoTo /D (page.5) >> +>> endobj +1116 0 obj << +/Type /Annot +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [170.874 425.478 177.848 435.53] +/Subtype /Link +/A << /S /GoTo /D (page.7) >> +>> endobj +1117 0 obj << +/Type /Annot +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [170.874 413.394 177.848 423.715] +/Subtype /Link +/A << /S /GoTo /D (page.4) >> +>> endobj +1118 0 obj << +/Type /Annot +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [180.837 413.394 187.81 423.715] +/Subtype /Link +/A << /S /GoTo /D (page.7) >> +>> endobj +1119 0 obj << +/Type /Annot +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [170.874 401.438 177.848 411.759] +/Subtype /Link +/A << /S /GoTo /D (page.4) >> +>> endobj +1120 0 obj << +/Type /Annot +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [145.469 389.483 157.424 399.804] +/Subtype /Link +/A << /S /GoTo /D (page.38) >> +>> endobj +1121 0 obj << +/Type /Annot +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [170.874 377.658 177.848 387.849] +/Subtype /Link +/A << /S /GoTo /D (page.5) >> +>> endobj +1122 0 obj << +/Type /Annot +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [140.388 365.573 152.344 375.894] +/Subtype /Link +/A << /S /GoTo /D (page.31) >> +>> endobj +1123 0 obj << +/Type /Annot +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [211.521 353.618 223.476 363.939] +/Subtype /Link +/A << /S /GoTo /D (page.32) >> +>> endobj +1124 0 obj << +/Type /Annot +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [196.279 341.663 208.234 351.984] +/Subtype /Link +/A << /S /GoTo /D (page.32) >> +>> endobj +1125 0 obj << +/Type /Annot +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [165.793 319.745 177.748 330.066] +/Subtype /Link +/A << /S /GoTo /D (page.15) >> +>> endobj +1126 0 obj << +/Type /Annot +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [140.388 297.956 152.344 308.148] +/Subtype /Link +/A << /S /GoTo /D (page.12) >> +>> endobj +1127 0 obj << +/Type /Annot +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [145.469 286.001 157.424 296.193] +/Subtype /Link +/A << /S /GoTo /D (page.27) >> +>> endobj +1128 0 obj << +/Type /Annot +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [145.469 274.046 157.424 284.238] +/Subtype /Link +/A << /S /GoTo /D (page.13) >> +>> endobj +1129 0 obj << +/Type /Annot +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [145.469 262.091 157.424 272.282] +/Subtype /Link +/A << /S /GoTo /D (page.40) >> +>> endobj +1130 0 obj << +/Type /Annot +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [165.793 250.006 177.748 260.327] +/Subtype /Link +/A << /S /GoTo /D (page.42) >> +>> endobj +1131 0 obj << +/Type /Annot +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [145.469 238.181 157.424 248.372] +/Subtype /Link +/A << /S /GoTo /D (page.40) >> +>> endobj +1132 0 obj << +/Type /Annot +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [165.793 226.096 177.748 236.417] +/Subtype /Link +/A << /S /GoTo /D (page.42) >> +>> endobj +1133 0 obj << +/Type /Annot +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [145.469 214.141 157.424 224.462] +/Subtype /Link +/A << /S /GoTo /D (page.40) >> +>> endobj +1134 0 obj << +/Type /Annot +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [165.793 202.186 177.748 212.507] +/Subtype /Link +/A << /S /GoTo /D (page.42) >> +>> endobj +1135 0 obj << +/Type /Annot +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [140.388 180.268 152.344 190.589] +/Subtype /Link +/A << /S /GoTo /D (page.12) >> +>> endobj +1136 0 obj << +/Type /Annot +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [145.469 168.313 157.424 178.634] +/Subtype /Link +/A << /S /GoTo /D (page.13) >> +>> endobj +1137 0 obj << +/Type /Annot +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [145.469 156.357 157.424 166.679] +/Subtype /Link +/A << /S /GoTo /D (page.40) >> +>> endobj +1138 0 obj << +/Type /Annot +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [165.793 144.402 177.748 154.723] +/Subtype /Link +/A << /S /GoTo /D (page.42) >> +>> endobj +1139 0 obj << +/Type /Annot +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [145.469 132.447 157.424 142.768] +/Subtype /Link +/A << /S /GoTo /D (page.40) >> +>> endobj +1140 0 obj << +/Type /Annot +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [378.229 650.504 390.184 660.825] +/Subtype /Link +/A << /S /GoTo /D (page.42) >> +>> endobj +1141 0 obj << +/Type /Annot +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [357.905 628.716 369.86 638.908] +/Subtype /Link +/A << /S /GoTo /D (page.40) >> +>> endobj +1142 0 obj << +/Type /Annot +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [357.905 616.761 369.86 626.952] +/Subtype /Link +/A << /S /GoTo /D (page.40) >> +>> endobj +1095 0 obj << +/D [1093 0 R /XYZ 110.999 687.904 null] +>> endobj +1092 0 obj << +/Font << /F78 368 0 R /F88 386 0 R /F87 383 0 R >> +/ProcSet [ /PDF /Text ] +>> endobj +1145 0 obj << +/Length 892 +/Filter /FlateDecode +>> +stream +xÚWKsÛ6¾ûWð(Í”(À7}Ø™dÚ¤ã*§´ˆ%ÆÁ +/ß>X>¯ÔdÓ¨ågë¹æø–ê[ñ,ê–é^j¬ÔZ¬ðtôJîV^ÔSÿ+ì‹w#kQYD<öûe@Va‰¶’/…ô´2µÍ²3ŽzâҫĆ}Ôvpá¬}’å$ŽSo?Œ¾¹Æy2ûݽ|¸]wo÷v$ñŸz§VÏX‹zÖ6Fðx¶°2!y +Ó.¥1Éi1ž1ç³’—@òFÌaöMgRuÝ¡P§µH(É’üÀüá2zœ)]=Ò„IJ²¨˜èŒV5
o,Þ¢c)¥±]*'²øº?7üAxÏ4Ûs»F¯·HZ4´{hñgs^+˸õßT\ +zãuϬÛÆ眑¼óâKj5ïTfãñßêvãQ±½ßöš‹Ûy潇°»fbwbâÿ6¡ø»4¡{ä}{q»ß¥ÿM'ª¹Y£¥VÖ¢g¨Öka+˜è5 +Ûoòye=Ðþ¾5Ñû +±ò¥¹A‰ÒÇoxg%8ÈLéTÞ`œ?ðõQû7k^£ƒ\̤õåk{Ç(ŒXc%ƒ Ç$-'¿r^¾ÉN¾ØþÅظøendstream +endobj +1144 0 obj << +/Type /Page +/Contents 1145 0 R +/Resources 1143 0 R +/MediaBox [0 0 612 792] +/Parent 1091 0 R +>> endobj +1146 0 obj << +/D [1144 0 R /XYZ 110.999 687.904 null] +>> endobj +302 0 obj << +/D [1144 0 R /XYZ 110.999 654.928 null] +>> endobj +306 0 obj << +/D [1144 0 R /XYZ 110.999 642.674 null] +>> endobj +310 0 obj << +/D [1144 0 R /XYZ 110.999 181.952 null] +>> endobj +314 0 obj << +/D [1144 0 R /XYZ 323.435 374.739 null] +>> endobj +1143 0 obj << +/Font << /F78 368 0 R /F85 373 0 R /F88 386 0 R >> +/ProcSet [ /PDF /Text ] +>> endobj +1149 0 obj << +/Length 1021 +/Filter /FlateDecode +>> +stream +xÚWßoœ8~Ï_Ác"u}ŒÁ½þHÓë]ª–«*]ûàïb…ÅÈ°Í’¿þŒ—Š„ÐÎ7Ÿg&3þèùêzú€âá$ÄG^¶»ò½2Ý^Á⃠@êM™þL¯þx'^Æ^ºÑˆ4ÿïݬ ùׯo~¦5$0{Hàƒ$`ŸoVêgpýN¿ÿ£ßßêç~¾1¬_GºñÄ0"*à!Ž{ÄÕ»tŒ6Lˆ•ƒ¿”ÊJ[£P½ `bæ¤hqx‘“Êè'1ÞO¹~2r%±Ž
îf~·ú™ê_>è÷!³Ä8w@D +NÃs¯;ñ^wå—ÙªÎ
5Њ'=d£¡‹ø×'¤îèþ÷÷3ο$"ƒëÝé]Ç Žá0Smh]—]j)íZˆÆÖ™2oæõ#©;åX‹Wó@ ãÅÕó°*Ÿ¨¼òA„’y«q)…´„)Ù¦dYK×bokU)ZÚ2§‘J±¯r[“e´´
sSðíÜv/mcz˜sšÆ’V6ÒC×<ÒÚMç¢í\´O.ϧÑówÇ/ˆÙq|Ôÿ܇–ø¾¨Sãq«I‹Ï»Ë`Š +úº´c"ˆÏvÌÔØ.ïE¾= +öQi?Ï@÷gâ½ Ã À8š]Y©hXT,ùg%¯õÊåZÇr¶Þo7´lس¨Vî™kóSS³q®~^ÑҨģäVÙDƪ–I–Ÿ–U;ðùêô ¥ú`±«Kºf +ñ‹É’vÏ ”à×Vc_ÕõZ,€—œ Y³ß±þ”šW[ÛÖÑŠz2ñìö ++䎵t#¬—Å€¨/ÂsÄR}±‰0«cŸbäœâĽ‡ÃaŠ?\ìÒpX fùÛMÈOùï|™/Ó‹Ÿ”êŽÚòêRW”ê)í¢`é+:$j
òƒóOìÿ§×'@endstream +endobj +1148 0 obj << +/Type /Page +/Contents 1149 0 R +/Resources 1147 0 R +/MediaBox [0 0 612 792] +/Parent 1091 0 R +>> endobj +1150 0 obj << +/D [1148 0 R /XYZ 110.999 687.904 null] +>> endobj +318 0 obj << +/D [1148 0 R /XYZ 110.999 662.997 null] +>> endobj +322 0 obj << +/D [1148 0 R /XYZ 110.999 452.597 null] +>> endobj +326 0 obj << +/D [1148 0 R /XYZ 110.999 230.519 null] +>> endobj +330 0 obj << +/D [1148 0 R /XYZ 323.435 442.883 null] +>> endobj +334 0 obj << +/D [1148 0 R /XYZ 323.435 161.03 null] +>> endobj +1147 0 obj << +/Font << /F78 368 0 R /F88 386 0 R >> +/ProcSet [ /PDF /Text ] +>> endobj +1153 0 obj << +/Length 1107 +/Filter /FlateDecode +>> +stream +xÚ¥XYÛ6~ß_áG/ÐeEŠ:ø¸Ù#Ý"GÑA‚¶´DÙªu¢“õ¿ïˆ’mj%ÒIh ͧáœo†Æþðc1Æa!æÑER^y‹
ˆÞ^áâ!B(¬@ôfuõëc/bÄÂp±Ê4b•þµ¤×7ؼåíõ?«ß5$B8ò;ñPLØ×7!ÖO²|Ðëz}¯ŸOúygH?Ôvô†q‡¸zX¬õc†"øÀ›såÆgò<Šâ|Šã¨
}Ó§¿±OS.wB¶[žŠn#Ü`ŒXˆv[ä•h…!¢áJ YÙtÔjN…ü{#lŸo¹J¶ßS›Tðhlùf«æ|<{PfMžTûr-¤E ´êP7D¬–Ø=‰Õ¿¦.v"øp¶ÂÊ‹‚?çmÉå&¯Z‹¢·®e*$ w.Ü)ëA.=¶ÍFÆ—Ù7.s¾¶F¶Ã4—1JTm^WvÀókNyw~úè‚=—"”<B¾É¨é'¯5‰Ü$Â"]ôäXó¿i‚¸5èãA§7~D.ù¨¡ïNk²üÓd³ö €=€(0E¸Û{ðnÍ“ÝFÖû*MꢖŽ2uɳ¼(¦òp\È.]-»äPc©È Ê\ ¦Î+娂¯ÅÙÐÿ›N¬ŸÞÔûIRi€PÕ'µçûÇ'#«3ù¼=eï˜ÃÛkê/¿êsé„="ϤS&[.mtâäÍÖ–…¼U5 +G"ŒéÂ@Ç…IkulåÚ[óÓ<ðƘ)ŽŸEþò³~ñ4"†Ù3D‚ÉJ +Áe{(×ua£D]A"ÕÑ1=\B(®+¶«â`1DÆ÷…jŠÚv¤Å7!}aÛ¸ƒïD#d":r(KøwX«k$èl¿ «º.öñ¬_+ñlÑRÕ?
Dw¬5¤#錸Rro³XWY¾ÙKáÈ ´T õi`[Öà.>N¢þwߪ<;81u–Ù§ËÒŠÆâ*: +qo³¯.Z»oójã’
¼9f²£OöºEºyœÒbtÓÓÄ;MCÃ1šÒ-¸ï^£»Ígƒ” g<PM/}b¦£Š•½™Q:ÃDu+t¿jáX:ÆïZ–˜i)Ð#IüS-ÅT½ÁC‘ÇævÌ“év¾‡h¸·#“ízM0Ÿˆ†Ñd¯nã¼îLøÙXMÏE”úÆÔB–_†¼Íf,„»êËŒu7ƒ¾æl¤tg»Qª„7Ê>Ê+§îsx]ˆŽWþ÷ÓEˆ`T6ŸtˆîæBAB§!Ê ¼-lº+'§å`ʦn'#
T A:zøˆ‘¹ß Ž?Œ~Dø†rÀendstream +endobj +1152 0 obj << +/Type /Page +/Contents 1153 0 R +/Resources 1151 0 R +/MediaBox [0 0 612 792] +/Parent 1091 0 R +>> endobj +1154 0 obj << +/D [1152 0 R /XYZ 110.999 687.904 null] +>> endobj +338 0 obj << +/D [1152 0 R /XYZ 110.999 359.934 null] +>> endobj +342 0 obj << +/D [1152 0 R /XYZ 110.999 244.716 null] +>> endobj +346 0 obj << +/D [1152 0 R /XYZ 323.435 662.997 null] +>> endobj +350 0 obj << +/D [1152 0 R /XYZ 323.435 333.045 null] +>> endobj +354 0 obj << +/D [1152 0 R /XYZ 323.435 265.648 null] +>> endobj +358 0 obj << +/D [1152 0 R /XYZ 323.435 187.033 null] +>> endobj +1151 0 obj << +/Font << /F78 368 0 R /F88 386 0 R >> +/ProcSet [ /PDF /Text ] +>> endobj +1157 0 obj << +/Length 383 +/Filter /FlateDecode +>> +stream +xÚ}SMO„0½ó+zÜM¤¶¥”öèÇjô`Lä¦ÊÚX„îêÏwè.Èf·†d2á½¾™içQDࣈR‚•RHÈ+ÂQ^ºèB0c2€®Óàò.‘Hb%JKÇH‹×_†”Ädqµ|O%Á4‰ +#X²íy +ê"[¬\þäò[\¼™¡/“ÜT1Š4< + +50‚U:uI…8@ÎFŠ`B$K¡¦™¤D +¢ùLo4âu™×ÅPþ…”bÇ3¬2½=ÅlË.«µÿpkòîz³iü |Xýã%ô]îŬ±•ö þ.S{z´Ïvôo«Î‡lLc]úàN·Y§Ýðë.k?½%þo ×Ö«!æ¬ÒTºgðê|mu“{a»é|˜5ûÛuÛ9í‹1'ü°@{|¾[«ÉƒŠnŠQv’àHŠÓJõéSþ
¹íÇ{š»€ªö>f“ˆÍÍpbŠ‰Ì–Ðí㌾9rÕ/ÙÆßendstream +endobj +1156 0 obj << +/Type /Page +/Contents 1157 0 R +/Resources 1155 0 R +/MediaBox [0 0 612 792] +/Parent 1091 0 R +>> endobj +1158 0 obj << +/D [1156 0 R /XYZ 110.999 687.904 null] +>> endobj +1155 0 obj << +/Font << /F78 368 0 R /F88 386 0 R >> +/ProcSet [ /PDF /Text ] +>> endobj +658 0 obj << +/Length1 778 +/Length2 1218 +/Length3 532 +/Length 1789 +/Filter /FlateDecode +>> +stream +xÚíRi<œ×&%˜D‚„DbBf1–Qi-£1b×KˆÖ,/^fæïÌÈŒTDD´Qj i"*v¡b»Ûà†„–Új‰HBKª
i…H‡4÷þ®~¼ýÔß}Ïûá<ÿÿsžóœç¬¶›§‘
¡C‡o„7Æ“³—ðÆ8œ-‹µC!F8ö4>DxKK°á¢€`ð8²)Aòc°ÀáŠP8(˜ôí¯“Ì
Baœiü`ˆ-Ñ`ÐXÀaÀ_dlX,à±¾‚< „†CLc˜0ƒèPÌÁ˜¬{rä"ÀüM™)à¾m…C(Ob +èoØ<$&™‡%L(câ‚Hvƒ$^þ +[›Å,–½.¿‘ÔŸú46ÌýÁ@Ø\B3„PÎfª7ôÆœ3Ä„ìÍ]G>3l8A,àÞ”`ž,„˜n0Ÿø¨ +àúœ#‰wÂÍÕžNúòxÏòÏÎ_<Ø\¢÷Һꖡ¹¦ÙXój'ò>kZTQu&Ù K¥ìÑWš'l)!~üûg-åÎéÄNÇÍ}TRÈ_Óíw–Õ;/æ¤ìVð,%l‰÷ô—éOh|aîÎl›8ЗÐÀºú›ÞY÷Ö:ßSù”üCQ]13½—~ø<¢F»TÎ » %Bä²ãó#ZLËt«‹ÍyƒìñÐT»x9\E‚S²gO?îü0ÿø[0X
å#lŠù@w¼Àendstream +endobj +659 0 obj << +/Type /Font +/Subtype /Type1 +/Encoding 1159 0 R +/FirstChar 116 +/LastChar 120 +/Widths 1160 0 R +/BaseFont /PHZTNN+CMTT10 +/FontDescriptor 657 0 R +>> endobj +657 0 obj << +/Ascent 611 +/CapHeight 611 +/Descent -222 +/FontName /PHZTNN+CMTT10 +/ItalicAngle 0 +/StemV 69 +/XHeight 431 +/FontBBox [-4 -235 731 800] +/Flags 4 +/CharSet (/t/x) +/FontFile 658 0 R +>> endobj +1160 0 obj +[525 0 0 0 525 ] +endobj +1159 0 obj << +/Type /Encoding +/Differences [ 0 /.notdef 116/t 117/.notdef 120/x 121/.notdef] +>> endobj +1161 0 obj << +/Type /Encoding +/Differences [ 0 /.notdef 1/dotaccent/fi/fl/fraction/hungarumlaut/Lslash/lslash/ogonek/ring 10/.notdef 11/breve/minus 13/.notdef 14/Zcaron/zcaron/caron/dotlessi/dotlessj/ff/ffi/ffl 22/.notdef 30/grave/quotesingle/space/exclam/quotedbl/numbersign/dollar/percent/ampersand/quoteright/parenleft/parenright/asterisk/plus/comma/hyphen/period/slash/zero/one/two/three/four/five/six/seven/eight/nine/colon/semicolon/less/equal/greater/question/at/A/B/C/D/E/F/G/H/I/J/K/L/M/N/O/P/Q/R/S/T/U/V/W/X/Y/Z/bracketleft/backslash/bracketright/asciicircum/underscore/quoteleft/a/b/c/d/e/f/g/h/i/j/k/l/m/n/o/p/q/r/s/t/u/v/w/x/y/z/braceleft/bar/braceright/asciitilde 127/.notdef 130/quotesinglbase/florin/quotedblbase/ellipsis/dagger/daggerdbl/circumflex/perthousand/Scaron/guilsinglleft/OE 141/.notdef 147/quotedblleft/quotedblright/bullet/endash/emdash/tilde/trademark/scaron/guilsinglright/oe 157/.notdef 159/Ydieresis 160/.notdef 161/exclamdown/cent/sterling/currency/yen/brokenbar/section/dieresis/copyright/ordfeminine/guillemotleft/logicalnot/hyphen/registered/macron/degree/plusminus/twosuperior/threesuperior/acute/mu/paragraph/periodcentered/cedilla/onesuperior/ordmasculine/guillemotright/onequarter/onehalf/threequarters/questiondown/Agrave/Aacute/Acircumflex/Atilde/Adieresis/Aring/AE/Ccedilla/Egrave/Eacute/Ecircumflex/Edieresis/Igrave/Iacute/Icircumflex/Idieresis/Eth/Ntilde/Ograve/Oacute/Ocircumflex/Otilde/Odieresis/multiply/Oslash/Ugrave/Uacute/Ucircumflex/Udieresis/Yacute/Thorn/germandbls/agrave/aacute/acircumflex/atilde/adieresis/aring/ae/ccedilla/egrave/eacute/ecircumflex/edieresis/igrave/iacute/icircumflex/idieresis/eth/ntilde/ograve/oacute/ocircumflex/otilde/odieresis/divide/oslash/ugrave/uacute/ucircumflex/udieresis/yacute/thorn/ydieresis] +>> endobj +613 0 obj << +/Length1 1663 +/Length2 7937 +/Length3 532 +/Length 8827 +/Filter /FlateDecode +>> +stream +xÚíveXܲ.îîî”à´ÅÝ× H$P ¸SÜ¥Hq§§¸»C[¤PŠ(R \Úïì½Ïó{þœ³ÝçæO²fÖ¼ï̼³æ +£¶¯Œ
̬ƒ"x|üO + +xØ3 +ˆžâCjâB¾ÿò?@À5¬nO€ ???ðô÷7ÿoî +'öÎTðQ/3gw>ñ¶VQî Çæ%øûѯŽçÔWÑŒEø_léèšßbÐM´ +ºa_r0{ä±\¸øÒjãÈÛˆê‘Hj +¾í³%í^^°÷
ôw~GïÞ¤áΉÃf}ê†ÏàšC#e¬_ñ*–œKz+^&Qåt³×ÊèjKMÅ~.Sô|TÓtQ°«sG4R˜¹Ú½¥øxæÀJ{J˯}A¬\dUÃÇÎx|Uä2*¨ˆƒ0ItŠHBëJÓëùW3’²ì¼ÕÜÏâÎlIï—_µÅ@œ~Bá\Öyúø[»8•ÖÐ&KÂßC²õ1ëW8þšá½"‚P|Þ³`5QxWóÔ«¢ÅlQ'J¦0Ù˜Ž‹L°KÎÚïZ_@ëS’…–siTTBuJ&–ôk¡ƒØJ)pcµ¤$+K˜ßÞL¼ý½œÛ¹îQýÇŽ#ëcxMþ!ñį˜jo܇ÅqÌ1mbµQY7ßçùCÏ%ÎD”éGpò篆¤ºÖæ–§š\üŽý’K®C‰xÙ?ïÖ`_;·Ð$ìDýÜi·%ª[ÎôYÙU*×:ðd¡7’`;ð¶„XéäWë±~ÙËAn]ä&0©Ù-Û”<×oµ5;ç"Pßiys¶ówMzý)ïÞ;Ûâ²RNÜÎë;í¤hÁ|4 åFšˆ Ú{Yl;ý¬B~$ú]|nxV×s§Ãu}$ŸÑXI%qó×Æ™¬žÜAöÄ»¢ùϱ×qÙRñRõÔųž‡™W„æý8ا¦/YIŽ˜7÷rAh(%Þß,oßÈÛÛ8Á|9‹_÷OK2ÆAi?ªƒ‰äl
v4ØvÅ
"ƒåDQÝ‘Ä•."p]¶žH«[Ï¿ +ÉæPï 4‘3& Yþ £Ú +義fvAþa°R´çöK¬`pxß½\ÿmgû}g<q¯åio”îËwŽaÇsëݬöN™æÄš)ƒC™f{ý‘[•h“—Bºà9óÅmŸ[ed“®XoåÁ•K _-³ð"©?=1ÃÌ{ß ð°ÇÅF)Ä‘$N°Jo‡|χFjCxñ(÷r¼‘ëØe$YÊ÷bC6
Ó¶«5 i»´É{óÐQî™´ÝÊ[è$/S`UÄÑÇ©!¤=tð¬j¶M’u)Dg’iåÙ͉zþ0ƒ>Þ}†«áˆ ä’övå€MIД¾Êß·ïIﻹ…{ê.Š+†¦"™ÇóÏläy¬A ÂÇ ç˜ãò8öÄ”Bo§ãj +IX£D:j…çžÚ?>¾Öä¤(O§Äˆ¬y0™|wDF¦˜lŸHhñ 0™ nkñYÊŸÓ㈦Оxæluå!¸’W|*ÞÓ´™½šR?]m£2ý–%lë*Zbg5šs?ñnc/F?~Ek‘´…Wxt±5*ršCv‘ŠÚèLÚò\ï¥Øû·aZÁ³[¡…¡U +~µôyê Y{ߟqÿš³$M‡À
‹C¡°§ÄÝgrßÕm¥®ã[ã…²u¬²}wí?Ârü4.àSK*Mh)nüÑH4€…ßÿÚ(Ù¸«ŽŽq˜¿¿x,¶Í½}Eß©p7GLVc"Ý=ýâÍžÎj¢öKüº¾{‘}‘±ÒlÑì¦ð”1`
mø›zEÏן©æ$ѸÍTÊ\¿³2ǬiiÅØÎ;ƒZâè<X$#ãXdß…¦VMUøõgrø;ß@‘Ø–3aC[M-ä®|,«ìÇþYÙšŠ(‡Ç6‰¥â$¢¤¯Œ-B°X’G‡l7‰À+H:G<jû̇D +™˜ÔUà;Í3 îþTéöéËÏ{n@zû_ºØgMfy#3 žÈõ¥T&çV±ëõQ› |ö9˜ÕÐ3y_t»+ç¯4“wF 5‘?AºOzð Ÿ$še +uѨBBâ¥Øzç@—®”·=îu²®^’ ͧ˜øUÅ1óœ›,ñÚ;Z +´sþ†ñŽ1ºè*¯ü u?‡|c–{ј“úŒæºyÉÑ…6…¹¡å½BÛU› Þ–+FÛ
Ãdí(ÝgѾæ¦cfKûýAª +•RYêO®xíÅH3sè%E–Ð~.ÈÚ¤ØäÖ¼sxÜNÕÊz ‡Šëù›¸E‹)ŽãŸš_Ä–ˆö!ybKúâ1Ká³w¤ÉÇŸöä~wm(º<d©“à‘Š¨’+>µ&ãùö4ÄV;£<Ò) +1õHÔ¸-׈՛×ï'3먇ÏÚÞª7½û@p’o€µñ´Ñ¼eÜG¹ìnq[ç“HØ +WqîêR%Ýಊ&¦(ºÆéû +£J6ý˜Þ»iCÇ;ɆW¤Âtò7䤣µ\C§|Ç…Ç)¥(€_n,qÉ÷Y=U2G›…c÷»
q9×r}]çí~¼xøÇ3 +AXwŸFñjp +c¥ÑŸ_aãð´öÙš±ï¯aW^¶¤c†7Í/µ·M—¨z{| +Âc¢‹6“âpï]f˜–0Ûk–¾[ +ÎëŽÒ þÁöÓºíâÉÊM©€óNhèOYù[pµq5{§µÑ©4$Z9òÈÚ·ƒ©AÔÍ6ŒëϞŖ½;çGkÊò“£B3jFÕÖL?ÕáY´R~a¦øìGÄüÔË2ôTjоДޜCŸKŠË2kʽôGäQZ«Õ«‰GÚX¹üg}U›³˜üº®é€ÈÙ̓BɉoÞüÆ¥Q¸è?"±«‘ßÀG~VEŸk›*ÄÍDŽëßnrÎ×Ò›_¦µN|µ\#Hü3Ó©aiÛyINÿ5›è¨<Übîåºys2±L‚ £·8 †…‡|áÈ™$`~u÷áõD…Ýÿk`O¶•Ûdõ4ÞóÞ¸Øþ>–Ê-‡Øt™ªPð⪼C+-ûS¯›9”ÉJÉë2Ô~=)O¹m;\–ÔH#¶ŸHy‡ê§¨ ƒ¡ýdsT›¥¹ŸdãÕ›u‰VC:2?5ûuK\6‚{7BANãÅîâ·Ñ¬ð‹í¸Ø;_ÝžfIon¥n¼”û{˜¾®z¤Ími þ0ç8%òÇÚϱ(…¾ÕgƒŒk8>NænŒLg«f#µû;¶JÒ>¢·íF8%†ÔPÓÄö©W~áíÙÒõ \ØýÚÙÌSÒª°‘l‰ùL‡h•äVw–Q‚j7ÿfŠ¬sS¶øOÞ‚zP'ï—AÄl´‡6{'lÌ_3^©))ЪÎùõÐ^ +²tèb¾å¢Ëª¢+”iYÃOmÇ›7ˆÁÂl“°zÍ\Œ™Z]Îä…v©*»\} Hñ!çðÄ Ì¬+……”rÌQë`”’bþ\pàÊ?Ìô½}£÷¶ÙiQSÊÐÚè„ŒñH+õ"Â}ì;õàwOç‚e°Zu¹>Þ®Êuè¯!±ˆ&'¿n{•«5|„ŒX`º:ç½â%¶5LwL6Iô’Z'Ýæ—Ú§ÜÈ„Ò/NM#3ÝÙ—©&ÑšàË"M²oô&{†Ò1û‡Uk5ÄTõõÖ«³äÕ²)ŸßêØί¦0®‹_*š&ˆçľó÷е¥5Ö+a”¢¥Ÿz’‡º”öEwGRŒÐ?bGœÚÝT¹þ’X”k£©•(~ïbÒgDMÄ,êÍÿƒ`}a¨aÒ^/ºÜ.Gt5ú¸&Ï
Ý0±Ïƒ¬ÕÜ«±«Yªz§9í;¦-_ˆÝÏ¡…õrÂx§„២ùa]gGÉåýq1þOÍØcýñü)J¦=h>c§ê93¦tŸÇôò¥#â¼çeš&³æJÅ›(‘P$"+(æ˜E¼’am¸ŸeøòAÞ ›’€±!Ý–ÞÆ9^ÔáºßVülœ÷ú¤#›ýãú)×Y ÀW‚£‹Ûî¹g1¸~²•Wj&åšúOosP¨£¢.¦›J¤5‚…]Bœñã´ð‚¤vó÷¢zï4ãP½cq“D™ÐÅtŠƒb$EÇlù/S¯&ŒÇ´T^@WEÄ"?SzfÑ*EK{ÕÇt¤<Æ´š&m3£±ö<ÆIˆTŽKfŠBfwG ì +.rYœê˜â«q.ô¢ù™-G£ŽÔf1
=Ëh +à–±üJ‚c3ĉûEè¶UÅ‹Þf&Pûr®Ê,×.ΤdGYËý¼ç4²¼ë¨ä +©-l$ÆͶy¼’ôc¿/w8zËs<)³Ð””×JVKõS¦¬×Ôyªå©òãt¡X¬y'ȳ{ñQFKO…£ÉÁö¸e½Ñk’Þ°ÄEy6È®®š4ùÕŽŒÉh"Ñ_u¹¦¯…p/AM*®)o§’ïz8µ2"²©B›v¥h%
Ê’Êal®d;A0é"
óìx{¾±EÕüÉ 7ß<·÷½:~ “áÿà‘Ó
œò*À¯55Uð¸8–½Ñzöë<£ãð¾Óu@*1äÂðÇð³qxãxT5žñSvëSûXH.DbÀ«G<Äb +÷-1ÊþúÐãLJ0h1&Ÿm¾T£"DWM•.Ì}¶·õ„©e?ÅPÁ'Éê©":{þkn”Ì®æ?δ¸[$>ï䎂T ˆ6µep„jË=ûè=¼ÐxGv·wøÇ×|FÿÛ82øxëñ{’âoáœ=æŒÙœs‘ÑÂØ÷Å[rž¼÷¡Êï&hÁ×;anéJ‡YçÐíe³µ‰3TþšJè“w%½Üuz±ä-=aÓ.€ûÖŸ¼ª‹”Š +J›ÊM¨eÎì#Ó{‰=BSú$Ç3>”³òM†·Ù^c_œÙdHÝÓ®!¯„nξ´„3–÷œàŸ§rÄ)ž2tëDz6¢2àgy`Œ¦<Å®´Ý%ÜЯÔ9ðÆBöÃÊ ÁÃÞÁÞÂ]5 +´IPæáxƒ„|d w:ОÀóa¨6,ˆ¥}ÆÖÓÜœ_vcÞþÚ¹…†¥¹œËƒhʯõ<ÑB¿Ýï"¡¶ÞKI÷ÓQU
ñà,=0Ú?Ç\!vÑPã‹¥òÊ«·ao&ùŠÏlˆ:U"®«L +®ç«½×N‚5"«v˜)¾S;x$} ¤ãr¬d±™Q$Ì ”Žû.B©? ¹!ˆ9hd:kot`^é}鯻xÆ˹Iùui¾áí†]¢i™ÓŽ‹™œâ€4äHV»ô“8Ø/sü¬ž¾0Z”
ÅÔDöÝXpæ@!½.¨‰ƒ"(g²ÞÄÍYT›¹Ë¸bÑR\…‡³òZ.‹—Dè'Ô¯Ì ³5¥XJš=!ŽïÚÔÄB‚yY‘br@hm?•4ó*”¡w¡&µWKF~=à¯ãftO÷D˜˜á8©Ú~J +gñðMùzè¦wÊíùqV`sëL xxPúXŠj¦ßo5Õ;ª`HRqýt¾Ð^¿¤(ŽZ[,Þ?§Aj+ÓÛ °ûéÀÄÌUE"o”àK`’Ø#¼ä¾ +k…é=i·íVõ°} -ñMçœ Ë7ú³Gm1~m®l +»;O“´Ê4tß×)o•8¿Ô·‘ñìé,Ì2D²O¤´Ç— —Je÷‘™Èü¶¤lÕA–l;. +RÄüE–Œ ‚éë–â&áÒî°Š“Fbãž'«5 #¥“mï‘N‘Á.b{?‘ÍØtâ@:hMŠêï±¼fÈ[¹œ„ú +[!!q.í*4UËIþÕ¾ý]¢j´#êeÅ\e¢UtX±CuUòµ,Œ–œº=¨)mÈ´ZÒ!˜Ç†y¯ “•V*ÅwÃlСœN[‰0YKL4:+*‹VºŠk…¯ñ«êB3™9jö’$iOßôÿº†/}\׺:N³O=5ªKij~~ü#p|>ö'‰MÂ[¤x©(#˯~Ãëi¾¶b5ÙüTbüÿËÎÿø +endobj +614 0 obj << +/Type /Font +/Subtype /Type1 +/Encoding 1161 0 R +/FirstChar 2 +/LastChar 116 +/Widths 1162 0 R +/BaseFont /ZKUUJH+NimbusRomNo9L-Regu-Slant_167 +/FontDescriptor 612 0 R +>> endobj +612 0 obj << +/Ascent 678 +/CapHeight 651 +/Descent -216 +/FontName /ZKUUJH+NimbusRomNo9L-Regu-Slant_167 +/ItalicAngle -9 +/StemV 85 +/XHeight 450 +/FontBBox [-168 -281 1000 924] +/Flags 4 +/CharSet (/fi/colon/M/S/a/c/d/e/i/l/n/o/p/t) +/FontFile 613 0 R +>> endobj +1162 0 obj +[556 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 278 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 889 0 0 0 0 0 556 0 0 0 0 0 0 0 0 0 0 0 0 0 444 0 444 500 444 0 0 0 278 0 0 278 0 500 500 500 0 0 0 278 ] +endobj +536 0 obj << +/Length1 831 +/Length2 1292 +/Length3 532 +/Length 1890 +/Filter /FlateDecode +>> +stream +xÚíR{8”i–×F»›C›¶GLæÄÃ"älZÇ"Ç·™wx3ó¾ã5ìLÄ&Ôr‘hqÉyÃÕÁ¡-J‡a7«(š6$T[I9…Rßж]Ÿýóûþú®}ßžßý»Ÿû¹¯û÷#j»{Ùp°=°† +¨$ª9°c±œ© ;S("ч!!‚¡Û!!l¨L&¸Dñ +…*#Êþ§À%Ù£lŒƒ ¡€Fg +vÞè3Sc3ú"ÊŽÂq.®ž,Ü5‘͆E0› íÁ؉{OÔ'WÄÙ߬TÒÔÊ.K¼Ñœt6Û‚ô¬ßBí6ÞÐé
5®š¤º©Z•5êzŠÌáÒhÖÛÄJb¼ÈIwU%Ÿièæx-c?’oË¿Þú?ïûÇÒƒ±{:SÑÍJµnPM‹4GS+z{æ'âÂã;HU~äèŒdóvË„w>Èøuî¹#VŒIKÛÖäL©¿“j¶öu…ßÿ,›™šÏR¸“mùvE_Äì PsÃ7J}O2]¼Ì•µ·wd¹/-µ³}š]Y/”‡né3‡´³Wv9'ìÏrÚåì3½¾²P]±žgéXª¹®kÝÝ·B/®óHP¯»I³<N4d=Cfç‰ãºiŠ“oÞô¿~ŸªÙ2ÆŽÑ–[W#¿ËÀ,×:ZÏà™þ
Š¦R÷a‰¶vì±ÐÆÚ©_e[êuþoÖƒ±M3,à˼óFOùa)ð‡ù,ÿD!k·ÁéFÉÑ +±'m¯qóñP«ç?µUÿ:1ø—êWÂUîoŠBH¸Ÿõ…–VG‡kfc¢i¾ ¦[„¾ë²*ó,)9?öª×dÃ÷Ás•Á»CLMý¾¬¸÷‰Ów£TTíoøKÑÇ•Ù}íæÐÁ‹%ªQ:–¾§6[µhÖ^z8³ÍȦÊõŽ¡ðüR–
Î9MEüj
"Gc¸Í +Õ“®“°Ô¯8O®C%M‚Ôd!ñ§ù3ÅY;ÉqÃw·ehÝfŠÌQ¯ÍÎõ¼rò}Š3Y놧ðyÝN¦ç +Ò9Ö÷ÝwOÎYÜš‹úNý—Ñ”Žß6fqYïý½2CÖr#Š¯ymëPlíw˜?@nø2鑆mÕ±'«÷…Xþ OõØ&šxïþ©®ø:Ãô;v•ÖÜ;2]ûmb’εäR¹ãä@¿ïM%†S‡öÐhŸ“µ¼Ç½ú¡7º\)¶‘Hu>*z/ÿ…ÈÒDÃÉîÉh¹½ÓÑWŽI±Wh„ÛRžòJ·ô¢ø×…/ÔÆŽ)Ô§¤Eü ³}¶¨=ºèšŸYfÖ”óVO;ˆ.°.Î&%NFºÆ%x^Û”Õ-†úЄr!gärtµ±rÜ
Õ§r=~-öX#Mì͹$¾µ +endobj +537 0 obj << +/Type /Font +/Subtype /Type1 +/Encoding 1163 0 R +/FirstChar 58 +/LastChar 62 +/Widths 1164 0 R +/BaseFont /JUPEJX+CMMI10 +/FontDescriptor 535 0 R +>> endobj +535 0 obj << +/Ascent 694 +/CapHeight 683 +/Descent -194 +/FontName /JUPEJX+CMMI10 +/ItalicAngle -14 +/StemV 72 +/XHeight 431 +/FontBBox [-32 -250 1048 750] +/Flags 4 +/CharSet (/period/comma/slash/greater) +/FontFile 536 0 R +>> endobj +1164 0 obj +[278 278 0 500 778 ] +endobj +1163 0 obj << +/Type /Encoding +/Differences [ 0 /.notdef 58/period/comma 60/.notdef 61/slash/greater 63/.notdef] +>> endobj +533 0 obj << +/Length1 829 +/Length2 1423 +/Length3 532 +/Length 2020 +/Filter /FlateDecode +>> +stream +xÚíR{8Tëfiʦhë›B"Ì`h¨ä2Óã2®CÒ\cÖ3Ó JlìŠ5)I¤´;vt‘.R»:mŽŠq(¡m5[{a×yNûÏsþ:ÏYk=ëù~ïïýÞï}Þßg‚óõ·ta#Lˆ‚p–+‚#p£Òx@°Âã]1&&n|ˆ!€®;C +æb¬g,yp#à0³…¼Ï-ÄO@M³Y›k +,†Ø¾°€
"œh‡¸ì¯M ÉÍZ°¦‘ý,æf:ÛóeÀ\A@"ï‹êy¶&ü«FÓáÃb†Gã% Dôý¼ +ÿê,2—…°an°!ÚŸÏHÄ ·ˆ ™ +fZs(áOtn|_`[æ¾ +?v¨©ÉY=¥–4=ŽL’N´xæï2îÛ=ºS3_P–´uM¨ +N½9f6´]Zt_/‰ 1q,ÐÀ%³’ç\ð)Y¸Iî’R‘€_j}ˆq]£Hõa.Òl»¾Þw¨[rÁÈ˳†å[ånîš›h%ëÛêÛ½Ÿ¦MU< |³óª‰N62ŸÕ»‰vú¬£Ë‰Ô´þ´qÆ]b¤¡‡¾sY Æ<sq2#03¿A^«Z©áMÖÀªŠDòË
æRãš–uÉINÓ•>#¤Îqaõ-m%Û–Hت‹9ÇÔŒGƒ‹¢•q”e,r¾¾ÇŒoŸëä*èQí°—`QZ
Ýnð;pk=+çÄ—ö’Œ(åŸúOô µ6˃Â×åÊk£µ5Ž¤«êyøý#L8ßæþ÷òÂÐu%æÕ«TK
Ž*&—Ç_|6qØ÷Òð±ñæWotñÈíÌßg€ÕjäA)C«*èϲ‚õ’õ0ß©&˜
¾œº–²4»>ã ›2yq_‹þ›a¥þýwXÙ¿*Ö/•‚Ò>®ORL#Åh©¥vØøÙüe;lB»ó,t;µrL[µŽ¾PR]µtï™[¿¾°}eâÔ³³™^£½Q•¹®N-¦µÑ.ôꔆç¶îðO&.…† +‰Ví»˜}ì7ºw?ƱJ”Âc)Ùo–\Èp¼5ð1¬={ãêåuvfážêXY;øv•ÕFüFñßöí«wE䜉’ò´”#:·J›* +#‚‘Fÿ^Ie–~;õ8Üu•w@ù¡#ð¥ÐM
gpnwƒìâ‹íaýþɦ§÷ž‡EŸ~ä<‘|ÈsþŽÏtë¥Óóbéö8§s; +L®KÍšVE+3öÿ,«¡¥ŒZ¿Q¯*\bœë1mJ2[*
œ?ï'Ò7}Â=k2¢¹Q~ÓIåü>§Ó“XQÝà5Ï’’œ'J:›vUsùê%?OÓngñ°›9s6œqç…¿mJÿ!ºaxW óÇ”²³9iÝÛsÿÉ¢ýXžs1I=øTÙžâ,³©[aýyÈ”þVE×Ý…é‡÷Ä¥¬iç¾H~¯móN>ºÂùVÇôQ—ŽðSGžÏÍÈË·‡†Äà[GqUóè_xKýöš¡&¶².¯-Ço„{B‚?¾þî”+O÷'y¿<,½y¦æ¨Æ1¸n˵¾vÏí¸®+´…—û†È=uË>º´Ð‰ø•ÖöLj\±QHÈâkc·»–
ŘPÃT¶OèÛ:ï¬kðÚ@g
¾\HÖúN=¢N„µ–
›?ÊÓp'è›ö†ŸŠa×îÒ`Jº†Ž£AP}DÚŽtcUù`lµ,‘<Ë%KDÝߘ.ý'K#ïf;Äz9oùóO :*¦»m5¶ìê£Ã, ‘Úõ‹•j*Éã]±ž7ìL‡÷êöÕdª«é9W,›|<å>fÄôZ1b~¿Ò¨ßk a +4jÉoZ‹ätÉ‚£kÏËy6èI×ñ©º«l÷¬ÞI•ù<¸ïÙ\óþb`iÒý¼)þ?|0ÿøŸ`q _€Ä1ø±˜? +endobj +534 0 obj << +/Type /Font +/Subtype /Type1 +/Encoding 1165 0 R +/FirstChar 40 +/LastChar 61 +/Widths 1166 0 R +/BaseFont /RVVEQT+CMR10 +/FontDescriptor 532 0 R +>> endobj +532 0 obj << +/Ascent 694 +/CapHeight 683 +/Descent -194 +/FontName /RVVEQT+CMR10 +/ItalicAngle 0 +/StemV 69 +/XHeight 431 +/FontBBox [-251 -250 1009 969] +/Flags 4 +/CharSet (/parenleft/parenright/plus/equal) +/FontFile 533 0 R +>> endobj +1166 0 obj +[389 389 0 778 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 778 ] +endobj +1165 0 obj << +/Type /Encoding +/Differences [ 0 /.notdef 40/parenleft/parenright 42/.notdef 43/plus 44/.notdef 61/equal 62/.notdef] +>> endobj +509 0 obj << +/Type /Font +/Subtype /Type1 +/BaseFont /Symbol +>> endobj +506 0 obj << +/Type /Font +/Subtype /Type1 +/Encoding 1161 0 R +/BaseFont /Helvetica-Bold +>> endobj +484 0 obj << +/Type /Font +/Subtype /Type1 +/Encoding 1161 0 R +/BaseFont /Times-Italic +>> endobj +385 0 obj << +/Length1 1640 +/Length2 16564 +/Length3 532 +/Length 17486 +/Filter /FlateDecode +>> +stream +xÚ¬¹cxåO·&œŽ“ŽÙéhǶձm;;¶mÛIǶíŽ:¶mÛÆäÿ<sæÌuÞy¿ÌœoU÷½ªvý®MB §HÃodc +4
ŒŒ +ÈßpØ×m—øª]:9$Ä?‰Ã¤^äLrW¬Û¤Þ!~·ñr'HÛ‹µìU¨a\ÍLDpó'LpLg®:‘;`r7âŒôÞLYL¦CÕá
܃^‘÷:„zÔXUQ¾ô dÏNÊw×¹4Cî‘ÐÓ†9U ¶Ø:¸k- +HšßJ2Cc’úæT
xÚ»§-ªO¥Œ²µíkÒÈÑž4…£7²æë7\õK
4^iÈŒŠžÊ»µ{_D8÷bÇ•ºB?0D¨i~¯L½£k(Vîh–šUzLê*lEl5ÅžÌ&öæH€%Ž%BÀ0˜Í Ñü<é;LsÝ°FI-?ös?vêÇ „šÍú^ÐQb–å[ò[©ü¥k'-»mzTcªŽæ,M&ˆª.´{YF˜Èåöã‰ÁˆÔ nA„Õª·f¡ÙÉyš%ô±ÿañª9bñ<€ +f:£Xo7(]ù嫤 ®iÀÝ|í”$ßüÙX{´ÆóÓ°Jô‡‡«·>²Ø’ÛeÃƨjºlÝU΢µÌ+NPJ=2³X¤!}5ü;<aÆ"w²mNÞ€^ò(ñ{ ? +bHwX¬aD 6&þ,0Å-<ÙM°ÕaЬžc+OÛõw\é•°ŽÔMÁ´#l0Y!‹‘mç Ž(Œf;³¯ã„>FÅ¥!èì,–DÊI»ÓÝz(I[lc]É;|׉¤'ëšza”Г 1J¡ÐðÕQº›TnÞ„XárÐ_àÞå‚@RÁÇ:hùßnçDdØæ7äô¿µT‡¥ +TŵÖêFûWŠ<Ä‹Á6„û¿£©T\®hÜJ:kšË¼ÀEeœ‰1æ$þ¶uØ“ay¶ +|š›Zy5ŠÿX†!?Æ#õA° Òñ
Õ~Ç7O Ïöd×n×eÎÏ‘àosU“éÓrPO"ަǮNqR”«<ëùºðË€‘ÜÌ“G’»å+åñ©‚r'Cs¤Ö[Ò•6üjÚAôˆ¶‚Š¡ÆŸ=Üß ¨Ý"»GZø?-¾ =Œ²L¬TèFÂ1ó´Œr ”7Ûé8)î«<ûÑñàÛ†žFµžXÚZ23¥x3ýí=1µðmíDá +Õô*³ÜhÁ½Gaý.ýk1èÌYD×?ÒäÇ÷%ÁÝ^ÊÑ$(tWìfú´d4«ŠÓe]0ãYz?®-Ä“î€)æV(ÑQölÏéŸ`‰s[÷WOóôŠ$u‚ ×y?Õ õ¦Ã„ïnÉ~‚ +«ýr‹MñêãèŒPdºªØöN—C±õ6“I7cÈ ±O®©”Œ‚QÒ|¬OK/ºÒãëR»Ïç˱`b§ +¢JÇ8ªWAr´÷˜ÊY€Èë),yf ¤ñõk1kñuù=] »5Ÿøü>{‡0¾:CXvÓƒÍèâ§^e-ÝÁñ¶R÷Ô»)at Üå9í©‚!þ,èGƒšÆh‘¼¨²¦“–ý®(5³ +Ó]òhcæê|/™÷´<Ö*·7%o‹K]bxÀŒ"¢l%ááŸÙÂMq/Ÿ2Ðoø;Ò{ÆUárãzÊP z–§Ä…~ä‘Åí!”Bry.6¥‘/Î.4 +Ά^8±Q½äÂÐt
Â`éåƒSþ>³,CCåS¹Ì„%r1ur¹2Ä‘ÖÇžê¢uvC%Y ßYCÌ/9¯á ¿/^,„·‘›ƒH›Ù«|l¾~ê}Éüð"A_±®zña%÷büõtm¸Æ"66¡¸0^[°·¡Ç°Úk)wŠ@ÓÞ§Iø’ + +áGSyÓ_K9\¯lŹi¬ºrXyäO)\s …Žýêg³SÏŽ‘/ÃÛ4Š#Ù¯=K<®[ŽàMr™b¨®´+Œ6s\»4vT,C8úbþ[7AVõÜ—XPõ•îbªÂ¶n!¤áÛtì.Î_`¤iÚÉà䇱<N*²ðP‹à÷ˆžWËä0w<÷G0ÍÏ’`…ÿó€Í#ù‰Ÿƒ~5Y/« +OرNÈ
ò?gp=]´ÊYrû,ñsˆù.àûX!8â"V_é‚ihµa1†%³+ƒ±ZEÞ’Áq"D˜zˆ±‚8„¸wÏá+W†å +_!Ç#©w&’pÔ9_^ò´VAupfHñû<—÷¦mÇ(ñÑàZx€ÝSÒª
I0á]eÿÀ{7NÀe$sGïä–á¯ùeS‹ÁTPq£¡³ÙÈkZòDnž¨›’Ú*]@Œ¢É2ÎýW?k›U#ùc9qòQ2~¾ÉlKË%>Ū:ìµØC¦o}-È'IÆ#ê=^. ëùœ3udöC³Û–ä͉‘ßÝE©ÝB*v0…àD}Á>Dëø7ýÞN¯HÂÓ9œˆH¸±û˃å=ÅÒ3¡ÛÌ·‡ƒ5°9¢ú>Ùïh„7ËË¿HÚOx“¦¾ÃXõX¤?ž(`@
ûºwFèRò// D‹E~¾M¦|7ÃôC‡
aóäEÛÚ +E÷ΦwxÍ»áFÔÂ6¬ÛÝÔ¼º¢Èð*sŒ5*»¢íV‹M¿+2s! .m@r2‹‡1ËÌá®ê÷É÷S‰e¸e»ª_œHnâ[¨¬vÇ¥U÷•3lËÈO"…!pZ.MN×·ü¦ +ʵY£a+i Sä3ÑoÍ, ›=vTÇ/U!÷EȵŠEÐ죡‰¿š'ïÍÁ|'5BeÚºkn+Ž³-ê`ö¯Äu•ðM‹¹!A+'»Z¤,R]ÁUÇ]˜‚w
ÎÜ—È–þhAìcÊyÛ¿»ni>ÿMº<sÚ-'–&÷¸N‡zªÐåèX£4<hª P~8qèE¸e‡2Œb$wÅJß·à3F%À#÷\Uùì5c–m“¹Ã<½ÞÃmöþ$Æ”-K7\Btª0Q(}IqƱsð^g<h±ôÖdéf¨•…çãQšßVr>×`G°¡Ñæ¬v^"ç4ÿ1PO”ÆêL}ñ‹úL¬÷·Ü'Žð^sh ³5û§7Ðñ·ù¹›³TÕÞÖ,…JøR +Ù2)Uº^É|„çU(q`'á·¬G{2ó*XI2„€ åݵ‘[øäÒA½í› +âß{kUŸÌb—Ñ1>A=ù¶ž7‚3ÕÃRß*Ás¼Ýgÿú‚ûêÐé¹d?šTS–ß<þÞ`¡Ci±¬v€Êé"„Æ'®HÚú•Ü>Û•G‹rÜå…ÈÎÒH¹ 棕èÌt«žmÙz̃†a:«*Ä\67/ØÊ?;RÐc}tó\<¿©öNã±òúž+ð—vç²—VÈ7\ˆ5BÛ(ô¶—ò‰ÁŽ©Lñh?ØÖ?æj y†É¿•KôÚ¨ +…§ºµwµX*C;~Ó‹ƒ?î÷µ ¸1jª‹-UX±å´Ô†*õsØ2Qæk #³9ŸEÓܰ唣¦Ê¯Ü<FÇcc´"QÒÖ‡|GT¥×¿^¯+lo0x~ÒœT3ß`|ä+7½†»«yÓ#¸6 +¼žW÷ãÄ„ Ev,–#ƒÏÆû(¨í°@º„iìfA0£^U¤lîп':Œ{goìü¨X¬¹$2ˆ¹™*ÝþzÛ·à.5¸DJç앵×ÌËè{!Â]áÉì ‚wÈ[³W<%’žz³ac•ÁíN´ +ÙQPꢤ¤ôÊ»Vc\:A«îÚÐs[,¾\<Yå«°fS/WK§ùç Nef¢‡àÅ·j„ægNaÐЉtPÝZ[ÄÒOÝûç:X=ÇÓƒ®æ
Þ]¼“p¬.«}Hr5U“P+þFeóè™dËëènRÞ@úÉì‹uejBöŽêðùFÞ:½?5ˆbò‹ðF™ó*F¤"¦H¦+h¸ÞÜi2tB^&,µ™–gÞ5?–Îç¦Û¢4È"Z-ùJú^L¹ŒÁÃÉ2N™dCn?N98ë3ׇO1¡ï&Ík¬´Úõa\v9ÞWƒýµù“àÒ§yYÿ¹!V¬”âáçEß+Ž¾s¡S£H6HóÈ55D3/ûlǤ F‘-Îq„ØãÞ4šÖ+ÆC ˆþÅwöõqï*?tÖÚáu›uFiõ }C³×6Šq®„b°žëš°o§h'0|´¦¡ð„Â}<qb!¤…Ð6 ²Š zÒˆoSsîèvŽ„”Ú÷w?FÝÅtdž
¢&B ÍBj<y'Ç+÷R“ßl°Ôî¨Ü*¹ThLŸíŸ`‹?1ôPýÈ´”LLvv~]2Ð¥rR¢á*»¶E„;³Gè,wýäÔãì+Ôùá—©x0‰Û +™ÿòÑ*¢Aö——¹dÝ7! …üŽÉ-…\þÙŽEñǰbdvqšfuØ 2y’uꮬE¸™8°âŸN¯ä©ŠtßVOSÚœd`3âES5ý†_à=9 FÜP
Äÿk… +\ñCÑл +ÔiÀùÑI¤3<ãÕhZa³Åð+âô¨Ðt…š¢VZû.š{/ÐR~I‹Ó>òì%¿N#¡^nÓ¨xÑ/(¢¡Ó‹åµ…ätðÛx¢xùÏwÂ-Ý_ÑîÓ‰2-¼`˜ãŒóŒÐàõËmêÂã<ÒÅÙŒxeÔñIDt)çŸF„‰˜¤ˆgxÉ,Hp©¶Þßovèåü?`Ú
éç¤XHÀ(æÛòѳ_éÕ8oêA‰;Œž#kâšåß‘‚è0éá›tÿ΂ë1iÃÁ\c eÂ\3(,ÂG:ãp„º¢7å†s\ðœî.ÿÕ
ááÙ*'WPlÙ–'ò¨Ú‰ozS¶ÅAðªL¬NÃB|õòè“n6ìé >,sØÅPMîÇ¡æ„ÕXÙØÃTY&îBú~`nnj0ŠO¥Ö âf‡ò[ÖÔk¼Æûþˆxtë¨ä»šÍ=—mL«Ÿ +‚Sa2±ßñÉ-†©‹z¥^c§4·‡„÷SÛ9ÍßX±9K¨CáúFÐ5Å;ʵµt#µg¡I喻ѧLüŽ$”¹Š]§\1¿ƒîÍûµo-›cüBÛÇW0pyAv‚ïĹVÊ~ÛlÕ£ËoµÈ\ùslèt‚CJÇ#/0»çúü&1 ¹£fÇ44!cåÇáÛL6ÃwÕPHàD…—Íñ‹ +\¡a×Z™AÀ¿é÷|?€®½W;W|v8ù…;·‹µ&®xêJMR—”×^;Žl‰!
ç»°¤ÀäÔðÑüÌLáó(6!‰1[ôØûì<‘u©›·:«¶B¡.w¶Ð«Áæ}oÃÍA˜G•Â`®yÓxðÏÂ'èïŠYœ×úº;aÀ-Ô Kô¹hãäûX¡ºÓ©Ä„똷ôõ€pÄÂ|æjZ*ƒ [âE1¤ààE‰Áò&}OìmëØÑKB12y‹}ÂAl¯ÀÙ<PÖOÖ÷ìöU3¼Ú¦Œ¾Ãkó˜èÒtc:’àtxªx€Æï³›cy±‚: +4ÆA34«D $^¦sʬ¬=íTÂÚÝø»‡MËÌ›Œy
»‹gq\`‰‡fû¶^À¢!†7û„X5àg|)sN¿¾Ü+8Æ=׀΃Y¾¤ÿÜ[ç +h¡ÎªŸ|éi¼ô²†Ê¨w}Ê(àW½$¸$¯ýz YÖ"twÎHßNþÚÍM‡þ>úiÜà'&ãñÚ_§óDªØAÇâ+snÖ‚ÁøiÓ5ýš-¸¸#ÕüŸoⱓÍLÕµuêŵ™Ý©°K¤QÏ[Ïäq Õ#fNñª +@®t–L{/1Î$dÛ>bù¹Ú ¼ñIÐýŒ ç€n +iÒr+üþ÷lO±NMÜ
O;CK¯x$1w/͹ì@C£ˆí¥ö²u³ü-ã_Ÿ¬±‡¥Ô9¿Á_¢‘ˆ‚Ã¥ïgRCaL˜åþLHÝ|8›Á¶Y¤f$qÞfh‡e®”•šÉÊ…î_”5'Ø«ií¯%Š¸P¶”ÛEÕÆ¿5f8ävò÷/&þ +ÿÔ¸}ÌTЋ͞Í߬Òê0¾ßp%¢
mš`ž®EMuZÌJãä†þÕ³x! +éx¬ßÓäaæL‰Ó$.¦Oe§Ü½U¯ðŽªÂÕ^§Ñ¼§hTmlQ÷/º?À€ëE½†ÚND/©™DÛ‹(ÚJ.1žIøy]wc?“±Þx;ÿ㣳H!ĉ[›AØ +-[vƒµõ½œ²©ri!î8ßôaSQc²u¬Âq^vÑÝ”T\À¦Säµy™~šrñ|‰ý£ÀÂ,¾¡PÈçÌ^?sG¡iøؼ(£•:™È´—µþõ»nÈëÏECºë옛3~&“8 +6Sò)×ÃǘM%0ÑXX”ã3nÃùI„+9è—<îLMéÂV´-!E‘YM!¥m¼3ÌKð +#áE§ïG“ôû« +¨À””à [ï×U¿ÂÉÝ{«52V‡Âi¬¼´vfi8¯“›ò]ð¢QMQÎöàâÚõµº_‰èñïHžM?i/î$˜ïù¤|ܲ{©–°<·kʦÁ g eÆQ2„¤¢_õÁ5+“Éá +, gJ´ÌߎÊVŒ5»W¨ˆž“¶"oŸ[ýèM$X•½œ«ŒæòUè}’´Å¹Eb±L@.ú]ñõô”ÂzLòp·ŽÍWwS4™»šø„€¥)Òq×'¯Œ=bºM!Æ’oÚåèLþì1"øÞc²Ç¼P]Më¹ôó,n «æ¼”öæBÆÃa]'¨ÃfÙTbîcõD¨´
¹ÙŠ@DcIõâ¢MwØ2 +¸_*W©¶/2‘‚{Íåðwsü)*gmÁ&-V–8ñ˜C‚FtsY¤ö}65ª¥”#hlõå*™3¡ÃÌ–]1ƹ¢2„v¬MÚ|–αÅðȸ/ÞIyv$é™ßà¨F›zH= +·Ÿ}&çß%k:99ÖQm[4„ tò—†u³SÒ.åWÃÊ£V&üò3F”Œ¸:¶A6«‚uòß„,-d¯Œù—¤MSgêšèžÂnX¨*f- prÙ=OìÚ~7ñŠ:Œ>ÿy“p½–Föíx2æ8:¤¡èåM:È#ƒg¼e£·™ì
€ÖœkLQ"`°š:*¯V¨q„0*¦ˆbõåszûw,F©·U3g…ÂN°WÉ—Øqòüð§ý«jÍhbWǶÿâò÷g‹†ÿc¸i¸Çñ3£mȶŸ2ß#Hzõ©5á¹-#÷ }ÐuZ‚:y”=܇ÅsèÔzwúÄ—7®96\{p( àÅDΨµ¸„à°‘Öì@2\¥ÿ3Ó` “>ý«aríÛ¸çÖ:ÀÀ[]SúúõÕ_‰-S'7§–Ùgô Ó¸Ý+_²æ¯ÒSá¿´:UL¢C$ÁSÑ©ýÀÉÀ +ÿ$ut—.\O +å:-^Ñno.jiÔbê~Ñ»¥7QÿåÇ¥öŽõoߣèU¯ßAVP>ÊRqQì‘ +Lz WÌ„1>‘oÁ©ð@ŠÁ»:cyñdž`Ýr¯ÚG+_ö‹«B'‚»vßeTl?=;2Q2!¸d÷ÅvóxÍ©Ð4›ª9´ [äï8ß +‘ß©i'õJæÅ^è?•qõ_` +¥ð©êó%F
¤’‰AeXTl4ªh–S=e^ó)mþºn™ØäÔcexFÁR…á"|ž„l]Œ².ÖÍ«HMƒ¼½¤¥¡XDÍ5¤ÿ6Pà95ªH p˜ÿêÝ„äWtÈžæåï{|¸…—^ìÛÜDœBg—ñÏïæœB·PžÁ:Öcßþ»’[BÀ‹§pW½“‰Ænmë7[£„õdÓ4Yn<š·,/½ýaÐÿþG IŠ•°˜\ÞÓ³{é’Ó„*ñ©íÈd—6³u¦œ²£}Ùé¤' §[ᆴ#ëýp€â‡ËÌ$2¿R¼dâé“ÌäæTà<ˆXM¸WÿQý}”3ópnŸøÂ@eåer•p™HØ‘°Ž• +ýcÖë}V]|žÅÕꔺDiÁjÔi%á. ¶™aÔ²UtÙ]:·½ùÇêÀ‰o•žáúwáSŸyLÇ™YêCÜ4î·_ÄEA•l„ŸáPÞŸaãnv3¦½mP¸o— \ÇW34Í~.ëiàÑ÷®âÌíñt§¿Æã)F®©ÑL#×ðq]ë´‡0×-«hqaë㊠+…#ÒMÃéõ˜¦”¢jd$V;&jdŸ>mðµ
N +˜ŽžL‚Ð~Òrs¨;X9¯ì+%J¡ ‡;ÿž :í[^ë `g¬b‰ˆËâˆ*~”}'m¶z‚σçvôŒFÒSô YÑ~‹ +¼SáŸÒ‰åu£OÁ¢“óC1ŒY-g€<J„¹Üþdpú*s%‘Œ²ºÍîÕÑ®0¥iÞ@3® +ìï&Äø`újvKdWDw]Ö¦Nߟ@JâÉË>»\87òBÄéôMQŠ¯ýj—ÞF˜oŸÈX˜KZ:w„u®ø|a„²—÷ï™›&óZ|½:l!Šuàòq\§0‘ÒŒ9úyjÎÐÊŠ$ ¼¡y Z»€œ¾K“02ÛyKØJ‡”p`"š†f¿=8K¨î¾*–§nrºŸó›®0P£ÞÁdzÏ.ç~KÇÉxDû\\3ÓÁ}š¼îñÁ‰+2—ñxœÑýÏäC4Ç5‰a½šfW™¦-ëH]}¹L¡f<›*ôò²"©7XZø Ð𣱛²îGx¨Ãè gÂtÈ^^œv5O€[ûŲN‹éãŽ] +u‡ùÙg¹ìG>xzóÕ¤t:#ŒÃ+ÛFRë¦Ëx¬Ë½a³™&¹Æii›þª|`5Tì +4œ±¼¢Ë”a8º(IM\™ˆ@MRU¼ÍàˆsLþÕû¦ÄÜ5>“0ˆÒÉQ;fQªúÒ¤ÛR}Ús“b“U¶ì”é0£‘0»ÈY3-„¢4W&¾Í¨¬†Ç,°µ7¦âG=ª¡|wǹ +EüÏÚ\wF'ºÇb¥£8zP<¬œÚgðÙÈLÏ‹£4G9ÃâK+¢3멇^åÔ'4¯Æ×€Ôq<)ú ¢!~§l‚zeZ?„påag™Hóï!BX𖋉lèµ\\ WVã*¸P8¬ÆÉ3¿w²ã|Í–6í2Œõ¦Vüæ%‹Îq†T¡‰(®[³Py¯lÈcž®‹¶;K¸Ÿžæ@žbk$5ðè
Wô³V"Ò5Ù÷Å0Bª’È ñ×vy ý´¨žçpI½I óþÂÄ ¿í&קûU]{mŒšƒ£ƒ¨Õ?é í· äÛÄ}‚¸»h7«´NBµoüÉ^Û}uƒ–:(z¯Ú6Ÿßвýc“H¹¹~˜Ò΢<÷×”Šß6È*%¨/ɱò¹¨[sW<i!‡’À²~gë/ÄnÁÀHÚ&SÓ©ŽãÝͮϺêòr‰Ï4Þ[#ŠÕÓï³;î Tþ3U¸q¡ÒNñÂÚUŽ%· ü%ú'ˆÛø¬½ÖQFñ hö)²3^z|Ÿ¿¹‡•QŽU9ˆsêÂÜ;¬âQß’TmNO}šÕ +[Á!¸ÿ`/¢•Ø8™ÕÂà[TèßeR\z'ÑoÊòT^n +Õ…ö_#ÛI¾ fŽf=h(O‘1Ücxk‘²'õjä¾ñÆ̓¢€ë3Êc‰5Q!ª¶XùYÍ\ƒ‹šÖéYf~l&²(ôÊÎ’sz- +ZW˜XŠb×E,9†‡SÔ €»ðZ¦Á|Ó¤
²,ZCx¾Öd°›œÜý
Wt˜6Æ®®¸„ÜÏ2çŠ3"œü0cæÿI#ëã·Nà7.OÁI;í~ܻ󢽷ª`ª§SÌ„,Ô4õ@Âl+ZE´RrTU¡»‘Ÿã×#ï@öÓTè¼=D™&:E‹¿òç[ØB hÔž¥„{ßOÿíÚOÏÚW¡ng‚=Rób‹iqœXdf͈ÓãN~¤ZowïZ]OAŒÆ m~[muRrbkÖãÙN³D3!´|q›µ8œ_É
*UÞk‰z¶Sv‰à×Ûawc„A¨@'QŸnýz5ÃïöÅtž¶>öàOtÂãhE·ÈsÇë…ÍçJ§
™D
É󃡄ma•é1{X/½‚Š8‡tŒ¡r‡á5aÙ\yÚ&Š(ÔÖ÷¸œkèìïŽÉÝJæcB¢Ó…VüZ£¾¨ˆ†3ÈQoýW)ü='z<ÄF±„Ò•?£Ku2¬yˆ~õg±ç]<Õ¨%{ž/¦Ê"W’°Bã=Þ—wž#ÑEF¹ŠÕÀ +òÉy'ðÛ7xOLçe/Þ°Ñï^¢Ü¢Q}ôì'`ÁÄØK²b2wv[•×¤qÑÝ{ñGŸ{) ÔT³Œ|gu0fÆ>ö”ô|ø•F_ì†ç=Æ©EbÇ +é®XEP×B#xg åj§ƒ†¤>ßþðû•ØÀ6×¼s"º*-ÃEsÛdBЫRùûú´>wüvÕm2ΉOxÖžÔÆc àk1~¼Ü†Ï²QtÚ¡>úAÔ’“ÈVݬÖ{&¾i²àV/Ö&OTin«ï~ƒjÞ.§ÄÜJ7µ:1ZF^Zc#ªeéWÃƶfðH®'Øag™|ƒö!žÍw?Nð3\2Ô…¼Jà–Û2|ÒÑÒ:ó!Úo§Ë.˜*)Ñf†Ú[I8ù eR‡þÜ)W€> Âw™öxs²øje>·"ÌMì®UÿÜçþÔØí›Mó‚ûñ²líß“.±ðŠö›ã,´wr—/#D°W +Í%õIâ>w:=w ¶Ê%Å5íšSâ¢.ha¾üµ;^¶ãakR¾VC—aÎ+Ÿ¾7,Š¬:Œèø ‰ë‹þÞkïÔ›EÑväàÛFÚì!óxsr:• +ŸÑ¸33Ƭì˜mgN¹_ß2už:w\%ì×çB_¨³Ð +æaŠZe8Ó0à€úq‹a.E'æå2);E J…´ =pú"»)x?5X‡W86iUBŸCˆøØ-(\Hø\XúJ*²¦F±¶Ÿ¨+hXƒP+ãèEï2^÷ÉÈ:Í:pž‡ÄïÌz`°úDöLOŒì3ðýñ•h¶ú,9z„÷ÄÉð]â9Kj7$Çÿ]€û.vï¦XfŽ^}dàìÔ߸S–V`Rgã÷g0WàÚ +¢Ä +2v9Ø°D8s¯O(œØ/Ÿ¼Pg¿‘ÍÜ!,UÂÆÙŸ°Yë—¥'„6Ç•ý=I©Ù‘´†-5]ÀùdM¡Á1ðÇâýË}R6H”Y܈ÃT3Ö!WÌ´TÂ8h-½õ,„Óíßú®á^™öD©†™<VPz.B_ÀƒÇ|*õaˆ¹´è0VNdTC󩜹<ôL(â눢 +ÿþ"ßxÆ…î“iÓj¬eÑækÛ(Í3Ìm¡?°ï4i±´”¨ÉÜ÷Ûc¥iÒï0}ZÔuðªFÔÒR˜Ë2\8nϦI"ÜÆÑ·ÒÃÁn9º&ð1>mÜÏá·ÕÒ—?_)E¼‰‚“•F…ªWÞéz£aC+%|fšŽô8³NOy1¦F3ˆa;pcØ’™/(˜4RÌÓŒPÏì²};±D (é½½Þ@²¯":FU÷ÿà*ð–쬴^•p™KÛÖ+ËVÛM€ë”dÄ ™Î2`ÜÒ9aè¡oöÆ)^æwñ鶬èidøø/}*òÁÔôV’ZiÊz®¡â´šc4ö;êEçLKßË`‘¶¢óó[kòûïƒçy:¬h³~¿%£H¤¤…9Ù
A—Ü›¨ë“”žéYWýtó.Q$3oYm®±Í,™ ™çóžg +ÛPhJübNõãwé‚“„9°¯Ë?¼”k¨µ=ÅhP‚Yâèú”üwZôm“ŽP15· +{ÑÏÀ
‡nÝC»• ùR}yÒÏ]
*S˜|`žVÉ*ßðaÍJòÈõÂmÞi +2ßòžØªœ{+ëM[Ä·¸¢SÏ”òW=T1nYÅijÏ¥Ït2Â+,'de™\Ç£±«”>OØð§âQô×Úz×ÂMäY®t×-Ó8*«ÛÏ´mÇ*6µ>߷γ>Êq˜þˆßvµþ„õDé*ÙÓõß8_üUp⎩oä~ݹmzî}Íܺdiß±’Ì»§=g1ÙÍ+bsz߬×Ya)ŸLä9+)K&ÚÈn¸eŸÐÏÊ”ºCbJîOÇHŸEÔ&<r8ý«4 à`ÍÍó÷J²–©\þsþþáÀr§•KìŠßüxÛ©õ³ÂißRÏÉß’Eä,3U—ÝZ»m³üm‘™=§ +_›s4H²RÊ©O7œ`SÁç6mϳۆ¯¯¬øê|QaCOUñÚ‹Û^§—NxrñjØ"yæŽ)ÑoK˜ÿRWH¹}¡_äø÷§7C'éÛ}À¦çýÃÚîeN=;§jM¼´—øh>çõå×þ—Û¯4_äqmgÞ¢9ÕŽU뵪'0—ö-±5[Ðn4Sišwm|G£Ã±œI9I"ö;ÊBß´ÅX‹IŽ/´ßþJ)Î[sy˜©ÉË)O–"¾Ô¢O–Õ)<.ÿ¼ßkòƒÔžGþµ_„lÚãj¼ªïì–ß[P2_„ss:Ï©¿¹-›>±Zêf¬Í»ÅyšažÝ4§Ÿ¹¬7Êþä{#µÉØAs‹…€kÔ€aa@rNjbQI~nbQ6 +endobj +386 0 obj << +/Type /Font +/Subtype /Type1 +/Encoding 1161 0 R +/FirstChar 35 +/LastChar 125 +/Widths 1167 0 R +/BaseFont /TIJINK+NimbusMonL-Regu-Extend_850 +/FontDescriptor 384 0 R +>> endobj +384 0 obj << +/Ascent 625 +/CapHeight 557 +/Descent -150 +/FontName /TIJINK+NimbusMonL-Regu-Extend_850 +/ItalicAngle 0 +/StemV 41 +/XHeight 0 +/FontBBox [-12 -237 650 811] +/Flags 4 +/CharSet (/numbersign/percent/quoteright/parenleft/parenright/asterisk/plus/comma/hyphen/period/slash/zero/one/two/three/four/five/six/seven/eight/nine/colon/semicolon/less/equal/greater/at/A/B/C/D/E/F/G/M/N/O/P/R/S/T/X/bracketleft/backslash/bracketright/underscore/a/b/c/d/e/f/g/h/i/j/k/l/m/n/o/p/q/r/s/t/u/v/w/x/y/z/braceleft/braceright) +/FontFile 385 0 R +>> endobj +1167 0 obj +[510 0 510 0 510 510 510 510 510 510 510 510 510 510 510 510 510 510 510 510 510 510 510 510 510 510 510 510 0 510 510 510 510 510 510 510 510 0 0 0 0 0 510 510 510 510 0 510 510 510 0 0 0 510 0 0 510 510 510 0 510 0 510 510 510 510 510 510 510 510 510 510 510 510 510 510 510 510 510 510 510 510 510 510 510 510 510 510 510 0 510 ] +endobj +383 0 obj << +/Type /Font +/Subtype /Type1 +/Encoding 1161 0 R +/BaseFont /Helvetica +>> endobj +373 0 obj << +/Type /Font +/Subtype /Type1 +/Encoding 1161 0 R +/BaseFont /Times-Bold +>> endobj +370 0 obj << +/Length1 916 +/Length2 1345 +/Length3 532 +/Length 1991 +/Filter /FlateDecode +>> +stream +xÚíRkXgE[¹DPD1" A)IŒH5Q@ ‚‚xk‡™I2’Lb2DäV¬`$,EJUÄpQ«k¥Ü* "wÜ䢱‚+bA,V"7q¬µkîþÚ§3æ}ÏùÞïÌ9¯
7؉ˆÃQo1N84püƒÃ@ +=@LÞ…’Jþ¢>î- + Ñäø)—þ‚C"L¨ü!Iä*üÅ*Å?¤†¢oÅù£&}ˆúƒÙ8_ˆNà +Ã…ùÀdÞ˜E¸ +`ƒÆ`€$‘|ß}íúà²õ8,F0œ83WT +))䑈GP€*HÅt.&È# +„(=èGd衆œñ⦨+ý)~^Çyú£ãoö ¾7_Þßîüðö€æ¢ßÂ.Î#ª¾:¹y(Ð +4m þ®m«.çµÂ#ÖëLÑØÖ†ÇÐ%sÏç'·m|yÁСÉ( ϶èRÎö:£ aKþ +Ô +ºÎcßo…럆òV6Xžß© Êì¥Ç-:Ó¤µ2ƒ@×
ãfTV¸$Aí«óW6a÷ë&Š}§Ã÷_D¯7í¶¿òTšÒjÊó8ÞE‹3?Å›víik/Lú(®éŠšá?ßz•F±¯)[pÃlwÕ£4Â%(žçeÒ‘þ}æIq^QCNk¬íØ‚ÂN7¯úú +ëÔÀnç4ÃFc;Ûu.?SiK×'ž³ÏÙ¢µívŒ6)»ûlÝÍ«?µ‡.mð3üMø’õ«Åˆ3áµßrϱ'6«ÐKÙ çx+uá>™Cxv‡6K½|Ö‰Á “¾†YÏøîý!nüÆùPþð1 +endobj +371 0 obj << +/Type /Font +/Subtype /Type1 +/Encoding 1168 0 R +/FirstChar 0 +/LastChar 105 +/Widths 1169 0 R +/BaseFont /DYYPTQ+CMSY10 +/FontDescriptor 369 0 R +>> endobj +369 0 obj << +/Ascent 750 +/CapHeight 683 +/Descent -194 +/FontName /DYYPTQ+CMSY10 +/ItalicAngle -14 +/StemV 85 +/XHeight 431 +/FontBBox [-29 -960 1116 775] +/Flags 4 +/CharSet (/minus/periodcentered/multiply/asteriskmath/bullet/angbracketleft/angbracketright) +/FontFile 370 0 R +>> endobj +1169 0 obj +[778 278 778 500 0 0 0 0 0 0 0 0 0 0 0 500 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 389 389 ] +endobj +1168 0 obj << +/Type /Encoding +/Differences [ 0 /minus/periodcentered/multiply/asteriskmath 4/.notdef 15/bullet 16/.notdef 104/angbracketleft/angbracketright 106/.notdef] +>> endobj +368 0 obj << +/Type /Font +/Subtype /Type1 +/Encoding 1161 0 R +/BaseFont /Times-Roman +>> endobj +410 0 obj << +/Type /Pages +/Count 6 +/Parent 1170 0 R +/Kids [362 0 R 412 0 R 459 0 R 479 0 R 487 0 R 496 0 R] +>> endobj +511 0 obj << +/Type /Pages +/Count 6 +/Parent 1170 0 R +/Kids [502 0 R 513 0 R 519 0 R 524 0 R 529 0 R 539 0 R] +>> endobj +547 0 obj << +/Type /Pages +/Count 6 +/Parent 1170 0 R +/Kids [543 0 R 549 0 R 555 0 R 565 0 R 572 0 R 579 0 R] +>> endobj +587 0 obj << +/Type /Pages +/Count 6 +/Parent 1170 0 R +/Kids [583 0 R 589 0 R 593 0 R 600 0 R 605 0 R 609 0 R] +>> endobj +622 0 obj << +/Type /Pages +/Count 6 +/Parent 1170 0 R +/Kids [616 0 R 624 0 R 629 0 R 634 0 R 640 0 R 650 0 R] +>> endobj +660 0 obj << +/Type /Pages +/Count 6 +/Parent 1170 0 R +/Kids [654 0 R 662 0 R 667 0 R 672 0 R 677 0 R 681 0 R] +>> endobj +689 0 obj << +/Type /Pages +/Count 6 +/Parent 1171 0 R +/Kids [686 0 R 691 0 R 695 0 R 700 0 R 707 0 R 712 0 R] +>> endobj +719 0 obj << +/Type /Pages +/Count 6 +/Parent 1171 0 R +/Kids [716 0 R 721 0 R 725 0 R 729 0 R 733 0 R 737 0 R] +>> endobj +744 0 obj << +/Type /Pages +/Count 6 +/Parent 1171 0 R +/Kids [741 0 R 746 0 R 752 0 R 756 0 R 760 0 R 766 0 R] +>> endobj +777 0 obj << +/Type /Pages +/Count 6 +/Parent 1171 0 R +/Kids [771 0 R 779 0 R 783 0 R 787 0 R 791 0 R 795 0 R] +>> endobj +802 0 obj << +/Type /Pages +/Count 6 +/Parent 1171 0 R +/Kids [799 0 R 804 0 R 810 0 R 814 0 R 818 0 R 908 0 R] +>> endobj +1091 0 obj << +/Type /Pages +/Count 6 +/Parent 1171 0 R +/Kids [999 0 R 1093 0 R 1144 0 R 1148 0 R 1152 0 R 1156 0 R] +>> endobj +1170 0 obj << +/Type /Pages +/Count 36 +/Parent 1172 0 R +/Kids [410 0 R 511 0 R 547 0 R 587 0 R 622 0 R 660 0 R] +>> endobj +1171 0 obj << +/Type /Pages +/Count 36 +/Parent 1172 0 R +/Kids [689 0 R 719 0 R 744 0 R 777 0 R 802 0 R 1091 0 R] +>> endobj +1172 0 obj << +/Type /Pages +/Count 72 +/Kids [1170 0 R 1171 0 R] +>> endobj +1173 0 obj << +/Type /Outlines +/First 7 0 R +/Last 247 0 R +/Count 4 +>> endobj +359 0 obj << +/Title 360 0 R +/A 357 0 R +/Parent 303 0 R +/Prev 355 0 R +>> endobj +355 0 obj << +/Title 356 0 R +/A 353 0 R +/Parent 303 0 R +/Prev 351 0 R +/Next 359 0 R +>> endobj +351 0 obj << +/Title 352 0 R +/A 349 0 R +/Parent 303 0 R +/Prev 347 0 R +/Next 355 0 R +>> endobj +347 0 obj << +/Title 348 0 R +/A 345 0 R +/Parent 303 0 R +/Prev 343 0 R +/Next 351 0 R +>> endobj +343 0 obj << +/Title 344 0 R +/A 341 0 R +/Parent 303 0 R +/Prev 339 0 R +/Next 347 0 R +>> endobj +339 0 obj << +/Title 340 0 R +/A 337 0 R +/Parent 303 0 R +/Prev 335 0 R +/Next 343 0 R +>> endobj +335 0 obj << +/Title 336 0 R +/A 333 0 R +/Parent 303 0 R +/Prev 331 0 R +/Next 339 0 R +>> endobj +331 0 obj << +/Title 332 0 R +/A 329 0 R +/Parent 303 0 R +/Prev 327 0 R +/Next 335 0 R +>> endobj +327 0 obj << +/Title 328 0 R +/A 325 0 R +/Parent 303 0 R +/Prev 323 0 R +/Next 331 0 R +>> endobj +323 0 obj << +/Title 324 0 R +/A 321 0 R +/Parent 303 0 R +/Prev 319 0 R +/Next 327 0 R +>> endobj +319 0 obj << +/Title 320 0 R +/A 317 0 R +/Parent 303 0 R +/Prev 315 0 R +/Next 323 0 R +>> endobj +315 0 obj << +/Title 316 0 R +/A 313 0 R +/Parent 303 0 R +/Prev 311 0 R +/Next 319 0 R +>> endobj +311 0 obj << +/Title 312 0 R +/A 309 0 R +/Parent 303 0 R +/Prev 307 0 R +/Next 315 0 R +>> endobj +307 0 obj << +/Title 308 0 R +/A 305 0 R +/Parent 303 0 R +/Next 311 0 R +>> endobj +303 0 obj << +/Title 304 0 R +/A 301 0 R +/Parent 247 0 R +/Prev 299 0 R +/First 307 0 R +/Last 359 0 R +/Count -14 +>> endobj +299 0 obj << +/Title 300 0 R +/A 297 0 R +/Parent 247 0 R +/Prev 287 0 R +/Next 303 0 R +>> endobj +295 0 obj << +/Title 296 0 R +/A 293 0 R +/Parent 287 0 R +/Prev 291 0 R +>> endobj +291 0 obj << +/Title 292 0 R +/A 289 0 R +/Parent 287 0 R +/Next 295 0 R +>> endobj +287 0 obj << +/Title 288 0 R +/A 285 0 R +/Parent 247 0 R +/Prev 271 0 R +/Next 299 0 R +/First 291 0 R +/Last 295 0 R +/Count -2 +>> endobj +283 0 obj << +/Title 284 0 R +/A 281 0 R +/Parent 271 0 R +/Prev 279 0 R +>> endobj +279 0 obj << +/Title 280 0 R +/A 277 0 R +/Parent 271 0 R +/Prev 275 0 R +/Next 283 0 R +>> endobj +275 0 obj << +/Title 276 0 R +/A 273 0 R +/Parent 271 0 R +/Next 279 0 R +>> endobj +271 0 obj << +/Title 272 0 R +/A 269 0 R +/Parent 247 0 R +/Prev 267 0 R +/Next 287 0 R +/First 275 0 R +/Last 283 0 R +/Count -3 +>> endobj +267 0 obj << +/Title 268 0 R +/A 265 0 R +/Parent 247 0 R +/Prev 263 0 R +/Next 271 0 R +>> endobj +263 0 obj << +/Title 264 0 R +/A 261 0 R +/Parent 247 0 R +/Prev 259 0 R +/Next 267 0 R +>> endobj +259 0 obj << +/Title 260 0 R +/A 257 0 R +/Parent 247 0 R +/Prev 255 0 R +/Next 263 0 R +>> endobj +255 0 obj << +/Title 256 0 R +/A 253 0 R +/Parent 247 0 R +/Prev 251 0 R +/Next 259 0 R +>> endobj +251 0 obj << +/Title 252 0 R +/A 249 0 R +/Parent 247 0 R +/Next 255 0 R +>> endobj +247 0 obj << +/Title 248 0 R +/A 245 0 R +/Parent 1173 0 R +/Prev 71 0 R +/First 251 0 R +/Last 303 0 R +/Count -9 +>> endobj +243 0 obj << +/Title 244 0 R +/A 241 0 R +/Parent 235 0 R +/Prev 239 0 R +>> endobj +239 0 obj << +/Title 240 0 R +/A 237 0 R +/Parent 235 0 R +/Next 243 0 R +>> endobj +235 0 obj << +/Title 236 0 R +/A 233 0 R +/Parent 71 0 R +/Prev 231 0 R +/First 239 0 R +/Last 243 0 R +/Count -2 +>> endobj +231 0 obj << +/Title 232 0 R +/A 229 0 R +/Parent 71 0 R +/Prev 219 0 R +/Next 235 0 R +>> endobj +227 0 obj << +/Title 228 0 R +/A 225 0 R +/Parent 219 0 R +/Prev 223 0 R +>> endobj +223 0 obj << +/Title 224 0 R +/A 221 0 R +/Parent 219 0 R +/Next 227 0 R +>> endobj +219 0 obj << +/Title 220 0 R +/A 217 0 R +/Parent 71 0 R +/Prev 215 0 R +/Next 231 0 R +/First 223 0 R +/Last 227 0 R +/Count -2 +>> endobj +215 0 obj << +/Title 216 0 R +/A 213 0 R +/Parent 71 0 R +/Prev 211 0 R +/Next 219 0 R +>> endobj +211 0 obj << +/Title 212 0 R +/A 209 0 R +/Parent 71 0 R +/Prev 199 0 R +/Next 215 0 R +>> endobj +207 0 obj << +/Title 208 0 R +/A 205 0 R +/Parent 199 0 R +/Prev 203 0 R +>> endobj +203 0 obj << +/Title 204 0 R +/A 201 0 R +/Parent 199 0 R +/Next 207 0 R +>> endobj +199 0 obj << +/Title 200 0 R +/A 197 0 R +/Parent 71 0 R +/Prev 183 0 R +/Next 211 0 R +/First 203 0 R +/Last 207 0 R +/Count -2 +>> endobj +195 0 obj << +/Title 196 0 R +/A 193 0 R +/Parent 183 0 R +/Prev 191 0 R +>> endobj +191 0 obj << +/Title 192 0 R +/A 189 0 R +/Parent 183 0 R +/Prev 187 0 R +/Next 195 0 R +>> endobj +187 0 obj << +/Title 188 0 R +/A 185 0 R +/Parent 183 0 R +/Next 191 0 R +>> endobj +183 0 obj << +/Title 184 0 R +/A 181 0 R +/Parent 71 0 R +/Prev 163 0 R +/Next 199 0 R +/First 187 0 R +/Last 195 0 R +/Count -3 +>> endobj +179 0 obj << +/Title 180 0 R +/A 177 0 R +/Parent 163 0 R +/Prev 175 0 R +>> endobj +175 0 obj << +/Title 176 0 R +/A 173 0 R +/Parent 163 0 R +/Prev 171 0 R +/Next 179 0 R +>> endobj +171 0 obj << +/Title 172 0 R +/A 169 0 R +/Parent 163 0 R +/Prev 167 0 R +/Next 175 0 R +>> endobj +167 0 obj << +/Title 168 0 R +/A 165 0 R +/Parent 163 0 R +/Next 171 0 R +>> endobj +163 0 obj << +/Title 164 0 R +/A 161 0 R +/Parent 71 0 R +/Prev 147 0 R +/Next 183 0 R +/First 167 0 R +/Last 179 0 R +/Count -4 +>> endobj +159 0 obj << +/Title 160 0 R +/A 157 0 R +/Parent 147 0 R +/Prev 155 0 R +>> endobj +155 0 obj << +/Title 156 0 R +/A 153 0 R +/Parent 147 0 R +/Prev 151 0 R +/Next 159 0 R +>> endobj +151 0 obj << +/Title 152 0 R +/A 149 0 R +/Parent 147 0 R +/Next 155 0 R +>> endobj +147 0 obj << +/Title 148 0 R +/A 145 0 R +/Parent 71 0 R +/Prev 123 0 R +/Next 163 0 R +/First 151 0 R +/Last 159 0 R +/Count -3 +>> endobj +143 0 obj << +/Title 144 0 R +/A 141 0 R +/Parent 123 0 R +/Prev 139 0 R +>> endobj +139 0 obj << +/Title 140 0 R +/A 137 0 R +/Parent 123 0 R +/Prev 135 0 R +/Next 143 0 R +>> endobj +135 0 obj << +/Title 136 0 R +/A 133 0 R +/Parent 123 0 R +/Prev 131 0 R +/Next 139 0 R +>> endobj +131 0 obj << +/Title 132 0 R +/A 129 0 R +/Parent 123 0 R +/Prev 127 0 R +/Next 135 0 R +>> endobj +127 0 obj << +/Title 128 0 R +/A 125 0 R +/Parent 123 0 R +/Next 131 0 R +>> endobj +123 0 obj << +/Title 124 0 R +/A 121 0 R +/Parent 71 0 R +/Prev 79 0 R +/Next 147 0 R +/First 127 0 R +/Last 143 0 R +/Count -5 +>> endobj +119 0 obj << +/Title 120 0 R +/A 117 0 R +/Parent 79 0 R +/Prev 115 0 R +>> endobj +115 0 obj << +/Title 116 0 R +/A 113 0 R +/Parent 79 0 R +/Prev 111 0 R +/Next 119 0 R +>> endobj +111 0 obj << +/Title 112 0 R +/A 109 0 R +/Parent 79 0 R +/Prev 107 0 R +/Next 115 0 R +>> endobj +107 0 obj << +/Title 108 0 R +/A 105 0 R +/Parent 79 0 R +/Prev 103 0 R +/Next 111 0 R +>> endobj +103 0 obj << +/Title 104 0 R +/A 101 0 R +/Parent 79 0 R +/Prev 99 0 R +/Next 107 0 R +>> endobj +99 0 obj << +/Title 100 0 R +/A 97 0 R +/Parent 79 0 R +/Prev 95 0 R +/Next 103 0 R +>> endobj +95 0 obj << +/Title 96 0 R +/A 93 0 R +/Parent 79 0 R +/Prev 91 0 R +/Next 99 0 R +>> endobj +91 0 obj << +/Title 92 0 R +/A 89 0 R +/Parent 79 0 R +/Prev 87 0 R +/Next 95 0 R +>> endobj +87 0 obj << +/Title 88 0 R +/A 85 0 R +/Parent 79 0 R +/Prev 83 0 R +/Next 91 0 R +>> endobj +83 0 obj << +/Title 84 0 R +/A 81 0 R +/Parent 79 0 R +/Next 87 0 R +>> endobj +79 0 obj << +/Title 80 0 R +/A 77 0 R +/Parent 71 0 R +/Prev 75 0 R +/Next 123 0 R +/First 83 0 R +/Last 119 0 R +/Count -10 +>> endobj +75 0 obj << +/Title 76 0 R +/A 73 0 R +/Parent 71 0 R +/Next 79 0 R +>> endobj +71 0 obj << +/Title 72 0 R +/A 69 0 R +/Parent 1173 0 R +/Prev 27 0 R +/Next 247 0 R +/First 75 0 R +/Last 235 0 R +/Count -12 +>> endobj +67 0 obj << +/Title 68 0 R +/A 65 0 R +/Parent 27 0 R +/Prev 63 0 R +>> endobj +63 0 obj << +/Title 64 0 R +/A 61 0 R +/Parent 27 0 R +/Prev 59 0 R +/Next 67 0 R +>> endobj +59 0 obj << +/Title 60 0 R +/A 57 0 R +/Parent 27 0 R +/Prev 55 0 R +/Next 63 0 R +>> endobj +55 0 obj << +/Title 56 0 R +/A 53 0 R +/Parent 27 0 R +/Prev 51 0 R +/Next 59 0 R +>> endobj +51 0 obj << +/Title 52 0 R +/A 49 0 R +/Parent 27 0 R +/Prev 47 0 R +/Next 55 0 R +>> endobj +47 0 obj << +/Title 48 0 R +/A 45 0 R +/Parent 27 0 R +/Prev 43 0 R +/Next 51 0 R +>> endobj +43 0 obj << +/Title 44 0 R +/A 41 0 R +/Parent 27 0 R +/Prev 39 0 R +/Next 47 0 R +>> endobj +39 0 obj << +/Title 40 0 R +/A 37 0 R +/Parent 27 0 R +/Prev 35 0 R +/Next 43 0 R +>> endobj +35 0 obj << +/Title 36 0 R +/A 33 0 R +/Parent 27 0 R +/Prev 31 0 R +/Next 39 0 R +>> endobj +31 0 obj << +/Title 32 0 R +/A 29 0 R +/Parent 27 0 R +/Next 35 0 R +>> endobj +27 0 obj << +/Title 28 0 R +/A 25 0 R +/Parent 1173 0 R +/Prev 7 0 R +/Next 71 0 R +/First 31 0 R +/Last 67 0 R +/Count -10 +>> endobj +23 0 obj << +/Title 24 0 R +/A 21 0 R +/Parent 7 0 R +/Prev 19 0 R +>> endobj +19 0 obj << +/Title 20 0 R +/A 17 0 R +/Parent 7 0 R +/Prev 15 0 R +/Next 23 0 R +>> endobj +15 0 obj << +/Title 16 0 R +/A 13 0 R +/Parent 7 0 R +/Prev 11 0 R +/Next 19 0 R +>> endobj +11 0 obj << +/Title 12 0 R +/A 9 0 R +/Parent 7 0 R +/Next 15 0 R +>> endobj +7 0 obj << +/Title 8 0 R +/A 5 0 R +/Parent 1173 0 R +/Next 27 0 R +/First 11 0 R +/Last 23 0 R +/Count -4 +>> endobj +1174 0 obj << +/Names [(Doc-Start) 366 0 R (Hfootnote.1) 485 0 R (Hfootnote.10) 764 0 R (Hfootnote.11) 776 0 R (Hfootnote.12) 808 0 R (Hfootnote.2) 493 0 R (Hfootnote.3) 494 0 R (Hfootnote.4) 500 0 R (Hfootnote.5) 517 0 R (Hfootnote.6) 577 0 R (Hfootnote.7) 598 0 R (Hfootnote.8) 648 0 R (Hfootnote.9) 750 0 R (page.1) 481 0 R (page.10) 545 0 R (page.11) 551 0 R (page.12) 557 0 R (page.13) 567 0 R (page.14) 574 0 R (page.15) 581 0 R (page.16) 585 0 R (page.17) 591 0 R (page.18) 595 0 R (page.19) 602 0 R (page.2) 489 0 R (page.20) 607 0 R (page.21) 611 0 R (page.22) 618 0 R (page.23) 626 0 R (page.24) 631 0 R (page.25) 636 0 R (page.26) 642 0 R (page.27) 652 0 R (page.28) 656 0 R (page.29) 664 0 R (page.3) 498 0 R (page.30) 669 0 R (page.31) 674 0 R (page.32) 679 0 R (page.33) 683 0 R (page.34) 688 0 R (page.35) 693 0 R (page.36) 697 0 R (page.37) 702 0 R (page.38) 709 0 R (page.39) 714 0 R (page.4) 504 0 R (page.40) 718 0 R (page.41) 723 0 R (page.42) 727 0 R (page.43) 731 0 R (page.44) 735 0 R (page.45) 739 0 R (page.46) 743 0 R (page.47) 748 0 R (page.48) 754 0 R (page.49) 758 0 R (page.5) 515 0 R (page.50) 762 0 R (page.51) 768 0 R (page.52) 773 0 R (page.53) 781 0 R (page.54) 785 0 R (page.55) 789 0 R (page.56) 793 0 R (page.57) 797 0 R (page.58) 801 0 R (page.59) 806 0 R (page.6) 521 0 R (page.60) 812 0 R (page.61) 816 0 R (page.62) 820 0 R (page.63) 910 0 R (page.64) 1001 0 R (page.65) 1095 0 R (page.66) 1146 0 R (page.67) 1150 0 R (page.68) 1154 0 R (page.69) 1158 0 R (page.7) 526 0 R (page.8) 531 0 R (page.9) 541 0 R (page.i) 365 0 R (page.ii) 414 0 R (page.iii) 461 0 R (section*.1) 374 0 R (section.1) 6 0 R (section.2) 26 0 R (section.3) 70 0 R (section.4) 246 0 R (subsection.1.1) 10 0 R (subsection.1.2) 14 0 R (subsection.1.3) 18 0 R (subsection.1.4) 22 0 R (subsection.2.1) 30 0 R (subsection.2.10) 66 0 R (subsection.2.2) 34 0 R (subsection.2.3) 38 0 R (subsection.2.4) 42 0 R (subsection.2.5) 46 0 R (subsection.2.6) 50 0 R (subsection.2.7) 54 0 R (subsection.2.8) 58 0 R (subsection.2.9) 62 0 R (subsection.3.1) 74 0 R (subsection.3.10) 218 0 R (subsection.3.11) 230 0 R (subsection.3.12) 234 0 R (subsection.3.2) 78 0 R (subsection.3.3) 122 0 R (subsection.3.4) 146 0 R (subsection.3.5) 162 0 R (subsection.3.6) 182 0 R (subsection.3.7) 198 0 R (subsection.3.8) 210 0 R (subsection.3.9) 214 0 R (subsection.4.1) 250 0 R (subsection.4.2) 254 0 R (subsection.4.3) 258 0 R (subsection.4.4) 262 0 R (subsection.4.5) 266 0 R (subsection.4.6) 270 0 R (subsection.4.7) 286 0 R (subsection.4.8) 298 0 R (subsection.4.9) 302 0 R (subsubsection.3.10.1) 222 0 R (subsubsection.3.10.2) 226 0 R (subsubsection.3.12.1) 238 0 R (subsubsection.3.12.2) 242 0 R (subsubsection.3.2.1) 82 0 R (subsubsection.3.2.10) 118 0 R (subsubsection.3.2.2) 86 0 R (subsubsection.3.2.3) 90 0 R (subsubsection.3.2.4) 94 0 R (subsubsection.3.2.5) 98 0 R (subsubsection.3.2.6) 102 0 R (subsubsection.3.2.7) 106 0 R (subsubsection.3.2.8) 110 0 R (subsubsection.3.2.9) 114 0 R (subsubsection.3.3.1) 126 0 R (subsubsection.3.3.2) 130 0 R (subsubsection.3.3.3) 134 0 R (subsubsection.3.3.4) 138 0 R (subsubsection.3.3.5) 142 0 R (subsubsection.3.4.1) 150 0 R (subsubsection.3.4.2) 154 0 R (subsubsection.3.4.3) 158 0 R (subsubsection.3.5.1) 166 0 R (subsubsection.3.5.2) 170 0 R (subsubsection.3.5.3) 174 0 R (subsubsection.3.5.4) 178 0 R (subsubsection.3.6.1) 186 0 R (subsubsection.3.6.2) 190 0 R (subsubsection.3.6.3) 194 0 R (subsubsection.3.7.1) 202 0 R (subsubsection.3.7.2) 206 0 R (subsubsection.4.6.1) 274 0 R (subsubsection.4.6.2) 278 0 R (subsubsection.4.6.3) 282 0 R (subsubsection.4.7.1) 290 0 R (subsubsection.4.7.2) 294 0 R (subsubsection.4.9.1) 306 0 R (subsubsection.4.9.10) 342 0 R (subsubsection.4.9.11) 346 0 R (subsubsection.4.9.12) 350 0 R (subsubsection.4.9.13) 354 0 R (subsubsection.4.9.14) 358 0 R (subsubsection.4.9.2) 310 0 R (subsubsection.4.9.3) 314 0 R (subsubsection.4.9.4) 318 0 R (subsubsection.4.9.5) 322 0 R (subsubsection.4.9.6) 326 0 R (subsubsection.4.9.7) 330 0 R (subsubsection.4.9.8) 334 0 R (subsubsection.4.9.9) 338 0 R] +/Limits [(Doc-Start) (subsubsection.4.9.9)] +>> endobj +1175 0 obj << +/Kids [1174 0 R] +>> endobj +1176 0 obj << +/Dests 1175 0 R +>> endobj +1177 0 obj << +/Type /Catalog +/Pages 1172 0 R +/Outlines 1173 0 R +/Names 1176 0 R +/PageMode /none +/OpenAction 361 0 R +/PTEX.Fullbanner (This is pdfTeX, Version 3.14159-1.00b-pretest-20020211) +>> endobj +1178 0 obj << +/Author()/Title()/Subject()/Creator(LaTeX with hyperref package)/Producer(pdfTeX-1.00b)/Keywords() +/Producer (pdfTeX-1.0b-pdfcrypt) +/CreationDate (D:20031114142200) +>> endobj +xref +0 1179 +0000000001 65535 f +0000000002 00000 f +0000000003 00000 f +0000000004 00000 f +0000000367 00000 f +0000000009 00000 n +0000034093 00000 n +0000379452 00000 n +0000000054 00000 n +0000000084 00000 n +0000034153 00000 n +0000379380 00000 n +0000000134 00000 n +0000000157 00000 n +0000034214 00000 n +0000379294 00000 n +0000000208 00000 n +0000000231 00000 n +0000038947 00000 n +0000379208 00000 n +0000000282 00000 n +0000000306 00000 n +0000039008 00000 n +0000379135 00000 n +0000000357 00000 n +0000000380 00000 n +0000047987 00000 n +0000379009 00000 n +0000000426 00000 n +0000000453 00000 n +0000048048 00000 n +0000378935 00000 n +0000000504 00000 n +0000000546 00000 n +0000048108 00000 n +0000378848 00000 n +0000000597 00000 n +0000000653 00000 n +0000052303 00000 n +0000378761 00000 n +0000000704 00000 n +0000000772 00000 n +0000052364 00000 n +0000378674 00000 n +0000000823 00000 n +0000000879 00000 n +0000052425 00000 n +0000378587 00000 n +0000000930 00000 n +0000000981 00000 n +0000052486 00000 n +0000378500 00000 n +0000001032 00000 n +0000001112 00000 n +0000057109 00000 n +0000378413 00000 n +0000001163 00000 n +0000001224 00000 n +0000057170 00000 n +0000378326 00000 n +0000001275 00000 n +0000001340 00000 n +0000057231 00000 n +0000378239 00000 n +0000001391 00000 n +0000001475 00000 n +0000057292 00000 n +0000378165 00000 n +0000001527 00000 n +0000001566 00000 n +0000062932 00000 n +0000378036 00000 n +0000001612 00000 n +0000001642 00000 n +0000062993 00000 n +0000377962 00000 n +0000001693 00000 n +0000001735 00000 n +0000072003 00000 n +0000377835 00000 n +0000001786 00000 n +0000001813 00000 n +0000072064 00000 n +0000377761 00000 n +0000001869 00000 n +0000001903 00000 n +0000072125 00000 n +0000377674 00000 n +0000001959 00000 n +0000002008 00000 n +0000081166 00000 n +0000377587 00000 n +0000002064 00000 n +0000002107 00000 n +0000081227 00000 n +0000377500 00000 n +0000002163 00000 n +0000002210 00000 n +0000093245 00000 n +0000377411 00000 n +0000002266 00000 n +0000002307 00000 n +0000096930 00000 n +0000377320 00000 n +0000002364 00000 n +0000002391 00000 n +0000100791 00000 n +0000377228 00000 n +0000002448 00000 n +0000002482 00000 n +0000104830 00000 n +0000377136 00000 n +0000002539 00000 n +0000002573 00000 n +0000104892 00000 n +0000377044 00000 n +0000002630 00000 n +0000002676 00000 n +0000113377 00000 n +0000376966 00000 n +0000002734 00000 n +0000002787 00000 n +0000113439 00000 n +0000376836 00000 n +0000002839 00000 n +0000002865 00000 n +0000113501 00000 n +0000376757 00000 n +0000002922 00000 n +0000002969 00000 n +0000113563 00000 n +0000376664 00000 n +0000003026 00000 n +0000003062 00000 n +0000116572 00000 n +0000376571 00000 n +0000003119 00000 n +0000003152 00000 n +0000121654 00000 n +0000376478 00000 n +0000003209 00000 n +0000003251 00000 n +0000121716 00000 n +0000376399 00000 n +0000003308 00000 n +0000003345 00000 n +0000121777 00000 n +0000376268 00000 n +0000003397 00000 n +0000003439 00000 n +0000125647 00000 n +0000376189 00000 n +0000003496 00000 n +0000003533 00000 n +0000125709 00000 n +0000376096 00000 n +0000003590 00000 n +0000003644 00000 n +0000129680 00000 n +0000376017 00000 n +0000003701 00000 n +0000003728 00000 n +0000129742 00000 n +0000375886 00000 n +0000003780 00000 n +0000003816 00000 n +0000129804 00000 n +0000375807 00000 n +0000003873 00000 n +0000003901 00000 n +0000138745 00000 n +0000375714 00000 n +0000003958 00000 n +0000004024 00000 n +0000142659 00000 n +0000375621 00000 n +0000004081 00000 n +0000004132 00000 n +0000146776 00000 n +0000375542 00000 n +0000004189 00000 n +0000004218 00000 n +0000146838 00000 n +0000375411 00000 n +0000004270 00000 n +0000004313 00000 n +0000146900 00000 n +0000375332 00000 n +0000004370 00000 n +0000004408 00000 n +0000151603 00000 n +0000375239 00000 n +0000004465 00000 n +0000004503 00000 n +0000155500 00000 n +0000375160 00000 n +0000004560 00000 n +0000004608 00000 n +0000171420 00000 n +0000375029 00000 n +0000004660 00000 n +0000004700 00000 n +0000171482 00000 n +0000374950 00000 n +0000004757 00000 n +0000004790 00000 n +0000185187 00000 n +0000374871 00000 n +0000004847 00000 n +0000004890 00000 n +0000188957 00000 n +0000374779 00000 n +0000004942 00000 n +0000004998 00000 n +0000192784 00000 n +0000374687 00000 n +0000005050 00000 n +0000005085 00000 n +0000192846 00000 n +0000374556 00000 n +0000005138 00000 n +0000005176 00000 n +0000192907 00000 n +0000374477 00000 n +0000005234 00000 n +0000005306 00000 n +0000196785 00000 n +0000374398 00000 n +0000005364 00000 n +0000005408 00000 n +0000206517 00000 n +0000374306 00000 n +0000005461 00000 n +0000005492 00000 n +0000215527 00000 n +0000374189 00000 n +0000005545 00000 n +0000005584 00000 n +0000215589 00000 n +0000374110 00000 n +0000005642 00000 n +0000005674 00000 n +0000238306 00000 n +0000374031 00000 n +0000005732 00000 n +0000005760 00000 n +0000243617 00000 n +0000373913 00000 n +0000005807 00000 n +0000005837 00000 n +0000243679 00000 n +0000373834 00000 n +0000005889 00000 n +0000005926 00000 n +0000243741 00000 n +0000373741 00000 n +0000005978 00000 n +0000006014 00000 n +0000243803 00000 n +0000373648 00000 n +0000006066 00000 n +0000006104 00000 n +0000246106 00000 n +0000373555 00000 n +0000006156 00000 n +0000006206 00000 n +0000248948 00000 n +0000373462 00000 n +0000006258 00000 n +0000006320 00000 n +0000253115 00000 n +0000373330 00000 n +0000006372 00000 n +0000006434 00000 n +0000253177 00000 n +0000373251 00000 n +0000006491 00000 n +0000006527 00000 n +0000253239 00000 n +0000373158 00000 n +0000006584 00000 n +0000006628 00000 n +0000256626 00000 n +0000373079 00000 n +0000006685 00000 n +0000006722 00000 n +0000261157 00000 n +0000372947 00000 n +0000006774 00000 n +0000006825 00000 n +0000261219 00000 n +0000372868 00000 n +0000006882 00000 n +0000006916 00000 n +0000264213 00000 n +0000372789 00000 n +0000006973 00000 n +0000007007 00000 n +0000281262 00000 n +0000372696 00000 n +0000007059 00000 n +0000007128 00000 n +0000323528 00000 n +0000372577 00000 n +0000007180 00000 n +0000007224 00000 n +0000323591 00000 n +0000372498 00000 n +0000007281 00000 n +0000007308 00000 n +0000323654 00000 n +0000372405 00000 n +0000007365 00000 n +0000007401 00000 n +0000323717 00000 n +0000372312 00000 n +0000007458 00000 n +0000007494 00000 n +0000325161 00000 n +0000372219 00000 n +0000007551 00000 n +0000007578 00000 n +0000325224 00000 n +0000372126 00000 n +0000007635 00000 n +0000007680 00000 n +0000325287 00000 n +0000372033 00000 n +0000007737 00000 n +0000007779 00000 n +0000325350 00000 n +0000371940 00000 n +0000007836 00000 n +0000007871 00000 n +0000325413 00000 n +0000371847 00000 n +0000007928 00000 n +0000007963 00000 n +0000326929 00000 n +0000371754 00000 n +0000008020 00000 n +0000008055 00000 n +0000326992 00000 n +0000371661 00000 n +0000008113 00000 n +0000008148 00000 n +0000327055 00000 n +0000371568 00000 n +0000008206 00000 n +0000008243 00000 n +0000327118 00000 n +0000371475 00000 n +0000008301 00000 n +0000008343 00000 n +0000327181 00000 n +0000371382 00000 n +0000008401 00000 n +0000008425 00000 n +0000327244 00000 n +0000371303 00000 n +0000008483 00000 n +0000008507 00000 n +0000010817 00000 n +0000016109 00000 n +0000008560 00000 n +0000015923 00000 n +0000015985 00000 n +0000000372 00000 f +0000369398 00000 n +0000368692 00000 n +0000366418 00000 n +0000368529 00000 n +0000000382 00000 f +0000366326 00000 n +0000016047 00000 n +0000011181 00000 n +0000011333 00000 n +0000011490 00000 n +0000011647 00000 n +0000011804 00000 n +0000011961 00000 n +0000012113 00000 n +0000000483 00000 f +0000366235 00000 n +0000365343 00000 n +0000347551 00000 n +0000365159 00000 n +0000012269 00000 n +0000012426 00000 n +0000012583 00000 n +0000012739 00000 n +0000012896 00000 n +0000013053 00000 n +0000013210 00000 n +0000013367 00000 n +0000013524 00000 n +0000013682 00000 n +0000013834 00000 n +0000013990 00000 n +0000014147 00000 n +0000014308 00000 n +0000014470 00000 n +0000014632 00000 n +0000014794 00000 n +0000014956 00000 n +0000015118 00000 n +0000015280 00000 n +0000015441 00000 n +0000015603 00000 n +0000015766 00000 n +0000369491 00000 n +0000025838 00000 n +0000018437 00000 n +0000016233 00000 n +0000025776 00000 n +0000018905 00000 n +0000019067 00000 n +0000019228 00000 n +0000019390 00000 n +0000019551 00000 n +0000019713 00000 n +0000019869 00000 n +0000020031 00000 n +0000020193 00000 n +0000020355 00000 n +0000020512 00000 n +0000020673 00000 n +0000020835 00000 n +0000020996 00000 n +0000021158 00000 n +0000021315 00000 n +0000021477 00000 n +0000021639 00000 n +0000021801 00000 n +0000021958 00000 n +0000022120 00000 n +0000022282 00000 n +0000022439 00000 n +0000022596 00000 n +0000022754 00000 n +0000022917 00000 n +0000023079 00000 n +0000023237 00000 n +0000023394 00000 n +0000023557 00000 n +0000023720 00000 n +0000023872 00000 n +0000024029 00000 n +0000024186 00000 n +0000024343 00000 n +0000024500 00000 n +0000024657 00000 n +0000024814 00000 n +0000024976 00000 n +0000025135 00000 n +0000025297 00000 n +0000025453 00000 n +0000025614 00000 n +0000029774 00000 n +0000026880 00000 n +0000025936 00000 n +0000029712 00000 n +0000027132 00000 n +0000027289 00000 n +0000027445 00000 n +0000027607 00000 n +0000027768 00000 n +0000027930 00000 n +0000028091 00000 n +0000028253 00000 n +0000028414 00000 n +0000028575 00000 n +0000028737 00000 n +0000028898 00000 n +0000029061 00000 n +0000029223 00000 n +0000029386 00000 n +0000029549 00000 n +0000034337 00000 n +0000033746 00000 n +0000029846 00000 n +0000034031 00000 n +0000033878 00000 n +0000000505 00000 f +0000347457 00000 n +0000034275 00000 n +0000039193 00000 n +0000038278 00000 n +0000034449 00000 n +0000038885 00000 n +0000038426 00000 n +0000038580 00000 n +0000038734 00000 n +0000039069 00000 n +0000039131 00000 n +0000043464 00000 n +0000043055 00000 n +0000039318 00000 n +0000043340 00000 n +0000043187 00000 n +0000043402 00000 n +0000048169 00000 n +0000047471 00000 n +0000043576 00000 n +0000047925 00000 n +0000000508 00000 f +0000347361 00000 n +0000047611 00000 n +0000000000 00000 f +0000347292 00000 n +0000047768 00000 n +0000369609 00000 n +0000052609 00000 n +0000051955 00000 n +0000048307 00000 n +0000052241 00000 n +0000052087 00000 n +0000052547 00000 n +0000057353 00000 n +0000056758 00000 n +0000052748 00000 n +0000057047 00000 n +0000056890 00000 n +0000059243 00000 n +0000058892 00000 n +0000057505 00000 n +0000059181 00000 n +0000059024 00000 n +0000063054 00000 n +0000062758 00000 n +0000059328 00000 n +0000062870 00000 n +0000346850 00000 n +0000344548 00000 n +0000346688 00000 n +0000344162 00000 n +0000341989 00000 n +0000343999 00000 n +0000067383 00000 n +0000067209 00000 n +0000063217 00000 n +0000067321 00000 n +0000072186 00000 n +0000071652 00000 n +0000067533 00000 n +0000071941 00000 n +0000071784 00000 n +0000369727 00000 n +0000076195 00000 n +0000075670 00000 n +0000072337 00000 n +0000076133 00000 n +0000075810 00000 n +0000075972 00000 n +0000081288 00000 n +0000079981 00000 n +0000076333 00000 n +0000081104 00000 n +0000080153 00000 n +0000080315 00000 n +0000080476 00000 n +0000080632 00000 n +0000080789 00000 n +0000080946 00000 n +0000085718 00000 n +0000085032 00000 n +0000081425 00000 n +0000085656 00000 n +0000085180 00000 n +0000085342 00000 n +0000085499 00000 n +0000089677 00000 n +0000089104 00000 n +0000085830 00000 n +0000089554 00000 n +0000089244 00000 n +0000089400 00000 n +0000089616 00000 n +0000093306 00000 n +0000093071 00000 n +0000089789 00000 n +0000093183 00000 n +0000096992 00000 n +0000096574 00000 n +0000093456 00000 n +0000096868 00000 n +0000096706 00000 n +0000369845 00000 n +0000100853 00000 n +0000100617 00000 n +0000097130 00000 n +0000100729 00000 n +0000105016 00000 n +0000104313 00000 n +0000100991 00000 n +0000104768 00000 n +0000104453 00000 n +0000104614 00000 n +0000104954 00000 n +0000109545 00000 n +0000109194 00000 n +0000105154 00000 n +0000109483 00000 n +0000109326 00000 n +0000113625 00000 n +0000113203 00000 n +0000109682 00000 n +0000113315 00000 n +0000116634 00000 n +0000116398 00000 n +0000113789 00000 n +0000116510 00000 n +0000341457 00000 n +0000332324 00000 n +0000341272 00000 n +0000121838 00000 n +0000120959 00000 n +0000116773 00000 n +0000121592 00000 n +0000121107 00000 n +0000121269 00000 n +0000121430 00000 n +0000369963 00000 n +0000125771 00000 n +0000125291 00000 n +0000121976 00000 n +0000125585 00000 n +0000125423 00000 n +0000129865 00000 n +0000129324 00000 n +0000125908 00000 n +0000129618 00000 n +0000129456 00000 n +0000133916 00000 n +0000133390 00000 n +0000130003 00000 n +0000133854 00000 n +0000133530 00000 n +0000133692 00000 n +0000138869 00000 n +0000137740 00000 n +0000134041 00000 n +0000138683 00000 n +0000137904 00000 n +0000138061 00000 n +0000138217 00000 n +0000138373 00000 n +0000138529 00000 n +0000138807 00000 n +0000142721 00000 n +0000142485 00000 n +0000139006 00000 n +0000142597 00000 n +0000146962 00000 n +0000146602 00000 n +0000142846 00000 n +0000146714 00000 n +0000330197 00000 n +0000328123 00000 n +0000330032 00000 n +0000370081 00000 n +0000151665 00000 n +0000151248 00000 n +0000147126 00000 n +0000151541 00000 n +0000151380 00000 n +0000155562 00000 n +0000155145 00000 n +0000151829 00000 n +0000155438 00000 n +0000155277 00000 n +0000159723 00000 n +0000159368 00000 n +0000155713 00000 n +0000159661 00000 n +0000159500 00000 n +0000163348 00000 n +0000163174 00000 n +0000159835 00000 n +0000163286 00000 n +0000166877 00000 n +0000166521 00000 n +0000163460 00000 n +0000166815 00000 n +0000166653 00000 n +0000171543 00000 n +0000171246 00000 n +0000166989 00000 n +0000171358 00000 n +0000370199 00000 n +0000175590 00000 n +0000175416 00000 n +0000171694 00000 n +0000175528 00000 n +0000180472 00000 n +0000180118 00000 n +0000175728 00000 n +0000180410 00000 n +0000180250 00000 n +0000185249 00000 n +0000184506 00000 n +0000180610 00000 n +0000185125 00000 n +0000184654 00000 n +0000184811 00000 n +0000184968 00000 n +0000189019 00000 n +0000188602 00000 n +0000185374 00000 n +0000188895 00000 n +0000188734 00000 n +0000192969 00000 n +0000192610 00000 n +0000189144 00000 n +0000192722 00000 n +0000196845 00000 n +0000196611 00000 n +0000193120 00000 n +0000196723 00000 n +0000370317 00000 n +0000199541 00000 n +0000199367 00000 n +0000196995 00000 n +0000199479 00000 n +0000202782 00000 n +0000202608 00000 n +0000199653 00000 n +0000202720 00000 n +0000206579 00000 n +0000206343 00000 n +0000202932 00000 n +0000206455 00000 n +0000209562 00000 n +0000209388 00000 n +0000206717 00000 n +0000209500 00000 n +0000212342 00000 n +0000212168 00000 n +0000209674 00000 n +0000212280 00000 n +0000215651 00000 n +0000215353 00000 n +0000212479 00000 n +0000215465 00000 n +0000370435 00000 n +0000219452 00000 n +0000219042 00000 n +0000215789 00000 n +0000219328 00000 n +0000219174 00000 n +0000219390 00000 n +0000222740 00000 n +0000222566 00000 n +0000219564 00000 n +0000222678 00000 n +0000226148 00000 n +0000225974 00000 n +0000222878 00000 n +0000226086 00000 n +0000230343 00000 n +0000229932 00000 n +0000226298 00000 n +0000230219 00000 n +0000230064 00000 n +0000230281 00000 n +0000234375 00000 n +0000234019 00000 n +0000230468 00000 n +0000234313 00000 n +0000234151 00000 n +0000238430 00000 n +0000237788 00000 n +0000234487 00000 n +0000238244 00000 n +0000237928 00000 n +0000238089 00000 n +0000238368 00000 n +0000370553 00000 n +0000240709 00000 n +0000240535 00000 n +0000238542 00000 n +0000240647 00000 n +0000243865 00000 n +0000243443 00000 n +0000240807 00000 n +0000243555 00000 n +0000246168 00000 n +0000245932 00000 n +0000243976 00000 n +0000246044 00000 n +0000249010 00000 n +0000248774 00000 n +0000246279 00000 n +0000248886 00000 n +0000253301 00000 n +0000252941 00000 n +0000249146 00000 n +0000253053 00000 n +0000256688 00000 n +0000256452 00000 n +0000253425 00000 n +0000256564 00000 n +0000370671 00000 n +0000261343 00000 n +0000260808 00000 n +0000256813 00000 n +0000261095 00000 n +0000260940 00000 n +0000261281 00000 n +0000264274 00000 n +0000264039 00000 n +0000261481 00000 n +0000264151 00000 n +0000265549 00000 n +0000265375 00000 n +0000264412 00000 n +0000265487 00000 n +0000281324 00000 n +0000267534 00000 n +0000265648 00000 n +0000281200 00000 n +0000268346 00000 n +0000268496 00000 n +0000268646 00000 n +0000268796 00000 n +0000268946 00000 n +0000269096 00000 n +0000269246 00000 n +0000269396 00000 n +0000269546 00000 n +0000269696 00000 n +0000269846 00000 n +0000269996 00000 n +0000270146 00000 n +0000270296 00000 n +0000270445 00000 n +0000270594 00000 n +0000270744 00000 n +0000270894 00000 n +0000271043 00000 n +0000271191 00000 n +0000271340 00000 n +0000271489 00000 n +0000271639 00000 n +0000271788 00000 n +0000271937 00000 n +0000272086 00000 n +0000272236 00000 n +0000272385 00000 n +0000272534 00000 n +0000272683 00000 n +0000272833 00000 n +0000272983 00000 n +0000273133 00000 n +0000273283 00000 n +0000273432 00000 n +0000273580 00000 n +0000273729 00000 n +0000273878 00000 n +0000274028 00000 n +0000274178 00000 n +0000274327 00000 n +0000274477 00000 n +0000274626 00000 n +0000274775 00000 n +0000274924 00000 n +0000275073 00000 n +0000275222 00000 n +0000275371 00000 n +0000275521 00000 n +0000275669 00000 n +0000275818 00000 n +0000275967 00000 n +0000276116 00000 n +0000276264 00000 n +0000276414 00000 n +0000276561 00000 n +0000276710 00000 n +0000276860 00000 n +0000277009 00000 n +0000277159 00000 n +0000277309 00000 n +0000277459 00000 n +0000277608 00000 n +0000277757 00000 n +0000277907 00000 n +0000278057 00000 n +0000278207 00000 n +0000278357 00000 n +0000278506 00000 n +0000278656 00000 n +0000278805 00000 n +0000278954 00000 n +0000279104 00000 n +0000279254 00000 n +0000279403 00000 n +0000279553 00000 n +0000279703 00000 n +0000279853 00000 n +0000280003 00000 n +0000280153 00000 n +0000280301 00000 n +0000280451 00000 n +0000280600 00000 n +0000280750 00000 n +0000280900 00000 n +0000281050 00000 n +0000297146 00000 n +0000283271 00000 n +0000281449 00000 n +0000297084 00000 n +0000284091 00000 n +0000284241 00000 n +0000284390 00000 n +0000284540 00000 n +0000284689 00000 n +0000284839 00000 n +0000284988 00000 n +0000285138 00000 n +0000285288 00000 n +0000285436 00000 n +0000285586 00000 n +0000285735 00000 n +0000285885 00000 n +0000286034 00000 n +0000286184 00000 n +0000286332 00000 n +0000286482 00000 n +0000286631 00000 n +0000286781 00000 n +0000286930 00000 n +0000287080 00000 n +0000287229 00000 n +0000287378 00000 n +0000287528 00000 n +0000287677 00000 n +0000287827 00000 n +0000287977 00000 n +0000288126 00000 n +0000288276 00000 n +0000288425 00000 n +0000288574 00000 n +0000288723 00000 n +0000288873 00000 n +0000289022 00000 n +0000289172 00000 n +0000289322 00000 n +0000289472 00000 n +0000289622 00000 n +0000289772 00000 n +0000289922 00000 n +0000290071 00000 n +0000290221 00000 n +0000290370 00000 n +0000290518 00000 n +0000290667 00000 n +0000290816 00000 n +0000290964 00000 n +0000291112 00000 n +0000291261 00000 n +0000291409 00000 n +0000291557 00000 n +0000291705 00000 n +0000291855 00000 n +0000292005 00000 n +0000292155 00000 n +0000292305 00000 n +0000292454 00000 n +0000292604 00000 n +0000292754 00000 n +0000292904 00000 n +0000293053 00000 n +0000293202 00000 n +0000293352 00000 n +0000293502 00000 n +0000293652 00000 n +0000293802 00000 n +0000293950 00000 n +0000294099 00000 n +0000294248 00000 n +0000294396 00000 n +0000294545 00000 n +0000294694 00000 n +0000294843 00000 n +0000294992 00000 n +0000295141 00000 n +0000295291 00000 n +0000295440 00000 n +0000295588 00000 n +0000295737 00000 n +0000295887 00000 n +0000296037 00000 n +0000296187 00000 n +0000296336 00000 n +0000296486 00000 n +0000296635 00000 n +0000296785 00000 n +0000296934 00000 n +0000313437 00000 n +0000299045 00000 n +0000297271 00000 n +0000313374 00000 n +0000299972 00000 n +0000300123 00000 n +0000300273 00000 n +0000300424 00000 n +0000300574 00000 n +0000300725 00000 n +0000300875 00000 n +0000301025 00000 n +0000301176 00000 n +0000301327 00000 n +0000301478 00000 n +0000301629 00000 n +0000301780 00000 n +0000301931 00000 n +0000302082 00000 n +0000302232 00000 n +0000302383 00000 n +0000302534 00000 n +0000302685 00000 n +0000302836 00000 n +0000302987 00000 n +0000303138 00000 n +0000303288 00000 n +0000303439 00000 n +0000303590 00000 n +0000303740 00000 n +0000303891 00000 n +0000304042 00000 n +0000304192 00000 n +0000304342 00000 n +0000304493 00000 n +0000304641 00000 n +0000304792 00000 n +0000304942 00000 n +0000305093 00000 n +0000305242 00000 n +0000305393 00000 n +0000305544 00000 n +0000305695 00000 n +0000305846 00000 n +0000305997 00000 n +0000306147 00000 n +0000306298 00000 n +0000306448 00000 n +0000306599 00000 n +0000306749 00000 n +0000306900 00000 n +0000307049 00000 n +0000307200 00000 n +0000307350 00000 n +0000307501 00000 n +0000307652 00000 n +0000307803 00000 n +0000307954 00000 n +0000308104 00000 n +0000308255 00000 n +0000308406 00000 n +0000308557 00000 n +0000308708 00000 n +0000308859 00000 n +0000309010 00000 n +0000309161 00000 n +0000309312 00000 n +0000309463 00000 n +0000309614 00000 n +0000309765 00000 n +0000309916 00000 n +0000310067 00000 n +0000310218 00000 n +0000310368 00000 n +0000310518 00000 n +0000310669 00000 n +0000310817 00000 n +0000310968 00000 n +0000311117 00000 n +0000311268 00000 n +0000311418 00000 n +0000311568 00000 n +0000311718 00000 n +0000311869 00000 n +0000312019 00000 n +0000312170 00000 n +0000312320 00000 n +0000312471 00000 n +0000312622 00000 n +0000312772 00000 n +0000312923 00000 n +0000313073 00000 n +0000313224 00000 n +0000370789 00000 n +0000322276 00000 n +0000314583 00000 n +0000313536 00000 n +0000322212 00000 n +0000315134 00000 n +0000315285 00000 n +0000315435 00000 n +0000315585 00000 n +0000315736 00000 n +0000315886 00000 n +0000316037 00000 n +0000316186 00000 n +0000316337 00000 n +0000316488 00000 n +0000316639 00000 n +0000316790 00000 n +0000316940 00000 n +0000317091 00000 n +0000317242 00000 n +0000317393 00000 n +0000317543 00000 n +0000317694 00000 n +0000317845 00000 n +0000317994 00000 n +0000318144 00000 n +0000318293 00000 n +0000318443 00000 n +0000318592 00000 n +0000318742 00000 n +0000318893 00000 n +0000319043 00000 n +0000319194 00000 n +0000319345 00000 n +0000319496 00000 n +0000319647 00000 n +0000319798 00000 n +0000319949 00000 n +0000320100 00000 n +0000320251 00000 n +0000320402 00000 n +0000320553 00000 n +0000320704 00000 n +0000320855 00000 n +0000321006 00000 n +0000321157 00000 n +0000321308 00000 n +0000321459 00000 n +0000321610 00000 n +0000321761 00000 n +0000321912 00000 n +0000322062 00000 n +0000323780 00000 n +0000323348 00000 n +0000322375 00000 n +0000323464 00000 n +0000325475 00000 n +0000324981 00000 n +0000323879 00000 n +0000325097 00000 n +0000327307 00000 n +0000326749 00000 n +0000325561 00000 n +0000326865 00000 n +0000328037 00000 n +0000327857 00000 n +0000327393 00000 n +0000327973 00000 n +0000330430 00000 n +0000330395 00000 n +0000330533 00000 n +0000341710 00000 n +0000344426 00000 n +0000344387 00000 n +0000347151 00000 n +0000347078 00000 n +0000365884 00000 n +0000369218 00000 n +0000368971 00000 n +0000370913 00000 n +0000371033 00000 n +0000371154 00000 n +0000371227 00000 n +0000379562 00000 n +0000383684 00000 n +0000383725 00000 n +0000383765 00000 n +0000383966 00000 n +trailer +<< +/Size 1179 +/Root 1177 0 R +/Info 1178 0 R +>> +startxref +384155 +%%EOF diff --git a/Master/texmf-dist/doc/generic/mfpic/mfpman.tex b/Master/texmf-dist/doc/generic/mfpic/mfpman.tex new file mode 100644 index 00000000000..7f93ed20e27 --- /dev/null +++ b/Master/texmf-dist/doc/generic/mfpic/mfpman.tex @@ -0,0 +1,4991 @@ +%%% File: mfpman.tex +%%% A part of mfpic 0.7a beta 2004/04/16 +%%% +% Documentation of mfpic macros +\documentclass[letterpaper]{article} + +\usepackage{pslatex} + +\usepackage{mfpdoc} +\pagestyle{mfpdoc} +\usepackage{verbatim} +\usepackage{makeidx} +\makeindex + +\ifpdf +\usepackage[pdftex,colorlinks,pdfpagemode=none,pdfstartview=FitH,% +plainpages=false,hypertexnames=true]{hyperref} +\pdfstringdefDisableCommands{\def\cs#1{\otherbackslash#1}% + \def\opt#1{#1}\def\prog#1{#1}} +\fi + +\title{\Mfp: Pictures in \TeX\\ with Metafont and MetaPost} +\author{Dr Thomas E. Leathrum +\and Geoffrey Tobin\thanks{\email{G.Tobin@latrobe.edu.au}} +\and Daniel H. Luecking\thanks{\email {luecking@uark.edu}}} +\date{\mfpdate} + +\begin{document} + +\pagenumbering{roman} +\maketitle +\tableofcontents + +\clearpage +\pagenumbering{arabic} + +\section{Introduction}\label{introduction} + +\subsection{Why?}\label{why} + +Tom got the idea for \mfp% + \footnote{If you're wondering how to pronounce `\mfp': I always say + `em-eff-\textbf{pick}', speaking the first two letters. ---DHL.} % +mostly out of a feeling of frustration. Different output mechanisms for +printing or viewing \TeX{} DVI files each have their own ways to include +pictures. More often than not, there are provisions for including +graphic objects into a \prog{DVI} file using \TeX{} \cs{special}'s. +However, this technique seemed far from \TeX's ideal of +device independence because different \TeX{} output drivers recognize +different \cs{special's}, and handle them in different ways. + +\LaTeX's \env{picture} environment has a hopelessly limited supply of +available objects to draw---if you want to draw a graph of a polynomial +curve, you're out of luck. + +There was, of course, \PiCTeX, which is wonderfully flexible and general, +but its most obvious feature was its speed---or rather lack of it. +Processing a single picture in \PiCTeX{} could often take several seconds. + +It occurred to Tom that it might be possible to take advantage of the +fact that \MF{} is \emph{designed} for drawing things. The result of +pursuing this idea is \mfp, a set of macros for \TeX{} and +\MF{} which incorporate \MF-drawn pictures into a \TeX{} file. + +With the creation of \MP{} by John Hobby, and the almost universal +availability of free \PS{} interpreters like \GS, some \mfp{} users +wanted to run their \mfp{} output through \MP, to produce \PS{} +pictures. Moreover, users wanted to be able to use \pdfTeX, which does +not get along well with PK fonts, but is quite happy with \MP{} +pictures. Unfortunately \file{grafbase.mf}, which contained the \MF{} +macros responsible for processing \mfp's output, was far too +pixel-oriented for \MP. A new file, \file{grafbase.mp} was created, +based very heavily on \file{grafbase.mf} but compatible with \MP. Now +when an \mfp{} output file says \mfc{input grafbase}, either \MF{} or +\MP{} may be run on it, and each program will select its own macros, and +produce (nearly) the same picture. This gets us away from device +independence, but many users were not so much concerned with that as +with having a convenient way to have text and pictures described in the +same document. + +With the extra capabilities of \PS{} (e.g., color) and the corresponding +abilities of \MP, there was a demand for some \mfp{} interface to +access them. Consequently, switches (options) have been added to access +some of them. When these are used, output files may no longer be +compatible with \MF. + +\subsection{Who?}\label{author} + +\Mfp{} was written primarily by Tom Leathrum during the late +(northern hemisphere) spring and summer of 1992, while at Dartmouth +College. Different versions were being written and tested for nearly two +years after that, during which time Tom finished his Ph.D. and took a +job at Berry College, in Rome, GA. Between fall of 1992 and fall of +1993, much of the development was carried out by others. Those who +helped most in this process are credited in the Acknowledgements. + +Somewhere in the mid 1990's the development passed to Geoffrey Tobin who +kept things going for several years. + +The addition of \MP{} support was carried out by Dan Luecking around +1997--99. He is also responsible for all other additions and changes +since then, with help from Geoffrey and a few others mentioned in the +Acknowledgements. + +\subsection{What?}\label{manifest} + +See \file{README.txt} for a list and a brief explanation of each of +the files. Only five are actually needed for full access to +\mfp's capabilities: \file{mfpic.tex}, \file{mfpic.sty} (the +latter needed only for \LaTeX's \cs{usepackage}), \file{grafbase.mf} +(needed only if \MF{} will be processing the figures), +\file{grafbase.mp} and \file{dvipsnam.mp} (needed only if \MP{} will be +the processor). + +The readme file that accompanies \mfp{} gives some guidence on the +proper location for the installation of these files. + +\subsection{How?}\label{process} + +Setting up \TeX{} and \MF{} to process these files will, to an extent, +depend on your local installation. The biggest problem you are likely to +have, regardless of your installation, will be convincing \TeX{} and its +output drivers to find \MF's output files. You should do whatever is +necessary (perhaps nothing!) to insure that \TeX{} looks in the current +directory for \file{.tfm} files, and that your dvi driver/viewer looks +in the current directory for \file{.pk} files. If you process your +pictures with \MP{} there is nothing to do in this regard. + +Here is an example of the process: for the sample file +\file{pictures.tex}% + \footnote{Read \file{mfpguide.pdf} for examples of minimal \mfp{} + input files.}, % +first run \TeX{} on it (or run \LaTeX{} on \file{lapictures.tex}). You +may see a message from \mfp{} that there is no file \file{pics.tfm}, but +\TeX{} will continue processing the file anyway. When \TeX{} is +finished, you will now have a file called \file{pics.mf}. This is the +\MF{} file containing the descriptions of the pictures for +\file{pictures.tex}. You need to run \MF{} on \file{pics.mf}, with +\cs{mode:=localfont} set up. (Read your \MF{} manual to see how to do +this.% + \footnote{If you are new to running \MF, the document + \textit{Metafont for Beginners}, by \hbox{Geoffrey Tobin}, is a good + start. Fetch \file{CTAN/info/metafont-for-beginners.tex}. + `\file{CTAN}' means the Comprehensive \TeX{} Archive Network. You + can find the mirror nearest you by pointing your browser at + \file{http://www.ctan.org/}.}) % +Typically, you just type +\begin{verbatim} + mf pics.mf +\end{verbatim} +or, to use a particular printer mode such as \texttt{ljfour}, possibly +something like +\begin{verbatim} + mf '\mode:=ljfour; input pics.mf' +\end{verbatim} +This produces a \file{pics.tfm} file and a GF file with a name something +like \file{pics.600gf}. The actual number may be different and the +extension may get truncated on some file systems. Then you run +\prog{gftopk} on the GF file to produce a PK font file. (Read your +\prog{gftopk} manual on how to do this.) Typically, you just run +\begin{verbatim} + gftopk pics.600gf +\end{verbatim} +(or possibly \ \verb$gftopk pics.600gf pics.600pk$ \ or \ +\verb$gftopk pics.600gf pics.pk$ ). + +Now you have the font (the \file{.pk} file) and font metric file (the +\file{.tfm}) generated by \MF, reprocess the file \file{pictures.tex} +with \TeX. The resulting DVI file should now be complete, and you should +be able to print and view it at your computer (assuming your viewer and +print driver have been set up to be able to find the PK font generated +from \file{pics.mf}). You can delete \file{pics.600gf} and +\file{pics.log}. + +If you use \mfp{} with the \opt{metapost} option (this would require you +to edit \file{pictures.tex} or \file{lapictures.tex}. See +chapter~\ref{options} for how to do this), then \file{pics.mp} is +produced, and you need to replace the \MF/\prog{gftopk} steps with the +single step of running \MP. (Read your \MP{} documentation on how to do +this.% + \footnote{The document \textit{Some experiences on running Metafont + and MetaPost}, by Peter Wilson, can be useful for beginners. Fetch + \file{CTAN/info/metafp.pdf}.}) % +Typically just +\begin{verbatim} + mpost pics.mp +\end{verbatim} +or possibly \ \verb$mp pics.mp$ . + +After reprocessing \file{pictures.tex} with \TeX{} you should then be +able to run dvips on the resulting DVI file and print or view its \PS{} +output. It \pdfTeX{} is used instead of \TeX{} on the second run, you +should be able to view the resulting PDF file with the pictures +included. + +It is not advisable to rely on automatic font generation to create the +\file{.tfm} and \file{.pk} files. (Different systems do this in +different ways, so here I will try to give a generic explanation.) The +reason: later editing of a figure will require new files to be built, +and most automatic systems will \emph{not} remake the files once they +have been created. This is not so much a problem with the \file{.tfm}, +as \mfp{} never tries to load the font if the \file{.tfm} is absent and +therefore no automatic \file{.tfm}-making should ever be triggered. +However, if you forget to run \prog{gftopk}, then try to view your +resulting file, you may have to search your system and delete some +automatically generated \file{.pk} file (they can turn up in +unpredictable places) before you can see any later changes. It might +be wise to write a shell script (batch file) that (1)~runs \MF, (2)~runs +\prog{gftopk} if step~1 returns no error, (3)~deletes the \file{.tfm} if +the \file{.pk} file does not exist. That way, if anything goes wrong, +the \file{.dvi} will not contain the font (\mfp{} will draw a rectangle +and the figure number in place of the figure). + +These processing steps---processing with \TeX, processing with +\MF/\prog{gftopk}, and reprocessing with \TeX---may not always be +necessary. In particular, if you change the \TeX{} document without +making any changes at all to the pictures, then there will be no need to +repeat the \MF{} or \MP{} steps. + +There are also somewhat subtle circumstance under which you can skip the +second \TeX{} step after editing a file that has gone through the above +process. Listing the exact cirumstances is rather involved, so it is +recommended that you always repeat the \TeX{} step if changes have been +made. + +What makes \mfp{} work? When you run \TeX{} on the file +\file{pictures.tex}, the \mfp{} macros issue \TeX{} \cs{write +commands}, writing \MF{} (or \MP) commands to a file \file{pics.mf} (or +\file{pics.mp}). The user should never have to read or change the +file \file{pics.mf} directly---the \mfp{} macros take care of it. + +The enterprising user can determine by examining the \mfp{} source and +the resulting \MF{} file, that \mfp{} drawing macros translate almost +directly into similar \MF/\MP{} commands, defined in one of the files +\file{grafbase.mf} or \file{grafbase.mp}. The labels and +captions, however, are placed on the graph by \TeX{} using box +placement techniques similar to those used in \LaTeX's \env{picture} +environment (except when option \opt{mplabels} is in effect, in which +case \MP{} places the labels). + + +\clearpage +\section{Options.}\label{options} + +There are now several options to the \mfp{} package. These can be listed +in the standard \LaTeX{} \cs{usepackage} optional argument, or can be +turned on with certain provided commands (the only possibility for plain +\TeX). Some options can be switched off and on throughout the document. +Here we merely list them and provide a general description of their +purpose. More details may be found later in the discussion of the +features affected. The headings below give the option name, the +alternative macro and, if available, the command for turning off the +option. Any option not among those given below will be passed on to the +\prog{graphics} package, provided the \opt{metapost} option has been +used. + +If the file \file{mfpic.cfg} exists, it will be input just before all +options are processed. You can create such a file containing an +\cs{ExecuteOptions} command to execute any options you would like to +have as default. Actual options to \cs{usepackage} will override these +defaults, of course. And so will any of the commands below. + +If the file \file{mfpic.usr} exists, it will be input at the end of the +loading of \mfp. The user can create such a file containing any of the +commands of this section that he would like to have as default. + +\subsection{\opt{metapost}, \cs{usemetapost}}\label{metapost} +\index{metapost@\opt{metapost}}\index{usemetapost@\cs{usemetapost}} + +Selects \MP{} as the figure processor and makes specific features +available. It changes the extension used on the output file to +\file{.mp} to signal that it can no longer be processed with \MF. There +is also a \opt{metafont} option (command \cs{usemetafont}), but it is +redundant, as \MF{} is the default. Either command must come before the +\cs{opengraphsfile} command (see section~\ref{files}). They should not +be used together in the same document. (Actually, they can but one needs +to close one output file and open another. Moreover, it hasn't ever been +seriously tested, and it wasn't taken into consideration in writing most +of the macros.) If the command form \cs{usemetapost} is used in a +\LaTeXe{} document, it must come in the preamble. Because of the timing +of actions by the \prog{babel} package and by older versions of +\file{supp-pdf.tex} (input by \file{pdftex.def} in the \prog{graphics} +package), when \pdfLaTeX{} is used \mfp{} should be loaded and +\cs{usemetapost} (if used) declared before \prog{babel} is loaded. + + +\subsection{\opt{mplabels}, \cs{usemplabels}, +\cs{nomplabels}}\label{mplabels} +\index{mplabels@\opt{mplabels}}\index{usemplabels@\cs{usemplabels}}% +\index{nomplabels@\cs{nomplabels}} + +Causes all label creation commands to write their contents to the output +file. It has no effect on the \cs{tcaption} command. In this case labels +are handled by \MP{} and can be rotated. It requires \MP, and will be be +ignored without it (\MF{} cannot handle labels). It may also produce an +error either from \TeX{} or \MF. Otherwise the commands can come +anywhere and affect subsequent \cs{tlabel} commands. When this is in +effect, the labels become part of the figure and, in the default +handling, they may be clipped off or covered up by later drawing +elements. But see the next section on the \opt{overlaylabels} option. +Labels added to a picture contribute to the bounding box even if +\opt{truebbox} is not in effect. + +The user is responsible for adding the appropriate \mfc{verbatimtex} +header to the output file if necessary. For this purpose, there is the +\cs{mfpverbtex} command, see section~\ref{labels}. If +the label text contains only valid plain \TeX{} macros, there is +generally no need for a \mfc{verbatimtex} preamble at all. If you add a +\mfc{verbatimtex} preamble of \LaTeX{} code take care to make sure \MP{} +calls \LaTeX{} (for example, by setting the environmental variable +\texttt{TEX} to \texttt{latex} in the command shell of your operating +system.). + + +\subsection{\opt{overlaylabels}, \cs{overlaylabels}, \cs{nooverlaylabels}} +\label{overlaylabels} +\index{overlaylabels@\opt{overlaylabels}}% +\index{overlaylabels@\cs{overlaylabels}}% +\index{nooverlaylabels@\cs{nooverlaylabels}} + +In the past, under \opt{mplabels} all text labels created by \cs{tlabel} +and its relatives were added to the picture by \MP{} \emph{as they +occurred}. This made them subject to later drawing commands: they could +be covered up, erased, or clipped. With this option (or after the +command \cs{overlaylabels}) text labels are saved in a separate place +from the rest of a picture. When a picture is completed, the labels that +were saved are added on top of it. This is the way labels always behave +under the \opt{metafont} option, because then \TeX{} must add the labels +and there is no possibility for special effects involving clipping or +erasing (at the \MF{} level). + +With the \opt{metapost} option, but without \opt{mplabels} it has been +decided to keep the same behavior (and the same code) as under the +\opt{metafont} option. However, when \opt{mplabels} is used, there is +the possibility for special effects with text, and it has always been +the behavior before this version to simply place the labels as they +occurred. It turns out that placing the labels at the end is cleaner and +simpler to code, so I experimented with it and rejected it as a default, +but now offer it as an option. With this option, \mfp{} labels have +almost the same behavior with or without \opt{mplabels}. + + +\subsection{\opt{truebbox}, \cs{usetruebbox}, +\cs{notruebbox}}\label{truebbox} +\index{truebbox@\opt{truebbox}}\index{usetruebbox@\cs{usetruebbox}}% +\index{notruebbox@\cs{notruebbox}} + +Normally \MP{} outputs an EPS file with the actual bounding box of the +figure. By default, \mfp{} \emph{overrides} this and sets the bounding +box to the dimensions specified by the \cs{mfpic} command that produced +it. (This used to be needed for \TeX{} is to handle \cs{tlabel} commands +correctly. Now, it is just for backward compatability, and for +compatability with \MF's behavior.) It is reasonable to let \MP{} have +its way, and that is what this option does. If one of the command forms +is used in an \env{mfpic} environment, it affects only that environment, +otherwise it affects all subsequent figures. This option currently has +no effect with \MF, but should cause no errors. + + +\subsection{\opt{clip}, \cs{clipmfpic}, \cs{noclipmfpic}}\label{clip} +\index{clip@\opt{clip}}\index{clipmfpic@\cs{clipmfpic}}% +\index{noclipmfpic@\cs{noclipmfpic}} + +Causes all parts of the figure outside the rectangle specified by the +\cs{mfpic} command to be removed. The commands can come anywhere. If +issued inside an \env{mfpic} environment they affect the current figure +only. Otherwise all subsequent figures are affected. Note: this is a +rather rudimentary option. It has an often unexpected interaction with +truebbox. When both are in effect, \MP{} will produce a bounding box +that is the intersection of two rectangles: the true one \emph{without +clipping}, and the box specified in the \cs{mfpic} command. It is +possible that the actual figure will be much smaller (even empty!). This +is a property of the \MP{} \gbc{clip} command and we know of no way to +avoid it. + + +\subsection{\opt{centeredcaptions}, \cs{usecenteredcaptions}, +\cs{nocenteredcaptions}}\label{centeredcaptions} +\index{centeredcaptions@\opt{centeredcaptions}}% +\index{usecenteredcaptions@\cs{usecenteredcaptions}}% +\index{nocenteredcaptions@\cs{nocenteredcaptions}} + +Causes multiline captions created by \cs{tcaption} to have all lines +centered. This has no effect on the normal \LaTeX{} \cs{caption} +command.% + \footnote{This writer [DHL] feels that \cs{tcaption} is too limited + and users ought to apply the caption by other means, such as + \LaTeX's \cs{caption} command, outside the \env{mfpic} + environment.} % +The commands can be issued anywhere. If inside an \env{mfpic} +environment they should come before the \cs{tcaption} command and affect +only it, otherwise they affect all subsequent figures. + +\subsection{\opt{debug}, \cs{mfpicdebugtrue}, +\cs{mfpicdebugfalse}}\label{debug} +\index{debug@\opt{debug}}\index{mfpicdebugtrue@\cs{mfpicdebugtrue}}% +\index{mfpicdebugfalse@\cs{mfpicdebugfalse}} + +Causes \mfp{} to write a rather large amount of information to the +\file{.log} file and sometimes to the terminal. Debug information +generated by \file{mfpic.tex} \emph{while loading} is probably of +interest only to developers, but can be turned on by giving a definition +to the command \cs{mfpicdebug} prior to loading. + +\subsection{\opt{clearsymbols}, \cs{clearsymbols}, \cs{noclearsymbols}} +\index{clearsymbols@\opt{clearsymbols}} +\index{clearsymbols@\cs{clearsymbols}} +\index{noclearsymbols@\cs{noclearsymbols}} + +\Mfp{} has two commands, \cs{point} and \cs{plotsymbol} that place a +small symbol at each of a list of points. The first can place either a +small filled disk or an open disk, the choice being dictated by the +setting of the boolean \cs{pointfilltrue} or \cs{pointfillfalse}. The +behavior of \cs{point} in the case of \cs{pointfillfalse} is to erase the +interior of the disk in addition to drawing its circumference. + +The second command \cs{plotsymbol} can place a variety of shapes, some +open, some not. Its behavior until now was always simply to draw the +shape without erasing the interior. Two other commands that placed these +symbols, \cs{plotnodes} and \cs{plot}, had the same behavior. With this +option, two of these, \cs{plotsymbol} and \cs{plotnodes}, will erase the +interior of the open symbols before drawing them. Thus +\cs{plotsymbol}\marg{SolidCircle} still works just like +\cs{pointfilltrue}\cs{point}, and now with this option +\cs{plotsymbol}\marg{Circle} behaves the same as +\cs{pointfillfalse}\cs{point}. The \cs{plot} command is unaffected by +this option. + + +\subsection{\opt{draft}, \opt{final}, \opt{nowrite}, \cs{mfpicdraft}, + \cs{mfpicfinal}, \cs{mfpicnowrite}}\label{draft} +\index{draft@\opt{draft}}\index{final@\opt{final}}% +\index{nowrite@\opt{nowrite}}\index{mfpicdraft@\cs{mfpicdraft}}% +\index{mfpicfinal@\cs{mfpicfinal}}\index{mfpicnowrite@\cs{mfpicnowrite}} + +Under the \opt{metapost} option, the various macros that include the +\EPS{} files emit rather large amounts of confusing error messages when +the files don't exist (especially in \LaTeX). For this reason, before +each picture is placed, \mfp{} checks for the existence of the +graphic before trying to include it. However, on some systems checking +for the existence of a nonexistent file can be very slow because the +entire \TeX{} search path will need to be checked. Therefore, \mfp{} +doesn't even attempt any inclusion on the first run. The first run is +detected by the non-existence of \file{\meta{file}.1}, where \meta{file} +is the name given in the \cs{opengraphsfile} command (but see also +section~\ref{files}). These options can be used to override this +automatic detection. All the command versions should come \emph{before} +the \cs{opengraphsfile} command. The \cs{mfpicnowrite} command +\emph{must} come before it. + +These options might be used if, for example, the first figure has an +error and is not created by \MP, but you would like \mfp{} to go +ahead and include the remaining figures. Then use \opt{final}. It can +also be used to override a \LaTeX{} global \opt{draft} option. Or if +\file{\meta{file}.1} exists, but other figures still have errors and you +would like several runs to be treated as first runs until \MP{} has +stopped issuing error messages, then use \opt{draft}. These commands +also work under the \opt{metafont} option, but time and error messages +are less of an issue then. If all the figures have been created and +debugged, some time might be saved (with either \opt{metafont} or +\opt{metapost}) by not writing the output file again, then \opt{nowrite} +can be used. + + +\subsection{Option Scoping Rules}\label{scoping} + +Some of these options merely change \TeX{} behavior, others write +information to the output file for \MF{} or \MP. Changes in \TeX{} +behavior obey the normal \TeX{} grouping rules, the information written +to the output file obeys \MF{} grouping rules. Since each \env{mfpic} +environment is both a \TeX{} group and (corresponds to) a \MF{} group, +the following always holds: use of one of the command forms inside of an +\env{mfpic} environment makes the change local to that environment. + +An effort has been made (as of version 0.7) to make this universal. That +is, any of the commands listed above for turning options on and off will +be global when issued outside an \env{mfpic} environment. The debug +commands are exceptions; they obey all \TeX{} scoping rules. + +We have also tried to make all other \mfp{} commands for changing the +various parameters follow this rule: local inside \env{mfpic} +environment, global outside. However, as of this writing I don't +claim to have caught every one. + +The following are special: +\cs{usemetapost}\index{usemetapost@\cs{usemetapost}}, +\cs{usemetafont}\index{usemetafont@\cs{usemetafont}}, +\cs{mfpicdraft}\index{mfpicdraft@\cs{mfpicdraft}}, +\cs{mfpicfinal}\index{mfpicfinal@\cs{mfpicfinal}}, +and +\cs{mfpicnowrite}\index{mfpicnowrite@\cs{mfpicnowrite}}. +Their effects are always global, partly because they should occur prior +to the initialization command \cs{opengraphsfile} (described in +section~\ref{files}). Note that \cs{usemetapost} may cause a file of +graphic inclusion macros to be input. If this command is issued inside a +group, some definitions in that file may be lost, breaking the graphic +inclusion code. + +\clearpage +\section{The Macros.}\label{macros} + +In these descriptions we will often refer to `\MF{}' when we really mean +`\MF{} or \MP{}'. This will especially be the case whenever we need to +refer to commands in the two languages which are substantially the same, +but occasionally we will even talk about running `\MF{}' when we mean +running one or the other to process the figures. If we need to +discriminate between the two processors, (for example when they have +different behavior) we will make the difference explicit. + +A similar shorthand is used when referring to \TeX{}. It should not be +taken to mean plain\TeX, but rather whatever version of \TeX{} is used +to process the source file: \LaTeX, \pdfTeX, \pdfLaTeX, etc. + +Many of the commands of \mfp{} have optional arguments. These are +denoted just as in \LaTeX, with square brackets. Thus, the command for +drawing a circle can be given +\begin{ex} + \cs{circle}\marg{(0,0),1} +\end{ex} +having only the mandatory argument, or +\begin{ex} + \cs{circle}\oarg{p}\marg{(0,0),1} +\end{ex} +Whenever an optional argument is omitted, the behavior is equivalent to +some choice of the optional argument. In this example, the two forms +have exactly the same behavior, drawing a circle centered at $(0,0)$ +with radius $1$. In this case we will say that \oarg{p} is the +\emph{default}. Another example is \cs{point}\marg{(1,0)} versus +\cs{point}\oarg{3pt}\marg{(1,0)}. They both place a dot at the point +$(1,0)$. The second one explicitly request that it have diameter +\dim{3pt}; the first will examine the length command \cs{pointsize}, +which the user can change, but it is initialized to \dim{2pt}. In this +case we will say the default is the value of \cs{pointsize}, +\emph{initially \dim{2pt}}. + +Optional arguments for \mfp{} commands may consist of empty brackets +(completely empty, no spaces) and the default will be used. This is +useful only for commands that have two optional arguments and one only +wants to change from the defaults in the second one. An optional +argument should normally not contain any spaces. Even when the argument +contains more than one piece of data, spaces should not separate the +parts. In many cases (perhaps most) this will cause no harm, but it +would be better to avoid doing it altogether. + + +\subsection{Files and Environments.}\label{files} + +\begin{cd} +\cs{opengraphsfile}\marg{\meta{file}}\\ + \ $\ldots$\\ +\cs{closegraphsfile}% +\index{opengraphsfile@\cs{opengraphsfile}}% +\index{closegraphsfile@\cs{closegraphsfile}} +\end{cd} + +These macros open and close the \MF{} or \MP{} file which will contain +the pictures to be included in this document. The name of the file will +be \file{\meta{file}.mf} (or \file{\meta{file}.mp}). Do \emph{not} +specify the extension, which is added automatically. + +\emph{Note}: This command will cause \file{\meta{file}.mf} or +\file{\meta{file}.mp} to be overwritten if it already exists, so be sure +to consider that when selecting the name. Repeating the running of +\TeX{} will overwrite the file created on previous runs, but that should +be harmless. For if no changes are made to \env{mfpic} environments, the +identical file will be recreated, and if changes have been made, then +you want the file to be replaced with the new version. + +It is possible (but \emph{has not} been seriously tested) to close one +file and open another, and even to change between \opt{metapost} and +\opt{metafont} in between. If anything goes wrong with this, contact the +maintainer and it might be fixed in some later version. + +\begin{cd} +\cs{mfpic}\oarg{\meta{xscale}}\oarg{\meta{yscale}}% + \marg{\meta{xmin}}\marg{\meta{xmax}}\marg{\meta{ymin}}\marg{\meta{ymax}}\\ + \ $\ldots$\\ +\cs{endmfpic}% +\index{mfpic@\cs{mfpic}}\index{endmfpic@\cs{endmfpic}} +\end{cd} + +These macros open and close the \env{mfpic} environment in which most of +the rest of the macros make sense. The \cs{mfpic} macro also sets up the +local coordinate system for the picture. The \meta{xscale} and +\meta{yscale} parameters establish the length of a coordinate system +unit, as a multiple of the \TeX{} dimension \cs{mfpicunit}. If neither +is specified, both are taken to be 1 (i.e., each coordinate system unit +is 1 \cs{mfpicunit}). If only one is specified, then they are assumed to +be equal. The \meta{xmin} and \meta{xmax} parameters establish the lower +and upper bounds for the $x$-axis coordinates; similarly, \meta{ymin} +and \meta{ymax} establish the bounds for the $y$-axis. These bounds are +expressed in local units---in other words, the actual width of the +picture will be $(\meta{xmax}-\meta{xmin})\cdot\meta{xscale}$ times +\cs{mfpicunit}, its height $(\meta{ymax}-\meta{ymin})\cdot\meta{yscale}$ +times \cs{mfpicunit}, and its depth zero. One can scale all pictures +uniformly by changing \cs{mfpicunit}, and scale an individual picture by +changing \meta{xscale} and \meta{yscale}. After loading \mfp, +\cs{mfpicunit} has the value \dim{1pt}. One \texttt{pt} is a +\emph{printer's point}, which equals 1/72.27 inches or 0.35146 +millimeters. + +\emph{Note}: Changing \cs{mfpicunit} or the optional parameters will +scale the coordinate system, but not the values of certain parameters +that are defined in absolute units. Examples of these are the default +width of the drawing pen, the default lengths of arrowheads, the default +sizes of dashes and dots, etc. If you wish, you can set these to +multiples of \cs{mfpicunit}, but it is difficult (and probably unwise) +to get them to scale along with the scale parameters. + +In addition to establishing the coordinate system, these scales and +bounds are used to establish the metric for the \MF{} character or +bounding box for the \MP{} figure described within the environment. If +any of these parameters are changed, the \file{.tfm} file (\MF) or the +bounding box (\MP) will be affected, so you will have to be sure to +reprocess the \TeX{} file after processing the \file{.mf} or \file{.mp} +file, even if no other changes are made in the figure. + +\begin{cd} +\cs{mfpicnumber}\marg{\meta{num}}% +\index{mfpicnumber@\cs{mfpicnumber}} +\end{cd} + +Normally, \cs{mfpic} assigns the number 1 to the first \env{mfpic} +environment, after which the number is increased by one for each new +\env{mfpic} environment. This number is used internally to include the +picture. It is also transmitted to the output file where it is used as +the argument to a \gbc{beginmfpic} command. In \MF{} this number becomes +the position of the character in the font file, while in \MP{} it is the +extension on the graphic file that is output. The above command tells +\mfp{} to ignore this sequence and number the next \env{mfpic} +figure with \meta{num} (and the one after that $\meta{num}+1$, etc.). It +is up to the user to make sure no number is repeated, as no checking is +done. Numbers greater than 255 may cause errors, as \TeX{} assumes that +characters are represented by 8-bit numbers. If the first figure is to +be numbered something other than $1$, then, under the \opt{metapost} +option, this command should come before \cs{opengraphsfile}, as that +command checks for the existence of the first numbered figure to +determine if there are figures to be included. + +\begin{cd} +\cs{begin}\marg{mfpic}\texttt{...}\cs{end}\marg{mfpic}% +\index{begin@\cs{begin}\marg{mfpic}} +\end{cd} + +In \LaTeX, instead of \cs{mfpic} and \cs{endmfpic}, you may prefer to +use \cs{begin}\marg{mfpic} and \cs{end}\marg{mfpic}. This is by no means +required: in \LaTeX{} \cs{begin}\marg{command} invokes \cs{command}, and +\cs{end}\marg{command} invokes \cs{endcommand}, for any environment +\env{command}. + +The sample file \file{lapictures.tex} provided with \mfp{} +illustrates this use of an \env{mfpic} environment in \LaTeX. + +\medskip +The rest of the \mfp{} macros do not affect the font metric file +(\file{\meta{file}.tfm}), and so if these commands are changed or added +in your document, you will not have to repeat the third step of +processing (reprocessing with \TeX) to complete your \TeX{} document. +The same is true when option \opt{metapost} is selected without the +\opt{truebbox} option, except under \pdfTeX{} or \pdfLaTeX. Those \TeX{} +programs will embed the figures right in the \file{.pdf} output. For +normal \LaTeX{} + \prog{dvips}, the figures are embedded by +\prog{dvips}, which must always be repeated. + +\medskip +For the remainder of the macros, the numerical parameters are expressed +in the units of the local coordinate system specified by \cs{mfpic}, +unless otherwise indicated. + + +\subsection{Figures.}\label{figures} + +\subsubsection{\CMF{} Pairs.}\label{pairs} + +Since many of the arguments of the \mfp{} drawing commands are +sent to \MF{} to be interpreted, it's useful to know something about +\MF{} concepts. + +In particular, \MF{} has \mfc{pair} objects, which may be constants or +variables. Pair constants have the form \mfc{($x$,$y$)}. Pairs are +two-dimensional rectangular (cartesian) quantities, and are clearly +useful for representing both points and vectors on the plane. + +Moreover, we herein often represent each pair by a brief name, such as +$p$, $v$ or $c$, the meanings of which are usually obvious in the +context of the macro. The succinctness of this notation also helps us to +think geometrically rather than only of coordinates. + +\CMP{} has these same concepts, but also has color objects, which may +also be constants or variables. Color constants have the form +\mfc{($r$,$g$,$b$)} where $r$, $g$, and $b$ are numbers between $0$ and +$1$ determining the relative proportions of red, green and blue in the +color (rgb model). A color variable is a name, like \mfc{magenta} or +\mfc{RoyalBlue} (predefined). There are also color functions like +\mfc{cmyk($x$,$y$,$z$,$w$)} which is defined to convert cmyk values into +\MP's native rgb model. + +Some commands depend on the value of separately defined parameters. All +these parameters are initialized when \mfp{} is loaded. In the following +descriptions we give the initial value of all the relevant parameters. +When \MP{} output is selected, figures can be drawn in any color. +Several of the above mentioned parameters are colors. \Mfp{} provides +commands to change any of these parameters. + + +\subsubsection{Points, Lines, and Rectangles.}\label{points} + +\begin{cd} +\cs{pointdef}\marg{\meta{name}}\texttt{($x$,$y$)}% +\index{pointdef@\cs{pointdef}} +\end{cd} + +Defines a symbolic name for points and their coordinates. \meta{name} is +any legal \TeX{} command name \emph{without} the backslash; $x$ and $y$ +are any numbers. For example, after the command +\cs{pointdef}\marg{A}\texttt{(1,3)}, \cs{A} expands to \texttt{(1,3)}, while +\cs{Ax} and \cs{Ay} expand to \texttt{1} and \texttt{3}, respectively. Because +of the way \cs{tlabel} is defined (see section~\ref{labels} below), one +cannot use \cs{A} to specify where to place a label (unless +\opt{mplabels} is in effect), but must use \texttt{ (\cs{Ax},\cs{Ay})}. In +most other commands, one can use \cs{A} where a pair or point is +required. + +\begin{cd} +\cs{point}\oarg{\meta{ptsize}}\marg{\meta{$p_0$},\meta{$p_1$},$\ldots$}% +\index{point@\cs{point}} +\end{cd} + +Draws small disks centered at the points \meta{$p_0$}, \meta{$p_1$}, and +so on. If the optional argument \meta{ptsize} is present, it determines +the diameter of the disks, which otherwise equals the \TeX{} dimension +\cs{pointsize}, initially \dim{2pt}. The disks have a filled interior if +the command \cs{pointfilltrue} has been issued (the initial value), +\cs{pointfillfalse} causes the interior to be erased and an outline +drawn. The color of the circles is the value of the predefined variable +\gbc{pointcolor}, and the inside of the open circles is the value of +\mfc{background}. + +\begin{cd} +\cs{plotsymbol}\oarg{\meta{size}}\marg{\meta{symbol}}% +\marg{\meta{$p_0$},\meta{$p_1$},$\ldots$}% +\index{plotsymbol@\cs{plotsymbol}} +\end{cd} + +Draws small symbols centered at the points \meta{$p_0$}, \meta{$p_1$}, +and so on. The symbols must be given by name, and the available symbols +are +\gbc{Asterisk}\index{Asterisk@\gbc{Asterisk}}, +\gbc{Circle}\index{Circle@\gbc{Circle}}, +\gbc{Diamond}\index{Diamond@\gbc{Diamond}}, +\gbc{Square}\index{Square@\gbc{Square}}, +\gbc{Triangle}\index{Triangle@\gbc{Triangle}}, +\gbc{Star}\index{Star@\gbc{Star}}, +\gbc{SolidCircle}\index{SolidCircle@\gbc{SolidCircle}}, +\gbc{SolidDiamond}\index{SolidDiamond@\gbc{SolidDiamond}}, +\gbc{SolidSquare}\index{SolidSquare@\gbc{SolidSquare}}, +\gbc{SolidTriangle}\index{SolidTriangle@\gbc{SolidTriangle}}, +\gbc{SolidStar}\index{SolidStar@\gbc{SolidStar}}, +\gbc{Cross}\index{Cross@\gbc{Cross}} and +\gbc{Plus}\index{Plus@\gbc{Plus}}. +The names should be self-explanatory. Under \opt{metapost}, symbols are +drawn in \gbc{pointcolor}. The \meta{size} defaults to \cs{pointsize} as +in \cs{point} above. \gbc{Asterisk} consists of six +line segments while \gbc{Star} is the standard closed, ten-sided +polygon. The name `\cs{plotsymbol}' comes from the fact that the \cs{plot} +command, which was written first, utilizes these same symbols. The command +\cs{symbol} was already taken (standard \LaTeX). + +The difference between \cs{pointfillfalse}\cs{point}$\ldots$ and +\cs{plotsymbol}\marg{Circle}$\ldots$ is that the inside of the circle +will not be erased in the second version (i.e., whatever else has already +been drawn in that area will remain visible). This is the default (for +backward compatibility), but that can be changed with the commands +below. + +\begin{cd} +\cs{clearsymbols}\\ +\cs{noclearsymbols}% +\index{clearsymbols@\cs{clearsymbols}}% +\index{noclearsymbols@\cs{noclearsymbols}} +\end{cd} + +After the first of these two commands, subsequent \cs{plotsymbol} +commands will draw the open symbols with their interiors erased. After +the second, the default behavior (described above) will be restored. +These commands have no effect on \cs{point}. \cs{plotnodes} (see +subsection~\ref{drawing}) also responds to the settings made by these +commands. The \cs{plot} command (also in subsection~\ref{drawing}) does +not. + +\begin{cd} +\cs{polyline}\marg{\meta{$p_0$},\meta{$p_1$},$\ldots$}\\ +\cs{lines}\marg{\meta{$p_0$},\meta{$p_1$},$\ldots$}% +\index{polyline@\cs{polyline}}\index{lines@\cs{lines}} +\end{cd} + +Draws the line segment with endpoints at \meta{$p_0$} and \meta{$p_1$}, +then the line segment with endpoints at \meta{$p_1$} and \meta{$p_2$}, +etc. The result is an open polygonal path through the specified points, +in the specified order. \cs{polyline} and \cs{lines} mean the same +thing. + +\begin{cd} +\cs{polygon}\marg{\meta{$p_0$},\meta{$p_1$},$\ldots$}% +\index{polygon@\cs{polygon}} +\end{cd} + +Draws a closed polygon with vertices at the specified points in the +specified order. + +\begin{cd} +\cs{rect}\marg{\meta{$p_0$},\meta{$p_1$}}% +\index{rect@\cs{rect}} +\end{cd} + +Draws the rectangle specified by the points \meta{$p_0$} and +\meta{$p_1$}, these being either pair of opposite corners of the +rectangle in any order. + +It is occasionally helpful to know that connected paths like those +produced by \cs{polyline} or \cs{rect} have a \emph{sense} (a +direction). The sense of \cs{polyline} is the direction determined by +the order of the points. For \cs{rect} the sense may be clockwise or +anticlockwise depending on the corners used: it begins at the first of +the two points and goes horizontally from there. + +\begin{cd} +\cs{regpolygon}\marg{\meta{num}}\marg{\meta{name}}% +\marg{\meta{eqn$_1$}}\marg{\meta{eqn$_2$}}% +\index{regpolygon@\cs{regpolygon}} +\end{cd} + +This produces a regular polygon with \meta{num} sides. The second +argument, \meta{name} is a symbolic name. It can be used to refer to the +vertices later. The last two arguments should be equations that position +two of the vertices or one vertex and the center. The center is refered +to by \meta{name}\gbc{0} and the vertices by \meta{name}\gbc{1} +\meta{name}\gbc{2}, etc., going anticlockwise around the polygon. The +\meta{name} itself (without a number) will be a \MF{} variable assigned +the value of \meta{num}. For example, +\begin{ex} +\cs{regpolygon}\marg{5}\marg{Meg}\marg{Meg0=(0,1)}\marg{Meg1=(2,0)} +\end{ex} +will produce a regular pentagon with its center at $(0,1)$ and its first +vertex at $(2,0)$. One could later draw a star inside it with +\begin{ex} +\cs{polygon}\marg{Meg1,Meg3,Meg5,Meg2,Meg4} +\end{ex} +Moreover, \gbc{Meg} will equal $5$. +The name given becomes a \MF{} variable and care should be taken to make +the name distinctive so as not to redefine some internal variable. + +\subsubsection{A Word on List Arguments}\label{list} + +We have seen already four \mfp{} macros that take a mandatory argument +consisting of a list of coordinate pairs. There are many more, and some +that take a comma-separated lists of other types of items. If the lists +are long, especially if they are generated by a program, it might be +more convenient if one could simply refer to an external file for the +data. This is possible, and one does it the following way: instead of +\cs{lines}\marg{\meta{list}}, one can write\index{datafile@\cs{datafile}} +\begin{ex} +\cs{lines}\cs{datafile}\marg{\meta{filename}} +\end{ex} +where \meta{filename} is the full name of the file containing the data. +The required format of this file and the details of this usage can be +found in subsection~\ref{external}. This method is available for any +command that takes a comma-separated list of data as its last argument, +\emph{with the exception of those commands that adds text to the +picture}. Examples of the latter are \cs{plottext} and \cs{axislabels} +(subsection~\ref{text}). + +\subsubsection{Axes, Axis Marks, and Grids.}\label{axes} + +\begin{cd} +\cs{axes}\oarg{\meta{hlen}}\\ +\cs{xaxis}\oarg{\meta{hlen}}\\ +\cs{yaxis}\oarg{\meta{hlen}}% +\index{axes@\cs{axes}}% +\index{xaxis@\cs{xaxis}}% +\index{yaxis@\cs{yaxis}} +\end{cd} + +These are retained for backward compatibility, but there are more +flexible alternatives below. They draw $x$- and $y$-axes for the +coordinate system. The command \cs{axes} is equivalent to \cs{xaxis} +followed by \cs{yaxis} which produce the obvious. The $x$- and $y$-axes +extend the full width and height of the \env{mfpic} environment. The +optional \meta{hlen} sets the length of the arrowhead on each axis. The +default is the value of the \TeX{} dimension \cs{axisheadlen}, initially +\dim{5pt}. The shape of the arrowhead is determined as in the \cs{arrow} +macro (section~\ref{modifier}). The color of the head is the value of +\gbc{headcolor}, the shaft is \gbc{drawcolor}. + +Unlike other commands that produce lines or curves, these do not respond +to the prefix macros of sections \ref{modifier}~and \ref{rendering}. +They always draw a solid line (with an arrowhead unless \cs{axisheadlen} +is \dim{0pt}). They \emph{do} respond to changes in the pen thickness +(see \cs{penwd} in section~\ref{parameters}) but that is pretty much the +only possibility for variation. + +\begin{cd} +\cs{axis}\oarg{\meta{hlen}}\marg{\meta{one-axis}}\\ +\cs{doaxes}\oarg{\meta{hlen}}\marg{\meta{axis-list}}% +\index{axis@\cs{axis}} +\index{doaxes@\cs{doaxes}} +\end{cd} + +These produce any of 6 different axes. The parameter \meta{one-axis} can +be \texttt{x} or \texttt{y}, to produce (almost) the equivalent of \cs{xaxis} +and \cs{yaxis}; or it can be \texttt{l}, \texttt{b}, \texttt{r}, or \texttt{t} to +produce an axis on the border of the picture (left, bottom, right or +top, respectively). \cs{doaxes} takes a list of any or all of the six +letters (with either spaces or nothing in between) and produces the +appropriate axes. Example: \cs{doaxes}\marg{lbrt}. The optional argument +sets the length of the arrowhead. In the case of axes on the edges, the +default is the value of \cs{sideheadlen}, which \mfp{} +initializes to \dim{0pt}. For the $x$- and $y$-axis the default is +\cs{axisheadlen} as in \cs{xaxis} and \cs{yaxis} above. + +The commands \cs{axis}\marg{x}, \cs{axis}\marg{y}, and +\cs{doaxes}\marg{xy} differ from the old \cs{xaxis}, \cs{yaxis} and +\cs{axes} in that these new versions respond to changes made by +\cs{setrender} (see subsection~\ref{default}). Moreover, prefix macros +may be applied to \cs{axis} without error (see sections +\ref{modifier}~and \ref{rendering}): \cs{dotted}\cs{axis}\marg{x} draws +a dotted $x$-axis, but \cs{dotted}\cs{xaxis} produces a \MF{} error. A +prefix macro applied to \cs{doaxes} generates no error, but only the +first axis in the list will be affected. + +The side axes are drawn by default with a pen stroke along the very edge +of the picture (as determined by the parameters to \cs{mfpic}). This can +be changed with the command \cs{axismargin} described below. + +Axes on the edges are drawn so that they don't cross each other. +\cs{doaxes}\marg{lbrt}, for example, produces a perfect rectangle. If the +$x$- and $y$-axis are drawn with \cs{axis} or \cs{doaxis}, then they +will not cross the side axes. For this to work properly, all the +following margin settings have to be done before the axes are drawn. + +\begin{cd} +\cs{axismargin}\marg{\meta{axis}}\marg{\meta{num}}\\ +\cs{setaxismargins}\marg{\meta{num}}\marg{\meta{num}}\marg{\meta{num}}\marg{\meta{num}}\\ +\cs{setallaxismargins}\marg{\meta{num}}% +\index{axismargin@\cs{axismargin}}% +\index{setaxismargins@\cs{setaxismargins}}% +\index{setallaxismargins@\cs{setallaxismargins}} +\end{cd} + +The \meta{axis} is one of the letters \texttt{l}, \texttt{b}, \texttt{r}, or \texttt{ +t}. \cs{axismargin} causes the given axis to be shifted \emph{inward} by +the \meta{num} specified (in \emph{graph} coordinates). The second +command \cs{setaxismargins} takes 4 arguments, using them to set the +margins starting with the left and proceeding anticlockwise. The last +command sets all the axis margins to the same value. + +A change to an axis margin affects not only the axis at that edge but +also the three axes perpendicular to it. For example, if the margins are +$M_{\mathrm{lft}}$, $M_{\mathrm{bot}}$, $M_{\mathrm{rt}}$ and +$M_{\mathrm{top}}$, then +\cs{axis b} draws a line starting $M_{\mathrm{lft}}$ graph units from the +left edge and ending $M_{\mathrm{rt}}$ units from the right edge. Of course, +the entire line is $M_{\mathrm{bot}}$ units above the bottom edge. The +margins are also respected by the $x$- and $y$-axis, but only when drawn +with \cs{axis}. The old \cs{xaxis}, \cs{yaxis} and \cs{axes} ignore +them. + +Special effects can be achieved by lying to one axis about the other +margins. + +\begin{cd} +\cs{xmarks}\oarg{\meta{len}}\marg{\meta{numberlist}}\\ +\cs{tmarks}\oarg{\meta{len}}\marg{\meta{numberlist}}\\ +\cs{bmarks}\oarg{\meta{len}}\marg{\meta{numberlist}}\\ +\cs{ymarks}\oarg{\meta{len}}\marg{\meta{numberlist}}\\ +\cs{lmarks}\oarg{\meta{len}}\marg{\meta{numberlist}}\\ +\cs{rmarks}\oarg{\meta{len}}\marg{\meta{numberlist}}\\ +\cs{axismarks}\marg{\meta{axis}}\oarg{\meta{len}}\marg{\meta{numberlist}}% +\index{xmarks@\cs{xmarks}}% +\index{tmarks@\cs{tmarks}}% +\index{bmarks@\cs{bmarks}}% +\index{ymarks@\cs{ymarks}}% +\index{lmarks@\cs{lmarks}}% +\index{rmarks@\cs{rmarks}}% +\index{axismarks@\cs{axismarks}} +\end{cd} + +These macros place hash marks on the appropriate axes at the places +indicated by the values in the list. The optional \meta{len} gives the +length of the hash marks. If \meta{len} is not specified, the \TeX{} +dimension \cs{hashlen}, initially \dim{4pt}, is used. The marks on the +$x$- and $y$-axes are centered on the respective axis; the marks on the +border axes are drawn to the inside. Both these behaviors can be +changed (see below). The commands may be repeated as often as desired. +(The timing of drawing commands can make a difference as outlined in +appendix~\ref{mpconsiderations}.) The command \cs{axismarks}\marg{x} is +equivalent to \cs{xmarks} and so on for each of the six axes. (I would +have used \cs{marks}, but e\kern-.16em\TeX{} makes that a primitive.) + +The \meta{numberlist} is normally a comma-separated list of numbers. In +place of this, one can give a starting number, an increment and an +ending number as in the following example: +\begin{ex} + \cs{xmarks}\marg{-2 step 1 until 2} +\end{ex} +is the equivalent of +\begin{ex} + \cs{xmarks}\marg{-2,-1,0,1,2} +\end{ex} + +One must use exactly the words \mfc{step} and \mfc{until}. There must be +spaces between, but the number of spaces is not +significant.% + \footnote{Experienced \MF{} programmers may recognize that anything + can be used that is permitted in \MF's \meta{forloop} syntax. Thus + the given example can also be reworded \cs{xmarks}\marg{-2 upto 2}, + or even \cs{xmarks}\marg{2 downto -2}} % +Users should be aware that if any of the numbers are non-integral then +due to natural round-off effects, the last value might be overshot and a +mark not printed there. + +\begin{cd} +\cs{setaxismarks}\marg{\meta{axis}}\marg{\meta{pos}}\\ +\cs{setbordermarks}\marg{\meta{lpos}}\marg{\meta{bpos}}\marg{\meta{rpos}}\marg{\meta{tpos}}\\ +\cs{setallbordermarks}\marg{\meta{pos}}\\ +\cs{setxmarks}\marg{\meta{pos}}\\ +\cs{setymarks}\marg{\meta{pos}}% +\index{setaxismarks@\cs{setaxismarks}}% +\index{setbordermarks@\cs{setbordermarks}}% +\index{setallbordermarks@\cs{setallbordermarks}}% +\index{setxmarks@\cs{setxmarks}}% +\index{setymarks@\cs{setymarks}}% +\end{cd} + +These set the placement of the hash marks relative to the axis. The +parameter \meta{axis} is one of the letters \texttt{x}, \texttt{y}, \texttt{l}, +\texttt{b}, \texttt{r}, or \texttt{t}, and \meta{pos} must be one of the literal +words \gbc{inside}, \gbc{outside}, \gbc{centered}, \gbc{onleft}, +\gbc{onright}, \gbc{ontop} or \gbc{onbottom}. The second command takes +four arguments and sets the position of the marks on each border. The +third command sets the position on all four border axis to the same +value. The last two commands are abbreviations for +\cs{setaxismarks}\marg{x}\marg{\meta{pos}} and +\cs{setaxismarks}\marg{y}\marg{\meta{pos}}, respectively. + +Not all combinations make sense (for example, +\cs{setaxismarks}\marg{r}\marg{ontop}). In these cases, no error message +is produced: \gbc{ontop} and \gbc{onleft} are considered to be +equivalent, as are \gbc{onbottom} and \gbc{onright}. The parameters +\gbc{inside} and \gbc{outside} make no sense for the $x$- and $y$-axes, +but if they are used then \gbc{inside} means \gbc{ontop} for the +$x$-axis and \gbc{onright} for the $y$-axis. These words are actually +\MF{} numeric variables defined in the file \file{grafbase.mf}, and the +variables \gbc{ontop} and \gbc{onleft}, for example, are given the same +value. + +\begin{cd} +\cs{grid}\oarg{\meta{ptsize}}\marg{\meta{xsep},\meta{ysep}}\\ +\cs{gridpoints}\oarg{\meta{ptsize}}\marg{\meta{xsep},\meta{ysep}}\\ +\cs{lattice}\oarg{\meta{ptsize}}\marg{\meta{xsep},\meta{ysep}}\\ +\cs{hgridlines}\marg{\meta{ysep}}\\ +\cs{vgridlines}\marg{\meta{xsep}}\\ +\cs{gridlines}\marg{\meta{xsep},\meta{ysep}} +\index{grid@\cs{grid}}% +\index{gridpoints@\cs{gridpoints}}% +\index{lattice@\cs{lattice}}% +\index{vgridlines@\cs{vgridlines}}% +\index{hgridlines@\cs{hgridlines}}% +\index{gridlines@\cs{gridlines}}% +\end{cd} + +\cs{grid} draws a dot at every point for which the first coordinate is +an integer multiple of the \meta{xsep} and the second coordinate is an +integer multiple of \meta{ysep}. The diameter of the dot is determined +by \meta{ptsize}. The default is \dim{.5bp} and is hard coded in the +\MF{} macros that ultimately do the drawing. Under the \opt{metapost} +option, the color of the dot is \gbc{pointcolor}. The commands +\cs{gridpoints and \cs{lattice}} are synonyms for \cs{grid}. + +\cs{hgridlines} draws the horizontal and \cs{vgridlines} the vertical +lines through these same points. \cs{gridlines} draws both sets of +lines. The thickness of the lines is set by \cs{penwd}. Authors are +recommended to either reduce the pen width or change \gbc{drawcolor} to +a lighter color for grids. Or omit them entirely: well-designed graphs +usually don't need them and almost never should both horizontals and +verticals be used. + +\begin{cd} +\cs{plrgrid}\marg{\meta{rsep},\meta{anglesep}}\\ +\cs{gridarcs}\marg{\meta{rsep}}\\ +\cs{gridrays}\marg{\meta{anglesep}}\\ +\cs{plrpatch}\marg{\meta{rmin},\meta{rmax},\meta{rsep},% + \meta{tmin},\meta{tmax},\meta{tsep}}\\ +\cs{plrgridpoints}\marg{\meta{rsep},\meta{anglesep}}% +\index{plrgrid@\cs{plrgrid}}% +\index{plrpatch@\cs{plrpatch}}% +\index{gridarcs@\cs{gridarcs}}% +\index{gridrays@\cs{gridrays}}% +\index{plrgridpoints@\cs{plrgridpoints}}% +\end{cd} + +\cs{plrgrid} fills the graph with circular arcs and radial lines. +\cs{gridarcs} draws only the arcs, \cs{gridrays} only the radial lines. +\cs{plrgridpoints} places a dot at all the places the rays and arcs +would intersect. + +The arcs are centered at $(0,0)$ and the lines emanate from $(0,0)$ +(even if $(0,0)$ is not in the graph space). The corresponding \MF{} +commands actually draw enough to cover the graph area and then clip them +to the graph boundaries. If you don't want them clipped, use +\cs{plrpatch}. + +\cs{plrpatch} draws arcs with radii starting at \meta{rmin}, stepping by +\meta{rsep} and ending with \meta{rmax}. Each arc goes from angle +\meta{tmin} to \meta{tmax}. It also draws radial lines with angles +starting at \meta{tmin}, stepping by \meta{tsep} and ending with +\meta{tmax}. Each line goes from radius \meta{rmin} to \meta{rmax}. If +$\meta{rmax}-\meta{rmin}$ doesn't happen to be a multiple of +\meta{rsep}, the arc with radius \meta{rmax} is drawn anyway. The same +is true of the line at angle \meta{tmax}, so that the entire boundary is +always drawn. + +If \meta{tsep} is larger than \meta{tmax}${}-{}$\meta{tmin}, then only +the boundary rays will be drawn. If \meta{rsep} is larger than +\meta{rmax}${}-{}$\meta{rmin}, then only the boundary arcs will be +drawn. + +The color used for rays and arcs is \gbc{drawcolor}, and for dots +\gbc{pointcolor}. The advice about \cs{gridlines} holds for \cs{plrgrid} +as well. + + +\subsubsection{Circles and Ellipses.}\label{circles} + +\begin{cd} +\cs{circle}\oarg{\meta{format}}\marg{\meta{specification}}% +\index{circle@\cs{circle}}% +\end{cd} + +Draws a circle. Starting with \mfp{} version 0.7, there are 4 +different ways to specify a circle, so \cs{circle} can be given an +optional argument that determines what data is specified in the +mandatory argument. + +\begin{cd} +\cs{circle}\oarg{p}\marg{\meta{$c$},\meta{$r$}}\\ +\cs{circle}\oarg{c}\marg{\meta{$c$},\meta{$p$}}\\ +\cs{circle}\oarg{t}\marg{\meta{$p_1$},\meta{$p_2$},\meta{$p_3$}}\\ +\cs{circle}\oarg{s}\marg{\meta{$p_1$},\meta{$p_2$},\meta{$\theta$}}% +\index{circle@\cs{circle}}% +\end{cd} + +The optional arguments produce circles according to the following +descriptions. + +\begin{description} +\item[\oarg{p}] The \textit{Polar form} is the default. The data in the +mandatory argument should then be the center $c$ and radius $r$ of the +circle. + +\item[\oarg{c}] The \textit{Center-point form}. In this case the data +should be the center and one point on the circumference. + +\item[\oarg{t}] The \textit{Three-point form}. The data are three points +that do not lie in a straight line. + +\item[\oarg{s}] The \textit{point-sweep}. The data are two points on the +circle, followed by the angle of arc between them. +\end{description} +These optional arguments are also used in the \cs{arc} command (see +subsection~\ref{arcs}). The \cs{circle} command draws the whole circle +which the equivalent \cs{arc} command draws only part of. The sense of +the circle produced is anticlockwise except in the case \texttt{[t]}, +where it is the direction determined by the order of the three points, +and the case \texttt{[s]}, where it is determined by \meta{$\theta$}: +clockwise if negative, anticlockwise if positive. + + +\begin{cd} +\cs{ellipse}\oarg{\meta{$\theta$}}\marg{\meta{$c$},\meta{$r_x$},\meta{$r_y$}}% +\index{ellipse@\cs{ellipse}}% +\end{cd} + +Draws an ellipse with the $x$ radius \meta{$r_x$} and $y$ radius +\meta{$r_y$}, centered at the point \meta{$c$}. The optional parameter +\meta{$\theta$} provides a way of rotating the ellipse by +\meta{$\theta$} degrees anticlockwise around its center. + + +\subsubsection{Curves.}\label{curves} + +\begin{cd} +\cs{curve}\oarg{\meta{tension}}\marg{\meta{$p_0$},\meta{$p_1$},$\ldots$}% +\index{curve@\cs{curve}}% +\end{cd} + +Draws a smooth path through the specified points, in the specified +order. It is `smooth' in two ways: it never changes direction abruptly +(no `corners' or `cusps' on the curve), and it tries to make turns that are +not too sharp. This latter property is acheived by specifying (to \MF) that +the tangent to the curve at each listed point is to be parallel to the +line from that point's predecessor to its successor. + +The optional \meta{tension} influences \emph{how} smooth the curve is. +The special value \mfc{infinity} (in fact, usually anything greater than +about $10$), makes the curve not visibly different from a polyline. The +higher the value of tension, the sharper the corners on the curve and +the flatter the portions in between. \CMF{} requires the tension to be +larger than 0.75. The default value of the tension is $1$ when \mfp{} is +loaded, but that can be changed with the following command. + +\begin{cd} +\cs{settension}\marg{\meta{num}}% +\index{settension@\cs{settension}} +\end{cd} + +This sets the default tension for all commands that take an optional +tension parameter. + +\begin{cd} +\cs{cyclic}\oarg{\meta{tension}}\marg{\meta{$p_0$},\meta{$p_1$},$\ldots$}% +\index{cyclic@\cs{cyclic}}% +\end{cd} + +Draws a cyclic (i.e., closed) \MF{} B\'ezier curve through the specified +points, in the specified order. It uses the same procedure as +\cs{curve}, but treats the first listed point as having the last as its +predecessor and the last point has the first as its successor. The +\meta{tension} is as in the \cs{curve} command. + +\medskip +Occasionally it is necessary to specify a sequence of points with +\emph{increasing} $x$ coordinates and draw a curve through them. One +would then like the resulting curve both to be smooth \textit{and} to +represent a function (that is, the curve always has increasing $x$ +coordinate, never turning leftward). This cannot be guaranteed with the +\cs{curve} command unless the tension is \texttt{infinity}. + +\begin{cd} +\cs{fcncurve}\oarg{\meta{tension}}\marg{($x_0$,$y_0$),($x_1$,$y_1$),$\ldots$}% +\index{fcncurve@\cs{fcncurve}}% +\end{cd} + +Draws a curve through the points specified. If the points are listed +with increasing (or decreasing) $x$ coordinates, the curve will also +have increasing (resp., decreasing) $x$ coordinates. The \meta{tension} +is a number equal to or greater than $1.0$ which controls how tightly +the curve is drawn. Generally, the larger it is, the closer the curve is +to the polyline through the points. The default tension is typically $1.2$ +(actually $1.2$ times the value set with \cs{settension}). For those who +know something about \MF, this `tension' is not the same as the \MF{} +notion of tension, the tension in the \cs{curve} command, but it +functions in a similar fashion. In this case it can be any positive +number, but only values greater than or equal to $1$ guarantee the +property of never doubling back. + + +\subsubsection{Circular Arcs.}\label{arcs} + +\begin{cd} +\cs{arc}\oarg{\meta{format}}\marg{\meta{specification}}% +\index{arc@\cs{arc}}% +\end{cd} + +Draws a circular arc specified as determined by the \meta{format} +optional parameter. This macro and \cs{circle} are unusual in that the +optional \meta{format} parameter determines the format of the other +parameter, as indicated below. The user is responsible for ensuring that +the parameter values make geometric sense. + +\begin{cd} +\cs{arc}\oarg{s}\marg{\meta{$p_0$},\meta{$p_1$},\meta{sweep}}\\ +\cs{arc}\oarg{t}\marg{\meta{$p_0$},\meta{$p_1$},\meta{$p_2$}}\\ +\cs{arc}\oarg{p}\marg{\meta{$c$},\meta{$\theta_1$},\meta{$\theta_2$},\meta{$r$}}\\ +\cs{arc}\oarg{a}\marg{\meta{$c$},\meta{$r$},\meta{$\theta_1$},\meta{$\theta_2$}}\\ +\cs{arc}\oarg{c}\marg{\meta{$c$},\meta{$p_1$},\meta{$\theta$}}% +\index{arc@\cs{arc}}% +\end{cd} + +The optional arguments produce arcs according to the following +descriptions. +\begin{description} +\item[\oarg{s}] The \textit{point-Sweep form} is the default format. It +draws the circular arc starting from the point \meta{$p_0$}, ending at +the point \meta{$p_1$}, and covering an arc angle of \meta{sweep} +degrees, measured anticlockwise around the center of the circle. If, +for example, the points \meta{$p_0$} and \meta{$p_1$} lie on a +horizontal line with \meta{$p_0$} to the \emph{left}, and \meta{sweep} +is between 0~and 360 (degrees), then the arc will sweep \emph{below} the +horizontal line (in order for the arc to be anticlockwise). A +negative value of \meta{sweep} gives a clockwise arc from \meta{$p_0$} +to \meta{$p_1$}. + +\item[\oarg{t}] The \textit{Three-point form} draws the circular arc +which passes through all three points given, in the order given. +Internally, this is converted to two applications of the point-sweep +form. + +\item[\oarg{p}] The \textit{Polar form} draws the arc of a circle with +center \meta{$c$} starting at the angle \meta{$\theta_1$} and ending at +the angle \meta{$\theta_2$}, with radius \meta{$r$}. Both angles are +measured anticlockwise from the positive $x$ axis. + +\item[\oarg{a}] The \textit{Alternate polar form} draws the arc of a +circle with center \meta{$c$} and radius \meta{$r$}, starting at the +angle \meta{$\theta_1$} and ending at the angle \meta{$\theta_2$}. Both +angles are measured anticlockwise from the positive $x$ axis. This is +provided because it seems a more reasonable order of arguments, and +matches the order \cs{sector} requires (see subsection~\ref{other} +below). The \texttt{p} option is retained for backward compatibility. + +\item[\oarg{c}] The \textit{Center-point form} draws the circular arc with +center \meta{$c$}, starting at the point \meta{$p_1$}, and sweeping an +angle of \meta{$\theta$} around the center from that point. (This and +the point sweep form are the basic methods of handling arcs---the +previous three formats are translated to one of these two before drawing.) +\end{description} + + +\subsubsection{Other Figures.}\label{other} + +\begin{cd} +\cs{turtle}\marg{\meta{$p_0$},\meta{$v_1$},\meta{$v_2$},$\ldots$}% +\index{turtle@\cs{turtle}}% +\end{cd} + +Draws a line segment, starting from the point \meta{$p_0$}, and +extending along the (2-dimen\-sional vector) displacement \meta{$v_1$}. +It then draws a line segment from the previous segment's endpoint, along +displacement \meta{$v_2$}. This continues for all listed displacements, +a process similar to `turtle graphics'. + +\begin{cd} +\cs{sector}\marg{\meta{$c$},\meta{$r$},\meta{$\theta_1$},\meta{$\theta_2$}}% +\index{sector@\cs{sector}}% +\end{cd} + +Draws the sector, from the angle \meta{$\theta_1$} to the angle +\meta{$\theta_2$} inside the circle with center at the point \meta{$c$} +and radius \meta{$r$}, where both angles are measured in degrees +anticlockwise from the direction parallel to the $x$ axis. The sector +forms a closed path. \emph{Note}: \cs{sector} and \cs{arc}\oarg{p} have +the same parameters, but \emph{in a different +order}.% + \footnote{This apparently was unintended, but we now have to live + with it so as not to break existing \file{.tex} files.} + +\begin{cd} +\cs{makesector} +\index{makesector@\cs{makesector}} +\end{cd} +The \cs{sector} command requires the center of the arc as one of its +arguments. But if one doesn't know that center (say one only knows three +points the arc connects) then even though the arc can be drawn, +\cs{sector} cannot. The \cs{makesector} command, when followed by any +\cs{arc} command, will find the center and connect it to the two ends of +the arc. It will actually attempt to do the same with any path that +follows, but the `center' it finds (if it finds one) will usually be +meaningless. + + +\subsubsection{Bar Charts and Pie Charts.}\label{charts} + +\begin{cd} +\cs{barchart}\oarg{\meta{start},\meta{sep},\meta{r}}\marg{\meta{h-or-v}}\marg{\meta{list}}\\ +\cs{bargraph}$\ldots$\\ +\cs{gantt}$\ldots$\\ +\cs{histogram}$\ldots$\\ +\cs{chartbar}\marg{\meta{num}}\\ +\cs{graphbar}\marg{\meta{num}}\\ +\cs{histobar}\marg{\meta{num}}% +\index{barchart@\cs{barchart}}% +\index{bargraph@\cs{bargraph}}% +\index{histogram@\cs{histogram}}% +\index{chartbar@\cs{chartbar}}% +\index{graphbar@\cs{graphbar}}% +\index{histobar@\cs{histobar}}% +\end{cd} + +The macro \cs{barchart} computes a bar chart or a Gantt chart. It does +not draw the bars, but only defines their rectangular paths which the +user may then draw or fill or both using the \cs{chartbar} macros (see +below). Since bar charts have many names, \cs{bargraph} and +\cs{histogram} are provided as synonyms. The macro \cs{gantt} is also a +synonym; whether a Gantt chart or bar chart is created depends on the +data. + +\meta{h-or-v} should be \texttt{v} if you want the ends of the bars to +be measured vertically from the $x$-axis, or \texttt{h} if they should +be measured horizontally from the $y$-axis. \meta{list} should be a +comma-separated list of numbers and/or pairs giving the coordinates of +the end(s) of each bar. A number $c$ is interpreted as the pair $(0,c)$; +a pair $(a,b)$ is interpreted as an interval giving the ends of the bar +(for Gantt diagrams). The rest of this description refers to the +\texttt{h} case; the \texttt{v} case is analogous. + +By default the bars are 1 graph unit high (thickness), from $y = n-1$ to +$y = n$. Their width and location are determined by the data. The +optional parameter consists of three numeric parameters separated by +commas. \meta{start} is the $y$-coordinate of the bottom edge of the +first bar, \meta{sep} is the distance between the bottom edges of +successive bars, and \meta{r} is the fraction of \meta{sep} occupied by +each bar. The default behavior corresponds to \texttt{[0,1,1]}. In +general, bar number $n$ will be from $y = \meta{start} + +(n-1)*\meta{sep}$ to $y = \meta{start} + (n-1 + \meta{r})*\meta{sep}$ + +Notice the bars are numbered in order from bottom to top. You can +reverse them by making \meta{sep} negative, and making \meta{start} the +top edge of the first bar. + +The fraction \meta{r} should be between -1 and 1. A negative value +reverses the direction from the `leading edge' of the bar to the +`trailing edge'. For example, if one bar chart is created with +\begin{ex} + \cs{barchart}\oarg{1,1,-.4}\marg{h}\marg{..} +\end{ex} +and another with +\begin{ex} + \cs{barchart}\oarg{1,1,.4}\marg{h}\marg{..} +\end{ex} +both having the same number of bars, then the first will have its first +bar from $y = 1$ to $y = 1 -.4 = .6$, while the second will have its +first bar adjacent to that one, from $1$ to $1 + .4$. Similarly the next +bars will be above and below $y=2$, etc. This makes it easy to draw bars +next to one another for comparison. + +The macro \cs{chartbar} (synonyms \cs{graphbar}, \cs{ganttbar}, and +\cs{histobar}) takes a number from $1$ to the number of elements in the +\meta{list} and draws the rectangular path. This behaves just like any +other figure macro, and the prefix macros from section~\ref{rendering} +may be used to give adjacent bars contrasting colors, fills, etc. + + +\begin{cd} +\cs{piechart}\oarg{\meta{dir}\meta{angle}}\marg{\meta{$c$},\meta{$r$}}% + \marg{\meta{list}}\\ +\cs{piewedge}\oarg{\meta{spec}\meta{trans}}\marg{\meta{num}}% +\index{piechart@\cs{piechart}}% +\index{piewedge@\cs{piewedge}}% +\end{cd} + +The macro \cs{piechart} also does not draw anything, but computes the +\cs{piewedge} regions described below. The first part of the optional +parameter, \meta{dir}, is a single letter which may be either \texttt{c} or +\texttt{a} which stand for \emph{clockwise} or \emph{anticlockwise}, +respectively. It is common to draw piecharts with the largest wedge +starting at 12 o'clock (angle 90 degrees) and successive wedges +clockwise from there. This is the default. You can change the starting +angle from 90 with the \meta{angle} parameter, and the change the +direction to counter-clockwise by specifying \texttt{a} for \meta{dir}. It +is also traditional to arrange the wedges from largest to smallest, +except there is often a miscellaneous category which is usually last and +may be larger than some others. Therefore \cs{piechart} makes no attempt +to sort the data. The data is entered as a comma separated \meta{list} +of positive numbers in the second required parameter. These are only +used to determine the relative sizes of the wedges and are not printed +anywhere. The first required parameter should contain a pair \meta{c} +for the center and a positive number \meta{r} for the radius, separated +by a comma. + +After a \cs{piechart} command has been issued, the individual wedges may +be drawn, filled, etc., using \cs{piewedge}\marg{1}, +\cs{piewedge}\marg{2}, etc. Without the optional argument, the wedges +are located according to the arguments of the last \cs{piechart} +command. The optional argument to \cs{piewedge} can override this. The +parameter \meta{spec} is a single letter, which can be \texttt{x}, \texttt{s} +or \texttt{m}. The \texttt{x} stands for \emph{exploded} and it means the +wedge is moved directly out from the center of the pie a distance +\meta{trans}. \meta{trans} should then be a pure number and is +interpreted as a distance in graph units. The \texttt{s} stands for +\emph{shifted} and in this case \meta{trans} should be a pair of the +form \texttt{(\meta{dx},\meta{dy})} indicating the wedge should be shifted +\meta{dx} horizontally and \meta{dy} vertically (in graph units). The +\texttt{m} stands for \emph{move to}, and \meta{trans} is then the absolute +coordinates \texttt{(\meta{x},\meta{y})} in the graph where the point of +the wedge should be placed. + +\subsubsection{Polar Coordinates to Rectangular.}\label{polar} + +\begin{cd} +\cs{plr}\marg{(\meta{$r_0$},\meta{$\theta_0$}), +(\meta{$r_1$},\meta{$\theta_1$}), $\ldots$}% +\index{plr@\cs{plr}}% +\end{cd} + +Replaces the specified list of polar coordinate pairs by the equivalent +list of rectangular (cartesian) coordinate pairs. Through \cs{plr}, +commands designed for rectangular coordinates can be applied to data +represented in polar coordinates---and to data containing both +rectangular and polar coordinate pairs. + + +\subsection{Colors}\label{colors} + +\subsubsection{Setting the Default Colors.}\label{defaultcolors} + +\begin{cd} +\cs{drawcolor}\oarg{\meta{model}}\marg{\meta{colorspec}}\\ +\cs{fillcolor}$\ldots$\\ +\cs{hatchcolor}$\ldots$\\ +\cs{pointcolor}$\ldots$\\ +\cs{headcolor}$\ldots$\\ +\cs{tlabelcolor}$\ldots$\\ +\cs{backgroundcolor}$\ldots$% +\index{drawcolor@\cs{drawcolor}}% +\index{fillcolor@\cs{fillcolor}}% +\index{hatchcolor@\cs{hatchcolor}}% +\index{pointcolor@\cs{pointcolor}}% +\index{headcolor@\cs{headcolor}}% +\index{tlabelcolor@\cs{tlabelcolor}}% +\index{backgroundcolor@\cs{backgroundcolor}}% +\end{cd} + +These macros set the default color for various drawing +elements. Any curve (with one exception, those drawn by \cs{plotdata}), +whether solid, dashed, dotted, or plotted in symbols, will be in the +color set by \cs{drawcolor}. Set the color used by \cs{gfill} with +\cs{fillcolor}. For all the hatching commands use \cs{hatchcolor}. For +the \cs{point}, \cs{plotsymbol} and \cs{grid} commands use +\cs{pointcolor}, and for arrowheads, \cs{headcolor}. When \opt{mplabels} +is in effect, the color of labels can be set with \cs{tlabelcolor}, and +one can set the color used by \cs{gclear} with \cs{backgroundcolor} (the +same color is used in the interior of unfilled points drawn with +\cs{point}). The optional \meta{model} may be one of \opt{rgb}, +\opt{RGB}, \opt{cmyk}, \opt{gray}, and \opt{named}. The \meta{colorspec} +depends on the model, as outlined below. Each of these commands sets a +corresponding \MP{} color variable with the same name (except +\cs{backgroundcolor} sets the color \mfc{background}). Thus one can set +the filling color to the drawing color with +\cs{fillcolor}\marg{drawcolor}. + +\subsubsection{\CMP{} Colors.}\label{mpcolors} + +If the optional \meta{model} specification is omitted, the color +specification may be any expression recognized as a color by \MP. In +\MP, a color is a triple of numbers like \mfc{(1,.5,.5)}, with the +coordinates between 0 and 1, representing red, green and blue levels, +respectively. White is given by \mfc{(1,1,1)} and black by +\mfc{(0,0,0)}. \CMP{} also has color variables and several have been +predefined: \mfc{red}, \mfc{green}, \mfc{blue}, \mfc{yellow}, +\mfc{cyan}, \mfc{magenta}, \mfc{white}, and \mfc{black}. All the names +in the \LaTeX{} \prog{color} package's \file{dvipsnam.def} are +predefined color variable names. Since \MP{} allows color expressions, +colors may be added and multiplied by numerics. Moreover, several \MP{} +color functions have been defined in \file{grafbase.mp}: + +\begin{cd} +\mfc{cmyk($c$,$m$,$y$,$k$)}% +\index{cmyk@\mfc{cmyk($c$,$m$,$y$,$k$)}} +\end{cd} + +Converts a \opt{cmyk} color specification to \MP's native \opt{rgb}. For +example, the command \mfc{cmyk(1,0,0,0)} yields \mfc{(0,1,1)}, which is +the definition of \mfc{cyan}. + +\begin{cd} +\mfc{RGB($R$,$G$,$B$)}% +\index{RGB@\mfc{RGB($R$,$G$,$B$)}} +\end{cd} + +Converts an \opt{RGB} color specification to \opt{rgb}. It essentially +just divides each component by 255. + +\begin{cd} +\mfc{gray($g$)}% +\index{gray@\mfc{gray($g$)}} +\end{cd} + +Converts a numeric $g$ (a gray level) to the corresponding multiple of +\mfc{(1,1,1)}. + +\begin{cd} +\mfc{named(\meta{name})}, +\mfc{rgb($r$,$g$,$b$)}% +\index{named@\mfc{named(\meta{name})}}% +\index{rgb@rgb($r$,$g$,$b$)} +\end{cd} + +These are essentially no-ops. However; \mfc{rgb} will truncate the +arguments to the 0--1 range, an unknown \meta{name} is converted to +\mfc{black}, and an unknown numeric argument is set to 0. + +\medskip +As an example of the use of these functions, one could conceivable +write: +\begin{ex} + \cs{drawcolor}\marg{0.5*RGB(255,0,0)+0.5*cmyk(1,0,0,0)} +\end{ex} +to have all curves drawn in a color halfway between red and cyan (which +turns out to be the same as \gbc{gray(0.5)}). + +\subsubsection{Color Models.}\label{colormodels} + +When the optional \meta{model} is specified in the color setting +commands, it determines the format of the color specification: + +\medskip +\halign{\quad#\hfil\quad&#\hfil\cr +{\sl Model:}& {\sl Specification:}\cr +\opt{rgb}& Three numbers in the range 0 to 1 separated by commas.\cr +\opt{RGB}& Three numbers in the range 0 to 255 separated by commas.\cr +\opt{cmyk}& Four numbers in the range 0 to 1 separated by commas.\cr +\opt{gray}& One number in the range 0 to 1, with 1 indicating + white, 0 black.\cr +\opt{named}& A \MP{} color variable name either predefined by + \mfp{} or by the user.\cr} + +\medskip +\Mfp{} translates +\begin{ex} + \cs{fillcolor}\oarg{cmyk}\marg{1,.3,0,.2} +\end{ex} +into the equivalent of +\begin{ex} + \cs{fillcolor}\marg{cmyk(1,.3,0,.2)}. +\end{ex} +Note that when the optional model is specified, the color +specification must not be enclosed in parentheses. Note also that each +model name is the name of a color function described in the previous +subsection. That is how the models are implemented internally. + + +\subsubsection{Defining a Color Name.}\label{colorname} + +\begin{cd} +\cs{mfpdefinecolor}\marg{\meta{name}}\marg{\meta{model}}\marg{\meta{colorspec}}% +\index{mfpdefinecolor@\cs{mfpdefinecolor}} +\end{cd} + +This defines a color variable \meta{name} for later use, either in the +commands \cs{drawcolor}, etc., or in the optional parameters to +\cs{draw}, etc. The name can be used alone or in the \opt{named} model. +The mandatory \meta{model} and \meta{colorspec} are as above. + +\medskip +A final caution, the colors of an \mfp{} figure are stored in the +\file{.mp} output file, and are not related to colors used or defined by +the \LaTeX{} \prog{color} package. In particular a color defined only by +\LaTeX's \cs{definecolor} command will remain unknown to \mfp. +Conversely, \LaTeX{} commands will not recognize any color defined only +by \cs{mfpdefinecolor}. + +\subsubsection{Color in \MF} + +\CMF{} was never meant to understand colors, but it certainly can be +taught the difference between black and white and, to a limited extent, +various grays. Starting with version 0.7, \mfp{} will no longer generate +an error when a color-changing command is used under the \opt{metafont} +option. Instead, when possible, the variables that represent colors in +\MP{} will be converted to a numeric value between 0 and 1 in \MF. When +possible (for example, when a region is filled) the numeric will be +interpreted as a gray level and shading (see subsection~\ref{filling}) +will be used to approximate the gray. In other cases (drawing or dashing +of curves, placing of points or symbols, filling with a pattern of hatch +lines) the number will be interpreted as black or white: a value less +than 1 will cause the figure to be rendered (in black), while a value +equal to 1 (white) will cause pixels corresponding to the figure to be +erased. + +This is still somewhat experimental and depends on adhering to certain +restrictions. \CMF's syntax does not recognize a triple of numbers as +any sort of data structure, but it does allow \emph{commands} to have +any number of parameters in parentheses. So colors must be specified +using the color commands such as \gbc{rgb(1,1,0)} or color names such as +\gbc{yellow}, and never as a bare triple. Also, as currently written, +the color names defined in \file{dvipsnam.mp} are not defined in \MF. +With these provisions the same \mfp{} code can often produce either gray +scale \MF{} pictures or \MP{} color pictures depending only on the +\opt{metapost} option. + +The commands \cs{shade} and \cs{gfill}\oarg{gray(.75)} (see +subsection~\ref{filling} for their meaning) will produce a similar shade +of gray, but there is a difference. The first simply adds small dots on +top of whatever is already drawn. The second, however, tries to simulate +the \MP{} effect, which is to cover up whatever is previously drawn. +Therefore, it first zeros all affected pixels before adding the dots to +simulate gray. In particular, \cs{gfill}\oarg{white} should have the +same effect as \cs{gclear}. + + +\subsection{Shape-Modifier Macros.}\label{modifier} + +Some \mfp{} macros operate as \emph{shape-modifier} macros---for +example, if you want to put an arrowhead on a line segment, you could +write: \cs{arrow}\cs{lines}\marg{(0,0),(1,0)}. These are always prefixed +to some figure drawing command, and apply only to the next following +figure macro (which can be rather far removed) provided that only other +prefix commands intervene. This is a rather long section, but even more +modification prefixes are documented in subsection~\ref{transformation}. + +For the purposes of these macros, a distinction must be made in the +figure macros between `open' and `closed' paths. A path that merely +returns to its starting point is \emph{not} automatically closed; such a +path is open, and must be explicitly closed, for example by \cs{lclosed} +(see below). The (already) closed paths are those that have +`\texttt{closed}' in their name plus: \cs{rect}, \cs{circle}, +\cs{ellipse}, \cs{sector}, \cs{cyclic}, \cs{polygon}, \cs{plrregion}, +\cs{chartbar}, \cs{piewedge}, \cs{tlabelrect}, \cs{tlabeloval}, +\cs{tlabelellipse}, \cs{tlabelcircle} and \cs{btwnfcn} (below). + +\subsubsection{Closure of Paths.}\label{closure} + +\begin{cd} +\cs{lclosed}$\ldots$% +\index{lclosed@\cs{lclosed}} +\end{cd} + +Makes each open path into a closed path by adding a line segment between +the endpoints of the path. + +\begin{cd} +\cs{bclosed}\oarg{\meta{tens}}$\ldots$ +\index{bclosed@\cs{bclosed}}% +\end{cd} + +This macro is similar to \cs{lclosed}, except that it closes an open +path smoothly by drawing a B\'ezier curve. A B\'ezier is \MF's natural +way of connecting points into a curve, and \cs{bclosed} is the simplest +and most efficient closure next to \cs{lclosed}. Moreover it usually +gives a reasonably aesthetic result. Sometimes, however, one might wish +a tighter connection. If that is the case, use the optional argument +with a value of the tension \meta{tens} greater than $1$, the default. +The command \cs{settension} (see subsection~\ref{curves}) can be used to +change the default. + +\begin{cd} +\cs{sclosed}\oarg{\meta{tens}}$\ldots$% +\index{sclosed@\cs{sclosed}} +\end{cd} + +This closes the curve by mimicking the definition of the \cs{curve} +command. That command tries to force the curve to pass through the $n$th +point in a direction parallel to the line from point $(n-1)$ to point +$(n+1)$. In order to close a curve in this way, the direction at the two +endpoints often has to be changed, and this changes the shape of the +first and last segments of the curve. Use \cs{bclosed} if you don't wish +this to happen. However, \cs{sclosed}\cs{curve} produces the same result +as \cs{cyclic} given the same points and tension valuse. The optional +tension argument is as in the \cs{bclosed} command. + + +\subsubsection{Reversal, Connection and Subpaths.}\label{reversal} + +\begin{cd} +\cs{reverse}$\ldots$% +\index{reverse@\cs{reverse}} +\end{cd} + +Turns a path around, reversing its sense. This will affect both +the direction of arrows (e.g. bi-directional arrows can be coded with +\cs{arrow}\cs{reverse}\cs{arrow}$\ldots$, where the first \cs{arrow} +modifier applies to the \emph{reversed} path), and the order of +endpoints for a \cs{connect}$\ldots$\cs{endconnect} environment (below). + + +\begin{cd} +\cs{connect} $\ldots$ +\cs{endconnect}% +\index{connect@\cs{connect}} +\index{endconnect@\cs{endconnect}} +\end{cd} + +This pair of macros, acting as an environment, adds line segments from +the trailing endpoint of one path to the leading endpoint of the +next path, in the given order. The result is a connected, \emph{open} +path. + +\emph{Note}: In \LaTeX, this pair of macros can be used in the form of a +\LaTeX-style environment called \env{connect} ---as in +\cs{begin}\marg{connect}$\ldots$\cs{end}\marg{connect}. + +\begin{cd} +\cs{partpath}\marg{\meta{frac1},\meta{frac2}}\dots\\ +\cs{subpath}\marg{\meta{num1},\meta{num2}}\dots% +\index{partpath@\cs{partpath}}% +\index{subpath@\cs{subpath}} +\end{cd} + +Both produce a part of the following path. In \cs{partpath} the +parameters \meta{frac1} and \meta{frac2} should be numbers between 0 and +1. The path produced travels the same course as the path that follows, +but starts at the point that is \meta{frac1} of the original length +along it, and ends at the point \meta{frac2} of its original length. If +\meta{frac1} is greater than \meta{frac2}, the sense of the path is +reversed. In \cs{subpath}, the two numbers should be between 0 and the +number of B\'ezier segments in the path. This is mainly for experienced +\MF ers and provides an \mfp{} interface to \MF's +`\mfc{subpath}' operation. + +As an example of \cs{partpath}, one can put an arrowhead (see next +subsection) in the middle of a path with something like the following. + +\begin{ex} +\cs{arrow}\cs{partpath}\marg{0,.5}\cs{draw}\dots +\end{ex} + + +\subsubsection{Arrows.}\label{arrows} + +\begin{cd} +\cs{arrow}\oarg{l\meta{headlen}}\oarg{r\meta{rotate}}% + \oarg{b\meta{backset}}\oarg{c\meta{color}}$\ldots$% +\index{arrow@\cs{arrow}} +\end{cd} + +Draws an arrowhead at the endpoint of the open path (or at the last key +point of the closed path) that follows. The optional parameter +\meta{headlen} determines the length of the arrowhead. The default is +the value of the \TeX{} dimension \cs{headlen}, initially \dim{3pt}. The +optional parameter \meta{rotate} allows the arrowhead to be rotated +anticlockwise around its point an angle of \meta{rotate} degrees. The +default is 0. The optional parameter \meta{backset} allows the arrowhead +to be `set back' from its original point, thus allowing e.g. double +arrowheads. This parameter is in the form of a \TeX{} dimension---its +default value is \dim{0pt}. If an arrowhead is both rotated and set +back, the rotation affects the direction in which the arrowhead is set +back. The optional \meta{color} defaults to \gbc{headcolor}. The +optional parameters may appear in any order, but the indicated key +character for each parameter must always appear. + + +\subsection{Rendering macros}\label{rendering} + +\subsubsection{Drawing.}\label{drawing} + +When \mfp{} is loaded, the initial way in which figures are drawn +is with a solid outline. That is, \cs{lines}\marg{(1,0),(1,1),(0,0)} +will draw two solid lines connecting the points. When the macros in this +section are used, any previously established default (see +subsection~\ref{default} below) is overridden. + +\begin{cd} +\cs{draw}\oarg{\meta{color}}$\ldots$% +\index{draw@\cs{draw}} +\end{cd} + +Draws the subsequent path using a solid outline. For an example: to both +draw a curve and hatch its interior, \cs{draw}\cs{hatch} must be used. +The default for \meta{color} is \gbc{drawcolor}. + +To save repetition, the color used for the following commands is also +\gbc{drawcolor}: \cs{dashed}, \cs{dotted}, \cs{plot}, \cs{plotnodes}, +and \cs{gendashed}, + +\begin{cd} +\cs{dashed}\oarg{\meta{length},\meta{space}}$\ldots$% +\index{dashed@\cs{dashed}} +\end{cd} + +Draws dashed segments along the path specified in the next command. The +default length of the dashes is the value of the \TeX{} dimension +\cs{dashlen}, initially \dim{4pt}. The default space between the dashes +is the value of the \TeX{} dimension \cs{dashspace}, initially +\dim{4pt}. The dashes and the spaces between may be increased or +decreased by as much as ${1\over n}$ of their value, where $n$ is the +number of spaces appearing in the curve, in order to have the proper +dashes at the ends. The dashes at the ends are half of \cs{dashlen} +long. + +\begin{cd} +\cs{dotted}\oarg{\meta{size},\meta{space}}$\ldots$% +\index{dotted@\cs{dotted}} +\end{cd} + +Draws dots along the specified path. The default size of the dots is the +value of the \TeX{} dimension \cs{dotsize}, initially \dim{0.5pt}. The +default space between the dots is the value of the \TeX{} dimension +\cs{dotspace}, initially \dim{3pt}. The size of the spaces may be +adjusted as in \cs{dashed}. + +\begin{cd} +\cs{plot}\oarg{\meta{size},\meta{space}}\marg{\meta{symbol}}$\ldots$% +\index{plot@\cs{plot}} +\end{cd} + +Similar to \cs{dotted} except copies of \meta{symbol} are drawn along +the path. Possible symbols are those listed under \cs{plotsymbol} in +subsection~\ref{points}. The default \meta{size} is \cs{pointsize} and +the default \meta{space} is \cs{symbolspace}, initially \dim{5pt}. + +\begin{cd} +\cs{plotnodes}\oarg{\meta{size}}\marg{\meta{symbol}}$\ldots$% +\index{plotnodes@\cs{plotnodes}} +\end{cd} + +This places a symbol (same possibilities as in \cs{plotsymbol}, see +subsection~\ref{points}) at each node of the path that follows. A node +is one of the points through which \MF{} draws its curve. If one of the +macros \cs{polyline}\marg{$\ldots$} or \cs{curve}\marg{$\ldots$} +follows, each of the points listed is a node. In the \cs{datafile} +command (below), each of the data points in the file is. In the function +macros (below) the points corresponding to \meta{min}, \meta{max} and +each step in between are nodes. The optional \meta{size} defaults to +\cs{pointsize}. If the command \cs{clearsymbols} has been issued then +the interiors of the open symbols are erased. The effect of something +like the following is rather nice: + +\begin{verbatim} + \clearsymbols + \plotnodes{Circle}\draw\polyline{...} +\end{verbatim} +This will first draw the polyline with solid lines, and then the points +listed will be plotted as open circles with the portion of the lines +inside the circles erased. One sees a series of open circles connected +one to the next by line segments + + +\begin{cd} +\cs{dashpattern}\marg{\meta{name}}% + \marg{\meta{len1},\meta{len2},$\ldots$,\meta{len2k}}% +\index{dashpattern@\cs{dashpattern}} +\end{cd} + +For more general dash patterns than \cs{dashed} and \cs{dotted} provide, +there is a generalized dashing command. One must first establish a named +dashing pattern with this command. \meta{name} can be any sequence of +letters and underscores. Try to make it distinctive to avoid undoing +some internal variable. \meta{len1} through \meta{len2k} are an even +number of lengths. The odd ones determine the lengths of dashes, the +even ones the lengths of spaces. A dash of length \texttt{0pt} means a +dot. An alternating dot-dash pattern can be specified with + +\begin{ex} + \cs{dashpattern}\marg{dotdash}\marg{0pt,4pt,3pt,4pt}. +\end{ex} +\emph{Note}: Since pens have some thickness, dashes look a little +longer, and spaces a little shorter, than the numbers suggest. If one +wants dashes and space with the same length, one needs to take the size +desired and increase the spaces by the thickness of the drawing pen +(normally \dim{0.5pt}) and decrease the dashes by the same amount. + +If \cs{dashpattern} is used with an odd number of entries, a space of +length \dim{0pt} is appended. This makes the last dash in one copy of +the pattern abut the first dash in the next copy. + +\begin{cd} +\cs{gendashed}\marg{\meta{name}}$\ldots$% +\index{gendashed@\cs{gendashed}} +\end{cd} + +Once a dashing pattern name has been defined, it can be used in this +command to draw the curve that follows it. Using a name not previously +defined will cause the curve to be drawn with a solid line, and generate +a \MF{} warning, but \TeX{} will not complain. If all the dimensions in +a dash pattern are 0, \cs{gendashed} responds by drawing a solid curve. +The same is true if the pattern has only one entry. + + +\subsubsection{Shading, Filling, Erasing, Clipping, +Hatching.}\label{filling} + +These macros can all be used to fill (or unfill) the interior of closed +paths, even if the paths cross themselves. Filling an open curve is +technically an error, but the \MF{} code responds by drawing the path +and not doing any filling. These macros replace the default rendering: +when they are used the outline will not be drawn unless an explicit +prefix to do so is present. + +\begin{cd} +\cs{gfill}\oarg{\meta{color}}$\ldots$% +\index{gfill@\cs{gfill}} +\end{cd} + +Fills in the subsequent closed path. Under \MP{} it fills with +\meta{color}, which defaults to +\index{fillcolor@\gbc{fillcolor}}\gbc{fillcolor}. Under \MF{} it +approximates the color with a shade of gray, clears the interior, and +then fills with a pattern of black and white pixels simulating gray. + +\begin{cd} +\cs{gclear}$\ldots$% +\index{gclear@\cs{gclear}} +\end{cd} + +Erases everything \emph{inside} the subsequent closed path (except text +labels under some circumstances, see section~\ref{mplabels} and +\ref{overlaylabels}). Under \MP{} it actually fills with the +predefined color named \mfc{background}. Since \mfc{background} is normally +white, and so are most actual backgrounds, this is usually +indistinguishable from clearing. + +\begin{cd} +\cs{gclip}$\ldots$% +\index{gclip@\cs{gclip}} +\end{cd} + +Erases everything \emph{outside} the subsequent closed path from the +picture (except text labels under some circumstances, see +section~\ref{mplabels} and \ref{overlaylabels}). + +\begin{cd} +\cs{shade}\oarg{\meta{shadesp}}$\ldots$% +\index{shade@\cs{shade}} +\end{cd} + +Shades the interior of the subsequent closed path with dots. The +diameter of the dots is the \MF{} variable \mfc{shadewd}, set by the +macro \cs{shadewd}\marg{\meta{size}}. Normally this is \dim{0.5pt}. The +optional argument specifies the spacing between (the centers of) the +dots, which defaults to the \TeX{} dimension \cs{shadespace}, initially +\dim{1pt}. If \cs{shadespace} is less than \mfc{shadewd}, the closed +path is filled with black, as if with \cs{gfill}. Under \MP{} this macro +actually fills the path's interior with a shade of gray. The shade to +use is computed based on \cs{shadespace} and \mfc{shadewd}. The default +values of these parameters correspond to a gray level of 75\% of white.% + \footnote{If \cs{shadewd} is $w$ and \cs{shadespace} is $s$, then + the level of gray is $1 - (w/s)^2$, where $0$ denotes black and $1$ + white.} % +The \MF{} version attempts to optimize the dots to the pixel grid +corresponding to the printers resolution (to avoid generating dither +lines). Because this involves rounding, it will happen that values of +\cs{shadespace} that are relatively close and at the same time close to +\mfc{shadewd} produce exactly the same shade. Most of the time, however, +values of \cs{shadespace} that differ by at least 20\% will produce +different patterns. The actual behavior for particular values of the +parameters and particular printer resolutions cannot be predicted, and +we even make no guarantee it will not change from one version of \mfp{} +to another. + +\begin{cd} +\cs{polkadot}\oarg{\meta{space}}$\ldots$% +\index{polkadot@\cs{polkadot}} +\end{cd} + +Fills the interior of a closed path with large dots. This is almost what +\cs{shade} does, but there are several differences. \cs{shade} is +intended solely to simulate a gray fill in \MF{} where the only color is +black. So it is optimized for small dots aligned to the pixel grid (in +\MF). In \MP{} all it does is fill with gray and is intended merely for +compatibility. The macro \cs{polkadot} is intended for large dots in any +color, and so it optimizes spacing (a nice hexagonal array) and makes no +attempt to align at the pixel level. The \meta{space} defaults to the +\TeX{} dimension \cs{polkadotspace}, initially \dim{10pt}. The diameter +of the dots is the value of the \MF{} variable \mfc{polkadotwd}, which +can be set with \cs{polkadotwd}\marg{\meta{size}}, and is initially +\dim{5pt}. The dots are colored with +\index{fillcolor@\gbc{fillcolor}}\gbc{fillcolor}. In \MF, nonblack +values of \gbc{fillcolor} will produce shaded dots. + +\begin{cd} +\cs{thatch}\oarg{\meta{hatchsp},\meta{angle}}\oarg{\meta{color}}$\ldots$% +\index{thatch@\cs{thatch}} +\end{cd} + +Fills a closed path with equally spaced parallel lines at the specified +angle. The thickness of the lines is set by the macro \cs{hatchwd}. In +the optional argument, \meta{hatchsp} specifies the space between lines, +which defaults to the \TeX{} dimension \cs{hatchspace}, initially +\dim{3pt}. The \meta{angle} defaults to 0. The \meta{color} defaults to +\gbc{hatchcolor}. If \cs{hatchspace} is less than the line thickness, +the closed path is filled with \meta{color}, as if with \cs{gfill}. If +the first optional argument appears, both parts must be present, +separated by a comma. For the color argument to be present, the other +optional argument must also be present. However, if one wishes only to +override the default color one can use an empty first optional argument +(completely empty, no spaces). + +\begin{cd} +\cs{lhatch}\oarg{\meta{hatchsp}}\oarg{\meta{color}}$\ldots$% +\index{lhatch@\cs{lhatch}} +\end{cd} + +Draws lines shading in the subsequent closed path in a left-oblique +hatched (upper left to lower right) pattern. It is exactly the same as +\cs{thatch}\oarg{\meta{hatchsp},-45}\oarg{\meta{color}}$\ldots$ + +\begin{cd} +\cs{rhatch}\oarg{\meta{hatchsp}}\oarg{\meta{color}}$\ldots$% +\index{rhatch@\cs{rhatch}} +\end{cd} + +Draws lines shading in the subsequent closed path in a right-oblique +hatched (lower left to upper right) pattern. It is exactly the same as +\cs{thatch}\oarg{\meta{hatchsp},45}\oarg{\meta{color}}$\ldots$ + +\begin{cd} +\cs{hatch}\oarg{\meta{hatchsp}}\oarg{\meta{color}}$\ldots$\\ +\cs{xhatch}\oarg{\meta{hatchsp}}\oarg{\meta{color}}$\ldots$% +\index{hatch@\cs{hatch}}% +\index{xhatch@\cs{xhatch}} +\end{cd} + +Draws lines shading in the subsequent closed path in a cross-hatched +pattern. It is exactly the same as \cs{rhatch} followed by \cs{lhatch} +using the same \meta{hatchsp} and \meta{color}. + +Hatching should normally be used very sparingly, or never if +alternatives are available (color, shading). Hatching at two different +angles is, however, almost the only way to fill in two regions that +\emph{automatically} shows the overlapping region. + + +\subsubsection{Changing the Default Rendering.}\label{default} + +\emph{Rendering} is the process of converting a geometric description +into a drawing. In \MF, this means producing a bitmap (\MF{} stores +these in \mfc{picture} variables), either by stroking (drawing) a path +using a particular pen), or by filling a closed path. In \MP{} it means +producing a \PS{} description of strokes with pens, and fills + +\begin{cd} +\cs{setrender}\marg{\meta{\TeX{} commands}}% +\index{setrender@\cs{setrender}} +\end{cd} + +Initially, \mfp{} uses the \cs{draw} command (stroking) as the default +operation when a figure is to be rendered. However, this can be changed +to any combination of \mfp{} rendering commands and/or other \TeX{} +commands, by using the \cs{setrender} command. This redefinition is +local inside an \env{mfpic} environment, so it can be enclosed in braces +to restrict its range. Outside an \env{mfpic} environment it is a global +redefinition. + +For example, after \cs{setrender}\marg{\cs{dashed}\cs{shade}} the +command \cs{circle}\marg{(0,0),1} produces a shaded circle with a dashed +outline. Any explicit rendering prefix overrides this default. + +\subsubsection{Examples.}\label{examples} + +It may be instructive, for the purpose of understanding the syntax of +\emph{shape-modifier and rendering prefixes}, to consider two examples: +\begin{ex} + \cs{draw}\cs{shade}\cs{lclosed}\cs{lines}\marg{...} +\end{ex} +which shades inside a polygon and draws its outline; and +\begin{ex} + \cs{shade}\cs{lclosed}\cs{draw}\cs{lines}\marg{...} +\end{ex} +which draws all of the outline \emph{except} the line segment supplied +by \cs{lclosed}, then shades the interior. Thus, in the first case the +path is defined (by \cs{lines}) then closed, then the resulting closed +path is shaded, then drawn; while in the second case the order is: +defined, drawn, closed, shaded. In particular, what is drawn is the path +not yet closed. + + +\subsection{Functions and Plotting.}\label{functions} + +In the following macros, expressions like $f(\mathtt{x})$, $g(\mathtt{t})$ +stand for any legal \MF{} expression, in which the only unknown +variables are those indicated (\texttt{x} in the first case, and \texttt{t} in +the second). + +\subsubsection{Defining Functions}\label{defining} + +\begin{cd} +\cs{fdef}\marg{\meta{fcn}}\marg{\meta{param1},\meta{param2},$\ldots$}% + \marg{\meta{mf-expr}}% +\index{fdef@\cs{fdef}} +\end{cd} + +Defines a \MF{} function \meta{fcn} of the parameters \meta{param1}, +\meta{param2}, $\ldots$, by the \MF{} expression \meta{mf-expr} in which +the only free parameters are those named. The return type of the +function is the same as the type of the expression. What is allowed for +the function name \meta{fcn} is more restrictive than \MF's rule for +variable names. Roughly speaking, it should consist of letters and +underscore characters only. (In particular, for those that know what +this means, the name should have no suffixes.) Try to make the names +distinctive to avoid redefining internal \MF{} commands. + +The expression \meta{mf-expr} is passed directly into the corresponding +\MF{} macro and interpreted there, so \MF's rules for algebraic +expressions apply. If \cs{fdef} occurs inside an \env{mfpic} +environment, it is local to that environment, otherwise it is available +to all subsequent \env{mfpic} environments. + +As an example, after \cs{fdef}\marg{myfcn}\marg{s,t}\marg{s*t-t}, any +place below where a \MF{} expression is required, you can use +\mfc{myfcn(2,3)} to mean \mfc{2*3-3} and \mfc{myfcn(x,x)} to mean +\mfc{x*x-x}. + +Operations available include \mfc{+}, \mfc{-}, \mfc{*}, \mfc{/}, and +\mfc{**} (\mfc{x**y}$=x^y$), with \mfc{(} and \mfc{)} for grouping. +Functions already available include the standard \MF{} functions +\mfc{round}, \mfc{floor}, \mfc{ceiling}, \mfc{abs}, \mfc{sqrt}, +\mfc{sind}, \mfc{cosd}, \mfc{mlog}, and \mfc{mexp}. Note that in \MF{} +the operations \mfc{*} and \mfc{**} have the same level of precedence, +so \mfc{x*y**z} means $(xy)^z$. Use parentheses liberally! + +(\textit{Notes:} The \MF{} trigonometric functions \mfc{sind} and +\mfc{cosd} take arguments in degrees; \mfc{mlog(x)}$=256\ln x$, and +\mfc{mexp} is its inverse.) You can also define the function \meta{fcn} +by cases, using the \MF{} conditional expression +\begin{ex} + \mfc{if~\meta{boolean}:~\meta{expr}~elseif + \meta{boolean}:~$\ldots$~else:~\meta{expr}~fi}. +\end{ex} +Relations available for the \meta{boolean} part of the expression +include \mfc{=}, \mfc{<}, \mfc{>}, \mfc{<=}, \mfc{<>} and \mfc{>=}. + +Complicated functions can be defined by a compound expression, which is +a series of \MF{} statements, followed by an expression, all enclosed in +the commands \mfc{begingroup} and \mfc{endgroup}. The \cs{fdef} +command automatically supplies the grouping around the definition so +the user need not type them if the entire \meta{mf-expr} is one such +compound expression. \CMF{} functions can call \MF{} functions, +even recursively. + +Many common functions have been predefined in \file{grafbase}. These +include all the usual trig functions \mfc{tand}, \mfc{cotd}, \mfc{secd}, +\mfc{cscd}, which take angles in degrees, plus variants \mfc{sin}, +\mfc{cos}, \mfc{tan}, \mfc{cot}, \mfc{sec}, and \mfc{csc}, which take +angles in radians. Some inverse trig functions are also available, the +following produce angles in degrees: \mfc{asin}, \mfc{acos}, and +\mfc{atan}, and the following in radians: \mfc{invsin}, \mfc{invcos}, +\mfc{invtan}. The exponential and hyperbolic functions: \mfc{exp}, +\mfc{sinh}, \mfc{cosh}, \mfc{tanh}, and their inverses \mfc{ln} (or +\mfc{log}), \mfc{asinh}, \mfc{acosh}, and \mfc{atanh} are also defined. + +\subsubsection{Plotting Functions}\label{plotting} + +The plotting macros take two or more arguments. They have an optional +first argument, \meta{spec}, which determines whether a function is +drawn smooth (as a \MF{} B\'ezier curve), or polygonal (as line +segments)---if \meta{spec} is \texttt{p}, the function will be +polygonal. Otherwise the \meta{spec} should be \texttt{s}, followed by +an optional positive number no smaller than 0.75. In this case the +function will be smooth with a tension equal to the number. See the +\cs{curve} command (subsection~\ref{curves}) for an explanation of +tension. The default \meta{spec} depends on the purpose of the macro. + +One compulsory argument contains three values \meta{min}, \meta{max} and +\meta{step} separated by commas. The independent variable of a function +starts at the value \meta{min} and steps by \meta{step} until reaching +\meta{max}. If \meta{max}${}-{}$\meta{min} is not a whole number of +steps, then round$((\meta{max}-\meta{min})/\meta{step})$ equal steps are +used. One may have to experiment with the size of \meta{step}, since +\MF{} merely connects the points corresponding to these steps with what +\emph{it} considers to be a smooth curve. Smaller \meta{step} gives +better accuracy, but too small may cause the curve to exceed \MF's +capacity or slow down its processing. Increasing the tension may help +keep the curve in line, but at the expense of reduced smoothness. + +There are one or more subsequent arguments, each of which is a \MF{} +function or expression as described above. + +\begin{cd} +\cs{function}\oarg{\meta{spec}}\marg{\meta{$x_{\mathrm{min}}$},% + \meta{$x_{\mathrm{max}}$},\meta{$\Delta x$}}% + \marg{$f(\mathtt{x})$}% +\index{function@\cs{function}} +\end{cd} + +Plots $f(\mathtt{x})$, a \MF{} numeric function or expression of one +numeric argument, which must be denoted by a literal \texttt{x}. The +default \meta{spec} is \texttt{s}. For example +\begin{ex} +\cs{function}\marg{0,pi,pi/10}\marg{sin x} +\end{ex} +draws the graph of $\sin x$ between 0 and $\pi$. + +\begin{cd} +\cs{parafcn}\oarg{\meta{spec}}\marg{\meta{$t_{\mathrm{min}}$},% + \meta{$t_{\mathrm{max}}$},\meta{$\Delta t$}}% + \marg{\meta{pfcn}}% +\index{parafcn@\cs{parafcn}} +\end{cd} + +Plots the parametric path determined by \meta{pfcn}, where \meta{pfcn} +is a \MF{} function or expression of one numeric argument \texttt{t}, +returning a \MF{} \emph{pair}. Or a pair of numeric expressions +$(x(\mathtt{t}),y(\mathtt{t}))$ enclosed in parentheses and separated by +a comma. The default \meta{spec} is \texttt{s}. For example +\begin{ex} +\cs{parafcn}\marg{0,1,.1}\marg{(2t, t + t*t)} +\end{ex} +plots a smooth parabola from $(0,0)$ to $(2,2)$. + +\begin{cd} +\cs{plrfcn}\oarg{\meta{spec}}\marg{\meta{$\theta_{\mathrm{min}}$},% + \meta{$\theta_{\mathrm{max}}$},\meta{$\Delta\theta$}}% + \marg{$f(\mathtt{t})$}% +\index{plrfcn@\cs{plrfcn}} +\end{cd} + +Plots the polar function determined by $r=f(\theta)$, where $f$ is a +\MF{} numeric function or expression of one numeric argument, and +$\theta$ varies from \meta{$\theta_{\mathrm{min}}$} to +\meta{$\theta_{\mathrm{max}}$} in steps of \meta{$\Delta\theta$}. Each +$\theta$ value is interpreted as an angle measured in \emph{degrees}. In +the expression $f(\mathtt{t})$, the unknown \texttt{t} stands for +$\theta$. The default \meta{spec} is \texttt{s}. For example +\begin{ex} +\cs{plrfcn}\marg{0,90,5}\marg{sind (2t)} +\end{ex} +draws one loop of a 4-petal rosette. If one needs radian measures, use +something like the following. +\begin{ex} +\cs{plrfcn}\marg{0,pi*radian,pi*radian/18}\marg{sin (2t/radian)} +\end{ex} + + +\begin{cd} +\cs{btwnfcn}\oarg{\meta{spec}}\marg{\meta{$x_{\mathrm{min}}$},\meta{$x_{\mathrm{max}}$},\meta{$\Delta x$}}% + \marg{$f(\mathtt{x})$}\marg{$g(\mathtt{x})$}% +\index{btwnfcn@\cs{btwnfcn}} +\end{cd} + +Draws the region between the two functions $f(x)$ and $g(x)$, these +being numeric functions of one numeric argument \texttt{x}. The region is +bounded also by the vertical lines at \meta{$x_{\mathrm{min}}$} and \meta{$x_{\mathrm{max}}$}. +Unlike the previous function macros, the default \meta{spec} is +\texttt{p}---this macro is intended to be used for shading between drawn +functions, a task for which smoothness is usually unnecessary. +For example +\begin{ex} +\cs{shade}\cs{btwnfcn}\marg{0,180,5}\marg{0}\marg{sind x} +\end{ex} +shades the area between first crest of a sine wave and the x-axis. + +Note: the effect of \cs{btwnfcn} could also be accomplished with +\begin{ex} + \cs{lclosed}\cs{connect}\\ + \cs{function}\marg{\meta{$x_{\mathrm{min}}$},% + \meta{$x_{\mathrm{max}}$},\meta{$\Delta x$}}\marg{$f(\mathtt{x})$}\\ + \cs{reverse}\cs{function}\marg{\meta{$x_{\mathrm{min}}$},% + \meta{$x_{\mathrm{max}}$},\meta{$\Delta x$}}\marg{$g(\mathtt{x})$}\\ + \cs{endconnect} +\end{ex} + +\begin{cd} +\cs{plrregion}\oarg{\meta{spec}}% + \marg{\meta{$\theta_{\mathrm{min}}$},\meta{$\theta_{\mathrm{max}}$},% + \meta{$\Delta\theta$}}\marg{$f(\mathtt{t})$}% +\index{plrregion@\cs{plrregion}} +\end{cd} + +Plots the polar region determined by $r=f(\theta)$, where $f$ is a \MF{} +numeric function of one numeric argument \texttt{t}. The $\theta$ +values are angles (measured in \emph{degrees}), varying from +\meta{$\theta_{\mathrm{min}}$} to \meta{$\theta_{\mathrm{max}}$} in +steps of \meta{$\Delta\theta$}. In the expression $f(\mathtt{t})$, the +\texttt{t} stands for $\theta$. The region is also bounded by the angles +\meta{$\theta_{\mathrm{min}}$} and \meta{$\theta_{\mathrm{max}}$}, i.e. +by the line segments joining the origin to the endpoints of the +function. The default \meta{spec} is \texttt{p} ---this macro is +intended to be used for shading a region with the boundary drawn, a task +for which smoothness is usually unnecessary. For example +\begin{ex} +\cs{shade}\cs{plrregion}\marg{0,90,5}\marg{sind (2t)} +\end{ex} +shades one loop of the 4-petal rosette. + + +\subsubsection{Plotting external data files}\label{external} + +\begin{cd} +\cs{datafile}\oarg{\meta{spec}}\marg{\meta{file}}\\ +\cs{smoothdata}\oarg{\meta{tension}}\\ +\cs{unsmoothdata}% +\index{datafile@\cs{datafile}}% +\index{smoothdata@\cs{smoothdata}}% +\index{unsmoothdata@\cs{unsmoothdata}} +\end{cd} + +\cs{datafile} defines a curve connecting the points listed in the file +\meta{file}. (The context makes it clear whether this meaning of +\cs{datafile} or that of subsection~\ref{list} is meant.) The +\meta{spec} may be \texttt{p} to produce a polygonal path, or \texttt{s} +followed by a tension value (as in \cs{curve}) to produce a smooth path. +If no \meta{spec} is given, the default is initially \texttt{p}, but +\cs{smoothdata} may be used to change this. Thus, after the command +\cs{smoothdata}\oarg{\meta{tension}} the default \meta{spec} is changed +to \texttt{s\meta{tension}}. If the tension parameter is not supplied it +defaults to \mfc{1.0} (or the value set by the \cs{settension} command +if one has been used). + +The command \cs{unsmoothdata} restores the default \meta{spec} to +\texttt{p}. + +By default, each non-blank line in the file is assumed to contain at +least two numbers, separated by whitespace (blanks or tabs). The first +two numbers on each line are assumed to represent the $x$- and +$y$-coordinates of a point. Initial blank lines in the file are ignored, +as are comments. The comment character in the data file is assumed to be +\texttt{\%}, but it can be reset using \cs{mfpdatacomment} (below). Any +blank line other than at the start of the file causes the curve to +terminate. The \cs{datafile} command may be preceded by any of the +prefix commands, so that, for example, a closed curve could be formed +with \cs{lclosed}\cs{datafile}\marg{data.dat}. + +The \index{datafile@\cs{datafile}}\cs{datafile} command has another use, +independent of the above description. We saw in subsection~\ref{list} +that any \mfp{} command (other than one that prints text labels) that +takes as its last argument a list of points (or numerical values) +separated by commas, can have that list replaced with a reference to an +external data file. For example, if a file \file{ptlist.dat} contains +two or more numerical values per line separated by whitespace, then one +can draw a dot at each of the points corresponding to the first pair of +numbers on each line with the following. +\begin{ex} + \cs{point}\cs{datafile}\marg{ptlist.dat} +\end{ex} +In fact there is no essential difference between `\cs{datafile}\oarg{p}' +and `\cs{polyline}\cs{datafile}', and no difference between +`\cs{datafile}\oarg{s}' and `\cs{curve}\cs{datafile}'. + +Here is the full list of \mfp{} macros that allow this usage of +\cs{datafile}\index{datafile@\cs{datafile}}: + + \begin{raggedright} +\begin{itemize} +\item Numeric data: \cs{piechart}, \cs{barchart}, \cs{numericarray}, and + all the axis marks commands. +\item Point or vector data: \cs{point}, \cs{plotsymbol}, \cs{polyline}, + \cs{polygon}, \cs{fcncurve}, \cs{curve}, \cs{cyclic}, \cs{turtle}, + \cs{qspline}, \cs{closedqspline}, \cs{cspline}, \cs{closedcspline}, + \cs{mfbezier}, \cs{closedmfbezier}, \cs{qbeziers}, + \cs{closedqbeziers}, and \cs{pairarray}. +\end{itemize} + + \end{raggedright} + +\begin{cd} +\cs{mfpdatacomment}\cs{}\meta{char}% +\index{mfpdatacomment@\cs{mfpdatacomment}} +\end{cd} + +Changes \meta{char} to a comment character and changes the usual \TeX{} +comment character \texttt{\%} to an ordinary character \emph{while reading a +datafile for drawing}. + +\begin{cd} +\cs{using}\marg{\meta{in-pattern}}\marg{\meta{out-pattern}}% +\index{using@\cs{using}} +\end{cd} + +Used to change the assumptions about the format of the data file. For +example, if there are four numbers on each line separated by commas, to +plot the third against the second (in that order) you can say +\cs{using}\marg{\#1,\#2,\#3,\#4}\marg{(\#3,\#2)}. This means the +following: Everything on a line up to the first comma is assigned to +parameter \texttt{\#1}, everything from there up to the second comma is +assigned to parameter \texttt{\#2}, etc. Everything from the third comma +to the end of line is assigned to \texttt{\#4}. When the line is +processed by \TeX{} a \MF{} pair is produced representing a point on the +curve. \CMF{} pair expressions can be used in the output portion of +\cs{using}. For example \cs{using}\marg{\#1,\#2,\#3}\marg{(\#2,\#1)/10} +or even \cs{using}\marg{\#1 \#2 \#3}\marg{polar(\#1,\#2)} if the data +are polar coordinates. The default assumptions of the \cs{datafile} +command (i.e., space separated numbers, the first two determining each +point) correspond to the setting +\begin{ex} +\cs{using}\marg{\#1 \#2 \#3}\marg{(\#1,\#2)} +\end{ex} +The \cs{using} command cannot normally be used in the replacement text +of another command. Or rather, it can be so used, but then each +\texttt{\#} has to be doubled. If a \cs{using} declaration occurs in an +\env{mfpic} environment it is local to that environment. Otherwise it +affects all subsequent ones. + +\begin{cd} +\cs{sequence}\index{sequence@\cs{sequence}} +\index{sequence@\cs{sequence}} +\end{cd} + +As a special case, you can plot any number against its sequence +position, with something like +\cs{using}\marg{\#1 \#2}\marg{(\cs{sequence},\#1)}. Here, the macro +\cs{sequence} will take on the values \texttt{1}, \texttt{2}, etc. as +lines are read from the file. + +\begin{cd} +\cs{usingpairdefault}\\ +\cs{usingnumericdefault}% +\index{usingpairdefault@\cs{usingpairdefault}}% +\index{usingnumericdefault@\cs{usingnumericdefault}} +\end{cd} + +The command \cs{usingpairdefault} restores the above default for pair +data. The command \cs{usingnumericdefault} is the equivalent of +\cs{using}\marg{\#1 \#2}\marg{\#1}. + +Note that the default value of \cs{using} appears to reference three +arguments. If there are only two numbers on a line separated by +whitespace, this will still work because of \TeX's argument matching +rules. \TeX's file reading mechanism normally converts the EOL to a +space, but there are exceptions so \mfp{} internally adds a space at +the end of each line read in to be on the safe side. Then the default +definition of \cs{using} reads everything up to the first space as +\texttt{\#1} (whitespace is normally compressed to a single space by +\TeX's reading mechanism), then everything to the second space (the one +added at the end of the line, perhaps) is \texttt{\#2}, then everything +to the EOL is \texttt{\#3}. This might assign an empty argument to +\texttt{\#3}, but it is discarded anyway. + +If the numerical data contain percentages with explicit \texttt{\%} signs, +then choose another comment character with \cs{mfpdatacomment}. This +will change \texttt{\%} to an ordinary character \emph{in the data file}. +However, in your \cs{using} command it would still be read as a comment. +The following example shows how to overcome this: +\begin{verbatim} + \makepercentother + \using{#1% #2 #3}{(#1/100,#2)} + \makepercentcomment +\end{verbatim} + + +Here\index{makepercentother@\cs{makepercentother}}% +\index{makepercentcomment@\cs{makepercentcomment}} +is an analysis of the meaning of this example: everything in a line, up +to the first percent followed by a space is assigned to parameter +\texttt{\#1}, everything from there to the next space is assigned to +\texttt{\#2} and the rest of the line (which may be empty) is +\texttt{\#3}. On the output side in the above example, the percentage is +divided by 100 to convert it to a fraction, and plotted against the +second parameter. Note: normal comments should not be used between +\cs{makepercentother} and \cs{makepercentcomment}, for obvious reasons. + +\begin{cd} + \cs{plotdata}\oarg{\meta{spec}}\marg{\meta{file}}% + \index{plotdata@\cs{plotdata}} +\end{cd} + +This plots several curves from a single file. The \meta{spec} and the +command \cs{smoothdata} have the same effect on each curve as in the +\cs{datafile} command. The data for each curve is a succession of +nonblank lines separated from the data for the next curve by a single +blank line. A \emph{pair} of successive blank lines is treated as the +end of the data. No prefix macros are permitted in front of +\cs{plotdata}. + +Each successive curve in the data file is drawn differently. By default, +the first is drawn as a solid line the next dashed, the third dotted, +etc., through a total of six different line types. A \cs{gendashed} +command is used with predefined dash patterns named \mfc{dashtype0} +through \mfc{dashtype5}. This behavior can be changed with: + +\begin{cd} +\cs{coloredlines}\\ +\cs{pointedlines}\\ +\cs{datapointsonly}\\ +\cs{dashedlines}% +\index{coloredlines@\cs{coloredlines}}% +\index{pointedlines@\cs{pointedlines}}% +\index{datapointsonly@\cs{datapointsonly}}% +\index{dashedlines@\cs{dashedlines}} +\end{cd} + +The command \cs{coloredlines} changes to cycling through eight different +colors starting with black (hey, black is a color too). This has an +effect only for \MP. The sole exception to the general rule that all +curves are drawn in \gbc{drawcolor} is the \cs{plotdata} command after +\cs{coloredlines} has been issued. The command \cs{pointedlines} causes +\cs{plotdata} to use \cs{plot} commands, cycling through nine symbols. +The command \cs{datapointsonly} causes \cs{plotdata} to use +\cs{plotnodes}\marg{\meta{symbol}} commands to plot the data points +only. (See the Appendix for more details.) The command \cs{dashedlines} +restores the default. If, for some reason, you do not like the default +starting line style (say you want to start with a color other than +black), you can use one of the following commands. + +\begin{cd} +\cs{mfplinetype}\marg{\meta{num}}, or\\ +\cs{mfplinestyle}\marg{\meta{num}}% +\index{mfplinetype@\cs{mfplinetype}}% +\index{mfplinestyle@\cs{mfplinestyle}} +\end{cd} + +Here \meta{num} is a non-negative number, less than the number of +different drawing types available. The four previous commands reset the +number to 0, so if you use one of them, issue \cs{mfplinetype} +\emph{after} it. The different line styles are numbered starting from +$0$. If two or more \cs{plotdata} commands are used in the same +\env{mfpic} environment, the numbering in each continues where the one +before left off (unless you issue one of the commands above in between). +\cs{mfplinestyle} means the same as \cs{mfplinetype}, and is included +for compatibility. See the Appendix to find out what dash pattern, +color or symbol corresponds to each number by default. The commands +below can be used to change the default dashess, colors, or symbols. + +\begin{cd} +\cs{reconfigureplot}\marg{dashes}\marg{\meta{pat$_1$},\dots,\meta{pat$_n$}}\\ +\cs{reconfigureplot}\marg{colors}\marg{\meta{clr$_1$},\dots,\meta{clr$_n$}}\\ +\cs{reconfigureplot}\marg{symbols}\marg{\meta{symb$_1$},\dots,\meta{symb$_n$}}% +\index{reconfigureplot@\cs{reconfigureplot}} +\end{cd} + +The first argument of \cs{reconfigureplot} is the rendering method to +change: \texttt{dashes}, \texttt{colors}, or \texttt{symbols}. The +second argument is a list of dash patterns, colors, or symbols. The dash +patterns should be names of patterns defined through the use of +\cs{dashpattern}. The colors can be any color names already known to +\MP, or defined through \cs{mfpdefinecolor}. The symbols can be any of +those listed with the \cs{plotsymbol} command (see +subsection~\ref{points}), or any known \MF{} path variable. The colors +can also be \MP{} expressions of type color, and the symbols can be +expressions of type path. Within a \env{mfpic} environment, the changes +made are local to that environment. Outside, they affect all subsequent +environments. + +\begin{cd} +\cs{defaultplot}\marg{dashes}\\ +\cs{defaultplot}\marg{colors}\\ +\cs{defaultplot}\marg{symbols} +\index{defaultplot@\cs{defaultplot}} +\end{cd} + +The command \cs{defaultplot} restores the built-in defaults for the +indicated method of rendering in \cs{plotdata}. + +The commands \cs{using}, \cs{mfpdatacomment} and \cs{sequence} have the +same meaning here (for \cs{plotdata}) as they do for \cs{datafile} +(above). The sequence numbering for \cs{sequence} starts over with each +new curve. + +\subsection{Labels and Captions.}\label{labels} + +\subsubsection{Setting Text.}\label{text} + +If option \opt{metafont} is in effect macros \cs{tlabel}, \cs{tlabels}, +\cs{axislabels} and \cs{tcaption} do not affect the \MF{} file +(\file{\meta{file}.mf}) at all, but are added to the picture by \TeX. If +\opt{metapost} is in effect but \opt{mplabels} is not, they do not +affect the \MP{} file. In these cases, if these macros are the only +changes or additions to your document, there is no need to repeat the +processing with \MF{} or \MP{} nor the reprocessing with \TeX{} in order +to complete your \TeX{} document. + +\begin{cd} +\cs{tlabel}\oarg{\meta{just}}\parg{\meta{x},\meta{y}}\marg{\meta{labeltext}}\\ +\cs{tlabel}\oarg{\meta{just}}\marg{\meta{pair-list}}\marg{\meta{label text}}\\ +\cs{tlabels}\marg{\meta{params$_1$} \meta{params$_2$} $\ldots$}% +\index{tlabel@\cs{tlabel}}\index{tlabels@\cs{tlabels}} +\end{cd} + +Places \TeX{} labels on the graph. (Not to be confused with \LaTeX's +\cs{label} command.) The special form \cs{tlabels} (note the plural) +essentially just applies \cs{tlabel} to each set of parameters listed in +its argument. That is, each \meta{params$_k$} is a valid set of +parameters for a \cs{tlabel} command. These can be separated by spaces, +newlines, or nothing at all. They should \emph{not} be separated by +blank lines. + +The last required parameter is ordinary \TeX{} text. The pair +\parg{\meta{x},\meta{y}} gives the coordinates of a point in the graph +where the text will be placed. It may optionally be enclosed in braces. +In fact, the second syntax may be used if \opt{mplabels} is in effect, +where \meta{pair-list} is any expression recognized as a pair by \MP, or +a comma-separated list of such pairs. + +The optional parameter \oarg{\meta{just}} specifies the +\emph{justification}, the relative placement of the label with respect +to the point \parg{\meta{x},\meta{y}}. It is a two-character sequence +where the first character is one of \texttt{t} (top), \texttt{c} (center), +\texttt{b} (bottom), or \texttt{B} (Baseline), to specify vertical placement, +and the second character is one of \texttt{l} (left), \texttt{c} (center), or +\texttt{r} (right), to specify horizontal placement. These letters specify +what part of the \emph{text} is to be placed at the given point, so +\texttt{r} puts the right end of the text there---which means the text will be +left of the point. The default justification is \oarg{Bl}. + +When \opt{mplabels} is in effect, the two characters may optionally be +followed by a number, specifying an angle in degrees to rotate the text +about the point \parg{\meta{x},\meta{y}}. If the angle is supplied +without \opt{mplabels} it is ignored after a warning. If the angle is +absent, there is no rotation. Note that the rotation takes place after +the placement and uses the given point as the center of rotation. For +example, \oarg{cr} will place the text left of the point, while +\oarg{cr180} will rotate it around to the right side of the point (and +upsidedown, of course). + +There should be no spaces before, between, or after the first two +characters. However the number, if present, is only required to be a +valid \MP{} numerical expression containing no bracket characters; as +such, it may contain some spaces (e.g., around operations as in +\texttt{45 + 30}). + +A multiline \cs{tlabel} may be specified by explicit line breaks, which +are indicated by the \bbsl{} command or the \cs{cr} command. This is a +very rudimentary feature. By default it left justifies the lines and +causes \cs{tlabel} to redefine \bbsl. One can center a line by putting +\cs{hfil} as the first thing in the line, and right justify by putting +\cs{hfill} there (these are \TeX{} primitives). Redefining \bbsl{} can +interfere with \LaTeX's definition. For better control in \LaTeX{} use +\cs{shortstack} inside the label (or a \env{tabular} environment or some +other environment which always initializes \bbsl{} with its own +definition). + +If the label goes beyond the bounds of the graph in any direction, the +space reserved for the graph is expanded to make room for it. (Note: +this behavior is very much different from that of the \LaTeX{} +\env{picture} environment.) + +If the \opt{mplabels} option is in effect, \cs{tlabel} will write a +\mfc{btex $\ldots$ etex} group to the output file, allowing \MP{} to +arrange for typesetting the label. Normally, the label becomes part of +the picture, rather than being laid on top of it, and can be covered up +by any filling macros that follow, or clipped off by \cs{gclear} or +\cs{gclip}. However, under the \opt{overlaylabels} option (or after the +command \cs{overlaylabels}), labels are saved and added to the picture +at the very end. This may prevent some special effects, but it makes the +behavior of labels much more consistent through all the 12 permissable +settings of the options \opt{metapost}, \opt{mplabels}, \opt{clip}, and +\opt{truebbox}. + +\begin{cd} +\cs{everytlabel}\marg{\meta{\TeX-code}}% +\index{everytlabel@\cs{everytlabel}} +\end{cd} + +One problem with multi-line \cs{tlabel}s is that each line of their +contents constitutes a separate group. This makes it difficult to change +the \cs{baselineskip} (for example) inside a label. The command +\cs{everytlabel} saves it's contents in a token register and the code is +issued in each \cs{tlabel}, as the last thing before the actual line(s) +of text. Any switch you want to apply to every line can be supplied. For +example +\begin{ex} + \cs{everytlabel}\marg{\cs{bf}\cs{baselineskip} 10pt} +\end{ex} +will make every line of every \cs{tlabel}'s text come out bold with 10 +point baselines. The effect of \cs{everytlabel} is local to the +\env{mfpic} environment, if it is issued inside one. Note that the lines +of a tlabel are wrapped in a box, but the commands of \cs{everytlabel} +are outside all of them, so no actual text should be produced by these +commands. + +Using \cs{tlabel} without an optional argument is equivalent to +specifying \oarg{Bl}. Use the following command to change this +behavior. + +\begin{cd} +\cs{tlabeljustify}\marg{\meta{just}}% +\index{tlabeljustify@\cs{tlabeljustify}} +\end{cd} + +After this command the placement of all subsequent labels without +optional argument will be as specified in this command. For example, +\cs{tlabeljustify}\marg{cr45} would cause all subsequent \cs{tlabel} +commands lacking an optional argument to be placed as if the argument +\oarg{cr45} were used in each. If \opt{mplabels} is not in effect at the +time of this command, the rotation part will be saved in case that +option is turned on later, but a warning message will be issued. Without +\opt{mplabels}, the rotation is ignored by \cs{tlabel} . + +\begin{cd} +\cs{tlabeloffset}\marg{\meta{hlen}}\marg{\meta{vlen}}\\ +\cs{tlabelsep}\marg{\meta{len}}% +\index{tlabeloffset@\cs{tlabeloffset}}% +\index{tlabelsep@\cs{tlabelsep}} +\end{cd} + +The first command causes all subsequent \cs{tlabel} commands to shift +the label right by \meta{hlen} and up by \meta{vlen} (negative lengths +cause it to be shifted left and down, respectively). + +The \cs{tlabelsep} command causes labels to be shifted by the given +amount in a direction that depends on the optional positioning +parameter. For example, if the first letter is \texttt{t} the label is +shifted down by the amount \meta{len} and if the second letter is +\texttt{l} it is also shifted right. In all cases it is shifted \emph{away} from +the point of placement (unless the dimension is negative). If \texttt{c} or +\texttt{B} is the first parameter, no vertical shift takes place, and if +\texttt{c} is the second, there is no horizontal shift. This is intended to +be used in cases where something has been drawn at that particular +point, in order to separate the text from the drawing, but the value is +also written to the output file for use by \cs{tlabelrect} +(subsection~\ref{surrounding}) and related +commands. + +\begin{cd} +\cs{axislabels}\marg{\meta{axis}}\oarg{\meta{just}}% + \marg{\marg{\meta{text$_1$}}\meta{$n_1$},% + \marg{\meta{text$_2$}}\meta{$n_2$},$\ldots$}% +\index{axislabels@\cs{axislabels}} +\end{cd} + +This command places the given \TeX{} text (\meta{text$_k$}) at the given +positions (\meta{$n_k$}) on the given axis, \meta{axis}, which must be a +single letter and one of \texttt{l}, \texttt{b}, \texttt{r}, \texttt{t}, +\texttt{x}, or \texttt{y}. The text is placed as in \cs{tlabels} +(including the taking into account of \cs{tlabelsep} and +\cs{tlableoffset}), except that the default justification depends on the +axis (the settings of \cs{tlabeljustify} are ignored). In the case of +the border axes, the default is to place the label outside the axis and +centered. So, for example, for the bottom axis it is \oarg{tc}. The +defaults for the $x$- and $y$-axis are below and left, respectively. The +optional \meta{just} can be used to change this. For example, to place +the labels \emph{inside} the left border axis, use \oarg{cl}. If +\opt{mplabels} is in effect, rotations can be included in the +justification parameter. For example, to place the text strings +`first', `second' and `third' just below the positions 1, 2 and 3 +on the $x$-axis, rotated so they read upwards at a 90 degree angle, one +can use \cs{axislabels}\marg{x}\oarg{cr90}\marg{\marg{first}1, +\marg{second}2, \marg{third}3} + +\begin{cd} +\cs{plottext}\oarg{\meta{just}}\marg{\meta{text}}\marg{($x_0$,$y_0$), + ($x_1$,$y_1$), $\ldots$}% +\index{plottext@\cs{plottext}} +\end{cd} + +Similar in effect to \cs{point} and \cs{plotsymbol} (but without +requiring \MF), \cs{plottext} places a copy of \meta{text} at each of +the listed points. It simply issues multiple \cs{tlabel} commands with +the same text and optional parameter, but at the different points +listed. This is intended to plot a set of points with a single letter or +font symbol (instead of a \MF{} generated shape). Like \cs{axislabels}, +this does not respond to the setting of \cs{tlabeljustify}. It has a +default setting of \oarg{cc} if the optional argument is omitted. The +points may be MetaPost pair expressions under \opt{mplabels}, but they +must \emph{not} be individually enclosed in braces. (This requirement is +new with version 0.7; prior to that pairs in braces didn't work reliably +anyway.) This command is actually unnecessary under \opt{mplabels} as +the plain \cs{tlabel} command can then be given a list of points. The +\cs{tlabel} command is more efficient, and \cs{plottext} is converted to +it internally. + +\begin{cd} +\cs{mfpverbtex}\marg{\meta{\TeX-cmds}}% +\index{mfpverbtex@\cs{mfpverbtex}} +\end{cd} + +This writes a \mfc{verbatimtex} block to the \file{.mp} file. It makes +sense only if the \opt{mplabels} option is used and so only for \MP. The +\meta{\TeX-cmds} in the argument are written to the \file{.mp} file, +preceded by the \MP{} command \mfc{verbatimtex} and followed by +\mfc{etex}. Line breaks within the \meta{\TeX-cmd} are preserved. The +\cs{mfpverbtex} command must come before any \cs{tlabel} that is to be +affected by it. Any settings common to all \env{mfpic} environments +should be in a \cs{mfpverbtex} command preceding all such environments. +It may be issued at any point after \mfp{} is loaded, and any number of +times. If it issued before \cs{opengraphsfile}, its contents are saved +and written by that command. Because of the way \MP{} handles +\mfc{verbatimtex} material, the effects cannot be constrained by any +grouping unless one places \TeX{} grouping commands within +\meta{\TeX-cmds}. + +\begin{cd} +\cs{tcaption}\oarg{\meta{maxwd},\meta{linewd}}\marg{\meta{caption text}}% +\index{tcaption@\cs{tcaption}} +\end{cd} + +Places a \TeX{} caption at the bottom of the graph. (Not to be confused +with \LaTeX's similar \cs{caption} command.) The macro will +automatically break lines which are too much wider than the graph---if +the \cs{tcaption} line exceeds \meta{maxwd} times the width of the +graph, then lines will be broken to form lines at most \meta{linewd} +times the width of the graph. The default settings for \meta{maxwd} and +\meta{linewd} are 1.2 and 1.0, respectively. \cs{tcaption} typesets its +argument twice (as does \LaTeX's \cs{caption}), the first time to test +its width, the second time for real. Therefore, the user is advised +\emph{not} to include any global assignments in the caption text. + +If the \cs{tcaption} and graph have different widths, the two are +centered relative to each other. If the \cs{tcaption} takes multiple +lines, then the lines are both left- and right-justified (except for the +last line), but the first line is not indented. If the option +\opt{centeredcaptions} is in effect, each line of the caption will be +centered. + +In a \cs{tcaption}, Explicit line breaks may be specified by using the +\bbsl{} command. The separation between the bottom of the picture and +the caption can be changed by increasing or decreasing the skip +\cs{mfpiccaptionskip}\index{mfpiccaptionskip@\cs{mfpiccaptionskip}} +(a `rubber' length in Lamport's terminology). + +Many \mfp{} users find the \cs{tcaption} command too limiting (one +cannot, for example, place the caption to the side of the figure). It is +common to use some other method (such as \LaTeX's \cs{caption} command +in a \env{figure} environment). The dimensions \cs{mfpicheight} and +\cs{mfpicwidth} (see section~\ref{parameters}) might be a convenience +for plain \TeX{} users who want to roll their own caption macros. + +\subsubsection{Curves surrounding text}\label{surrounding} + + +\begin{cd} +\cs{tlabelrect}\oarg{\meta{rad}}\oarg{\meta{just}}% + \meta{pair}\marg{\meta{text}}\\ +\cs{tlabelrect*...}% +\index{tlabelrect@\cs{tlabelrect}} +\end{cd} + +This and the following two methods of surounding a bit of text with a +curve share some common characteristics which will be described here. +The commands all take an optional argument that can modify the shape of +the curve. After that come arguments exactly as for the \cs{tlabel} +command except that only a single point is permitted, not a list. (So +\meta{pair} is either of the form \parg{\meta{x},\meta{y}} or the same +enclosed in braces, or for \opt{mplabels} a pair expression in braces.) +After processing the surrounding curve, a \cs{tlabel} is applied to +those arguments unless a \texttt{*} is present. In order for the second +optional argument to be recognized as the second, the first optional +argument must also be present. An empty first optional argument is +permitted, causing the default value to be used. The default for the +justification parameter is \texttt{cc}, for compatibility with past +\mfp{} versions in which these commands all centered the figure around +the point and no justification parameter existed. This default can be +changed with the \cs{tlpathjustify} command below. + +The plain rectangle version produces a frame separated from the text on +all sides by the amount defined with \cs{tlabelsep}. All other versions +produce the smallest described curve that contains this rectangle. + +These commands may be preceded by prefix macros (see the sections +\ref{modifier}~and \ref{rendering}, above). They all have a +`\texttt{*}-form' which produces the curve but omits placing the text. +All have the effect of rendering the path \emph{before} placing any +text. For example, \cs{gclear}\cs{tlabelrect}\dots\ will clear the +rectangle and then place the following text in the cleared space. + +The optional argument of \cs{tlabelrect}, \meta{rad}, is a dimension, +defaulting to \dim{0pt}, that produces rounded corners made from +quarter-circles of the given radius. If the corners are rounded, the +sides are expanded slightly so the resulting shape still encompasses the +rectangle mentioned above. There is one special case for the optional +argument \meta{rad}: if the keyword `\texttt{roundends}' is used instead +of a dimension, the radius will be chosen to make the nearest quarter +circles just meet, so the narrow side of the rectangle is a half circle. + +\begin{cd} +\cs{tlabeloval}\oarg{\meta{mult}}\oarg{\meta{just}}% + \meta{pair}\marg{\meta{text}}\\ +\cs{tlabeloval*...}% +\index{tlabeloval@\cs{tlabeloval}} +\end{cd} + +This is similar to \cs{tlabelrect}, except it draws an ellipse. The +ellipse is calculated to have the same ratio of width to height as the +rectangle mentioned above. The optional \meta{mult} is a multiplier that +increases or decreases this ratio. Values of \meta{mult} larger than 1 +increase the width and decrease the height. + +\begin{cd} +\cs{tlabelellipse}\oarg{\meta{ratio}}\oarg{\meta{just}}% + \meta{pair}\marg{\meta{text}}\\ +\cs{tlabelellipse*...}\\ +\cs{tlabelcircle}\oarg{\meta{just}}\meta{pair}\marg{\meta{text}}\\ +\cs{tlabelcircle*...}% +\index{tlabelellipse@\cs{tlabelellipse}}\index{tlabelcircle@\cs{tlabelcircle}} +\end{cd} + +Draws the smallest ellipse centered at the point that encompasses the +rectangle defined above, and that has a ratio of width to height equal +to \meta{ratio} then places the text. The default ratio is $1$, which +produces a circle. We also provide the command \cs{tlabelcircle}, which +take only the \oarg{\meta{just}} optional argument. Internally, it just +processes any \texttt{*} and calls \cs{tlabelellipse} with parameter 1. + +In the above \cs{tlabel...} curves, the optional parameter should be +positive. If it is zero, all the curves silently revert to +\cs{tlabelrect}. If it is negative, it is silently accepted. In the case +of \cs{tlabelrect} this causes the quarter-circles at the corners to be +indented rather than convex. In the other cases, there is no visible +effect, but in all cases the sense of the curve is reversed. + +\begin{cd} +\cs{tlpathjustify}\marg{\meta{just}} +\index{tlpathjustify@\cs{tlpathjustify}} +\end{cd} + +This can be used to change the default justification for \cs{tlabelrect} +and friends. The \meta{just} parameter is exactly as in +\cs{tlabeljustify} in subsection~\ref{text}. + + +\subsection{Saving and Reusing an \mfp{} Picture.}\label{saving} + +These commands have been changed from versions prior to 0.3.14 in order +to behave more like the \LaTeX's \cs{savebox}, and also to allow the +reuse of an allocated box. Past files that use \cs{savepic} will have to +be edited to add \cs{newsavepic} commands that allocate the \TeX{} +boxes. + +\begin{cd} +\cs{newsavepic}\marg{\meta{picname}}\\ +\cs{savepic}\marg{\meta{picname}}\\ +\cs{usepic}\marg{\meta{picname}}% +\index{newsavepic@\cs{newsavepic}}% +\index{savepic@\cs{savepic}}% +\index{usepic@\cs{usepic}} +\end{cd} + +\cs{newsavepic} allocates a box (like \LaTeX's \cs{newsavebox}) in which +to save a picture. As in \cs{newsavebox}, \meta{picname} is a control +sequence. Example: \cs{newsavepic}\marg{\cs{foo}}. + +\cs{savepic} saves the \emph{next} \cs{mfpic} picture in the named box, +which should have been previously allocated with \cs{newsavepic}. (This +command should not be used \emph{inside} an \env{mfpic} environment.) +The next picture will not be placed, but saved in the box for later use. +This is primarily intended as a convenience. One \emph{could} use +\begin{ex} + \cs{savebox}\marg{\meta{picname}}\marg{\meta{entire \env{mfpic} environment}}, +\end{ex} +but \cs{savepic} avoids having to place the \env{mfpic} environment in +braces, and avoids one extra level of \TeX{} grouping. It also avoids +reading the entire \env{mfpic} environment as a parameter, which would +nullify \mfp's efforts to preserve line breaks in parameters +written to the \MF{} output file. If you repeat \cs{savepic} with the +same \meta{picname}, the old contents are replaced with the next +picture. + +\cs{usepic} copies the picture that had been saved in the named box. +This may be repeated as often as liked to create multiple copies of one +picture. + + +\subsection{Picture frames.}\label{frames} + +When \TeX{} is run but before \MF{} or \MP{} has been run on the output +file, \mfp{} detects that the \file{.tfm} file is missing or that +the first \MP{} figure file \file{\meta{file}.1} is missing. In these +cases, the \env{mfpic} environment draws only a rectangular frame with +dimensions equal to the nominal size of the picture, containing the +figure name and number (and any \TeX{} labels). The command(s) used +internally to do this are made available to the user. + +\begin{cd} +\cs{mfpframe}\oarg{\meta{fsep}}% + \meta{ material-to-be-framed }% +\cs{endmfpframe}\\ +\cs{mfpframed}\oarg{\meta{fsep}}\marg{\meta{material-to-be-framed}}% +\index{mfpframed@\cs{mfpframed}}% +\index{endmfpframe@\cs{endmfpframe}}% +\index{mfpframe@\cs{mfpframe}} +\end{cd} + +These surround their contents with a rectangular frame consisting of +lines with thickness \cs{mfpframethickness} separated from the contents +by the \meta{fsep} if specified, otherwise by the value of the dimension +\cs{mfpframesep}. The default value of the \TeX{} dimensions +\cs{mfpframesep} and \cs{mfpframethickness} are \dim{2pt} and +\dim{0.4pt}, respectively. The \cs{mfpframe} $\ldots$ \cs{endmfpframe} +version is preferred around \env{mfpic} environments or verbatim +material since it avoids reading the enclosed material before +appropriate \cs{catcode} changes go into effect. In \LaTeX, one can also +use the \cs{begin}\marg{mfpframe} $\ldots$ \cs{end}\marg{mfpframe} +syntax. + +An alternative way to frame \env{mfpic} pictures is to save them with +\cs{savepic} (see previous section) and issue a corresponding +\cs{usepic} command inside any framing environment/command of the user's +choice or devising. + + +\subsection{Affine Transforms.}\label{transforms} + +Coordinate transformations that keep parallel lines in parallel are +called \emph{affine transforms}. These include translation, rotation, +reflection, scaling and skewing (slanting). For the \MF{} coordinate +system only---that is, for paths, but not for \cs{tlabel}'s (let alone +\cs{tcaption}'s)---\mfp{} provides the ability to apply \MF{} +affine transforms. + + +\subsubsection{Affine Transforms of the \MF{} Coordinate +System.}\label{affine} + +\begin{cd} +\cs{coords} $\ldots$ +\cs{endcoords}% +\index{coords@\cs{coords}}% +\index{endcoords@\cs{endcoords}} +\end{cd} + +All affine transforms are restricted to the innermost enclosing +\cs{coords}$\ldots$\cs{endcoords} pair. If there is \emph{no} such +enclosure, then the transforms will apply to the rest of the \env{mfpic} +environment + +\emph{Note}: In \LaTeX, a \env{coords} environment may be used. + +\medskip +Transforms provided by \mfp. + +\medskip +\halign +{#\hfil&\quad#\hfil\cr + \cs{rotate}\marg{\meta{$\theta$}}% + \index{rotate@\cs{rotate}}% + & Rotates around origin by \meta{$\theta$} degrees \cr + \cs{rotatearound}\marg{\meta{point}}\marg{\meta{$\theta$}}% + \index{rotatearound@\cs{rotatearound}}% + & Rotates around point \meta{point} by \meta{$\theta$} degrees \cr + \cs{turn}\oarg{\meta{point}}\marg{\meta{$\theta$}}% + \index{turn@\cs{turn}}% + & Rotates around point \meta{point} (origin is default) by + \meta{$\theta$} \cr + \cs{mirror}\marg{\meta{$p_1$}}\marg{\meta{$p_2$}}% + \index{mirror@\cs{mirror}}% + & Same as \cs{reflectabout}\cr + \cs{reflectabout}\marg{\meta{$p_1$}}\marg{\meta{$p_1$}}% + \index{reflectabout@\cs{reflectabout}}% + & Reflect about the line \meta{$p_1$}\texttt{--}\meta{$p_2$} \cr + \cs{shift}\marg{\meta{pair}}% + \index{shift@\cs{shift}}% + & Shifts origin by the vector \meta{pair} \cr + \cs{scale}\marg{\meta{s}}% + \index{scale@\cs{scale}}% + & Scales uniformly by a factor of \meta{s} \cr + \cs{xscale}\marg{\meta{s}}% + \index{xscale@\cs{xscale}}% + & Scales only the X coordinates by a factor of \meta{s} \cr + \cs{yscale}\marg{\meta{s}}% + \index{yscale@\cs{yscale}}% + & Scales only the Y coordinates by a factor of \meta{s} \cr + \cs{zscale}\marg{\meta{pair}}% + \index{zscale@\cs{zscale}}% + & Scales uniformly by magnitude of \meta{pair}, and rotates by angle + of \meta{pair} \cr + \cs{xslant}\marg{\meta{s}}% + \index{xslant@\cs{xslant}}% + & Skew in $X$ direction by the multiple \meta{s} of $Y$ \cr + \cs{yslant}\marg{\meta{s}}% + \index{yslant@\cs{yslant}}% + & Skew in $Y$ direction by the multiple \meta{s} of $X$ \cr + \cs{zslant}\marg{\meta{pair}}% + \index{zslant@\cs{zslant}}% + & See \mfc{zslanted} in \file{grafdoc.tex} \cr + \cs{boost}\marg{\meta{$\chi$}}% + \index{boost@\cs{boost}}% + & Special relativity boost by $\chi$, see \mfc{boost} in + \file{grafdoc.tex} \cr + \cs{xyswap}% + \index{xyswap@\cs{xyswap}}% + & Exchanges the values of $x$ and $y$. \cr}% + +An arbitrary \MF{} transformation can be implemented with + +\begin{cd} +\cs{applyT}\marg{\meta{transformer}}% +\index{applyT@\cs{applyT}} +\end{cd} + +This is mainly for \MF{} hackers. This applies the \MF{} +\meta{transformer} to the current coordinate system. For example, the +\mfp{} \TeX{} macro \cs{zslant\#1} is implemented as +\cs{applyT}\marg{zslanted \#1} where the argument \mfc{\#1} is a \MF{} +pair, such as $(x,y)$. Any code that satisfies \MF's syntax for a +\meta{transformer} (see D.~E.~Knuth, ``The \MF book'') is permitted, +although no effort is made to correctly write \TeX{} special characters +nor to preserve linebreaks in the code. + +When any of these commands is issued, the effect is to transform all +subsequent figures (within the enclosing \env{coords} or \env{mfpic} +environment). In particular, attention may need to be paid to whether +these transformations move (part of) the figure outside the space +allotted by the \cs{mfpic} command parameters. + +A not-so-obvious point is that if several of these transformations are +applied in succession, then the most recent is applied first, so that +figures are transformed as if the transformations were applied in the +reverse order of their occurrence. This is similar to the application of +prefix macros (as well as application of transformations in mathematics: +$T_1 T_2 z$ usually means to apply $T_1$ to the result of $T_2 z$). + + +\subsubsection{Transformation of Paths.}\label{transformation} + +In the previous section we discussed transformations of the \MF{} +coordinate system. Those macros affect the \emph{drawing} of paths and +other figures, but do not change the actual paths. We will explain the +distinction after introducing two macros for storing and reusing +figures. + +\begin{cd} +\cs{store}\marg{\meta{path variable}}\marg{\meta{path}}\\ +\cs{store}\marg{\meta{path variable}}\meta{path}% +\index{store@\cs{store}} +\end{cd} + +This stores the following \meta{path} in the specified \MF{} \meta{path +variable}. Any valid \MF{} symbolic token will do, in particular, any +sequence of letters or underscores. You should be careful to make the +name distinctive to avoid overwriting the definition of some internal +variable. The stored path may later be used as a figure macro +using \cs{mfobj} (below). The \meta{path} may be any of the figure +macros (such as \cs{curve}\marg{(0,0),(1,0),(1,1)}) or the result of +modifying it. For example. + +\begin{ex} +\cs{store}\marg{pth}\cs{lclosed}\cs{reverse}% + \cs{curve}\marg{(0,0),(1,0),(1,1)}) +\end{ex} + +In fact, \cs{store} is a prefix macro that does nothing to the following +curve except store it. It acts as a rendering macro with a null +rendering, so the curve is not made visible unless other rendering +macros appear before or after it. It is special in that it is the only +prefix macro that allows the following path to be an argument, that is, +enclosed in braces. This is solely to support past \mfp{} versions in +which \cs{store} was \emph{not} defined as a prefix macro. + +\begin{cd} +\cs{mfobj}\marg{\meta{path expression}}\\ +\cs{mpobj}\marg{\meta{path expression}}% +\index{mfobj@\cs{mfobj}}\index{mpobj@\cs{mpobj}} +\end{cd} + +The \meta{path expression} is a previously stored path variable, or a +valid \MF{} (or \MP) expression combining such variables and/or constant +paths. This allows the use of path variables or expressions as figure +macros, permitting all prefix operations, etc.. Here's some +oversimplified uses of \cs{store} and \cs{mfobj}: + +\nobreak +\begin{verbatim} +\store{my_f}{\circle{...}} % Store a circle. +\dotted\mfobj{my_f} % Now draw it dotted, +\hatch\mfobj{my_f} % and hatch its interior +% Store two curves: +\store{my_f}{\curve{...}} +\store{my_g}{\curve{...}} +% Store two combinations of them: +\store{my_h}{\mfobj{my_f--my_g--cycle}} % a MF path expression +\store{my_k}{% + \lclosed\connect % a combination path created from + \mfobj{my_f}\mfobj{my_g} % mfpic commands. + \endconnect} +\dotted\mfobj{my_f} % Draw the first dotted, +\dotted\mfobj{my_g} % then the second. +\shade\mfobj{my_h} % Now shade one combination. +\hatch\mfobj{my_k} % and hatch the other +\end{verbatim} +The two forms \cs{mfobj} and \cs{mpobj} are absolutely equivalent. + +It should be noted that every \mfp{} figure is implicitly stored in the +object \gbc{curpath}. So you can use \cs{mfobj}\marg{curpath} and get +the path defined by the most recent sequence of prefix macros and +figure. + +Getting back to coordinate transforms, if one changes the coordinate +system and then stores and draws a curve, say by +\begin{verbatim} + \coords + \rotate{45 deg} + \store{xx}{\rect{(0,0),(1,1)}} + \dashed\mfobj{xx} + \endcoords +\end{verbatim} +one will get a transformed picture, but the object \cs{mfobj}\marg{xx} +will contain the simple, unrotated rectangular path and drawing it later +(outside the \env{coords} environment) will prove that. This is because +the \texttt{coords} environment works at the drawing level, not at the +definition level. In oversimplified terms, \cs{dashed} invokes the +transformation, but not \cs{store}. More precisely, \mfp{} prefix macros +have an input and an output and a side effect. The input is the output +of whatever follows it, the output can be the same as the input (the +case for rendering prefixes) or modified version of that (the closure +prefixes). The side effect is the drawing (dashing, filling) of the path, +appending of an arrowhead, etc.. These side effects have to know where +to place their marks, so a computation is invoked that converts the +user's graph coordinates into \MF's drawing coordinates. The previous +transformation macros work by modifying the parameters used in this +computation. + +The following transformation prefixes provide a means of actually +creating and storing a transformed path. In the terms just discussed, +their input is a path, their output is the transformed path, and they +have no side effects (other than invoking the default rendering if no +rendering prefix was previously provided). + +\begin{cd} +\cs{rotatepath}\marg{(\meta{x},\meta{y}),\meta{$\theta$}}$\ldots$\\ +\cs{shiftpath}\marg{(\meta{dx},\meta{dy})}$\ldots$\\ +\cs{scalepath}\marg{(\meta{x},\meta{y}),\meta{s}}$\ldots$\\ +\cs{xscalepath}\marg{\meta{x},\meta{s}}$\ldots$\\ +\cs{yscalepath}\marg{\meta{y},\meta{s}}$\ldots$\\ +\cs{slantpath}\marg{\meta{y},\meta{s}}$\ldots$\\ +\cs{xslantpath}\marg{\meta{y},\meta{s}}$\ldots$\\ +\cs{yslantpath}\marg{\meta{x},\meta{s}}$\ldots$\\ +\cs{reflectpath}\marg{\meta{$p_1$},\meta{$p_2$}}$\ldots$\\ +\cs{xyswappath}$\ldots$\\ +\cs{transformpath}\marg{\meta{transformer}}$\ldots$ +\index{rotatepath@\cs{rotatepath}}\index{shiftpath@\cs{shiftpath}}% +\index{scalepath@\cs{scalepath}}\index{xscalepath@\cs{xscalepath}}% +\index{yscalepath@\cs{yscalepath}}\index{slantpath@\cs{slantpath}}% +\index{xslantpath@\cs{xslantpath}}\index{yslantpath@\cs{yslantpath}}% +\index{reflectpath@\cs{reflectpath}}\index{xyswappath@\cs{xyswappath}}% +\index{transformpath@\cs{transformpath}} +\end{cd} + +\cs{rotatepath} rotates the following path by \meta{$\theta$} degrees +about point \mfc{(\meta{x},\meta{y})}. After the commands: +\begin{ex} + \cs{store}\marg{xx}\marg{\cs{rotatepath}\marg{(0,0), 45}% + \cs{rect}\marg{(0,0),(1,1)}} +\end{ex} +the object \cs{mfobj}\marg{xx} contains an actual rotated rectangle, as +drawing it will prove. The above macro, and the five that follow are +extremely useful (and better than \env{coords} environments) if one +needs to draw a figure, together with many slightly different versions +of it. + +\cs{shiftpath} shifts the following path by the horizontal amount +\meta{dx} and the vertical amount \meta{dy}. + +\cs{scalepath} scales (magnifies or shrinks) the following path by the +factor \meta{s}, in such a way that the point \parg{\meta{x},\meta{y}} +is kept fixed. That is +\begin{ex} + \cs{scalepath}\marg{(0,0),2}\cs{rect}\marg{(0,0),(1,1)} +\end{ex} +is essentially the same as \cs{rect}\marg{(0,0),(2,2)}, while +\begin{ex} + \cs{scalepath}\marg{(1,1),2}\cs{rect}\marg{(0,0),(1,1)} +\end{ex} +is the same as \cs{rect}\marg{(-1,-1),(1,1)}. In both cases the +rectangle is doubled in size. In the first case the lower left corner +stays the same, while in the second case the the upper right corner +stays the same. + +\cs{xscalepath} is similar to \cs{scalepath}, but only the $x$-direction +is scaled, and all points with first coordinate equal to \meta{x} remain +fixed. \cs{yscalepath} is similar, except the $y$-direction is affected. + +\cs{slantpath} applies a slant transformation to the following path, +keeping points with second coordinate equal to \meta{y} fixed. That is, +a point $p$ on the path is moved right by an amount proportional to the +height of $p$ above the line $y={}$\meta{y}, with $s$ being the +proportionality factor. Vertical lines in the path will acquire a slope +of $1/s$, while horizontal lines stay horizontal. + +\cs{xslantpath} is an alias for \cs{slantpath} + +\cs{yslantpath} is similar to \cs{xslantpath}, but exchanges the roles +of $x$ and $y$ coordinates. + +\cs{reflectpath} returns the mirror image of the following path, where +the line determined by the points \meta{$p_1$} and \meta{$p_2$} is the +mirror. + +\cs{xyswappath} returns the path with the roles of $x$ and $y$ +exchanged. This is similar in some respects to +\cs{reflectpath}\marg{(0,0),(1,1)}, and produces the same result if the +$x$ and $y$ scales of the picture are the same. However, +\cs{reflectpath} compensates for such different scales (so the path +shape remains the same), while \cs{xyswappath} does not (so that after a +swap, verticals become horizontal and horizontals become vertical). One +cannot have both when the scales are different. + +For \MF{} or \MP{} power users, \cs{transformpath} can take any +`transformer' and transform the following path with it. Here, a +\emph{transformer} is anything that can follow a path and create a new +path. Examples are \mfc{scaled}, \mfc{shifted (1,1)}, and \mfc{rotatedabout +(0,1)}. + +All these prefixes change only the path that follows, not any rendering +of it that follows. For example: +\begin{ex} + \cs{gfill}\cs{rotatepath}\marg{(0,0),90}\cs{dashed}% + \cs{rect}\marg{(0,0),(1,1)} +\end{ex} +will not produce a rotated dashed rectangle. Rather the original +rectangle will be dashed, and the rotated rectangle will be filled. + + +\subsection{Parameters.}\label{parameters} + +There are many parameters in \mfp{} which the user can modify to +obtain different effects, such as different arrowhead size or shape. +Most of these parameters have been described already in the context of +macros they modify, but they are all described together here. + +Many of the parameters are stored by \TeX{} as dimensions, and so are +available even if there is no \MF{} file open; changes to them are not +subject to the usual \TeX{} rules of scope however: they are local to +\TeX{} groups only if set inside an \env{mfpic} environment otherwise +they are global. This is for consistency: other parameters are stored by +\MF{} (so the macros to change them will have no effect unless a \MF{} +file is open) and the changes are subject to \MF's rules of scope---to +the \mfp{} user, this means that changes inside the \cs{mfpic} $\ldots$ +\cs{endmfpic} environment are local to that environment, but other +\TeX{} groupings have no effect on scope. Some commands (notably those +that set the axismargins and \cs{tlabel} parameters) change both \TeX{} +parameters and \MF{} parameters, and it is important to keep then +consistent. + +\begin{cd} +\cs{mfpicunit}% +\index{mfpicunit@\cs{mfpicunit}} +\end{cd} + +This \TeX{} dimension stores the basic unit length for \mfp{} +pictures---the $x$ and $y$ scales in the \cs{mfpic} macro are multiples +of this unit. The default value is \dim{1pt}. + +\begin{cd} +\cs{pointsize}% +\index{pointsize@\cs{pointsize}} +\end{cd} + +This \TeX{} dimension stores the diameter of the circle drawn by the +\cs{point} macro and the diameter of the symbols drawn by +\cs{plotsymbol} and by \cs{plot}. The default value is \dim{2pt}. + +\begin{cd} +\cs{pointfilltrue} and \cs{pointfillfalse}% +\index{pointfilltrue@\cs{pointfilltrue}}% +\index{pointfillfalse@\cs{pointfillfalse}} +\end{cd} + +This \TeX{} boolean switch determines whether the circle drawn by +\cs{point} will be filled or open (outline drawn, inside erased). +The default is \texttt{true}: filled. This value is local to any \TeX{} +group inside an \env{mfpic} environment. Outside such it is global. + +\begin{cd} +\cs{pen}\marg{\meta{drawpensize}}\\ +\cs{drawpen}\marg{\meta{drawpensize}}\\ +\cs{penwd}\marg{\meta{drawpensize}}% +\index{pen@\cs{pen}}% +\index{drawpen@\cs{drawpen}}% +\index{penwd@\cs{penwd}} +\end{cd} + +Establishes the width of the normal drawing pen. The default is +\dim{0.5pt}. This width is stored by \MF. The shading dots and hatching +pen are unaffected by this. There exist three aliases for this command, +the first two to maintain backward compatibility, the last one for +consistency with other dimension changing commands. Publishers generally +recommended authors to use at least a width of one-half point for +drawings submitted for publication. + +\begin{cd} +\cs{shadewd}\marg{\meta{dotdiam}}% +\index{shadewd@\cs{shadewd}} +\end{cd} + +Sets the diameter of the dots used in the shading macro. The drawing and +hatching pens are unaffected by this. The default is \dim{0.5pt}, and +the value is stored by \MF. + +\begin{cd} +\cs{hatchwd}\marg{\meta{hatchpensize}}% +\index{hatchwd@\cs{hatchwd}} +\end{cd} + +Sets the line thickness used in the hatching macros. The drawing pen and +shading dots are unaffected by this. The default is \dim{0.5pt}, and the +value is stored by \MF. + +\begin{cd} +\cs{polkadotwd}\marg{\meta{polkadotdiam}}% +\index{polkadotwd@\cs{polkadotwd}} +\end{cd} + +Sets the diameter of the dots used in the \cs{polkadot} macro. The +default is \dim{5pt}, and the value is stored by \MF. + +\begin{cd} +\cs{headlen}% +\index{headlen@\cs{headlen}} +\end{cd} + +This \TeX{} dimension stores the length of the arrowhead drawn by +the \cs{arrow} macro. The default value is \dim{3pt}. + +\begin{cd} +\cs{axisheadlen}% +\index{axisheadlen@\cs{axisheadlen}} +\end{cd} + +This \TeX{} dimension stores the length of the arrowhead drawn by the +\cs{axes}, \cs{xaxis} and \cs{yaxis} macros, and by the macros \cs{axis} +and \cs{doaxes} when applied to the parameters \texttt{x} and \texttt{y}. + +\begin{cd} +\cs{sideheadlen}% +\index{sideheadlen@\cs{sideheadlen}} +\end{cd} + +This \TeX{} dimension stores the length of the arrowhead drawn by the +\cs{axis} and \cs{doaxes} macros when applied to \texttt{l}, \texttt{b}, +\texttt{r} or \texttt{t}. The default value is \dim{0pt}. + +\begin{cd} +\cs{headshape}\marg{\meta{hdwdr}}\marg{\meta{hdten}}\marg{\meta{hfilled}}% +\index{headshape@\cs{headshape}} +\end{cd} + +Establishes the shape of the arrowhead drawn by the \cs{arrow} and +\cs{axes} macros. The value of \meta{hdwdr} is the ratio of the width of +the arrowhead to its length; \meta{hdten} is the tension of the B\'ezier +curves; and \meta{hfilled} is a \MF{} boolean value indicating whether +the arrowheads are to be filled (if \mfc{true}) or open. The default +values are $1$, $1$, \mfc{false}, respectively. The \meta{hdwdr}, +\meta{hdten} and \meta{hfilled} values are stored by \MF. Setting +\meta{hdten} to `\mfc{infinity}' will make the sides of the arrowheads +straight lines. These values are all stored by \MF. + +\begin{cd} +\cs{dashlen}, \cs{dashspace}% +\index{dashlen@\cs{dashlen}} +\end{cd} + +These \TeX{} dimensions store, respectively, the length of dashes and +the length of spaces between dashes, for lines drawn by the \cs{dashed} +macro. The \cs{dashed} macro may adjust the dashes and the spaces +between by as much as $1\over{n}$ of their value, where $n$ is the +number of spaces appearing in the curve, in order not to have partial +dashes at the ends. The default values are both \dim{4pt}. The dashes +will actually be longer (and the spaces shorter) by the thickness of the +pen used when they are drawn. + +\begin{cd} +\cs{dashlineset}, +\cs{dotlineset}% +\index{dashlineset@\cs{dashlineset}}% +\index{dotlineset@\cs{dotlineset}} +\end{cd} + +These macros provide convenient standard settings for the \cs{dashlen} +and \cs{dashspace} dimensions. The macro \cs{dashlineset} sets both +values to \dim{4pt}; the macro \cs{dotlineset} sets \cs{dashlen} to +\dim{1pt} and \cs{dashspace} to \dim{2pt}. + +\begin{cd} +\cs{hashlen}% +\index{hashlen@\cs{hashlen}} +\end{cd} + +This \TeX{} dimension stores the length of the axis hash marks drawn by +the \cs{xmarks} and \cs{ymarks} macros. The default value is \dim{4pt}. + +\begin{cd} +\cs{shadespace}% +\index{shadespace@\cs{shadespace}} +\end{cd} + +This \TeX{} dimension establishes the spacing between dots drawn by the +\cs{shade} macro. The default value is \dim{1pt}. + +\begin{cd} +\cs{darkershade}, +\cs{lightershade}% +\index{darkershade@\cs{darkershade}}% +\index{lightershade@\cs{lightershade}} +\end{cd} + +These macros both multiply the \cs{shadespace} dimension by constant +factors, $5/6=.833333$ and $6/5=1.2$ respectively, to provide convenient +standard settings for several levels of shading. + +\begin{cd} +\cs{polkadotspace}% +\index{polkadotspace@\cs{polkadotspace}} +\end{cd} + +This \TeX{} dimension establishes the spacing between the centers of the +dots used in the macro \cs{polkadot}. The default is \dim{10pt}. + +\begin{cd} +\cs{dotsize}, \index{dotspace@\cs{dotspace}}\cs{dotspace}% +\index{dotsize@\cs{dotsize}} +\end{cd} + +These \TeX{} dimensions establishes the size and spacing between the +centers of the dots used in the \cs{dotted} macro. The defaults are +\dim{0.5pt} and \dim{3pt}. + +\begin{cd} +\cs{symbolspace}% +\index{symbolspace@\cs{symbolspace}} +\end{cd} + +Similar to \cs{dotspace}, this \TeX{} dimension establishes the space +between symbols placed by the macro +\cs{plot}\marg{\meta{symbol}}$\ldots\,$. Its default is \dim{5pt}. + +\begin{cd} +\cs{hatchspace}% +\index{hatchspace@\cs{hatchspace}} +\end{cd} + +This \TeX{} dimension establishes the spacing between lines drawn by the +\cs{hatch} macro. The default value is \dim{3pt}. + +\begin{cd} +\cs{tlabelsep}\marg{\meta{separation}}% +\index{tlabelsep@\cs{tlabelsep}} +\end{cd} + +This macro establishes the separation between a label and its nominal +position. It affects text written with any of the commands \cs{tlabel}, +\cs{tlabels}, \cs{axislabels} or \cs{plottext}. It also sets the +separation between the text and the curve defined by the commands +\cs{tlabelrect}, \cs{tlabeloval} or \cs{tlabelellipse}. The default is +\dim{0pt}. The value is stored by both \TeX{} and \MF. + +\begin{cd} +\cs{tlabeloffset}\marg{\meta{hlen}}\marg{\meta{vlen}}% +\index{tlabeloffset@\cs{tlabeloffset}} +\end{cd} + +This macro establishes a uniform offset that applies to all labels. It +affects text written with any of the commands \cs{tlabel}, \cs{tlabels}, +\cs{axislabels} or \cs{plottext}. The default is to have both horizontal +and vertical offsets of \dim{0pt}. The values are stored by both \TeX{} +and \MF. + +\begin{cd} +\cs{mfpdataperline}% +\index{mfpdataperline@\cs{mfpdataperline}} +\end{cd} + +When \mfp{} is reading data from files and writing it to the +output file, this macro stores the maximum number of points that will be +written on a single line in the output file. Its default is defined by +\cs{def}\cs{mfpdataperline}\marg{5}. + +\begin{cd} +\cs{mfpicheight}, +\cs{mfpicwidth}% +\index{mfpicheight@\cs{mfpicheight}}% +\index{mfpicwidth@\cs{mfpicwidth}} +\end{cd} + +These \TeX{} dimensions store the height and width of the figure created +by the most recently completed \env{mfpic} environment. This might +perhaps be of interest to hackers or to aid in precise positioning of +the graphics. They are meant to be read-only: the \cs{endmfpic} command +globally sets them equal to the height and width of the picture. But +\mfp{} does not otherwise make any use of them. + + +\subsection{For Advanced Users.}\label{advanced} + +\subsubsection{Power Users.}\label{power} + + +\begin{cd} +\cs{qspline}\marg{\meta{list}}\\ +\cs{closedqspline}\marg{\meta{list}}\\ +\cs{cspline}\marg{\meta{list}}\\ +\cs{closedcspline}\marg{\meta{list}}\\ +\index{qspline@\cs{qspline}}% +\index{closedqspline@\cs{closedqspline}}% +\index{cspline@\cs{cspline}}% +\index{closedcspline@\cs{closedcspline}}% +\end{cd} + +These are alternate ways of defining curves. In each case, \meta{list} +is a comma separated list of points. These represent not the points the +curve passes through, but the \emph{control points}. The first two +produce quadratic B-splines and the last two produce cubic B-splines. If +you don't know what B-splines are, or don't know what control points +are, it is recommended you not use these commands. + +\begin{cd} +\cs{cbclosed}$\ldots$\\ +\cs{qbclosed}$\ldots$% +\index{cbclosed@\cs{cbclosed}}% +\index{qbclosed@\cs{qbclosed}} +\end{cd} + +These are prefix macros for closing curves. The first closes with a +cubic B-spline, the second with a quadratic B-spline. They will close +any given curve, but the command \cs{cbclosed} is meant to close a cubic +B-spline (see above). That is, \cs{cbclosed}\cs{cspline} should produce +the same result as \cs{closedcspline} with the same argument. The +corresponding statements are true of \cs{qbclosed}: it is meant to close +a quadratic B-spline and \cs{qbclosed}\cs{qspline} should produce the +same result as \cs{closedqspline} with the same argument. + +The power user, having noticed that \cs{curve} and \cs{cyclic} insert +some direction modifiers into the path created, may have decided that +there is no \mfp{} command to create a simple \MF{} default style path, +for example \mfc{(1,1)..(0,1)..(0,0)..cycle}. If so, he or she has forgotten +about \cs{mfobj}: the command +\begin{verbatim} + \mfobj{(1,1)..(0,1)..(0,0)..cycle} +\end{verbatim} +will produce, in the \file{.mf} file, exactly this path, but surround it +with the \TeX{} wrapping needed to make \mfp's prefix macro system work. +However, the syntax of more complicated paths can be extremely lengthy, +so we offer this interface: + +\begin{cd} + \cs{mfbezier}\oarg{\meta{tens}}\marg{\meta{list}}\\ + \cs{closedmfbezier}\oarg{\meta{tens}}\marg{\meta{list}}% +\index{mfbezier@\cs{mfbezier}} +\index{closedmfbezier@\cs{closedmfbezier}} +\end{cd} + +This connects the points in the list with the path join operator +\mfc{..tension \meta{tens}..}. If the tension option \oarg{\meta{tens}} +is omitted, the value set by \cs{settension} (initially 1) is used. One +can get a cyclic path by prepending \cs{bclosed} (with matching tension +option), but it will not produce the same result as \cs{closedmfbezier}. +These are cubic B\'ezier's (but you know that if you are a power user). +Quadratic B\'eziers (as in \LaTeX's picture environment) can be +obtained with the following: + +\begin{cd} + \cs{qbeziers}\oarg{\meta{tens}}\marg{\meta{list}}\\ + \cs{closedqbeziers}\oarg{\meta{tens}}\marg{\meta{list}}% +\index{qbeziers@\cs{qbeziers}} +\index{closedqbeziers@\cs{closedqbeziers}} +\end{cd} + +Note the plural, to indicate that they will draw a series of quadratic +B\'eziers. In the \meta{list}, the first, third, fifth, etc., are the +points to connect, while the second, fourth, etc., are the control +points. The open version requires an ending point, and so needs an odd +number of points in the list. The closed version assumes the first point +is the ending, and so requires an even number in the list. The curve +will not automatically be smooth. That depends on the choice of the +control points. + + +\begin{cd} +\cs{mfsrc}\marg{\meta{metafont code}}\\ +\cs{mfcmd}\marg{\meta{metafont code}}\\ +\cs{mflist}\marg{\meta{metafont code}}% +\index{mfsrc@\cs{mfsrc}}% +\index{mfcmd@\cs{mfcmd}}% +\index{mflist@\cs{mflist}}% +\end{cd} + +These all write the \meta{metafont code} directly to the \MF{} file, +using a \TeX{} \cs{write} command. Line breaks within \meta{metafont +code} are preserved.% + \footnote{Under most circumstances, but not if the command (plus its + argument) is part of another macro} % +Almost all the \mfp{} drawing macros invoke one of these. Because of the +way \TeX{} reads and processes macro arguments, not all drawing macros +preserve line breaks (nor do they all need to). However, the ones that +operate on long lists of pair or numeric data (for example, \cs{point}, +\cs{curve}, etc.), do preserve line breaks in that data. The difference +in these is minor: \cs{mfsrc} writes its argument without change, +\cs{mfcmd} appends a semicolon (`\mfc{;}') to the code, while +\cs{mflist} surrounds its argument with parentheses and then appends a +semicolon. + +Using these can have some rather bizarre consequences, though, so +it is not recommended to the unwary. It is, however, currently the +only way to make use of \MF's equation solving ability. Here's an +oversimplified example: + +\begin{verbatim} +\mfpic[20]{-0.5}{1.5}{0}{1.5} +\mfsrc{z1=(0,0); + z2-z3=(1,2); + z2+2z3=(1,-1);} % z2=(1,1), z3=(0,-1) +\arc[t]{z1,z2,z3} +\endmfpic +\end{verbatim} + +Check out the sample \file{forfun.tex} for a more realistic example. + +\begin{cd} +\cs{setmfvariable}\marg{\meta{type}}\marg{\meta{name}}\marg{\meta{value}}\\ +\cs{setmpvariable}\marg{\meta{type}}\marg{\meta{name}}\marg{\meta{value}}% +\index{setmfvariable@\cs{setmfvariable}} +\index{setmpvariable@\cs{setmpvariable}} +\end{cd} + +These formerly internal \mfp{} macros can be use to define symbolic +names for any \MF{} or \MP{} variable type. They are interchangeable; +you can use either one with or without the \opt{metapost} option. +As an example of their use, since dimensions are numeric data types in +\MF, the command +\begin{ex} + \cs{setmfvariable}\marg{numeric}\verb${my_dim}$\marg{7pt} +\end{ex} +would set the \MF{} variable \verb$my_dim$ to the value \texttt{7pt}. +After that, \verb$my_dim$ can be used in any \emph{drawing} command +where a dimension is required: +\begin{ex} + \cs{plotsymbol}\verb$[my_dim]$\marg{Triangle}\cs{rect}\marg{(0,0),(1,1)} +\end{ex} +will plot the rectangle with small triangles spaced \dim{7pt} apart. + +You can define paths this way +(\cs{setmfvariable}\marg{path}\marg{X}\marg{(0,0)..(1,1)..(0,1)}), but +the \meta{value} has to be valid \MF{} path construction syntax, +\emph{not} something like \cs{rect}\marg{$\ldots$}. You need \cs{store} +if you want to set a variable to an \mfp{} path. However, defined either +way, they can be used in \cs{mfobj}. + +A variable defined this way is local to the \env{mfpic} environment it +is contained in. It is in fact local to any \MF{} group. In \mfp, only +\cs{connect} {\dots} \cs{endconnect} and \cs{mfpic} {\dots} +\cs{endmfpic} create \MF{} groups in the graph file. + +\begin{cd} +\cs{noship}\\% +\cs{stopshipping}\\% +\cs{resumeshipping}\\% +\index{noship@\cs{noship}} +\index{stopshipping@\cs{stopshipping}} +\index{resumeshipping@\cs{resumeshipping}} +\end{cd} + +\cs{stopshipping} turns off character shipping (by \MF{} to the TFM and +GF files, or by \MP{} to appropriate \EPS{} output file) until +\cs{resumeshipping} occurs. If you want just one character not shipped, +just use \cs{noship} inside the mfpic environment. This is useful if all +one wishes to do in the current \env{mfpic} environment is to make +\emph{tiles} (see below). + +\begin{cd} +\cs{patharr}\marg{\meta{pv}}$\ldots$\cs{endpatharr}% +\index{patharr@\cs{patharr}}\index{endpatharr@\cs{endpatharr}} +\end{cd} + +This pair of macros, acting as an environment, accumulate all enclosing +paths, in order, into a path array named \meta{pv}. A path array is a +collection of paths with a common base name indexed by integers from 1 +to the number of paths. Any path in the array can be accessed by means +of \cs{mfobj}. For example, after +\begin{verbatim} +\patharr{pa} + \rect{(0,0),(1,1)} \circle{(.5,.5), .5} +\endpatharr +\end{verbatim} +then \cs{mfobj}\marg{pa[1]} refers to the rectangle and +\cs{mfobj}\marg{pa[2]} refers to the circle. In case explicit numbers +are used, \MF{} allows \gbc{pa1} as an abbreviation for \gbc{pa[1]}. +However, if a numeric variable or some expression is used (e.g., +\gbc{pa[n+1]}) the square brackets are required. + +This command can only be used in an \env{mfpic} environment. The +definitions it makes are, however, global. + +\emph{Note}: In \LaTeX, this pair of macros can be used in the form of a +\LaTeX-style environment called \env{patharr}---as in +\cs{begin}\marg{patharr}$\ldots$\cs{end}\marg{patharr}. + +\begin{cd} +\cs{pairarray}\marg{\meta{var}}{\meta{list-of-points}}\\ +\cs{numericarray}\marg{\meta{var}}{\meta{list-of-numbers}}% +\index{pairarray@\cs{pairarray}}% +\index{numericarray@\cs{numericarray}} +\end{cd} + +These enable the simultaneous definition of pair and numeric variables. +For example, after +\begin{verbatim} + \pairarray{X}{(0,1),(1,1),(0,0),(1,0)} +\end{verbatim} +the variables \mfc{X1}, \mfc{X2}, \mfc{X3}, and \mfc{X4} are equal to +the given points in that order. And then +\begin{verbatim} + \polyline{X1,X2,X3,X4} +\end{verbatim} +will draw the lines connecting these four points. The index may +optionally be put in square brackets and may be separated from the name +by any number of spaces. If a numeric expression is used instead of an +explicit number, square brackets \emph{must} surround it: \gbc{X[1+1]}, +\gbc{X[2]}, \gbc{X2} and \gbc{X 2} are all the same. The arrays are +defined locally if these commands occur in an \env{mfpic} environment, +global otherwise. In all arrays, the variable \gbc{X} itself (not +followed by any digit or brackets) is a number equal to the number of +elements in the array. + +Array variables may be used only where the values are processed only by +\MF{} or \MP, they are unknown to \TeX. In particular, they cannot be +used in commands that position text unless \opt{mplabels} is in effect. + +Several commands in \mfp{} define arrays of objects that can be used in +other commands. The main ones are \cs{piechart} and \cs{barchart}. These +arrays are always global. Using \cs{piechart} causes the following +arrays to become defined: +\begin{itemize} + \item \gbc{piewedge}, a path array describing the wedges of the chart. + The command \cs{piewdge}\marg{\meta{num}} (without optional + argument) is almost exactly the same as + \cs{mfobj}\marg{piewedge[\meta{num}]}. + \item \gbc{pieangle}, a numeric array, the starting angle of each wedge. + \item \gbc{piedirection}, a pair array, the unit vectors pointing in + the directions of the centers of the wedges. If \cs{pieangle1} + is 0 and \gbc{pieangle2} is 90 degrees, then \gbc{piedirection1} + is $(\cos 45,\sin 45)$. +\end{itemize} + +Using \cs{barchart} causes the following arrays to become defined. The +exact meaning depends on whether bars are horizontal or vertical. The +following describes horizontal bars; interchange the roles of $x$ and +$y$ if they are vertical: +\begin{itemize} + \item \gbc{barstart}, the position on the $y$-axis of the leading edge + of the bars. + \item \gbc{barbegin}, the $x$-coordinate of the leftmost end of the + bars. + \item \gbc{barend}, the $x$-coordinate of the rightmost end of the + bars. + \item \gbc{chartbar}, the rectangular path of the bar; \gbc{chartbar1} + is the rectangle with corners at \gbc{(barbegin1,barstart1)} and + \gbc{(barend1,barstart+barwd)}, where \gbc{barwd} is the + width (thickness) of the bar. + \item \gbc{barlength}, the same as \gbc{barend}. This is for backward + compatibility; the was name chosen at a time when all the bars + had one side on an axis (i.e., \gbc{barbegin[n] = 0}). +\end{itemize} + +\begin{cd} +\cs{tile}\marg{\meta{tilename},\meta{unit},\meta{wd},\meta{ht},\meta{clip}}\\ + \ $\ldots$\\ +\cs{endtile}% +\index{tile@\cs{tile}}\index{endtile@\cs{endtile}} +\end{cd} + +In this environment, all drawing commands contribute to a \emph{tile}. A +\emph{tile} is a rectangular picture which may be used to fill the +interior of closed paths. The units of drawing are given by +\meta{unit}, which should be a dimension (like \dim{1pt} or \dim{2in}). +The tile's horizontal dimensions are $0$ to $\meta{wd}\cdot\meta{unit}$ +and its vertical dimensions $0$ to $\meta{ht}\cdot\meta{unit}$, so +\meta{wd} and \meta{ht} should be pure numbers. If \meta{clip} is +\mfc{true} then all drawing is clipped to be within the tile's boundary. + +By using this macro, you can design your own fill patterns (to use them, +see the \cs{tess} macro below), but please take some care with the +\ae sthetics! The \meta{tilename} is globally defined by this command. + +\begin{cd} +\cs{tess}\marg{\meta{tilename}}$\ldots$% +\index{tess@\cs{tess}} +\end{cd} + +Tile the interior of a closed path with a tessellation comprised of +copies of the \emph{tile} specified by \meta{tilename}. There is no +default \meta{tilename}; you must make all your own tiles. Tiling an +open curve is technically an error, but the \MF{} code responds by +drawing the path and not doing any tiling. + +Tiling large regions with complicated tiles can exceed the capacity of +some versions of \MP. There is less of a problem with \MF. This is not +because \MF{} has greater capacity, but because of the natural +difference between bitmaps and vector graphics. + +In \MP, the tiles are copied with whatever color they are given when +they are defined. They can be multicolored. + +\begin{cd} +\cs{cutoffafter}\marg{\meta{obj}}\dots\\ +\cs{cutoffbefore}\marg{\meta{obj}}\dots\\ +\cs{trimpath}\marg{\meta{dim$_1$},\meta{dim$_2$}}\dots\\ +\cs{trimpath}\marg{\meta{dim$_1$}}\dots\\ +\index{cutoffafter@\cs{cutoffafter}}% +\index{cutoffbefore@\cs{cutoffbefore}}% +\index{trimpath@\cs{trimpath}}% +\end{cd} + +These are prefix macros. The first two take an `object' (a variable in +which a path was previously stored using \cs{store}) and uses it to trim +one end off the following path. \cs{cutoffbefore} cuts off the part of +the path before its first intersection with the object, while +\cs{cutoffafter} cuts off the part after the last intersection. If the +path does not intersect the object, nothing is cut off. If the object +and the path intersect in more than one point, as little as possible +(usually% + \footnote{\MF's methods for finding the `first' point of + intersection do not always find the actual first one.}) % +is cut off. This is completely reliably only when there is only one +point of intersection. + +The \cs{trimpath} macro takes two dimensions separated by commas and +trims those lengths off the initial and terminal ends of the path. If +only one dimension is given, that is used at both ends. This macro is +essentially equivalent to applying \cs{cutoffafter} and then +\cs{cutoffbefore} where the objects are circles which have radii equal +to the given dimensions and which are centered at the endpoints of the +path. Consequently, if the path is shorter than either dimension, it +will not intersect either circle and nothing will be trimmed. Similarly, +if the result of \cs{cutoffafter} is shorter than the first dimension, +then \cs{cutoffbefore} will not trim any more off. The first two macros +can be used to create a curve that starts or ends right at another +figure without having to find the point where the two curves intersect. +The third one can be used on the result to produce a curve that stops +just short of the point of intersection. + +\begin{cd} +\cs{mftitle}\marg{\meta{title}}% +\index{mftitle@\cs{mftitle}} +\end{cd} + +Write the string \meta{title} to the \MF{} file, and use it as a \MF{} +message. (See \textit{The \MF{}book}, chapter 22, page 187, for two uses of +this.) + +\begin{cd} +\cs{tmtitle}\marg{\meta{title}}% +\index{tmtitle@\cs{tmtitle}} +\end{cd} + +Write the text \meta{title} to the \TeX{} document, and to the log file, +and use it implicitly in \cs{mftitle}. This macro forms a local group +around its argument. + +\medskip + +Since \TeX{} is limited to 256 dimension registers, and since dimensions +are so important to typesetting and drawing, it is common to use up all +256 when drawing packages are loaded. Therefore \mfp{} uses font +dimensions to store dimension values. The following is the command that +handles the allocation of these dimensions. + +\begin{cd} +\cs{newfdim}\marg{\meta{fdim}}% +\index{newfdim@\cs{newfdim}} +\end{cd} + +This create a new global font dimension named \meta{fdim}, which is a +\TeX{} control sequence (with backslash). It can be used almost like +an ordinary \TeX{} dimension. One exception is that the \TeX{} commands +\cs{advance}, \cs{multiply} and \cs{divide} cannot be applied directly +to font dimensions (nor \LaTeX's \cs{addtolength}); however, the font +dimension can be copied to a temporary \TeX{} dimension register, which +can then be manipulated and copied back (using \cs{setlength} in \LaTeX, +if desired). Another exception is that all changes to a font dimension +are global in scope. Also beware that \cs{newfdim} uses font dimensions +from a single font, the \file{dummy} font, which most \TeX{} systems +ought to have. (You'll know if yours doesn't, because \mfp{} will fail +upon loading!) Also, implementations of \TeX{} differ in the number of +font dimensions allowed per font. Hopefully, \mfp{} won't exceed your +local \TeX's limit. + +All of \mfp's basic dimension parameters are font dimensions. We have +lied slightly when we called them `\TeX{} dimensions'. We arrange for +them to be local to \env{mfpic} environments by saving their values at +the start and restoring them at the end. + +\begin{cd} +\cs{setmfpicgraphic}\marg{\meta{filename}}% +\index{setmfpicgraphic@\cs{setmfpicgraphic}} +\end{cd} + +This is the command that is invoked to place the graphic created. See +appendix~\ref{graphics} for a discussion of its use and its default +definition. It is a user-level macro so that it can be redefined in +unusual cases. It operates on the output of the following macro: + +\begin{cd} +\cs{setfilename}\marg{\meta{file}}\marg{\meta{num}}% +\index{setfilename@\cs{setfilename}} +\end{cd} + +\Mfp's figure inclusion code ultimately executes +\cs{setmfpicgraphic} on the result of applying \cs{setfilename} to two +arguments: the file name specified in the \cs{opengraphsfile} command +and the number of the current picture. Normally \cs{setfilename} just +puts them together with the `\texttt{.}' separator (because that is +usually the way \MP{} names its output), but this can be redefined if +the \MP{} output undergoes further processing or conversion to another +format in which the name is changed. Any redefinition of +\cs{setfilename} must come before \cs{opengraphsfile} because that +command tests for the existence of the first figure. After any +redefinition, \cs{setfilename} must be a macro with two arguments that +creates the actual filename from the above two parts. It should also be +completely expandable. See the appendices, subsection~\ref{graphics} for +further dicussion. + +\begin{cd} +\cs{preparemfpicgraphic}\marg{\meta{filename}}% +\index{preparemfpicgraphic@\cs{preparemfpicgraphic}} +\end{cd} + +This command is automatically invoked before \cs{setmfpicgraphic} to +make any preparations needed. The default definition is to do nothing +except when the \prog{graphics} package is used. That package provides +no clean way to determine the bounding box of the graphic after it is +included. Since \mfp{} needs this information, this command +redefines an internal command of the graphics package to make the data +available. If \cs{setmfpicgraphic} is redefined then this may also have +to be redefined. + +\begin{cd} +\cs{getmfpicoffset}\marg{\meta{filename}}% +\index{getmfpicoffset@\cs{getmfpicoffset}} +\end{cd} + +This command is automatically invoked after \cs{setmfpicgraphic} to +store the offset of the lower left corner of the figure in the macros +\cs{mfpicllx} and \cs{mfpiclly}. If \cs{setmfpicgraphic} is redefined +then this may also have to be redefined. + +\begin{cd} +\cs{ifmfpmpost}% +\index{ifmfpmpost@\cs{ifmfpmpost}} +\end{cd} + +Users wishing to write code that adjusts its behavior to the graph file +processor can use this to test which option is in effect. The macro +\cs{usemetapost} sets it true and \cs{usemetafont} sets it false. There +are no commands \cs{mfpmposttrue} nor \cs{mfpmpostfalse}, since the user +should not be changing the setting once it is set: a great deal of +\mfp{} internal code depends on them, and on keeping them consistent +with the \cs{opengraphsfile} commands reading of these booleans. + +\begin{cd} +\cs{mfpicversion} +\index{mfpicversion@\cs{mfpicversion}} +\end{cd} + +This expands to the current \mfp{} version multiplied by 100. At this +writing, it produces `\texttt{70}' because the version is 0.7. It +can be used to test for the current version: +\begin{verbatim} + \ifx\mfpicversion\undefined \def\mfpicversion{0}\fi + \ifnum\mfpicversion>70 ... \else ... \fi +\end{verbatim} +\cs{mfpicversion} was added in version 0.7. + +\subsubsection{Hackers.}\label{hackers} + +\Mfp{} employs a modified version of \LaTeX's \cs{@ifnextchar} +that not only skips over spaces when seeking the next character, but +also skips over \cs{relax} or tokens that have been \cs{let} equal to +it. This is because, in contexts where we try to preserve lines, we make +the end-of-line character active and set it equal to \cs{relax}. Since +it is hard to predict in what context a macro will be used, this gives +code like +\begin{ex} + \cs{function}\\ + \oarg{s1.2}\marg{0,2,.1}\marg{ x**2 } +\end{ex} +the same behavior in both.% + \footnote{Actually, because of a bug in previous versions, this was + not true, but it is now. I hope.} +One consequence is that putting \cs{relax} to stop a command from seeing +a `\texttt{[}' as the start of an optional argument will not work for +\mfp{} commands. The same holds for the `\texttt{*}' in those few +commands that have a star-form, and also for other commands that look +ahead (\cs{tlabel} looks for a `\texttt{(}' starting off the location, +and macros that operate on lists of data look ahead for +`\cs{datafile}'). This is not a serious problem, because there is only +one command (\cs{smoothdata}) that takes an optional arguments but +doesn't have mandatory arguments after that. If a `\cs{relax}' appeared +after any other \mfp{} command, it would be taken as an argument and an +error would result. In any case, \cs{empty} will stop the looking ahead +if it should ever be necessary. + +Most of \mfp's commands have arguments with parts delimited by commas +and parentheses. In most cases this is no problem because they are +written unchanged to the \file{.mf} and there they are parsed just fine. +Some commands' arguments, however, have to be parsed by both \TeX{} and +\MF. Examples are \cs{tlabel} (sometimes, under \opt{mplabels}), and +\cs{pointdef}. One might be tempted to use \MP{} expressions there and +that works fine as long as they do not contain commas or parentheses. In +such cases, they can sometimes be enclosed in braces to prevent \TeX{} +seeing these elements as delimiters, but sometimes these braces might +get written to the \file{.mf} (or \file{.mp}) output and cause a \MF{} +(\MP) error. In such cases the following work-around might be possible: + +\begin{verbatim} + \def\identity#1{#1} + \pointdef{A}(\identity{angle (1,2)},3) + \rect{(0,0),\A} +\end{verbatim} + +The braces prevent \TeX's argument parsing from seeing the first comma +as a delimiter, but upon writing to the \file{.mf}, the \cs{identity} +commands are expanded and only the contents appear in the output. (\TeX{} +parses the argument to assign meanings to \cs{Ax} and \cs{Ay}.) + + +\clearpage + +\def\sectionmark#1{\markright {\thesection\quad#1}}% +\def\subsectionmark#1{} +\def\subsubsectionmark#1{} +\thispagestyle{plain} +\section{Appendices}\label{appendices} + +\subsection{Acknowledgements.}\label{acknowledgements} + +Tom would like to thank all of the people at Dartmouth as well as out in +the network world for testing \mfp{} and sending him back +comments. He would particularly like to thank: + +\medskip +Geoffrey Tobin %(G.Tobin@latrobe.edu.au) +for his many suggestions, especially about cleaning up the \MF{} code, +enforcing dimensions, fixing the dotted line computations, and speeding +up the shading routines (through this process, Geoffrey and Tom managed +to teach each other many of the subtleties of \MF), and for keeping +track of \mfp{} for nearly a year while Tom finished his thesis; + +\medskip +Bryan Green %(bgreen@sanjuan.uvic.ca) +for his many suggestions, some of which (including his rewriting the +\cs{tcaption} macro) ultimately led to the current version's ability to +put graphs in-line or side-by-side; and + +\medskip +Uwe Bonnes %(bon@lte.e-technik.uni-erlangen.de) +and Jarom\'\i r Kuben, % (vabo@muni.cz) +who worked out rewrites of \mfp{} during Tom's +working hiatus and who each contributed several valuable ideas. + +\medskip +Some credit also belongs to Anthony Stark, % (ajs@merck.com) +whose work on a FIG to \MF{} converter has had a serious impact on the +development of many of \mfp's capabilities. + +\medskip +Finally, Tom would like to thank Alan Vlach, the other \TeX{}nician at +Berry College, for helping him decide on the format of many of the +macros, and for helping with testing. + +\medskip +Dan Luecking would like to echo Tom's thanks to all of the above, +especially Geoffrey Tobin and Jarom\'\i r Kuben. And to add the names +Taco Hoekwater, for comments, advice and suggestions, and Zaimi +Sami~Alex for suggestions. + +But mostly, he'd like to thank Tom Leathrum for starting it all. + +\subsection{Changes History.}\label{changes} + +See the file \file{changes.txt} for a somewhat sporadic and rambling +history of changes to \mfp. See the file \file{readme.txt} for a +list of any known problems. + +%\clearpage +\subsection{Summary of Options}\label{summary} + +Unless otherwise stated, any of the command forms will be local to the +current \env{mfpic} environment if used inside. Otherwise it will affect +all later environments. + +\medskip +\def\stack#1{\everycr{}\def\\{\cr}\halign{\strut##\hfil\cr#1\crcr}} +{\everycr{\noalign{\medskip}} +\halign to \hsize{\opt{#}\hfil\quad\tabskip0pt plus 1fil& + \vtop{\stack{#}}\hfil\quad& + \vtop{\parindent0pt \hsize.45\hsize \rightskip0pt plus1fil\relax + \strut\ignorespaces#\strut}\tabskip0pt\cr +{\rmfamily\scshape Option}:& \textsc{Command form(s)}:& \omit\textsc{Restrictions}: \hfil\cr +\noalign{\smallskip\hrule\smallskip} +metapost&\cs{usemetapost}& Command must come before + \cs{opengraphsfile}. Incompatible with \opt{metafont} option. \cr +metafont&\cs{usemetafont}& The default. Command must come before + \cs{opengraphsfile}. Incompatible with \opt{metapost} option. \cr +mplabels&\cs{usemplabels},\\ \cs{nomplabels}& Requires + \opt{metapost}. If command is used inside an \env{mfpic} + environment, it should come before \cs{tlabel} commands to be + affected. \cr +overlaylabels&\cs{overlaylabels},\\ \cs{nooverlaylabels}& Has no effect + without \opt{metapost}. \cr +truebbox& \cs{usetruebbox},\\ \cs{notruebbox}& Has no effect + without \opt{metapost}. \cr +clip& \cs{clipmfpic},\\ \cs{noclipmfpic}& No restrictions. \cr +clearsymbols& \cs{clearsymbols},\\ \cs{noclearsymbols}& No restrictions. \cr +centeredcaptions& \cs{usecenteredcaptions},\\ \cs{nocenteredcaptions}& + No restrictions. \cr +debug&\cs{mfpicdebugtrue},\\\cs{mfpicdebugfalse}& To turn on + debugging while \file{mfpic.tex} is loading, issue + \cs{def}\cs{mfpicdebug}\marg{true}. \cr +\vtop{\hbox{draft\strut} + \hbox{final\strut} + \hbox{nowrite\strut}}&\cs{mfpicdraft}\\ + \cs{mfpicfinal}\\ + \cs{mfpicnowrite}& Should not be used + together. Command forms should come before + \cs{opengraphsfile}\cr +}} + +%\clearpage +\subsection{Plotting styles for \cs{plotdata}}\label{styles} + +When \cs{plotdata} passes from one curve to the next, it increments a +counter and uses that counter to select a dash pattern, color, or symbol. +It uses predefined dash pattern names \mfc{dashtype0} through +\mfc{dashtype5}, or predefined color names \mfc{colortype0} through +\mfc{colortype7}, or predefined symbols \mfc{pointtype0} through +\mfc{pointtype8}. Here follows a description of each of these variables. +These variables must not be used in the second argument of +\cs{reconfigureplot}, whose purpose is to redefine these variables. + +\medskip +Under \cs{dashedlines}, we have the following dash patterns: + +\medskip +\indent\vbox{% +\halign{#\hfil\qquad&#\hfil\quad&#\hfil\strut\cr +\textsc{Name}&\textsc{Pattern}&\textsc{Meaning}\cr +\noalign{\smallskip\hrule\smallskip} +\mfc{dashtype0}& \dim{0bp} & solid line \cr +\mfc{dashtype1}& \dim{3bp,4bp} & dashes \cr +\mfc{dashtype2}& \dim{0bp,4bp} & dots \cr +\mfc{dashtype3}& \dim{0bp,4bp,3bp,4bp} & dot-dash \cr +\mfc{dashtype4}& \dim{0bp,4bp,3bp,4bp,0bp,4bp} & dot-dash-dot \cr +\mfc{dashtype5}& \dim{0bp,4bp,3bp,4bp,3bp,4bp} & dot-dash-dash\cr +}} + +\medskip +Under \cs{coloredlines}, we have the following colors. Except for +\mfc{black} and \mfc{red}, each color is altered as indicated. This is +an attempt to make the colors more equal in visibility against a white +background. (The success of this attempt varies greatly with the output +or display device.) + +\medskip +\indent\vbox{% +\halign{#\hfil\qquad&#\hfil\quad&#\hfil\strut\cr +\textsc{Name}&\textsc{Color}&\textsc{(r,g,b)}\cr +\noalign{\smallskip\hrule\smallskip} +\mfc{colortype0}& black & $( 0, 0, 0)$\cr +\mfc{colortype1}& red & $( 1, 0, 0)$\cr +\mfc{colortype2}& blue & $( .2, .2, 1)$\cr +\mfc{colortype3}& orange & $(.66,.34, 0)$\cr +\mfc{colortype4}& green & $( 0, .8, 0)$\cr +\mfc{colortype5}& magenta& $(.85, 0,.85)$\cr +\mfc{colortype6}& cyan & $( 0,.85,.85)$\cr +\mfc{colortype7}& yellow & $(.85,.85, 0)$\cr +}} + +\medskip + +Under \cs{pointedlines} and \cs{datapointsonly}, the following symbols +are used. Internally each is referred to by the numeric name, but they +are identical to the more descriptive name. Syntactically, all are \MF{} +path variables. (The order changed between versions 0.6 and 0.7.) + +\medskip +\indent\vbox{% +\halign{#\hfil\qquad&#\hfil\strut\cr +\textsc{Name}&\textsc{Description}\cr +\noalign{\smallskip\hrule\smallskip} +\mfc{pointtype0}& \mfc{Circle} \cr +\mfc{pointtype1}& \mfc{Cross} \cr +\mfc{pointtype2}& \mfc{SolidDiamond} \cr +\mfc{pointtype3}& \mfc{Square} \cr +\mfc{pointtype4}& \mfc{Plus} \cr +\mfc{pointtype5}& \mfc{Triangle} \cr +\mfc{pointtype6}& \mfc{SolidCircle} \cr +\mfc{pointtype7}& \mfc{Star} \cr +\mfc{pointtype8}& \mfc{SolidTriangle}\cr +}} + +\subsection{Special considerations when using \MF}\label{mfconsiderations} + +The most important restriction in \MF{} is on the size of a picture. +Coordinates in \MF{} ultimately refer to pixel units in the font that is +output. These are required to be less than 4096, so an absolute limit on +the size of a picture is whatever length a row of 4096 pixels is. In +fonts prepared for a LaserJet4 (600 DPI), this means about 6.8 inches. +For a 1200 DPI pronter, the limit is about 3.4 inches. + +A similar limit holds for numbers input, and the values of variables: +\MF{} will return an error for \mfc{sin 4096}. Intermediate values can +be greater (\mfc{sin (2*2048)} will cause no error), but final, stored +results are subject to the limit. An \mfp{} example that generated an +error recently was: +\begin{verbatim} + \mfpicunit 1mm + \mfpic[10]{-3}{7}{-3.5}{5} + \function{-4.5,4,.1}{x*x} + \endmfpic +\end{verbatim} +The problem was the value of $(-4.5)^2=20.25$ in pixel units (after +multiplying by the \cs{mfpic} scaling factor the \cs{mfpicunit} in +inches and the DPI value): $20.25\times10\times0.03937\times600 > 4783$. +The error did not occur at the point of creating the font, but merely at +the point of storing the path in an internal variable for manipulation +and drawing. + + +\subsection{Special considerations when using \MP}\label{mpconsiderations} + +\subsubsection{Required support} + +To use \mfp{} with \MP, the following support is needed (besides a +working \MP{} installation): + +\medskip +\halign{#\hfil\quad&\vtop{\hsize 4.4 truein \raggedright \noindent + \strut#\strut}\hfil\cr +Under plain\TeX &The file \file{epsf.tex}\cr +Under \LaTeX209 &The file \file{epsf.tex} or \file{epsf.sty}\cr +Under \LaTeXe &The package \prog{graphics} or \prog{graphicx}\cr +Under \pdfLaTeX{} &The package \prog{graphics} or + \prog{graphicx} with option \opt{pdftex}\cr +Under plain \pdfTeX{} &The files \file{supp-pdf.tex} and + \file{supp-mis.tex}\cr +In all cases &The files \file{grafbase.mp} and + \file{dvipsnam.mp} plus, of course, + \file{mfpic.tex} (and \file{mfpic.sty} for + \LaTeX)\cr +} + +\medskip +The files \file{grafbase.mp} and \file{dvipsnam.mp} should be in a +directory searched by \MP. The remaining files should be in directories +searched by the appropriate \TeX{} variant. If \MP{} cannot find the +file \file{grafbase.mp}, then by default it will try to input +\file{grafbase.mf}, which is generally futile (or fatal). + +In case \pdfLaTeX{} is used, the graphics package is given the +\opt{pdftex} option. This option requires the file \file{pdftex.def} +which currently inputs the files \file{supp-pdf.tex} and +\file{supp-mis.tex}. The file \file{pdftex.def} is supplied with the +\prog{graphics} package. The other two are usually supplied with a +\pdfTeX{} distribution, and are definitely part of the \ConTeXt{} +distribution. Older versions had some bugs in connection with the +\prog{babel} package. One workaround was to load the \prog{graphics} +package and \mfp{} before \prog{babel}. + +If the user loads one of the above required files or packages before the +\mfp{} macros are loaded then \mfp{} will not reload them. +If they have not been input, \mfp{} will load whichever one it +decides is required. In the \LaTeXe{} case, \mfp{} will load the +\prog{graphics} package. If the user wishes \prog{graphicx}, then that +package must be loaded before \mfp. + +\subsubsection{\CMP{} is not \MF} + +\PS{} is not a pixel oriented language and so neither is \MP. The model +for drawing objects is completely different between \MF{} and \MP, and +so one cannot always expect the same results. \CMP{} support in +\mfp{} was carefully written so that files successfully printed +with \mfp{} using \MF{} would be just as successfully printed +using \MP. Nevertheless, it frequently choke on files that make use of +the \cs{mfsrc} command for writing code directly to the \file{.mf} file. +While \file{grafbase.mp} is closely based on \file{grafbase.mf}, much of +the code had to be completely rewritten. + +Pictures in \MP{} are stored as (possibly nested) sequences of objects, +where objects are things like points, paths, contours, other pictures, +etc. In \MF, pictures are stored as a grid of pixels. Pictures that are +relatively simple in one program might be very complex in the other and +even exceed memory allocated for their storage. Two examples are the +\cs{polkadot} and \cs{hatch} commands. When the polkadot space and size +are both too small, a \cs{polkadot}-ed region has been known to exceed +\MP{} capacity, while being well within \MF{} capacity. In \MP{} the +memory consumed by \cs{hatch} goes up in direct proportion to the linear +dimensions of the figure being hatched, while in \MF{} it goes up in +proportion to the area, and then the reverse can happen, with \MF's +capacity exeeded far sooner that \MP's. + +In \MP{} it is important to note that each +prefix modifies the result of the entire following sequence. In essence +prefixes can be viewed as being applied in the opposite order to their +occurrence. Example: + +\begin{ex} + \cs{dashed}\cs{gfill}\cs{rect}\marg{(0,0),(1,1)} +\end{ex} +This adds the dashed outline to the filled rectangle. That is, first the +rectangle is defined, then it is filled, then the outline is drawn in +dashed lines. This makes a difference when colors other than black are +used. Drawing is done with the center of the virtual pen stroked down +the middle of the boundary, so half of its width falls inside the +rectangle. On the other hand, filling is done right up to the boundary. +In this example, the dashed lines are drawn on top of part of the fill. +In the reverse order, the fill would cover part of the outline. + +\subsubsection{Graphic inclusion}\label{graphics} + +It may be impossible to completely cater to all possible methods of +graphic inclusions with automatic tests. The macro that is invoked +to include the \PS{} graphic is \cs{setmfpicgraphic} and the user +may (carefully!) redefine this to suit special circumstances. Actually, +\mfp{} runs the following sequence: + +\begin{cd} +\cs{preparemfpicgraphic}\marg{\meta{filename}}\\ +\cs{setmfpicgraphic}\marg{\meta{filename}}\\ +\cs{getmfpicoffset}\marg{\meta{filename}}% +\index{preparemfpicgraphic@\cs{preparemfpicgraphic}}% +\index{setmfpicgraphic@\cs{setmfpicgraphic}}% +\index{getmfpicoffset@\cs{getmfpicoffset}} +\end{cd} + +The following are the default definitions for \cs{setmfpicgraphic}: + +\medskip +\halign{#:\hfil&\quad#\hfil\cr +In plain \TeX& +\cs{def}\cs{setmfpicgraphic}\texttt{\#1}\marg{\cs{epsfbox}\marg{\#1}}\cr +In \LaTeX209& +\cs{def}\cs{setmfpicgraphic}\texttt{\#1}\marg{\cs{epsfbox}\marg{\#1}}\cr +In \LaTeXe& +\cs{def}\cs{setmfpicgraphic}\texttt{\#1}\marg{\cs{includegraphics}\marg{\#1}}\cr +In \pdfLaTeX& +\cs{def}\cs{setmfpicgraphic}\texttt{\#1}\marg{\cs{includegraphics}\marg{\#1}}\cr +In \pdfTeX& +\cs{def}\cs{setmfpicgraphic}\texttt{\#1}\marg{\cs{convertMPtoPDF}\marg{\#1}% + \marg{1}\marg{1}}\cr +} +\medskip +Moreover, since \MP{} by default writes files with numeric extensions, +we add code to each figure, so that these graphics are correctly +recognized as \EPS{} or \prog{MPS}. For example, to the figure with +extension \file{.1}, we add the equivalent of one of the following +\begin{itemize} +\item[] \cs{DeclareGraphicsRule}\marg{.1}\marg{eps}\marg{.1}\marg{} in \LaTeXe. +\item[] \cs{DeclareGraphicsRule}\marg{.1}\marg{mps}\marg{.1}\marg{} in \pdfLaTeX. +\end{itemize} + +After running the command \cs{setmfpicgraphic}, \mfp{} runs +\cs{getmfpicoffset} to store the lower left corner of the bounding box +of the figure in two macros \cs{mfpicllx} and \cs{mfpiclly}. All the +above versions of \cs{setmfpicgraphic} (except \cs{includegraphics}) +make this information available; the definition of \cs{getmfpicoffset} +merely copies it into these two macros. What \mfp{} does in the +case of \cs{includegraphics} is to modify (locally) the definition of an +internal command of the graphics package so that it copies the +information to those macros, and then \cs{getmfpicoffset} does nothing. +This internal modification is accomplished by the macro +\cs{preparemfpicgraphic}. Changes to \cs{setmfpicgraphic} might require +changing either or both of \cs{preparemfpicgraphic} and +\cs{getmfpicoffset}. All three of these commands are fed the graphic's +file name as the only argument, although only \cs{setmfpicgraphic} +currently does anything with it. + +One possible reason for wanting to redefine \cs{setmfpicgraphic} might +be to rescale all pictures. This is \emph{definitely not} a good idea +without the option \opt{mplabels} since the \mfp{} code for +placing labels and captions and reserving space for the picture relies +on the picture having the dimensions given by the arguments to the +\cs{mfpic} command. With \opt{mplabels} plus \opt{truebbox} it will +probably work, but (i)~it has \emph{not} been considered in writing the +\mfp{} code, (ii)~it will then scale all the text as well as the +figure, and (iii)~it will scale all line thickness, which should +normally be a design choice independent of the size of a picture. To +rescale all pictures, one need only change \cs{mfpicunit} and rerun +\TeX{} and \MP. + +A better reason might be to allow the conversion of your \MP{} figures +to some other format. Then redefining \cs{setmfpicgraphic} +could enable including the appropriate file in the appropriate format. + +The filename argument mentioned above is actually the result obtained by +running the macro \cs{setfilename}\index{setfilename@\cs{setfilename}}. +The command \cs{setfilename} gets two arguments: the name of the \MP{} +output file (set in the \cs{opengraphsfile} command) without extension, +and the number of the picture. The default definition of +\cs{setfilename} merely inserts a dot between the two arguments. That is +\cs{setfilename}\marg{fig}\marg{1} produces \file{fig.1}. You can +redefine this behavior also. Any changes to \cs{setfilename} must come +after the \mfp{} macros are input and before the +\cs{opengraphsfile} command. Any changes to \cs{setmfpicgraphic} must +come after the \mfp{} macros are input and before any \cs{mfpic} +commands, but it is best to place it before the \cs{opengraphsfile} +command. + +As \mfp{} is currently written, \cs{setfilename} must be +\emph{completely expandable}, which means it should contain no +definitions, no assignments such as \cs{setcounter}, and no +calculations. To test whether a proposed definition is completely +expandable, put +\begin{ex} +\cs{message}\marg{\texttt{***}% +\cs{setfilename}\marg{file}\marg{1}\texttt{***}} +\end{ex} +after the definition in a \file{.tex} file and view the result on the +terminal or in the \file{.log} file. You should see only your expected +filename between the asterisks. + + +\subsection{\prog{Mfpic} and the rest of the world} + +\subsubsection{The literature} + +There are at least two places where \mfp{} has garnered more than a +cursory mention. The most up-to-date is a section in \textit{The +\LaTeX{} Graphics Companion} by Michel Goossens, Sebastian Rahtz and +Frank Mittelbach. It describes a version prior to the introduction of +\MP{} support, but it correctly describes a subset of its current +commands and abilities. + +The other is \textit{\TeX{} Unbound} by Alan Hoenig, which contains a +chapter on \mfp. Unfortunately, it describes a version that was +replaced in 1996 with version 0.2.10.9. The following summarizes the +differences between the description% + \footnote{While I'm at it: \textit{\TeX{} Unbound} occasionally + refers to \mfp{} using a logo-like formatting in which the `MF' is + in a special font and the `I' is lowered. This `logo' may suggest + a relationship between \mfp{} and \PiCTeX. There is no such + relationship, and there is no official logo-like designation for + \mfp.} % +found in Chapter 15 and \mfp{} versions 0.2.10.9 through the +current one: + +\cs{wedge} is now renamed \cs{sector} to avoid conflict with the \TeX{} +command of the same name. The syntax is slightly different from that +given for \cs{wedge}: +\begin{ex} + \cs{sector}\marg{(\meta{x},\meta{y}), \meta{radius}, \meta{angle1}, \meta{angle2}} +\end{ex} + +The macro \cs{plr}\marg{(\meta{$r_0$},\meta{$\theta_0$}),% +(\meta{$r_1$},\meta{$\theta_1$}),$\ldots$} is used to convert polar +coordinate pairs to rectangular coordinates, so the commands +\cs{plrcurve}, \cs{plrcyclic}, \cs{plrlines} and \cs{plrpoint} were +dropped from \mfp. Now use +\begin{ex} + \cs{curve}\marg{\cs{plr}\marg{(\meta{$r_0$},\meta{$\theta_0$}),% + (\meta{$r_1$},\meta{$\theta_1$}),$\ldots$}} +\end{ex} +instead of +\begin{ex} + \cs{plrcurve}\marg{(\meta{$r_0$},\meta{$\theta_0$}),% + (\meta{$r_1$},\meta{$\theta_1$}),$\ldots$} +\end{ex} +and similarly for \cs{cyclic}, \cs{lines} and \cs{point} with respect to +\cs{plrcyclic}, \cs{plrlines} and \cs{plrpoint}. + +\cs{fill} is now renamed \cs{gfill} to avoid conflict with the \LaTeX{} +command of the same name. + +\cs{rotate}, which rotates a following figure about a point, is now +renamed \cs{rotatepath} to avoid confusion with a similar name for a +transformation (see below). + +\cs{white} is now renamed \cs{gclear} because \cs{white} is too likely +to be chosen for, or confused with, a color command. + +\smallskip +The following affine transform commands were changed from a third person +indicative form (which could be confused with a plural noun) to an +imperative form: + +\medskip +\moveright\parindent +\vbox{% + \halign{#\qquad\hfil&#\hfil\cr + Old name: & New name:\cr + \cs{boosts} & \cs{boost}\cr + \cs{reflectsabout} & \cs{reflectabout}\cr + \cs{rotatesaround} & \cs{rotatearound}\cr + \cs{rotates} & \cs{rotate}\cr + \cs{scales} & \cs{scale}\cr + \cs{shifts} & \cs{shift}\cr + \cs{xscales} & \cs{xscale}\cr + \cs{xslants} & \cs{xslant}\cr + \cs{xyswaps} & \cs{xyswap}\cr + \cs{yscales} & \cs{yscale}\cr + \cs{yslants} & \cs{yslant}\cr + \cs{zscales} & \cs{zscale}\cr + \cs{zslants} & \cs{zslant}\cr + }% +} + +\medskip +\cs{caption} and \cs{label} are now renamed \cs{tcaption} and +\cs{tlabel} to avoid conflict with the \LaTeX{} commands. + +\cs{mfcmd} was renamed \cs{mfsrc} for clarity, and (in version 0.7) a +new \cs{mfcmd} was defined, which is pretty much the same except it appends +a semicolon to its argument. + +\smallskip +There is a misprint: \cs{axisheadlin} should be \cs{axisheadlen}. + +Finally, in the \LaTeX{} template on page 496: \mfp{} now supports +the \cs{usepackage} method of loading. + +\subsubsection{Other programs} + +There exists a program, \prog{fig2mfpic} that produces \mfp{} code as +output. The code produced (as of this writing) is somewhat old and +mostly incompatible with the description in this manual. Fortunately, it +is accompanied by the appropriate versions of files \file{mfpic.tex} and +\file{grafbase.mf}. Unfortunately, the names conflict with the current +filenames and so they should only be used in circumstances where no +substitution will occur, say in a local directory with the other sources +for the document being produced. Moreover, the documentation in this +manual may not apply to the code produced. However the information in +\textit{\TeX{} Unbound} may apply. + +There exist a package, \prog{circuit\_macros}, that can produce a +variety of output formats, one of which is \mfp{} code. One writes a +file (don't ask me what it consists of) and apparently processes it with +\prog{m4} and then \prog{dpic} to produce the output. The \mfp{} code +produced appears to be compatible with the current \mfp. + +\renewcommand\mfpindexheading{% + \subsection{Index of commands, options and parameters by page}} +\let\oldcs\cs +\renewcommand{\cs}[1]{\leavevmode\mytt{\llap{\char`\\}#1}} + +\InputIfFileExists{mfpman.ind}{}{\mfpindexheading} + +\let\cs\oldcs + +\columnseprule 0pt +\columnsep 35pt +\twocolumn[\subsection{List of commands by type}] +\parindent0pt +\parskip0pt plus .3pt\relax +\makeatletter +\let\item\@idxitem +\makeatother + +\subsubsection{Figures} + + \item \cs{arc} + \item \cs{axis} + \item \cs{btwnfcn} + \item \cs{chartbar} + \item \cs{circle} + \item \cs{closedcspline} + \item \cs{closedmfbezier} + \item \cs{closedqbeziers} + \item \cs{closedqspline} + \item \cs{cspline} + \item \cs{curve} + \item \cs{cyclic} + \item \cs{datafile} + \item \cs{ellipse} + \item \cs{fcncurve} + \item \cs{function} + \item \cs{graphbar} + \item \cs{histobar} + \item \cs{lines} + \item \cs{mfbezier} + \item \cs{mfobj} + \item \cs{parafcn} + \item \cs{piewedge} + \item \cs{plrfcn} + \item \cs{plrregion} + \item \cs{polygon} + \item \cs{polyline} + \item \cs{qbeziers} + \item \cs{qspline} + \item \cs{rect} + \item \cs{regpolygon} + \item \cs{sector} + \item \cs{tlabelcircle} + \item \cs{tlabelellipse} + \item \cs{tlabeloval} + \item \cs{tlabelrect} + \item \cs{turtle} + + +\subsubsection{Figure modifiers} + + \item \cs{arrow} + \item \cs{bclosed} + \item \cs{cbclosed} + \item \cs{connect}, \cs{endconnect} + \item \cs{cutoffafter} + \item \cs{cutoffbefore} + \item \cs{lclosed} + \item \cs{makesector} + \item \cs{partpath} + \item \cs{qbclosed} + \item \cs{reflectpath} + \item \cs{reverse} + \item \cs{rotatepath} + \item \cs{scalepath} + \item \cs{sclosed} + \item \cs{shiftpath} + \item \cs{slantpath} + \item \cs{subpath} + \item \cs{transformpath} + \item \cs{trimpath} + \item \cs{xscalepath} + \item \cs{xslantpath} + \item \cs{xyswappath} + \item \cs{yscalepath} + \item \cs{yslantpath} + + +\subsubsection{Figure renderers} + + \item \cs{dashed} + \item \cs{dotted} + \item \cs{draw} + \item \cs{gclear} + \item \cs{gclip} + \item \cs{gendashed} + \item \cs{gfill} + \item \cs{hatch} + \item \cs{lhatch} + \item \cs{plot} + \item \cs{plotdata} (sort of) + \item \cs{plotnodes} + \item \cs{polkadot} + \item \cs{rhatch} + \item \cs{shade} + \item \cs{tess} + \item \cs{thatch} + \item \cs{xhatch} + +\subsubsection{Lengths} + + + \item \cs{axisheadlen} + \item \cs{dashlen} + \item \cs{dotsize} + \item \cs{dotspace} + \item \cs{hashlen} + \item \cs{hatchspace} + \item \cs{headlen} + \item \cs{mfpiccaptionskip} + \item \cs{mfpicheight} + \item \cs{mfpicunit} + \item \cs{mfpicwidth} + \item \cs{pointsize} + \item \cs{polkadotspace} + \item \cs{shadespace} + \item \cs{sideheadlen} + \item \cs{symbolspace} + +\subsubsection{Coordinate transformation} + + \item \cs{applyT} + \item \cs{boost} + \item \cs{coords}, \cs{endcoords} + \item \cs{mirror} + \item \cs{reflectabout} + \item \cs{rotate} + \item \cs{rotatearound} + \item \cs{scale} + \item \cs{shift} + \item \cs{turn} + \item \cs{xscale} + \item \cs{xslant} + \item \cs{xyswap} + \item \cs{yscale} + \item \cs{yslant} + \item \cs{zscale} + \item \cs{zslant} + +\subsubsection{Axes, grids, and marks} + + \item \cs{axes} + \item \cs{axis} + \item \cs{axismarks} + \item \cs{bmarks} + \item \cs{doaxes} + \item \cs{grid} + \item \cs{gridarcs} + \item \cs{gridlines} + \item \cs{gridpoints} + \item \cs{gridrays} + \item \cs{hgridlines} + \item \cs{lattice} + \item \cs{lmarks} + \item \cs{plotsymbol} + \item \cs{plrgrid} + \item \cs{plrgridpoints} + \item \cs{plrpatch} + \item \cs{point} + \item \cs{rmarks} + \item \cs{tmarks} + \item \cs{vgridlines} + \item \cs{xaxis} + \item \cs{xmarks} + \item \cs{yaxis} + \item \cs{ymarks} + +\subsubsection{Setting options} + + \item \cs{clearsymbols} + \item \cs{clipmfpic} + \item \cs{mfpicdebugfalse} + \item \cs{mfpicdebugtrue} + \item \cs{mfpicdraft} + \item \cs{mfpicfinal} + \item \cs{mfpicnowrite} + \item \cs{nocenteredcaptions} + \item \cs{noclearsymbols} + \item \cs{noclipmfpic} + \item \cs{nomplabels} + \item \cs{nooverlaylabels} + \item \cs{noship} + \item \cs{notruebbox} + \item \cs{overlaylabels} + \item \cs{resumeshipping} + \item \cs{stopshipping} + \item \cs{usecenteredcaptions} + \item \cs{usemetafont} + \item \cs{usemetapost} + \item \cs{usemplabels} + \item \cs{usetruebbox} + +\subsubsection{Changing values} + + \item \cs{axismargin} + \item \cs{darkershade} + \item \cs{dashlineset} + \item \cs{dashpattern} + \item \cs{dotlineset} + \item \cs{drawpen} + \item \cs{hatchwd} + \item \cs{headshape} + \item \cs{lightershade} + \item \cs{mfpicnumber} + \item \cs{mfplinestyle} + \item \cs{mfplinetype} + \item \cs{pen} + \item \cs{penwd} + \item \cs{polkadotwd} + \item \cs{setallaxismargins} + \item \cs{setallbordermarks} + \item \cs{setaxismargins} + \item \cs{setaxismarks} + \item \cs{setbordermarks} + \item \cs{setmfvariable} + \item \cs{setmpvariable} + \item \cs{settension} + \item \cs{setxmarks} + \item \cs{setymarks} + \item \cs{shadewd} + +\subsubsection{Changing colors} + + \item \cs{backgroundcolor} + \item \cs{drawcolor} + \item \cs{fillcolor} + \item \cs{hatchcolor} + \item \cs{headcolor} + \item \cs{mfpdefinecolor} + \item \cs{pointcolor} + \item \cs{tlabelcolor} + +\subsubsection{Defining arrays} + + \item \cs{barchart} + \item \cs{bargraph} + \item \cs{histogram} + \item \cs{numericarray} + \item \cs{pairarray} + \item \cs{patharr}, \cs{endpatharr} + \item \cs{piechart} + +\subsubsection{Changing behavior} + + \item \cs{clearsymbols} + \item \cs{coloredlines} + \item \cs{dashedlines} + \item \cs{datapointsonly} + \item \cs{defaultplot} + \item \cs{everytlabel} + \item \cs{makepercentcomment} + \item \cs{makepercentother} + \item \cs{mfpdatacomment} + \item \cs{mfpdataperline} + \item \cs{mfpverbtex} + \item \cs{noclearsymbols} + \item \cs{pointedlines} + \item \cs{pointfillfalse} + \item \cs{pointfilltrue} + \item \cs{reconfigureplot} + \item \cs{setrender} + \item \cs{smoothdata} + \item \cs{tlabeljustify} + \item \cs{tlabeloffset} + \item \cs{tlabelsep} + \item \cs{tlpathjustify} + \item \cs{unsmoothdata} + \item \cs{using} + \item \cs{usingnumericdefault} + \item \cs{usingpairdefault} + +\subsubsection{Files and environments} + + \item \cs{closegraphsfile} + \item \cs{mfpframe}, \cs{endmfpframe} + \item \cs{mfpic}, \cs{endmfpic} + \item \cs{opengraphsfile} + +\subsubsection{Text} + + \item \cs{axislabels} + \item \cs{plottext} + \item \cs{tcaption} + \item \cs{tlabels} + \item \cs{tlabel} + +\subsubsection{Misc} \widowpenalty10000 + + \item \cs{fdef} + \item \cs{getmfpicoffset} + \item \cs{ifmfpmpost} + \item \cs{mfcmd} + \item \cs{mflist} + \item \cs{mfpframed} + \item \cs{mfpicversion} + \item \cs{mfpverbtex} + \item \cs{mfsrc} + \item \cs{mftitle} + \item \cs{newfdim} + \item \cs{newsavepic} + \item \cs{plr} + \item \cs{pointdef} + \item \cs{preparemfpicgraphic} + \item \cs{savepic} + \item \cs{setmfpicgraphic} + \item \cs{setfilename} + \item \cs{sequence} + \item \cs{store} + \item \cs{tile}, \cs{endtile} + \item \cs{tmtitle} + \item \cs{usepic} + + +\end{document} + diff --git a/Master/texmf-dist/doc/generic/mfpic/pictures.tex b/Master/texmf-dist/doc/generic/mfpic/pictures.tex new file mode 100644 index 00000000000..76be74689aa --- /dev/null +++ b/Master/texmf-dist/doc/generic/mfpic/pictures.tex @@ -0,0 +1,204 @@ +%%% File: pictures.tex +%%% A part of mfpic 0.7a beta 2004/04/16 +%%% +\magnification=\magstep1 + +\newdimen\paperheight +\newdimen\paperwidth +%%!!!!!!!!!!!!!!!!!!!!!!!!!!! +% adjust these to your liking: +\paperheight 11truein +\paperwidth 8.5truein + +% Default plainTeX margins +\hsize \paperwidth +\advance\hsize -2 truein +\hoffset 0 truein +% +\vsize\paperheight +\advance\vsize -2.1 truein +\voffset 0 truein + +\input mfpic +%% Uncomment this if you prefer metapost... +%\usemetapost + +\ifx\pdfoutput\UndEfInEd +\else + \pdfpageheight=\paperheight + \pdfpagewidth=\paperwidth +\fi + +\opengraphsfile{pics} + +\mfpframesep0pt +\headshape{1}{1}{true} + +\def\vs{\bigskip\filbreak} + +\mftitle{Commutative Diagram example.} + +% A-----D +% |\ /| +% | C-F | +% |/ \| +% B- - -E + +\noindent +\mfpframe +\mfpic[12]{0}{10}{0}{10} +\tlabeljustify{cc} +\tcaption[2.0,1.0]{\raggedright{\it Figure 1:} Commutative diagram example.} +\tlabels{(1,9){A} + (1,1){B} + (3,5){C} + (9,9){D} + (9,1){E} + (7,5){F}} +\setrender{\draw\arrow\trimpath{6pt}} +\lines{(1,9), (1,1)} % A -> B. +\lines{(1,9), (3,5)} % A -> C. +\lines{(3,5), (1,1)} % C -> B. +\lines{(1,9), (9,9)} % A -> D. +\lines{(9,9), (9,1)} % D -> E. +\lines{(9,9), (7,5)} % D -> F. +\lines{(7,5), (9,1)} % F -> E. +\lines{(3,5), (7,5)} % C -> F. +% B- - ->E : +%\dotted\arrow[r90][b-12pt]\arrow[b15pt]\reverse\arrow\lines{(1.5,1), (8.5,1)} +\dotted\arrow\arrow[b10pt]\reverse\arrow\trimpath{6pt}\lines{(1,1), (9,1)} +\endmfpic +\endmfpframe + +\vs + +\mftitle{Function Plot with Cartesian Axes.} + +\noindent +\mfpframe +\mfpic[20]{-3}{3}{-3}{3} +\axes +\function{-2,2,0.1}{((x**3)-x)/3} +\tcaption{\raggedright{\it Figure 2:} Function Plot with Cartesian Axes.} +\endmfpic +\endmfpframe + +\vs + +\mftitle{Parametric Function Plot, and Filled Circle.} + +\noindent +\mfpframe +\mfpic[30]{-1.5}{1.5}{-1}{1} +\parafcn{0,6,0.1}{cosd(150t)*dir(90t)} +\gfill\circle{(0,0),0.25} +\tcaption{\raggedright{\it Figure 3:} Parametric Function Plot, and +Filled Circle.} +\endmfpic +\endmfpframe + +\vs + +\mftitle{Bar Graph.} + +\noindent +\mfpframe +\mfpic[20]{-0.5}{4}{-0.5}{4} +\axes +\shade\draw\rect{(0,0),(1,0.5)} +\darkershade +\shade\draw\rect{(1,0),(2,1)} +\hatch\draw\rect{(2,0),(3,2)} +\tcaption{{\it Figure 4:} Bar Graph.} +\endmfpic +\endmfpframe + +\vs + +\mftitle{Pie Chart.} + +\noindent +\mfpframe +\mfpic[30]{-1.3}{1.7}{-1}{1.1} +\gfill\sector{(0.3,0.2), 1, 0,60} +\shade\sector{(0,0), 1, 60,105} +\turtle{(0,0), \plr{(1,105)}} +\sector{(0,0), 1, 60,360} +\tcaption{\raggedright{\it Figure 5:} Pie Chart.} +\endmfpic +\endmfpframe + +\noindent Unindented text here. + +\vs + +\mftitle{Circle with Arrow.} + +\noindent +\mfpframe +\mfpic[20]{-2}{2}{-1}{1} +\arrow\circle{(0,0),1} +\tcaption{\raggedright{\it Figure 6:} Circle with Arrow.} +\endmfpic +\endmfpframe + +\vs + +\mftitle{Use of hatch, draw, lclosed, connect, curve, point, lines, + dotted, reverse.} + +\noindent +\mfpframe +\mfpic[20]{-3}{3}{-3}{3} +\hatch\draw\lclosed\connect +\curve{(1,0), (1,0.5), (1,1), (0,1.5)} +\point{(0,0)} +\endconnect +\lines{(-1,1), (-1,-1), (1,-1.5)} +\point{(0,0)} +\dotted\reverse\lines{(-2,2), (-2,-2), (2,-3)} +\tcaption{\rightskip= 0pt plus 3em {\it Figure 7:} Use of hatch, draw, lclosed, connect, + curve, point, lines, dotted, reverse.} +\endmfpic +\endmfpframe + +\vs + +\mftitle{Simpler variant of the previous figure.} + +\noindent +\mfpframe +\mfpic[40]{-1}{1}{-1}{1} % Was `[20]'. +\tcaption{\raggedright{\it Figure 8:} Simpler variant of the previous figure.} +\hatch\draw\lclosed\connect +\curve{(1,0), (0.5,0.25), (0.5,0.5), (0,0.75)} +\point{(0,0)} +\endconnect +\reverse\lines{(-0.5,0.5), (-0.5,-0.5), (0.5,-0.75)} +\tcaption{\raggedright{\it Figure 8:} Simpler variant of the previous figure.} +\endmfpic +\endmfpframe + +\vs + +\mftitle{Graph of data from file.} + +\noindent +\mfpframe +\mfpic[6]{-10}{10}{-2}{12} + \makepercentother + \using{#1% #2 #3}{(#1,#2)} + \makepercentcomment + \mfpdatacomment\# + \fcncurve\datafile{data.dat} + \axes +\endmfpic +\endmfpframe + +\closegraphsfile + +\end + +%%% +%%% EOF pictures.tex +%%% diff --git a/Master/texmf-dist/doc/generic/mfpic/refcard.tex b/Master/texmf-dist/doc/generic/mfpic/refcard.tex new file mode 100644 index 00000000000..7078e262e48 --- /dev/null +++ b/Master/texmf-dist/doc/generic/mfpic/refcard.tex @@ -0,0 +1,651 @@ +%%% File: refcard.tex +%%% A part of mfpic 0.7a beta 2004/04/16 +%%% +% (Ask your driver to print so that longer dimension is horizontal) +\newdimen\paperlongside + \paperlongside 11 truein +\newdimen\papershortside + \papershortside 8.5 truein + +\ifx\pdfoutput\undefined +\else\ifx\pdfoutput\relax +\else\ifnum\pdfoutput>0 + \pdfpagewidth\paperlongside + \pdfpageheight\papershortside +\fi\fi\fi + +\font\manual=cmcsc8 +\def\MF{{\manual meta}\-{\manual font}} +\def\MP{{\manual meta}\-{\manual post}} +\def\TeX{{\rm T\kern-.1667em\lower.5ex\hbox{E}\kern-.125emX\null}} +\def\plainTeX{{\rm plain\kern -.15em\TeX}} +\def\LaTeX{{\rm L\raise.42ex\hbox{\kern-.36em \manual a}\kern-.15em\TeX}} +%\def\LaTeXe{\LaTeX$2_{\textstyle\varepsilon}$} +\def\gobble#1{} +\def\dooptparam[#1]{{\tt[#1]}\futurelet\nchr\domacro} +\def\dofixparam[#1]{{\tt\string{#1\string}}\futurelet\nchr\domacro} +\def\doparamswap{\if?\nchr\dooptparam[\expandafter\gobble + \else\dofixparam[\fi} +\def\doparam{\futurelet\nchr\doparamswap} +\def\ddoparam{\expandafter\doparam\gobble} +\def\domacro{\if[\nchr\expandafter\ddoparam\fi} +\def\bsl{{\tt\char\escapechar}} +\def\mac#1{\bsl{\tt#1}\futurelet\nchr\domacro} + +% logical markup to typeset filenames, program names, MF code, +% grafbase identifiers, environment names, email addresses, and +% emphasis. +\def\file#1{{\tt #1}} +\def\prog#1{{\sf #1}} % didn't want everything in \tt +\def\mfc#1{{\tt #1}} +\def\opt#1{{\tt #1}} % LaTeX2e option names +\def\gbc#1{{\tt #1}} +\def\env#1{{\tt #1}} +\def\mail#1{{\tt #1}} +\def\emph#1{{\it #1\/}} + +% Forced, Clean, Linebreak. + +\def\brk{\nobreak\hfil\break} + +\newcount\columnsperpage + +% Entries are too wide for 3 columns. Print 2 columns landscape +\columnsperpage=2 + +% The rest of this header is nicked from gnuplot (which took it from +% Emacs) but was drastically adapted for mfpic. +% +% This file is intended to be processed by plainTeX. +% +% You will need to inform your dvi driver to print it in landscape +% and, optionally, double sided. +% Author of GNU Emacs Refcard: +% Stephen Gildea +% UUCP: mit-erl!gildea +% Internet: gildea@erl.mit.edu +% +% Person who ripped off the formatter for gnuplot: +% Alex Woo +% NASA Ames Research Center +% Internet: woo@ames.arc.nasa.gov +% +% Modified on 9 Dec 1992 by: +% Daniel S. Lewart +% University of Illinois +% Internet: d-lewart@uiuc.edu +% +% Modified on 29 Sep 1999, 11 Jul 2002, 29 Sep 2003 %(for mfpic) by: +% Daniel H. Luecking +% University of Arkansas +% luecking@uark.edu + +\newdimen\intercolumnskip +\newbox\columna +\newbox\columnb + +\hsize4.75truein +\vsize 7.25truein + +% Equal left right, right and middle margins, about .5in on USletter +\intercolumnskip=\paperlongside +\advance\intercolumnskip -2\hsize +\intercolumnskip .33333\intercolumnskip +\hoffset\intercolumnskip +\advance\hoffset -1truein + +% Equal top and bottom margins, about .4in on A4 paper +\voffset\papershortside +\advance\voffset-\vsize +\voffset .5\voffset +\advance\voffset -1truein + +\topskip8truept + +\font\manual=cmcsc10 at 8pt +\font\titlefont=cmbx10 scaled \magstep1 +\font\headingfont=cmbx10 +\font\smallfont=cmr6 +\font\smallsy=cmsy6 +\font\eighti=cmmi8 +\font\sixi=cmmi6 +\font\eightex=cmex10 at 8pt +\font\eightrm=cmr8 +\font\eightbf=cmbx8 +\let\subheadingfont\eightbf +\font\sixbf=cmbx6 +\font\eightit=cmti8 +\font\eighttt=cmtt8 +\font\eightsy=cmsy8 +\font\sixsy=cmsy6 +\font\eightsf=cmss10 at 8pt +\font\eightsl=cmsl8 +\font\tensf=cmss10 +\textfont0=\eightrm \scriptfont0=\smallfont +\textfont1=\eighti \scriptfont1=\sixi +\textfont2=\eightsy \scriptfont2=\sixsy +\textfont3=\eightex \scriptfont3=\eightex \scriptscriptfont3=\eightex +\textfont\bffam\eightbf \scriptfont\bffam\sixbf +\def\rm{\fam0\eightrm} +\def\bf{\fam\bffam\eightbf} +\def\it{\eightit} +\def\tt{\eighttt} +\def\sf{\eightsf} +\def\sl{\eightsl} +\smallskipamount 2pt plus 1pt minus 0pt +\medskipamount 5pt plus 2pt minus 2pt +\bigskipamount 10pt plus 3pt minus 3pt +\normalbaselineskip=10pt +\normalbaselines +\rm +\setbox\strutbox=\hbox{\vrule height6.8pt depth3.2pt width0pt} + +\def\abc{a} +\output={% + \if b\abc \multicolumnformat \global\def\abc{a} + \else\if a\abc + \global\setbox\columna\columnbox \global\def\abc{b} + \global\setbox\columnb\hbox to -\intercolumnskip{} + \fi\fi} +\def\multicolumnformat{\shipout\vbox{% + \hbox{\box\columna\hskip\intercolumnskip + \box\columnb\hskip\intercolumnskip\columnbox}}\advancepageno} +\def\columnbox{\leftline{\pagebody}} + +\def\bye{\par\vfill\supereject + \if a\abc \else\null\vfill\eject\fi + \if a\abc \else\null\vfill\eject\fi + \end} + +% Typewriter type braces (redefinitions of escaped braces) : +\def\{{{\tt \char`\{}} +\def\}{{\tt\char`\}}} + + +\parindent 0pt + +\def\title#1{{\titlefont\centerline{#1}}\vskip 1ex plus .5ex} + +\def\section#1{\par\filbreak + \vskip 2.25ex plus 2ex minus 2ex {\headingfont #1}% + \vskip 1.25ex plus 1ex minus 1.5ex} + +\def\subsection#1{\ifhmode\par\fi + \ifdim\lastskip<1.5ex + \vskip -\lastskip + \vskip 1.5ex plus 1ex minus 1ex + \fi + \filbreak + {\subheadingfont #1}% + \vskip .75ex plus .5ex minus .5ex} + +\newdimen\describeindent +\describeindent=0em + +\def\var#1{$\langle${\it #1\/}$\rangle$} +\def\alt{\unskip$\;|\;$\hfilbreak} +\def\hfilbreak{\hfil\allowbreak\hfilneg} + +\newdimen\secondkeyindent + +\def\describe#1#2{\leavevmode\vtop + {\hsize=\firstkeyfrac\hsize\rightskip=1em plus 1 fill\relax + \secondkeyindent\describeindent \advance\secondkeyindent 1em + \hangindent\secondkeyindent \hangafter1 + \hskip\describeindent\relax\strut#1\nobreak\hskip0pt\strut}% + \vtop + {\hsize=\secondkeyfrac\hsize\rightskip=0pt plus 1 fill\relax + \leavevmode\strut#2\unskip\strut}\par} +\def\code#1{{\sf #1}} + +\title{MFPIC Quick Reference} + +\centerline{(Copyright 2000--2003 by Daniel Luecking)} +\medskip +This information was prepared for version 0.7 of \prog{mfpic}. + +\section{Preamble commands} + +\def\firstkeyfrac{.4} +\def\secondkeyfrac{.6} + +\describe{Load \prog{mfpic} package:} + {\mac{input} \file{mfpic}, or \mac{usepackage}[?\var{options}][mfpic]} +\describe{Options}{\opt{metafont} \alt \opt{metapost}, \opt{mplabels}, + overlaylabels \opt{centeredcaptions}, \opt{clip}, + \opt{truebbox}, \opt{draft}, \opt{final}, \opt{nowrite}} +\describe{Activate options (\plainTeX)} + {\mac{usemetafont} \alt \mac{usemetapost}, \mac{usemplabels}, + \mac{overlaylabels} \mac{usecenteredcaptions}, \mac{clipmfpic}, + \mac{usetruebbox}, \mac{mfpicdraft}, \mac{mfpicfinal}, + \mac{mfpicnowrite}} +\describe{Turn off some options} + {\mac{nomplabels}, \mac{nooverlaylabels} + \mac{nocenteredcaptions}, \mac{noclipmfpic}, \mac{notruebbox}} +\describe{Set up/close the output file} + {\mac{opengraphsfile}[\var{base name}]$\ldots$\mac{closegraphsfile}} + +\section{The {\tensf mfpic} environment} + +\def\firstkeyfrac{.30} +\def\secondkeyfrac{.70} + +\describe{Start an \prog{mfpic} figure} + {\mac{mfpic}[?\var{xscale}][?\var{yscale}]% + \{\var{$x_{\min}$}\}\allowbreak\{\var{$x_{ max}$}\}\allowbreak + \{\var{$y_{min}$}\}\allowbreak\{\var{$y_{max}$}\}\brk + \ \ \ \ \var{MFpic commands}\brk + \mac{endmfpic}} +\describe{\quad\LaTeX{} (optional)} + {\mac{begin}[mfpic]${}\equiv{}$\mac{mfpic}, + \mac{end}[mfpic]${}\equiv{}$\mac{endmfpic}} + +\smallskip +The default \var{xscale} is $1$ (\mac{mfpicunit}), default \var{yscale} +is \var{xscale}. + +\section{Dimensions (lengths)} + +\def\firstkeyfrac{.58} +\def\secondkeyfrac{.42} + +\describe{\sl Purpose; where used:} {\sl Name and default value:} +\vskip1pt +\describe{Unit of length; \mac{mfpic}} {\mac{mfpicunit}, \tt 1pt} +\describe{Size of a symbol; \mac{point}, \mac{plot}, and \mac{plotsymbol}} + {\mac{pointsize}, \tt 2pt} +\describe{Darkness of shading; \mac{shade}} {\mac{shadespace}, \tt 1pt } +\describe{Space between dots; \mac{polkadot}} + {\mac{polkadotspace}, \tt 10pt} +\describe{Space between hatch lines; hatching macros} + {\mac{hatchspace}, \tt 3pt} +\describe{Size of arrowhead; \mac{arrow}} {\mac{headlen}, \tt 3pt} +\describe{Size of x-, y-axis arrowhead; xy-axes macros} + {\mac{axisheadlen}, \tt 5pt} +\describe{Size of border axis arrowhead; side axis macros} + {\mac{sideheadlen}, \tt 0pt} +\describe{Size of marks on axes; axis marks} {\mac{hashlen}, \tt 4pt} +\describe{Size of dashes; \mac{dashed}} {\mac{dashlen}, \tt 4pt} +\describe{Space between dashes; \mac{dashed}} {\mac{dashspace}, \tt 4pt} +\describe{Size of dots; \mac{dotted}} {\mac{dotsize}, \tt 0.5pt} +\describe{Space between dots; \mac{dotted}} {\mac{dotspace}, 3pt} +\describe{Space between symbols; \mac{plot}} {\mac{symbolspace}, \tt 5pt} + +\medskip +The following commands are used to change the size of some dimension +parameters: + +\smallskip +\describe{{\sl Purpose} ({\sl default\/}):} {\sl Command:} +\vskip1pt +\describe{Set diameter of drawing pen ({\tt 0.5pt})} + {\mac{penwd}[\var{dimen}]} +\describe{Set diameter of shading dots ({\tt 0.5pt})} + {\mac{shadewd}[\var{dimen}]} +\describe{Set diameter of polkadot ({\tt 5pt})} + {\mac{polkadotwd}[\var{dimen}]} +\describe{Set diameter of hatching pen ({\tt 0.5pt})} + {\mac{hatchwd}[\var{dimen}]} +\describe{Multiply \mac{shadespace} by 1.2} {\mac{lightershade}} +\describe{Divide \mac{shadespace} by 1.2} {\mac{darkershade}} + + +\section{Colors} + +\def\firstkeyfrac{.45} +\def\secondkeyfrac{.55} + +\smallskip +\describe{Set color for curves} {\mac{drawcolor}[\var{color}]} +\describe{Set color for fills} {\mac{fillcolor}[\var{color}]} +\describe{Set color for points, symbols} {\mac{pointcolor}[\var{color}]} +\describe{Set color for hatching} {\mac{hatchcolor}[\var{color}]} +\describe{Set color for arrowheads} {\mac{headcolor}[\var{color}]} +\describe{Set color for tlabels} {\mac{tlabelcolor}[\var{color}]} +\describe{Set color used by \mac{gclear}} {\mac{backgroundcolor}[\var{color}]} +\describe{\quad \LaTeX{} syntax} + {\mac{drawcolor}[?\var{model}][\var{clrspec}], etc.} +\describe{Define a color name} {\mac{mfpdefinecolor}[\var{name}][\var{model}][\var{clrspec}]} + + +\section{Common geometric figures} + +Drawing commands that operate on a variable length list in braces may +be followed by \mac{datafile}[\var{filename}] instead of the list. + +\subsection{Points} + +\def\firstkeyfrac{.42} +\def\secondkeyfrac{.58} + +\describe{Place a symbol at given point(s)} + {\mac{plotsymbol}[?\var{size}][\var{name}]% + [($x_0,y_0$),($x_1,y_1$),$\ldots$]} +\describe{\quad Available symbol names} {{\tt Triangle}, {\tt Square}, {\tt Circle}, {\tt + Diamond}, {\tt Star}, {\tt SolidTriangle}, {\tt SolidSquare}, {\tt SolidCircle}, + {\tt SolidDiamond}, \tt{SolidStar}, {\tt Plus}, {\tt Cross}, + {\tt Asterisk}} +\describe{Points (filled or unfilled circles)} + {\mac{point}[?\var{size}][($x_0,y_0$),($x_1,y_1$),$\ldots$]} +\describe{Force filled/open circles in \mac{point}:} + {\mac{pointfilltrue}/\mac{pointfillfalse}} + +\subsection{Lines} + +\def\firstkeyfrac{.45} +\def\secondkeyfrac{.55} + +\describe{Connect points with lines} + {\mac{polyline}[($x_0,y_0$),($x_1,y_1$),$\ldots$], + or (\mac{lines})} +\describe{Closed polygon} + {\mac{polygon}[($x_0,y_0$),($x_1,y_1$),$\ldots$]} +\describe{Concatenate vectors} + {\mac{turtle}[\var{initialpoint},\var{$v_1$},\var{$v_2$},$\ldots$]} +\describe{Rectangle (upright) with given corners} + {\mac{rect}[($x_0,y_0$),($x_1,y_1$)]} + +\subsection{Circles, arcs and ellipses} + +\def\firstkeyfrac{.55} +\def\secondkeyfrac{.45} + +\describe{Circles} {} +\describe{\qquad polar form (default):} + {\mac{circle}[?p][\var{center},\var{radius}]} +\describe{\qquad three-point form:} + {\mac{circle}[?t][($x_0,y_0$),($x_1,y_1$),($x_2,y_2$)]} +\describe{\qquad center-point form:} + {\mac{circle}[?c][\var{center},\var{point}]} +\describe{\qquad point-sweep form:} + {\mac{circle}[?s][($x_0,y_0$),($x_1,y_1$),\var{angle}]} +\describe{Arcs} {} +\describe{\qquad polar form:} + {\mac{arc}[?p][\var{center},\var{$\theta_1$},\var{$\theta_2$},% + \var{radius}]} +\describe{\qquad three-point form:} + {\mac{arc}[?t][($x_0,y_0$),($x_1,y_1$),($x_2,y_2$)]} +\describe{\qquad center-point-angle form:} + {\mac{arc}[?c][\var{center},\var{point},\var{angle}]} +\describe{\qquad point-sweep form (default):} + {\mac{arc}[?s][($x_0,y_0$),($x_1,y_1$),\var{angle}]} +\describe{Ellipse, center $(x_0,y_0)$, radii \var{$r_x$}, \var{$r_y$}, angle +\var{$\theta$}} + {\mac{ellipse}[?\var{$\theta$}]% + \tt\{($x_0,y_0$),\var{$r_x$},\var{$r_y$}\}} + +\section{General curves} + +\def\firstkeyfrac{.45} +\def\secondkeyfrac{.55} + +A \var{spec} can be {\tt p} (for polyline) or {\tt s} (for smooth) +followed by a number for the tension. + +\smallskip +\describe{Smooth curve through points} + {\mac{curve}[?\var{tension}][($x_0,y_0$),($x_1,y_1$),$\ldots$]} +\describe{Graph of $y=f(x)$} + {\mac{function}[?\var{spec}][$x_{\min}$,$x_{\max}$,% + $\Delta x$][$f(\hbox{\tt x})$]} +\describe{Graph of parametric curve $(x(t),y(t))$} + {\mac{parafcn}[?\var{spec}][$t_{\min}$,$t_{\max}$,$\Delta t$]% + [($x(\hbox{\tt t})$, $y(\hbox{\tt t})$)]} +\describe{Graph of $r = f(\theta)$} + {\mac{plrfcn}[?\var{spec}]% + [$\theta_{\min}$,$\theta_{\max}$,$\Delta\theta$][$f(\hbox{\tt t})$]} +\describe{Interpolate with a smooth {\it function}} + {\mac{fcncurve}[?\var{tension}][($x_0,y_0$),($x_1,y_1$),$\ldots$]} +\describe{Curve from data in a file*} + {\mac{datafile}[?\var{spec}][\var{file}]} +\describe{\quad Set how \mac{datafile} processes a line} + {\mac{using}[\var{read\_pattern}][\var{write\_pattern}]\brk + Default is \mac{using}[\#1 \#2 \#3][(\#1,\#2)]} + + +\section{Regions} + +\def\firstkeyfrac{.45} +\def\secondkeyfrac{.55} + +Curves are not necessarily `closed' even if the start and end are the +same. The following are closed (may be filled), as are \mac{rect}, +\mac{polygon}, \mac{circle}, and \mac{ellipse}. + +\smallskip +\describe{Closed curve through given points} + {\mac{cyclic}[?\var{tension}][$(x_1,y_1),(x_2,y_2),\ldots$]} +\describe{Circular sector (pie slice)} + {\mac{sector}[\var{center},\var{radius},\var{$\theta_1$},% + \var{$\theta_2$}]} +\describe{Region between two functions} {\mac{btwnfcn}[?\var{spec}][$x_{\min}$,% + $x_{\max}$,$\Delta x$][$f(\hbox{\tt x})$][$g(\hbox{\tt x})$]} +\describe{Region in polar coordinates} + {\mac{plrregion}[?\var{spec}][$\theta_{\min}$,$\theta_{\max}$,% + $\Delta \theta$][$f(\hbox{\tt t})$]} +\describe{Curves surrounding text} + {\mac{tlabelrect}[?\var{radius}]{\tt(\var{x},\var{y})\{\var{text}\}}\brk + \mac{tlabeloval}[?\var{mult}]{\tt(\var{x},\var{y})\{\var{text}\}}\brk + \mac{tlabelellipse}[?\var{ratio}]{\tt(\var{x},\var{y})\{\var{text}\}}\brk + \var{radius}: round corners. \var{mult}: stretch horizontally. + \var{ratio}: width/height of ellipse} + + +\section{Prefix macros} + +\subsection{Drawing curves} + +\def\firstkeyfrac{.4} +\def\secondkeyfrac{.6} + +\describe{Dashed path}{\mac{dashed}[?\var{length},\var{gap}]$\ldots$} +\describe{Dotted path}{\mac{dotted}[?\var{size},\var{gap}]$\ldots$} +\describe{Trace a path with symbols} + {\mac{plot}[?\var{size},\var{gap}][\var{symbol}]$\ldots$} +\describe{Generalized dashes}{\mac{gendashed}[\var{patname}]$\ldots$} +\describe{\quad Define a named dash pattern} + {\mac{dashpattern}[\var{patname}][\var{len$_1$},\var{len$_2$},$\ldots$,% + \var{len$_{2n}$}]} +\describe{Place a symbol at all nodes} + {\mac{plotnodes}[?\var{size}][\var{symbol}]$\ldots$} +\describe{Solid curve*}{\mac{draw}[?\var{color}]$\ldots$} + + +\subsection{Closing a curve} + +\def\firstkeyfrac{.45} +\def\secondkeyfrac{.55} + +These turn any path into a `closed' path (result may be filled). + +\smallskip +\describe{Close with a straight line,}{\mac{lclosed}$\ldots$} +\describe{Close with a smooth join, like \mac{cycle},}{\mac{sclosed}$\ldots$} +\describe{Close letting \MF{} choose}{\mac{bclosed}$\ldots$} + +\subsection{Filling closed curves} + +\def\firstkeyfrac{.4} +\def\secondkeyfrac{.6} + +These filling prefixes turn off drawing of the curve. + +\smallskip +\describe{Solid fill} {\mac{gfill}[?\var{color}]$\ldots$} +\describe{Unfill} {\mac{gclear}$\ldots$} +\describe{Hatched fills} + {\mac{thatch}[?\var{space},\var{angle}][?\var{color}]$\ldots$} +\describe{\qquad \var{angle}${}=45\,$deg} + {\mac{rhatch}[?\var{space}][?\var{color}]$\ldots$} +\describe{\qquad \var{angle}${}=-45\,$deg} + {\mac{lhatch}[?\var{space}][?\var{color}]$\ldots$} +\describe{\qquad crosshatching} + {\mac{xhatch}[?\var{space}][?\var{color}]$\ldots$} +\describe{} {\mac{hatch} $=$ \mac{xhatch}} +\describe{Shading} + {\mac{shade}[?\var{space}]$\ldots$} +\describe{Polkadot fill}{\mac{polkadot}[?\var{space}]$\ldots$} +\describe{Fill with copies of a tile} {\mac{tess}[\var{tile}]$\ldots$} +\describe{\quad Define a tile*} + {\mac{tile}[\var{name},\var{unit},\var{width},\var{height},\var{clip}] + \var{drawing commands} \mac{endtile}} + +\smallskip +* Creates a mini-mfpic, clipped if \var{clip}${}={}${\tt true}. + +\subsection{Storing and reusing a path} + +\describe{Store a path} {\mac{store}[\var{name}]$\ldots$} +\describe{\quad reusing a stored path} {\mac{mfobj}[\var{name}]} + +\subsection{Subpaths} + +\describe{Subpath by fraction of length} + {\mac{partpath}[\var{frac1},\var{frac2}]$\ldots$} +\describe{Subpath by node number} {\mac{subpath}[\var{m},\var{n}]$\ldots$} +\describe{Cutting by another path} + {\mac{cutoffafter}[\var{obj}]$\ldots$, + \mac{cutoffbefore}[\var{obj}]$\ldots$.\brk + \var{obj} is a name created with \mac{store}} +\describe{Trim the ends of a path} + {\mac{trimpath}[\var{dim1},\var{dim2}]$\ldots$} + + +\subsection{Modifying a curve} + +\def\firstkeyfrac{.4} +\def\secondkeyfrac{.6} + +\describe{Add arrowhead to the end} + {\mac{arrow}[?l\var{length}][?r\var{angle}]% + [?b\var{backset}][?c\var{color}]$\ldots$} +\describe{\quad Define arrowhead shape} + {\mac{headshape}[\var{ratio}][\var{tension}][\var{filled}]} +\describe{Reverse a curve} {\mac{reverse}$\ldots$} +\describe{Double arrow} {\mac{arrow}\mac{reverse}\mac{arrow}$\ldots$} +\describe{Rotate around a point} {\mac{rotatepath}[($x_0$,$y_0$),\var{angle}]$\ldots$} +\describe{Reflect about a line} {\mac{reflectpath}[($x_0$,$y_0$),($x_1$,$y_1$)]$\ldots$} +\describe{Shift} {\mac{shiftpath}[($dx$,$dy$)]$\ldots$} +\describe{Scale around a point} {\mac{scalepath}[($x_0$,$y_0$),\var{scale}]$\ldots$} +\describe{xscale about line $x=x_0$} {\mac{xscalepath}[$x_0$,\var{scale}]$\ldots$} +\describe{yscale about line $y=y_0$} {\mac{yscalepath}[$y_0$,\var{scale}]$\ldots$} +\describe{slant, pivoting on line $y=y_0$} {\mac{slantpath}[$y_0$,\var{slant}]$\ldots$} +\describe{yslant, pivoting on line $x=x_0$} {\mac{yslantpath}[$x_0$,\var{slant}]$\ldots$} +\describe{Swap x and y} {\mac{xyswappath}$\ldots$} + + +\section{Axes} + +\def\firstkeyfrac{.30} +\def\secondkeyfrac{.70} + +\describe{Draw x- and/or y-axes} {\mac{axes}[?\var{headlen}], + \mac{xaxis}[?\var{headlen}], \mac{yaxis}[?\var{headlen}]} +\describe{Draw various axes} + {\mac{axis}[?\var{headlen}][\var{axis}], \ \var{axis} is one of + {\tt x}, {\tt y}, {\tt l}, {\tt b}, {\tt r}, or {\tt t}.} +\describe{Draw many axes} {\mac{doaxes}[?\var{headlen}][\var{list}], \ + \var{list} of letters, no commas.} +\describe{Shift border axis inward} + {\mac{axismargin}[\var{axis}][\var{amt}], \ \var{amt} is + in graph units.} +\describe{Add hashmarks to axes}{% + \mac{axismarks}[\var{axis}][?\var{len}][$c_1$,$c_2$,$\ldots$], \ + $c_j$ are positions.\brk Abbrev. by + \mac{xmarks} for \mac{axismarks}[x], etc.} +\describe{Change position of hash marks} + {\mac{setaxismarks}[\var{axis}][\var{pos}] \ \var{pos} is one of + {\tt inside}, {\tt outside}, {\tt centered}, {\tt ontop}, + {\tt onbottom}, {\tt onleft}, or {\tt onright}.} + +\section{Miscellaneous} + +\def\firstkeyfrac{.30} +\def\secondkeyfrac{.70} + +\describe{Text labels} + {\mac{tlabel}[?\var{pos}\var{$\theta$}]% + {\tt($x$,$y$)\{\var{\TeX{} text}\}}\brk + \mac{tlabels}[\var{args$_1$}\var{args$_2$}$\ldots$]\brk + \mac{axislabels}[\var{axis}][?\var{pos}\var{$\theta$}]% + [\{\var{txt$_1$}\}\var{$n_1$},% + \{\var{txt$_2$}\}\var{$n_2$},$\ldots$]\brk + \var{pos} is a two-letter sequence, \var{$\theta$}* the + angle of rotation in degrees; + \var{args$_j$} is an entire set of arguments as in + \mac{tlabel}; + \var{axis} is a letter, \var{txt$_j$} is label, \var{$n_j$} + is coordinate on axis} +\describe{Clipping to a path} {\mac{gclip}$\ldots$} +\describe{Polar conversion} + {\mac{plr}[($r_0$,$\theta_0$),($r_1$,$\theta_1$),$\ldots$]} +\describe{Connect paths} {\mac{connect} \var{path1} \var{path2} $\ldots$ + \mac{endconnect}} +\describe{Draw many curves from one datafile} + {\mac{plotdata}[?\var{spec}][\var{file}], \ \var{spec} is {\tt + p} or {\tt s\var{num}} where \var{num} is the (optional) tension + in the smooth curve} +\describe{Set how \mac{plotdata} draws curves$\dag$}{\mac{dashedlines} + \ (different dash patterns)\brk + \mac{coloredlines} \ (different colors, \MP{} only)\brk + \mac{pointedlines} \ (different symbols, like \mac{plot})\brk + \mac{datapointsonly} \ (different symbols, like \mac{plotnodes})} + +\smallskip +* The angle is optional, and ignored unless option \opt{mplabels} is +in effect.\brk +$\dag$ \mac{plotdata} also respects the \mac{using} setting (see +\mac{datafile} in section {\bf General curves}). + +\bye + +% Other commands: +\mac{setrender}[\<\TeX{} commands\>] + +\mac{coords}$\ldots$\mac{endcoords} +\mac{applyT}[\<transformer\>] +\mac{rotate}[$\theta$] +\mac{rotatearound}[$p$][$\theta$] +\mac{turn}[?$p$][$\theta$] +\mac{mirror}[$p_1$][$p_2$] +\mac{reflectabout}[$p_1$][$p_2$] +\mac{shift}[$p$] +\mac{scale}[$s$] +\mac{xscale}[$s$] +\mac{yscale}[$s$] +\mac{zscale}[$p$] +\mac{xslant}[$s$] +\mac{yslant}[$s$] +\mac{zslant}[$s$] +\mac{boost}[$\chi$] +\mac{xyswap} + +\mac{fdef}[\<fcn\>]% + (\<param1\>,\<param2\>,$\ldots$)% + [\<mf-expr\>] + +\mac{tcaption}[?\<maxwd\>,\<linewd\>][\<caption text\>] + +\mac{savepic}\bsl\<picname\> +\mac{newsavepic} +\mac{usepic} + +\mac{dashlineset}, \mac{dotlineset} + +\mac{mfsrc}[\<metafont code\>] +\mac{noship} + +\mac{store}[\<path variable\>][\<path\>] +\mac{mfobj}[\<path expression\>] +\mac{patharr}[\<pv\>]$\ldots$\mac{endpatharr} + +\mac{mftitle}[\<title\>] +\mac{tmtitle}[\<title\>] + +\mac{newfdim}[\<fdim\>] + +\mac{setmfpicgraphic} +\mac{getmfpicoffset} +\mac{setfilename} + +\bye |