[comp.lang.pascal] Looking for a PD Pascal Pretty-Print Program

mosemann@hoss.unl.edu (Russell Mosemann) (07/24/90)

   Yes, I'm looking for the quadruple P (PD Pascal Pretty-Print Program).
I would like such a program (preferably written in Pascal! or, I guess, C)
which would pretty-print Pascal programs for students.  That way the
programs will all have the same basic format when they are handed in.  It
sure makes them a lot easier to read.  Send any information my way.
Thanks!

Russell
mosemann@hoss.unl.edu

davidr@hplsla.HP.COM (David M. Reed) (07/25/90)

One thing this program lacks that I would like, but have not taken the time
to add, is to "fix" indentation.  (This program only adjusts the CASE of
words and the space between words to make it easier to read.)


#---------------------------------- cut here ----------------------------------
# This is a shell archive.  Remove anything before this line,
# then unpack it by saving it in a file and typing "sh file".
#
# Wrapped by David Reed <davidr@hplsna> on Wed Jun 20 11:25:01 1990
#
# This archive contains:
#	pformat.doc	pformat.pas	
#
# Error checking via wc(1) will be performed.
# Error checking via sum(1) will be performed.

LANG=""; export LANG
PATH=/bin:/usr/bin:$PATH; export PATH

if sum -r </dev/null >/dev/null 2>&1
then
	sumopt='-r'
else
	sumopt=''
fi

