[comp.binaries.amiga] M4

ain@j.cc.purdue.edu (Patrick White) (06/01/88)

Submitted by:	kuhling!jonasf  (Jonas Flygare)
Summary:	unix m4 look-alike macro processor.
Poster Boy:	Patrick White	(ain@j.cc.purdue.edu)
Archive Name:	sources/amiga/volume5/m4.docs.sh.Z binaries/amiga/volume6/m4.docs.sh.Z
tested.
 
NOTES:
   I undid the shar to undo the uuencoded compressed files, and to separate
the docs from everything else.
   I nroffed the docs so everybody gets a readable copy of the docs.
   A patch to some of the test files was included with the origional posting..
I applied the patch to the files and excluded the patch from this posting.
.
 
 
-- Pat White   (co-moderator comp.sources/binaries.amiga)
ARPA/UUCP: j.cc.purdue.edu!ain  BITNET: PATWHITE@PURCCVM  PHONE: (317) 743-8421
U.S.  Mail:  320 Brown St. apt. 406,    West Lafayette, IN 47906
 
========================================
 
#	This is a shell archive.
#	Remove everything above and including the cut line.
#	Then run the rest of the file through sh.
#----cut here-----cut here-----cut here-----cut here----#
#!/bin/sh
# shar:	Shell Archiver
#	Run the following text with /bin/sh to create:
#	m4.man
#	readme
#	readme.flax
#	ack.m4
#	hanoi.m4
#	hash.m4
#	sqroot.m4
#	string.m4
#	test.m4
# This archive created: Mon May 16 09:17:19 1988
# By:	Patrick White (PUCC Land, USA)
echo shar: extracting m4.man '(15241 characters)'
cat << \SHAR_EOF > m4.man



M4(local)           UNIX Programmer's Manual            M4(local)



NAME
     pd m4 - macro processor

ORIGIN
     MetaSystems

SYNOPSIS
     m4[ _o_p_t_i_o_n_s ]

DESCRIPTION
     _P_d _M_4 is a un*x M4 look-alike macro processor intended as a
     front end for Ratfor, Pascal, and other languages that do
     not have a built-in macro processing capability.  Pd M4
     reads standard input, the processed text is written on the
     standard output.

     The options and their effects are as follows:

     -D_n_a_m_e[=_v_a_l]
          Defines _n_a_m_e to _v_a_l or to null in _v_a_l's absence.

     -U_n_a_m_e
          undefines _n_a_m_e.

     Macro calls have the form:

          name(_a_r_g_1,_a_r_g_2, ..., _a_r_g_n)

     The ( must immediately follow the name of the macro.  If the
     name of a defined macro is not followed by a (, it is taken
     to be a call of that macro with no arguments, i.e. name().
     Potential macro names consist of alphabetic letters and
     digits.

     Leading unquoted blanks, tabs and newlines are ignored while
     collecting arguments.  Left and right single quotes are used
     to quote strings.  The value of a quoted string is the
     string stripped of the quotes.

     When a macro name is recognized, its arguments are collected
     by searching for a matching ).  If fewer arguments are sup-
     plied than are in the macro definition, the trailing argu-
     ments are taken to be null.  Macro evaluation proceeds nor-
     mally during the collection of the arguments, and any commas
     or right parentheses which happen to turn up within the
     value of a nested call are as effective as those in the ori-
     ginal input text. (This is typically referred as _i_n_s_i_d_e-_o_u_t
     macro expansion.) After argument collection, the value of
     the macro is pushed back onto the input stream and res-
     canned.





Printed 5/16/88            30 Aug 1987                          1






M4(local)           UNIX Programmer's Manual            M4(local)



     _P_d _M_4 makes available the following built-in macros.  They
     may be redefined, but once this is done the original meaning
     is lost.  Their values are null unless otherwise stated.

     define        usage: _d_e_f_i_n_e(_n_a_m_e [, _v_a_l])
                   the second argument is installed as the value
                   of the macro whose name is the first argument.
                   If there is no second argument, the value is
                   null.  Each occurrence of $_n in the replace-
                   ment text, where _n is a digit, is replaced by
                   the _n-th argument.  Argument 0 is the name of
                   the macro; missing arguments are replaced by
                   the null string.

     defn          usage: _d_e_f_n(_n_a_m_e [, _n_a_m_e ...])
                   returns the quoted definition of its
                   argument(s). Useful in renaming macros.

     undefine      usage: _u_n_d_e_f_i_n_e(_n_a_m_e [, _n_a_m_e ...])
                   removes the definition of the macro(s) named.
                   If there is more than one definition for the
                   named macro, (due to previous use of _p_u_s_h_d_e_f)
                   all definitions are removed.

     pushdef       usage: _p_u_s_h_d_e_f(_n_a_m_e [, _v_a_l])
                   like _d_e_f_i_n_e, but saves any previous definition
                   by stacking the current definition.

     popdef        usage: _p_o_p_d_e_f(_n_a_m_e [, _n_a_m_e ...])
                   removes current definition of its argument(s),
                   exposing the previous one if any.

     ifdef         usage: _i_f_d_e_f(_n_a_m_e, _i_f-_d_e_f [, _i_f_n_o_t-_d_e_f])
                   if the first argument is defined, the value is
                   the second argument, otherwise the third.  If
                   there is no third argument, the value is null.
                   A word indicating the current operating system
                   is predefined.  (e.g.  _u_n_i_x or _v_m_s)

     shift         usage: _s_h_i_f_t(_a_r_g, _a_r_g, _a_r_g, ...)
                   returns all but its first argument.  The other
                   arguments are quoted and pushed back with com-
                   mas in between.  The quoting nullifies the
                   effect of the extra scan that will subse-
                   quently be performed.

     changequote   usage: _c_h_a_n_g_e_q_u_o_t_e(_l_q_c_h_a_r, _r_q_c_h_a_r)
                   change quote symbols to the first and second
                   arguments.  With no arguments, the quotes are
                   reset back to the default characters. (i.e.,
                   ).




Printed 5/16/88            30 Aug 1987                          2






M4(local)           UNIX Programmer's Manual            M4(local)



     changecom     usage: _c_h_a_n_g_e_c_o_m(_l_c_c_h_a_r, _r_c_c_h_a_r)
                   change left and right comment markers from the
                   default # and newline.  With no arguments, the
                   comment mechanism is reset back to the default
                   characters.  With one argument, the left
                   marker becomes the argument and the right
                   marker becomes newline.  With two arguments,
                   both markers are affected.

     divert        usage: _d_i_v_e_r_t(_d_i_v_n_u_m)
                   _m_4 maintains 10 output streams, numbered 0-9.
                   initially stream 0 is the current stream. The
                   _d_i_v_e_r_t macro changes the current output stream
                   to its (digit-string) argument.  Output
                   diverted to a stream other than 0 through 9
                   disappears into bitbucket.

     undivert      usage: _u_n_d_i_v_e_r_t([_d_i_v_n_u_m [, _d_i_v_n_u_m ...]])
                   causes immediate output of text from diver-
                   sions named as argument(s), or all diversions
                   if no argument.  Text may be undiverted into
                   another diversion.  Undiverting discards the
                   diverted text. At the end of input processing,
                   _M_4 forces an automatic _u_n_d_i_v_e_r_t, unless _m_4_w_r_a_p
                   is defined.

     divnum        usage: _d_i_v_n_u_m()
                   returns the value of the current output
                   stream.

     dnl           usage: _d_n_l()
                   reads and discards characters up to and
                   including the next newline.

     ifelse        usage: _i_f_e_l_s_e(_a_r_g, _a_r_g, _i_f-_s_a_m_e [, _i_f_n_o_t-_s_a_m_e
                   | _a_r_g, _a_r_g ...])
                   has three or more arguments.  If the first
                   argument is the same string as the second,
                   then the value is the third argument.  If not,
                   and if there are more than four arguments, the
                   process is repeated with arguments 4, 5, 6 and
                   7.  Otherwise, the value is either the fourth
                   string, or, if it is not present, null.

     incr          usage: _i_n_c_r(_n_u_m)
                   returns the value of its argument incremented
                   by 1.  The value of the argument is calculated
                   by interpreting an initial digit-string as a
                   decimal number.

     decr          usage: _d_e_c_r(_n_u_m)
                   returns the value of its argument decremented



Printed 5/16/88            30 Aug 1987                          3






M4(local)           UNIX Programmer's Manual            M4(local)



                   by 1.

     eval          usage: _e_v_a_l(_e_x_p_r_e_s_s_i_o_n)
                   evaluates its argument as a constant expres-
                   sion, using integer arithmetic.  The evalua-
                   tion mechanism is very similar to that of _c_p_p
                   (#if expression). The expression can involve
                   only integer constants and character con-
                   stants, possibly connected by the binary
                   operators

                   *    /    %    +    -    >>   <<   <    >
                   <=   >=   ==   !=   &    ^    |    &&   ||

                   or the unary operators - ~ !  or by the ter-
                   nary operator  ? : .  Parentheses may be used
                   for grouping. Octal numbers may be specified
                   as in C.

     len           usage: _l_e_n(_s_t_r_i_n_g)
                   returns the number of characters in its argu-
                   ment.

     index         usage: _i_n_d_e_x(_s_e_a_r_c_h-_s_t_r_i_n_g, _s_t_r_i_n_g)
                   returns the position in its first argument
                   where the second argument begins (zero ori-
                   gin), or -1 if the second argument does not
                   occur.

     substr        usage: _s_u_b_s_t_r(_s_t_r_i_n_g, _i_n_d_e_x [, _l_e_n_g_t_h])
                   returns a substring of its first argument.
                   The second argument is a zero origin number
                   selecting the first character (internally
                   treated as an expression); the third argument
                   indicates the length of the substring.  A
                   missing third argument is taken to be large
                   enough to extend to the end of the first
                   string.

     translit      usage: _t_r_a_n_s_l_i_t(_s_o_u_r_c_e, _f_r_o_m [, _t_o])
                   transliterates the characters in its first
                   argument from the set given by the second
                   argument to the set given by the third.  If
                   the third argument is shorter than the second,
                   all extra characters in the second argument
                   are deleted from the first argument. If the
                   third argument is missing altogether, all
                   characters in the second argument are deleted
                   from the first argument.

     include       usage: _i_n_c_l_u_d_e(_f_i_l_e_n_a_m_e)
                   returns the contents of the file named in the



Printed 5/16/88            30 Aug 1987                          4






M4(local)           UNIX Programmer's Manual            M4(local)



                   argument.

     sinclude      usage: _s_i_n_c_l_u_d_e(_f_i_l_e_n_a_m_e)
                   is identical to _i_n_c_l_u_d_e, except that it says
                   nothing if the file is inaccessible.

     paste         usage: _p_a_s_t_e(_f_i_l_e_n_a_m_e)
                   returns the contents of the file named in the
                   argument without any processing, unlike
                   _i_n_c_l_u_d_e.

     spaste        usage: _s_p_a_s_t_e(_f_i_l_e_n_a_m_e)
                   is identical to _p_a_s_t_e, except that it says
                   nothing if the file is inaccessible.

     syscmd        usage: _s_y_s_c_m_d(_c_o_m_m_a_n_d)
                   executes the UNIX command given in the first
                   argument.  No value is returned.

     sysval        usage: _s_y_s_v_a_l()
                   is the return code from the last call to
                   _s_y_s_c_m_d.

     maketemp      usage: _m_a_k_e_t_e_m_p(_s_t_r_i_n_g)
                   fills in a string of XXXXXX in its argument
                   with the current process ID.

     m4exit        usage: _m_4_e_x_i_t([_e_x_i_t_c_o_d_e])
                   causes immediate exit from _m_4.  Argument 1, if
                   given, is the exit code; the default is 0.

     m4wrap        usage: _m_4_w_r_a_p(_m_4-_m_a_c_r_o-_o_r-_b_u_i_l_t-_i_n)
                   argument 1 will be pushed back at final EOF;
                   example: m4wrap(`dumptable()').

     errprint      usage: _e_r_r_p_r_i_n_t(_s_t_r [, _s_t_r, _s_t_r, ...])
                   prints its argument(s) on stderr. If there is
                   more than one argument, each argument is
                   separated by a space during the output.

     dumpdef       usage: _d_u_m_p_d_e_f([_n_a_m_e, _n_a_m_e, ...])
                   prints current names and definitions, for the
                   named items, or for all if no arguments are
                   given.

AUTHOR
     Ozan S. Yigit (oz)

BUGS
     Pd M4 is distributed at the source level, and does not
     require an expensive license agreement.




Printed 5/16/88            30 Aug 1987                          5






M4(local)           UNIX Programmer's Manual            M4(local)



     A sufficiently complex M4 macro set is about as readable as
     APL.

     All complex uses of M4 require the ability to program in
     deep recursion.  Previous lisp experience is recommended.

     Pd M4 is slower than V7 M4.

EXAMPLES
     The following macro program illustrates the type of things
     that can be done with M4.

          changequote(<,>) define(HASHVAL,99) dnl
          define(hash,<expr(str(substr($1,1),0)%HASHVAL)>) dnl
          define(str,
               <ifelse($1,",$2,
                    <str(substr(<$1>,1),<expr($2+'substr($1,0,1)')>)>)
               >) dnl
          define(KEYWORD,<$1,hash($1),>) dnl
          define(TSTART,
          <struct prehash {
               char *keyword;
               int   hashval;
          } keytab[] = {>) dnl
          define(TEND,<  "",0
          };>) dnl

     Thus a keyword table containing the keyword string and its
     pre-calculated hash value may be generated thus:

          TSTART
               KEYWORD("foo")
               KEYWORD("bar")
               KEYWORD("baz")
          TEND

     which will expand into:
          struct prehash {
               char *keyword;
               int   hashval;
          } keytab[] = {
               "foo",27,
               "bar",12,
               "baz",20,
               "",0
          };

     Presumably, such a table would speed up the installation of
     the keywords into a dynamic hash table. (Note that the above
     macro cannot be used with _M_4, since eval does not handle
     character constants.)




Printed 5/16/88            30 Aug 1987                          6






M4(local)           UNIX Programmer's Manual            M4(local)



SEE ALSO
     cc(1), m4(1), cpp(1).  _T_h_e _M_4 _M_a_c_r_o _P_r_o_c_e_s_s_o_r by B. W. Ker-
     nighan and D. M. Ritchie.




















































Printed 5/16/88            30 Aug 1987                          7



SHAR_EOF
if test 15241 -ne "`wc -c m4.man`"
then
echo shar: error transmitting m4.man '(should have been 15241 characters)'
fi
echo shar: extracting readme '(3304 characters)'
cat << \SHAR_EOF > readme
	What you have here is a completely PD implementation of
	M4. It was originally written for the GNU project. 
	This version was the last version before a major re-write 
	took place.

	Pd M4 is based on software tools macro, as described in the
	two tools books by Kernighan and Plauger. Although some
	serious changes have been made, this version inherits the basic
	design problems of the original, hence the ugliness of the
	underlying code. [GNU version of this processor is re-designed
	in a much cleaner fashion, and is expected to be out before 
	1988. GNU version also includes an extensive texinfo document.]

	PDness:

	This code *is* PD. You (public) have all the rights to the code. 
	[But this also means you (singular) do not have any *extra*
	rights to the code, hence it is impossible for you to restrict
	the use and distribution of this code in any way.]

	Dedication:

	This posting is a dedication to an old 750 that started out
	running 4.1BSD and had 1.5 meg, 1 dz11, and 2 Rk07 drives.
	It was named yetti [sic] by accident, and was managed by the
	author until its retirement few months ago. [the name yetti 
	now identifies a different machine]

	Distribution + misc:

	The distribution includes a small test suite, the sources and
	a man page. texinfo document is not included. The makefile is
	pretty simple. See the makefile for configuration options.
	Try "make time" for some timing comparisons between your un*x
	m4 and the pd m4. [It should be slighly slower than V7 m4, and
	slightly faster than SV m4]. Make sure to set MBIN to indicate
	the location of un*x m4. See the test suite (test.m4) for some
	additional comments about pd m4 vs un*x m4.

	Some thoughts:

	M4 is a neat macro processor but probably a bit outdated by
	now. It does not need gratuitous additions, or "features", but
	a complete re-write. As it stands, it is powerful enough for
	most macro processing needs. We have, for example, used it to
	build a configuration language for DECNET under VMS. It can
	be a handy software engineering tool under most circumstances,
	and can displace a lot of meaningless little hacks written in
	C, pascal or whatever. [See some net postings for references.]

	Suggestions for hacking:

	If you want to hack M4 further, you may wish to implement the
	SV m4 "trace" facility, and extended (5-char) Comment/Quote
	definitions. This version also needs some dynamicity for its
	data structures, and the ability to handle multiple file names
	in the command line. If you want to add "features", you may wish
	to first think about implementing the "feature" as an M4 macro.
	If you really want to elevate this processor into a more state-of
	the-art tool, than you should probably re-write it. [But I have
	already done that, so you may wish to wait for the GNU version to
	get a head start.]

	Feedback:

	If you have any important fixes and/or speed improvements,  I am
	much interested, since my new version inherits some code from this
	version. I am also interested in hearing about any unique applica-
	tions of M4. I am not interested in gratuitous hacks or "neat"
	kitchen-sink features. 

	Contact:

		Usenet: [decvax|ihnp4]!utzoo!yetti!oz || 
			    ...seismo!mnetor!yetti!oz
		Bitnet: oz@[yulibra|yuyetti].BITNET
		Phonet: [416] 736-5257 x 3976


	enjoy.	oz
SHAR_EOF
if test 3304 -ne "`wc -c readme`"
then
echo shar: error transmitting readme '(should have been 3304 characters)'
fi
echo shar: extracting readme.flax '(382 characters)'
cat << \SHAR_EOF > readme.flax
This is the port of M4 macro package to the amiga.
I just compiled the PD package and added some functions, also
claned up some code that wouldn't work on the amiga.
I haven't done too extensive tests, but it works fine with
the included testfiles. Anyway, if you find a bug, you have the 
source, so diffs will be enough.
The source included here compiles with just a few warnings
SHAR_EOF
if test 382 -ne "`wc -c readme.flax`"
then
echo shar: error transmitting readme.flax '(should have been 382 characters)'
fi
echo shar: extracting ack.m4 '(95 characters)'
cat << \SHAR_EOF > ack.m4
define(ack, `ifelse($1,0,incr($2),$2,0,`ack(DECR($1),1)',
`ack(DECR($1), ack($1,DECR($2)))')')
SHAR_EOF
if test 95 -ne "`wc -c ack.m4`"
then
echo shar: error transmitting ack.m4 '(should have been 95 characters)'
fi
echo shar: extracting hanoi.m4 '(189 characters)'
cat << \SHAR_EOF > hanoi.m4
define(hanoi, `trans(A, B, C, $1)')

define(moved,`move disk from $1 to $2
')

define(trans, `ifelse($4,1,`moved($1,$2)',
	`trans($1,$3,$2,DECR($4))moved($1,$2)trans($3,$2,$1,DECR($4))')')
SHAR_EOF
if test 189 -ne "`wc -c hanoi.m4`"
then
echo shar: error transmitting hanoi.m4 '(should have been 189 characters)'
fi
echo shar: extracting hash.m4 '(425 characters)'
cat << \SHAR_EOF > hash.m4
dnl	This probably will not run on any m4 that cannot
dnl	handle char constants in eval.
dnl
changequote(<,>) define(HASHVAL,99) dnl
define(hash,<eval(str(substr($1,1),0)%HASHVAL)>) dnl
define(str,
	<ifelse($1,",$2,
		<str(substr(<$1>,1),<eval($2+'substr($1,0,1)')>)>)
	>) dnl
define(KEYWORD,<$1,hash($1),>) dnl
define(TSTART,
<struct prehash {
	char *keyword;
	int   hashval;
} keytab[] = {>) dnl
define(TEND,<	"",0
};>) dnl
SHAR_EOF
if test 425 -ne "`wc -c hash.m4`"
then
echo shar: error transmitting hash.m4 '(should have been 425 characters)'
fi
echo shar: extracting sqroot.m4 '(238 characters)'
cat << \SHAR_EOF > sqroot.m4
define(square_root, 
	`ifelse(eval($1<0),1,negative-square-root,
			     `square_root_aux($1, 1, eval(($1+1)/2))')')
define(square_root_aux,
	`ifelse($3, $2, $3,
		$3, eval($1/$2), $3,
		`square_root_aux($1, $3, eval(($3+($1/$3))/2))')')
SHAR_EOF
if test 238 -ne "`wc -c sqroot.m4`"
then
echo shar: error transmitting sqroot.m4 '(should have been 238 characters)'
fi
echo shar: extracting string.m4 '(204 characters)'
cat << \SHAR_EOF > string.m4

define(string,`integer $1(len(substr($2,1)))
str($1,substr($2,1),0)
data $1(len(substr($2,1)))/EOS/
')

define(str,`ifelse($2,",,data $1(incr($3))/`LET'substr($2,0,1)/
`str($1,substr($2,1),incr($3))')')
SHAR_EOF
if test 204 -ne "`wc -c string.m4`"
then
echo shar: error transmitting string.m4 '(should have been 204 characters)'
fi
echo shar: extracting test.m4 '(7933 characters)'
cat << \SHAR_EOF > test.m4
#
# test file for mp (not comprehensive)
#
# v7 m4 does not have `decr'.
#
define(DECR,`eval($1-1)')
#
# include string macros
#
include(string.m4)
#
# create some fortrash strings for an even uglier language
#
string(TEXT, "text")
string(DATA, "data")
string(BEGIN, "begin")
string(END, "end")
string(IF, "if")
string(THEN, "then")
string(ELSE, "else")
string(CASE, "case")
string(REPEAT, "repeat")
string(WHILE, "while")
string(DEFAULT, "default")
string(UNTIL, "until")
string(FUNCTION, "function")
string(PROCEDURE, "procedure")
string(EXTERNAL, "external")
string(FORWARD, "forward")
string(TYPE, "type")
string(VAR, "var")
string(CONST, "const")
string(PROGRAM, "program")
string(INPUT, "input")
string(OUTPUT, "output")
#
divert(2)
diversion #1
divert(3)
diversion #2
divert(4)
diversion #3
divert(5)
diversion #4
divert(0)
define(abc,xxx)
ifdef(`abc',defined,undefined)
#
# v7 m4 does this wrong. The right output is 
# 	this is A vEry lon sEntEnCE
# see m4 documentation for translit.
#
translit(`this is a very long sentence', abcdefg, ABCDEF)
#
# include towers-of-hanoi
#
include(hanoi.m4)
#
# some reasonable set of disks
#
hanoi(6)
#
# include ackermann's function
#
include(ack.m4)
#
# something like (3,3) will blow away un*x m4.
#
ack(2,3)
#
# include a square_root function for fixed nums
#
include(sqroot.m4)
#
# some square roots.
#
square_root(15)
square_root(100)
square_root(-4)
square_root(21372)
#
# some textual material for enjoyment.
#
[taken from the 'Clemson University Computer Newsletter',
 September 1981, pp. 6-7]
     
I am a wizard in the magical Kingdom of Transformation and I
slay dragons for a living.  Actually, I am a systems programmer.
One of the problems with systems programming is explaining to
non-computer enthusiasts what that is.  All of the terms I use to
describe my job are totally meaningless to them.  Usually my response
to questions about my work is to say as little as possible.  For
instance, if someone asks what happened at work this week, I say
"Nothing much" and then I change the subject.
     
With the assistance of my brother, a mechanical engineer, I have devised
an analogy that everyone can understand.  The analogy describes the
"Kingdom of Transformation" where travelers wander and are magically
transformed.  This kingdom is the computer and the travelers are information.
The purpose of the computer is to change information to a more meaningful
forma.  The law of conservation applies here:  The computer never creates
and never intentionally destroys data.  With no further ado, let us travel
to the Kingdom of Transformation:
     
In a land far, far away, there is a magical kingdom called the Kingdom of
Transformation.  A king rules over this land and employs a Council of
Wizardry.  The main purpose of this kingdom is to provide a way for
neighboring kingdoms to transform citizens into more useful citizens.  This
is done by allowing the citizens to enter the kingdom at one of its ports
and to travel any of the many routes in the kingdom.  They are magically
transformed along the way.  The income of the Kingdom of Transformation
comes from the many toll roads within its boundaries.
     
The Kingdom of Transformation was created when several kingdoms got
together and discovered a mutual need for new talents and abilities for
citizens.  They employed CTK, Inc. (Creators of Transformation, Inc.) to
create this kingdom.  CTK designed the country, its transportation routes,
and its laws of transformation, and created the major highway system.
     
Hazards
=======
     
Because magic is not truly controllable, CTK invariably, but unknowingly,
creates dragons.  Dragons are huge fire-breathing beasts which sometimes
injure or kill travelers.  Fortunately, they do not travel, but always
remain near their den.
     
Other hazards also exist which are potentially harmful.  As the roads
become older and more weatherbeaten, pot-holes will develop, trees will
fall on travelers, etc.  CTK maintenance men are called to fix these
problems.
     
Wizards
=======
     
The wizards play a major role in creating and maintaining the kingdom but
get little credit for their work because it is performed secretly.  The
wizards do not wan the workers or travelers to learn their incantations
because many laws would be broken and chaos would result.
     
CTK's grand design is always general enough to be applicable in many
different situations.  As a result, it is often difficult to use.  The
first duty of the wizards is to tailor the transformation laws so as to be
more beneficial and easier to use in their particular environment.
     
After creation of the kingdom, a major duty of the wizards is to search for
and kill dragons.  If travelers do not return on time or if they return
injured, the ruler of the country contacts the wizards.  If the wizards
determine that the injury or death occurred due to the traveler's
negligence, they provide the traveler's country with additional warnings.
If not, they must determine if the cause was a road hazard or a dragon.  If
the suspect a road hazard, they call in a CTK maintenance man to locate the
hazard and to eliminate it, as in repairing the pothole in the road.  If
they think that cause was a dragon, then they must find and slay it.
     
The most difficult part of eliminating a dragon is finding it.  Sometimes
the wizard magically knows where the dragon's lair it, but often the wizard
must send another traveler along the same route and watch to see where he
disappears.  This sounds like a failsafe method for finding dragons (and a
suicide mission for thr traveler) but the second traveler does not always
disappear.  Some dragons eat any traveler who comes too close; others are
very picky.
     
The wizards may call in CTK who designed the highway system and
transformation laws to help devise a way to locate the dragon.  CTK also
helps provide the right spell or incantation to slay the dragon. (There is
no general spell to slay dragons; each dragon must be eliminated with a
different spell.)
     
Because neither CTK nor wizards are perfect, spells to not always work
correctly.  At best, nothing happens when the wrong spell is uttered.  At
worst, the dragon becomes a much larger dragon or multiplies into several
smaller ones.  In either case, new spells must be found.
     
If all existing dragons are quiet (i.e. have eaten sufficiently), wizards
have time to do other things.  They hide in castles and practice spells and
incatations.  They also devise shortcuts for travelers and new laws of
transformation.
     
Changes in the Kingdom
======================
     
As new transformation kingdoms are created and old ones are maintained,
CTK, Inc. is constantly learning new things.  It learns ways to avoid
creating some of the dragons that they have previously created.  It also
discovers new and better laws of transformation.  As a result, CTK will
periodically create a new grand design which is far better than the old.
The wizards determine when is a good time to implement this new design.
This is when the tourist season is slow or when no important travelers
(VIPs) are to arrive.  The kingdom must be closed for the actual
implementation and is leter reopened as a new and better place to go.
     
A final question you might ask is what happens when the number of tourists
becomes too great for the kingdom to handle in a reasonable period of time
(i.e., the tourist lines at the ports are too long).  The Kingdom of
Transformation has three options: (1) shorten the paths that a tourist must
travel, or (2) convince CTK to develop a faster breed of horses so that the
travelers can finish sooner, or (3) annex more territories so that the
kingdom can handle more travelers.
     
Thus ends the story of the Kingdom of Transformation.  I hope this has
explained my job to you:  I slay dragons for a living.

#
#should do an automatic undivert..
#
SHAR_EOF
if test 7933 -ne "`wc -c test.m4`"
then
echo shar: error transmitting test.m4 '(should have been 7933 characters)'
fi
#	End of shell archive
exit 0

ain@j.cc.purdue.edu (Patrick White) (06/02/88)

Submitted by:	kuhling!jonasf  (Jonas Flygare)
Summary:	unix m4 look-alike macro processor.
Poster Boy:	Patrick White	(ain@j.cc.purdue.edu)
Archive Name:	binaries/amiga/volume6/m4.bin.sh.Z
tested.
 
NOTES:
   I undid the shar to undo the uuencoded compressed files, and to separate
the docs from everything else.
   I nroffed the docs so everybody gets a readable copy of the docs.
   A patch to some of the test files was included with the origional posting..
I applied the patch to the files and excluded the patch from this posting.
.
 
 
-- Pat White   (co-moderator comp.sources/binaries.amiga)
ARPA/UUCP: j.cc.purdue.edu!ain  BITNET: PATWHITE@PURCCVM  PHONE: (317) 743-8421
U.S.  Mail:  320 Brown St. apt. 406,    West Lafayette, IN 47906
 
========================================
 
#	This is a shell archive.
#	Remove everything above and including the cut line.
#	Then run the rest of the file through sh.
#----cut here-----cut here-----cut here-----cut here----#
#!/bin/sh
# shar:	Shell Archiver
#	Run the following text with /bin/sh to create:
#	readme
#	readme.flax
#	m4.uu
# This archive created: Mon May 16 09:18:29 1988
# By:	Patrick White (PUCC Land, USA)
echo shar: extracting readme '(3304 characters)'
cat << \SHAR_EOF > readme
	What you have here is a completely PD implementation of
	M4. It was originally written for the GNU project. 
	This version was the last version before a major re-write 
	took place.

	Pd M4 is based on software tools macro, as described in the
	two tools books by Kernighan and Plauger. Although some
	serious changes have been made, this version inherits the basic
	design problems of the original, hence the ugliness of the
	underlying code. [GNU version of this processor is re-designed
	in a much cleaner fashion, and is expected to be out before 
	1988. GNU version also includes an extensive texinfo document.]

	PDness:

	This code *is* PD. You (public) have all the rights to the code. 
	[But this also means you (singular) do not have any *extra*
	rights to the code, hence it is impossible for you to restrict
	the use and distribution of this code in any way.]

	Dedication:

	This posting is a dedication to an old 750 that started out
	running 4.1BSD and had 1.5 meg, 1 dz11, and 2 Rk07 drives.
	It was named yetti [sic] by accident, and was managed by the
	author until its retirement few months ago. [the name yetti 
	now identifies a different machine]

	Distribution + misc:

	The distribution includes a small test suite, the sources and
	a man page. texinfo document is not included. The makefile is
	pretty simple. See the makefile for configuration options.
	Try "make time" for some timing comparisons between your un*x
	m4 and the pd m4. [It should be slighly slower than V7 m4, and
	slightly faster than SV m4]. Make sure to set MBIN to indicate
	the location of un*x m4. See the test suite (test.m4) for some
	additional comments about pd m4 vs un*x m4.

	Some thoughts:

	M4 is a neat macro processor but probably a bit outdated by
	now. It does not need gratuitous additions, or "features", but
	a complete re-write. As it stands, it is powerful enough for
	most macro processing needs. We have, for example, used it to
	build a configuration language for DECNET under VMS. It can
	be a handy software engineering tool under most circumstances,
	and can displace a lot of meaningless little hacks written in
	C, pascal or whatever. [See some net postings for references.]

	Suggestions for hacking:

	If you want to hack M4 further, you may wish to implement the
	SV m4 "trace" facility, and extended (5-char) Comment/Quote
	definitions. This version also needs some dynamicity for its
	data structures, and the ability to handle multiple file names
	in the command line. If you want to add "features", you may wish
	to first think about implementing the "feature" as an M4 macro.
	If you really want to elevate this processor into a more state-of
	the-art tool, than you should probably re-write it. [But I have
	already done that, so you may wish to wait for the GNU version to
	get a head start.]

	Feedback:

	If you have any important fixes and/or speed improvements,  I am
	much interested, since my new version inherits some code from this
	version. I am also interested in hearing about any unique applica-
	tions of M4. I am not interested in gratuitous hacks or "neat"
	kitchen-sink features. 

	Contact:

		Usenet: [decvax|ihnp4]!utzoo!yetti!oz || 
			    ...seismo!mnetor!yetti!oz
		Bitnet: oz@[yulibra|yuyetti].BITNET
		Phonet: [416] 736-5257 x 3976


	enjoy.	oz
SHAR_EOF
if test 3304 -ne "`wc -c readme`"
then
echo shar: error transmitting readme '(should have been 3304 characters)'
fi
echo shar: extracting readme.flax '(382 characters)'
cat << \SHAR_EOF > readme.flax
This is the port of M4 macro package to the amiga.
I just compiled the PD package and added some functions, also
claned up some code that wouldn't work on the amiga.
I haven't done too extensive tests, but it works fine with
the included testfiles. Anyway, if you find a bug, you have the 
source, so diffs will be enough.
The source included here compiles with just a few warnings
SHAR_EOF
if test 382 -ne "`wc -c readme.flax`"
then
echo shar: error transmitting readme.flax '(should have been 382 characters)'
fi
echo shar: extracting m4.uu '(34776 characters)'
cat << \SHAR_EOF > m4.uu

begin 644 m4
M```#\P`````````+``````````H```EX```"O0```;8```(Q````B````/P`Y
M``(5````@````"D``!`0````,P```^D```EX2.=^_DOO`#0D2"0`2?D`````K
M+'@`!"E.`$`I3P!,0JP`2)/)3J[^VB9`*6L`F``X2JL`K&<``'`@#9"M``0&_
M@````(`I0``$80`!>B!K`*S1R-'((F@`$-/)T\D@`G(`$ADI20!4T(%2@$)G5
M4H`"0/_^G\!5@$)W"``@`E.`U($?L@``(`!3@E'(__8?O``@(`!3@A^Q(``@D
M`%'*__@B3R\)8```;"EK`#H`!`:L````@``$80`!#F$``/@I0`!(+P`D0"`JF
M`"1G$BQL"3`@0"(H```I00`X3J[_@B(J`"!G&B0\```#[4ZN_^(I0`!09PKE@
MB"!`)V@`"`"D(&P`2"\(2&P``"!H`"0I:``$`%1'^0``"41R`"`\```-OV`"`
M)L%1R/_\3KH81'``8`0@+P`$+P`@+``L9P0@0$Z03KH*)BQX``0B;`DP3J[^W
M8DJL"3AG"")L"3A.KOYB2JP)/&<((FP)/$ZN_F)*K`!89P@B;`!83J[^8DJL!
M`$AG)"(L`#QG!$ZN_]PB+`!09P1.KO_<+'@`!$ZN_WPB;`!(3J[^AB`?+FP`-
M3$S??WY.=7!D8(!!ZP!<3J[^@$'K`%Q.KOZ,3G5#[`!<<`!.KOW8*4`),&?:M
M3G4``$Y5__A(YP$`2'C__B\M``A.N@#N4$\K0/_\2H!F%'("*4$'V"E\````/
MS0`8</]@``"\2&P]&"\M__Q.N@#*4$]*@&8><`(I0`?8*7P```#-`!@O+?_\J
M3KH`HEA/</]@``",+RW__$ZZ`))83R`L/8Q&@"X`("T`#`R`````"&1JXX!.Y
M^P@"8`Y@$&`:8%Q@(F!88"I@/G``8%(@!P@```%G2'``8$8@!P@```)G/'``6
M8#H@!P@```-G,'``8"X@!R`'`H`````,#(`````,9AIP`&`8(`<@!P*`````-
M#@R`````#F8$<`!@`G#_3-\`@$Y=3G4```````!.^0```'!.^0```%1.^0``%
M`(0```````!P84Y5__Q*K0`(9@1P`&`>+RT`"$ZZ#YQ83TAM__PO`"M```A.H
MN@V44$\@+?_\3EU.=4CG,#(L>0``"30@;P`8(F\`'"1O`"`F;P`D("\`*"(OK
M`"PD+P`P)B\`-$ZN_J1,WTP,3G5.5?_\2.<@`'``*4``&$JM``AK)"0M``BT5
MK`B<;!HB`N>!0>P_`")(T\%*D6<*(@+G@='!(`A@"'`)*4`'V'``3-\`!$Y=1
M3G5G,'``8"X@!R`'`H`````,#(!P84Y5__@O+0`(3KK_FEA/*T#_^$J`9@1P=
M_V`V(&W_^`@H``(``V<&<``@@&`D0JW__"\H``1.NB#N6$]*K``89P9P_RM`F
M__P@;?_X0I`@+?_\3EU.=4JL"31F$D/L!\1P`"QX``1.KOW8*4`)-"EL`%0'K
M>$AX`"A(>`#Z<``O`"\`2&P'L"\`2&P'EB\`3KK^XD_O`"!(>``43KH>!EA/O
M3G4@+?_\3EU.=0#$QQA.5?_T2.<`($7L"`"T_```9S8(*@`"`!MF*@@J``$`9
M&V<B("H`!)"J`!`K0/_X2H!G$B\`+RH`$"\J`!Q.N@]J3^\`#"128,0O+0`(W
M3KH=IEA/3-\$`$Y=3G4```````!!)W!A3E7_]"!M``@(*``!`!MG$B\(2'C_N
M_TZZ$3Q03RM`__Q@!G``*T#__"!M``@@*``8`H`````,2H!F%$JH`!1G#B\HN
M`!0O*``03KH)OE!/(&T`""\H`!Q.NOZ86$\K0/_X#*W_______QG!$J`9P1P8
M_V`"<`!.74YU3E7_^$'L"``K2/_\2JW__&<:(&W__$JH`!AG$"MM__S_^"!M/
M__PK4/_\8.!*K?_\9BQ(>``B3KH":%A/*T#__$J`9@1P`&`H(&W_^""M__QP^
M(7(`(&W__!#!4<C__"\M__PO+0`,+RT`"&$(3^\`#$Y=3G5.5?_N(&T`$$JHC
M`!AG""\(3KK_`EA/*VP'_/_T*VT`#/_P(&W_\!`H``$"0`#_#$``8F<,#$``Q
M86820JW_]&`(*WP``(``__12K?_P(&W_\`PH`"L``5?`1`!(@$C`(&T`#!(0M
M`D$`_QM`_^\,00!W9P``F@Q!`')G2@Q!`&%F``#>2'@`#"\\``"!`B\M``A.>
MN@7.3^\`#"M`__A2@&8&<`!@``#\2BW_[V<((#P```"`8`)P`@"```!``"M`R
M__Q@``"@2BW_[V<$<`)@`G```(```(``2'@`#"\`+RT`"$ZZ!7Y/[P`,*T#_M
M^%*`9@9P`&```*Q*+?_O9P@@/````(!@`G`!*T#__&!62BW_[V<$<`)@`G`!F
M`(```(```(````$``(````(`2'@`#"\`+RT`"$ZZ!2I/[P`,*T#_^%*`9@1PQ
M`&!82BW_[V<((#P```"`8`)P`BM`__Q@!'``8#Z1R")M`!`C2``0(T@`%"-M6
M__@`'"-I`!``!"-(``PC2``(2JW_]&<$(`A@!B`\``"``"(M__R"@"-!`!@@$
M"4Y=3G4``!(``@!P84Y5``!2K#X@(&P^'%.H``P@*``,2H!K%")H``12J``$Q
M("T`"!*`<@`2$6`6("T`"`*`````_R\(+P!.N@Z`4$\B`$Y=3G5.50``0JP^"
M("EM``@^'$AM`!`O+0`,2'K_HDZZ&%1/[P`,+RT`"$AX__].N@Y*4$\@+#X@Q
M3EU.=0``3E4``"\M``AA!EA/3EU.=4Y5_^Q(YP,@+BT`"$J';@9P`&```,0,9
MAP````AL`GX((`<@!U:`Y(#E@"X`0>P(E"10*TC_^+3\``!G3B(J``2RAVT^>
MLH=F$B!2(FW_^"*(GZP(F"`*8```@"`J``20APR`````"&T:($H@2M''()(A'
M0``$(FW_^"*(GZP(F"`*8%8K2O_X)%)@K"`'(BP)0"`'T(%3@$ZZ&"PB+`E`9
M3KH9`%"`+``@!B`&5H#D@.6`+``O!DZZ`;Y83RM`__!*@&<4+P8O`$ZZ!C)0J
M3R\'80#_,%A/8`)P`$S?!,!.74YU`&%F``#>2'@`#"\\3E4``"(M``@,@0``.
M`#!M#`R!````.6X$<`%@`G``3EU.=0``3E7_]B\M``A.NOI26$\K0/_V2H!F9
M!'#_8"HO+0`0+RT`#"!M__8O*``$3KH:T$_O``PK0/_Z2JP`&&<$</]@!"`MG
M__I.74YU3E7_^$JL/B1G'"ML/B3_^"!M__@O$"\L/B1.N@5L4$^1R"E(/B1*:
MK0`(9@1P`&`P6*T`""\M``A.NOY>6$\K0/_\2H!F!'``8!8K;?_\__@@;?_XI
M(*T`""!M__Q8B"`(3EU.=4Y5``!*K0`(9Q!"IV&.6$\@;0`(68@I2#XD<`!.R
M74YU3E7_]$CG,`!*K0`,9@HO+0`(8<Q83V!X2JT`"&8,+RT`#&$`_UA83V!F6
M(&T`"%F((!!9@"M`__0K2/_\L>P^)&<(0J=A`/\V6$\O+0`,80#_+%A/*T#_D
M^$J`9S`D+0`,)BW_]+:"8P0K0O_T("W_]"(`(&T`"")M__A@`A+84X%D^B\M2
M``AA`/]86$\@+?_X3-\`#$Y=3G5.5?_X("T`"`:`````#"]````@+P``<@`LM
M>``$3J[_.BM`__Q*K?_\9@1P`&`T("T`"`:`````#"!M__PA0``(+PA(;#XH@
M80`!"%!/2JP(B&8&*6W__`B((&W__-#\``P@"$Y=3G5.5?_\+RT`"&&06$\K7
M0/_\2H!F!C!\__\@"$Y=3G5.5?_X2.<!(&$``(!P`"E``!`I0``(*4``#"E`T
M")0I0`B8*4`(C"E`"(@I0`B02JP(@&=,("P)0"(L"(#2@%.!(`$B+`E`3KH5S
MA"(L"4!.NA984(`N`"`'(`=6@.2`Y8`N`"\'80#_%EA/)$"T_```9@1P_V`,6
M+P<O"DZZ`VQ03W``3-\$@$Y=3G5.5?_X*VP^*/_\2JW__&<D(&W__"M0__@B]
M;?_\(&W__"`H``@L>``$3J[_+BMM__C__&#6D<@I2#XL*4@^*$Y=3G5.50``M
M2.<`(")M``@@:0`$(FT`#"-(``21R"*()&T`"$J29@(DB4JJ``1G!B!J``0@=
MB25)``1,WP0`3EU.=0``@```@````0``@````@!(>``,+P`O+0`(3KH%*D_OO
M<&%.5?_F2.<@`$(M__]"K``8*VP'V/_R<`,K0/_V(BW_]K*L")QL%"`!YX!!D
M[#\`T<!*D&<&4JW_]F#B(BW_]B0L")RT@68,<!@I0`?8</]@``%J(`'G@$'L7
M/P#1P"M(_^9*K0`09P@(+0`"`!-G!D*M_^Y@!G`!*T#_[B`L"&@"@```@`"Q/
MK0`,""T``P`/9Q0@+0`,`H#____\`(`````"*T``#"`M``P"@`````,,@```R
M``)G#`R``````6<$2H!F#"`M``Q2@"M`__I@#'`6*4`'V'#_8```XB`M``PB>
M``*!```#`$J!9P``H@@```IG&AM\``'__R\M_^XO+0`(3KH88E!/*T#_ZF!(-
M"```"68<2'@#[2\M``A.NA=@4$\K0/_J2H!J!@CM``$`#@@M``$`#F<>&WP`W
M`?__*6W_\@?8+RW_[B\M``A.NA><4$\K0/_J2BW__V=$("T`#`*`````\$J`U
M9S9*K?_J:S`O+?_J3KH75%A/2'@#[2\M``A.NA;Z4$\K0/_J8!)(>`/M+RT`4
M"$ZZ%N903RM`_^I*K``89P1P_V`2(&W_YB"M__HA;?_J``0@+?_V3-\`!$Y=H
M3G5.50``("T`#"(``H$``(```($```,!`H#__W__+P`O`2\M``AA`/X83^\`?
M#$Y=3G4``"-(``A*K7!A3E4``%*L/C13K`@N("P(+DJ`:Q0@;`@F4JP()B`M[
M``@0@'(`$A!@&"`M``@"@````/](;`@B+P!.N@?24$\B`$Y=3G5.50``0JP^F
M-$AM``PO+0`(2'K_JDZZ$:Q/[P`,2&P((DAX__].N@>B4$\@+#XT3EU.=0``K
M3E7_^"\M``A.NO3*6$\K0/_\2H!F!'#_8"HO+0`0+RT`#"!M__PO*``$3KH41
MJ$_O``PK0/_X2JP`&&<$</]@!"`M__A.74YU3E7__"`M``PO`"\M``@K0/_\"
M80903TY=3G5.5?_H2.<A,"XM``Q*AVX&</]@``#R#(<````(;`)^""`'(`=6>
M@.2`Y8`N`"!M``@K2/_TT<??K`B80^P(E"11*TC_\"M)__BT_```9P``HB!*E
M("H`!"!*T<`K2/_L)"W_\+7"8Q8B;?_T(HHC1P`$)FW_^":)<`!@``",M<)FE
M'B)2)FW_]":)("H`!"(`TH<G00`$(FW_^"*+<`!@:")M__2SR&0(GZP(F'#_J
M8%BSR&8N2I)G#B(2M(%C")^L")AP_V!"WZH`!$J29Q"TDF8,($(@*``$T:H`I
M!"20<`!@)BM*__@K;?_L_^@D4F``_UH@;?_X(*W_])'((FW_]"*((T<`!"`(2
M3-\,A$Y=3G5P`$YU3E7__$AZ__9.NA*:6$\K;#XX__QP`2E`/CA(>``"(&W_R
M_$Z06$]P`$Y=3G5.5?_\("T`"`R``````F<6#(`````(9E`K;``@__PI;0`,[
M`"!@4"ML/CC__"!M``PI2#XXL/P``&8*0J=.NA(Z6$]@,C!\``$B;0`,L\AF3
M#$AZ_WY.NA(B6$]@&DAZ_W9.NA(66$]@#G`6*4`'V#!\__\@"&`$("W__$Y=;
M3G4``/_X(HMP`'!A3E7_\$CG(`!P`"M`__PK0/_X*T#_\"!M``@2$`P!`"UFR
M#'`!*T#_^"M`__!@#`P!`"MF!G`!*T#_^'``(&T`""(M__@0,!@`+P!.NO?@-
M6$]*@&<J("W__'(*3KH0A"(M__A2K?_X=``@;0`(%#`8`-""!(`````P*T#_S
M_&"\2JW_\&<$1*W__"!M``P@K?_\("W_^$S?``1.74YU3E7_\DCG`"!"+?_[C
M<`@K0/_\4ZW__"`M``PB``*!````#T'L!]S1P2(M__P;D!CSZ(`K0``,`H`/X
M____*T``#$JM``QFS$'M__/1[?_\(D@D;0`(%-EF_'`(D*W__$S?!`!.74YUA
M3E4``"\M``PO+0`(88Q03TY=3G4``$Y5__!(YR`@<`LK0/_P0BW__U.M__`@[
M+0`,(@`"@0````<&@0```#`D+?_P&X$H].:`*T``#`*`'____RM```Q*K0`,)
M9LQ![?_TT>W_\")()&T`"!399OQP"Y"M__!,WP0$3EU.=4Y5```O+0`,+RT`!
M"&&,4$].74YU``!.5?_P2.<`('`+*T#_\$(M__]3K?_P("T`#'(*3KH.A`:!*
M````,"`M__`;@0CT("T`#'(*3KH.;"M```Q*K0`,9M!![?_TT>W_\")()&T`4
M"!399OQP"Y"M__!,WP0`3EU.=0``3E4``'``(&T`"!`00^P&:=/`$!$(```#`
M9P92K0`(8.0@+0`(3EU.=?_P&X$(]'!A3E7_^$CG`0`@;0`,2AAF_%.(D>T`3
M#"X((&T`"$H89OQ3B)'M``@@"")M``C3P"M)__@B+0`0OH%C`BX!(`<@;0`,K
M8`(2V%.`9/H@;?_X0C!X`"`M``A,WP"`3EU.=0``3E7__"MM``C__"!M__Q*D
M$&<8<``0$"\`3KH`HEA/(&W__!"`4JW__&#@("T`"$Y=3G4``$Y5__1(YP<``
M>@!.N@!T+`!*AF822'@#[DAL!_!.N@!04$\L`'H!+P9"IR\M``A.N@!$3^\`P
M#"X`2H5G""\&3KH`.EA/2H=F$'#_*4`'V"E\````S0`88`9.N@`.3G%,WP#@D
M3EU.=0``3OD```"@3OD`````3OD```"P3OD````<3OD````P<&$@+P`$#```=
M86T*#```>FX$!```($YU``!.5?_X+RT`"$ZZ[T983RM`__A*@&8$</]@2"!M3
M__@(*``#``-G$DAX``)"IR\M``A.NO3"3^\`#"\M`!`O+0`,(&W_^"\H``1.^
MN@]63^\`#"M`__Q*K``89P1P_V`$("W__$Y=3G4``$Y5__9(YR`@)&T`""`J[
M`!@B``*!``"``%;"1`)(@DC"(@`"@0```#`;0O__2H%G"D*J``AP_V```68(-
M*@`'`!MG%`@J``8`&V<,+PI(>/__3KH!5E!/2JH`%&8X0JH`"`@J``(`&V<4F
M<`$E0``4($K0_``@)4@`$&```((O"DZZ!"!83TJ`9W0(Z@`%`!MP_V```0Q*(
M+?__9V)4J@`(;EP@:@`$4JH`!'``$!`K0/_Z#(`````:9S`,@`````UF-%.JS
M``@@*@`(2H!K$"!J``12J@`$<``0$&```,0O"F$`_R!83V```+@(Z@`$`!MP:
M_V```*P@+?_Z8```I`@J``$`&V92".H````;+RH`%"\J`!`O*@`<3KKX_$_OM
M``PK0/_V2H!J!@CJ``4`&TJ`9@8(Z@`$`!M*@&\<2BW__V<*(@!$@25!``A@O
M!"5```@@:@`0)4@`!"`J`!@"@````#)*@&<82BW__V<(</\E0``(8`9P`"5`6
M``AP_V`B4ZH`""`J``A*@&L.(&H`!%*J``1P`!`08`@O"F$`_F983TS?!`1._
M74YU``!.5?_L2.<@("1M``P@+0`((BH`&"0!`H(````Q*T#_]$J"9P9P_V``S
M`L@@`0*```"``%;"1`)(@DC"&T+__DJJ`!1F``"2"`$``F8``(IP`"5```P,A
MK?____\`"&<``I(O"DZZ`I183TJ`9PP(Z@`%`!MP_V```GH(Z@`!`!M*+?_^&
M9PX@*@`4(@!$@25!``Q@""`J`!0E0``,4ZH`#"`J``Q*@&L4(&H`!%*J``0@Y
M+0`($(!R`!(08!8@+0`(`H````#_+PHO`&$`_S903R(`(`%@``(<""H``@`;2
M9V@B+0`(#('_____9@9P`&```@(;0?__2BW__F<F#($````*9AYP`B\`2&P'!
M^"\J`!PK0/_P3KK\W$_O``PK0/_X8!QP`2\`2&W__R\J`!PK0/_P3KK\OD_OQ
M``PK0/_X</\K0``(8```_`CJ``$`&THM__YG5B(M``@,@?____]G2E2J``P,2
M@0````IF(B!J``12J@`$$+P`#4JJ``QK#"\*2'C__V$`_GQ03U*J``P@:@`$X
M4JH`!"`M``@0@$JJ``QK``%0</\K0``(("H`!)"J`!`K0/_P2H!G``""""H`:
M!@`:9UY(>``"0J<O*@`<3KKQ%D_O``PK0/_L2BW__F="4ZW_["`M_^Q*@&LV?
M0J<O`"\J`!Q.NO#P3^\`#$AX``%(;?_]+RH`'$ZZ]F1/[P`,2JP`&&8,$"W_.
M_0P``!IGP$YQ+RW_\"\J`!`O*@`<3KK[PD_O``PK0/_X8`9P`"M`__@B+?_XA
M#('_____9@@(Z@`%`!M@#+*M__!G!@CJ``0`&THM__YG#B`J`!0B`$2!)4$`5
M#&`8""H``@`;9PAP`"5```Q@""`J`!0E0``,(&H`$"5(``0B+0`(#('_____%
M9RQ3J@`,("H`#$J`:Q`@:@`$4JH`!!"!<``0$&`0`H$```#_+PHO`6$`_3A0G
M3R`J`!@"@````#!*@&<$</]@$B(M__0,@?____]F!'``8`(@`4S?!`1.74YU"
M3E4``"!M``A*J``49PP(*``#`!MF!'``8#PO+`9D3KKNK%A/(&T`""%```0A>
M0``02H!F"G`,*4`'V'#_8!@A;`9D`!0"J/____,`&'``(4``#"%```A.74YUF
M``!G``*2+PIP84Y5__!(YP$P)&T`"`RL````(#X\;```D!(2#`$`(&<,#`$`O
M"6<&#`$`"F8$4HI@Z$H29W(@+#X\Y8!2K#X\0>P^1-'`*TC__`P2`")F*%**+
M((I*$F<*#!(`(F<$4HI@\DH29@Q(>``!3KH(=EA/8)Q"$E**8)8@;?_\((I*J
M$F<8$A(,`0`@9Q`,`0`)9PH,`0`*9P12BF#D2A)F`F`(0A)2BF``_VA*K#X\5
M9@8@;`!(8`1![#Y$*4@^0$JL/CQF``"&0>P(;")(1^P^Q";9)MDFV2;9-I$F'
M;`!((FL`)$AX`"@O*0`$2&P^Q$ZZ^'1/[P`,0>P^Q"(()#P```/N+&P),$ZN4
M_^(I0#\$("P_!"E`/PQR!"E!/P@I0#\4*4$_$.6`*T#_\)/)+'@`!$ZN_MHKN
M0/_T(&W_\")M__0C:``(`*1^`&`R+&P),$ZN_\HI0#\$+&P),$ZN_\0I0#\,^
M0>P(?B(()#P```/M+&P),$ZN_^(I0#\4?@0@!R`'`(```(`!@:P_`"`'(`<`B
M@```@`*!K#\(`*P``(`#/Q!*K`?\9P1P`&`&(#P``(``+@!"K`@<(`<@!P"`8
M`````2E`"!AP`2E`"#X@!R`'`(`````"*4`(.G`"*4`(8"`'(`<`@````(`I?
M0`A<0?H'JBE(`#`O+#Y`+RP^/$ZZ`")03T*G3KKHZEA/3-\,@$Y=3G4``"5`<
M``P@:@`0)4@`!$[Y`````/____]G+$Y5_\1(YR`@<``;?``@__MR`"M!__9TJ
M_RM"__)![?_0&T#_\1M`__P;0/_]&T#__AM`__\K0?_D*T'_Z"M(_\P@;0`(X
M2A!G5!`0`D``_W(874%K2+![$`AF]D[[$`0`(V```"P`(&```!X`*V```!``U
M+6````(;?``!__]@&!M\``'__F`0&WP``?_]8`@;?``!__Q.<5*M``A@I"!M(
M``@2$`P!`#!F"AM\`##_^U*M``@@;0`(#!``*F82(FT`#"!16)$K4/_V4JT`6
M"&`02&W_]B\(3KKT.E!/T:T`""!M``@2$`P!`"YF,%*M``@@;0`(#!``*F826
M(FT`#"!16)$K4/_R4JT`"&`02&W_\B\(3KKS_E!/T:T`""!M``@2$`P!`&QFI
M#!M\``'_\5*M``A@"@P!`&AF!%*M``@@;0`($!!2K0`(&T#_\`)``/]R,%U!R
M:P`";K![$`AF]$[[$`0`8V```D0`<V```?P`6&```8H`>&```80`<&```6P`+
M;V```1H`=6```/``9&````)*+?_Q9PPB;0`,(%%8D2`08`HB;0`,(%%8D2`0#
M*T#_[$J`:@IR`42M_^PK0?_H2JW_Z&<$<"U@#$HM__YG!'`K8`)P(!M`_]!P.
M`!`M__XB+?_H@H!P`!`M__V"@$J!9PA2K?_,4JW_Y"\M_^PO+?_,3KKTHE!/N
M*T#_R$JM__)J!G`!*T#_\B`M_\@B+?_RDH`K0?_$2H%O,B!M_\PB2-/!(@`DT
M2&`"$MI3@63Z<``0+?_[(BW_Q"!M_\Q@`A#`4X%D^B`M__(K0/_(T:W_Y$'M\
M_]`K2/_,2BW__V<``5P;?``@__M@``%22BW_\6<,(FT`#"!16)$@$&`*(FT`B
M#"!16)$@$"M`_^Q@`/]>2BW_\6<,(FT`#"!16)$@$&`*(FT`#"!16)$@$"M`B
M_^Q*+?_\9Q(@;?_,$+P`,%*M_\QR`2M!_^0O`"\M_\Q.NO-,4$\K0/_(8`#_#
M)!M\`##_^TJM__)J!G`(*T#_\DHM__%G#")M``P@45B1(!!@"B)M``P@45B1O
M(!`K0/_L2BW__&<>(&W_S!"\`#!2K?_,(&W_S!"\`'A2K?_,<@(K0?_D+P`OB
M+?_,3KKR9E!/*T#_R`PM`%C_\&8`_K1(;?_03KKT.EA/8`#^IB)M``P@45B1;
M(E`K2?_,LOP``&8(0>P(A"M(_\P@;?_,2AAF_%.(D>W_S"M(_^1*K?_R:RXB]
M+?_RL<%O)BM!_^1@('`!*T#_Y")M``P@45B1(!`;0/_00BW_T6`&<`!@``"H?
M(BW_Y"0M__:T@6P(<``K0/_V8`23K?_V2BW__V="4ZW_Y"`M_^1*@&L8<``@8
M;?_,$!!2K?_,+P`@;0`03I!83V#<4ZW_]B`M__9*@&M4<``0+?_[+P`@;0`0B
M3I!83V#B4ZW_]B`M__9*@&L2<``0+?_[+P`@;0`03I!83V#B4ZW_Y"`M_^1*<
M@&L8<``@;?_,$!!2K?_,+P`@;0`03I!83V#<("T`"$S?!`1.74YU3E7_]BMMH
M`!#_]B!M``P0$%*M``P;0/__2@!G=@P``"5F,"!M``P,$``E9@92K0`,8"`O0
M+0`(2&W_]B\(80#[3$_O``PK0/_Z2H!G!BM```Q@N$JL`#1G)@@M``?__V<>H
M<``0+?__+P`@;0`(3I!83R!M``P0$%*M``P;0/__<``0+?__+P`@;0`(3I!8V
M3V``_WI.74YU```'````<&%*@&H``!Y$@$J!:@``#$2!80``($2!3G5A```8,
M1(!$@4YU2H%J```,1(%A```&1(!.=2\"2$$T`68``")(0$A!2$(T`&<```:$W
MP3`"2$`T`(3!,`)(0C(")!].=2\#=A`,00"`9```!N&944,,00@`9```!NF9H
M64,,02``9```!N6954-*06L```;CF5-#-`#FJ$A"0D+FJDA#@,$V`#`"-`-(J
M0<3!D()D```(4T/0@63^<@`R`TA#Y[A(0,-`)A\D'TYU+GD```!,3KD```0`R
M+SP````43KD```18($(B0R0`)@%(0DA#Q,'&P,#!U$-(0D)"T((F"20(3G5.X
M50``+RT`"$ZZ`#)83TJ`9A).NO(0*4``&'`"*4`'V'#_8`)P`$Y=3G5.50``S
M+RT`"&',6$].74YU``!.^0```$!P82!O``1(Z/[^``0A;P````!P`$YU("\`3
M"&8"4H`@;P`$3.C^_@`$+V@`````3G4``"!O``0B;P`($ABR&68(2@%F]G``)
M3G5N!'#_3G5P`4YU(&\`!$H89OQ3B)'O``0@"$YU``!.5?_X2.<!('X`1>P_4
M`+ZL")QL'DJ29Q0(*@`"``-G`F`*+RH`!$ZZ`EQ83U*'4(I@W"\M``PO+0`(>
M3KK>IE!/3-\$@$Y=3G4@+P`$9@8@/```(P`CP````#!P`$YU``!.5?_\<``B\
M/```,``L>``$3J[^S@*````P`"M`__Q*@&8$<`!@)$JL`#!G&B!L`#!.D$J`G
M9@1P`&`00J=(>``43KK_7E!/("W__$Y=3G5AL$YU``!*K`DT9A)#[`D<<``LP
M>``$3J[]V"E`"30I;`!4"-Q(>``\2'@`^G``+P`O`$AL"0A(;`CN2&P(T"\`N
M3KK?X$_O`"!3@&<$</]@`G``3G4``$Y5__Q(YP$`2JP`,&<$3KK_3$*L`!@B!
M+0`()"T`#"8M`!`L;`DP3J[_UBX`#(?_____9A(L;`DP3J[_?"E``!AP!2E`S
M!]@@!TS?`(!.74YU3E7__$CG`0!*K``P9P1.NO[\0JP`&"(M``@D+0`,)BT`-
M$"QL"3!.KO_0+@`,A_____]F$BQL"3!.KO]\*4``&'`%*4`'V"`'3-\`@$Y=D
M3G5.5?_X2.<Q`DJL`#!G!$ZZ_JQ"K``8("T`$%.`+T``$"(M``@D+0`,)B\``
M$"QL"3!.KO^^+@`,A_____]F$BQL"3!.KO]\*4``&'`6*4`'V"`M`!`,@```/
M``)G'`R``````6<*2H!F(B`M``Q@'"`'(`?0K0`,8!(B+0`(=`!V`"QL"3!.3
MKO^^3G%,WT",3EU.=0``3E7__$CG`0!*K``P9P1.NOX80JP`&"(M``@D+0`,&
M+&P),$ZN_^(N`$J'9A8L;`DP3J[_?"E``!AP`BE`!]AP_V`"(`=,WP"`3EU.(
M=4Y5``!*K``P9P1.NOW0(BT`""QL"3!.KO_<<`!.74YU3E7__$JL`#!G!$ZZ2
M_;!"K``8(BT`"'3^+&P),$ZN_ZPK0/_\2JW__&<8(BW__"QL"3!.KO^F(BT`6
M""QL"3!.KO^X(BT`""0\```#[BQL"3!.KO_B*T#__$JM__QF%BQL"3!.KO]\^
M*4``&'`"*4`'V'#_8`0@+?_\3EU.=4Y5__Q*K``P9P1.NOTT0JP`&"(M``AT]
M_BQL"3!.KO^L*T#__$JM__QG$"(M__PL;`DP3J[_IG#_8#8B+0`()#P```/NN
M+&P),$ZN_^(K0/_\2JW__&86+&P),$ZN_WPI0``8<`(I0`?8</]@!"`M__Q.N
M74YU```#[`````,````````BG```(8```"%T`````0````$``!N*````!0``R
M``D``"*B```A;@```R(```$2````#@````D````*```AX@``$\H``!/<```37
MU@``$]```!/B```"U````N````+:`````````_(```/I```"O4Y5__1(YP,`J
MO^P`!&4`"EPP?``!+PA(>``"3KH*BE!/,'P``;"(9PY(>@J^2'@``DZZ"G107
M3V$`":9(;`*J+RT`#"\M``A.N@I&3^\`#"X`#(?_____9P``B"`'<B`$00`(?
M:W2PNQ`(9O1.^Q`&````/V```&0```!O8```7````%5@``!$````1&````(K3
M;#T,__0@;?_T2A!G#`P0`#UG!E*M__1@["!M__1*$&<&0A!2K?_T+RW_]"\LN
M/0Q.N@GL4$]@`/]T0J<O+#T,3KH)LE!/8`#_9$ZZ"@)@`/]<0>P(`"E(/&Y!*
M[`@B*4@\ODAL`K).N@FD6$\I0#S"</\I0#QF0JP\:F$``(`@;`",2A!G'$*L^
M`'Q(>/__3KH)H%A/+RP`C$ZZ"3Q83V%<8"9\`0R&````"FP<(`8B!N6!0>P\N
MEM'!2I!G""\&3KH)(EA/4H9@W$JL/)9G'B\L/)9.N@D^6$\@;#S"$7P`,``'2
M+RP\PDZZ"4Y83T*G3KH)-%A/3-\`P$Y=3G5.5?WL2.<G,+_L``1E``C20>P,&
M8")L`&RSR&,04ZP`;"!L`&P0$$B`2,!@0B`L`'PB`.6!0>P\;B)(T\$F45.K7
M``@@*P`(2H!K%")(T\$F42)K``12JP`$<``0$6`0("P`?.6`T<`O$$ZZ"-Q8M
M3RX`#(<```!?9Q)![`9IT<<0$`(```-*`&<``>(O!TZZ"*983T7M_@`O"F$`R
M!I183RM`_?!*@&9B2JP\9FI$2A)G`/]@(&P\OE.H``P@;#R^("@`#$J`:Q0BE
M:``$4J@`!!`2$H!2BG(`$A%@TG``$!)2BB\L/+XO`$ZZ"!903R(`8+Q*$F<`Y
M_QP0$DB`2,!2BB\`3KH(2EA/8.@B+#QF#($```0`;!92K#QF("P\9N6`0>P<@
M8")(T\`BK#QJ(BP\9@R!```$`&P:4JP\9B`L/&;E@$'L'&`B2-/`)FW]\"*K^
M``@B+#QF#($```0`;!92K#QF("P\9N6`0>P<8")(T\!P`"*`("P\9BE`/&H,_
M@```!`!L&E*L/&8@+#QFY8!![!Q@(DC3P"9M_?`BJP`$(BP\9@R!```$`&P8Y
M4JP\9B`L/&;E@$'L'&`B2-/`)FW]\"*3(BP\9@R!```$`&P44JP\9B`L/&;E"
M@$'L'&#1P""L`'1![`Q@(FP`;+/(8Q!3K`!L(&P`;!`02(!(P&!"("P`?"(`:
MY8%![#QN(DC3P2914ZL`""`K``A*@&L4(DC3P291(FL`!%*K``1P`!`18!`@\
M+`!\Y8#1P"\03KH'#%A/+``O!DZZ!O!83PR&````*&<`_<!(>``I3KH&W%A/]
M2'@`*$ZZ!M)83V``_:@,A_____]F.`RL_____SQF;PI(;`+"3KH&XEA/4ZP`^
M?"`L`'Q*@&L`!)0B`.6!0>P\<M'!+Q!.N@9T6$]@`/UH$"P`D$B`2,"^@&8`S
M`/!Z`4'L#&`B;`!LL\AC$%.L`&P@;`!L$!!(@$C`8$(@+`!\(@#E@4'L/&XBJ
M2-/!)E%3JP`(("L`"$J`:Q0B2-/!)E$B:P`$4JL`!'``$!%@$"`L`'SE@-'`[
M+Q!.N@8R6$\L`!`L`)%(@$C`L(9F!%.%8"(0+`"02(!(P+"&9@12A6`2#(;__
M____9@I(;`+>3KH&'%A/2H5O3$JL/&9J/B!L/+Y3J``,(&P\OB`H``Q*@&L2*
M(F@`!%*H``0@!A*`<@`2$6`@(`8"@````/\O+#R^+P!.N@5R4$\B`&`(+P9.O
MN@6T6$]*A68`_QI@`/QL2JP\9FH``3P0+`"22(!(P+"'9@``["!L/+Y3J``,C
M(&P\OB`H``Q*@&L2(F@`!%*H``0@!Q*`<@`2$6`6(`<"@````/\O+#R^+P!.K
MN@4,4$\B`$'L#&`B;`!LL\AC$%.L`&P@;`!L$!!(@$C`8$(@+`!\(@#E@4'L_
M/&XB2-/!)E%3JP`(("L`"$J`:Q0B2-/!)E$B:P`$4JL`!'``$!%@$"`L`'SEV
M@-'`+Q!.N@3T6$\N`!`L`)-(@$C`L(=G0B!L/+Y3J``,(&P\OB`H``Q*@&L44
M(F@`!%*H``0@!Q*`<@`2$6``_VX@!P*`````_R\L/+XO`$ZZ!&)03R(`8`#_A
M5"!L/+Y3J``,(&P\OB`H``Q*@&L4(F@`!%*H``0@!Q*`<@`2$6``^T0@!P*`F
M````_R\L/+XO`$ZZ!"!03R(`8`#[*B`'#(`````L9P`!;@R`````*6<``*P,^
M@````"AF``(4("P\:N6`0>P<8-'`2I!O""\'3KH$,%A/0>P,8")L`&RSR&,0@
M4ZP`;"!L`&P0$$B`2,!@0B`L`'PB`.6!0>P\;B)(T\$F45.K``@@*P`(2H!K?
M%")(T\$F42)K``12JP`$<``0$6`0("P`?.6`T<`O$$ZZ`\Q83RP`0>P&:='&V
M$!`(```#9I(O!DZZ`Z)83R`L/&KE@$'L'&#1P%*08`#Z:B`L/&KE@$'L'&#1T
MP%.0(!!*@&\,+P=.N@.,6$]@`/I*0J=.N@.`6$\,K```!``\9F8*2&P"]DZZ-
M`X183R`L/&HB`.6!0>P<7-'!#)`````!9AI![!Q@T<%8B"(L/&:2@"\!+PA..
MN@+\4$]@)B(`Y8%![!Q@T<%8B"0L/&:4@$/L'%S3P2\1+P(O"$ZZ`PQ/[P`,*
M("P\:B(`Y8%![!QLT<$I4`!T5X`I0#QF0>P<6-'!*5`\:F``^;(@+#QJY8!!%
M[!Q@T<`,D`````%F`/F<0J=.N@+26$]![`Q@(FP`;+/(8Q!3K`!L(&P`;!`0!
M2(!(P&!"("P`?"(`Y8%![#QN(DC3P2914ZL`""`K``A*@&L4(DC3P291(FL`R
M!%*K``1P`!`18!`@+`!\Y8#1P"\03KH";EA/+`!![`9IT<80$`@```-FDB\&9
M3KH"1%A/(BP\9@R!```$`&P`^1!2K#QF("P\9N6`0>P<8-'`(*P`=&``^/@O7
M!TZZ`BY83V``^.Q,WPSD3EU.=4Y5_^Y(YR,PO^P`!&4``:0D;0`(?@`K2O_V_
M($K0_`(`*TC_\K7M__)D``"00>P,8")L`&RSR&,04ZP`;"!L`&P0$$B`2,!@7
M0B`L`'PB`.6!0>P\;B)(T\$F45.K``@@*P`(2H!K%")(T\$F42)K``12JP`$'
M<``0$6`0("P`?.6`T<`O$$ZZ`9)83RP`(`9(@$C`0>P&:='`$!`"```'2@!FH
M!@P&`%]F$B!*4HH@!A"`2(!(P-Z`8`#_;"`&2(!(P"\`3KH!0EA/M>W_\F8*^
M2&P#$DZZ`6)83T(2(`<B/````,=.N@%&(`'E@$'L"431P"M0_^Y*K?_N9R`@.
M;?_N+Q`O+?_V3KH`OE!/2H!G#"!M_^XK:``,_^Y@VB`M_^Y,WPS$3EU.=4Y52
M__1(YP,@O^P`!&4``'Y^``R'````(FQB(`<B!^>!0>P!FM'!+Q!.N@"P6$\LT
M`$AX`!!.N@!B6$\D0"`&(@;E@4'L"40B2-/!)5$`#-'!((H@!R('YX%![`&:O
M(DC3P221)6P`A@`$T<$@*``$`(````"`)4``"%*'8)9,WP3`3EU.=0``3OD`,
M``",3OD``"%L3OD```&*3OD```D\3OD``"(83OD```#T3OD``!803OD`````N
M3OD`````3OD`````3OD```2\3OD``!`<3OD```&&3OD```183OD`````3OD`'
M``!>3OD``"&D3OD`````3OD``!1H3OD```%<3OD```.(3OD``""H3OD```+,.
M3OD```*:```#[`````H````````*>```"GX```KD```*B@``"M(```JT```*,
MQ@``"J(```JH```*;`````$````"```*S`````(````#```*E@``"JX````"2
M````!```"KH```J$````!P````4```KP```*V```"G(```IF```*P```"MX`<
M``KJ`````0````<```J0`````0````@```J<`````````_(```/I```!MDY5`
M_?A(YR\PO^P`!&4`!APD;0`(+BT`#"PM`!`,AP````-F"B!J``A*$&8"4X<@V
M!B`&`H#___]_!(`````";0`%T@R`````(&P`!<CE@$[["`)@``!^8```X&``/
M`K1@``#X8``!2F```HQ@``&V8``#CF```=A@``(08``")&```EQ@``%:8```Y
MZ&```')@``.88``"E&```6A@``,28``#0F```TQ@``.H8``$4F``!0!@``.\"
M8``$AF```&Y@``)"8``$%&```79@``4$8``%(`R'`````F\`!4(,AP````-OI
M!B!J``Q@!"!L`(8O""\J``A.N@6@4$]@``4@#(<````";P`%%@R'`````V\&E
M(&H`#&`$(&P`AB\(+RH`"$ZZ!6)03V``!/0O!R\*3KH%A%!/8``$Y@R'````&
M`F\`!-PO*@`(3KH%#%A/+P!.N@5\6$]@``3&#(<````$;P`$O"\'+PI.N@585
M4$]@``2N#(<````#;P`$I"\J``A.N@3X6$]*@&<.+RH`#$ZZ!)983V``!(@,/
MAP````1O``1^+RH`$$ZZ!'Y83V``!'`,AP````)>P$0`2(!(P$J`9P`$7&<,U
M+RH`"$ZZ!')83V`"<``O`$ZZ!/983V``!$`,AP````)O``0V+RH`"$ZZ!*)8Y
M3U*`+P!.N@346$]@``0>#(<````";P`$%"\J``A.N@2`6$]3@"\`3KH$LEA/P
M8``#_`R'`````F\``_(O*@`(3KH$%EA/*4`\R&```^`O+#S(3KH$B%A/8``#O
MT@R'`````F\``\@O*@`(3KH#_EA/2H!F``.X+RH`"$AL`RA(;`A$3KH#PD_OH
M``Q(;`,R3KH$1EA/8``#E@R'`````F\``XPO*@`(3KH#PEA/8``#?@R'````#
M`F\``W0O*@`(3KH#L%A/2H!F``-D+RH`"$AL`TA(;`A$3KH#;D_O``Q(;`-2N
M3KH#\EA/8``#0@R'`````F\``S@O*@`(3KH#=%A/8``#*B\'+PI.N@-44$]@I
M``,<+P<O"DZZ`V103V```PX,AP````-O``,$+P<O"DZZ`Q!03V```O8,AP``M
M``-O``+L(`<@!U.`*``,A`````-O/A`L`)%(@$C`+P!.N@-46$\@!"($Y8$O:
M,A@`3KH"QEA/$"P`D$B`2,`O`$ZZ`S183TAX`"Q.N@,J6$]3A&"Z$"P`D4B``
M2,`O`$ZZ`Q983R\J``Q.N@*.6$\0+`"02(!(P"\`3KH"_%A/8``"<`R'`````
M`F\<+RH`"$ZZ`M183R@`2H1G#"\$3KH"M%A/8``"3$'L""(I2#R^0JP`@&``R
M`CPO!R\*3KH"TE!/8``"+B\L`(!.N@+66$]@``(@#(<````";P`"%G@"N(=L=
M``(.(`0B!.6!2'@``2\R&`!.N@(B4$]2A&#B#(<````";P`!['@"N(=L``'D8
M(`0B!.6!0J<O,A@`3KH!^E!/4H1@Y`R'`````F\``<0O*@`(3KH"*EA/+P!.0
MN@&\6$]@``&N#(<````#;T@,AP````1O&B\J`!`O*@`,+RH`"$AM_?A.N@)`]
M3^\`$&`8+RP`AB\J``PO*@`(2&W]^$ZZ`B9/[P`02&W]^$ZZ`6Q83V```5X,F
MAP````)O``%4+RH`"$ZZ`5183V```48,AP````-O$"\J``PO*@`(3KH!?%!/8
M8`)P_R\`3KH!UEA/8``!(`R'`````F\``19X`KB';!X@!"($Y8$O,A@`2&P#%
M:$AL"$1.N@$43^\`#%*$8-Y(;`-L2&P(1$ZZ`0!03V```.!![`Q@(FP`;+/(\
M8Q!3K`!L(&P`;!`02(!(P&!"("P`?"(`Y8%![#QN(DC3P2914ZL`""`K``A*G
M@&L4(DC3P291(FL`!%*K``1P`!`18!`@+`!\Y8#1P"\03KH!%EA/*@`,A0``%
M``IG=@R%_____V=N8(X,AP````)O#B\J``A.N@#J6$\@0&`$(&P`ABE(`(Q@V
M3`R'`````F\,+RH`"$ZZ`+)83V`"<``O`$ZZ`+)83V`L#(<````";R1X`KB'M
M;!X@!"($Y8$O,A@`3KH`:%A/4H1@Z$AL`VY.N@"N6$],WPST3EU.=4[Y````*
MC$[Y```A;$[Y```&]$[Y```'FD[Y```B.$[Y````]$[Y```38$[Y```%($[Y2
M`````$[Y```$%D[Y```$<D[Y`````$[Y```%@$[Y```"+$[Y````/$[Y```%U
MWD[Y```"BD[Y`````$[Y```"[$[Y```!AD[Y```$6$[Y````7D[Y```#.D[Y.
M```4:$[Y```#!D[Y```&9D[Y```#M$[Y```"FD[Y````^D[Y```'J@```^P`(
M```'````````!IX```:P```&.```!DH```:2```&/@``!BP````-`````P``-
M!G0```;4```&O```!H````8R```&;@``!E````9B```&7```!L(```:V```&R
MA@``!I@````"````!```!D0```9Z````!@````4```:J```&:```!J0```;(5
M```&)@``!LX````!````!@``!E8````!````"```!HP````````#\@```^D`?
M``(Q3E7_\$CG!R"_[``$90`(4"1M``@N+0`,(%(K2/_X*TC__"!M__A*$&<&<
M4JW_^&#R4ZW_^"!M__BQ[?_\8P`!*`PH`"3__V<2$!!(@$C`+P!.N@A46$]@!
M``$&$!!(@`1``"-M``#D#$``%VP``-SE0$[[``)@``!:8```SF```,I@``#&Z
M8```PF```+Y@``"Z8```?&```+)@``"N8```JF```*9@``"B8```-F```#)@P
M```N8```*F```"9@```B8```'F```!I@```68```$B`'(`=5@"\`3KH'Y%A/,
M8'H@;?_X$!!(@$C`!(`````P*@`@!R`'4X"Z@&Q>(`4B!>6!+S(8!$ZZ!U!8W
M3V!,(`<@!U.`+``,A@````)O'B`&(@;E@2\R&`!.N@<N6$](>``L3KH'<EA/.
M4X9@VB\J``A.N@<66$]@$B!M__@0$$B`2,`O`$ZZ!U!83U.M__A3K?_X8`#^G
MT"!M__BQ[?_\9@X0$$B`2,`O`$ZZ!RQ83TS?!.!.74YU3E7__$CG(""_[``$;
M90`&RB1M``A*$F8*2&P#F$ZZ!Q183R\M``PO"DZZ!KI03TJ`9@I(;`.N3KH&H
M^EA/+PI.N@;.6$\K0/_\2H!F#B\*3KH&K%A/*T#__&`6($`D*``$(FP`AK/"P
M9P@O`DZZ!IQ83R!M``Q*$&8,(FW__"-L`(8`!&`0+PA.N@:>6$\@;?_\(4``<
M!'`!(&W__"%```A,WP0$3EU.=4Y5__Q(YP`@O^P`!&4`!B0O+0`(3KH&4EA/=
M)$"T_```9S0@:@`$L>P`AF<J$"P`D4B`2,`O`$ZZ!D)83R\J``1.N@7J6$\0_
M+`"02(!(P"\`3KH&*%A/3-\$`$Y=3G5.5?_\2.<`(+_L``1E``7&)&T`"$H2V
M9@I(;`/(3KH&$%A/+RT`#"\*3KH%ME!/2H!F"DAL`]Q.N@7V6$\O"DZZ!;A8$
M3RM`__P@;0`,2A!F"B)`(VP`A@`$8!`O"$ZZ!<183R!M__PA0``$<`$@;?_\8
M(4``"$S?!`!.74YU3E7_^$CG`R"_[``$90`%2B1M``@N+0`,#(<````";SQ\1
M`KR';```@"`&(@;E@2\R&`!.N@5:6$\K0/_X2H!G&"!`+R@`!"\0+RP#E$ALW
M"$1.N@4>3^\`$%*&8,9\``R&````QVQ`(`8B!N6!0>P)1-'!*U#_^$JM__AG+
M)B!M__@O*``$+Q`O+`.42&P(1$ZZ!.!/[P`0(&W_^"MH``S_^&#44H9@N$S?9
M!,!.74YU3E4``$CG`2"_[``$90`$G"1M``@N+0`,+RH`#"\J``A.N@244$]*H
M@&8,+RH`$$ZZ!'183V`D#(<````&9@PO*@`43KH$8%A/8!`,AP````9O"-3\A
M``Q7AV"^3-\$@$Y=3G5.5?_\O^P`!&4`!#X@+`!\4H`,@`````IF"DAL`_9.T
MN@2"6$\@+`!\Y8!![#QRT<!(;`02+RT`""](``A.N@0<4$\@;P``((!*@&<(<
M4JP`?'`!8`1P`$YQ3EU.=4Y5__A(YP$`O^P`!&4``]Y(;`04+RT`"$ZZ`^10:
M3RM`__Q*@&=\(&W__%.H``@@*``(2H!K#B)H``12J``$<``0$6`(+PA.N@/X_
M6$\N``R'_____V<^(&P\OE.H``P@;#R^("@`#$J`:Q(B:``$4J@`!"`'$H!RN
M`!(18*H@!P*`````_R\L/+XO`$ZZ`XI03R(`8)(O+?_\3KH#CEA/<`%@!'``]
M3G%,WP"`3EU.=4Y5``!(YP$@O^P`!&4``S`D;0`(+BT`#`R'`````F\L(&H`,
M"$H09P80$!E``)`,AP````-O#B!J``Q*$&<:&5``D6`4&6P`D`"18`P9?`!@1
M`)`9?``G`)%,WP2`3EU.=4Y5``!(YP$@O^P`!&4``M`D;0`(+BT`#`R'````F
M`F\J(&H`"$H09P094`"2#(<````#;PX@:@`,2A!G&AE0`)-@%'`*&4``DV`,S
M&7P`(P"2&7P`"@"33-\$@$Y=3G5.5?_\2.<!`+_L``1E``)R+BT`"$J':P@,B
MAP````IM`GX`(`<B!^6!0>P\EB)(T\%*D68X(`<@!P:`````,")L/,(30``'4
MT<%(;`06+PDO2``,3KH"/E!/(&\`!""`2H!F"DAL!!A.N@)R6$\I1P"`(`<B;
M!^6!0>P\EM'!*5`\ODS?`(!.74YU3E7_^$CG!R"_[``$90`!ZB1M``@N+0`,Y
M#(<````";T!\`KR';&`@!B(&Y8$O,A@`3KH""%A/*@!*A6\@#(4````*;!@@^
M!2(%Y8%![#R6T<%*D&<(+P5.N@&F6$]2AF#">@$,A0````IL'"`%(@7E@4'LM
M/);1P4J09P@O!4ZZ`8!83U*%8-Q,WP3@3EU.=4Y5__!(YP,@O^P`!&4``5PD:
M;0`(+BT`#`R'````!6P(+#P```(`8`PO*@`03KH!?EA/+``K:@`(__PO*@`,^
M3KH!;%A/(&W__")(T\`K2?_XL\AE6B\(3KH!,%A/(&W__-'`(FW_^+/(9$0O.
M"4ZZ`1I83[R`;@0@!F`*+RW_^$ZZ`0A83R!M__C1P%.(*TC_]"!M__2Q[?_X'
M9100$$B`2,`O`$ZZ`0Y83U.M__1@XDS?!,!.74YU3E7_^DCG`R"_[``$90``J
MIB1M``@@;0`,2A!G``"(*VT`$/_\(&T`$$H09R00$$B`4JT`$$'L!"O0P")MX
M`!1*$6<(4JT`%!`18`)P`!"`8-0@;0`,2A!G,AX04JT`#"`'2(!![`0KT,`<D
M$+X&9Q`N!B`'2(!![`0KT,`<$&#L(`84@$H`9\I2BF#&(&W__$H09Q(0$$B`,
M0^P$*]+`$I!2K?_\8.9"$DS?!,!.74YU3OD```",3OD``"%L3OD```&*3OD`#
M`"(83OD```4T3OD```>:3OD``"(X3OD```"&3OD``!803OD```F@3OD````\P
M3OD```2\3OD```+L3OD```!>3OD```,Z3OD``!1H3OD```*:3OD```#Z```#/
M[`````H````````(?@``"*(```B<```(B@``"+0```AR```(>```")````AL>
M```(8`````(````$```(A```")8````&````!0``"&8```BN```(N@``"%H`K
M``C````(J`````````/R```#Z0```(A.5?_\2.<!(+_L``1E``'F)&T`"'X`A
M2A)G#!`22(!(P%**WH!@\"`'(CP```#'3KH!XB`!3-\$@$Y=3G5.5?_\2.<`-
M(+_L``1E``&J+RT`"&&N6$\B`.6!0>P)1-'!)%"T_```9Q8O$B\M``A.N@&2N
M4$]*@&<&)&H`#&#D(`I,WP0`3EU.=4Y5__A(YR$@O^P`!&4``6`O+0`(80#_^
M9%A/+@!(>``03KH!4EA/*T#_^$J`9RHB!R0'Y8)![`E$(DC3PB1`)5$`#-'"U
M((`O+0`(3KH!.EA/(&W_^""`8`I(;`2L3KH!-%A/("W_^$S?!(1.74YU3E7_+
M\$CG`2"_[``$90``\B\M``AA`/[V6$\N`"`'(@?E@4'L"431P2M0__!"K?_TB
M2JW_\&=X+RT`""!M__`O$$ZZ`,I03TJ`9E(@;?_P*V@`#/_P2JW_]&8F(`<B@
M!^6!0>P)1-'!+Q!A3%A/(`<B!^6!0>P)1-'!(FW_\"")8!0@;?_T)&@`#"%M/
M__``#"\*82183TJM``QFEF`2*VW_\/_T(&W_\"MH``S_\&""3-\$@$Y=3G5.B
M50``O^P`!&4``$`@;0`(""@`!P`+9B`O$$ZZ`$!83R!M``@B*``$(FP`AK/!?
M9P@O`4ZZ`"A83R!M``@O"$ZZ`!Q83TY=3G4``$[Y```A;$[Y```)/$[Y```B$
M&$[Y```)H$[Y```#.D[Y```@J$[Y```"FG!A```#[`````4````````""```-
M`?P```("```"%````?8````"````!0```AH```(.`````````_(```/I````B
M_$Y5__1(YP`@O^P`!&4``YXK;0`(__@@;?_X2A!G-B1(*VT`#/_T(&W_]$H0%
M9PX2$+(29@A2K?_T4HI@ZB!M__1*$&8*("W_^)"M``A@"%*M__A@PG#_3-\$2
M`$Y=3G5.50``O^P`!&4``T0@;`!LL>P`<&0*$*T`"U*L`&Q@"DAL!,!A``(6L
M6$].74YU3E7_^$CG`""_[``$90`#$B1M``@K2O_\*VP`;/_X(&W__$H09P92+
MK?_\8/)3K?_\(&W__+'*918B;?_XL^P`<&3N$I!3K?_\4JW_^&#B(&W_^"E(D
M`&RQ[`!P9@I(;`3D80`!K%A/3-\$`$Y=3G5.5?_\2.<!`+_L``1E``*D2JT`6
M"&H*("T`""(`1(%@!"(M``@N`2`'<@I.N@+"!H$````P+P%A`/\L6$\@!W(*.
M3KH"K"X`2H=NW$JM``AJ"DAX`"UA`/\.6$],WP"`3EU.=4Y5``"_[``$90`"&
M1B!L`'2Q[`!X9`H0K0`+4JP`=&`*2&P%"&$``1A83TY=3G5.5?_X2.<!(+_L2
M``1E``(4("T`".6`0>P\EM'`(FP\OK/09@I(;`4B80``YEA/("T`".6`0>P\P
MEM'`+Q!.N@((6$\@+0`((@#E@4'L/);1P4*0!H`````P(&P\PA%```=(;`5(X
M+PA.N@'&4$\D0+3\``!F#$AL!4IA``"66$]@:E.J``@@*@`(2H!K#B!J``120
MJ@`$<``0$&`(+PI.N@&Z6$\N``R'_____V<^(&P\OE.H``P@;#R^("@`#$J`<
M:Q(B:``$4J@`!"`'$H!R`!(18*X@!P*`````_R\L/+XO`$ZZ`5Y03R(`8)8O>
M"DZZ`5A83R\L/,).N@%:6$]2@&8(2&P%8&$*6$],WP2`3EU.=4Y5``"_[``$/
M90`!"&$``#8O+0`(2&P%=$AL"$1.N@$&3^\`#$AX``%.N@$26$].74YUO^P`+
M!&4``-HO+`6&8<!83TYU3E7__$CG`0"_[``$90``P'X`#(<````*;#H@!R('G
MY8%![#R6(DC3P4J19R31P2\03KH`P%A/(`<@!P:`````,"!L/,(10``'+PA.T
MN@"R6$]2AV"^3-\`@$Y=3G5.5?_X2.<!(+_L``1E``!D+RT`"$ZZ`'183U*`>
M+@`O!TZZ`%983RM`__A*@&<4(`<@;0`((D@D;?_X8`(4V5.`9/H@+?_X3-\$Q
M@$Y=3G6_[``$90``'DAL!8I(;`A$3KH`)%!/2'@``4ZZ`#)83TYU``!.^0``:
M(6Q.^0``"3Q.^0``!31.^0``!YI.^0``(CA.^0``%A!.^0``!+Q.^0``!%A.'
M^0``(:1.^0``%&A.^0``(*AP80```^P````+`````````[0```/&```#V```V
M`\````/>```#S````^0```.Z```#T@```^H```.N`````````_(```/I```"M
M%4Y5__Q(YP$`O^P`!&4`""(I;0`(/,Q(;#S03KH(&EA/2H!G!'``8!IA("X`F
M80`'HDJ`9@0@!V`*2&P%L&$`!\183TS?`(!.74YU3E7_]$CG!P"_[``$90`'+
MV&%&+@!A``=P#(`````_9PA3K#S,(`=@*&'6+`!A``=8#(`````Z9PI(;`7&.
M80`'>EA/8;PJ`$J'9P0@!F`"(`5,WP#@3EU.=4Y5__1(YP<`O^P`!&4`!X!AZ
M4"P`80`'&"X`#(<```!\9B8@;#S,$!!2K#S,#```?&8682XJ`$J&9@A*A68$S
M<`!@`G`!+`!@S`R'````?&8$4ZP\S%.L/,P@!DS?`.!.74YU3E7_]$CG!P"_,
M[``$90`''F%0+`!A``:V+@`,AP```"9F)B!L/,P0$%*L/,P,```F9A9A+BH`(
M2H9G"$J%9P1P`6`"<``L`&#,#(<````F9@13K#S,4ZP\S"`&3-\`X$Y=3G5.R
M5?_T2.<'`+_L``1E``:\848N`&$`!E0J``R%````?&8<(&P\S!`04JP\S`P`C
M`'QG#%.L/,QA("P`CH9@U@R%````?&8$4ZP\S%.L/,P@!TS?`.!.74YU3E7_T
M^$CG`P"_[``$90`&9&$D+@!A``7\#(````!>9@AA%"P`O8=@[%.L/,P@!TS??
M`,!.74YU3E7_]$CG!P"_[``$90`&+F%&+@!A``7&*@`,A0```"9F'"!L/,P0*
M$%*L/,P,```F9PQ3K#S,82`L`,Z&8-8,A0```"9F!%.L/,Q3K#S,(`=,WP#@:
M3EU.=4Y5__1(YP<`O^P`!&4`!=9A2"X`80`$C"H`#(7_____9RYA-BP`(`4,Q
M@`````%G$DJ`9N"^AE?`1`!(@$C`+@!@TKZ&5L!$`$B`2,`N`&#$(`=,WP#@+
M3EU.=4Y5__1(YP<`O^P`!&4`!7QA=BX`80`$I"H`#(7_____9UQA9"P`(`4$Q
M@`````)MY`R`````!&S<XX!.^P@"8!1@!&`>8"J^AE_`1`!(@$C`+@!@P+Z&*
M7<!$`$B`2,`N`&"ROH9>P$0`2(!(P"X`8*2^AES`1`!(@$C`+@!@EB`'3-\`#
MX$Y=3G5.5?_T2.<'`+_L``1E``3T86`N`&$`!(PJ``R%````/&<(#(4````^[
M9B8@;#S,$!!(@$C`4JP\S+J`9A1A-"P`#(4````\9@3MIV#([*=@Q`R%````&
M/&<(#(4````^9@13K#S,4ZP\S"`'3-\`X$Y=3G5.5?_T2.<'`+_L``1E``2"X
M83HL`&$`!!HN``R'````*V<(#(<````M9A1A("H`#(<````K9@3<A6#:G(5@*
MUE.L/,P@!DS?`.!.74YU3E7_]$CG!P"_[``$90`$-F%P+`!A``/.+@`,AP``&
M`"IG$`R'````+V<(#(<````E9D)A3BH`(`<,@````"5G*`R`````+V<4#(``T
M```J9L0@!B(%3KH#^BP`8+@@!B(%3KH$`"P`8*P@!B(%3KH#]"P!8*!3K#S,[
M(`9,WP#@3EU.=4Y5__A(YP,`O^P`!&4``[1A``-0+``,A@```"%G$`R&````2
M?F<(#(8````M9CAAT"X`(`8,@````"UG(@R`````?F<4#(`````A9AI*AU?`K
M1`!(@$C`8!0@!T:`8`X@!R`'1(!@!E.L/,QA"$S?`,!.74YU3E7__$CG`0"_Q
M[``$90`#0&$``MP,@````"AF(&$`^THN`&$``LH,@````"EG"DAL!=!A``+L0
M6$\@!V`&4ZP\S&$(3-\`@$Y=3G5.5?_F2.<'`+_L``1E``+V80`"D@R`````(
M)V<,4ZP\S&$``1!@``$$?@`,AP````1L``#`(&P\S!H04JP\S`P%`"=F"%.LB
M/,Q@``"H#`4`7&8``(H@;#S,&A!2K#S,(`5(@').74%K=+![$`AF]D[[$`0`7
M9F```&0`8F```%H`=&```%``<F```$8`;F```#P`-V```"P`-F```"8`-6``@
M`"``-&```!H`,V```!0`,F````X`,6````@`,&````)3K#S,86PJ`&`2>@I@4
M#GH-8`IZ"6`&>@A@`GH,(`<B!^6!(`5(@$C`*X`8YE*'8`#_.DJ'9Q`@;#S,T
M$!!2K#S,#```)V<*2&P%W&$``<I83WP`4X<@!TJ`:P[AAB`'(@?E@=RU&.9@^
MZB`&3-\`X$Y=3G5.5?_P2.<'`+_L``1E``'$80`!8"P`#(8````P9@1P"&`">
M<`HJ`'X`0JW_\`R&````,&T\#(4````(9@1P-V`"<#F\@&XJ(`<B!4ZZ`9(N+
M`"`&(`8$@````##>@"!L/,P<$$B&2,92K#S,4JW_\&"\4ZP\S$JM__!G!"`')
M8`I(;`7X80`!(%A/3-\`X$Y=3G5.5?_X2.<#`+_L``1E``$T80``T"X`(&P\Y
MS!P02(9(QE*L/,P@!PR`````(6<8#(`````]9B@,A@```#UG!%.L/,QP`&`DY
M#(8````]9@1P`6`84ZP\S%.L/,QP_V`,4ZP\S%.L/,QP_TYQ3-\`P$Y=3G5.N
M5?_X2.<#`+_L``1E``#"85XN`"!L/,P<$$B&2,92K#S,(`<,@````#YG'`R`C
M````/&8H#(8````]9@1P`V`H4ZP\S'`"8"`,A@```#UF!'`%8!13K#S,<`1@T
M#%.L/,Q3K#S,</].<4S?`,!.74YU3E7__DCG`0"_[``$90``4B!L/,P>$%*L7
M/,P,!P`@;@1*!V[L(`=(@$C`3-\`@$Y=3G5.50``O^P`!&4``"0O+0`(2&P&A
M!DZZ`"I03TAX__](;#S03KH`(E!/3EU.=0``3OD``"%L3OD``"'H3OD``"&$<
M3OD```Y(3OD``"'\3OD``""H```#[`````8````````(2@``"$0```A0```(#
M/@``"#@```@R`````````_(```/I````@$Y5__1(YS`@O^P`!&4``=X@;#T,V
M0A`B+`80LJP]%&<&<`$I0`88(BP&$+*M``AL``&B(`'E@")M``P@<0@`%!`,.
M`@`M9@`!C%*($!!*`&<``8(@`>6`('$(`%*($!`,```M9@A2K`808``!:$*M<
M__@O+0`03KH!@EA/)"W_^+2`;```^"`L!A#E@")M``P@<0@`)$C5[`88$A)(G
M@4C!*4$]$"!M`!`4,"@`2()(PK*"9@``P"\Q"`!.N@$^6$^0K`884X`@;0`08
M)"W_^!(P*`$K0/_\#`$`.F9\(BT`"%.!)BP&$+:!9C)*@&8N2JP&%&<:+RP]K
M$"!M``PO$$AL!AQ(;`A$3KH`[$_O`!!2K`80<#\K0/_T8```P$J`9A92K`80;
M(BP&$.6!(&T`#"EP&``]#&`6(@/E@2)M``P@<1@`T>P&&%*(*4@]#%*L!A!R7
M`2E!!AA@%$J`9@Q2K`80<`$I0`888`12K`88*VP]$/_T8&92K?_X8`#^^$JLD
M!A1G&B\L/1`@;0`,+Q!(;`9$2&P(1$ZZ`%Y/[P`0("P&$.6`(&T`#"\P"`!.B
MN@!.6$\B+`88D(%3@$J`9P92K`888`I2K`80<`$I0`88<#\K0/_T8`9P_RM`5
M__0I;`80/10@+?_T3-\$#$Y=3G4``$[Y```A;$[Y```'FD[Y```B.'!A```#)
M[`````,````````!]````?H```'N`````````_(```/I````*4Y5__1(YP,@`
MO^P`!&4``((@+`!H(CP``8:@3KH`@"X!)&T`""!*4HI*$&;X4XI3B@P2`%AFS
M'"`'<@I.N@!@!H$````P%($@!W(*3KH`4"X`8-Q2BGQA0J<O+0`(3KH`.%!/]
M4H!G&`R&````>F8&4JP`:&"<(`84@%*`+`!@V%*L`&@@+0`(3-\$P$Y=3G4`S
M`$[Y```A;$[Y```!V$[Y```@J'!A```#[`````,`````````F````)X```"2.
M`````````_(```/J```"40``````````````````````````````````````U
M`````````````````````````````````````````````````````````````
M````````````````````````9&]S+FQI8G)A<GD`````````#&```!Q@```L]
M9```/&0`````````````````A```````BF`G(PII;F-L=61E`'-I;F-L=61E!
M``!D969I;F4``&1E9FX``&1I=F5R=```97AP<@``979A;```<W5B<W1R``!I)
M9F5L<V4``&EF9&5F`&QE;@!I;F-R``!D96-R``!D;FP`8VAA;F=E<75O=&4`H
M8VAA;F=E8V]M`&EN9&5X`'!A<W1E`'-P87-T90``<&]P9&5F``!P=7-H9&5F7
M`&1U;7!D968`<VAI9G0`=')A;G-L:70``'5N9&5F:6YE``!U;F1I=F5R=```S
M9&EV;G5M``!M86ME=&5M<```97)R<')I;G0``&TT=W)A<```;31E>&ET``!S&
M>7-C;60``'-Y<W9A;```=6YI>```````E`````H```"<````"P```*8````"S
M````K@```"$```"T````%````+P````#````P@````,```#(````!````-``W
M```%````V`````\```#>````!@```.(````.````Z````!,```#N````&P``$
M`/(````'````_@```!T```$(````'@```0X````,```!%`````T```$<````5
M$0```20````0```!+````!P```$T````$@```3H````:```!1`````D```%.(
M````%0```5@````6```!8````!<```%J````&````70````9```!?````"``J
M``&$````"````8P````?```!E`````%T1#I5.F\Z`"]T;7`O;30J6%A86%A8#
M``!M-#H@=6YE>'!E8W1E9"!E;F0@;V8@:6YP=70`;30Z(&UI<W-I;F<@<FEGC
M:'0@<75O=&4`;30Z(&EN=&5R;F%L('-T86-K(&]V97)F;&]W`&TT.B!T;VMEZ
M;B!T;V\@;&]N9P````!M-#H@)7,Z(```8V%N;F]T(&]P96X@9F]R(')E860N#
M`&TT.B`E<SH@``!C86YN;W0@;W!E;B!F;W(@<F5A9"X`)7,@``H`;30Z(&UA>
M:F]R(&)O=&-H(&EN(&5V86PN``!@)7,G"6`E<R<*``````.(;30Z(&YU;&P@:
M9&5F:6YI=&EO;BX``&TT.B!R96-U<G-I=F4@9&5F:6YI=&EO;BX`;30Z(&YU_
M;&P@9&5F:6YI=&EO;@!M-#H@<F5C=7)S:79E(&1E9FEN:71I;VXN`&TT.B!T:
M;V\@;6%N>2!I;F-L=61E(&9I;&5S+@!R`'(`=P!M-#H@8V%N;F]T(&1I=F5RK
M="X```$"`P0%!@<("0H+#`T.#Q`1$A,4%187&!D:&QP='A\@(2(C)"4F)R@I_
M*BLL+2XO,#$R,S0U-C<X.3H[/#T^/T!!0D-$149'2$E*2TQ-3D]045)35%56`
M5UA96EM<75Y?8&%B8V1E9F=H:6IK;&UN;W!Q<G-T=79W>'EZ>WQ]?G\`;30Z^
M(&YO(&UO<F4@;65M;W)Y+@!M-#H@=&]O(&UA;GD@8VAA<F%C=&5R<R!P=7-HY
M960@8F%C:P!M-#H@=&]O(&UA;GD@8VAA<F%C=&5R<R!P=7-H960@8F%C:P!MC
M-#H@<W1R:6YG('-P86-E(&]V97)F;&]W`&TT.B!U;F1I=F5R=#H@9&EV97)SX
M:6]N('-T:6QL(&%C=&EV92X`<@!M-#H@8V%N;F]T('5N9&EV97)T+@``;30ZB
M(&-A;FYO="!U;FQI;FLN```E<PH`"FEN=&5R<G5P=&5D+@````5X57-A9V4Z^
M(&TT(%LM1&YA;65;/79A;%U=(%LM56YA;65="@````!);&PM9F]R;65D(&5XP
M<')E<W-I;VX`0F%D('%U97)Y`$)A9"!F86-T;W(``$EL;&5G86P@8VAA<F%CR
M=&5R(&-O;G-T86YT``!"860@8V]N<W1A;G0``&UP.B`E<PH````````!`````
M`0````$E<SH@8"TE8R<@;W!T:6]N(')E<75I<F5S(&%N(&%R9W5M96YT+@H`C
M)7,Z(%5N<F5C;V=N:7IE9"!O<'1I;VX@8"TE8R<N"@````(``"`@("`@("`@N
M("@H*"@H("`@("`@("`@("`@("`@("`@2!`0$!`0$!`0$!`0$!`0$(2$A(2$T
MA(2$A(00$!`0$!`0@8&!@8&!`0$!`0$!`0$!`0$!`0$!`0$!`0$0$!`0$!""`
M@H*"@H("`@("`@("`@("`@("`@("`@("`A`0$!`@("`@("`@("`@*"@H*"@@:
M("`@("`@("`@("`@("`@("!($!`0$!`0$!`0$!`0$!`0A(2$A(2$A(2$A!`0@
M$!`0$!"!@8&!@8$!`0$!`0$!`0$!`0$!`0$!`0$!`1`0$!`0$(*"@H*"@@(":
M`@("`@("`@("`@("`@("`@("$!`0$"````#__P````X`#@``````````````>
M`"HJ(%-T86-K($]V97)F;&]W("HJ``#__P````0`!`````````>````';$58O
M250``/__````!``$````````!ZH`````:6YT=6ET:6]N+FQI8G)A<GD`````:
M````,#$R,S0U-C<X.6%B8V1E9@````!.24PZ``````T*`````(`````((@```
M````````````````````````````````````````"$0`````````````````,
M`````````````````````````````````````````````````````````````
M`````````````(``8V]N.C$P+S$P+S,R,"\X,"\`*@``````````````````?
M````````````````````````*"HJ(%5S97(@06)O<G0@4F5Q=65S=&5D("HJ9
M``#__P````X`#@````````B@`````/__````!``$``````````````B\0T].L
M5$E.544``/__````!``$````````".0`````04)/4E0`__\````$``0`````U
M```)`@````!I;G1U:71I;VXN;&EB<F%R>0``````````````````````````1
M``0````#[````#,````)```)%```"/H```C@```(R```""(```@````'O```[
M!Z8```>B```%A@```Y0```!X````=````'````!L```"H@```IH```*2```"6
MB@```H(```)Z```"<@```FH```)B```"6@```E(```)*```"0@```CH```(R^
M```"*@```B(```(:```"$@```@H```("```!^@```?(```'J```!X@```=H`G
M``'2```!R@```<(```&Z```!L@```:H```&B```!F@```(P```"&````````*
M`_(```/I````,TCG(`(L>0``"3!,[P`&``Q.KO_B3-]`!$YU```O#BQY```)*
M,"(O``A.KO_<+%].=2\.+'D```DP3J[_Q"Q?3G4O#BQY```),"(O``A.KO^X]
M+%].=4CG(`(L>0``"3!,[P`&``Q.KO^L3-]`!$YU```O#BQY```),"(O``A.E
MKO^F+%].=4CG(`(L>0``"3!,[P`&``Q.KO^:3-]`!$YU```O#BQY```),$ZN[
M_WPL7TYU2.<P`BQY```),$SO``X`$$ZN_R),WT`,3G4``````^P````)````P
M"0```+8```"D````B@```'0```!:````1````#0````@````!@````````/P,
M`````E]%>&5C=71E````L`````)?26]%<G(``````*`````"7T5X86UI;F4`N
M``"$`````E]5;DQO8VL`````<`````)?3&]C:P```````%0````#7T1E;&5TO
M949I;&4`````0`````)?3W5T<'5T`````#`````"7T-L;W-E```````<````Z
5`E]/<&5N``````````````````/RH
``
end
size 24816
SHAR_EOF
if test 34776 -ne "`wc -c m4.uu`"
then
echo shar: error transmitting m4.uu '(should have been 34776 characters)'
fi
#	End of shell archive
exit 0