echo x - pformat.doc
cat >pformat.doc <<'@EOF'

                                   p F O R M A T
                                   ~~~~~~~~~~~~~
                                      rel 1.01                             
                                  16 November 1984

          ________________________________________________________________
                           Author:  Andy Decepida PC1171              
          ----------------------------------------------------------------

          Function  :  pFORMAT  reads in an ASCII text  file,  assumed  to 
                       contain   a  syntactically  correct  Turbo   Pascal 
                       program   (source),   and  generates  a  copy  with 
                       alterations  in  the  case  of  the  letters   that 
                       comprise both the contained reserved words and non-
                       reserved words as per the user's choice.

                       pFORMAT  will  NOT  (as  of  this  release)  indent 
                       logical and physical blocks in a proper hierarchy.  

           Added by David M. Reed:
                       pFORMAT will add  white space to make the text more 
                       readable (like written English).  Example:
                            junk:=SIN(last)*first-(first/last);
                       becomes
                            junk := SIN (last) * first - (first / last);
                       I  also  added ability  to  specify the  input  and
                       output  filenames on the command line as parameters.

          NOTE: pFORMAT will not change text within quotes or comments.


          The  user is proffered several choices for the formatting of the 
          output file.  These are outlined below. 

              Options available for PASCAL reserved words (including Turbo 
              Intrinsics and extensions:

                  o   UPPER-CASE/Capitalize all reserved words;
                  o   LOWER-CASE all reserved words; or,
                  o   Keep  the reserved words in an AS-IS (read from  the 
                      original file) state.


              Options available for Turbo Pascal intrinsics and extensions 
              to Pascal:

                  o   UPPER-CASE/Capitalize all intrinsics & extensions;
                  o   LOWER-CASE all intrinsics and extensions;
                  o   Keep  the  intrinsics  and extensions  in  an  AS-IS 
                      state; or,
                  o   Use   the  BORLAND  manual  type  setting   of   the 
                      intrinsics and extensions (e.g., "TextColor" instead 
                      or "textcolor" or "TEXTCOLOR").


              Options  available for user-defined  identifiers  (excluding 
              text  enclosed in the string delimiter [the apostrophe]  and 
              text    enclosed   in   comment   delimiters   [either   the 
              opening/closing    brace   or    the    parentheses-asterisk 
              combination]):

                  o   UPPER-CASE;
                  o   LOWER-CASE; or
                  o   AS-IS.


          REMARKS:   This is a slow program, don't expect too much from it 
          in terms of speed.   However,  for what it will do for you it is 
          suitable.  

                     pFORMAT  was originally written by the author in UCSD 
          Pascal for the IBM implementation of the p-SYSTEM.  For those of 
          you who know what that means, this is an improvement in speed as 
          it is.  When & if the author manages to familiarize himself with 
          BLOCKREAD & BLOCKWRITE, we'll talk more speed then.  

                     pFORMAT  can  handle strings  and  comments  properly 
          (that  is,  the  program will leave them as  is!).   Single- and 
          multi-line comments are both accomodated.   Hint,  hint...if you 
          wish a portion of your code to be untouched by pFORMAT (say  you 
          want  to visually isolate/highlight some lines) comment them out 
          prior to submission to this program.

                     "pFORMAT" stands for p(retty)-FORMAT(ter.

                     Finally,  pFORMAT is being released by the author  to 
          the  public  domain  via  PCCanada  and  other  BBS's.    It  is 
          requested  by  the author that the ethics that have  applied  to 
          other  public domain  programs/utilities be applied to  pFORMAT.  
          Failing that, be guided by your conscience.

                                 andy j s decepida
                                    16 Nov 1984 
@EOF
set `sum $sumopt <pformat.doc`; if test $1 -ne 49531
then
	echo ERROR: pformat.doc checksum is $1 should be 49531
fi
set `wc -lwc <pformat.doc`
if test $1$2$3 != 944714594
then
	echo ERROR: wc results of pformat.doc are $* should be 94 471 4594
fi

chmod 644 pformat.doc


rm -f /tmp/uud$$
(echo "begin 777 /tmp/uud$$\n \nend" | uudecode) >/dev/null 2>&1
if [ -f /tmp/uud$$ ]
then
	rm -f /tmp/uud$$
	unpacker=uudecode
else
	echo Compiling unpacker for non-ascii files
	pwd=`pwd`; cd /tmp
	cat >unpack$$.c <<-'EOF'
	#include <stdio.h>
	#define DEC(c)	(((c) - ' ') & 077)
	main()
	{
		int n;
		char dest[128], a,b,c,d;

		scanf("begin %o ", &n);
		gets(dest);

		if (freopen(dest, "w", stdout) == NULL) {
			perror(dest);
			exit(1);
		}

		while ((n=getchar()) != EOF && (n=DEC(n))!=0)  {
			while (n>0) {
				a = DEC(getchar());
				b = DEC(getchar());
				c = DEC(getchar());
				d = DEC(getchar());
				if (n-- > 0) putchar(a << 2 | b >> 4);
				if (n-- > 0) putchar(b << 4 | c >> 2);
				if (n-- > 0) putchar(c << 6 | d);
			}
			n=getchar();
		}
		exit(0);
	}
	EOF
	cc -o unpack$$ unpack$$.c
	rm unpack$$.c
	cd $pwd
	unpacker=/tmp/unpack$$
fi

echo x - pformat.pas '[non-ascii]'
$unpacker <<'@eof'
begin 644 pformat.pas
M4%)/1U)!32!P9F]R;6%T("A)3E!55"P@3U544%54*3L*"GLD0RU]"@I["B @
M05542$]2.B @86YD>2!J(',@9&5C97!I9&$*(" @(" @(" @(" Q-B!.;W8@
M,3DX- H*("!$15-#4DE05$E/3CH@4F5A9',@:6X@82 N4$%3('1E>'0@9FEL
M92!A;F0L(&1E<&5N9&EN9R!O;B!T:&4@=7-E<B=S"B @(" @(" @(" @(" @
M(&-H;VEC92]S+"!G96YE<F%T97,@82!C;W!Y('=I=&@@86QT97)A=&EO;G,@
M:6X@=&AE(&-A<V4@;V8*(" @(" @(" @(" @(" @=&AE(&-O;G1A:6YE9"!T
M97AT+@H*("!-3T1)1DE#051)3TXZ"B @(" @,CD@36%Y(#$Y.#8@($%D9&5D
M('-P86-I;F<@9F5A='5R92X@($-H86YG960@9&5F875L=',@=&\@4&%S8V%L
M(&EN"B @(" @(" @(" @(" @(" @('5P<&5R+6-A<V4L(%1U<F)O(&5X=&5N
M<VEO;G,@:6X@0F]R;&%N9%-T>6QE+"!A;F0@=7-E<@H@(" @(" @(" @(" @
M(" @("!D96-L87)A=&EO;G,@:6X@;&]W97(M8V%S92X@($%D9&5D('!A<F%M
M971E<B!L:6YE(&5N=')Y"B @(" @(" @(" @(" @(" @(&]F(&9I;&5N86UE
M<RX@("U$879I9"!-+B!2965D"GT*"D-/3E-4"B @87)R87E?<VEZ92 @/2 Q
M-SD["B @<W!A8V4@(" @(" @/2 G("<["B @8F5L;" @(" @(" @/2 C-SL*
M"@I465!%"B @86YS=V5R7W-E=" @/2 @4T54($]&($-(05(["@H@(&-U<G-O
M<E]S:7IE(#T@("AF=6QL+"!H86QF+"!M:6YI;75M+"!I;G9I<VEB;&4I.PH*
M("!G;&]B86Q?<W1R9R ]("!35%))3D<@6S$S,ET["@H@(&-A<V5?='EP97,@
M(#T@("AU<'!E<BP*(" @(" @(" @(" @(" @("!L;W=E<BP*(" @(" @(" @
M(" @(" @("!A<VES*3L*"E9!4@H@(&EO7W1E;7!L871E+ H@('=O<FM?=&5M
M<&QA=&4L"B @<')O8U]L86)E;"P*("!M87-K+ H@('1E;7 L"B @=&5M<%]S
M=')I;F<L"B @:6Y?9FEL95]N86UE+ H@(&]U=%]F:6QE7VYA;64@.B!G;&]B
M86Q?<W1R9SL*"B @=&5X=%]F:6QE+ H@('!R971T>5]O=71P=70@.B!415A4
M.PH*("!T;VME;B @(" @(" @(#H@05)205D@6S$N+F%R<F%Y7W-I>F5=($]&
M(%-44DE.1R!;,C!=.PH*("!R97-?8V%S92P*("!N;VY?<F5S7V-A<V4@(#H@
M8V%S95]T>7!E<SL*"B @<W1R="P*("!E;F1D+ H@(&EN9'@L"B @=&]K96Y?
M;&]C;BP*("!L96XL"B @8VYT(" @(" @(" @(" Z($E.5$5'15(["@H@(&-D
M7V-H87(L"B @<')I;W(L"B @;F5X=" @(" @(" @(" Z($-(05(["@H@(&)O
M<FQA;F1?8V]N=F5N=&EO;BP*("!I;G1E<G)U<'1A8FQE+ H@(&-O;6UE;G1?
M86-T:79E+ H@(&]K(" @(" @(" @(" @.B!"3T],14%..PH*>RHJ*BHJ*BHJ
M*BHJ*BHJ*BHJ*BHJ*BHJ*BHJ*BHJ*BHJ*BHJ*BHJ*BHJ*BHJ*BHJ*BHJ*BHJ
M*BHJ*BHJ*BHJ*BHJ*BHJ*BHJ*BHJ*BHJ?0H*("!04D]#14154D4@:6YI=%]A
M<G)A>3L*("!["B @("!I;FET:6%L:7IE('1H92!R97-E<G9E9"!W;W)D(&%R
M<F%Y"@H@(%=A<FYI;F<Z(&)E8V%U<V4@=&AE('!R:6UI=&EV92!P87)S:6YG
M(&UE=&AO9"!E;7!L;WEE9"!H97)E(&-E;G1R960*("!C<G5C:6%L;'D@;VX@
M=&AI<R!A<G)A>2!I="!I<R!.3U0@<F5C;VUM96YD960@=&AA="!Y;W4@86QT
M97(@=&AE"B @8V]N=&5N=',@86YD('-E<75E;F-E(&]F('1H92!E;G1R:65S
M+B @37D@87!O;&]G:65S(&YO;B!-4RU$3U,@=7-E<G,*("!F;W(@;F]T(&EN
M8VQU9&EN9R!T:&4@<F5S97)V960@=V]R9',@=&AA="!T:&5I<B!4=7)B;U!A
M<V-A;"!E9&ET:6]N<R!D;PH@('-U<'!O<G0N("!3:&]U;&0@>6]U+"!A<R!S
M87D@87,@0U O32!4=7)B;R!P<F]G<F%M;65R+"!W:7-H('1O(&%L=&5R"B @
M=&AI<R!T86)L92!K965P(&EN(&UI;F0@='=O('1H:6YG<SH*"@H@(/X@1&]?
M5'5R8F]?17AT96YS:6]N('5S97,@=&AE(&EN9&5X("A)3D18*2!C;W)R97-P
M;VYD:6YG('1O('1H92!T86)L90H@(" @96YT<GD@;V8@82!F;W5N9"!R97-E
M<G9E9"!W;W)D('1O(&%S<VEG;B!T:&4@0F]R;&%N9"!T>7!E('-E='1I;F<@
M<W1Y;&4*(" @('1O('1H92!O=71P=70@<W5B<W1R:6YG("XN+B!E<F=O+"!K
M965P('1H92!N97<@87)R87D@:6YD:6-E<R!I;B!S>6YC: H@(" @=VET:"!T
M:&4@0T%312!S96QE8W1O<G,@:6X@1&]?5'5R8F]?17AT96YS:6]N+@H*("#^
M(%-I;F-E('!&3U)-050@<V5Q=65N=&EA;&QY('-T97!S('1H<F]U9V@@=&AI
M<R!A<G)A>2!T;R!F:6YD(&$@8V]R<F5S<&]N9&EN9PH@(" @<&%T=&5R;B!O
M8V-U<G)E;F-E<R!I;B!T:&4@=&5X="!L:6YE(&-U<G)E;G1L>2!B96EN9R!P
M<F]C97-S960L(&ET"B @("!B96-O;65S(&EM<&]R=&%N="!T;R!K965P('1H
M92!S:&]R=&5R(')E<V5R=F5D('=O<F1S('1H870@87)E(&5M8F5D9&5D(&EN
M"B @("!O=&AE<BP@;&]N9V5R(')E<V5R=F5D('=O<F1S(&%S('-U8G-T<FEN
M9W,@=&]W87)D<R!T:&4@8F]T=&]M(&]F('1H90H@(" @87)R87DA"GT*("!"
M14=)3B![26YI=%]!<G)A>7T*(" @('1O:V5N(%L@(#%=(#H]("=!0E-/3%54
M12<["B @("!T;VME;B!;(" R72 Z/2 G05)#5$%.)SL*(" @('1O:V5N(%L@
M(#-=(#H]("=!4U-)1TXG.PH@(" @=&]K96X@6R @-%T@.CT@)T%56$E.4%12
M)SL*(" @('1O:V5N(%L@(#5=(#H]("=!55A/55105%(G.PH@(" @=&]K96X@
M6R @-ET@.CT@)T),3T-+4D5!1"<["B @("!T;VME;B!;(" W72 Z/2 G0DQ/
M0TM74DE412<["B @("!T;VME;B!;(" X72 Z/2 G0D]/3$5!3B<["B @("!T
M;VME;B!;(" Y72 Z/2 G0E5&3$5.)SL*(" @('1O:V5N(%L@,3!=(#H]("=#
M3%)%3TPG.PH@(" @=&]K96X@6R Q,5T@.CT@)T-,4E-#4B<["B @("!T;VME
M;B!;(#$R72 Z/2 G0T].0T%4)SL*(" @('1O:V5N(%L@,3-=(#H]("=#3TY)
M3E!44B<["B @("!T;VME;B!;(#$T72 Z/2 G0T].3U544%12)SL*(" @('1O
M:V5N(%L@,35=(#H]("=#3TY35%!44B<["B @("!T;VME;B!;(#$V72 Z/2 G
M0U)415A)5"<["B @("!T;VME;B!;(#$W72 Z/2 G0U)424Y)5"<["B @("!T
M;VME;B!;(#$X72 Z/2 G1$5,151%)SL*(" @('1O:V5N(%L@,3E=(#H]("=$
M14Q,24Y%)SL*(" @('1O:V5N(%L@,C!=(#H]("=$3U=.5$\G.PH@(" @=&]K
M96X@6R R,5T@.CT@)T5814-55$4G.PH@(" @=&]K96X@6R R,ET@.CT@)T58
M5$523D%,)SL*(" @('1O:V5N(%L@,C-=(#H]("=&24Q%4$]3)SL*(" @('1O
M:V5N(%L@,C1=(#H]("=&24Q%4TE:12<["B @("!T;VME;B!;(#(U72 Z/2 G
M1DE,3$-(05(G.PH@(" @=&]K96X@6R R-ET@.CT@)T9/4E=!4D0G.PH@(" @
M=&]K96X@6R R-UT@.CT@)T92145-14TG.PH@(" @=&]K96X@6R R.%T@.CT@
M)T953D-424].)SL*(" @('1O:V5N(%L@,CE=(#H]("='151-14TG.PH@(" @
M=&]K96X@6R S,%T@.CT@)T=/5$]862<["B @("!T;VME;B!;(#,Q72 Z/2 G
M1U)!4$A"04-+1U)/54Y$)SL*(" @('1O:V5N(%L@,S)=(#H]("='4D%02$-/
M3$]234]$12<["B @("!T;VME;B!;(#,S72 Z/2 G1U)!4$A-3T1%)SL*(" @
M('1O:V5N(%L@,S1=(#H]("='4D%02%=)3D1/5R<["B @("!T;VME;B!;(#,U
M72 Z/2 G2$5!4%-44B<["B @("!T;VME;B!;(#,V72 Z/2 G2$E215-#3TQ/
M4B<["B @("!T;VME;B!;(#,W72 Z/2 G24Y,24Y%)SL*(" @('1O:V5N(%L@
M,SA=(#H]("=)3E-%4E0G.PH@(" @=&]K96X@6R S.5T@.CT@)TE.4TQ)3D4G
M.PH@(" @=&]K96X@6R T,%T@.CT@)TE.5$5'15(G.PH@(" @=&]K96X@6R T
M,5T@.CT@)TE/4D5354Q4)SL*(" @('1O:V5N(%L@-#)=(#H]("=+15E04D53
M4T5$)SL*(" @('1O:V5N(%L@-#-=(#H]("=,14Y'5$@G.PH@(" @=&]K96X@
M6R T-%T@.CT@)TQ/3D=&24Q%4$]3)SL*(" @('1O:V5N(%L@-#5=(#H]("=,
M3TY'1DE,15-)6D4G.PH@(" @=&]K96X@6R T-ET@.CT@)TQ/3D=3145+)SL*
M(" @('1O:V5N(%L@-#==(#H]("=,3U=6241%3R<["B @("!T;VME;B!;(#0X
M72 Z/2 G3%-43U544%12)SL*(" @('1O:V5N(%L@-#E=(#H]("=-05A!5D%)
M3"<["B @("!T;VME;B!;(#4P72 Z/2 G34%824Y4)SL*(" @('1O:V5N(%L@
M-3%=(#H]("=-14U!5D%)3"<["B @("!T;VME;B!;(#4R72 Z/2 G3D]2359)
M1$5/)SL*(" @('1O:V5N(%L@-3-=(#H]("=.3U-/54Y$)SL*(" @('1O:V5N
M(%L@-31=(#H]("=/5510550G.PH@(" @=&]K96X@6R U-5T@.CT@)U!!0TM%
M1"<["B @("!T;VME;B!;(#4V72 Z/2 G4$%,151412<["B @("!T;VME;B!;
M(#4W72 Z/2 G4%)/0T5$55)%)SL*(" @('1O:V5N(%L@-3A=(#H]("=04D]'
M4D%-)SL*(" @('1O:V5N(%L@-3E=(#H]("=204Y$3TU)6D4G.PH@(" @=&]K
M96X@6R V,%T@.CT@)U)!3D1/32<["B @("!T;VME;B!;(#8Q72 Z/2 G4D5!
M1$Q.)SL*(" @('1O:V5N(%L@-C)=(#H]("=214-/4D0G.PH@(" @=&]K96X@
M6R V,UT@.CT@)U)%3$5!4T4G.PH@(" @=&]K96X@6R V-%T@.CT@)U)%3D%-
M12<["B @("!T;VME;B!;(#8U72 Z/2 G4D5014%4)SL*(" @('1O:V5N(%L@
M-C9=(#H]("=215=2251%)SL*(" @('1O:V5N(%L@-C==(#H]("=325I%3T8G
M.PH@(" @=&]K96X@6R V.%T@.CT@)U-44DE.1R<["B @("!T;VME;B!;(#8Y
M72 Z/2 G5$585$)!0TM'4D]53D0G.PH@(" @=&]K96X@6R W,%T@.CT@)U1%
M6%1#3TQ/4B<["B @("!T;VME;B!;(#<Q72 Z/2 G5$585$U/1$4G.PH@(" @
M=&]K96X@6R W,ET@.CT@)U500T%312<["B @("!T;VME;B!;(#<S72 Z/2 G
M55-224Y05%(G.PH@(" @=&]K96X@6R W-%T@.CT@)U534D]55%!44B<["B @
M("!T;VME;B!;(#<U72 Z/2 G5TA%4D58)SL*(" @('1O:V5N(%L@-S9=(#H]
M("=72$5215DG.PH@(" @=&]K96X@6R W-UT@.CT@)U=)3D1/5R<["B @("!T
M;VME;B!;(#<X72 Z/2 G5U))5$5,3B<["B @("!T;VME;B!;(#<Y72 Z/2 G
M05)205DG.PH@(" @=&]K96X@6R X,%T@.CT@)T)%1TE.)SL*(" @('1O:V5N
M(%L@.#%=(#H]("=#2$%)3B<["B @("!T;VME;B!;(#@R72 Z/2 G0TQ/4T4G
M.PH@(" @=&]K96X@6R X,UT@.CT@)T-/3E-4)SL*(" @('1O:V5N(%L@.#1=
M(#H]("=$14Q!62<["B @("!T;VME;B!;(#@U72 Z/2 G15)!4T4G.PH@(" @
M=&]K96X@6R X-ET@.CT@)T9!3%-%)SL*(" @('1O:V5N(%L@.#==(#H]("=&
M3%532"<["B @("!T;VME;B!;(#@X72 Z/2 G2$E215,G.PH@(" @=&]K96X@
M6R X.5T@.CT@)TE.4%54)SL*(" @('1O:V5N(%L@.3!=(#H]("=,04)%3"<[
M"B @("!T;VME;B!;(#DQ72 Z/2 G35-$3U,G.PH@(" @=&]K96X@6R Y,ET@
M.CT@)U!/4E17)SL*(" @('1O:V5N(%L@.3-=(#H]("=215-%5"<["B @("!T
M;VME;B!;(#DT72 Z/2 G4D]53D0G.PH@(" @=&]K96X@6R Y-5T@.CT@)U-/
M54Y$)SL*(" @('1O:V5N(%L@.39=(#H]("=44E5.0R<["B @("!T;VME;B!;
M(#DW72 Z/2 G54Y424PG.PH@(" @=&]K96X@6R Y.%T@.CT@)U=(24Q%)SL*
M(" @('1O:V5N(%L@.3E=(#H]("=74DE412<["B @("!T;VME;B!;,3 P72 Z
M/2 G041$4B<["B @("!T;VME;B!;,3 Q72 Z/2 G0EE412<["B @("!T;VME
M;B!;,3 R72 Z/2 G0T%312<["B @("!T;VME;B!;,3 S72 Z/2 G0TA!4B<[
M"B @("!T;VME;B!;,3 T72 Z/2 G0T]062<["B @("!T;VME;B!;,3 U72 Z
M/2 G0U-%1R<["B @("!T;VME;B!;,3 V72 Z/2 G1%)!5R<["B @("!T;VME
M;B!;,3 W72 Z/2 G1%-%1R<["B @("!T;VME;B!;,3 X72 Z/2 G14Q312<[
M"B @("!T;VME;B!;,3 Y72 Z/2 G14],3B<["B @("!T;VME;B!;,3$P72 Z
M/2 G1DE,12<["B @("!T;VME;B!;,3$Q72 Z/2 G1E)!0R<["B @("!T;VME
M;B!;,3$R72 Z/2 G1T]43R<["B @("!T;VME;B!;,3$S72 Z/2 G2$%,5"<[
M"B @("!T;VME;B!;,3$T72 Z/2 G24Y44B<["B @("!T;VME;B!;,3$U72 Z
M/2 G34%22R<["B @("!T;VME;B!;,3$V72 Z/2 G345-5R<["B @("!T;VME
M;B!;,3$W72 Z/2 G34]612<["B @("!T;VME;B!;,3$X72 Z/2 G4$Q/5"<[
M"B @("!T;VME;B!;,3$Y72 Z/2 G4$]25"<["B @("!T;VME;B!;,3(P72 Z
M/2 G4%)%1"<["B @("!T;VME;B!;,3(Q72 Z/2 G4D5!1"<["B @("!T;VME
M;B!;,3(R72 Z/2 G4D5!3"<["B @("!T;VME;B!;,3(S72 Z/2 G4T5%2R<[
M"B @("!T;VME;B!;,3(T72 Z/2 G4U%25"<["B @("!T;VME;B!;,3(U72 Z
M/2 G4U-%1R<["B @("!T;VME;B!;,3(V72 Z/2 G4U5#0R<["B @("!T;VME
M;B!;,3(W72 Z/2 G4U=!4"<["B @("!T;VME;B!;,3(X72 Z/2 G5$585"<[
M"B @("!T;VME;B!;,3(Y72 Z/2 G5$A%3B<["B @("!T;VME;B!;,3,P72 Z
M/2 G5%)512<["B @("!T;VME;B!;,3,Q72 Z/2 G5%E012<["B @("!T;VME
M;B!;,3,R72 Z/2 G5TE42"<["B @("!T;VME;B!;,3,S72 Z/2 G04Y$)SL*
M(" @('1O:V5N(%LQ,S1=(#H]("=!55@G.PH@(" @=&]K96X@6S$S-5T@.CT@
M)T-(4B<["B @("!T;VME;B!;,3,V72 Z/2 G0T].)SL*(" @('1O:V5N(%LQ
M,S==(#H]("=#3U,G.PH@(" @=&]K96X@6S$S.%T@.CT@)T1)5B<["B @("!T
M;VME;B!;,3,Y72 Z/2 G14Y$)SL*(" @('1O:V5N(%LQ-#!=(#H]("=%3T8G
M.PH@(" @=&]K96X@6S$T,5T@.CT@)T584"<["B @("!T;VME;B!;,30R72 Z
M/2 G1D]2)SL*(" @('1O:V5N(%LQ-#-=(#H]("=)3E0G.PH@(" @=&]K96X@
M6S$T-%T@.CT@)TM"1"<["B @("!T;VME;B!;,30U72 Z/2 G3%-4)SL*(" @
M('1O:V5N(%LQ-#9=(#H]("=-14TG.PH@(" @=&]K96X@6S$T-UT@.CT@)TU/
M1"<["B @("!T;VME;B!;,30X72 Z/2 G3D57)SL*(" @('1O:V5N(%LQ-#E=
M(#H]("=.24PG.PH@(" @=&]K96X@6S$U,%T@.CT@)TY/5"<["B @("!T;VME
M;B!;,34Q72 Z/2 G3T1$)SL*(" @('1O:V5N(%LQ-3)=(#H]("=/1E,G.PH@
M(" @=&]K96X@6S$U,UT@.CT@)T]21"<["B @("!T;VME;B!;,34T72 Z/2 G
M4$]3)SL*(" @('1O:V5N(%LQ-35=(#H]("=05%(G.PH@(" @=&]K96X@6S$U
M-ET@.CT@)U-%1R<["B @("!T;VME;B!;,34W72 Z/2 G4T54)SL*(" @('1O
M:V5N(%LQ-3A=(#H]("=32$PG.PH@(" @=&]K96X@6S$U.5T@.CT@)U-(4B<[
M"B @("!T;VME;B!;,38P72 Z/2 G4TE.)SL*(" @('1O:V5N(%LQ-C%=(#H]
M("=345(G.PH@(" @=&]K96X@6S$V,ET@.CT@)U-44B<["B @("!T;VME;B!;
M,38S72 Z/2 G5%)-)SL*(" @('1O:V5N(%LQ-C1=(#H]("=54U(G.PH@(" @
M=&]K96X@6S$V-5T@.CT@)U9!3"<["B @("!T;VME;B!;,38V72 Z/2 G5D%2
M)SL*(" @('1O:V5N(%LQ-C==(#H]("=83U(G.PH@(" @=&]K96X@6S$V.%T@
M.CT@)T1/)SL*(" @('1O:V5N(%LQ-CE=(#H]("=(22<["B @("!T;VME;B!;
M,3<P72 Z/2 G248G.PH@(" @=&]K96X@6S$W,5T@.CT@)TE.)SL*(" @('1O
M:V5N(%LQ-S)=(#H]("=,3B<["B @("!T;VME;B!;,3<S72 Z/2 G3$\G.PH@
M(" @=&]K96X@6S$W-%T@.CT@)T]&)SL*(" @('1O:V5N(%LQ-S5=(#H]("=/
M4B<["B @("!T;VME;B!;,3<V72 Z/2 G4$DG.PH@(" @=&]K96X@6S$W-UT@
M.CT@)U1/)SL*(" @('1O:V5N(%LQ-SA=(#H]("=/5D523$%9)SL*(" @('1O
M:V5N(%LQ-SE=(#H]("=%6$E4)SL*("!%3D0[("![26YI=%]!<G)A>7T*"GLJ
M*BHJ*BHJ*BHJ*BHJ*BHJ*BHJ*BHJ*BHJ*BHJ*BHJ*BHJ*BHJ*BHJ*BHJ*BHJ
M*BHJ*BHJ*BHJ*BHJ*BHJ*BHJ*BHJ*BHJ*BHJ*BHJ*GT*"B @4%)/0T5$55)%
M('-E=%]C=7)S;W(@*'-I>F4@.B!C=7)S;W)?<VEZ92D["B @>PH@(" @8W5R
M<V]R(&ES('-E="!A8V-O<F1I;F<@=&\@=&AE('!A<W-E9"!3:7IE("XN+B!)
M0DTM4$,@<W!E8VEF:6,A"B @?0H*("!465!%"B @("!R96=?<&%C:R @(" ]
M("!214-/4D0*(" @(" @(" @(" @(" @(" @("!A>"P@8G@L(&-X+"!D>"P@
M8G L('-I+"!D:2P@97,L(&9L86=S(#H@24Y414=%4CL*(" @($5.1#L@>V]F
M(%)E9U]086-K?0H*("!605(*(" @(')E8U]P86-K(" @(#H@(')E9U]P86-K
M.PH*("!"14=)3@H@(" @<F5C7W!A8VLN87@@.CT@)# Q,# [(" @("![<V5T
M(&-U<G-O<B!T>7!E('-E<G9I8V4@8V]D92 N+BX@8V8@02TT-R!O9@H@(" @
M(" @(" @(" @(" @(" @(" @(" @(" @("!(87)D=V%R92!496-H;FEC86P@
M4F5F97)E;F-E($UA;G5A;'T*(" @($-!4T4@<VEZ92!/1@H@(" @("!F=6QL
M(" @(" Z(')E8U]P86-K+F-X(#H]("0P,#!D.PH@(" @("!H86QF(" @(" Z
M(')E8U]P86-K+F-X(#H]("0P-S!C.PH@(" @("!M:6YI;75M(" Z(')E8U]P
M86-K+F-X(#H]("0P8C!C.PH@(" @("!I;G9I<VEB;&4@.B!R96-?<&%C:RYC
M>" Z/2 D,C P,#L*(" @($5.1#L@>T-!4T4@4VEZ92!/1GT*"B @("!);G1R
M("@D,3 L(')E8U]P86-K*2 @(" @('MC86QL('9I9&5O($DO3R!23TT@8V%L
M;'T*("!%3D0["@I[*BHJ*BHJ*BHJ*BHJ*BHJ*BHJ*BHJ*BHJ*BHJ*BHJ*BHJ
M*BHJ*BHJ*BHJ*BHJ*BHJ*BHJ*BHJ*BHJ*BHJ*BHJ*BHJ*BHJ*BHJ*BHJ*BI]
M"@H@($953D-424].(&ES7W-P96-I86Q?8VAA<B H8V@@.B!#2$%2*2 Z($)/
M3TQ%04X["B @>PH@(" @5%)512!I9B!#:"!I<R!A('-P96-I86P@8VAA<@H@
M('T*"B @0D5'24X*(" @(&ES7W-P96-I86Q?8VAA<B Z/2 H3U)$("AC:"D@
M24X@6S,R+" S.2XN-#<L(#4X+BXV,BP@.3$L(#DS+" Q,C,L(#$R-5T@*0H@
M($5.1#L*"GLJ*BHJ*BHJ*BHJ*BHJ*BHJ*BHJ*BHJ*BHJ*BHJ*BHJ*BHJ*BHJ
M*BHJ*BHJ*BHJ*BHJ*BHJ*BHJ*BHJ*BHJ*BHJ*BHJ*BHJ*BHJ*BHJ*GT*"B @
M1E5.0U1)3TX@;&]?8V%S92 H8V@@.B!#2$%2*2 Z($-(05(["B @>PH@(" @
M<F5T=7)N<R!L;W=E<B!C87-E(&]F(&%N(&%L<&AA(&-H87(*("!]"@H@($)%
M1TE."B @("!)1B H8V@@24X@6R=!)RXN)UHG72 I(%1(14X*(" @(" @8V@@
M.CT@0TA2("A/4D0@*&-H*2 M($]21" H)T$G*2 K($]21" H)V$G*2 I.PH@
M(" @;&]?8V%S92 Z/2!C: H@($5.1#L*"GLJ*BHJ*BHJ*BHJ*BHJ*BHJ*BHJ
M*BHJ*BHJ*BHJ*BHJ*BHJ*BHJ*BHJ*BHJ*BHJ*BHJ*BHJ*BHJ*BHJ*BHJ*BHJ
M*BHJ*BHJ*BHJ*BHJ*GT*"B @4%)/0T5$55)%('5P7W-T<F<@*%9!4B!S=')G
M(#H@9VQO8F%L7W-T<F<I.PH*("!605(*(" @('-L;W0@.B!)3E1%1T52.PH*
M("!"14=)3@H@(" @248@*$Q%3D=42" H<W1R9RD@/B P*2!42$5."B @(" @
M($9/4B!S;&]T(#H](#$@5$\@3$5.1U1(("AS=')G*2!$3PH@(" @(" @('-T
M<F<@6W-L;W1=(#H](%5P0V%S92 H<W1R9R!;<VQO=%T@*0H@($5.1#L*"GLJ
M*BHJ*BHJ*BHJ*BHJ*BHJ*BHJ*BHJ*BHJ*BHJ*BHJ*BHJ*BHJ*BHJ*BHJ*BHJ
M*BHJ*BHJ*BHJ*BHJ*BHJ*BHJ*BHJ*BHJ*BHJ*BHJ*GT*"B @4%)/0T5$55)%
M(&QO7W-T<F<@*%9!4B!S=')G(#H@9VQO8F%L7W-T<F<I.PH*("!605(*(" @
M('-L;W0@.B!)3E1%1T52.PH*("!"14=)3@H@(" @248@*$Q%3D=42" H<W1R
M9RD@/B P*2!42$5."B @(" @($9/4B!S;&]T(#H](#$@5$\@3$5.1U1(("AS
M=')G*2!$3PH@(" @(" @('-T<F<@6W-L;W1=(#H](&QO7V-A<V4@*'-T<F<@
M6W-L;W1=("D*("!%3D0["@I[*BHJ*BHJ*BHJ*BHJ*BHJ*BHJ*BHJ*BHJ*BHJ
M*BHJ*BHJ*BHJ*BHJ*BHJ*BHJ*BHJ*BHJ*BHJ*BHJ*BHJ*BHJ*BHJ*BHJ*BHJ
M*BHJ*BI]"@H@($953D-424].(&=E=%]C:&%R("AL96=A;%]C;VUM86YD<R Z
M(&%N<W=E<E]S970I(#H@0TA!4CL*("!["B @("!W86ET<R!F;W(@82!#2$%2
M(&EN<'5T(&)E;&]N9VEN9R!I;B!,96=A;%]#;VUM86YD<PH@('T*"B @0T].
M4U0*(" @(&)K<R ](#@["@H@(%9!4@H@(" @8VA?:6X@.B!#2$%2.PH*("!"
M14=)3@H@(" @5U))5$4@*"=;(%TG*3L*(" @(%=2251%("A#2%(@*&)K<RDL
M($-(4B H8FMS*2P@)R G+$-(4B H8FMS*2 I.PH@(" @4D5014%4"B @(" @
M('-E=%]C=7)S;W(@*&9U;&PI.PH@(" @("!214%$("A+8F0L(&-H7VEN*3L*
M(" @(" @8VA?:6X@.CT@57!#87-E("AC:%]I;BD["B @(" @($E&($Y/5" H
M8VA?:6X@24X@;&5G86Q?8V]M;6%N9',I(%1(14X@0D5'24X*(" @(" @("!3
M;W5N9" H.#DP,"D["B @(" @(" @1&5L87D@*#$P*3L*(" @(" @("!.;U-O
M=6YD.PH@(" @(" @(%-O=6YD("@Y,"D["B @(" @(" @1&5L87D@*#,P*3L*
M(" @(" @("!.;U-O=6YD.PH@(" @("!%3D0["B @("!53E1)3" H8VA?:6X@
M24X@;&5G86Q?8V]M;6%N9',I.PH@(" @<V5T7V-U<G-O<B H;6EN:6UU;2D[
M"B @("!G971?8VAA<B Z/2!C:%]I;CL*("!%3D0["@I[*BHJ*BHJ*BHJ*BHJ
M*BHJ*BHJ*BHJ*BHJ*BHJ*BHJ*BHJ*BHJ*BHJ*BHJ*BHJ*BHJ*BHJ*BHJ*BHJ
M*BHJ*BHJ*BHJ*BHJ*BHJ*BHJ*BI]"@H@($953D-424].('5S97)?<V%Y<U]Y
M97,@.B!"3T],14%..PH@('L*(" @('=A:71S(&9O<B!A('DO62!O<B!N+TX@
M0TA!4B!I;G!U= H@('T*"B @5D%2"B @("!R97!L>2 Z($-(05(["@H@($)%
M1TE."B @("!74DE412 H)R!;>2]N72#^("<I.PH@(" @248@*'!A<F%M8V]U
M;G0@/B Q*2!42$5.('5S97)?<V%Y<U]Y97,@.CT@5%)510H@(" @14Q312!U
M<V5R7W-A>7-?>65S(#H]("AG971?8VAA<B H(%LG62<L)TXG72D@/2 G62<I
M.PH*("!%3D0["@I[*BHJ*BHJ*BHJ*BHJ*BHJ*BHJ*BHJ*BHJ*BHJ*BHJ*BHJ
M*BHJ*BHJ*BHJ*BHJ*BHJ*BHJ*BHJ*BHJ*BHJ*BHJ*BHJ*BHJ*BHJ*BHJ*BI]
M"@H@(%!23T-%1%5212!T<FEM7V]F9B H5D%2('1E;7!S='(@.B!G;&]B86Q?
M<W1R9RD["@H@($)%1TE."B @("!72$E,12!0;W,@*"<@)RP@=&5M<'-T<BD@
M/2 Q($1/($1%3$5412 H=&5M<'-T<BP@,2P@,2D["@H@($5.1#L*"GLJ*BHJ
M*BHJ*BHJ*BHJ*BHJ*BHJ*BHJ*BHJ*BHJ*BHJ*BHJ*BHJ*BHJ*BHJ*BHJ*BHJ
M*BHJ*BHJ*BHJ*BHJ*BHJ*BHJ*BHJ*BHJ*BHJ*GT*"B @4%)/0T5$55)%('5S
M97)?<75I=',["@H@($)%1TE."B @("!S971?8W5R<V]R("AM:6YI;75M*3L*
M(" @($YO<FU6:61E;SL*(" @($-R=$5X:70["B @("!#;')38W(["B @("!(
M86QT.PH@($5.1#L*"GLJ*BHJ*BHJ*BHJ*BHJ*BHJ*BHJ*BHJ*BHJ*BHJ*BHJ
M*BHJ*BHJ*BHJ*BHJ*BHJ*BHJ*BHJ*BHJ*BHJ*BHJ*BHJ*BHJ*BHJ*BHJ*BHJ
M*GT*"B @4%)/0T5$55)%(&5V86QU871E7W5S97)?8VAO:6-E("AC;VYF:7)M
M871I;VYT86EL(#H@9VQO8F%L7W-T<F<["B @(" @(" @(" @(" @(" @(" @
M(" @(" @(" @(" @(" @(" @(" @(')E<V5R=F5D(#H@0D]/3$5!3BD["B @
M0D5'24X@>T5V86QU871E7U5S97)?0VAO:6-E?0H@(" @5U))5$5,3CL*(" @
M(%=2251%("@G(%EO=2!C:&]S92 G*3L*(" @(%1E>'1#;VQO<B H."D[(%1E
M>'1"86-K1W)O=6YD("@W*3L*(" @($-!4T4@8V1?8VAA<B!/1@H@(" @(" G
M52<@.B!"14=)3@H@(" @(" @(" @(" @(%=2251%("@G57!P97(M8V%S92<I
M.PH@(" @(" @(" @(" @($E&(')E<V5R=F5D(%1(14X@<F5S7V-A<V4@.CT@
M=7!P97(*(" @(" @(" @(" @("!%3%-%(&YO;E]R97-?8V%S92 Z/2!U<'!E
M<@H@(" @(" @(" @("!%3D0["B @(" @("=,)R Z($)%1TE."B @(" @(" @
M(" @(" @5U))5$4@*"=,;W=E<BUC87-E)RD["B @(" @(" @(" @(" @248@
M<F5S97)V960@5$A%3B!R97-?8V%S92 Z/2!L;W=E<@H@(" @(" @(" @(" @
M($5,4T4@;F]N7W)E<U]C87-E(#H](&QO=V5R"B @(" @(" @(" @("!%3D0[
M"B @(" @("=!)R Z($)%1TE."B @(" @(" @(" @(" @5U))5$4@*"=!<RU)
M<R<I.PH@(" @(" @(" @(" @($E&(')E<V5R=F5D(%1(14X@<F5S7V-A<V4@
M.CT@87-I<PH@(" @(" @(" @(" @($5,4T4@;F]N7W)E<U]C87-E(#H](&%S
M:7,*(" @(" @(" @(" @14Y$.PH@(" @(" G0B<@.B!"14=)3@H@(" @(" @
M(" @(" @(%=2251%("@G0F]R;&%N9"!T>7!E('-E='1I;F<G*3L*(" @(" @
M(" @(" @("!B;W)L86YD7V-O;G9E;G1I;VX@.CT@5%)513L*(" @(" @(" @
M(" @14Y$.PH@(" @(" G42<@.B!U<V5R7W%U:71S.PH@(" @14Y$.PH@(" @
M3&]W5FED96\["B @("!74DE414Q.("@G("<L8V]N9FER;6%T:6]N=&%I;"D[
M"B @("!74DE412 @("@G($ES('1H:7,@8V]R<F5C=#\@)RD["B @14Y$.R![
M179A;'5A=&5?57-E<E]#:&]I8V5]"@I[*BHJ*BHJ*BHJ*BHJ*BHJ*BHJ*BHJ
M*BHJ*BHJ*BHJ*BHJ*BHJ*BHJ*BHJ*BHJ*BHJ*BHJ*BHJ*BHJ*BHJ*BHJ*BHJ
M*BHJ*BHJ*BHJ*BI]"@H@("!04D]#14154D4@8VAA;F=E7V1E9F%U;'1S.PH*
M(" @($)%1TE.('M#:&%N9V5?1&5F875L='-]"B @(" @(%=2251%3$X["B @
M(" @(%)%4$5!5 H@(" @(" @(%=2251%3$X["B @(" @(" @5U))5$5,3CL*
M(" @(" @("!74DE414Q.("@G(/X@4$%30T%,(')E<V5R=F5D('=O<F1S+B<I
M.PH@(" @(" @(%=2251%(" @*"<@("!/<'1I;VYS(&%R92 Z(%4H<'!E<BUC
M87-E+"!,*&]W97(M8V%S92P@02AS+4ES+"!1*'5I="<I.PH@(" @(" @(&-D
M7V-H87(@.CT@9V5T7V-H87(@*"!;)U4G+"=,)RPG02<L)U$G72D["B @(" @
M(" @979A;'5A=&5?=7-E<E]C:&]I8V4@*"=F;W(@=&AE(%)%4T525D5$('=O
M<F1S+B<L(%12544I.PH@(" @("!53E1)3"!U<V5R7W-A>7-?>65S.PH*(" @
M(" @5U))5$5,3CL*(" @(" @4D5014%4"B @(" @(" @5U))5$5,3CL*(" @
M(" @("!74DE414Q..PH@(" @(" @(%=2251%3$X@*"<@_B!4=7)B;R!087-C
M86P@17AT96YS:6]N<RXG*3L*(" @(" @("!74DE412 @("@G(" @3W!T:6]N
M<R!A<F4@.B!5*'!P97(L($PH;W=E<BP@07,M27,L($(H;R<L"B @(" @(" @
M(" @(" @(" @)W)L86YD('1Y<&4@<V5T=&EN9RP@42AU:70G*3L*(" @(" @
M("!C9%]C:&%R(#H](&=E=%]C:&%R("@@6R=5)RPG3"<L)T$G+"=")RPG42==
M*3L*(" @(" @("!E=F%L=6%T95]U<V5R7V-H;VEC92 H)V9O<B!T:&4@5'5R
M8F\@4&%S8V%L($5X=&5N<VEO;G,N)RP@5%)512D["B @(" @(%5.5$E,('5S
M97)?<V%Y<U]Y97,["@H@(" @("!74DE414Q..PH@(" @("!215!%050*(" @
M(" @("!74DE414Q..PH@(" @(" @(%=2251%3$X["B @(" @(" @5U))5$5,
M3B H)R#^($YO;BU297-E<G9E9"!7;W)D<RXG*3L*(" @(" @("!74DE412 @
M("@G(" @3W!T:6]N<R!A<F4@.B!5*'!P97(M8V%S92P@3"AO=V5R+6-A<V4L
M($$H<RUI<RP@42AU:70G*3L*(" @(" @("!C9%]C:&%R(#H](&=E=%]C:&%R
M("@@6R=5)RPG3"<L)T$G+"=1)UTI.PH@(" @(" @(&5V86QU871E7W5S97)?
M8VAO:6-E("@G(&9O<B!T:&4@=7-E<B!D969I;F5D(&ED96YT:69I97)S+B<L
M"B @(" @(" @(" @(" @(" @(" @(" @(" @($9!3%-%*3L*(" @(" @54Y4
M24P@=7-E<E]S87ES7WEE<SL*(" @($5.1#L@>T-H86YG95]$969A=6QT<WT*
M"GLJ*BHJ*BHJ*BHJ*BHJ*BHJ*BHJ*BHJ*BHJ*BHJ*BHJ*BHJ*BHJ*BHJ*BHJ
M*BHJ*BHJ*BHJ*BHJ*BHJ*BHJ*BHJ*BHJ*BHJ*BHJ*BHJ*GT*"B @1E5.0U1)
M3TX@:7-?85]T;VME;B Z($)/3TQ%04X["B @>PH@(" @<F5T=7)N<R!44E5%
M(&EF('1H92!P871T97)N(&9O=6YD(&ES('!R;W!E<FQY(&1E;&EM:71E9 H@
M('T*("!"14=)3B![27-?05]4;VME;GT*(" @($E&("AT;VME;E]L;V-N("L@
M3$5.1U1(("AT;VME;B!;:6YD>%T@*2 I(#P@;&5N(%1(14X*(" @(" @;F5X
M=" Z/2!#3U!9("AW;W)K7W1E;7!L871E+ H@(" @(" @(" @(" @(" @(" H
M=&]K96Y?;&]C;B K("A,14Y'5$@@*'1O:V5N(%MI;F1X72 I("D@*2P@,2D*
M(" @($5,4T4@;F5X=" Z/2 G+B<["@H@(" @248@=&]K96Y?;&]C;B ^(#$@
M5$A%3B!"14=)3@H@(" @("!P<FEO<B Z/2!#3U!9("AW;W)K7W1E;7!L871E
M+"!T;VME;E]L;V-N("T@,2P@,2D["B @(" @(&ES7V%?=&]K96X@.CT@*" H
M:7-?<W!E8VEA;%]C:&%R("AP<FEO<BD@*2!!3D0@*&ES7W-P96-I86Q?8VAA
M<B H;F5X="D@*2 I.PH*(" @($5.1 H@(" @14Q310H@(" @("!)1B!T;VME
M;E]L;V-N(#T@,2!42$5.(&ES7V%?=&]K96X@.CT@*&ES7W-P96-I86Q?8VAA
M<B H;F5X="D@*3L*"B @14Y$.R![27-?05]4;VME;GT*"GLJ*BHJ*BHJ*BHJ
M*BHJ*BHJ*BHJ*BHJ*BHJ*BHJ*BHJ*BHJ*BHJ*BHJ*BHJ*BHJ*BHJ*BHJ*BHJ
M*BHJ*BHJ*BHJ*BHJ*BHJ*BHJ*BHJ*GT*"B @4%)/0T5$55)%(&UA<VM?;W5T
M("AK97EW;W)D(#H@9VQO8F%L7W-T<F<I.PH@('L*(" @(&UA<VL@;W5T(&$@
M<&%T=&5R;B!M871C:" N+BX@=&\@96YA8FQE(&UU;'1I+6]C8W5R<F5N8V5S
M"B @?0H@(%9!4@H@(" @<VQO=" Z($E.5$5'15(["@H@($)%1TE.('M-87-K
M7T]U='T*(" @($1%3$5412 H=V]R:U]T96UP;&%T92P@=&]K96Y?;&]C;BP@
M3$5.1U1(("AT;VME;B!;:6YD>%T@*2 I.PH@(" @;6%S:R Z/2!K97EW;W)D
M.PH@(" @1D]2('-L;W0@.CT@,2!43R!,14Y'5$@@*&ME>7=O<F0I($1/(&UA
M<VL@6W-L;W1=(#H]("=<)SL*(" @($E.4T525" H;6%S:RP@=V]R:U]T96UP
M;&%T92P@=&]K96Y?;&]C;BD*"B @14Y$.R @>TUA<VM?3W5T?0H*>RHJ*BHJ
M*BHJ*BHJ*BHJ*BHJ*BHJ*BHJ*BHJ*BHJ*BHJ*BHJ*BHJ*BHJ*BHJ*BHJ*BHJ
M*BHJ*BHJ*BHJ*BHJ*BHJ*BHJ*BHJ*BHJ*BHJ?0H*(%!23T-%1%5212!D;U]T
M=7)B;U]E>'1E;G-I;VX@*%9!4B!E>'1E;G-I;VX@.B!G;&]B86Q?<W1R9RD[
M"@H@0D5'24X@>T1O7U1U<F)O7T5X=&5N<VEO;GT*(" @0T%312!I;F1X($]&
M"B @(" @(#$@.B!E>'1E;G-I;VX@.CT@)T%B<V]L=71E)SL*(" @(" @,R Z
M(&5X=&5N<VEO;B Z/2 G07-S:6=N)SL*(" @(" @-" Z(&5X=&5N<VEO;B Z
M/2 G075X26Y0='(G.PH@(" @(" U(#H@97AT96YS:6]N(#H]("=!=7A/=710
M='(G.PH@(" @(" Y(#H@97AT96YS:6]N(#H]("="=69,96XG.PH@(" @(#$P
M(#H@97AT96YS:6]N(#H]("=#;')%;VPG.PH@(" @(#$Q(#H@97AT96YS:6]N
M(#H]("=#;')38W(G.PH@(" @(#$S(#H@97AT96YS:6]N(#H]("=#;VY);E!T
M<B<["B @(" @,30@.B!E>'1E;G-I;VX@.CT@)T-O;D]U=%!T<B<["B @(" @
M,34@.B!E>'1E;G-I;VX@.CT@)T-O;G-T4'1R)SL*(" @(" Q-B Z(&5X=&5N
M<VEO;B Z/2 G0W)T17AI="<["B @(" @,3<@.B!E>'1E;G-I;VX@.CT@)T-R
M=$EN:70G.PH@(" @(#$Y(#H@97AT96YS:6]N(#H]("=$96Q,:6YE)SL*(" @
M(" R,2 Z(&5X=&5N<VEO;B Z/2 G17AE8W5T92<["B @(" @,C,@.B!E>'1E
M;G-I;VX@.CT@)T9I;&50;W,G.PH@(" @(#(T(#H@97AT96YS:6]N(#H]("=&
M:6QE4VEZ92<["B @(" @,C4@.B!E>'1E;G-I;VX@.CT@)T9I;&Q#:&%R)SL*
M(" @(" R-R Z(&5X=&5N<VEO;B Z/2 G1G)E94UE;2<["B @(" @,CD@.B!E
M>'1E;G-I;VX@.CT@)T=E=$UE;2<["B @(" @,S @.B!E>'1E;G-I;VX@.CT@
M)T=O=&]862<["B @(" @,S$@.B!E>'1E;G-I;VX@.CT@)T=R87!H0F%C:T=R
M;W5N9"<["B @(" @,S(@.B!E>'1E;G-I;VX@.CT@)T=R87!H0V]L;W)-;V1E
M)SL*(" @(" S,R Z(&5X=&5N<VEO;B Z/2 G1W)A<&A-;V1E)SL*(" @(" S
M-" Z(&5X=&5N<VEO;B Z/2 G1W)A<&A7:6YD;W<G.PH@(" @(#,U(#H@97AT
M96YS:6]N(#H]("=(96%P4W1R)SL*(" @(" S-B Z(&5X=&5N<VEO;B Z/2 G
M2&E297-#;VQO<B<["B @(" @,S<@.B!E>'1E;G-I;VX@.CT@)TEN3&EN92<[
M"B @(" @,SD@.B!E>'1E;G-I;VX@.CT@)TEN<TQI;F4G.PH@(" @(#0Q(#H@
M97AT96YS:6]N(#H]("=)3U)E<W5L="<["B @(" @-#(@.B!E>'1E;G-I;VX@
M.CT@)TME>5!R97-S960G.PH@(" @(#0T(#H@97AT96YS:6]N(#H]("=,;VYG
M1FEL95!O<R<["B @(" @-#4@.B!E>'1E;G-I;VX@.CT@)TQO;F=&:6QE4VEZ
M92<["B @(" @-#8@.B!E>'1E;G-I;VX@.CT@)TQO;F=3965K)SL*(" @(" T
M-R Z(&5X=&5N<VEO;B Z/2 G3&]W5FED96\G.PH@(" @(#0X(#H@97AT96YS
M:6]N(#H]("=,<W1/=710='(G.PH@(" @(#0Y(#H@97AT96YS:6]N(#H]("=-
M87A!=F%I;"<["B @(" @-3(@.B!E>'1E;G-I;VX@.CT@)TYO<FU6:61E;R<[
M"B @(" @-3,@.B!E>'1E;G-I;VX@.CT@)TYO4V]U;F0G.PH@(" @(#4V(#H@
M97AT96YS:6]N(#H]("=086QE='1E)SL*(" @(" U.2 Z(&5X=&5N<VEO;B Z
M/2 G4F%N9&]M:7IE)SL*(" @(" V," Z(&5X=&5N<VEO;B Z/2 G4F%N9&]M
M)SL*(" @(" V-" Z(&5X=&5N<VEO;B Z/2 G4F5N86UE)SL*(" @(" V.2 Z
M(&5X=&5N<VEO;B Z/2 G5&5X=$)A8VM'<F]U;F0G.PH@(" @(#<P(#H@97AT
M96YS:6]N(#H]("=497AT0V]L;W(G.PH@(" @(#<Q(#H@97AT96YS:6]N(#H]
M("=497AT36]D92<["B @(" @-S(@.B!E>'1E;G-I;VX@.CT@)U5P0V%S92<[
M"B @(" @-S,@.B!E>'1E;G-I;VX@.CT@)U5S<DEN4'1R)SL*(" @(" W-" Z
M(&5X=&5N<VEO;B Z/2 G57-R3W5T4'1R)SL*(" @(" W-2 Z(&5X=&5N<VEO
M;B Z/2 G5VAE<F58)SL*(" @(" W-B Z(&5X=&5N<VEO;B Z/2 G5VAE<F59
M)SL*(" @(" W-R Z(&5X=&5N<VEO;B Z/2 G5VEN9&]W)SL*(" @(" X,2 Z
M(&5X=&5N<VEO;B Z/2 G0VAA:6XG.PH@(" @(#@T(#H@97AT96YS:6]N(#H]
M("=$96QA>2<["B @(" @.#4@.B!E>'1E;G-I;VX@.CT@)T5R87-E)SL*(" @
M(" X-R Z(&5X=&5N<VEO;B Z/2 G1FQU<V@G.PH@(" @(#@X(#H@97AT96YS
M:6]N(#H]("=(:5)E<R<["B @(" @.3$@.B!E>'1E;G-I;VX@.CT@)TU31&]S
M)SL*(" @(" Y,B Z(&5X=&5N<VEO;B Z/2 G4&]R=%<G.PH@(" @(#DU(#H@
M97AT96YS:6]N(#H]("=3;W5N9"<["B @(" Q,# @.B!E>'1E;G-I;VX@.CT@
M)T%D9'(G.PH@(" @,3 Q(#H@97AT96YS:6]N(#H]("=">71E)SL*(" @(#$P
M-2 Z(&5X=&5N<VEO;B Z/2 G0U-E9R<["B @(" Q,#8@.B!E>'1E;G-I;VX@
M.CT@)T1R87<G.PH@(" @,3 W(#H@97AT96YS:6]N(#H]("=$4V5G)SL*(" @
M(#$Q,2 Z(&5X=&5N<VEO;B Z/2 G1G)A8R<["B @(" Q,3,@.B!E>'1E;G-I
M;VX@.CT@)TAA;'0G.PH@(" @,3$T(#H@97AT96YS:6]N(#H]("=);G1R)SL*
M(" @(#$Q-B Z(&5X=&5N<VEO;B Z/2 G365M5R<["B @(" Q,3<@.B!E>'1E
M;G-I;VX@.CT@)TUO=F4G.PH@(" @,3$X(#H@97AT96YS:6]N(#H]("=0;&]T
M)SL*(" @(#$Q.2 Z(&5X=&5N<VEO;B Z/2 G4&]R="<["B @(" Q,C,@.B!E
M>'1E;G-I;VX@.CT@)U-E96LG.PH@(" @,3(T(#H@97AT96YS:6]N(#H]("=3
M<7)T)SL*(" @(#$R-2 Z(&5X=&5N<VEO;B Z/2 G4U-E9R<["B @(" Q,C<@
M.B!E>'1E;G-I;VX@.CT@)U-W87 G.PH@(" @,3,T(#H@97AT96YS:6]N(#H]
M("=!=7@G.PH@(" @,3,V(#H@97AT96YS:6]N(#H]("=#;VXG.PH@(" @,30T
M(#H@97AT96YS:6]N(#H]("=+8F0G.PH@(" @,30U(#H@97AT96YS:6]N(#H]
M("=,<W0G.PH@(" @,30V(#H@97AT96YS:6]N(#H]("=-96TG.PH@(" @,34R
M(#H@97AT96YS:6]N(#H]("=/9G,G.PH@(" @,34T(#H@97AT96YS:6]N(#H]
M("=0;W,G.PH@(" @,34U(#H@97AT96YS:6]N(#H]("=0='(G.PH@(" @,34V
M(#H@97AT96YS:6]N(#H]("=396<G.PH@(" @,34X(#H@97AT96YS:6]N(#H]
M("=3:$PG.PH@(" @,34Y(#H@97AT96YS:6]N(#H]("=3:%(G.PH@(" @,38S
M(#H@97AT96YS:6]N(#H]("=4<FTG.PH@(" @,38T(#H@97AT96YS:6]N(#H]
M("=5<W(G.PH@(" @,38W(#H@97AT96YS:6]N(#H]("=83W(G.PH@(" @,38Y
M(#H@97AT96YS:6]N(#H]("=(:2<["B @(" Q-S,@.B!E>'1E;G-I;VX@.CT@
M)TQO)SL*(" @(#$W-B Z(&5X=&5N<VEO;B Z/2 G4&DG.PH@(" @,3<X(#H@
M97AT96YS:6]N(#H]("=/=F5R;&%Y)SL*(" @(#$W.2 Z(&5X=&5N<VEO;B Z
M/2 G17AI="<["B @($5.1#L@>T-!4T4@26YD>"!/1GT*($5.1#L@('M$;U]4
M=7)B;U]%>'1E;G-I;VY]"@I[*BHJ*BHJ*BHJ*BHJ*BHJ*BHJ*BHJ*BHJ*BHJ
M*BHJ*BHJ*BHJ*BHJ*BHJ*BHJ*BHJ*BHJ*BHJ*BHJ*BHJ*BHJ*BHJ*BHJ*BHJ
M*BHJ*BI]"@H@("!04D]#14154D4@9&]?<F5S97)V961?=V]R9#L*"B @($)%
M1TE."B @(" @=&5M<" Z/2!T;VME;B!;:6YD>%T["B @(" @1$5,151%("AI
M;U]T96UP;&%T92P@=&]K96Y?;&]C;BP@3$5.1U1(("AT;VME;B!;:6YD>%T@
M*2 I.PH@(" @($E&(')E<U]C87-E(#T@;&]W97(@5$A%3B!L;U]S=')G("AT
M96UP*3L*(" @("!)1B!B;W)L86YD7V-O;G9E;G1I;VX@5$A%3B!D;U]T=7)B
M;U]E>'1E;G-I;VX@*'1E;7 I.PH@(" @($E.4T525" H=&5M<"P@:6]?=&5M
M<&QA=&4L('1O:V5N7VQO8VXI.PH*(" @14Y$.PH*>RHJ*BHJ*BHJ*BHJ*BHJ
M*BHJ*BHJ*BHJ*BHJ*BHJ*BHJ*BHJ*BHJ*BHJ*BHJ*BHJ*BHJ*BHJ*BHJ*BHJ
M*BHJ*BHJ*BHJ*BHJ*BHJ*BHJ?0H*(" @4%)/0T5$55)%('1A8FQE<V5A<F-H
M.PH*(" @0D5'24X*(" @("!I;F1X(#H](#$["B @(" @4D5014%4"B @(" @
M("!T;VME;E]L;V-N(#H](%!O<R H=&]K96X@6VEN9'A=+"!W;W)K7W1E;7!L
M871E*3L*(" @(" @($E&("AT;VME;E]L;V-N(#P^(# I($%.1"!I<U]A7W1O
M:V5N(%1(14X@0D5'24X@>W!A='1E<FX@:7,@<F5S97)V960@=V]R9'T*(" @
M(" @(" @248@<F5S7V-A<V4@/#X@87-I<R!42$5.(&1O7W)E<V5R=F5D7W=O
M<F0["B @(" @(" @(&UA<VM?;W5T("AT;VME;B!;:6YD>%T@*3L*(" @(" @
M(" @=&%B;&5S96%R8V@@(" @(" @(" @("![<F5C=7)S92$A(7T*"B @(" @
M("!%3D0["B @(" @("!)1B!T;VME;E]L;V-N(#P^(# @5$A%3B!M87-K7V]U
M=" H=&]K96X@6VEN9'A=("D[('MP871T97)N($Y/5"!R97-E<G9E9'T*(" @
M(" @($E&('1O:V5N7VQO8VX@/2 P(%1(14X@:6YD>" Z/2!I;F1X("L@,3L@
M>VYO('!A='1E<FX@;6%T8VA]"@H@(" @(%5.5$E,("@@*&EN9'@@/B!A<G)A
M>5]S:7IE*2!!3D0@*'1O:V5N7VQO8VX@/2 P*2 I.PH*(" @14Y$.PH*>RHJ
M*BHJ*BHJ*BHJ*BHJ*BHJ*BHJ*BHJ*BHJ*BHJ*BHJ*BHJ*BHJ*BHJ*BHJ*BHJ
M*BHJ*BHJ*BHJ*BHJ*BHJ*BHJ*BHJ*BHJ*BHJ*BHJ?0H*(" @4%)/0T5$55)%
M(&9I;F1?=&]K96Y?;6%T8V@["@H@("!"14=)3B![1FEN9%]4;VME;E]-871C
M:'T*(" @("!215!%050@(" @("![97AH875S="!A;&P@:V5Y=V]R9"!O8V-U
M<G)E;F-E<R!I;B!A(&QI;F4@;V8@=&5X='T*(" @(" @('1A8FQE<V5A<F-H
M.PH@(" @(" @248@:6YT97)R=7!T86)L92!42$5."B @(" @(" @($E&($ME
M>5!R97-S960@5$A%3B!"14=)3@H@(" @(" @(" @(%1E>'1#;VQO<B H,C0I
M.R!497AT0F%C:T=R;W5N9" H,2D["B @(" @(" @(" @5U))5$5,3CL*(" @
M(" @(" @("!74DE412 H)T%B;W)T('!&3U)-050@;V8@)RQI;E]F:6QE7VYA
M;64L)S\@)RD["B @(" @(" @(" @248@=7-E<E]S87ES7WEE<R!42$5.('5S
M97)?<75I=',*(" @(" @(" @("!%3%-%($1E;$QI;F4["B @(" @(" @(" @
M3&]W5FED96\["B @(" @(" @($5.1#L*(" @("!53E1)3"!T;VME;E]L;V-N
M(#T@,#L*(" @14Y$.R @>T9I;F1?5&]K96Y?36%T8VA]"@I[*BHJ*BHJ*BHJ
M*BHJ*BHJ*BHJ*BHJ*BHJ*BHJ*BHJ*BHJ*BHJ*BHJ*BHJ*BHJ*BHJ*BHJ*BHJ
M*BHJ*BHJ*BHJ*BHJ*BHJ*BHJ*BHJ*BI]"@H@(%!23T-%1%5212!F:7A?8V]M
M;65N=%]S=')I;F=S.PH@('L*(" @(&UA<VL@;W5T(&-O;6UE;G1S("8@<W1R
M:6YG<R!S;R!A<RUI<R!C:&%R<R!C86X@8F4@<F5S=&]R960@9G)O;0H@(" @
M5&5M<%]3=')I;F<@;VYT;R!)3U]496UP;&%T90H@('T*"B @("!04D]#1415
M4D4@;6%S:U]S=')I;F<@*&QE;E]C;VUM96YT(#H@24Y414=%4BD["@H@(" @
M5D%2"B @(" @('-L;W0@.B!)3E1%1T52.PH*(" @($)%1TE."GL*(" @(" @
M5&5M<%]3=')I;F<@.CT@0T]062 H5V]R:U]496UP;&%T92P@4W1R="P@3&5N
M7T-O;6UE;G0I.PH@(" @("!&3U(@4VQO=" Z/2 Q(%1/($Q%3D=42"A496UP
M7U-T<FEN9RD@1$\*(" @(" @("!496UP7U-T<FEN9UM3;&]T72 Z/2 G("<[
M"B @(" @($1%3$5412 H5V]R:U]496UP;&%T92P@4W1R="P@3&5N7T-O;6UE
M;G0I.PH@(" @("!)3E-%4E0@*%1E;7!?4W1R:6YG+"!7;W)K7U1E;7!L871E
M+"!3=')T*3L*?0H@(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @("![
M($%D9&5D(&%S('!O<W-I8FQY(&9A<W1E<B H;6]R92!E9F9I8VEE;G0I('T*
M(" @(" @1D]2('-L;W0@.CT@,2!43R!L96Y?8V]M;65N="!$3R!W;W)K7W1E
M;7!L871E(%MS;&]T("L@<W1R=%T@.CT@<W!A8V4["B @("!%3D0["@H@($)%
M1TE.('M&:7A?0V]M;65N=%]3=')I;F=S?0H@(" @>V1O('-T<FEN9W-]"B @
M("!215!%050*(" @(" @<W1R=" Z/2!0;W,@*"<G)R<L('=O<FM?=&5M<&QA
M=&4I.PH@(" @("!)1B!S=')T(#P^(# @5$A%3@H@(" @(" @('=O<FM?=&5M
M<&QA=&4@6W-T<G1=(#H]("<@)SL*(" @(" @96YD9" Z/2!0;W,@*"<G)R<L
M('=O<FM?=&5M<&QA=&4I.PH@(" @("!)1B!E;F1D(#P^(# @5$A%3@H@(" @
M(" @('=O<FM?=&5M<&QA=&4@6V5N9&1=(#H]("<@)SL*(" @(" @248@*" H
M96YD9" \/B P*2!!3D0@*'-T<G0@/#X@,"D@*2!42$5."B @(" @(" @;6%S
M:U]S=')I;F<@*&5N9&0@+2!S=')T("L@,2D["B @("!53E1)3" H("AE;F1D
M(#T@,"D@3U(@*'-T<G0@/2 P*2 I.PH*(" @('-T<G0@.CT@4&]S("@G>R<L
M('=O<FM?=&5M<&QA=&4I.PH@(" @248@<W1R=" ](# @5$A%3B![8VAE8VL@
M86=A:6X@9F]R(&%L=&5R;F%T:79E(&1E;&EM:71E<GT*(" @(" @<W1R=" Z
M/2!0;W,@*"<H*B<L('=O<FM?=&5M<&QA=&4I.PH*(" @(&5N9&0@.CT@4&]S
M("@G?2<L('=O<FM?=&5M<&QA=&4I.PH@(" @248@96YD9" ](# @5$A%3B![
M8VAE8VL@86=A:6X@9F]R(&%L=&5R;F%T92!D96QI;6ET97)]"B @(" @(&5N
M9&0@.CT@4&]S("@G*BDG+"!W;W)K7W1E;7!L871E*3L*"B @("!)1B!S=')T
M(#P^(# @5$A%3@H@(" @("!C;VUM96YT7V%C=&EV92 Z/2!44E5%.PH*(" @
M($E&(&5N9&0@/#X@,"!42$5."B @(" @(&-O;6UE;G1?86-T:79E(#H]($9!
M3%-%.PH*(" @($E&('-T<G0@/2 P(%1(14X*(" @(" @248@96YD9" ](# @
M5$A%3@H@(" @(" @($E&(&-O;6UE;G1?86-T:79E(%1(14X@0D5'24X*(" @
M(" @(" @('-T<G0@.CT@,3L*(" @(" @(" @(&UA<VM?<W1R:6YG("AL96X@
M+2!S=')T("L@,2D*"B @(" @(" @14Y$"B @(" @(" @14Q312!"14=)3B!%
M3D0@>VYO(&%C=&EV92!C;VUM96YT?0H@(" @("!%3%-%($)%1TE.('ME;F1D
M(#P^(#!]"B @(" @(" @<W1R=" Z/2 Q.PH@(" @(" @(&UA<VM?<W1R:6YG
M("AE;F1D("T@<W1R=" K(#$I"@H@(" @("!%3D0*(" @($5,4T4@(" @>W-T
M<G0@/#X@,'T*(" @(" @248@96YD9" \/B P(%1(14X*(" @(" @("!M87-K
M7W-T<FEN9R H96YD9" M('-T<G0@*R Q*0H@(" @("!%3%-%"B @(" @(" @
M;6%S:U]S=')I;F<@*&QE;B M('-T<G0@*R Q*3L*"B @14Y$.R![1FEX7T-O
M;6UE;G1?4W1R:6YG<WT*"GLJ*BHJ*BHJ*BHJ*BHJ*BHJ*BHJ*BHJ*BHJ*BHJ
M*BHJ*BHJ*BHJ*BHJ*BHJ*BHJ*BHJ*BHJ*BHJ*BHJ*BHJ*BHJ*BHJ*BHJ*BHJ
M*BHJ*GT*"B @4%)/0T5$55)%(&-H96-K7W-P86-I;F<["@H@(%9!4B @('!L
M86-E(#H@24Y414=%4CL*"GL]/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T]
M/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T]
M/3T]/7T*(" @(%!23T-%1%5212!S<&%C95]B969O<F4@*'!O<VET:6]N(#H@
M24Y414=%4BD["@H@(" @0D5'24X*(" @(" @248@*'=O<FM?=&5M<&QA=&4@
M6W!O<VET:6]N("T@,5T@/#X@<W!A8V4I(%1(14X@0D5'24X*(" @(" @("!)
M3E-%4E0@*'-P86-E+"!W;W)K7W1E;7!L871E+"!P;W-I=&EO;BD["B @(" @
M(" @24Y315)4("AS<&%C92P@:6]?=&5M<&QA=&4L('!O<VET:6]N*3L*"B @
M(" @($5.1#L@>R!)1B!I;G-E<G1I;F<@82!S<&%C92!]"@H@(" @14Y$.R![
M(%!23T-%1%5212!S<&%C95]B969O<F4@?0H*"GL]/3T]/3T]/3T]/3T]/3T]
M/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T]
M/3T]/3T]/3T]/3T]/3T]/7T*(" @(%!23T-%1%5212!S<&%C95]A9G1E<B H
M<&]S:71I;VX@.B!)3E1%1T52*3L*"B @("!"14=)3@H@(" @("!)1B H=V]R
M:U]T96UP;&%T92!;<&]S:71I;VX@*R Q72 \/B!S<&%C92D@5$A%3B!"14=)
M3@H@(" @(" @($E.4T525" H<W!A8V4L('=O<FM?=&5M<&QA=&4L('!O<VET
M:6]N("L@,2D["B @(" @(" @24Y315)4("AS<&%C92P@:6]?=&5M<&QA=&4L
M('!O<VET:6]N("L@,2D["@H@(" @("!%3D0[('L@248@:6YS97)T:6YG(&$@
M<W!A8V4@?0H*(" @($5.1#L@>R!04D]#14154D4@<W!A8V5?869T97(@?0H*
M"GL@*B J("H@*B J("H@*B J("H@*B J("H@*B J("H@*B J("H@*B J("H@
M*B J("H@*B J("H@*B J("H@*B J("H@*B J("H@*B J('T*("!"14=)3@H@
M(" @4D5014%4"B @(" @($9/4B!P;&%C92 Z/2 Q(%1/($Q%3D=42" H=V]R
M:U]T96UP;&%T92D@1$\@0D5'24X*(" @(" @("!)1B H<&QA8V4@/"!,14Y'
M5$@@*'=O<FM?=&5M<&QA=&4I("D@5$A%3@H@(" @(" @(" @0T%312!W;W)K
M7W1E;7!L871E(%MP;&%C95T@3T8*(" @(" @(" @(" @)SXG(#H@248@*'=O
M<FM?=&5M<&QA=&4@6W!L86-E("L@,5T@/#X@)STG*2!42$5."B @(" @(" @
M(" @(" @(" @(" @<W!A8V5?869T97(@*'!L86-E*3L*(" @(" @(" @(" @
M)SPG(#H@248@*'=O<FM?=&5M<&QA=&4@6W!L86-E("L@,5T@/#X@)SXG*2!!
M3D0*(" @(" @(" @(" @(" @(" @(" @*'=O<FM?=&5M<&QA=&4@6W!L86-E
M("L@,5T@/#X@)STG*2!42$5."B @(" @(" @(" @(" @(" @(" @<W!A8V5?
M869T97(@*'!L86-E*3L*(" @(" @(" @(" @)RDG(#H@248@*'=O<FM?=&5M
M<&QA=&4@6W!L86-E("L@,5T@/#X@)SLG*2!!3D0*(" @(" @(" @(" @(" @
M(" @(" @*'=O<FM?=&5M<&QA=&4@6W!L86-E("L@,5T@/#X@)RPG*2!42$5.
M"B @(" @(" @(" @(" @(" @(" @<W!A8V5?869T97(@*'!L86-E*3L*(" @
M(" @(" @(" @)UTG(#H@248@*'=O<FM?=&5M<&QA=&4@6W!L86-E("L@,5T@
M/#X@)SLG*2!!3D0*(" @(" @(" @(" @(" @(" @(" @*'=O<FM?=&5M<&QA
M=&4@6W!L86-E("L@,5T@/#X@)RXG*2!!3D0*(" @(" @(" @(" @(" @(" @
M(" @*'=O<FM?=&5M<&QA=&4@6W!L86-E("L@,5T@/#X@)RPG*2!42$5."B @
M(" @(" @(" @(" @(" @(" @<W!A8V5?869T97(@*'!L86-E*3L*(" @(" @
M(" @(" @)STG(#H@<W!A8V5?869T97(@*'!L86-E*3L*(" @(" @(" @(" @
M)RLG(#H@<W!A8V5?869T97(@*'!L86-E*3L*(" @(" @(" @(" @)RTG(#H@
M<W!A8V5?869T97(@*'!L86-E*3L*(" @(" @(" @(" @)RHG(#H@<W!A8V5?
M869T97(@*'!L86-E*3L*(" @(" @(" @(" @)R\G(#H@<W!A8V5?869T97(@
M*'!L86-E*3L*(" @(" @(" @(" @)SHG(#H@248@*'=O<FM?=&5M<&QA=&4@
M6W!L86-E("L@,5T@/#X@)STG*2!42$5."B @(" @(" @(" @(" @(" @(" @
M<W!A8V5?869T97(@*'!L86-E*3L*(" @(" @(" @(" @)SLG(#H@<W!A8V5?
M869T97(@*'!L86-E*3L*(" @(" @(" @(" @)RPG(#H@<W!A8V5?869T97(@
M*'!L86-E*3L*(" @(" @(" @(" @14Q312!"14=)3B!%3D0["@H@(" @(" @
M(" @14Y$.R![($-!4T4@?0H*(" @(" @("!)1B H<&QA8V4@/B Q*2!42$5.
M"B @(" @(" @("!#05-%('=O<FM?=&5M<&QA=&4@6W!L86-E72!/1@H@(" @
M(" @(" @(" G/B<@.B!)1B H=V]R:U]T96UP;&%T92!;<&QA8V4@+2 Q72 \
M/B G/"<I(%1(14X*(" @(" @(" @(" @(" @(" @("!S<&%C95]B969O<F4@
M*'!L86-E*3L*(" @(" @(" @(" @)SPG(#H@<W!A8V5?8F5F;W)E("AP;&%C
M92D["B @(" @(" @(" @("<H)R Z('-P86-E7V)E9F]R92 H<&QA8V4I.PH@
M(" @(" @(" @(" G6R<@.B!S<&%C95]B969O<F4@*'!L86-E*3L*(" @(" @
M(" @(" @)SHG(#H@<W!A8V5?8F5F;W)E("AP;&%C92D["B @(" @(" @(" @
M("<])R Z($E&("AW;W)K7W1E;7!L871E(%MP;&%C92 M(#%=(#P^("<Z)RD@
M04Y$"B @(" @(" @(" @(" @(" @(" @("AW;W)K7W1E;7!L871E(%MP;&%C
M92 M(#%=(#P^("<\)RD@04Y$"B @(" @(" @(" @(" @(" @(" @("AW;W)K
M7W1E;7!L871E(%MP;&%C92 M(#%=(#P^("<^)RD@5$A%3@H@(" @(" @(" @
M(" @(" @(" @('-P86-E7V)E9F]R92 H<&QA8V4I.PH@(" @(" @(" @(" G
M*R<@.B!S<&%C95]B969O<F4@*'!L86-E*3L*(" @(" @(" @(" @)RTG(#H@
M<W!A8V5?8F5F;W)E("AP;&%C92D["B @(" @(" @(" @("<J)R Z('-P86-E
M7V)E9F]R92 H<&QA8V4I.PH@(" @(" @(" @(" G+R<@.B!S<&%C95]B969O
M<F4@*'!L86-E*3L*(" @(" @(" @(" @14Q312!"14=)3B!%3D0["@H@(" @
M(" @(" @14Y$.R![($-!4T4@?0H*(" @(" @14Y$.R![($9/4B!P;&%C92!]
M"@H@(" @54Y424P@*'!L86-E(#T@3$5.1U1(("AW;W)K7W1E;7!L871E*2 I
M.PH*("!%3D0[('L@4%)/0T5$55)%($-H96-K7U-P86-I;F<@?0H*>RHJ*BHJ
M*BHJ*BHJ*BHJ*BHJ*BHJ*BHJ*BHJ*BHJ*BHJ*BHJ*BHJ*BHJ*BHJ*BHJ*BHJ
M*BHJ*BHJ*BHJ*BHJ*BHJ*BHJ*BHJ*BHJ*BHJ?0H*("!04D]#14154D4@<&%R
M<V4["@H@(%9!4@H@(" @<VQO=" Z($E.5$5'15(["@H@($)%1TE."B @("!W
M;W)K7W1E;7!L871E(#H](&EO7W1E;7!L871E.PH@(" @;&5N(#H]($Q%3D=4
M2" H:6]?=&5M<&QA=&4I.PH*(" @(&9I>%]C;VUM96YT7W-T<FEN9W,["@H@
M(" @8VAE8VM?<W!A8VEN9SL*(" @(&QE;B Z/2!,14Y'5$@@*&EO7W1E;7!L
M871E*3L*"B @("!U<%]S=')G("AW;W)K7W1E;7!L871E*3L*"B @("!T96UP
M7W-T<FEN9R Z/2!I;U]T96UP;&%T93L*"B @("!)1B!N;VY?<F5S7V-A<V4@
M/2!U<'!E<B!42$5."B @(" @('5P7W-T<F<@*&EO7W1E;7!L871E*0H@(" @
M14Q310H@(" @("!)1B!N;VY?<F5S7V-A<V4@/2!L;W=E<B!42$5."B @(" @
M(" @;&]?<W1R9R H:6]?=&5M<&QA=&4I.PH*(" @($9/4B!S;&]T(#H](#$@
M5$\@3$5.1U1(("AI;U]T96UP;&%T92D@1$\*(" @(" @248@=V]R:U]T96UP
M;&%T92!;<VQO=%T@/2 G("<@5$A%3@H@(" @(" @(&EO7W1E;7!L871E(%MS
M;&]T72 Z/2!T96UP7W-T<FEN9R!;<VQO=%T["@H@(" @9FEN9%]T;VME;E]M
M871C:#L*"B @("!72$E,12 H3$5.1U1(("AI;U]T96UP;&%T92D@/B P*2!!
M3D0*(" @(" @*&EO7W1E;7!L871E(%M,14Y'5$@@*&EO7W1E;7!L871E*2!=
M(#T@<W!A8V4I($1/"B @(" @($1%3$5412 H:6]?=&5M<&QA=&4L($Q%3D=4
M2" H:6]?=&5M<&QA=&4I+" Q*3L*"B @14Y$.PH*>RHJ*BHJ*BHJ*BHJ*BHJ
M*BHJ*BHJ*BHJ*BHJ*BHJ*BHJ*BHJ*BHJ*BHJ*BHJ*BHJ*BHJ*BHJ*BHJ*BHJ
M*BHJ*BHJ*BHJ*BHJ*BHJ*BHJ?0H*("!04D]#14154D4@=F5R:69Y7V1E9F%U
M;'1?<V5T=&EN9W,["@H@($)%1TE."B @("!';W1O6%D@*#$L(#,I.PH@(" @
M5U))5$5,3CL*(" @(%1E>'1#;VQO<B H,2D[(%1E>'1"86-K1W)O=6YD("@Q
M*3L*(" @(%=2251%3$X@*"=/=71P=70@1FEL92 G+&]U=%]F:6QE7VYA;64L
M)R<G)RPG<R!D969A=6QT(&%T=')I8G5T97,@87)E(#HG*3L*(" @($QO=U9I
M9&5O.PH@(" @5U))5$5,3B H)R#^(%1U<F)O4$%30T%,(&ME>2]R97-E<G9E
M9"!W;W)D<R!A<F4@:6X@55!015(M8V%S92!L971T97)S(&%N9"<I.PH@(" @
M5U))5$5,3B H)R#^(%1U<F)O4$%30T%,(&5X=&5N<VEO;B!W;W)D<R!A<F4@
M0F]R;&%N9%-T>6QE(&%N9"<I.PH@(" @5U))5$5,3B H)R#^(%5S97(@9&5C
M;&%R871I;VX@8VAA<F%C=&5R<R!A<F4@=W)I='1E;B!L;W=E<BUC87-E+B<I
M.PH@(" @5U))5$5,3CL*(" @(%=2251%(" @*"=7;W5L9"!Y;W4@;&EK92!T
M;R!C:&%N9V4@=&AE<V4@9&5F875L=',@/R G*3L*(" @($E&('5S97)?<V%Y
M<U]Y97,@5$A%3B!C:&%N9V5?9&5F875L=',["@H@(" @3F]R;59I9&5O.PH@
M(" @5U))5$5,3CL*(" @(%=2251%3$X["B @("!74DE412 H)U=O=6QD('EO
M=2!L:6ME('1O(&)E(&%B;&4@=&\@86)O<G0@=&AI<R!R=6X@=VET:"!A(&ME
M>7!R97-S/R<I.PH@(" @3&]W5FED96\["@H@($5.1#L*"GLJ*BHJ*BHJ*BHJ
M*BHJ*BHJ*BHJ*BHJ*BHJ*BHJ*BHJ*BHJ*BHJ*BHJ*BHJ*BHJ*BHJ*BHJ*BHJ
M*BHJ*BHJ*BHJ*BHJ*BHJ*BHJ*BHJ*GT*"B @4%)/0T5$55)%(&)A;FYE<CL*
M"B @0D5'24X*(" @($-L<E-C<CL*(" @(%1E>'1#;VQO<B H."D[(%1E>'1"
M86-K1W)O=6YD("@W*3L*(" @(%=2251%3$X@* H@("<@(" @(" @(" @(" @
M(" @("!4=7)B;R!&;W)M870@6S$N,#%=("T@0&YD>6IS9&5C97!I9$ @,3DX
M-"!.;W8@,38@(" @(" @(" @(" @("<*(" @(" @(" @(" @*3L*("!%3D0[
M"@I[*BHJ*BHJ*BHJ*BHJ*BHJ*BHJ*BHJ*BHJ*BHJ*BHJ*BHJ*BHJ*BHJ*BHJ
M*BHJ*BHJ*BHJ*BHJ*BHJ*BHJ*BHJ*BHJ*BHJ*BHJ*BHJ*BI]"@H@(%!23T-%
M1%5212!G971?:6YP=71?;F%M93L*"B @0D5'24X@>T=E=%]);G!U=%].86UE
M?0H@(" @4D5014%4"B @(" @(%=2251%3$X["B @(" @(%=2251%(" H)TYA
M;64@;V8@5'5R8F]005-#04P@<V]U<F-E('1E>'0@9FEL92 @KR G*3L*(" @
M(" @248@*'!A<F%M8V]U;G0@/B P*2!42$5.(&EN7V9I;&5?;F%M92 Z/2!P
M87)A;7-T<B H,2D*(" @(" @14Q312!214%$3$X@*&EN7V9I;&5?;F%M92D[
M"B @(" @('1R:6U?;V9F("AI;E]F:6QE7VYA;64I.PH@(" @("!U<%]S=')G
M("AI;E]F:6QE7VYA;64I.PH*(" @(" @248@3$5.1U1(("AI;E]F:6QE7VYA
M;64I(#P@,2!42$5."B @(" @(" @=7-E<E]Q=6ET<SL*"B @(" @($%S<VEG
M;B H=&5X=%]F:6QE+"!I;E]F:6QE7VYA;64I.PH@(" @("![)$DM?2!215-%
M5" H=&5X=%]F:6QE*2![)$DK?3L*(" @(" @;VL@.CT@*$E/4F5S=6QT(#T@
M,"D["B @(" @($E&($Y/5"!O:R!42$5.($)%1TE."B @(" @(" @4V]U;F0@
M*#8P.3DI.PH@(" @(" @($1E;&%Y("@T,# I.PH@(" @(" @($1E;&%Y("@T
M,# I.PH@(" @(" @(%-O=6YD("@V,# I.PH@(" @(" @($YO4V]U;F0["B @
M(" @(" @5U))5$4@*"=#86YN;W0@9FEN9"!F:6QE.B G*3L*(" @(" @("!.
M;W)M5FED96\["B @(" @(" @5U))5$4@*&EN7V9I;&5?;F%M92D["B @(" @
M(" @248@*'!A<F%M8V]U;G0@/B P*2!42$5.('5S97)?<75I=',["B @(" @
M(" @3&]W5FED96\["B @(" @($5.1 H@(" @54Y424P@;VL["B @14Y$.R![
M1V5T7TEN<'5T7TYA;65]"@I[*BHJ*BHJ*BHJ*BHJ*BHJ*BHJ*BHJ*BHJ*BHJ
M*BHJ*BHJ*BHJ*BHJ*BHJ*BHJ*BHJ*BHJ*BHJ*BHJ*BHJ*BHJ*BHJ*BHJ*BHJ
M*BHJ*BI]"@H@(%!23T-%1%5212!G971?;W5T<'5T7VYA;64["@H@($)%1TE.
M('M'971?3W5T<'5T7TYA;65].PH@(" @4D5014%4"B @(" @(%=2251%3$X[
M"B @(" @(%=2251%(" H)TYA;64@;V8@<$9/4DU!5"!G96YE<F%T960@9FEL
M92 @(" @(" @KR G*3L*(" @(" @248@*'!A<F%M8V]U;G0@/B Q*2!42$5.
M(&]U=%]F:6QE7VYA;64@.CT@<&%R86US='(@*#(I"B @(" @($5,4T4@4D5!
M1$Q.("AO=71?9FEL95]N86UE*3L*(" @(" @=')I;5]O9F8@*&]U=%]F:6QE
M7VYA;64I.PH@(" @("!U<%]S=')G("AO=71?9FEL95]N86UE*3L*"B @(" @
M($E&($Q%3D=42" H;W5T7V9I;&5?;F%M92D@/" Q(%1(14X*(" @(" @("!U
M<V5R7W%U:71S.PH*(" @(" @07-S:6=N(" H<')E='1Y7V]U='!U="P@;W5T
M7V9I;&5?;F%M92D["B @(" @('LD22U](%)%5U))5$4@*'!R971T>5]O=71P
M=70I('LD22M].PH*(" @(" @;VL@.CT@*$E/4F5S=6QT(#T@,"D["@H@(" @
M("!)1B!.3U0@;VL@5$A%3B!"14=)3@H@(" @(" @(%-O=6YD("@V,#DY*3L*
M(" @(" @("!$96QA>2 H-# P*3L*(" @(" @("!$96QA>2 H-# P*3L*(" @
M(" @("!3;W5N9" H-C P*3L*(" @(" @("!.;U-O=6YD.PH@(" @(" @(%=2
M251%("@G56YA8FQE('1O(&]P96X@9FEL93H@)RD["B @(" @(" @3F]R;59I
M9&5O.PH@(" @(" @(%=2251%("AO=71?9FEL95]N86UE*3L*(" @(" @("!)
M1B H<&%R86UC;W5N=" ^(#$I(%1(14X@=7-E<E]Q=6ET<SL*(" @(" @("!,
M;W=6:61E;SL*(" @(" @14Y$.PH@(" @54Y424P@;VL["B @14Y$.R![1V5T
M7TEN<'5T7TYA;65]"@I[*BHJ*BHJ*BHJ*BHJ*BHJ*BHJ*BHJ*BHJ*BHJ*BHJ
M*BHJ*BHJ*BHJ*BHJ*BHJ*BHJ*BHJ*BHJ*BHJ*BHJ*BHJ*BHJ*BHJ*BHJ*BHJ
M*BI]"@I"14=)3B![+2TM+2TM+2TM+2TM+2TM+2TM+2TM+2TM+2TM+2TM+2TM
M+2TM+2TM+2TM+2TM+2TM+2TM+2TM+2TM+2TM+2TM('!&;W)M871]"B @:6YI
M=%]A<G)A>3L*"B @4D5014%4"B @("!7:6YD;W<@*#$L(#$L(#@P+" R-2D[
M"B @("!';W1O6%D@*#$L(#$I.PH@(" @0VQR4V-R.PH@(" @<F5S7V-A<V4@
M.CT@=7!P97(["B @("!N;VY?<F5S7V-A<V4@.CT@;&]W97(["B @("!B;W)L
M86YD7V-O;G9E;G1I;VX@.CT@5%)513L*(" @(&-O;6UE;G1?86-T:79E(" @
M(" Z/2!&04Q313L*(" @(&EN=&5R<G5P=&%B;&4@(" @(" Z/2!&04Q313L*
M"B @("!B86YN97(["@H@(" @5VEN9&]W("@Q+" R+" X,"P@,C0I.PH@(" @
M0VQR4V-R.PH@(" @3&]W5FED96\["B @("!74DE414Q..PH@(" @5U))5$4@
M(" H)_X@5&\@<75I="P@<')E<W,@82!L;VYE("<L0TA2("@Q-RDL)]D@:6X@
M<F5S<&]N<V4@=&\@=&AE('!R;VUP=',G*3L*(" @(%=2251%3$X@*"<@9F]R
M(&9I;&4@;F%M97,N)RD["B @("!74DE414Q..PH*(" @(&=E=%]I;G!U=%]N
M86UE.PH@(" @9V5T7V]U='!U=%]N86UE.PH*(" @(%=I;F1O=R H,2P@,2P@
M.# L(#(T*3L*(" @($=O=&]862 H,2P@,2D["B @("!B86YN97(["@H@(" @
M5VEN9&]W("@Q+" R+" X,"P@,C0I.PH@(" @248@*'!A<F%M8V]U;G0@/" R
M*2!42$5.('9E<FEF>5]D969A=6QT7W-E='1I;F=S.PH@(" @5VEN9&]W("@Q
M+" Q+" X,"P@,C0I.PH@(" @1V]T;UA9("@Q+" Q*3L*(" @(&)A;FYE<CL*
M"B @("!';W1O6%D@*#$L(#,I.PH@(" @5&5X=$-O;&]R("@Q-BD[(%1E>'1"
M86-K1W)O=6YD("@Q,"D["B @("!P<F]C7VQA8F5L(#H]($-/3D-!5" H)U)E
M861I;F<@)RQI;E]F:6QE7VYA;64L)R F(&=E;F5R871I;F<@)RP*(" @(" @
M(" @(" @(" @(" @(" @(" @(" @(" @(" @("!O=71?9FEL95]N86UE*3L*
M"B @("!)1B H3$5.1U1(("AP<F]C7VQA8F5L*2 \/2 X,"D@5$A%3B![8V5N
M=')E(&EF(&ET(&9I=',@.# M8VAA<B!L:6YE?0H@(" @("!74DE412 H<')O
M8U]L86)E;" Z("@@*#@P("L@3$5.1U1(("AP<F]C7VQA8F5L*2 I($1)5B R
M*2 I"B @("!%3%-%"B @(" @(%=2251%("AP<F]C7VQA8F5L*3L*(" @($=O
M=&]862 H,2P@-2D["B @("!.;W)M5FED96\["B @("!&3U(@8VYT(" Z/2 Q
M(%1/(#@P($1/"B @(" @(%=2251%("@GS2<I.PH*(" @($QO=U9I9&5O.PH@
M(" @5VEN9&]W("@Q+" V+" X,"P@,C,I.PH@(" @0VQR4V-R.PH@(" @<V5T
M7V-U<G-O<B H:6YV:7-I8FQE*3L*"B @("!72$E,12!.3U0@*$5/1B H=&5X
M=%]F:6QE*2 I($1/($)%1TE."B @(" @(%)%041,3B @*'1E>'1?9FEL92P@
M:6]?=&5M<&QA=&4I.PH@(" @("!)1B H:6]?=&5M<&QA=&4@/#X@)R<I(%1(
M14X@<&%R<V4["B @(" @(%=2251%3$X@*&EO7W1E;7!L871E*3L*(" @(" @
M5U))5$5,3B H<')E='1Y7V]U='!U="P@:6]?=&5M<&QA=&4I.PH@(" @14Y$
M.PH@(" @<V5T7V-U<G-O<B H;6EN:6UU;2D["B @("!#3$]312 H=&5X=%]F
M:6QE*3L*(" @($-,3U-%("AP<F5T='E?;W5T<'5T*3L*(" @($-L<E-C<CL*
M(" @(%=2251%3$X@*&)E;&PI.PH@(" @1&5L87D@*#$P,# I.PH@(" @5U))
M5$5,3B H8F5L;"D["B @("!$96QA>2 H,3 P,"D["B @("!74DE412 H8F5L
M;"P@)U%U:70@<$9/4DU!5"<I.PH@(%5.5$E,('5S97)?<V%Y<U]Y97,["B @
M3F]R;59I9&5O.PI%3D0N("![+2TM+2TM+2TM+2TM+2TM+2TM+2TM+2TM+2TM
M+2TM+2TM+2TM+2TM+2TM+2TM+2TM+2TM+2TM+2TM+2TM+2TM<$9O<FUA='T*
 
end
@eof
set `sum $sumopt <pformat.pas`; if test $1 -ne 1537
then
	echo ERROR: pformat.pas checksum is $1 should be 1537
fi
set `wc -lwc <pformat.pas`
if test $1$2$3 != 1076368529835
then
	echo ERROR: wc results of pformat.pas are $* should be 1076 3685 29835
fi

chmod 644 pformat.pas

rm -f /tmp/unpack$$
exit 0

flash@chaplin.ccs.uwo.ca (Andrew Marshall) (07/26/90)

I am also looking for a Pascal pretty printer, as I have a number of
example programs that I need to format in a consistent manner for a
course manual.
I'd be interested in any pretty printer programs, or pointers to programs,
written in Turbo Pascal (the ideal), C, or Emacs Lisp.

Thanks.
Andrew D. Marshall (flash@csd.uwo.ca)
Computer Science Department
University of Western Ontario
London, Canada