New collective chapter

Tony Skjellum (tony@Aurora.CS.MsState.Edu)
Wed, 17 Jul 1996 11:15:54 -0500

Here is the new collective chapter. For those who prefer,
please ftp from aurora.cs.msstate.edu, dir: pub/mpi/collective-17jul96.ps.Z

Thanks,
Tony

%!PS (but not EPSF; comments have been disabled)
%DVIPSCommandLine: dvips -o temp.ps temp
%DVIPSParameters: dpi=600, compressed, comments removed
%DVIPSSource: TeX output 1996.07.17:1103
/TeXDict 250 dict def TeXDict begin /N{def}def /B{bind def}N /S{exch}N
/X{S N}B /TR{translate}N /isls false N /vsize 11 72 mul N /hsize 8.5 72
mul N /landplus90{false}def /@rigin{isls{[0 landplus90{1 -1}{-1 1}
ifelse 0 0 0]concat}if 72 Resolution div 72 VResolution div neg scale
isls{landplus90{VResolution 72 div vsize mul 0 exch}{Resolution -72 div
hsize mul 0}ifelse TR}if Resolution VResolution vsize -72 div 1 add mul
TR[matrix currentmatrix{dup dup round sub abs 0.00001 lt{round}if}
forall round exch round exch]setmatrix}N /@landscape{/isls true N}B
/@manualfeed{statusdict /manualfeed true put}B /@copies{/#copies X}B
/FMat[1 0 0 -1 0 0]N /FBB[0 0 0 0]N /nn 0 N /IE 0 N /ctr 0 N /df-tail{
/nn 8 dict N nn begin /FontType 3 N /FontMatrix fntrx N /FontBBox FBB N
string /base X array /BitMaps X /BuildChar{CharBuilder}N /Encoding IE N
end dup{/foo setfont}2 array copy cvx N load 0 nn put /ctr 0 N[}B /df{
/sf 1 N /fntrx FMat N df-tail}B /dfs{div /sf X /fntrx[sf 0 0 sf neg 0 0]
N df-tail}B /E{pop nn dup definefont setfont}B /ch-width{ch-data dup
length 5 sub get}B /ch-height{ch-data dup length 4 sub get}B /ch-xoff{
128 ch-data dup length 3 sub get sub}B /ch-yoff{ch-data dup length 2 sub
get 127 sub}B /ch-dx{ch-data dup length 1 sub get}B /ch-image{ch-data
dup type /stringtype ne{ctr get /ctr ctr 1 add N}if}B /id 0 N /rw 0 N
/rc 0 N /gp 0 N /cp 0 N /G 0 N /sf 0 N /CharBuilder{save 3 1 roll S dup
/base get 2 index get S /BitMaps get S get /ch-data X pop /ctr 0 N ch-dx
0 ch-xoff ch-yoff ch-height sub ch-xoff ch-width add ch-yoff
setcachedevice ch-width ch-height true[1 0 0 -1 -.1 ch-xoff sub ch-yoff
.1 sub]/id ch-image N /rw ch-width 7 add 8 idiv string N /rc 0 N /gp 0 N
/cp 0 N{rc 0 ne{rc 1 sub /rc X rw}{G}ifelse}imagemask restore}B /G{{id
gp get /gp gp 1 add N dup 18 mod S 18 idiv pl S get exec}loop}B /adv{cp
add /cp X}B /chg{rw cp id gp 4 index getinterval putinterval dup gp add
/gp X adv}B /nd{/cp 0 N rw exit}B /lsh{rw cp 2 copy get dup 0 eq{pop 1}{
dup 255 eq{pop 254}{dup dup add 255 and S 1 and or}ifelse}ifelse put 1
adv}B /rsh{rw cp 2 copy get dup 0 eq{pop 128}{dup 255 eq{pop 127}{dup 2
idiv S 128 and or}ifelse}ifelse put 1 adv}B /clr{rw cp 2 index string
putinterval adv}B /set{rw cp fillstr 0 4 index getinterval putinterval
adv}B /fillstr 18 string 0 1 17{2 copy 255 put pop}for N /pl[{adv 1 chg}
{adv 1 chg nd}{1 add chg}{1 add chg nd}{adv lsh}{adv lsh nd}{adv rsh}{
adv rsh nd}{1 add adv}{/rc X nd}{1 add set}{1 add clr}{adv 2 chg}{adv 2
chg nd}{pop nd}]dup{bind pop}forall N /D{/cc X dup type /stringtype ne{]
}if nn /base get cc ctr put nn /BitMaps get S ctr S sf 1 ne{dup dup
length 1 sub dup 2 index S get sf div put}if put /ctr ctr 1 add N}B /I{
cc 1 add D}B /bop{userdict /bop-hook known{bop-hook}if /SI save N @rigin
0 0 moveto /V matrix currentmatrix dup 1 get dup mul exch 0 get dup mul
add .99 lt{/QV}{/RV}ifelse load def pop pop}N /eop{SI restore userdict
/eop-hook known{eop-hook}if showpage}N /@start{userdict /start-hook
known{start-hook}if pop /VResolution X /Resolution X 1000 div /DVImag X
/IE 256 array N 0 1 255{IE S 1 string dup 0 3 index put cvn put}for
65781.76 div /vsize X 65781.76 div /hsize X}N /p{show}N /RMat[1 0 0 -1 0
0]N /BDot 260 string N /rulex 0 N /ruley 0 N /v{/ruley X /rulex X V}B /V
{}B /RV statusdict begin /product where{pop product dup length 7 ge{0 7
getinterval dup(Display)eq exch 0 4 getinterval(NeXT)eq or}{pop false}
ifelse}{false}ifelse end{{gsave TR -.1 .1 TR 1 1 scale rulex ruley false
RMat{BDot}imagemask grestore}}{{gsave TR -.1 .1 TR rulex ruley scale 1 1
false RMat{BDot}imagemask grestore}}ifelse B /QV{gsave newpath transform
round exch round exch itransform moveto rulex 0 rlineto 0 ruley neg
rlineto rulex neg 0 rlineto fill grestore}B /a{moveto}B /delta 0 N /tail
{dup /delta X 0 rmoveto}B /M{S p delta add tail}B /b{S p tail}B /c{-4 M}
B /d{-3 M}B /e{-2 M}B /f{-1 M}B /g{0 M}B /h{1 M}B /i{2 M}B /j{3 M}B /k{
4 M}B /w{0 rmoveto}B /l{p -4 w}B /m{p -3 w}B /n{p -2 w}B /o{p -1 w}B /q{
p 1 w}B /r{p 2 w}B /s{p 3 w}B /t{p 4 w}B /x{0 S rmoveto}B /y{3 2 roll p
a}B /bos{/SS save N}B /eos{SS restore}B end
TeXDict begin /SDict 200 dict N SDict begin /@SpecialDefaults{/hs 612 N
/vs 792 N /ho 0 N /vo 0 N /hsc 1 N /vsc 1 N /ang 0 N /CLIP 0 N /rwiSeen
false N /rhiSeen false N /letter{}N /note{}N /a4{}N /legal{}N}B
/@scaleunit 100 N /@hscale{@scaleunit div /hsc X}B /@vscale{@scaleunit
div /vsc X}B /@hsize{/hs X /CLIP 1 N}B /@vsize{/vs X /CLIP 1 N}B /@clip{
/CLIP 2 N}B /@hoffset{/ho X}B /@voffset{/vo X}B /@angle{/ang X}B /@rwi{
10 div /rwi X /rwiSeen true N}B /@rhi{10 div /rhi X /rhiSeen true N}B
/@llx{/llx X}B /@lly{/lly X}B /@urx{/urx X}B /@ury{/ury X}B /magscale
true def end /@MacSetUp{userdict /md known{userdict /md get type
/dicttype eq{userdict begin md length 10 add md maxlength ge{/md md dup
length 20 add dict copy def}if end md begin /letter{}N /note{}N /legal{}
N /od{txpose 1 0 mtx defaultmatrix dtransform S atan/pa X newpath
clippath mark{transform{itransform moveto}}{transform{itransform lineto}
}{6 -2 roll transform 6 -2 roll transform 6 -2 roll transform{
itransform 6 2 roll itransform 6 2 roll itransform 6 2 roll curveto}}{{
closepath}}pathforall newpath counttomark array astore /gc xdf pop ct 39
0 put 10 fz 0 fs 2 F/|______Courier fnt invertflag{PaintBlack}if}N
/txpose{pxs pys scale ppr aload pop por{noflips{pop S neg S TR pop 1 -1
scale}if xflip yflip and{pop S neg S TR 180 rotate 1 -1 scale ppr 3 get
ppr 1 get neg sub neg ppr 2 get ppr 0 get neg sub neg TR}if xflip yflip
not and{pop S neg S TR pop 180 rotate ppr 3 get ppr 1 get neg sub neg 0
TR}if yflip xflip not and{ppr 1 get neg ppr 0 get neg TR}if}{noflips{TR
pop pop 270 rotate 1 -1 scale}if xflip yflip and{TR pop pop 90 rotate 1
-1 scale ppr 3 get ppr 1 get neg sub neg ppr 2 get ppr 0 get neg sub neg
TR}if xflip yflip not and{TR pop pop 90 rotate ppr 3 get ppr 1 get neg
sub neg 0 TR}if yflip xflip not and{TR pop pop 270 rotate ppr 2 get ppr
0 get neg sub neg 0 S TR}if}ifelse scaleby96{ppr aload pop 4 -1 roll add
2 div 3 1 roll add 2 div 2 copy TR .96 dup scale neg S neg S TR}if}N /cp
{pop pop showpage pm restore}N end}if}if}N /normalscale{Resolution 72
div VResolution 72 div neg scale magscale{DVImag dup scale}if 0 setgray}
N /psfts{S 65781.76 div N}N /startTexFig{/psf$SavedState save N userdict
maxlength dict begin /magscale true def normalscale currentpoint TR
/psf$ury psfts /psf$urx psfts /psf$lly psfts /psf$llx psfts /psf$y psfts
/psf$x psfts currentpoint /psf$cy X /psf$cx X /psf$sx psf$x psf$urx
psf$llx sub div N /psf$sy psf$y psf$ury psf$lly sub div N psf$sx psf$sy
scale psf$cx psf$sx div psf$llx sub psf$cy psf$sy div psf$ury sub TR
/showpage{}N /erasepage{}N /copypage{}N /p 3 def @MacSetUp}N /doclip{
psf$llx psf$lly psf$urx psf$ury currentpoint 6 2 roll newpath 4 copy 4 2
roll moveto 6 -1 roll S lineto S lineto S lineto closepath clip newpath
moveto}N /endTexFig{end psf$SavedState restore}N /@beginspecial{SDict
begin /SpecialSave save N gsave normalscale currentpoint TR
@SpecialDefaults count /ocount X /dcount countdictstack N}N /@setspecial
{CLIP 1 eq{newpath 0 0 moveto hs 0 rlineto 0 vs rlineto hs neg 0 rlineto
closepath clip}if ho vo TR hsc vsc scale ang rotate rwiSeen{rwi urx llx
sub div rhiSeen{rhi ury lly sub div}{dup}ifelse scale llx neg lly neg TR
}{rhiSeen{rhi ury lly sub div dup scale llx neg lly neg TR}if}ifelse
CLIP 2 eq{newpath llx lly moveto urx lly lineto urx ury lineto llx ury
lineto closepath clip}if /showpage{}N /erasepage{}N /copypage{}N newpath
}N /@endspecial{count ocount sub{pop}repeat countdictstack dcount sub{
end}repeat grestore SpecialSave restore end}N /@defspecial{SDict begin}
N /@fedspecial{end}B /li{lineto}B /rl{rlineto}B /rc{rcurveto}B /np{
/SaveX currentpoint /SaveY X N 1 setlinecap newpath}N /st{stroke SaveX
SaveY moveto}N /fil{fill SaveX SaveY moveto}N /ellipse{/endangle X
/startangle X /yrad X /xrad X /savematrix matrix currentmatrix N TR xrad
yrad scale 0 0 1 startangle endangle arc savematrix setmatrix}N end
TeXDict begin 40258431 52099146 1000 600 600 (temp.dvi)
@start /Fa 4 58 df<EB3F803801FFF03803E0F83807803C48487E001E7F003E1480A2
003C1307007C14C0A400FC14E0AE007C14C0A36CEB0F80A36CEB1F006C131E6C6C5A3803
E0F86CB45A38003F801B277EA521>48 D<13381378EA01F8121F12FE12E01200B3AB487E
B512F8A215267BA521>I<13FF000313E0380E03F0381800F848137C48137E00787F12FC
6CEB1F80A4127CC7FC15005C143E147E147C5C495A495A5C495A010EC7FC5B5B90387001
8013E0EA0180390300030012065A001FB5FC5A485BB5FCA219267DA521>I<137F3801FF
C03807C1E0380F0070001E1378003E7F003C133E007C131EA200FC131FA41580A4007C13
3FA2123C003E137F121E380F01DF3807FF9F3801FE1FD8001013001300A2143E123C007E
133CA25C5C007C5B383003C0381C0780D80FFFC7FCEA03F819277DA521>57
D E /Fb 5 111 df<121EEA7F80A2EAFFC0A4EA7F80A2EA1E000A0A798919>58
D<121EEA7F8012FF13C0A213E0A3127FEA1E601200A413E013C0A312011380120313005A
120E5A1218123812300B1C798919>I<143C14FEA21301A314FCEB00701400AD137E3801
FF803803C7C0EA0703000F13E0120E121C13071238A2EA780F007013C0A2EAF01F148012
00133F14005B137EA213FE5BA212015B0003130E13F0A20007131EEBE01CA2143CEBC038
1478147014E013C13803E3C03801FF00EA007C173E7EBC1F>105
D<ED01C0ED07F0A2150FA316E0ED038092C7FCADEC03E0EC0FF8EC3C3EEC701EECE01FEB
01C001031480EB0780140049133F010E1400131E131C013C5BA290C7127EA215FEA25DA2
1401A25DA21403A25DA21407A25DA2140FA25DA2141FA25DA2143FA292C7FCA25C147EA2
001C13FE007F5BEAFF015C495A495A48485A38F81F80D8783EC8FCEA3FF8EA0FE0245081
BC25>I<D801F0EB0FF0D807FCEB3FFED80F1FEBF01F000E903903C00F80271E0F87007F
001C018E1307003C01DC80003813F85CEA781F00705B5CA200F049130F013F5D000090C7
FCA2161F495D137E163F94C7FC13FE495C167EA200019238FE03804914FCA20301130700
0303F813005B5FEEF00E0007161E49151C5F1778000F6E6C5A49EC7FC0D80380021FC7FC
31297EA737>110 D E /Fc 29 122 df<143814FC13011303EB07F8EB0FF0EB1FC0EB3F
80EB7F0013FE485A485A5B12075B120F5B485AA2123F90C7FCA25A127EA312FE5AAC7E12
7EA3127F7EA27F121FA26C7E7F12077F12037F6C7E6C7E137FEB3F80EB1FC0EB0FF0EB07
F8EB03FC130113001438164272B92C>40 D<127012FC7E7E6C7E6C7EEA0FE06C7E6C7E6C
7E6C7E137F7F1480131F14C0130FEB07E0A214F01303A214F81301A314FC1300AC130114
F8A3130314F0A2130714E0A2EB0FC0131F1480133F14005B13FE485A485A485A485AEA3F
C0485A48C7FC5A5A1270164279B92C>I<EA0F80EA1FE0EA3FF0EA7FF8A213FCA3123F12
1F120F120013F8A21201EA03F01207EA1FE0EA7FC0EAFF80130012FC12700E17718A2C>
44 D<14FE497EA4497FA214EFA2130781A214C7A2010F7FA314C390381F83F0A590383F
01F8A490387E00FCA549137E90B512FEA34880A29038F8003FA34848EB1F80A4000715C0
49130FD87FFEEBFFFC6D5AB514FE6C15FC497E27347EB32C>65 D<02FF13700107EBE0F8
4913F9013F13FD4913FFEBFF813901FE007F4848131FD807F0130F1507485A491303485A
150148C7FCA25A007EEC00F01600A212FE5AAB7E127EA3007F15F06CEC01F8A26C7EA26C
6C13036D14F06C6C130716E0D803FC131F6C6CEB3FC03A00FF81FF806DB512006D5B010F
5B6D13F00100138025357DB32C>67 D<007FB5FCB612C015F0816C803907E003FEEC00FF
ED7F80153FED1FC0ED0FE0A2150716F0150316F81501A4ED00FCACED01F8A3150316F0A2
150716E0150FED1FC0153FED7F80EDFF00EC03FE007FB55AB65A5D15C06C91C7FC26337E
B22C>I<007FB512F8B612FCA36C14F839000FC000B3B3A5007FB512F8B612FCA36C14F8
1E3379B22C>73 D<387FFFE0B57EA36C5BD803F0C8FCB3AE16F0ED01F8A8007FB6FCB7FC
A36C15F025337DB22C>76 D<D87FE0EB0FFC486CEB1FFEA26D133F007F15FC000F15E001
BC137BA4019E13F3A3EB9F01A2018F13E3A21483A2018713C314C7A201831383A214EFA2
01811303A214FFEB80FEA3147C14381400ACD87FF0EB1FFC486CEB3FFEA36C48EB1FFC27
337EB22C>I<EB7FFF0003B512E0000F14F848804880EBE003EB800048C7127FA2007E80
A300FE158048141FB3A86C143FA2007E1500A3007F5CA26C6C13FEEBF00790B5FC6C5C6C
5C000314E0C66C90C7FC21357BB32C>79 D<007FB512C0B612F88115FF6C15802603F000
13C0153FED0FE0ED07F0A2150316F81501A6150316F01507A2ED0FE0ED3FC015FF90B612
80160015FC5D15C001F0C8FCB0387FFF80B57EA36C5B25337EB22C>I<3801FFF0000713
FE001F6D7E15E048809038C01FF81407EC01FC381F80000006C77EC8127EA3ECFFFE131F
90B5FC1203120F48EB807E383FF800EA7FC090C7FC12FE5AA47E007F14FEEB8003383FE0
1F6CB612FC6C15FE6C14BF0001EBFE1F3A003FF007FC27247CA32C>97
D<903803FFE0011F13F8017F13FE48B5FC48804848C6FCEA0FF0485A49137E4848131890
C9FC5A127EA25AA8127EA2127F6C140F6DEB1F806C7E6D133F6C6CEB7F003907FE03FF6C
B55A6C5C6C6C5B011F13E0010390C7FC21247AA32C>99 D<EC0FFE4A7EA380EC003FAAEB
07F8EB3FFE90B512BF4814FF5A3807FC0F380FF00348487E497E48487F90C7FC007E80A2
12FE5AA87E007E5CA2007F5C6C7E5C6C6C5A380FF0073807FC1F6CB612FC6CECBFFE6C14
3FEB3FFC90390FF01FFC27337DB22C>I<EB03FE90381FFFC0017F13F048B57E48803907
FE03FE390FF800FFD81FE0EB3F805B4848EB1FC090C7120F5A007E15E015075AB7FCA416
C000FCC9FC7E127EA2127F6CEC03C06DEB07E06C7ED80FF0130F6C6CEB3FC001FF13FF00
0190B512806C1500013F13FC010F13F00101138023247CA32C>I<EC0FF8EC3FFE91B5FC
4914805B903807FC7F14F090390FE03F0014C092C7FCA6007FB512FEB7FCA36C5C26000F
C0C7FCB3A8003FB512F04880A36C5C21337DB22C>I<1307EB1FC0A2497EA36D5AA20107
C7FC90C8FCA7387FFFC080B5FC7EA2EA0007B3A8007FB512FCB612FEA36C14FC1F3479B3
2C>105 D<140EEC3F80A2EC7FC0A3EC3F80A2EC0E0091C7FCA748B512804814C0A37EC7
120FB3B3A2141F003C1480007E133FB414005CEB01FEEBFFFC6C5B5C001F5B000790C7FC
1A467CB32C>I<387FFFE0B57EA37EEA0003B3B3A5007FB61280B712C0A36C158022337B
B22C>108 D<3A7F83F007E09039CFFC1FF83AFFDFFE3FFCD87FFF13FF91B57E3A07FE1F
FC3E01FCEBF83F496C487E01F013E001E013C0A301C01380B33B7FFC3FF87FF0027F13FF
D8FFFE6D13F8D87FFC4913F0023F137F2D2481A32C>I<397FF01FE039FFF87FFC9038F9
FFFE01FB7F6CB6FC00019038F03F80ECC01F02807FEC000F5B5BA25BB3267FFFE0B5FCB5
00F11480A36C01E0140029247FA32C>I<EB07FCEB1FFF017F13C048B512F048803907FC
07FC390FF001FE48486C7E0180133F003F158090C7121F007EEC0FC0A348EC07E0A76C14
0F007E15C0A2007F141F6C15806D133F6C6CEB7F006D5B6C6C485A3907FC07FC6CB55A6C
5C6C6C13C0011F90C7FCEB07FC23247CA32C>I<397FF01FE039FFF8FFF801FB13FE90B6
FC6C158000019038F07FC09138801FE091380007F049EB03F85BED01FC491300A216FE16
7EA816FE6D14FCA2ED01F86D13036DEB07F0150F9138801FE09138E07FC091B512801600
01FB5B01F813F8EC3FC091C8FCAD387FFFE0B57EA36C5B27367FA32C>I<903903FC0780
90391FFF0FC0017F13CF48B512EF4814FF3807FE07380FF00148487E49137F4848133F90
C7FC48141F127E150F5AA87E007E141FA26C143F7F6C6C137F6D13FF380FF0033807FC0F
6CB6FC6C14EF6C6C138F6D130FEB07F890C7FCAD0203B5FC4A1480A36E140029367DA32C
>I<D87FFEEB3FC0B53801FFF0020713F8021F13FC6C5B39003F7FE1ECFF019138FC00F8
4A13704A13005CA25C5CA391C8FCAF007FB512E0B67EA36C5C26247EA32C>I<90387FF8
700003B512F8120F5A5A387FC00F387E00034813015AA36CEB00F0007F140013F0383FFF
C06C13FE6CEBFF80000314E0C66C13F8010113FCEB0007EC00FE0078147F00FC143F151F
7EA26C143F6D133E6D13FE9038F007FC90B5FC15F815E000F8148039701FFC0020247AA3
2C>I<131E133FA9007FB6FCB71280A36C1500D8003FC8FCB1ED03C0ED07E0A5EC800F01
1FEB1FC0ECE07F6DB51280160001035B6D13F89038003FE0232E7EAD2C>I<3A7FF003FF
80486C487FA3007F7F0001EB000FB3A3151FA2153F6D137F3900FE03FF90B7FC6D15807F
6D13CF902603FE07130029247FA32C>I<3A7FFF01FFFCB5008113FE148314816C010113
FC3A03E0000F806C7E151F6D140012005D6D133E137C017E137E013E137CA2013F13FC6D
5BA2EB0F815DA2EB07C1ECC3E0A2EB03E3ECE7C0130114F75DEB00FFA292C7FC80A2143E
A2147E147CA214FC5CA2EA0C01003F5BEA7F83EB87E0EA7E0F495A387FFF806C90C8FC6C
5A6C5AEA07E027367EA32C>121 D E /Fd 1 16 df<EB0FE0EB7FFC497E0003EBFF8048
14C04814E04814F04814F8A24814FCA3B612FEA86C14FCA36C14F8A26C14F06C14E06C14
C06C1480C6EBFE006D5AEB0FE01F207BA42A>15 D E /Fe 6 115
df<1780EE03C0160FEE3F80EEFE00ED03F8ED0FE0ED3F8003FEC7FCEC03F8EC0FE0EC3F
8002FEC8FCEB03F8EB0FE0EB3F8001FEC9FCEA03F8EA0FE0EA3F8000FECAFC12F812FEEA
3F80EA0FE0EA03F8EA00FEEB3F80EB0FE0EB03F8EB00FEEC3F80EC0FE0EC03F8EC00FEED
3F80ED0FE0ED03F8ED00FEEE3F80EE0FC01603EE00802A2B7AA537>60
D<EB07E0EB1FF890387C1CE0EBF80D3801F00F3803E007EA07C0120FD81F8013C0A2EA3F
00140F481480127EA2141F00FE14005AA2EC3F02EC3E06A25AEC7E0E007CEBFE0C14FC01
01131C393E07BE18391F0E1E38390FFC0FF03903F003C01F1F7D9D25>97
D<1307EB0F80EB1FC0A2EB0F80EB070090C7FCA9EA01E0EA07F8EA0E3CEA1C3E12381230
1270EA607EEAE07C12C013FC485A120012015B12035BA21207EBC04014C0120F13801381
381F01801303EB0700EA0F06131EEA07F8EA01F0122E7EAC18>105
D<131FEA03FFA2EA003FA2133EA2137EA2137CA213FCA25BA2120115F89038F003FCEC0F
0E0003EB1C1EEC387EEBE07014E03807E1C09038E3803849C7FC13CEEA0FDC13F8A2EBFF
80381F9FE0EB83F0EB01F81300481404150C123EA2007E141C1518007CEBF038ECF83000
FC1470EC78E048EB3FC00070EB0F801F2F7DAD25>107 D<3907C007E0391FE03FF83918
F8783E393879E01E39307B801F38707F00126013FEEAE0FC12C05B00815C0001143E5BA2
0003147E157C5B15FC0007ECF8081618EBC00115F0000F1538913803E0300180147016E0
001F010113C015E390C7EAFF00000E143E251F7E9D2B>110 D<3807C01F390FF07FC039
1CF8E0E0383879C138307B8738707F07EA607E13FC00E0EB03804848C7FCA2128112015B
A21203A25BA21207A25BA2120FA25BA2121FA290C8FC120E1B1F7E9D20>114
D E /Ff 1 81 df<BB12FC86A3D87FC0C9001F7FF0007F6C6C17076C6C050113806C6CEF
007F1A1F6C6CF00FC06C6C18076C6C1803F201E06C6D17006D6C1860013F19706E18306D
7E6D6C18181B006D7E6D7E6D7EA26D7F6E7E6E7EA26E7E6E7E6E7EA26E7E6E7E80826F7E
6F7EA26F7E6F7E6F5A5EA24B5A5E4BCBFC153E157E5D5D4A5A4A5A14075D4A5A4ACCFC14
3E147E147C5C4948181801031930495A4A18704948186049CC12E0491801017EF003C001
7C180749180F4848F01F800003197F49EF01FF4848050713004848173F48CA000FB5FC48
BA5AA25ABB5AA24D537B7F58>80 D E /Fg 42 121 df<EB01F0EB03E0EB07C0EB0F8013
1FEB3F00133E137E5BA2485A12035B12075BA2120F5B121FA25B123FA390C7FCA25AA512
7E12FEB2127E127FA57EA27FA3121F7FA2120F7F1207A27F12037F12016C7EA2137E133E
133FEB1F80130FEB07C0EB03E0EB01F0145279BD20>40 D<12F8127C7E7E7F6C7E12077F
6C7EA26C7E7F12007F137EA2137F7F1480A2131F14C0A3130FA214E0A5130714F0B214E0
130FA514C0A2131FA31480133FA214005B137EA213FE5B12015B485AA2485A5B120F485A
90C7FC123E5A5A14527CBD20>I<B512FCA516057F941C>45 D<EB0FF8EB7FFF48B512C0
488048804880391FF01FFC9038C007FE393F0001FF003E7F007E1580007C147F00FC143F
5A007815C012380030141F1210C8FCA2153FA21680A2157F160015FEA24A5A4A5A4A5A4A
5A4A5A4A5A4AC7FC14FE495A495A495AEB0FC0495A49C8FC137E5B485A485A485A485A48
5A48C9FC48B612C0A622387DB72A>50 D<EC07F8A24A7EA24A7EA2157EEC3F7F143EA291
387E3F80A2147C02FC7F151FA2D901F87F150F01038014F0A201076D7E14E0A2010F6D7E
14C0A2011F6D7E1480013F808191C7FC4981167F137E01FE6E7E90B7FCA24882A3D803F8
C7EA0FF05B00078216075B000F8216035B001F8216015B003F6F7EA248C91380177F127E
00FE17C0323A7EB937>65 D<913803FF80021F13F891B6FC4915C013075B4948C61380D9
7FF0130FD9FFC013034A13014890C9FC485A485A5B120F5B485AA2485AA3485AA448CAFC
AC6C7EA46C7EA36C7EA26C7E7F12077F6C7E6C6C15206C6D14E06E1301D97FF0130FD91F
FE137F6DB6FC6D15C0010115006D5C021F13F0020313802B3E7BBB35>67
D<B612C015F815FE6F7E16E090C77FED3FF8ED0FFCED03FE6F7E81EE7F8017C0163FEE1F
E0A2EE0FF0A2160717F8A31603A217FCAB17F8A21607A217F0160FA2EE1FE0A2EE3FC0A2
EE7F8016FF4B13004B5AED0FFCED3FF8EDFFF090B65A168093C7FC15F815C02E3A78B93C
>I<B712F0A690C9FCB390B612C0A590C9FCB3A390B612FCA7263A78B932>I<B712F0A690
C9FCB3A290B6FCA590C9FCB3A9243A79B92F>I<913803FF80023F13F891B512FE0103EC
FFC04915E05B90383FFE00D97FF0EB1FC0D9FFC013074A13014890C8124048481500485A
5B120F5B485AA2485AA3485AA448CAFCA992383FFFF0A36C7EA2ED0007A26C7EA36C7EA2
6C7E7F12077F6C7E6C7E6C7F80EB7FF0D93FFE137F010FB6FC7F6D15C001001500023F13
F8020313802C3E7BBB37>I<B4ED3FC0B3A790B7FCA590C8123FB3AA2A3A78B93B>I<12FF
B3B3B3A4083A79B917>I<B4FCB3B3B090B612C0A6223A79B92D>76
D<D8FFC0ED07FFA36D5DA26D5D00FE177FA26D153F0178153EA2017C157EA26D15FCA301
3F14016D15F8A26E1303010F15F06E1307A2010715E06E130FA2010315C06E131FA20101
15806E133FA2010015006E5B027C137E027E13FEA2023E5BEC3F01A2021F5B1583A2020F
5B15C702075BA3913803EFC0A215FF6E5BA26E90C7FCA392C8FCA2383A78B949>I<D8FF
E0EC1FC0A27FA27FA2487EA2137EA2137F7F80131FA26D7EA28013078013038013018013
0080A2147FA2EC3F80A2EC1FC0A2140F15E0140715F0140315F8140115FC1400A2157EA2
157F153F169F151FA2ED0FDFA2ED07FFA281A281A22A3A78B93B>I<EC07F891387FFF80
49B512E04980010F14FC90391FFC0FFE90393FE001FF903A7F80007F8049C76C7E48486E
7E48486E7E49140700078248486E7E491401001F82491400A2003F824981007F1780A390
C9123FA24817C0AC6C6CED7F80A56C6CEDFF00A26D5C001F5EA26C6C4A5AA26C6C4A5A6C
6C4A5A6D141F00015E6C6C4A5AD97FC0EBFF806D6C4890C7FC90391FFC0FFE6DB55A6D5C
010114E06D6C1380DA07F8C8FC323E7BBB3D>I<B612C015F815FF8216E090C77FED1FF8
ED07FC15036F7E150082821780A2163FA4167FA217005E5E15014B5A1507ED1FF8EDFFF0
90B65A168093C7FC15F815C090CAFCB3A6293A79B935>I<B67E15F815FE6F7E8290C77F
ED1FF06F7EED03FC150182150082A282A35EA25E15015E1503ED0FF84B5AEDFFE090B65A
5E4BC7FC15F815E09038000FF01407811403811401816E7E8182153F826F7EA26F7EA26F
7E1503826F7EA26F7EA2EE7F80EE3FC0A2EE1FE02B3A78B936>82
D<EB03FF011F13F0017F13FE48B612804815C05A4848C6FCD81FF0EB1F80484813070180
1303007F140090C9FCA212FEA67E7E7F7FEA3FF013FC381FFFC06C13FC6CEBFF806C14E0
6C14F86C80013F7F01077FD9007F1380020713C0020013E0157FED1FF0150FA2ED07F8A2
1503A6ED07F0124012600078EC0FE0007C141FB4EC3FC001C0EBFF80EBFC036CB6120000
1F5C6C14F800015C6C6C13C0D907FEC7FC253E7CBB2E>I<B912C0A6C7D807F8C8FCB3B3
B0323A7DB939>I<B4ED1FC0B3B3A76CED3F807FA36C6CEC7F00A26C6C14FE6C6C13016D
495A6C6C495A6C6CEB1FF03A01FFC07FE06C90B55A013F5C6D49C7FC010713F89038007F
C02A3C79B939>I<B46CED07F0007FEE0FE0A27F003FEE1FC0A26C6CED3F80A27F000FEE
7F00A27F000716FEA26C6C4A5AA27F00014B5AA27F6C4B5AA26D6C5C160F80013F4A5AA2
80011F4A5AA26D6C91C7FC5EA26D6C137E16FEA26D6C5B150101015C14FE150301005C14
FF1507027F5B158791383F8FC0A215CF021F5B15DF020F90C8FC15FFA26E5AA36E5A343A
7FB937>I<EB1FF0EBFFFC000313FF000F14804814C09038E01FE09038000FF0001C1307
0018EB03F81210C7FCEC01FCA7143FEB0FFF90B5FC1203120F381FFE01EA3FE0EA7F8013
0012FEA414037E387F800FEBE03F6CB5FC7E6C13F96C13E1D801FEC7FC1E287DA628>97
D<12FEB3A2EB01FCEB0FFF013F13C090B57EB67E9038F03FF8EBC007496C7EEB0001486D
7EA2157FA3ED3F80AAED7F00A35D5D14016C5CEB80039038C00FF89038F03FF090B55A48
5C6D5BD91FFEC7FC380007F8213B7AB92B>I<EB03FE90381FFFC0017F13E090B512F848
14FC3803FC033907F8007CD80FE01338484813081500485AA248C8FCA3127E12FEA9127F
A36C7EA26D1302001F14066C6C131E6C6C137E9038FC03FE6CB5FCC614FC6D13F0011F13
C0903807FC001F287DA625>I<ED3F80B3A2EB0FE0EB3FFC90B5FC4814BF4814FF3807FE
07380FF801381FE00049137F003F143F5B127F90C7FCA312FEAA127FA36C7E157F6C7E6D
13FF380FF0033807FE076CB512BF6C143F6C13FEEB7FF8D90FE0C7FC213B7DB92B>I<EB
07F8EB1FFE90387FFF8048B512C04814E03907FC0FF0390FF003F8EBE001391FC000FC49
137C003F147E90C7123E5A127E151F12FEB7FCA500FCC8FCA27EA2127EA2127F7E7F6C7E
6D13026C6C130E6C6C133E3903FE01FE6CB5FC6C14FC6D13F0011F13C0903803FE002028
7EA625>I<14FF010713C05B5B5BEB7F819038FE0040491300485AA21203ACB512FCA5D8
03F8C7FCB3AE1A3B7FBA19>I<903907E001F890383FFC1F90397FFEFFFC48B6FC5A9039
F81FF8003907F00FE048486C7EEBC003A248486C7EA76C6C485AA2EBE0076C6C485A6C6C
485A48B5FC5D4849C7FCEB3FFC381F07E090C9FCA37F7F6CB512C015F815FE6CECFF8016
C04815E05A3A3F80007FF048C7120F007EEC03F8481401A46C1403007E15F0D87F80130F
6C6CEB1FE03A1FFC01FFC06CB612806C1500000114FC6C6C13F0010790C7FC26387EA52A
>I<12FEB3A2EB01FC90380FFF804913C0017F13E090B512F039FFF81FF8EBE007EBC003
018013FC14011300A35AB3A71E3A7AB92B>I<12FFA81200AC127FB3B308397BB814>I<12
FEB3B3B3A4073A7AB914>108 D<D901FCEB03F83BFE0FFF801FFF496D481380017F6DB5
12C090B500F114E03CFFF81FFBF03FF0D9E007EBC00F903AC003FF80070180020013F86E
140301005BA3485CB3A735267AA542>I<EB01FC39FE0FFF804913C0017F13E090B512F0
39FFF81FF8EBE007EBC003018013FC14011300A35AB3A71E267AA52B>I<EB03FE90380F
FF80013F13E090B512F848803903FE03FE3907F800FF4848EB7F8049133F4848EB1FC048
48EB0FE0A290C712074815F0A2007E140300FE15F8A9007FEC07F0A36C6CEB0FE0A26C6C
EB1FC06D133F6C6CEB7F806C6CEBFF003903FE03FE6CB55A6C5C6D5B011F13C0D903FEC7
FC25287EA62A>I<903907F03F80EB3FFCEBFFFE48EBFFBF4814FF3807FE07380FF80148
487E5B4848137F5B007F143F90C7FCA312FEA97E7EA27F123F6D137F6C7E15FF380FF801
3807FE0790B6FC6C143FC613FEEB7FF8EB1FE090C7FCAF21367DA52B>113
D<14F0EAFC07130F133F137F13FF00FD130013FCEAFFF05B5BA25B90C7FCA35AB3A41426
7AA51C>I<EB7FE03801FFFC0007EBFF804814C05A383FC03F90380007801401007E90C7
FCA4127FA26C7E13F0EBFF806C13F06C13FC6C7F6C7FC61480131F010013C0143FEC0FE0
A21407A3124012600078EB0FC000FE131F39FFC07F8090B5FC6C1400001F5B000313F838
007FC01B287EA620>I<EA01FCAAB6FCA5D801FCC7FCB3A76D138014013900FF07C014FF
A26D1300EB3FFCEB1FE01A307FAE1E>I<00FEEB01FCB3AA1403A214076C131F387F807F
90B5FC6C13F914F1000F13C1D803FCC7FC1E267AA42B>I<B4EC0FE06CEC1FC0A27F003F
EC3F80A27F001FEC7F00A26C6C137E15FEA26C6C485AA36C6C485AA3D801FC5B14070000
5C13FE140F017E5B137F141F013F5BA2149FD91FBFC7FCA3EB0FBE14FE6D5AA323257FA4
26>I<D87F80EB0FE0003FEC1FC06C6C133F6DEB7F806C6C1400000714FE6C6C485A3801
FC0301FE5B6C6C485A6D485A90383F9FC0EB1FDF6DB45A92C7FC6D5A6D5A1301A2497E13
07497EECDF8090381F9FC090383F0FE0496C7EEBFE0301FC7F00016D7E48486C7E484813
7F120F49EB3F804848EB1FC0484814E0007FEC0FF048C7EA07F8252580A426>120
D E /Fh 21 117 df<B612E0A91B097F9823>45 D<90381FFF8090B512F0000314FC000F
14FF261FF8071380263FC00113C0018014E0486C7E486C14F07FA56C5A4A13E0EA3FC026
0F000313C0C714804A13004A5A4A5A15F04A5A4A5A5D92C7FC14FE5C13015CA25CAA90C9
FCA8EB03F0497E497E497E497EA66D5A6D5A6D5A6D5A24407ABF31>63
D<16FCA24B7EA24B7EA34B7FA24B7FA34B7FA24B7FA34B7F157C03FC7FEDF87FA2020180
EDF03F0203804B7E02078115C082020F814B7E021F811500824A81023E7F027E81027C7F
A202FC814A147F49B77EA34982A2D907E0C7001F7F4A80010F835C83011F8391C87E4983
133E83017E83017C81B500FC91B612FCA5463F7CBE4F>65 D<922607FFC0130E92B500FC
131E020702FF133E023FEDC07E91B7EAE1FE01039138803FFB499039F80003FF4901C013
00013F90C8127F4948151FD9FFF8150F48491507485B4A1503481701485B18004890CAFC
197E5A5B193E127FA349170012FFAC127F7F193EA2123FA27F6C187E197C6C7F19FC6C6D
16F86C6D150119F06C6D15036C6DED07E0D97FFEED0FC06D6CED3F80010F01C0ECFF006D
01F8EB03FE6D9039FF801FFC010091B55A023F15E002071580020002FCC7FC030713C03F
407ABE4C>67 D<B812F8EFFF8018F018FC18FF26003FFCC76C13C005077F05017F716C7E
727E727E727E721380A27213C0A27213E0A21AF084A21AF8A41AFCA5197FA319FFA51AF8
A41AF0A2601AE0A24E13C0A24E13804E1300604E5A4E5A4D485A050713E0057F5BBA5A4E
C7FC18F818C005F8C8FC463E7DBD50>I<BAFCA4198026003FFEC7123F1707170183183F
A2181FF00FC0A31807EE07C0A3F003E0A3160F95C7FC161F163F16FF91B6FCA54AC6FC16
3F161F040F147CA2160719F8A593C71201A219F01803A21807A2180FF01FE0183F18FF17
03173FBAFCA219C0A33E3D7DBC45>I<B71280A526003FFEC7FCB3B3B0B71280A5213E7D
BD28>73 D<B6051FB512C06F5EA26F5EA2D8003F97C7FC6F16F7A26E6CED01E7A26E6CED
03C7A36E6CED0787A26E6CED0F07A26E6C151EA36E6D143CA26E6D1478A26E6D14F0A26F
6CEB01E0A36F6CEB03C0A26F6CEB0780A26F6CEB0F00A36F6C131EA26F6D5AA26F6D5AA2
6F6D5AA393387FF1E0A293383FFBC0A270B45AA37090C7FCA2705AA2705AB600C0031FB6
12C0A2705AA2705A5A3E7CBD63>77 D<B6037FB512E0A2818181D8003F6D9139001F8000
81A281816E7E6E7F6E7F80826E7F6E7F6E7F6E7F157F826F7F6F7F6F7F6F7F81836F7F6F
7F707E701380A27013C07013E07013F07013F87013FCA27013FEEF7FFF71139F7113DF83
19FF8383838384A28484848484A284B600C080197F193F191FA24B3E7DBD52>I<ED3FFF
0203B512F0021F14FE027F6E7E902701FFF80713E00107D9C00013F84990C7EA3FFCD93F
FCEC0FFF49486E7F49486E7F48496E7F4A80488448496F7EA24890C96C7E4884A249161F
003F84A34848701380A400FF19C0AD007F19806D5EA3003F1900A26D5E6C60A26C6D4B5A
A26C6D4B5A6C6D4A5BA26C6D4A5B6C6D4A5B6D6C4A5B6DB4023F90C7FC6D01C0EBFFFE01
07D9F80713F8010190B612E06D5E021F4AC8FC020314F0DA003F90C9FC42407ABE4F>I<
B812F017FF18C018F018FC26003FFCC77FEF1FFF7113807113C07113E0A27113F0A319F8
A819F0A34D13E019C05F4D1380053F1300EFFFFE91B712F860188005FCC7FC4ACAFCB3A4
B77EA53D3E7DBD47>I<B87E17FCEFFF8018F08428003FFC000113FE9338003FFF050F7F
717F717FA2858385A761A25F61614D5B4D90C8FCEF3FFE4CB45A91B712F018C04DC9FC71
7E9126FC000F7F040113F0707F717EA2717EA2717EA685A6F207C019C0A271140F07E013
80B76DEBF01F719038FC3F007190B5FC716C5B061F13F8CB000113E04A3F7DBD4E>82
D<003FB912FCA5903BFE003FFE003FD87FF0EE0FFE01C0160349160190C71500197E127E
A2007C183EA400FC183F48181FA5C81600B3AF010FB712F8A5403D7CBC49>84
D<B76C90B61280A526003FFEC9003EC7FCB3B3A4197E011F177C80A26D17FC616D6D1401
4E5A6D6D4A5A6D6D140F6D01F8EC3FC0DA7FFEECFF8091273FFFC00F90C8FC020F90B512
FC02035D020015E0031F1480030101F8C9FC493F7DBD50>I<ECFFF0010713FE011F6D7E
017F809039FFE07FE0489038801FF048496C7E48486D7E48486D7E121F491301003F81A2
485A6F1380A212FFA290B7FCA401F0C9FCA5127FA27F123FEE0F806C7E161F6C6C15006C
6C5C6C6D137E6C9038E001FC6C9038F80FF8013FB55A6D14C0010391C7FC9038007FF829
2B7DA930>101 D<13FFB5FCA512077EAFED1FF8EDFFFE02036D7E4A80DA0FE07F91381F
007F023C805C4A6D7E5CA25CA35CB3A4B5D8FE0FB512E0A5333F7CBE3A>104
D<13FFB5FCA512077EB3B3AFB512FCA5163F7CBE1D>108 D<01FFEB1FF8B5EBFFFE0203
6D7E4A80DA0FE07F91381F007F0007013C806C5B4A6D7E5CA25CA35CB3A4B5D8FE0FB512
E0A533297CA83A>110 D<EC7FF0903803FFFE011FEBFFC0017F14F09039FFE03FF84890
38800FFC3A03FE0003FE48486D7E000F168048486D13C0A2003F16E049147F007F16F0A4
00FF16F8AA007F16F0A46C6CECFFE0A2001F16C06C6C491380A26C6C4913003A03FF800F
FE6C9038E03FFC6C6CB512F0011F14C0010791C7FC9038007FF02D2B7DA934>I<3901FE
01FE00FF903807FF804A13E04A13F0EC3F1F91387C3FF8000713F8000313F0EBFFE0A291
38C01FF0ED0FE091388007C092C7FCA391C8FCB3A2B6FCA525297DA82B>114
D<EB07C0A5130FA4131FA3133F137FA213FF5A1207001FEBFFFEB6FCA40001EBC000B315
1FA96CEBE03EA2017F137EECF8FC90383FFFF86D13F0010713E001001380203B7EB929>
116 D E /Fi 70 126 df<00101304007C131F00FEEB3F80A26C137FA248133FB2007E14
00007C7F003C131E00101304191C75B830>34 D<D803C0EB01E0D80FF01303486C497E48
7E150F487ED87E7E495AEAFE7F5E486C133FA25E157FA24BC7FC6C5A5D387E7E01EA7FFE
D83FFC5B1403EA1FF86C48485AEA03C0C75B140FA25D141FA24A5AA25D147FA292C8FC5C
A2495AA25C1303A25C1307A290390FF001E0ED07F84A487E011F497EA24A487E133F163F
90267F807F1380ED7E1F14005BA25B1201A24848EB7F3F033F13004914FF12076F5A5B6F
5A6C486D5A0001EC01E029477DBE30>37 D<EB07E0EB1FF8497E137F497E803801FC7F49
7E810003131F13F0A6143F92C8FC91387F0FFF9026F87E1F1380000113FEEBF9FC13FB4A
6C1300D9FFF013C06C13E0151F02C05BEB7F809038FF003F4892C7FC485C48EB807E5A15
FE391FDFC0FC383F8FE014E1397F07F1F8EB03F300FEEBFBF0EB01FF5D7FEDC006027F13
0F91393F801F8015C06C137F6CEBFFE049EBF83F018701FC1300263FFFFBB5FC6C01F15B
14E06C9038C03FFC00039038001FF8D801FCEB07E0293A7DB830>I<EA07C0EA0FF0EA1F
F8A213FCA213FE120F1207EA007EA513FE13FCA2120113F81203EA07F0120FEA1FE0127F
EAFFC013801300127C12380F1D70B730>I<141E147F14FF5BEB03FEEB07FCEB0FF0EB1F
E0EB3FC0EB7F80EBFF00485A5B12035B485A120F5BA2485AA2123F5BA2127F90C7FCA412
FEAD127FA47F123FA27F121FA26C7EA27F12076C7E7F12017F6C7EEB7F80EB3FC0EB1FE0
EB0FF0EB07FCEB03FEEB01FF7F147F141E184771BE30>I<127812FE7E7F6C7E6C7EEA0F
F06C7E6C7E6C7E6C7EEB7F80133F14C0131FEB0FE014F01307A2EB03F8A214FC1301A214
FE1300A4147FAD14FEA4130114FCA2130314F8A2EB07F0A2130F14E0EB1FC0133F148013
7FEBFF00485A485A485A485AEA3FE0485A485A90C7FC5A1278184778BE30>I<14E0497E
497EA60038EC0380007EEC0FC0D8FF83EB3FE001C3137F9038F3F9FF267FFBFB13C06CB6
1280000FECFE00000314F86C5C6C6C13C0011F90C7FC017F13C048B512F04880000F14FE
003FECFF80267FFBFB13C026FFF3F913E09038C3F87F0183133FD87E03EB0FC00038EC03
80000091C7FCA66D5A6D5A23277AAE30>I<EA03E0EA0FF0EA1FF813FCEA3FFEA213FFA2
7EA27E1203EA007FA2137E13FEEA01FC1203EA07F8EA3FF0127FEAFFE0EA7F801300123C
1019708B30>44 D<007FB612F0A2B712F8A36C15F0A225077B9E30>I<120FEA3FC0EA7F
E0A2EAFFF0A4EA7FE0A2EA3FC0EA0F000C0C6E8B30>I<16F01501ED03F8A21507A2ED0F
F0A2ED1FE0A2ED3FC0A2ED7F80A2EDFF00A24A5AA25D1403A24A5AA24A5AA24A5AA24A5A
A24A5AA24AC7FCA2495AA25C1303A2495AA2495AA2495AA2495AA2495AA249C8FCA2485A
A25B1203A2485AA2485AA2485AA2485AA2485AA248C9FCA25AA2127CA225477BBE30>I<
14FE903807FFC0497F013F13F8497F90B57E48EB83FF4848C6138049137F4848EB3FC048
48EB1FE049130F001F15F0491307A24848EB03F8A290C712014815FCA400FEEC00FEAD6C
14016C15FCA36D1303003F15F8A26D1307001F15F0A26D130F6C6CEB1FE0A26C6CEB3FC0
6C6CEB7F806D13FF2601FF8313006CEBFFFE6D5B6D5B010F13E06D5BD900FEC7FC273A7C
B830>I<EB03C0497EA2130FA2131FA2133F137F13FF1203123FB5FCA213EF138FEA7E0F
1200B3B0003FB512F84814FCB612FEA26C14FC6C14F81F3977B830>I<EC03FC4A7E140F
141FA2143F147F157E14FEA2EB01FCEB03F8A2EB07F0A2EB0FE0EB1FC0A2EB3F80A2EB7F
0013FEA2485A485AA2485AA2485A485AA2485AA248C7FC12FEB8FC1780A46C1600C8007E
C7FCAA91387FFFFE91B6FCA46E5B29397DB830>52 D<000FB612804815C05AA316800180
C8FCAEEB83FF019F13C090B512F015FC8181D9FE0313809039F0007FC049133F0180EB1F
E06CC7120F000E15F0C81207A216F81503A31218127EA2B4FC150716F048140F6C15E06C
141F6DEB3FC06D137F3A3FE001FF80261FFC0F13006CB55A6C5C6C5C6C14E06C6C1380D9
0FFCC7FC25397BB730>I<120FEA3FC0EA7FE0A2EAFFF0A4EA7FE0A2EA3FC0EA0F00C7FC
AF120FEA3FC0EA7FE0A2EAFFF0A4EA7FE0A2EA3FC0EA0F000C276EA630>58
D<EA03C0EA0FF0EA1FF8A2EA3FFCA4EA1FF8A2EA0FF0EA03C0C7FCAFEA03C0EA0FF0121F
13F8123F13FCA3121FA2120F12031200120113F8120313F01207EA1FE0123FEA7FC0EAFF
80EA7F00127E12380E3470A630>I<007FB7FCA2B81280A36C16006C5DCBFCA7003FB612
FE4881B81280A36C1600A229157DA530>61 D<147F4A7EA2497FA4497F14F7A401077F14
E3A3010F7FA314C1A2011F7FA490383F80FEA590387F007FA4498049133F90B6FCA34881
A39038FC001F00038149130FA4000781491307A2D87FFFEB7FFFB56CB51280A46C496C13
0029397DB830>65 D<007FB512F0B612FE6F7E82826C813A03F8001FF815076F7E1501A2
6F7EA615015EA24B5A1507ED1FF0ED7FE090B65A5E4BC7FC6F7E16E0829039F8000FF8ED
03FC6F7E1500167FA3EE3F80A6167F1700A25E4B5A1503ED1FFC007FB6FCB75A5E16C05E
6C02FCC7FC29387EB730>I<91387F803C903903FFF03E49EBFC7E011F13FE49EBFFFE5B
9038FFE07F48EB801F3903FE000F484813075B48481303A2484813015B123F491300A212
7F90C8FC167C16005A5AAC7E7EA2167C6D14FE123FA27F121F6D13016C6C14FCA26C6CEB
03F86D13076C6CEB0FF03901FF801F6C9038E07FE06DB512C06D14806D1400010713FC6D
13F09038007FC0273A7CB830>I<003FB512E04814FCB67E6F7E6C816C813A03F8007FF0
ED1FF8150F6F7E6F7E15016F7EA2EE7F80A2163F17C0161FA4EE0FE0AC161F17C0A3163F
1780A2167F17005E4B5A15034B5A150F4B5AED7FF0003FB65A485DB75A93C7FC6C14FC6C
14E02B387FB730>I<007FB7FCB81280A47ED803F8C7123FA8EE1F0093C7FCA4157C15FE
A490B5FCA6EBF800A4157C92C8FCA5EE07C0EE0FE0A9007FB7FCB8FCA46C16C02B387EB7
30>I<003FB712804816C0B8FCA27E7ED801FCC7121FA8EE0F8093C7FCA5153E157FA490
B6FCA69038FC007FA4153E92C8FCAE383FFFF8487FB5FCA27E6C5B2A387EB730>I<02FF
13F00103EBC0F8010F13F1013F13FD4913FF90B6FC4813C1EC007F4848133F4848131F49
130F485A491307121F5B123F491303A2127F90C7FC6F5A92C8FC5A5AA892B5FC4A14805C
A26C7F6C6D1400ED03F8A27F003F1407A27F121F6D130F120F7F6C6C131FA2D803FE133F
6C6C137FECC1FF6C90B5FC7F6D13FB010F13F30103EBC1F0010090C8FC293A7DB830>I<
007FB6FCB71280A46C1500260007F0C7FCB3B3A8007FB6FCB71280A46C1500213879B730
>73 D<383FFFF8487FB57EA26C5B6C5BD801FCC9FCB3B0EE0F80EE1FC0A9003FB7FC5AB8
FCA27E6C16802A387EB730>76 D<D83FF8ECFFE0486C4913F0486C4913F8A2007F16F06C
6C4913E00007160001EF14BFEC800FA39039E7C01F3FA4ECE03F01E3133EA2ECF07EA201
E1137CA2ECF8FCA201E013F8A214FDEC7DF0A3147FEC3FE0A3EC1FC0A2EC070091C7FCAD
D83FFC903801FFE0486C4913F0B54913F8A26C486D13F06C486D13E02D387FB730>I<D8
3FFC90381FFF80486C4913C0B54913E0A26C6D6C13C06C6E13800003913801F800EBF7C0
A3EBF3E0A314F013F1A214F8A213F014FCA2147C147EA2143E143FA2141FA21581A2140F
15C1A2140715E1A2140315F1A21401A215F91400A3157DA3153FEA3FFF481380B5EAC01F
A26CEB800F6C496C5A2B387EB730>I<90383FFFE048B512FC000714FF4815804815C048
15E0EBF80001E0133FD87F80EB0FF0A290C71207A44815F8481403B3A96C1407A26C15F0
A36D130FA26D131F6C6CEB3FE001F813FF90B6FC6C15C06C15806C1500000114FCD8003F
13E0253A7BB830>I<007FB512F0B612FE6F7E16E0826C813903F8003FED0FFCED03FE15
016F7EA2821780163FA6167F17005EA24B5A1503ED0FFCED3FF890B6FC5E5E16804BC7FC
15F001F8C9FCB0387FFFC0B57EA46C5B29387EB730>I<003FB57E4814F0B612FC15FF6C
816C812603F8017F9138003FF0151F6F7E15071503821501A515035E1507150F4B5A153F
4AB45A90B65A5E93C7FC5D8182D9F8007FED3FE0151F150F821507A817F8EEF1FCA53A3F
FF8003FB4801C0EBFFF8B56C7E17F06C496C13E06C49EB7FC0C9EA1F002E397FB730>82
D<90390FF803C0D97FFF13E048B512C74814F74814FF5A381FF80F383FE001497E484813
7F90C7123F5A48141FA2150FA37EED07C06C91C7FC7F7FEA3FF0EA1FFEEBFFF06C13FF6C
14E0000114F86C80011F13FF01031480D9003F13C014019138007FE0151FED0FF0A2ED07
F8A2007C140312FEA56C140716F07F6DEB0FE06D131F01F8EB3FC001FF13FF91B5128016
0000FD5CD8FC7F13F8D8F81F5BD878011380253A7BB830>I<003FB712C04816E0B8FCA4
3AFE003F800FA8007CED07C0C791C7FCB3B1011FB5FC4980A46D91C7FC2B387EB730>I<
3B7FFFC007FFFCB56C4813FEA46C496C13FCD803F8C7EA3F80B3B16D147F00011600A36C
6C14FE6D13016D5CEC800390393FE00FF890391FF83FF06DB55A6D5C6D5C6D91C7FC9038
007FFCEC1FF02F3980B730>I<D87FFE90380FFFC0B54913E06E5AA24A7E6C486D13C0D8
07F0903801FC00A26D130300035DA46C6C495AA46C6C495AA46D131F6D5CA3EC803F013F
5CA46D6C48C7FCA490380FE0FEA401075B14F1A301035BA314FB01015BA314FFA26D5BA4
6E5A6E5A2B397EB730>I<D83FFC903801FFE0486C4913F000FF16F8A2007F16F06C486D
13E0D81FC09038001FC0000F1680A76D143F00071600A7000390380F803E9039F01FC07E
EC3FE0A3EC7FF0A2147D0001157CA29039F8FDF8FCA314F8A300005D01F913FCA2ECF07C
A201FD137DA2017D5CECE03DA3017F133FA2ECC01FA2013F5CA2EC800F6D486C5A2D397F
B730>I<D87FFF90381FFFC0B56C4813E0A46C496C13C0D803F8903803F8006D1307A26C
6C495AA26C6C5C151F6D5CEC803F013F5CECC07F011F91C7FCA290380FE0FEA214F10107
5BA2903803FBF8A201015B14FF6D5BA26E5AA36E5AB1903803FFF8497F497FA26D5B6D5B
2B387EB730>89 D<007FB5FCB61280A4150048C8FCB3B3B3A5B6FC1580A46C140019476D
BE30>91 D<007FB5FCB61280A47EC7123FB3B3B3A5007FB5FCB6FCA46C140019477DBE30
>93 D<007FB612F0A2B712F8A36C15F0A225077B7D30>95 D<EB3FFC48B57E4814E04880
488048809038F00FFE9038E001FF806F7E6C48133F6C4880C8121FA491B5FC130F137F48
B6FC12075A48EBC01F383FFC00EA7FE0138048C7FC5AA46C143FA26C6C137F9038C001FF
263FF80FEBFFC06CB712E0A2000714F76C14C3C6020013C0D93FF090C7FC2B2A7CA830>
97 D<EA3FFC487E12FFA2127F123F1200AAEC03FE91381FFF80027F13E091B57E90B612
FC82ECFE079138F001FF4A6C13804A137F4AEB3FC091C7121F4915E0160FA217F01607A8
160FA217E07F161F6EEB3FC0A26EEB7F806E13FFDAF00313009138FC0FFE91B55A5E495C
D97E7F13C0D93C1F90C7FC90380003FC2C3980B730>I<ECFFE0010713FC011F7F017F7F
90B612804815C048EB807F3907FC003F485A485A49EB1F804848EB0F004990C7FC127F90
C9FCA25A5AA87E7EA27F003FEC07C06DEB0FE06C7E6D131F6C6C14C0D807FE133F9039FF
C0FF806C90B5FCC615006D5B011F13F801075B01011380232A7AA830>I<913801FFE04A
7F5CA28080EC0007AAEB03FE90381FFF874913E790B6FC5A5A481303380FFC00D81FF013
3F49131F485A150F4848130790C7FCA25AA25AA87E6C140FA27F003F141F6D133F6C7E6D
137F390FF801FF2607FE07EBFFC06CB712E06C16F06C14F76D01C713E0011F010313C0D9
07FCC8FC2C397DB730>I<49B4FC010713E0011F13F8017F7F90B57E488048018113803A
07FC007FC04848133FD81FE0EB1FE0150F484814F0491307127F90C7FCED03F85A5AB7FC
A516F048C9FC7E7EA27F003FEC01F06DEB03F86C7E6C7E6D1307D807FEEB1FF03A03FFC0
7FE06C90B5FC6C15C0013F14806DEBFE00010713F8010013C0252A7CA830>I<EDFF8002
0713E0021F13F05C4A13F891B5FC491387903803FE079138FC03F0903907F800C04A1300
A8003FB612C04815E0B7FCA36C15C0260007F0C7FCB3A9003FB512FE4880B71280A26C15
006C5C25397DB830>I<D903FC13FF90261FFF8713C04913DF90B712E05A5A2607FE0713
8F903AF801FE07C048486C6CC7FCA2497F001F8149133FA56D137F000F92C7FC6D5BA26C
6C485AEBFE0790B55A5D485C15C001DF5BD9C3FCC8FC01C0C9FCA37F7F6CB512F015FF6C
15C04815F0488148813A3FE0001FFE0180130148C8127F007E8100FE168048151FA56C15
3F007FED7F006D5C6C6C495A01F013076CB4EB7FFC6C90B55A6C5D000115C06C6C91C7FC
011F13FC010113C02B3E7DA730>I<EA3FFC487E12FFA2127F123F1200AAEC01FE91380F
FF80023F13E091B57E90B67EA29138FE07FCECF8039138E001FE14C0EC8000A291C7FCA2
5BB3A23B3FFFF81FFFF8486D4813FCB500FE14FEA26C01FC14FC6C496C13F82F3880B730
>I<14E0EB03F8A2497EA36D5AA2EB00E091C8FCA9381FFFF8487F5AA27E7EEA0001B3A9
003FB612C04815E0B7FCA27E6C15C023397AB830>I<EC01C0EC07F0A2EC0FF8A3EC07F0
A2EC01C091C7FCA990B512F04814F8A47EEB0003B3B3A5EC07F0A2123C007EEB0FE0B413
1FEC3FC0147F90B512806C14005C6C5B000F13F0000313C01D4E7CB830>I<EA7FF8487E
A4127F1200AB0203B512804A14C017E0A217C06E14809139001FE0004B5A4B5A4BC7FC4A
5A4A5AEC0FF84A5A4A5A4A5A4A5A01FD7F90B57E8114F7ECE3F8ECC1FCEC81FEEC00FF49
7F496D7E6F7E826F7E15076F7E6F7E3B7FFFF81FFFE0B56C4813F017F8A217F06C496C13
E02D387FB730>I<387FFFF8B57EA47EEA0001B3B3A8007FB612F0B712F8A46C15F02538
7BB730>I<02FC137E3B7FC3FF01FF80D8FFEF01877F90B500CF7F15DF92B57E6C010F13
872607FE07EB03F801FC13FE9039F803FC01A201F013F8A301E013F0B3A23C7FFE0FFF07
FF80B548018F13C0A46C486C01071380322881A730>I<EC01FE3A3FFC0FFF80267FFE3F
13E000FF90B57E90B67E7E6C9038FE07FCC6EBF8039138E001FE14C0EC8000A291C7FCA2
5BB3A23B3FFFF81FFFF8486D4813FCB500FE14FEA26C01FC14FC6C496C13F82F2880A730
>I<49B4FC010F13E0013F13F8497F90B57E0003ECFF8014013A07FC007FC04848EB3FE0
D81FE0EB0FF0A24848EB07F8491303007F15FC90C71201A300FEEC00FEA86C14016C15FC
A26D1303003F15F86D13076D130F6C6CEB1FF06C6CEB3FE06D137F3A07FF01FFC06C90B5
12806C15006C6C13FC6D5B010F13E0010190C7FC272A7CA830>I<EC03FE3A3FFC1FFF80
267FFE7F13E000FF90B57E90B612FC6C816CEBFE07C69038F001FF4A6C13804A137F4AEB
3FC091C7121F4915E0160FA217F01607A8160FA217E07F161F6EEB3FC0A26EEB7F806E13
FFDAF00313009138FC0FFE91B55A5E495C6E13C0021F90C7FCEC03FC91C9FCAD383FFFF8
487FB57EA26C5B6C5B2C3C80A730>I<49B413F8010FEBC1FC013F13F14913FD48B6FC5A
481381390FFC007F49131F4848130F491307485A491303127F90C7FC15015A5AA77E7E15
037FA26C6C1307150F6C6C131F6C6C133F01FC137F3907FF01FF6C90B5FC6C14FD6C14F9
013F13F1010F13C1903803FE0190C7FCAD92B512F84A14FCA46E14F82E3C7DA730>I<ED
07F83A3FFF803FFF486DB51280B512C302CF14C06C13DF6C9038FFFC3FD8001F13E09238
801F809238000F004A90C7FC5C5C5CA25CA45CAF003FB512FC4880B7FCA26C5C6C5C2A28
7EA730>I<90381FFC1E48B5129F000714FF5A5A5A387FF007EB800100FEC7FC4880A46C
143E007F91C7FC13E06CB4FC6C13FC6CEBFF806C14E0000114F86C6C7F01037F9038000F
FF02001380007C147F00FEEC1FC0A2150F7EA27F151F6DEB3F806D137F9039FC03FF0090
B6FC5D5D00FC14F0D8F83F13C026780FFEC7FC222A79A830>I<EB0780497E131FA9003F
B612E04815F0B7FCA36C15E026001FC0C7FCB216F8ED01FCA5ECE003010FEB07F814F091
38FC1FF06DB512E06D14C016806D14009038007FFCEC1FF026337EB130>I<D83FFCEB3F
FC486C497E00FF14FFA2007F147F003F143F00001400B3A41501A2150315076D130F903A
7FC07FFFF891B612FC6D15FE7F6D4913FC6D9038F87FF8010001C0C7FC2F2880A630>I<
3B3FFFC07FFF80486DB512C0B515E0A26C16C06C496C13803B01F80003F000A26D130700
005DA26D130F017E5CA2017F131F6D5CA2EC803F011F91C7FCA26E5A010F137EA2ECE0FE
01075BA214F101035BA3903801FBF0A314FF6D5BA36E5A6E5A2B277EA630>I<3B3FFFC0
1FFFE0486D4813F0B515F8A26C16F06C496C13E0D807E0C7EA3F00A26D5C0003157EA56D
14FE00015DEC0F80EC1FC0EC3FE0A33A00FC7FF1F8A2147DA2ECFDF9017C5C14F8A3017E
13FBA290393FF07FE0A3ECE03FA2011F5C90390F800F802D277FA630>I<3A3FFF81FFFC
4801C37FB580A26C5D6C01815BC648C66CC7FC137FEC80FE90383F81FC90381FC3F8EB0F
E3ECE7F06DB45A6D5B7F6D5B92C8FC147E147F5C497F81903803F7E0EB07E790380FE3F0
ECC1F890381F81FC90383F80FE90387F007E017E137F01FE6D7E48486D7E267FFF80B5FC
B500C1148014E3A214C16C0180140029277DA630>I<3B3FFFC07FFF80486DB512C0B515
E0A26C16C06C496C13803B01FC0003F000A2000014076D5C137E150F017F5C7F151FD91F
805BA214C0010F49C7FCA214E00107137EA2EB03F0157C15FCEB01F85DA2EB00F9ECFDF0
147D147FA26E5AA36E5AA35DA2143F92C8FCA25C147EA2000F13FE486C5AEA3FC1EBC3F8
1387EB8FF0EBFFE06C5B5C6C90C9FC6C5AEA01F02B3C7EA630>I<001FB612FC4815FE5A
A316FC90C7EA0FF8ED1FF0ED3FE0ED7FC0EDFF80003E491300C7485A4A5A4A5A4A5A4A5A
4A5A4A5A4990C7FC495A495A495A495A495A495A4948133E4890C7127F485A485A485A48
5A485A48B7FCB8FCA46C15FE28277DA630>I<ED3FF0913803FFF8140F5C147F16F09138
FFF00092C7FC495A5CB3A21303495A133F383FFFF0B55A5C91C8FC14C080003F7F38003F
F813076D7E1301B3A2806D7E15F091387FFFF016F8141F8014039138003FF025477BBE30
>I<127CA212FEB3B3B3AD127CA207476CBE30>I<EA7FE0EAFFFE6D7E8014F07EC66C7E13
076D7E1301B3A2806D7E15E091387FFFE06E13F8801407141F5C4A13E09138FFE00092C7
FC495A5CB3A21303495A137F387FFFF0B5FC14C05C49C8FCEA7FE025477BBE30>I
E /Fj 61 123 df<DA0FF813FC91397FFF07FF903B01F807DF83C0903A07E001FF0F903B
1F8007FE1FE090393F000FFC137E16F85B9338F007804848010790C7FC1503ACB812F8A3
2801F80003F0C7FCB3AB486C497E267FFFE0B512F0A3333B7FBA30>11
D<EC0FF8EC7FFE903901F80780903907E001C090391F8000E090383F0007017E497EA25B
A2485A6F5AED018092C8FCA9ED03F0B7FCA33901F8000F1503B3AA486C497E267FFFE0B5
12C0A32A3B7FBA2E>I<EC0FFC91387FFF70903901F803F0903807E00790381F800FEB3F
00137EA25B150748481303ADB7FCA33901F80003B3AB486C497E267FFFE0B512C0A32A3B
7FBA2E>I<001C131C007F137F39FF80FF80A26D13C0A3007F137F001C131C00001300A4
0001130101801380A20003130301001300485B00061306000E130E485B485B485B006013
601A197DB92A>34 D<121C127FEAFF80A213C0A3127F121C1200A412011380A212031300
5A1206120E5A5A5A12600A1979B917>39 D<146014E0EB01C0EB0380EB0700130E131E5B
5BA25B485AA2485AA212075B120F90C7FCA25A121EA2123EA35AA65AB2127CA67EA3121E
A2121F7EA27F12077F1203A26C7EA26C7E1378A27F7F130E7FEB0380EB01C0EB00E01460
135278BD20>I<12C07E12707E7E7E120F6C7E6C7EA26C7E6C7EA21378A2137C133C133E
131EA2131F7FA21480A3EB07C0A6EB03E0B2EB07C0A6EB0F80A31400A25B131EA2133E13
3C137C1378A25BA2485A485AA2485A48C7FC120E5A5A5A5A5A13527CBD20>I<121C127F
EAFF80A213C0A3127F121C1200A412011380A2120313005A1206120E5A5A5A12600A1979
8817>44 D<B512FCA516057F941C>I<121C127FEAFF80A5EA7F00121C0909798817>I<15
0C151E153EA2153C157CA2157815F8A215F01401A215E01403A215C01407A21580140FA2
15005CA2141E143EA2143C147CA2147814F8A25C1301A25C1303A2495AA25C130FA291C7
FC5BA2131E133EA2133C137CA2137813F8A25B1201A25B1203A25B1207A25B120FA290C8
FC5AA2121E123EA2123C127CA2127812F8A25A12601F537BBD2A>I<EB01C01303130713
1F13FFB5FCA2131F1200B3B3A8497E007FB512F0A31C3879B72A>49
D<121C127FEAFF80A5EA7F00121CC7FCB2121C127FEAFF80A5EA7F00121C092479A317>
58 D<121C127FEAFF80A5EA7F00121CC7FCB2121C127F5A1380A4127F121D1201A41203
1300A25A1206A2120E5A121812385A1260093479A317>I<EB3FE03801FFFE3907C03F80
390E000FC0003CEB07F000301303007014F8007C130100FE14FC7EA4127E003CEB03F8C7
FCEC07F0A2EC0FE0EC1F80EC3F00147E147C5C495A5C495A5CA249C7FCA31306AA90C8FC
A8130EEB3F80497EA56D5A010EC7FC1E3B7CBA27>63 D<1538A3157CA315FEA34A7EA34A
6C7EA202077FEC063FA2020E7FEC0C1FA2021C7FEC180FA202387FEC3007A202707FEC60
03A202C07F1501A2D901807F81A249C77F167FA20106810107B6FCA24981010CC7121FA2
496E7EA3496E7EA3496E7EA213E0707E1201486C81D80FFC02071380B56C90B512FEA337
3C7DBB3E>65 D<B712E016FC16FF0001903980007FC06C90C7EA1FE0707E707E707EA270
7EA283A75F16035F4C5A4C5A4C5A4C5AEEFF8091B500FCC7FCA291C7EA7F80EE1FE0EE07
F0707E707E83707EA21880177F18C0A7188017FFA24C13005F16034C5AEE1FF8486DEB7F
F0B812C094C7FC16F832397DB83B>I<913A01FF800180020FEBE003027F13F8903A01FF
807E07903A03FC000F0FD90FF0EB039F4948EB01DFD93F80EB00FF49C8127F01FE153F12
014848151F4848150FA248481507A2485A1703123F5B007F1601A35B00FF93C7FCAD127F
6DED0180A3123F7F001F160318006C7E5F6C7E17066C6C150E6C6C5D00001618017F1538
6D6C5CD91FE05C6D6CEB03C0D903FCEB0F80902701FF803FC7FC9039007FFFFC020F13F0
02011380313D7BBA3C>I<B712C016F816FE000190398001FF806C90C7EA3FE0EE0FF0EE
03F8707E707E177FA2EF3F8018C0171F18E0170F18F0A3EF07F8A418FCAC18F8A4EF0FF0
A218E0A2171F18C0EF3F80A2EF7F0017FE4C5A4C5AEE0FF0EE3FE0486DEBFF80B8C7FC16
F816C036397DB83F>I<B812FCA30001903880000F6C90C71201EE007E173E171E170EA3
1706A317078316C0A394C7FCA31501A21503150F91B5FCA3EC000F15031501A21500A218
60A318E093C712C0A41701A3EF0380A21707A2170F173F177F486D903807FF00B9FCA333
397DB839>I<B812F8A30001903880001F6C90C71201EE00FC177C173C171CA2170CA417
0E1706A2ED0180A21700A41503A21507151F91B5FCA3EC001F15071503A21501A692C8FC
AD4813C0B612C0A32F397DB836>I<B648B512FEA30001902680000313006C90C76C5AB3
A491B6FCA391C71201B3A6486D497EB648B512FEA337397DB83E>72
D<B612C0A3C6EBC0006D5AB3B3AD497EB612C0A31A397EB81E>I<013FB512E0A3903900
1FFC00EC07F8B3B3A3123FEA7F80EAFFC0A44A5A1380D87F005B0070131F6C5C6C495A6C
49C7FC380781FC3801FFF038007F80233B7DB82B>I<B612E0A3000101C0C8FC6C90C9FC
B3AD1718A517381730A31770A317F0A216011603160FEE1FE0486D13FFB8FCA32D397DB8
34>76 D<B5933807FFF86E5DA20001F0FC002600DFC0ED1BF8A2D9CFE01533A3D9C7F015
63A3D9C3F815C3A2D9C1FCEC0183A3D9C0FEEC0303A2027F1406A36E6C130CA36E6C1318
A26E6C1330A36E6C1360A26E6C13C0A3913901FC0180A3913900FE0300A2ED7F06A3ED3F
8CA2ED1FD8A3ED0FF0A3486C6D5A487ED80FFC6D48497EB500C00203B512F8A2ED018045
397DB84C>I<B5913807FFFE8080C69238007FE06EEC1F80D9DFF0EC0F001706EBCFF8EB
C7FCA2EBC3FEEBC1FFA201C07F6E7EA26E7E6E7E81140F6E7E8114036E7E168080ED7FC0
16E0153FED1FF0ED0FF8A2ED07FCED03FEA2ED01FF6F1386A2EE7FC6EE3FE6A2EE1FF6EE
0FFEA216071603A216011600A2177E486C153E487ED80FFC151EB500C0140EA217063739
7DB83E>I<EC03FF021F13E09138FE01FC903901F8007ED907E0EB1F8049486D7ED93F80
EB07F049C76C7E01FE6E7E48486E7E49157E0003167F4848ED3F80A24848ED1FC0A2001F
17E049150F003F17F0A3007F17F8491507A300FF17FCAC007F17F86D150FA3003F17F0A2
6C6CED1FE0A36C6CED3FC0000717806D157F000317006C6C15FEA26C6C4A5A017F4A5A6D
6C495A6D6C495AD907E0EB1F80D903F8017FC7FC903900FE01FC91381FFFE0020390C8FC
363D7BBA41>I<B712C016F816FE000190398001FF806C90C7EA3FC0EE0FE0EE07F0EE03
F817FC17FE1601A217FFA717FEA2EE03FCA2EE07F817F0EE0FE0EE3FC0923801FF0091B5
12FC16F091C9FCB3A5487FB6FCA330397DB839>I<EC03FF021F13E09138FE01FC903901
F8007ED907E0EB1F8049486D7ED93F80EB07F049C76C7E01FE6E7E48486E7EA24848157F
0007178049153F000F17C049151F001F17E0A24848ED0FF0A3007F17F8A2491507A200FF
17FCAC007F17F8A26D150FA2003F17F0A26C6CED1FE0A36C6CED3FC00007027C14804AB4
FC3C03F80383807F003B01FC0701C0FEEC0E002600FE0CEBE1FC017FEC63F8D93F8CEB77
F0D91FCCEB3FE0D907EE14806DB449C7FC0100D981FC130CEC1FFF0203131C91C7001E13
1C161F183CEF807CEFC0F8EE0FFFA318F08218E07013C07013809338007E00364B7BBA41
>I<D90FF813C090383FFE0190B512813903F807E33907E000F74848137F4848133F48C7
121F003E140F007E1407A2007C140312FC1501A36C1400A37E6D14006C7E7F13F86CB47E
6C13F8ECFF806C14E06C14F86C14FEC680013F1480010714C0EB007F020713E0EC007FED
3FF0151F150FED07F8A200C01403A21501A37EA216F07E15036C15E06C14076C15C06C14
0F6DEB1F80D8FBF0EB3F00D8F0FE13FE39E03FFFF8010F13E0D8C00190C7FC253D7CBA2E
>83 D<003FB812E0A3D9C003EB001F273E0001FE130348EE01F00078160000701770A300
601730A400E01738481718A4C71600B3B0913807FF80011FB612E0A335397DB83C>I<B6
903807FFFEA3000101809038007FE06C90C8EA1F80EF0F001706B3B2170E6D150C80171C
133F17186D6C14385F6D6C14F06D6C5C6D6C495A6D6CEB07806D6C49C7FC91387F807E91
381FFFF8020713E09138007F80373B7DB83E>I<B5D8FC07B5D8F001B5FCA30007902780
001FFEC7EA1FF86C48C7D80FF8EC07E000010307ED03C01B807F6C6F6C1500A26E5F017F
6E6C1406A280013F4A6C5CA280011F4A6D5BEE067FA26D6C010E6D5BEE0C3FA26D6C011C
6D5BEE181FA26D6C6F5BEE300FA26D6C6F485AEE6007A26D6C4CC7FC9338C003FCA20380
5D913B7F818001FE06A203C1150EDA3FC3C7EAFF0CA203E3151CDA1FE6EC7F98A215F6DA
0FFCEC3FF0A302075E4B141FA202035E4B140FA202015E4B1407A2020093C8FC4B80503B
7EB855>87 D<3901800180000313033907000700000E130E485B00181318003813380030
13300070137000601360A200E013E0485BA400CE13CE39FF80FF806D13C0A3007F137FA2
393F803F80390E000E001A1974B92A>92 D<EB1FE0EBFFFC3803E03F3907000F80390F80
07E0486C6C7E13E06E7EA26E7E6C5A6C5AC8FCA4147FEB07FFEB3FE0EBFE00EA03F8EA0F
F0EA1FC0123F485A90C7FC160C12FEA31401A26C13036CEB077C903980063E18383FC01E
3A0FE0781FF03A03FFF00FE03A007F8007C026277DA52A>97 D<EA03F012FFA3120F1203
B0EC1FE0EC7FF89038F1E03E9039F3801F809039F7000FC001FEEB07E049EB03F049EB01
F85BED00FCA216FEA2167E167FAA167E16FEA216FC15016D14F8ED03F07F01EEEB07E001
C6EB0FC09039C7801F00903881E07E903800FFF8C7EA1FC0283B7EB92E>I<EB03FC9038
1FFF8090387E03E03901F80070484813F83907E001FC380FC003A2EA1F80123F90380001
F848EB00F01500A2127E12FEAA127E127FA26C14067F001F140E6D130C000F141C6C6C13
386C6C13706C6C13E039007C07C090381FFF00EB07F81F277DA525>I<ED0FC0EC03FFA3
EC003F150FB0EB03F8EB1FFF90387E078F9038F801EF3903F0007F4848133F4848131FA2
4848130F123F90C7FC5AA2127E12FEAA127E127FA27EA26C6C131FA26C6C133F6C6C137F
6C6CEBEFF03A01F801CFFF39007C078F90381FFE0FD907F813C0283B7DB92E>I<EB07F8
EB1FFF90387C0FC03901F803E03903F001F0D807E013F8380FC0004848137CA248C7127E
153E5A153F127E12FEA3B7FCA248C8FCA5127EA2127FA26C14037F001F14076C6C130600
07140E6D131CD801F013386C6C137090387E03E090381FFF80903803FC0020277EA525>
I<147E903803FF8090380FC1E0EB1F8790383F0FF0137EA213FCA23901F803C091C7FCAD
B512FCA3D801F8C7FCB3AB487E387FFFF8A31C3B7FBA19>I<ED03F090390FF00FF89039
3FFC3C3C9039F81F707C3901F00FE03903E007C03A07C003E010000FECF000A248486C7E
A86C6C485AA200075C6C6C485A6D485A6D48C7FC38073FFC38060FF0000EC9FCA4120FA2
13C06CB512C015F86C14FE6CECFF804815C03A0F80007FE048C7EA0FF0003E1403481401
16F8481400A56C1401007C15F06CEC03E0003F1407D80F80EB0F80D807E0EB3F003901FC
01FC39007FFFF0010790C7FC26387EA52A>I<EA03F012FFA3120F1203B0EC0FF0EC3FFC
ECF03F9039F1C01F809039F3800FC0EBF70013FE496D7EA25BA35BB3A3486C497EB500C1
B51280A3293A7EB92E>I<EA0380EA0FE0487EA56C5AEA0380C8FCAAEA03F012FFA31207
1203B3AA487EB512C0A312387EB717>I<EB01C0EB07F0EB0FF8A5EB07F0EB01C090C7FC
AAEB01F813FFA313071301B3B3A2123C127E00FF13F01303A214E038FE07C0127C383C0F
00EA0FFEEA03F8154984B719>I<EA03F012FFA3120F1203B1913801FFFCA39138007FC0
1600157C15705D4A5A4A5A4AC7FC141E1438147814FC13F1EBF3FEEBF73F01FE7FEBF81F
496C7E8114076E7E6E7E811400157E157F811680ED1FC0486CEB3FF0B500C0B5FCA3283A
7EB92C>I<EA03F012FFA3120F1203B3B3AD487EB512C0A3123A7EB917>I<2703F00FF0EB
1FE000FFD93FFCEB7FF8913AF03F01E07E903BF1C01F83803F3D0FF3800FC7001F802603
F70013CE01FE14DC49D907F8EB0FC0A2495CA3495CB3A3486C496CEB1FE0B500C1B50083
B5FCA340257EA445>I<3903F00FF000FFEB3FFCECF03F9039F1C01F803A0FF3800FC038
03F70013FE496D7EA25BA35BB3A3486C497EB500C1B51280A329257EA42E>I<EB03FE90
380FFF8090383E03E09038F800F84848137C48487F48487F4848EB0F80001F15C090C712
074815E0A2007EEC03F0A400FE15F8A9007E15F0A2007F14076C15E0A26C6CEB0FC0000F
15806D131F6C6CEB3F006C6C137EC66C13F890387E03F090381FFFC0D903FEC7FC25277E
A52A>I<3903F01FE000FFEB7FF89038F1E07E9039F3801F803A07F7000FC0D803FEEB07
E049EB03F04914F849130116FC150016FEA3167FAA16FEA3ED01FCA26DEB03F816F06D13
076DEB0FE001F614C09039F7803F009038F1E07E9038F0FFF8EC1FC091C8FCAB487EB512
C0A328357EA42E>I<D903F813C090381FFE0190387E07819038FC01C33903F000E30007
14774848133749133F001F141F485A150F48C7FCA312FEAA127FA37E6D131F121F6D133F
120F6C6C137F6C6C13EF3901F801CF39007E078F90381FFE0FEB07F890C7FCABED1FE002
03B5FCA328357DA42C>I<3807E01F00FFEB7FC09038E1E3E09038E387F0380FE707EA03
E613EE9038EC03E09038FC0080491300A45BB3A2487EB512F0A31C257EA421>I<EBFF03
000313E7380F80FF381E003F487F487F00707F12F0A2807EA27EB490C7FCEA7FE013FF6C
13E06C13F86C7F00037FC67F01071380EB007F141F00C0EB0FC01407A26C1303A37E1580
6C13077EEC0F00B4131E38F3C07C38E1FFF038C03F801A277DA521>I<1318A51338A313
78A313F8120112031207001FB5FCB6FCA2D801F8C7FCB215C0A93800FC011580EB7C0301
7E13006D5AEB0FFEEB01F81A347FB220>I<D803F0EB07E000FFEB01FFA3000FEB001F00
031407B3A4150FA3151F12016D133F0000EC77F86D9038E7FF8090383F03C790381FFF87
903A03FC07E00029267EA42E>I<B538803FFEA33A0FF8000FF06C48EB07E00003EC03C0
6D148000011500A26C6C1306A26D130E017E130CA26D5BA2EC8038011F1330A26D6C5AA2
14E001075BA2903803F180A3D901FBC7FCA214FF6D5AA2147CA31438A227257EA32C>I<
B53A1FFFE03FFEA3260FF8009038000FF86C48017EEB03E018C00003023EEB0180A26C6C
013FEB0300A36C6CEC8006156FA2017E9038EFC00C15C7A2D93F016D5A15830281EBF038
D91F831430150102C3EBF87090260FC6001360A2D907E66D5A02EC137CA2D903FCEB7F80
4A133FA2010192C7FC4A7FA20100141E4A130E0260130C37257EA33C>I<B538807FFFA3
3A03FE003FF00001EC1F80000092C7FC017E131C6D13186D6C5AECC070010F5B6D6C5AEC
F180EB03FB6DB4C8FC6D5AA2147F804A7E8114CF903801C7E090380383F090380703F8EB
0601496C7E011C137E49137F01787F496D7E486C80000FEC3FF0D8FFFE90B51280A32924
7FA32C>I<B538803FFEA33A0FF8000FF06C48EB07C00003EC03806C7E16007F00001406
A2017E5BA2137F6D5BA26D6C5AA2ECC070010F1360A26D6C5AA214F101035BA2D901FBC7
FCA214FF6D5AA2147CA31438A21430A214701460A25CA2EA7C0100FE5B130391C8FC1306
EAFC0EEA701C6C5AEA1FF0EA0FC027357EA32C>I<003FB512FCA2EB8003D83E0013F800
3CEB07F00038EB0FE012300070EB1FC0EC3F800060137F150014FE495AA2C6485A495AA2
495A495A495AA290387F000613FEA2485A485A0007140E5B4848130C4848131CA2484813
3C48C7127C48EB03FC90B5FCA21F247EA325>I E /Fk 8 118 df<EA0F80EA3FE0EA7FF0
A2EAFFF8A5EA7FF0A2EA3FE0EA0F80C7FCABEA0F80EA3FE0EA7FF0A2EAFFF8A5EA7FF0A2
EA3FE0EA0F800D2579A41B>58 D<B87E17F817FF18C028007FF8000713F09338007FF8EF
1FFE717E050313807113C0A27113E0F07FF0A2F03FF8A219FC181FA219FEA419FFAC19FE
A419FC183FA219F8187F19F0F0FFE0A24D13C04D13804D1300EF1FFEEF7FFC933807FFF0
B912C095C7FC17FC178040397DB849>68 D<903801FFC0010F13FC017F13FFD9FF801380
2603FE0013C048485AEA0FF8121F13F0123F6E13804848EB7F00151C92C7FC12FFA9127F
A27F123FED01E06C7E15036C6CEB07C06C6C14806C6C131FC69038C07E006DB45A010F13
F00101138023257DA42A>99 D<EA01F0EA07FC487EA2487EA56C5AA26C5AEA01F0C8FCA9
13FF127FA412077EB3A9B512F8A4153B7DBA1B>105 D<01FEEB7FC000FF903803FFF802
0F13FE91381F03FFDA3C011380000713780003497E6D4814C05CA25CA291C7FCB3A3B5D8
FC3F13FFA430257DA435>110 D<903801FFC0010F13F8017F13FFD9FF807F3A03FE003F
E048486D7E48486D7E48486D7EA2003F81491303007F81A300FF1680A9007F1600A3003F
5D6D1307001F5DA26C6C495A6C6C495A6C6C495A6C6C6CB45A6C6CB5C7FC011F13FC0101
13C029257DA430>I<90383FF0383903FFFEF8000F13FF381FC00F383F0003007E130100
7C130012FC15787E7E6D130013FCEBFFE06C13FCECFF806C14C06C14F06C14F81203C614
FC131F9038007FFE140700F0130114007E157E7E157C6C14FC6C14F8EB80019038F007F0
90B512C000F8140038E01FF81F257DA426>115 D<01FFEC3FC0B5EB3FFFA4000714016C
80B3A35DA25DA26C5C6E4813E06CD9C03E13FF90387FFFFC011F13F00103138030257DA4
35>117 D E /Fl 6 81 df<B512F0A514057F921A>45 D<13035B131F137FEA07FFB5FC
A313BFEAF83F1200B3B2007FB51280A519337AB226>49 D<EB3FE0EBFFF8000313FE487F
481480391FC07FC09038801FE0393F000FF0003E130748EB03F8A248130115FC12781230
14001210C8FC1401A215F8A2140315F0140715E0EC0FC0141F1580EC3F00147E5C495A49
5A495AEB0F8049C7FC133E5B5B485A485A485A485A48C8FC123E007FB512FCA51E337DB2
26>I<12FEB3B3B0073479B315>73 D<B46CED7FC06D15FFA36D5CA200FD16EF6D1403A2
D8FCF8EC07CFA3017CEC0F8FA3017E141F013E150F013F143FA26D143E6E137EA2010F14
7C6E13FC010714F8ECE001A2010314F0ECF003A2010114E0ECF807A2010014C0ECFC0F02
7C1380A2EC7E1F023E1300A2EC3F3FEC1F3EA2EC0F3C15FCA26E5AA36E5A91C8FCA23234
78B343>77 D<B6FC15E015F88115FF26FE000313809138007FC0151FED0FE0ED07F0A215
0316F8A21501A31503A216F01507A2ED0FE0ED1FC0157F913803FF80B7120015FC5D15E0
92C7FC48C9FCB3A3253479B331>80 D E /Fm 52 123 df<91393FE00FE0903A01FFF83F
F8903A07E01EF83C903A1F800FF07E903A3F001FE0FE017E133F4914C0485A1738484890
381F8000ACB812C0A33B03F0001F8000B3A7486C497EB50083B5FCA32F357FB42D>11
D<EC1FE0ECFFFC903803F01E90390FC00780EB1F8090393F000FC0017E131F5BA2485AED
0F8092C7FCA9ED0FC0B7FCA33901F8001F150FB3A6486CEB1FE0267FFFC1B5FCA328357F
B42B>I<14C01301EB0380EB0F00130E5B133C5B5BA2485A485AA212075B120F90C7FC5A
A2121E123EA3123C127CA55AB0127CA5123C123EA3121E121FA27E7F12077F1203A26C7E
6C7EA213787F131C7F130FEB0380EB01C01300124A79B71E>40 D<12C07E1270123C121C
7E120F6C7E6C7EA26C7E6C7EA27F1378137C133C133EA2131E131FA37F1480A5EB07C0B0
EB0F80A514005BA3131E133EA2133C137C137813F85BA2485A485AA2485A48C7FC120E5A
123C12705A5A124A7CB71E>I<123C127EB4FCA21380A2127F123D1201A412031300A25A
1206120E120C121C5A5A126009177A8715>44 D<B512F0A514057F921A>I<123C127E12
FFA4127E123C08087A8715>I<13075B5B137FEA07FFB5FC13BFEAF83F1200B3B3A2497E
007FB51280A319327AB126>49 D<14FE903807FF80011F13E090383F00F0017C13703901
F801F8EBF003EA03E01207EA0FC0EC01F04848C7FCA248C8FCA35A127EEB07F0EB1FFC38
FE381F9038700F809038E007C039FFC003E0018013F0EC01F8130015FC1400A24814FEA5
127EA4127F6C14FCA26C1301018013F8000F14F0EBC0030007EB07E03903E00FC03901F8
1F806CB51200EB3FFCEB0FE01F347DB126>54 D<EB0FE0EB7FF8EBFFFE3803F83F3907E0
0F80390FC007C0D81F8013E0EC03F0EA3F0048EB01F8127EA200FE14FC1400A415FEA500
7E1301A2127F7E1403EA1F80000F13073807C00E3803E01C3801F03838007FF090381FC0
FC90C7FC1401A215F8A215F01403001F14E0383F800715C0140FEC1F809038003F00001C
137E381F01FC380FFFF0000313C0C690C7FC1F347DB126>57 D<123C127E12FFA4127E12
3C1200B0123C127E12FE12FFA3127F123F1203A412071206A3120E120C121C1238123012
701260082F7A9F15>59 D<15E0A34A7EA24A7EA34A7EA3EC0DFE140CA2EC187FA34A6C7E
A202707FEC601FA202E07FECC00FA2D901807F1507A249486C7EA301066D7EA2010E8001
0FB5FCA249800118C77EA24981163FA2496E7EA3496E7EA20001821607487ED81FF04A7E
D8FFFE49B512E0A333367DB53A>65 D<B7FC16E016F83A03FC0003FE0001EC00FFEE7F80
EE3FC0161F17E0160F17F0A617E0161F17C0EE3F80EE7F0016FEED03FC90B612F05E9039
FC0007FCED00FEEE3F80EE1FC0EE0FE017F0160717F8160317FCA617F81607A2EE0FF0EE
1FE0163FEE7FC00003913803FF00B75A16F816C02E337DB236>I<DA03FE130C91393FFF
801C91B512E0903A03FE01F83C903A0FF0003C7CD91FC0EB0EFCD97F80130701FEC71203
48481401000315005B4848157C485A173C485A171C123F5B007F160CA390C9FC481600AB
7E6D150CA3123F7F001F161C17186C7E17386C6C15306C6C15706D15E012016C6CEC01C0
D97F80EB0380D91FC0EB0F00D90FF0131ED903FE13FC0100B512F0023F13C0DA03FEC7FC
2E377CB437>I<B77E16F016FE3A01FE0001FF00009138003FC0EE0FE0707E707E707E70
7E177E177FEF3F80A2EF1FC0A3EF0FE0A418F0AA18E0A3171F18C0A21880173F18005F17
FE5F4C5AEE07F04C5AEE3FC000014AB45AB748C7FC16F8168034337EB23B>I<B81280A3
D803FCC7FC0001151FEE07C01603A21601A21600A41760150CA31700A2151CA2153C15FC
90B5FCA3EBFC00153C151CA2150CA592C8FCAB487EB512FEA32B337DB232>70
D<B5D8FE03B512F8A3000190C73807FC006C486E5AB390B7FCA349C71203B3A3486C4A7E
B5D8FE03B512F8A335337EB23A>72 D<B512FEA3000113006C5AB3B3A7487EB512FEA317
337EB21C>I<017FB5FCA39038003FE0EC1FC0B3B1127EB4FCA4EC3F805A006014000070
5B6C13FE6C485A380F03F03803FFC0C690C7FC20357DB227>I<B512FEA3D803FEC9FC6C
5AB3A9EE0180A416031700A45EA25E5E5E5E16FE00031407B7FCA329337DB230>76
D<D8FFFC923801FFF86D5DA20003EFFE00D801BFED06FCA3D99F80140CA2D98FC01418A3
D987E01430A2D983F01460A3D981F814C0A3D980FCEB0180A2027EEB0300A36E1306A26E
6C5AA36E6C5AA36E6C5AA26E6C5AA36E6C5AA3913800FD80A2037FC7FCA3486C133ED80F
F04B7EB5011C90387FFFF8A33D337CB246>I<D8FFFE91381FFFF87F80C6030013006E14
3CD9DFE01418EBCFF0A2EBC7F8EBC3FCA2EBC1FEEBC0FF6E7EA26E7E6E7EA26E7E6E7E6E
7EA26E7E6E7EA2ED7F80ED3FC0ED1FE0A2ED0FF0ED07F8A2ED03FCED01FEED00FFA2EE7F
98EE3FD8A2EE1FF8160F1607A216031601A2486C1400D807F81578B500C01438A2171835
337EB23A>I<EC07FC91387FFFC0903901FC07F0903907E000FCD90F80133E013FC76C7E
017E6E7E496E7E48486E7E48486E7EA248486E7E000F8249157E001F167FA24848ED3F80
A2007F17C0A290C9121FA24817E0AB6C17C06D153FA3003F17806D157FA2001F17006D5D
000F5E6C6C4A5AA26C6C4A5A00015E6C6C4A5A017E4A5A6D4A5AD91FC0017FC7FCD907E0
13FC903901FC07F09039007FFFC0DA07FCC8FC33377CB43C>I<B612FEEDFFC016F03A03
FC0007FC0001EC00FE167FEE3F80EE1FC017E0160FA217F0A617E0A2EE1FC0A2EE3F80EE
7F0016FEED07F890B65A168001FCC9FCB3A2487EB512F8A32C337DB234>I<90381FE003
90387FFC0748B5FC3907F01FCF390F8003FF48C7FC003E80814880A200788000F880A46C
80A27E92C7FC127F13C0EA3FF013FF6C13F06C13FF6C14C06C14F0C680013F7F01037F90
38003FFF140302001380157F153FED1FC0150F12C0A21507A37EA26CEC0F80A26C15006C
5C6C143E6C147E01C05B39F1FC03F800E0B512E0011F138026C003FEC7FC22377CB42B>
83 D<007FB712FEA390398007F001D87C00EC003E0078161E0070160EA20060160600E0
1607A3481603A6C71500B3AB4A7E011FB512FCA330337DB237>I<B5D8F007B539800FFF
F0A3000390C7273FF000011300D801FC6E48EB007C1A386D140F00001930836D02071570
6D1860A26E496C14E0013F60A26ED919FC1301011F60A26ED930FE1303010F95C7FCA26E
D9607F5B01071706A26E9039C03F800E0103170CA2913BFC01801FC01C01011718A2913B
FE03000FE03801001730A2DAFF06EB07F0027F5EA2038CEB03F8023F5EA203D8EB01FC02
1FEDFD80A203F0EB00FF020F93C8FCA24B800207157EA24B143E0203153CA24B141C0201
15184C357FB24F>87 D<EB7F803803FFF0380F80FC381C003E003F133F6D6C7E6E7EA26E
7EEA1F00C7FCA4EB01FF131FEBFF873803FC07EA0FF0EA1FC0EA3F80127F13004815C05A
A3140FA26C131F6C133B3A3F8071F180391FC1E1FF2607FFC013003900FE003C22237DA1
26>97 D<EA03F012FFA312071203AEEC3F80ECFFE09038F3C0F89038F7007E01FE7F49EB
1F8049EB0FC05BED07E016F0A2150316F8AA16F0150716E0A2ED0FC07F6DEB1F8001ECEB
3F0001CF137C90388381F8903801FFE0C76CC7FC25357EB32B>I<EB07F8EB3FFF9038FC
07C03901F000E03903E003F03807C007120FEA1F80123F90380003E04890C7FCA2127E12
FEAA127FA26C14187F001F14386D1330000F14706C6C13E03903F001C03900FC0F809038
3FFE00EB07F01D237EA122>I<153FEC0FFFA3EC007F81AEEB07F0EB3FFCEBFC0F3901F0
03BF3907E001FF48487E48487F8148C7FCA25A127E12FEAA127E127FA27E6C6C5BA26C6C
5B6C6C4813803A03F007BFFC3900F81E3FEB3FFCD90FE0130026357DB32B>I<EB0FE0EB
7FFCEBF83F3903F00F80D807E013C0390FC007E0381F800315F0EA3F0014014814F8127E
A212FEA2B6FCA248C8FCA5127E127FA26C1418A26C6C1338000F14306D13706C6C13E039
01F003C03900FC0F00EB3FFEEB07F01D237EA122>I<EB01FCEB07FF90381F078090383E
0FC0EB7C1F13FCEA01F8A20003EB070049C7FCACB512F0A3D803F0C7FCB3A7487E387FFF
E0A31A357FB417>I<151F90391FC07F809039FFF8E3C03901F07FC73907E03F033A0FC0
1F83809039800F8000001F80EB00074880A66C5CEB800F000F5CEBC01F6C6C48C7FCEBF0
7C380EFFF8380C1FC0001CC9FCA3121EA2121F380FFFFEECFFC06C14F06C14FC4880381F
0001003EEB007F4880ED1F8048140FA56C141F007C15006C143E6C5C390FC001F83903F0
07E0C6B51280D91FFCC7FC22337EA126>I<EA03F012FFA312071203AEEC1FC0EC7FF090
38F1E0FC9038F3807C9038F7007E13FE497FA25BA25BB3486CEB7F80B538C7FFFCA32634
7EB32B>I<EA0780EA0FC0EA1FE0A4EA0FC0EA0780C7FCAAEA07E012FFA3120F1207B3A6
EA0FF0B5FCA310337EB215>I<EA03F012FFA312071203AF913803FFE0A36E1300EC00F8
EC01E05D4A5A020FC7FC141C5C5C14F0EBF3F8EBF7FC13FEEBFC7EEBF87F496C7E141F6E
7E8114076E7E8114016E7E81486CEBFF80B500C313F0A324347EB329>107
D<EA07E012FFA3120F1207B3B3A7EA0FF0B5FCA310347EB315>I<2703F01FE013FF00FF
90267FF80313C0903BF1E07C0F03E0903BF3803E1C01F02807F7003F387FD803FE147049
6D486C7EA2495CA2495CB3486C496C487EB53BC7FFFE3FFFF0A33C217EA041>I<3903F0
1FC000FFEB7FF09038F1E0FC9038F3807C3907F7007EEA03FE497FA25BA25BB3486CEB7F
80B538C7FFFCA326217EA02B>I<EB07F0EB3FFE9038FC1F803901F007C03903C001E000
078048486C7E48C7127CA248147E003E143E007E143FA300FE1580A8007E1500A36C147E
A26C147C6D13FC6C6C485A00075C3903F007E03900FC1F80D93FFEC7FCEB07F021237EA1
26>I<3903F03F8000FFEBFFE09038F3C0F89038F7007ED807FE7F6C48EB1F804914C049
130F16E0ED07F0A3ED03F8A9150716F0A216E0150F16C06D131F6DEB3F80160001FF13FC
9038F381F89038F1FFE0D9F07FC7FC91C8FCAA487EB512C0A325307EA02B>I<903807F0
0390383FFC07EBFC0F3901F8038F3807E001000F14DF48486CB4FC497F123F90C77E5AA2
5A5AA9127FA36C6C5B121F6D5B000F5B3907E003BF3903F0073F3800F81EEB3FF8EB0FE0
90C7FCAAED7F8091380FFFFCA326307DA029>I<3803E07C38FFE1FF9038E38F809038E7
1FC0EA07EEEA03ECA29038FC0F8049C7FCA35BB2487EB512E0A31A217FA01E>I<EBFF06
000713CE381F00FE003C133E48131E140E5A1406A27EA200FE90C7FC6C7EEA7FFC383FFF
C014F0000F7F6C7FC67FEB0FFF1300EC3F8000C0131F140F6C1307A37E15006C5B6C130E
6C5B38F7807838E1FFE038C07F8019237EA11E>I<1330A51370A313F0A21201A2120312
07381FFFFEB5FCA23803F000AF1403A814073801F806A23800FC0EEB7E1CEB1FF8EB07E0
182F7FAD1E>I<D803F0133F00FFEB0FFFA30007EB007F000380B35DA35D12016D481380
0000903803BFFC90387E073FEB1FFED907F8130026227EA02B>I<B5EBFFF0A3D80FF0EB
3F800007EC1F000003140E150C6D131C00011418A26C6C5BA26D1370017E1360137F6D5B
A290381F8180A214C3010F90C7FCA2EB07E6A214FE6D5AA26D5AA36D5AA2146024217E9F
29>I<B53A1FFF81FFF0A33C07F801FC003F8001F049EB1E0000030100141C816C6C017C
1318A26D017E1338000002FE1330A290267E01FF5B159F168090263F030F5BA216C0903A
1F8607C180A202C613E390260FCC0390C7FCA2D907FC13F6ECF80116FE6D486C5AA36D48
1378A36D48133034217F9F37>I<B53801FFF8A32603FE0013806C48EB7C000000147801
7E1370017F5B90383F81C090381F8380D90FC3C7FCEB07E614FE6D5A6D5A6D7E80805B90
38039F809038071FC09038060FE0EB0C0790381C03F0496C7E01707FEBF000000180000F
ECFF8026FFFC0313FCA326207F9F29>I<3A7FFF807FF8A33A07F8001FC00003EC0F8000
01EC070015066C6C5BA26D131C017E1318A26D5BA2EC8070011F1360ECC0E0010F5BA290
3807E180A214F3010390C7FC14FBEB01FEA26D5AA31478A21430A25CA214E05CA2495A12
78D8FC03C8FCA21306130EEA701CEA7838EA1FF0EA0FC025307F9F29>I<003FB512F0A2
EB000F003C14E00038EB1FC00030EB3F800070137F1500006013FE495A13035CC6485A49
5AA2495A495A49C7FC153013FE485A12035B48481370485A001F14604913E0485A387F00
0348130F90B5FCA21C207E9F22>I E /Fn 10 62 df<EB3FC0EBFFF03803E07C48487E48
487E497E001EEB0780A2003E14C0A248EB03E0A500FC14F0B0007C14E0A3007E1307003E
14C0A36CEB0F806C14006D5A3807C03E3803F0FC3800FFF0EB3FC01C2D7DAB23>48
D<130C133C137CEA03FC12FFEAFC7C1200B3B113FE387FFFFEA2172C7AAB23>I<EB7F80
3801FFF0380780FC380E003F48EB1F8048EB0FC05A0060EB07E012F000FC14F07E1403A3
007C1307C7FCA215E0140F15C0141F1580EC3F00147E147C5C495A495A495A495A011EC7
FC5B5B4913305B485A4848136048C7FC000E14E0001FB5FC5A4814C0B6FCA21C2C7DAB23
>I<EB3FC03801FFF03807C0FC380E007E487FEC1F80003F14C0A2EB800F1300A2000C13
1FC7FC1580A2EC3F00143E5C5CEB03F0EBFFC014F0EB00FC143FEC1F8015C0140F15E0A2
EC07F0A21238127C12FEA3EC0FE012F8006014C00070131F6C1480001EEB3F00380780FC
3801FFF038007FC01C2D7DAB23>I<140EA2141E143EA2147E14FEA2EB01BE1303143E13
06130E130C131813381330136013E013C0EA0180120313001206120E120C5A123812305A
12E0B612FCA2C7EA3E00A9147F90381FFFFCA21E2D7EAC23>I<000CEB0180380FC01F90
B512005C5C14F014C0D80C7EC7FC90C8FCA8EB1FC0EB7FF8380DE07C380F801F01001380
000E130F000CEB07C0C713E0A2140315F0A4127812FCA448EB07E012E0006014C0007013
0F6C14806CEB1F006C133E380780F83801FFE038007F801C2D7DAB23>I<EB03F8EB0FFE
90383E0780EBF8013901F007C03803E00FEA07C0EA0F80A2391F00078091C7FC123EA212
7EA2127CEB0FC038FC3FF0EBF07C38FDC01EB4487E01001380EC07C04814E0A214034814
F0A4127CA3127EA2003E14E01407121E001F14C06CEB0F803907801F003803C03E6C6C5A
38007FF0EB1FC01C2D7DAB23>I<1230123C003FB512F8A215F05A15E039700001C00060
1480140348EB0700140E140CC7121C5C143014705C495AA2495AA249C7FCA25B130E131E
A2133EA3133C137CA413FCA913781D2E7CAC23>I<EB1FC0EBFFF03803E07C3807801E48
487E001EEB0780A248EB03C0A4123E1407003F1480381FC00F01E01300EBF81E6C6C5A38
07FFF86C13E0C6FCEB3FF8EBFFFC3803C7FFD807831380D81F0013C0001E133F48EB1FE0
007C13070078EB03F012F84813011400A46C14E000781301007C14C0003C13036CEB0780
390F800F003807E03C3801FFF038003FC01C2D7DAB23>I<007FB712F8B812FCA2CBFCAD
B812FCA26C16F82E137C9937>61 D E /Fo 35 90 df<167016F8A25EA41501A25EA415
03A25EA41507A25EA4150FA293C9FC007FB912E0BA12F0A26C18E0C8001FC9FC151EA415
3EA2153CA4157CA21578A415F8A25DA41401A25DA26E5A3C3C77B447>43
D<007FB5FCA2B512FEA418067C961E>45 D<121EEA3F80EA7FC012FFA41380EA7F00123C
0A0A788919>I<EC07F8EC3FFF9138FC0FC0903903F003E0903907C001F0D90F8013F849
C7FC013E14FC017E147C017C147E13FC485AA20003157F5B1207A2120F5BA2121F16FF5B
A2123FA44848EB01FEA648C7EA03FCA5ED07F8A25A16F0A2150F16E0A3ED1FC0A2168000
7E143F1600157E123E003F5C4A5AD81F805B000FEB07E06C6C485A2603F03FC7FC3800FF
FCEB1FE0283F79BC2D>48 D<157015F014011407143F903803FFE0137FEBFFCFEBF80F13
00141F15C0A5143F1580A5147F1500A55C5CA513015CA513035CA513075CA5130F5CA313
1F497EB612F8A31D3D78BC2D>I<EC01FE91380FFFE0023F13F89138FC07FC903901E001
FE903907C000FF49C7EA7F80011E15C0163F4915E05B0170141F13FF80A35A163FA26C90
C7FC137E0118EC7FC090C8FCEEFF80A24B1300A24B5A5E4B5A4B5A4B5A5E4B5A4BC7FC15
FEEC01F84A5A4A5A4A5A4AC8FC143E5C5CEB01E04948130E49485B49C7FC131E495C1370
5B48485C484814F0000FB6FC5A485D5AB7FC5EA22B3D7CBC2D>I<EC07FC91383FFF8091
38F80FE0903903C007F09039078003FC90380F0001011C14FE013C14FF137F1480EBFFC0
A31480A291380003FE137E90C7FCED07FC16F8150F16F0ED1FE016C0ED3F80ED7E005DEC
07F0903803FF8015F090380001FC6E7EED7F80ED3FC0A2ED1FE016F0A316F8A4120EEA3F
80486C133F16F012FFA216E0157F5B48C7EAFFC000F01580007049130012786C495A003E
EB07F86C495A390FE03FE00003B51280C649C7FCEB1FE0283F7ABC2D>I<161C163C167C
A216FCED01F815031507150FA2151DED3BF0157315E315C31401EC038391380707E0140E
141CA2143814709138E00FC0EB01C014801303EB0700130E49EB1F805B133013705B485A
4848EB3F0090C7FC5A120E5A5A48147E1260B8FCA3C73801FE00A25DA41403A25DA31407
4A7E0107B512F8A3283E7BBD2D>I<01061403D90780131F90390FF801FE91B512FC16F8
16F016E0168049EBFE0015F890381C7FC091C8FCA3133C1338A513781370A2EC1FE0ECFF
F8903873E03E9038FF001F01FCEB0F804914C049EB07E04914F049130390C7FC16F8A615
07A21206EA3F80487EA2150F00FF15F0A24914E090C7121F00FC15C000F0143F00701580
ED7F0012786C14FE4A5A6C495A390F800FE03907E03FC06CB5C7FCC613FCEB1FE0283F7A
BC2D>I<ED7F80913803FFE091380FC0F091383E003802FC131C495A494813FE903807E0
03EB0FC090381F8007133FD97F0013FC01FE1303ED01F0484890C7FC1203A2485AA2120F
5BA2001FEB3F809038E0FFE0393FE3C0F89038E7007C01EE7F01FC133F4848EB1F80A249
14C05B16E0A2485AA216F05BA2ED3FE0A290C7FCA4157F16C0A316804814FF007E150000
7F5C14016C5C4A5A6C6C485A4A5A6C6C485A2607E07FC7FC3803FFFEC613F8EB3FC0273F
78BC2D>I<EA0380120713E090B712805AA217005E485D5E001EC85A484A5A00385D1503
00784A5A00704AC7FC151E5D485CC8127015F04A5A4A5A4A5A4AC8FC140E141E5C147C14
785C1301495AA213075C130F495AA2133F91C9FC5BA25B5B1201A312035BA21207A3485A
A5121F5BA26C5AEA0780294074BD2D>I<EC03FC91381FFF8091387C07E0903901F001F0
903903C000F84948137C49C7123E131E013E141F133C137C137813F8A3163F486C143E16
7E6D147C6C6C14FC6E13F89138C001F09138F003E090397FF807C09138FC0F0090383FFF
3E6D13F86D13E06D7F01017F8101077F90391F1FFF80D93E0F13C0EBF8072601F00113E0
48486C13F04848137F4848131F001FEC0FF890C71207003E1403A2481401A300FC15F05A
A3ED03E0A26CEC07C0007C1580007E140F003EEC1F00003F143E6C6C5B6C6C485A3907F0
0FE00001B512806C6C48C7FCEB0FF0283F7ABC2D>I<EC07F8EC3FFE9138FC0F80903901
F007C0903907E003E0D90FC013F090381F8001013F14F8EB7F004914FC48481300A24848
EB01FEA21207A3485AA41503121F5BA31507A2000F15FC150FA2151F1207153F000315F8
6C6C137F000014EF90387C01CF90393E078FF090380FFE1FEB03F890C713E0A2ED3FC0A3
ED7F8016005D003F5C487E4A5A00FF495A5D4A5A49485A48495A007049C7FC0078137E38
3E03FC381FFFF06C13C0D801FEC8FC273F79BC2D>I<17E016011603831607A2160FA216
1F83163FA2167F167716F7EEE7FCED01E316C3150316831507EE03FEED0F01150E151E15
1C153C03387FED7800157015F05D4A4880177F4A5AA24AC7FCA2020E81173F5C021FB6FC
5CA20270C7EA3FE0171F5CA2495AA2494881170F49C8FCA2130EA24982013C1507A2137C
D801FE4B7E2607FF80EC3FFEB500F00107B512FC19F85E3E417DC044>65
D<013FB7FC18E018FC903B007FE00007FE6E48903801FF809438007FC05DF03FE0F01FF0
A3027F16F892C8FCA54A16F04A153F19E0187F19C0F0FF8001014B13004A4A5A4D5AEF1F
F04D5ADC03FFC7FC49B612F8EFFF8002F8C7EA3FE0EF0FF0EF07FC717E010715014A8171
1380A319C0130F5CA5011F4B13805C19005F601707013F4B5A4A4A5A4D5A4D5A017F9138
01FF8001FF020F90C7FCB812FC17F094C8FC3D3E7DBD40>I<DCFFC01338030F01F01378
037F01FC13F0913A01FF803F01913A07FC000781DA1FE0EB03C3DA7FC0EB01E74AC812FF
4948ED7FE0D907FC153F495A4948151F495A4948150F494816C018074890C9FC485AA248
5A000F1880491603121FA248481607A295C7FC485AA412FF5BA75BA2181C183C1838A27F
007F1778187018F0003F5F6D150160001F16036C6C4B5A95C7FC6C6C5D6C6C151E6C6C5D
6C6C15F86D6C495A6D6CEB07C0D91FF0EB1F80D907FE01FEC8FC0101B512F86D6C13E0DA
07FEC9FC3D4276BF42>I<013FB7FC18E018F8903B007FF0000FFE6E48EB01FF9438007F
C04B6E7E180F85727E727E147F4B6E7EA2727EA302FF178092C9FCA54918C05CA41A8013
034A5DA41A0013074A5DA261A24E5A130F4A5E180F61181F61011F4C5A5C4E5A4EC7FC4D
5A4D5A013F4B5A4A4A5AEF3FE0EF7F80017F4A48C8FC01FFEC1FFCB812F0178004FCC9FC
423E7DBD45>I<013FB812F8A39026007FF0C7127F6E48140F18034B14011800A3197814
7F4B1570A502FF143892C7FCA3190017784915704A14F016011603160F91B6FC495DA291
38FC001F16071603160101075D5CA2197019F019E0010F4A5A4A90C7120119C0A2180319
80011F16075CF00F00A260181E013F163E4A157E4D5A1703017F150F01FFEDFFF8B9FCA2
603D3E7DBD3E>I<013FB812E0A3903A007FF000016E48EB003F180F4B14071803A31801
147F4B15C0A514FF92C71270A395C7FC17F0495D5C160116031607161F49B65AA39138FC
003F160F160701075D4A1303A5010F4AC8FC5C93C9FCA4131F5CA5133F5CA3137FEBFFF0
B612F8A33B3E7DBD3B>I<4BB46C1370031F01F013F0037F9038FC01E0913A03FF807E03
913A0FF8000F83DA1FE0EB07C7DA7F80EB01EF4AC812FFD903FE16C04948157F4948153F
495A4948151F495A4948168091C9120F5A485AA2485A000F18004982121FA248485EA295
C7FC485AA412FF5BA6043FB512E05BA29339001FFC00715AA2607F127FA2171F123F6D5E
A2121F7F000F163F6C7E6C6C4B5A7F6C6C15FF6C6DEB01EFD93FC0EB07C7D91FF0EB1F87
D907FE9038FE03800101B5EAF8016D6C01E0C8FCDA07FEC9FC3C4276BF47>I<013FB5D8
F807B6FC04F015FEA29026007FF0C7380FFE006E486E5AA24B5DA4180F147F4B5DA4181F
14FF92C85BA4183F5B4A5EA491B8FC5B6102FCC8127FA318FF13074A93C7FCA45F130F4A
5DA41703131F4A5DA41707133F4A5DA3017F150F496C4A7EB6D8E01FB512FC6115C0483E
7DBD44>I<011FB512FC5BA29039003FF8006E5AA25DA5143F5DA5147F5DA514FF92C7FC
A55B5CA513035CA513075CA5130F5CA5131F5CA3133F497E007FB512F0A2B6FC263E7EBD
21>I<013FB500F8010FB5FC4C5BA29026007FF0C7000313E06E486E130019FC4B15F04E
5A4E5A4E5A061EC7FC027F5D4B5C4D5A4D5AEF07804DC8FC02FF141E92C7127C5FEE01E0
4C5A4C5A49021FC9FC4A5B5E4C7E5D03077F01035B9139FC1F3FE0153C4B6C7E15F09139
FFE00FF84913C092380007FC5C4A6D7E5C707E130F4A6D7F84177F717EA2011F6F7E5C71
7EA2717EA2013F6F7E5C84A2017F83496C4A13E0B600E0017F13FFA24B90B6FC483E7DBD
47>75 D<013FB512FEA25E9026007FF8C8FCEC3FE0A25DA5147F5DA514FF92C9FCA55B5C
A513035CA513075CA21838A21870130F5CA218E0A3011F15014A15C01703A21707EF0F80
013F151F4A143F177FEFFF00017F140301FF143FB9FC5FA2353E7DBD39>I<90263FFFF0
933807FFFE5013FC629026007FF8EFFC00023F4D5AA2023BEF77F0A2DA39FC16E7A2F101
CF0279EE038FDA70FE5FF1070FA2190E1A1FDAF07F151C02E060193819706F7EF1E03F13
0102C0DB01C05BA26F6CEB0380A2953807007F0103160E4A6C6C93C7FC60A2606201076D
6C5B02005F60A26F6C485A94380380015B010EDB07005BA2923801FC0EA24D1303131E01
1C6D6C485C5FA25F1907013CEC7FC0013860013C5D137C01FE6EC7120F2607FF80013E4A
7EB500FC031FB512F8043C5E4A131C573E7DBD53>I<90263FFFE0023FB5FC6F16FEA290
26003FF8020313C0021F030013004A6C157C023B163C6F15381439810238167802787FDA
707F157082153F82031F15F002F07FDAE00F5D8215078203031401010180DAC0015D8281
1780047F1303010315C04A013F5C17E0161F17F0040F1307010715F891C7000791C7FC17
FC160317FE04015B4915FF010E6E130E188E177F18CEEF3FDE011E16FE011C6F5AA2170F
A21707133C01386F5A133C017C150113FE2607FF801400B512FC18705C483E7DBD44>I<
923803FF80031F13F09238FE01FE913903F0003FDA0FC0EB1FC0DA3F80EB07E0027EC76C
7E49486E7E49488149486E7E4948157F495A013F17804948ED3FC049C9FCA24848EE1FE0
12035B000718F05B120FA2485A19F8123F5BA2127FA219F04848163FA5F07FE0A35BF0FF
C0A219805F19007F4D5A127F4D5A60003F160F6D5E001F4C5A4D5A6C6C4B5A95C7FC6C6C
15FE00034B5A6C6C4A5A6C6C4A5A017FEC1FC06D6C495AD90FE001FEC8FC903903F807F8
0100B512C0DA0FFCC9FC3D4276BF47>I<013FB612FEEFFFE018F8903B007FF0000FFC6E
48EB01FF7113804BEC7FC0183F19E0F01FF0A2147F5D19F8A402FFED3FF092C8FCA219E0
A2F07FC05B4AEDFF8019004D5A4D5AEF0FF80103ED3FE04A903801FF8091B648C7FC17F0
02FCCAFCA213075CA5130F5CA5131F5CA5133F5CA3137F497EB612E0A25D3D3E7DBD3E>
I<013FB612F017FF18E0903B007FF0003FF86E48EB07FCEF01FE4B6D7EF07F8019C0183F
19E0147F4B15F0A502FFED7FE092C8FCA219C0F0FF80A2494B13004A5D4D5AEF0FF04D5A
EF7F800103DA07FEC7FC91B612F017809139FC0007E0EE03F8EE00FC0107814A147F717E
A284A2130F5CA484011F157F5CA41902013F17075CA2F0F00F017F170E496C143FB600E0
011F131C94380FF83C4B01071378CA3801FFE09438003F8040407DBD43>82
D<9239FF8003800207EBF007021F9038FC0F0091387F00FE02FCEB1F1FD903F0EB07BF49
486DB4FC49487F4A6D5A49C8FC49157E133E137E173E49153CA57F1738A26D92C7FC8080
80EB7FFEECFFE06D13FEEDFFC06D14F06D14FC010380010080143F020380DA003F7F1503
1500707E163F161FA2160F121CA31607160F003C5EA35F003E151F94C7FC007E5D007F15
3E6D5C16FC01E0495AD87DF0495AD8FCFCEB0FC03AF87F803F8027F01FFFFEC8FCD8E007
13F839C0007FC031427BBF33>I<0007B912F0A33C0FFE000FF8003F01F0160F01C04A13
034848160190C7FC121EF000E048141F5E1238A212781270153F5E5AA3C81600157F5EA5
15FF93C9FCA55C5DA514035DA514075DA5140F5DA3141FEC7FFC0003B7FCA33C3D76BC42
>I<B600E090B512FC4B15F8A2000101C0C7000F13006C49EC03FCEF01F091C9FC60A317
015A495EA417031203495EA4170712074993C7FCA45F120F49150EA4171E121F49151CA4
173C123F491538A31778177017F05F001F15015F16036D4A5A000F93C8FC5E6C6C141E6C
6C5C000115F86C6C495A017FEB07C090393FC03F8090260FFFFEC9FC010313F89038007F
C03E4073BD44>I<B6020FB5FC19FEA2000301E0020113E06C01809138007F8091C9EA7E
006C173C18386E15781870017F16F0604D5A804D5A133F4DC7FCA26E140E171E011F151C
173C17386E1478010F15705FA24C5A8001074A5AA24CC8FC5E6E130E0103141E161C163C
16386E5B13015EA24B5A14FF6D495AA24BC9FC5D158EEC7F9E159C15B8A215F0143F5DA2
5DA26E5AA292CAFCA2140E404074BD44>I<010FB500F090B512F85B5FD9003F90268000
3F1300DA0FFEC7EA1FF84BEC0FE00207168096C7FC6E6C141E181C6E6C143C606E6D5B4D
5ADB7FC05B4D5A92383FE0074DC8FC92381FF01E171C6F6C5A5F923807FCF0EEFDE06FB4
5A5F6F90C9FCA26F7FA2707EA216FF4B7FED03DF9238079FF0ED0F1F92380E0FF8151C92
383C07FC15784B6C7EEC01E04B6C7EEC038002076D7F4AC7FC021E6E7E5C02386E7E5C02
F06E7E495A49486E7E130749486E7E497E017F4B7E2603FFF091383FFF80007F01FC49B5
12FEB55CA2453E7EBD44>88 D<B66C0103B51280A3000101F0C8EBF0006C49ED7FC06D48
6FC7FC6E153E013F163C606D6C5D606D6C4A5A17036D6C4A5A95C8FC6E140E0103151E5F
6D6C14385F6D6D13F04C5ADA7FC05B4C5AEDE007023F49C9FC161E91381FF01C5E91380F
F8785E6E6C5AEDFDC015FF6E5B93CAFC6E5AA35DA21403A45DA21407A45DA2140FA4141F
4A7E013FB512F0A3413E75BD44>I E /Fp 45 123 df<B612C0A61A067F9821>45
D<12FFA8080877871B>I<14FF010713E0011F13F8497F90B6FC48158014813A03FE007F
C04848EB3FE049131F4848EB0FF0491307001F15F8491303003F15FCA2491301A2007F15
FEA390C8FCA34815FFB3A36C15FE6D1301A5003F15FC6D1303A36C6CEB07F8A26C6CEB0F
F0A26C6CEB1FE06D133F6C6CEB7FC03A01FF81FF8091B5FC6C1500013F13FC6D5B010713
E0010090C7FC28457CC231>48 D<1418147814F81303130F137FB5FCA413F71387EA0007
B3B3AD007FB61280A6214378C231>I<EB03FE90381FFFE0017F13F890B57E4814FF4815
802607FC0713C0380FF000D81FC0EB7FE049EB3FF0003F141F90C7EA0FF8481407007E15
FCA200FE14034815FE127C123C0038140112181208C8FC1503A316FCA2150716F8150F16
F0ED1FE0A2ED3FC0ED7F80EDFF00A24A5A4A5A4A5A4A5A4A5A4A5A4A5A02FEC7FC495A49
5A495A495A495A495A49C8FC13FE5B485A485A485A485A485A48C9FC48B612FEA627437C
C231>I<49B4FC010F13E0013F13F890B512FE48800007158048010113C03A1FF8007FE0
D83FE0133F49EB1FF048C7120F123E16F8001C140712181208C8FC150FA216F0A2151F16
E0153F16C0157FEDFF8002031300EC1FFE90380FFFFC5D15E08115FC15FFD90001138091
38007FC0ED1FE0ED0FF016F8ED07FCA2ED03FEA3ED01FFA80040EC03FE1260A200F0EC07
FC7E00FEEC0FF8127FD83FC0EB1FF0D81FF0EB7FE0390FFE01FF6CB612806C15006C5C6C
6C13F8011F13E0010190C7FC28457CC231>I<EDFF805C5CA2EC077FA2140FA2141E143E
A2147E147C14FCA2EB01F8130314F01307A2EB0FE0A2EB1FC0133F1480137F14005B5B12
015B1203485AA2485A5B121F5B123F485AA248C7FC90B712C0A6C8387F8000B12A417DC0
31>I<000FB612F8A601F0C8FCB1EC3FC09038F1FFF001F313FC90B57EEDFF8016C002E0
13E0EC003F49EB1FF049EB0FF84913074914FC15034914FEC8FCA2150116FFAAED03FE12
101230003815FC007C1407007E15F800FE140FD87F80EB1FF06DEB3FE0D83FF0137F3A1F
FE03FFC06CB61280000315006C14FC6C6C5B011F13C0D903FEC7FC28437DC031>I<EC07
FC91383FFF8091B512E013035B5B90381FFC0390393FE000604948130049C8FC485A5B12
03485A5B120F5B121FA25B123FA29038803FF8397F81FFFE01877F018F1480019F14C0D9
3FF713E039FF7F007F01FCEB1FF049EB0FF84913074914FC15035BED01FE5BA2150016FF
A290C8FCA36C7E90C8FCA27FA3123F16FE6D1301A2121F6DEB03FC120F6DEB07F812076D
EB0FF06C6CEB1FE06DEB3FC03901FF80FF6C90B512806D14006D13FC010F5B6D13E00100
90C7FC28457CC231>I<EDFF804A7FA34A7FA3913807EFF0A215E7020F7F15C7A2021F7F
15C391383F83FEA21581027F7F1501814A805CA201016E7E5CA201036E7E5CA201076E7E
5CA2010F6E7E5C011F8116075C013F8116035C017F818291B7FC90B87EA34883A201FCC8
127F0003707EA2484882171F5B000F83170F5B001F8317075B003F8317035B007F838390
C9FC48701380A239457DC440>65 D<B612F8EDFF8016E016F816FE82902680003F13C003
037F03007F163F707E707E16071603831601A516035F16075F160F4C5AEE7FE04C5A0303
5B033F90C7FC90B612FC16F016C08216FC16FF902680003F13C003037F9238007FF0EE1F
F8707E707E707E82701380177F18C0A2173FA4177FA2188017FF5E4C13004C5A160FEE3F
FCEEFFF8030F5B90B75A178094C7FC16FC16E04BC8FC324577C441>I<ED3FFE0203B512
F0020F14FE023FECFF8091B7FC5B49D9E0071300010F90C7FCD91FFC141F49481407D97F
E0804A91C7FC495A4890CAFC5A5B485AA2485AA2485AA2485AA3485AA5485AAD6C7EA56C
7EA36C7EA26C7EA26C7EA26C7E7F7E6C6D15806D6C14016E1403D93FF8140F6D6CEC1FC0
6DB4147F01039038E003FF6D90B612806DEDFE00023F5C020F14F0020314C09126003FFC
C7FC32497AC63E>I<B612FEEDFFE016F816FE707E83902680000713F003007FEE3FFCEE
0FFE1607707E7013807013C0177FEF3FE018F0171F170F18F8A2EF07FCA2170318FEA317
01A218FFAC18FEA21703A3EF07FCA3EF0FF8A2EF1FF0A2EF3FE0177FEFFFC04C13805E4C
13004C5AEE3FFCEEFFF803075B90B75A17804CC7FC16F816E04BC8FC384578C446>I<B8
12C0A60180C9FCB3A790B612FCA60180C9FCB3AE2A4578C437>70
D<ED3FFC4AB512E0020F14F8023F14FF91B712C04916E049EBE0074990C7127FD91FFCEC
1FC0494814074A1403D97FC01401494814004817004890CAFC5B485AA2485AA2485AA248
5AA3485AA5485AAA4BB512F0A36C7EA392C7120FA26C7EA36C7EA26C7EA26C7EA26C7E7F
6C7F7E6D7EEB3FF0806D7ED907FF143F6D9038E007FF6D90B6FC6D16E0023F1500020F14
FC020114E09126003FFCC7FC34497AC641>I<EAFF80B3B3B3AF094577C41B>73
D<B47EB3B3B3A990B612FEA6274577C435>76 D<D8FFF0933803FFC06D5EA36D5EA3017E
EE1FBFA2017F163FA26D173F6E157FA2011F167E6E15FEA26E1401010F16FCA26E140301
0716F8A26E1407010316F0A26E140F010116E06E141FA2010016C06E143FA26E15806F13
7FA2023F15006F5B021F5CA2EDE001020F5CA2EDF00302075CA2EDF80702035CA26E6C48
5AA36E6C485AA392387F3F80A3033F90C7FCA2ED1FFEA36F5AA36F5A92C9FCA2424577C4
55>I<ED3FE0913803FFFE021FEBFFC04A8091B612F8010315FE499038C01FFF49D90007
7FD91FFC01017FD93FF06D6C7E49486E7E49486E7E4A140F4890C86C7E48486F7E491501
00078348486F1380A249167F001F18C049163F003F18E0A249161F007F18F0A449160F00
FF18F8AC6D161F007F18F0A46D163F003F18E0A36C6CEE7FC0A26D16FF000F18806D5D00
0718006D5D6C6C4B5A6C5F6E140F6C6D4A5A6D6C4A5AD93FF8ECFFE06D6C495B6DB40107
5B6DD9E03F90C7FC6D90B55A010015F86E5C021F14C0020349C8FC9138007FF03D497BC6
48>79 D<B612FCEDFFC016F016FC16FF1780902680000F13C0030113E09238007FF0EE1F
F8160FEE07FCA2EE03FE1601A217FFA282A45EA217FEA21603EE07FCA2EE0FF8161FEE7F
F0923801FFE0030F13C090B71280170016FC16F016C003FCC7FC0180C9FCB3AB304578C4
3E>I<B612F8EDFF8016F016FC82707E902680000F7F03017F6F6C7EEE1FF8707E160770
7EA2160183A282A35EA25F1603A24C5A160F4C5AEE7FF04B485A030F5B90B75A4CC7FC5E
16F0168093C8FCEB800082157F82153F826F7EA26F7E1507821503821501826F7FA2707E
163F83161F83707EA2707EA2707E160183701380A2EF7FC0324577C43F>82
D<BA12F0A6C8D83FE0C8FCB3B3B3A93C457DC443>84 D<EB07FE90387FFFC00003B57E00
0F14F84880819038F803FFEB8001001EC713800018147F0010EC3FC0C8FC16E0151FA8EC
7FFF010FB5FC133F48B6FC5A000FEBF01F381FFE00EA3FF8EA7FE05B485A90C7FCA4153F
7F6C6C137F9038E001FFEBF80F6CB6FC7E15DF6C141F000313F8C60180C7FC232F7CAD2F
>97 D<B4FCB3A6EC3FC0903803FFF0010F13FC013F7F497F90B61280D9FE0313C0D9F000
13E049137F49EB1FF05B90C7EA0FF8150716FC1503A316FE1501AAED03FCA3150716F815
0F16F06D131F6DEB3FE06D137F9039F001FFC0D9FC07138090B612006D5B6D5B6D5B0107
13E0C790C7FC274679C432>I<EC7FE0903803FFFE010FEBFF80013F14E04914F090B6FC
48EB801F3A03FE0003E04848130048481460491400485AA2485AA2485AA390C9FC5AAA6C
7EA37F123FA26C6C14106D14306C6C14F06C6C13016C6C13079038FF803F6C90B5FC6C6C
14E06D14806D1400010713F8010013C0242F7DAD2B>I<ED01FEB3A6EB03FC90380FFFC1
013F13F14913F948B6FC5AECC07F48EB001FD80FFC1307484813035B48481301A25B127F
5BA348C7FCAA7F127FA36C7EA26D13036C7E1507D80FFC130F6C6C133F9038FF80FF6C90
B5FC6C14FD6C14F1013F13E16D1381D903FCC7FC27467DC432>I<EB01FE903807FFC001
1F13F0017F7F90B57E488048EB03FF3807FC004848EB7F8049133F4848EB1FC0150F4848
14E0491307127FA290C7FCED03F0B7FCA648C9FCA37EA27EA27F123F7FA26C7E6D14106C
6C14706C6CEB01F06C6C13079038FF803F6C90B5FC6C15E0013F14806DEBFE00010713F8
010013C0242F7DAD2B>I<EC1FF0ECFFFE5B13075B5B90383FF01EECC00290387F800091
C7FC13FEA21201AEB61280A6D801FEC7FCB3B3A21F467EC51E>I<D901FCEB07E090390F
FF80FF013F13E74990B512F090B7FC5A2603FE03EBC0002607F80090C7FC497F000F8149
133FA248486D7EA86C6C495AA26D137F000792C7FC6D5B3903FE03FE90B55A485C485C5D
018F1380261F81FCC8FC0180C9FCA47F7F6CB512F8EDFF806C15E016F86C81488148815A
273FE0000F1380D87F80130090C8127F48ED3FC048151FA5007FED3F806D147F6C6CECFF
0001F813076CB4EB3FFE6C90B55A6C5D000115E06C6C1480011F49C7FC010113E02C427D
AC31>I<B4FCB3A6EC7FC0903801FFF801077F011F7F497F491480EBFE03D9F80013C049
137F49133F4914E0151F5BA390C7FCB3AC234579C432>I<EAFF80A9C7FCB0EA7F80B3B3
A809457AC417>I<B4FCB3A7ED7FE0EDFFC04A13804A13004A5A4A5A4A5A5D4A5A4A5A4A
5A4990C7FC495A1307495A495A495A137F13FF8080A2EBFDFEEBF9FF13F0496C7E01C07F
143F01807F496C7E140F8114076E7E8114016E7E1680157FED3FC016E0151FED0FF016F8
254579C42F>107 D<12FFB3B3B3AF084579C417>I<DA7FC0EB0FF827FF01FFF8EB3FFF01
076D90B51280011FD9FE0314C0496D4814E049028F14F0D9FE0390389FC07FD9F8009039
FF001FF8496D48130F496D481307494A14FC031F1403495CA390C75BB3AC3E2D79AC4D>
I<EC7FC039FF01FFF801077F011F7F497F491480EBFE03D9F80013C049137F49133F4914
E0151F5BA390C7FCB3AC232D79AC32>I<EC7F80903803FFF0010F13FC013F13FF498090
B67E4801C07F3A03FE001FF048486D7E48486D7E49130348486D7E491300003F81498000
7F1680A390C8123F4816C0AA6C6CEC7F80A36D14FF003F16006D5B001F5D6D13036C6C49
5A6C6C495A6D131F3A03FFC0FFF06C90B55A6C5D013F91C7FC6D5B010313F09038007F80
2A2F7DAD31>I<EC3FC039FF03FFF0010F13FC013F7F497F90B61280D9FE0713C0D9F000
13E049137F49EB3FF049131F90C7EA0FF8A2ED07FCA21503A216FE1501AAED03FCA31507
16F8150FED1FF07F6DEB3FE06D13FF6D4813C0D9FC0F138090B612006D5B6D5B6D5B0107
13E0010090C7FC91C8FCB2274079AC32>I<903901FE01FE90380FFF81013F13E14913F9
90B512FD4814FF48EBE07F48EB001F4848130F01F81307485A1503485A491301127F5BA3
48C7FCAA7F127FA27F123F7F15036C7E6D13076C6C130F6C6C133F9038FFC0FF6C90B5FC
6C14FD6C14F1013F13E16D1381903803FC0190C7FCB227407DAC32>I<141F00FE13FF13
035B131F5B5BEBFFF0148038FFFE005B5B5B5B5BA25BA390C7FCB3A8182D79AC21>I<EB
3FF848B5FC4814C0000F14F04814F85AEBE00F397F8001F090C7127000FE14301500A57E
7FEA7FE013FC383FFFE06C13FC14FF000714806C14E06C14F06C7E010713F89038003FFC
14071403EC01FEA21400A412400070EB01FC1278007E130339FFE01FF890B512F0A26C14
E0001F14800003EBFE0038003FF01F2F7DAD25>I<EA01FEADB612F0A6D801FEC7FCB3AB
7F150815386CEB81F8ECFFFC7FA26D13F06D138090380FF8001E3A7EB823>I<B4EC1FE0
B3AE153FA2157FA26D13FF1403387FE00F90B6FC6C14DF151F6C13FC000713F0000190C8
FC232D79AB32>I<B415FFA27F007FEC01FEA27F003FEC03FCA27F001FEC07F8A26C6C14
F0150FA26C6CEB1FE0A36C6CEB3FC0A27F0001EC7F80A26C6C14005DA26D5B1481A2013F
5B14C114C3011F5B14E314E7010F5BA201075B14F7A26DB45AA36D5BA2282C7EAB2D>I<
B415FFA27F007FEC01FE7F123FED03FC7F001FEC07F87F120FED0FF07F12076DEB1FE012
0316C06C6C133FA216806C6C137FA26D14006E5A5D133F14C1011F5BA2ECE1F8EB0FE3A2
01075B14F3A2903803F7E0A201015BA2EB00FF5DA2147F92C7FCA2147E14FEA25C1301A2
5C13035C13075CEA400F38781FC0EA7FFF5C91C8FC5B5BEA0FF028407EAB2D>121
D<007FB612E0A516C0C8138016005C4A5A4A5AA24A5A4A5A4A5AA24A5A4A5A92C7FC5B49
5A495AA2495A495A5C133F495A495AA24890C8FC485A485AA2485A485A5B123F48B612E0
B7FCA5232C7DAB2A>I E /Fq 16 122 df<130C1338137013E0EA01C0EA038013005A12
0EA25AA25AA312781270A312F0AB1270A312781238A37EA27EA27E7E1380EA01C0EA00E0
13701338130C0E317AA418>40 D<12C012707E7E7E7E7E1380EA01C0A2EA00E0A21370A3
13781338A3133CAB1338A313781370A313E0A2EA01C0A2EA038013005A120E5A5A5A12C0
0E317CA418>I<13FF000313C0380781E0380F00F0001E137848133CA248131EA400F813
1FAD0078131EA2007C133E003C133CA26C13786C13F0380781E03803FFC0C6130018227D
A01E>48 D<13E01201120712FF12F91201B3A7487EB512C0A212217AA01E>I<EA01FC38
07FF80381C0FC0383003E0386001F0EB00F812F86C13FCA2147C1278003013FCC7FC14F8
A2EB01F0EB03E014C0EB0780EB0F00131E13385B5B3801C00CEA0380380600185A5A383F
FFF85AB512F0A216217CA01E>I<13FF000313C0380F03E0381C00F014F8003E13FC147C
A2001E13FC120CC712F8A2EB01F0EB03E0EB0FC03801FF00A2380003E0EB00F01478147C
143E143F1230127812FCA2143E48137E0060137C003813F8381E03F0380FFFC000011300
18227DA01E>I<14E01301A213031307A2130D131D13391331136113E113C1EA01811203
EA07011206120C121C12181230127012E0B6FCA2380001E0A6EB03F0EB3FFFA218227DA1
1E>I<00101330381E01F0381FFFE014C01480EBFE00EA1BF00018C7FCA513FE381BFF80
381F03C0381C01E0381800F014F8C71278A2147CA21230127812F8A214784813F8006013
F0387001E01238381E07803807FF00EA01F816227CA01E>I<EB0FC0EB7FF03801F03838
03C0183807803C380F007C121E001C1338003C1300A2127C1278EB7FC038F9FFE038FB80
F038FE0038143C48131EA248131FA41278A36C131EA2001C133C001E13386C1370380781
E03801FFC038007F0018227DA01E>I<1230123C003FB5FCA24813FE14FC3860001C1438
14704813E014C0EA0001EB0380EB07001306130E5BA25BA21378A35BA41201A76C5A1823
7CA11E>I<137F3803FFC0380781E0380E00704813380018131C1238A3123C003F133838
1FC078EBE0F0380FF9E03807FF80120114C0000713F0380F0FF8381C03FC383801FE3870
007E141F48130F1407A314060070130E0078130C6C1338001F13F03807FFC0C613001822
7DA01E>I<13FE3803FFC0380781E0380E0070481378003C133848133CA200F8131EA314
1FA40078133FA26C137F121C380F01DF3807FF9F3803FE1EC7FCA2143E143C001C133800
3E13781470003C13E0381801C0381C0780380FFE00EA03F818227DA01E>I<3801FFFEA2
380007E01303B3A4123012FCA3130700F813C038700F8038381F00EA1FFCEA07F017237C
A11F>74 D<120FB4FCA2121F7EB3ABEAFFF0A20C237DA212>108
D<000F130FB413FFA2001F131F6C7FAD5CA26CEB3F809038C0EFF03803FF8F3900FE0F00
1C177D9522>117 D<39FFE01FF0A2391F800F80000FEB070000071306EBC00E0003130C
EBE01C00011318EBF0380000133013F8EB7860A26D5AA2EB1F80A26DC7FCA21306A25BA2
5B12F85B13701360EA61C0EA3F806CC8FC1C207E9420>121 D E
/Fr 21 119 df<120FEA3FC0127FA212FFA31380EA7F00123C0A0A77891C>46
D<171C173C177CA217FCA216011603A21607A24C7EA2161DA216391679167116E1A2ED01
C1A2ED038115071601150EA2031C7FA24B7EA25D15F05D4A5AA24A5AA24AC7FC5C140E5C
021FB6FC4A81A20270C7127FA25C13015C495AA249C8FCA2130E131E131C133C5B01F882
487ED807FEEC01FFB500E0017FEBFF80A25C39417BC044>65 D<49B812F8A390260003FE
C7121F18074B14031801F000F014075DA3140F5D19E0A2141F4B1338A2EF7801023F0270
13C04B91C7FCA217F0027F5CED80011603160F91B65AA3ED001F49EC07805CA3010392C8
FC5CF003804C13070107020E14005C93C75A180E010F161E4A151C183CA2011F5E5C60A2
013F15014A4A5A1707017F150F4D5A4A147F01FF913807FF80B9FCA295C7FC3D3E7BBD3E
>69 D<49B612FCEFFF8018F0903B0003FE000FF8EF03FE4BEB00FF8419800207ED3FC05D
A219E0140F5DA3021FED7FC05DA2F0FF80143F4B15004D5A60027F4A5A4B495A4D5AEF3F
8002FF02FEC7FC92380007F892B512E01780499038000FE04A6D7E707E707E0103814A13
0083A213075CA25E130F5C5F1603131F5CA3013F020714404A16E05F017F160119C04A01
031303496C1680B6D8800113079438FE0F009338007E1ECAEA3FFCEF07F03B407BBD42>
82 D<147E49B47E903907C1C38090391F80EFC090383F00FF017E137F4914804848133F
485AA248481400120F5B001F5C157E485AA215FE007F5C90C7FCA21401485C5AA21403ED
F0385AA21407EDE078020F1370127C021F13F0007E013F13E0003E137FECF3E1261F01E3
13C03A0F8781E3803A03FF00FF00D800FC133E252977A72E>97 D<EC1FE0ECFFF8903803
F03E903807C00F90381F8007D93F001380017E131F49137F485A485A000715005B000F14
7E484890C7FCA2485AA3127F90C9FCA35A5AA6481403007E5C5D151E003E5C5D6C5CEC03
E0390F800F802603E07EC7FC3801FFF838003FC0212977A72A>99
D<EE3F80ED1FFF1700A2ED007FA2167EA216FEA25EA21501A25EA21503A25EA21507A25E
147E903801FF8F903807C1CF90391F80EFC090383F00FF017E137F5B48486D5A485AA248
5A000F92C7FC5B001F5CA24848137EA215FE127F90C75AA214015A485CA2140316384814
F0A21407167891380FE070127C021F13F0007E013F5B003E137FECF3E1261F01E35B3A0F
8781E3802703FF00FFC7FCD800FC133E294077BE2E>I<EC3F80903801FFE0903807E0F8
90381F803CEB3E0001FC131E485A485A12074848133E49133C121F4848137C15F8EC03F0
397F000FE0ECFF80B5EAFC0014C048C8FCA45AA61506150E151E007C143C15786C14F0EC
01E06CEB07C0390F801F003807C0FC3801FFF038007F801F2976A72A>I<167C4BB4FC92
3807C78092380F83C0ED1F87161FED3F3FA2157EA21780EE0E004BC7FCA414015DA41403
5DA30103B512F8A390260007E0C7FCA3140F5DA5141F5DA4143F92C8FCA45C147EA414FE
5CA413015CA4495AA4495AA4495A121E127F5C12FF49C9FCA2EAFE1EEAF83C1270EA7878
EA3FE0EA0F802A5383BF1C>I<EC03F0EC0FFC91383E0E1C9138FC077E903901F003FE13
03903807E001D90FC013FCEB1F80A2EB3F004914F8137E01FE1303A2484814F0A2150712
034914E0A2150F12074914C0A2151FA216805B153F1203ED7F006D5BA200015B0000495A
9038F80F7E90387C1EFEEB1FF8903807E0FC90C7FC1401A25DA21403A25D001C1307007F
5C48130F5D4A5A4AC7FC48137E00F85B387C03F0381FFFC0D803FEC8FC273B7CA72A>I<
1478EB01FCA21303A314F8EB00E01400AD137C48B4FC38038F80EA0707000E13C0121E12
1CEA3C0F1238A2EA781F00701380A2EAF03F140012005B137E13FE5BA212015BA212035B
1438120713E0000F1378EBC070A214F0EB80E0A2EB81C01383148038078700EA03FEEA00
F8163E79BC1C>105 D<EB07F0EA03FF14E0A2EA000FA214C0A2131FA21480A2133FA214
00A25BA2137EA213FEA25BA21201A25BA21203A25BA21207A25BA2120FA25BA2121FA25B
A2123FA290C7FCA25A1307127EA2EAFE0F130E12FCA2131E131CA2EA7C381378EA3C70EA
1FE0EA0780144079BE17>108 D<D801F0D93F80137F3D07FC01FFE003FFC03D0F3E07C1
F80F83F03D0E1F0F00FC1E01F8001E011C90387C3800001C49D97E707F003C01F05C0038
157F4A5C26783FC05C12704A91C7FC91C7127E00F003FE1301494A5CEA007EA203011403
01FE5F495CA203031407000160495C180F03075D0003051F13E0494A1480A2030FEC3F81
0007F001C0495CA2031F91383E0380120F494AEC0700A2033F150E001FEF1E1C4991C7EA
0FF80007C7000EEC03E0432979A74A>I<D801F0EB3F803A07FC01FFE03A0F3E07C1F83A
0E1F0F00FC001E011C137C001C49137E003C13F012385C38783FC012705C91C7FC00F015
FE495CEA007EA2150101FE5C5BA2150300015D5B15075E0003020F13704914C0A2031F13
F00007ED80E05B1681EE01C0120F49EC0380A2EE0700001FEC0F0E49EB07FC0007C7EA01
F02C2979A733>I<EC1FC0ECFFF8903803F07C90380FC01FEB1F8090393F000F80017E14
C0491307484814E0485A12075B000F15F0485AA2485AA2ED0FE0127F90C7FCA2151F4815
C05AA2ED3F80A2ED7F00A248147E007C5C007E13015D4A5A003E495A6C495A4A5A260F80
3EC7FC3807C0FC3801FFF038003F80242977A72E>I<903903E001F890390FF807FE903A
1E7C1E0F80903A1C3E3C07C0013C137801389038E003E0EB783F017001C013F0ED800190
38F07F0001E015F8147E1603000113FEA2C75AA20101140717F05CA20103140F17E05CA2
0107EC1FC0A24A1480163F010F15005E167E5E131F4B5A6E485A4B5A90393FB80F80DA9C
1FC7FCEC0FFCEC03E049C9FCA2137EA213FEA25BA21201A25BA21203A2387FFFE0B5FCA2
2D3A80A72E>I<D801F013FC3A07FC07FF803A0F3E0F03C0260E1F1C13E0001EEB380F00
1C1370003CEBE01F123814C0D8783F14C00070903880070092C7FC91C8FC12F05BEA007E
A313FE5BA312015BA312035BA312075BA3120F5BA3121F5B0007C9FC232979A726>114
D<EC7F80903801FFE0903807C0F890381F003C013E131C013C131E017C133E49137E15FE
A2000114FCA215706D13007FEBFFC014FC6C13FF15806D13C06D13E0010F13F01300140F
14071403120C123F387F80011403D8FF0013E0A300FCEB07C000F0EB0F8012700078EB1F
006C133C381F01F83807FFE0C690C7FC1F297AA725>I<EB01C0EB03F01307A25CA2130F
A25CA2131FA25CA2133FA291C7FCA2007FB51280B6FC1500D8007EC7FC13FEA25BA21201
A25BA21203A25BA21207A25BA2120FA25BA2121F141C1380A2003F133C1438EB00781470
14F05C495AEA1F03495A6C48C7FCEA07FCEA01F0193A78B81E>I<137C48B4141C26038F
80137EEA0707000E7F001E15FE121CD83C0F5C12381501EA781F007001805BA2D8F03F13
03140000005D5B017E1307A201FE5C5B150F1201495CA2151F0003EDC1C0491481A2153F
1683EE0380A2ED7F07000102FF13005C01F8EBDF0F00009038079F0E90397C0F0F1C9039
1FFC07F8903907F001F02A2979A731>I<017CEB01C048B4EB07F038038F80EA0707000E
01C013F8121E001C1403EA3C0F0038EC01F0A2D8781F130000705BA2EAF03F91C712E012
005B017E130116C013FE5B1503000115805BA2ED07001203495B150EA25DA25D15780001
14706D5B0000495A6D485AD97E0FC7FCEB1FFEEB03F0252979A72A>I
E /Fs 6 104 df<121EEA7F80A2EAFFC0A4EA7F80A2EA1E000A0A799B19>1
D<EB0FFCEB3FFF90B512C0000314F04880488048804880A2481580A3B712C0AA6C1580A3
6C1500A26C5C6C5C6C5C6C5CC614C0013F90C7FCEB0FFC22227BA72D>15
D<007FB912E0BA12F0A26C18E0C8000FC9FCB3B3B315063C3C7BBB47>62
D<1506150FB3B3B3007FB912E0BA12F0A26C18E03C3C7BBB47>I<153FEC03FFEC0FE0EC
3F80EC7E00495A5C495AA2495AB3AA130F5C131F495A91C7FC13FEEA03F8EA7FE048C8FC
EA7FE0EA03F8EA00FE133F806D7E130F801307B3AA6D7EA26D7E80EB007EEC3F80EC0FE0
EC03FFEC003F205B7AC32D>102 D<12FCEAFFC0EA07F0EA01FCEA007E6D7E131F6D7EA2
6D7EB3AA801303806D7E1300147FEC1FC0EC07FEEC00FFEC07FEEC1FC0EC7F0014FC1301
495A5C13075CB3AA495AA2495A133F017EC7FC485AEA07F0EAFFC000FCC8FC205B7AC32D
>I E /Ft 67 122 df<DA1FF0EB0FF8DAFFFCEB7FFE4915FF01071403495CA2903B1FE0
3C0FF01E903B3F80041FC00291C7EB800049143F017E92C7FC01FE5CADB6ECFF80A6C648
C790C7FCB3B037407FBF35>11 D<147E903901FF807F13075B5BA2EB3F83140049130013
7EA213FEADB61280A6C648C7FCB3B028407FBF31>13 D<397F803FC0A8000F1307391F00
0F80A2001E1400003E5BA2003C131E007C133E0078133CA200F8137C1A137EBE2D>34
D<14FCEB01F8EB03F0EB07E0EB0FC0131F1480EB3F005B137E5B12015B1203A2485AA25B
120FA25B121FA25B123FA448C7FCA712FEB3A2127FA76C7EA4121F7FA2120F7FA212077F
A26C7EA212017F1200137E137F7FEB1F8014C0130FEB07E0EB03F0EB01F8EB00FC165A79
C323>40 D<12FC127E7E6C7E6C7E7F12076C7E7F12016C7E7F137E137FA2EB3F80A2131F
14C0A2130F14E0A2130714F0A4EB03F8A7EB01FCB3A2EB03F8A7EB07F0A414E0130FA214
C0131FA21480133FA2EB7F00A2137E13FE5B485A12035B485A120F5B485A48C7FC127E5A
165A7BC323>I<EB03C0497EA80078141E00FC143F00FF14FFEB87E1EBE7E7393FF7EFFC
6CB512F8000714E00001148039007FFE006D5AA2497E48B51280000714E0001F14F8393F
F7EFFC39FFE7E7FFEB87E1EB07E000FC143F0078141E00001400A86D5A20287AC32D>I<
1506150FB3A9007FB912E0BA12F0A26C18E0C8000FC9FCB3A915063C3C7BB447>I<EA7F
80A8120FEA1F00A2121E123EA2123C127C1278A212F80913798719>I<B512FEA617067F
961E>I<ED0180ED03C01507A21680150FA216005DA2151E153EA2153C157CA2157815F8
A25D1401A25D1403A25D1407A25D140FA24AC7FCA2141E143EA2143C147CA2147814F8A2
5C1301A25C1303A25C1307A25C130FA291C8FC5BA2131E133EA25BA2137813F8A25B1201
A25B1203A25B1207A25B120FA290C9FC5AA2121E123EA2123C127CA2127812F8A25A1260
225B7BC32D>47 D<EB03FCEB0FFF013F13C090B512F048804880EBFE073907F801FE4848
6C7E497F4848EB3F80A249131F003F15C0A290C7120F4815E0A4007E1407A200FE15F0B3
A3007FEC0FE0A56C6CEB1FC0A36D133F001F15806D137F000F15006D5B6C6C485A3903FE
07FC90B5FC6C5C6C5C013F13C06D5BD903FCC7FC24407CBD2D>I<14C013011307130F13
7FEA07FFB5FCA4139FEAF81F1200B3B3A8B612F8A61D3E78BD2D>I<EB0FF8EB3FFF90B5
12C04814F048804880390FF01FFE391FC003FF4848C6138090C7127F48EC3FC0127EED1F
E012FE48140F007C15F0123C1238001814071208C8FCA2150FA216E0A2151F16C0153F16
80ED7F005D5D4A5A4A5A4A5A4A5A4A5A4A5A4AC7FC14FE495A495A495A495A495A495A49
C8FC13FC485A485A485A485A485A48C9FC48B612F0B7FCA6243E7CBD2D>I<12FFA81200
B3A612FFA8082878A719>58 D<007FB912E0BA12F0A3CDFCB0BA12F0A36C18E03C187BA2
47>61 D<EC01FE4A7EA34A7FA391380FDFC0159F021F7F158FA291383F0FF0A21507027E
7FA2150302FC7FA201016D7E14F8A201036D7E5CA201076E7E5C010F6E7EA25C011F6E7E
5CA2013F6E7E91C7FC49811607137E90B77EA34882A2D803F8C7EA01FF825B0007178017
7F5B000FEE3FC05B001F17E0171F5B003F17F0170F90C9FC48EE07F8A200FE17FC17035A
363F7DBE3D>65 D<B612E015FCEDFF8016E08248C713FCED1FFEED03FF819238007F80EE
3FC0161FA2EE0FE0A6EE1FC0163F1780167F923801FF004B5AED0FFCED7FF8B75A16C04B
C7FC8116E016F848C713FEED0FFF030113806F13C0EE3FE0EE1FF0160FEE07F8160317FC
A21601A4160317F81607A2EE0FF0161FEE7FE0EEFFC003031380033F1300B75A16F816E0
168003F8C7FC2E3F77BE3D>I<EDFFF0020FEBFF80023F14F091B612FC5B130749903880
3FF890391FFC0003D93FF01300D97FC01438494814184890C9FC485A5B12075B485AA248
5AA2485AA3485AA448CAFCAD6C7EA46C7EA36C7EA26C7EA26C7E7F12037F6C6C15046C6D
140C6D6C143CD93FF0147CD91FFCEB01FE90390FFF801F6D90B5FC010115FC6D15F0023F
14C0020F1400020013F02F437AC03A>I<B612F8EDFF8016E016F88290C7EA1FFF03037F
03007F707EEE1FF0707E707E1603707EA2707EEF7F80A2173F18C0A2171F18E0A2170FA2
18F0AC18E0171FA318C0173FA2EF7F80A2EFFF00A24C5A16034C5A4C5A4C5A4C5AEEFFC0
03035B031F90C7FC90B65A16F816E0168003F8C8FC343F78BE42>I<B8FCA690CAFCB3A3
90B612FCA690CAFCB3A590B71280A7293F78BE36>I<B712FEA690C9FCB3A490B612E0A6
90C9FCB3AB273F78BE34>I<EDFFF0020713FF023F14E091B612F84915FE130749EB803F
903A1FFC0003FCD93FF013004948143CD9FF80141C4890C8120C491500485A12075B485A
A2485AA2485AA3485AA448CAFCAA0307B5FCA36C7EA392C7127F6C7EA36C7EA26C7EA26C
7E7F12036C7E7F6C7FEB7FE06D7ED91FFCEB01FF90390FFF801F6D90B6FC13016D15FC02
3F14F002071400020013F030437AC03D>I<B4ED01FEB3A990B7FCA690C81201B3AC2F3F
78BE40>I<12FFB3B3B3A9083F78BE19>I<B4EEFF804C13004C5A4C5A4C5A4C5A4C5A4C5A
4C5A4B90C7FC4B5A4B5A4B5A4B5A4B5A4B5A4B5A4A90C8FC4A5A4A5A4A5A5D4A5A4A5A4A
5A14FF497F497F5B497F90381FEFF8133F90387FC7FCEBFF83EC03FE496C7E497E498049
6D7E49133F4980496D7E90C7120F826F7E1503826F7E8183707E163F83707E160F83707E
160383707E821880EF7FC0323F78BE3F>75 D<B4FCB3B3B3A390B612F0A6243F78BE31>
I<D8FFE0EE3FF8A36D167FA26D16FFA200FE17FB6D1501A2017EED03F3A36DED07E3A36D
6CEC0FC3A26E141F010F1683A26E143F01071603A26E147F0103157E6E14FEA2010115FC
6E1301A2010015F86E1303027E14F0027F1307A26E14E0ED800FA2021F14C0EDC01F020F
1480A2EDE03F02071400A26F5A0203137EA26E6C5AA3913800FDF8A215FF6F5AA26F5AA3
6F5A92C8FCA23D3F77BE50>I<D8FFF015FEA27FA27FA27F12FE137FA280133F80131F80
130F801307801303801301801300808081143F81141F81140F8114078114038114018114
0081811680153F16C0151F16E0150F16F0150716F8150316FC1501A2ED00FE16FF167FA2
163FA2161FA22F3F78BE40>I<4AB47E020F13F0027F13FE91B6FC010315C04981011F01
0013F8D93FF8EB1FFCD97FE0EB07FE4A130349486D7E4890C813804848ED7FC049153F48
48ED1FE04848ED0FF0A24848ED07F8A2491503003F17FCA2491501007F17FEA390CAFC48
17FFAC6D5D007F17FEA46D1503003F17FCA26D1507001F17F86D150F000F17F06D151F6C
6CED3FE0A26C6CED7FC06C6CEDFF806C6D4913006E5BD97FF0EB0FFE6D6C495A6DB4EBFF
F8010790B512E06D5D010092C7FC6E5B020F13F00201138038437BC043>I<B612F015FE
EDFFC08216F890C7EA3FFCED07FEED01FF6F1380167FEE3FC0EE1FE0A2160F17F01607A6
160F17E0161FA2EE3FC0167FEEFF804B1300ED07FEED3FFC90B65A5E16C093C7FC15FC90
CAFCB3A92C3F78BE3A>I<4AB47E020F13F0027F13FE91B6FC010315C04981011F010013
F8D93FF8EB1FFC49486D7E02C0130349486D7E4890C813804848ED7FC049153F4848ED1F
E0000F17F049150F001F17F8491507A24848ED03FCA34848ED01FEA448CA12FFAD6C6CED
01FEA56C6CED03FCA26D9038FF8007001F027F14F8ED3FC06C6C9138E00FF06D90381FF0
1F0007020F14E06DECF83F6C6C903907FC7FC06C6C903903FEFF806C6D6CB5120014C06D
6C6C5BD93FF86D5A6DB4495A010790B512E06D8101008180020FEBF7FC0201EB83FE91C7
EA03FF8270138018C0EF7FE0173FEF1FF018F8EF0FFC384C7BC043>I<B612F015FF16C0
16F016FC90C7EA3FFEED03FF03001380EE3FC0EE1FE0160F17F0160717F81603A5160717
F0160FA2EE1FE0EE3FC016FF03031380031F130090B65A16F85E16C04BC7FC5DEB000181
1400816F7E153F82151F826F7EA26F7E1503826F7EA26F7EA2EE7F80163F17C0EE1FE0A2
EE0FF0A2EE07F8EE03FCA2EE01FE2F3F78BE3B>I<ECFFF0010713FF011F14C0017F14F8
90B67E5A48EB803F3A07FC0007F848481301D81FE0EB0078491438003F15184991C7FCA2
48CAFCA67FA26C7E7F7F6C7EEA0FFEEBFFC06C13FC6CEBFFC06C14F86C14FE013F6D7E01
0F80010380D9003F7F02037F9138007FFC150F6F7E15018281821780163FA7EE7F001260
1270007815FE007C1401007F4A5AD8FFC0130701F0EB1FF801FFEB7FF06C90B55A001F5D
000792C7FC00015CD8003F13F8010113C029437CC033>I<B912FEA6C890C8FCB3B3B3A2
373E7DBD3E>I<B4ED01FCB3B3AB6C6CEC03F8A36C6CEC07F0A26C6CEC0FE0A26C6CEC1F
C06D143F6C6CEC7F806C6CECFF003A01FF8003FE6C9038E01FFC6DB55A011F14E001075C
010149C7FC9038003FF02E4178BE3F>I<B46CEE1FC0007FEF3F807F003FEF7F00A27F00
1F17FE7F000F4C5AA27F00074C5AA26C6C4B5AA27F00014C5AA27F6C4C5A80017F4B5AA2
80013F4BC7FCA26D6C14FEA280010F4A5AA26D6C5C1603A26D6C495AA26D6C5C160FA26D
6C5C161FA2DA7F805B163FDA3FC090C8FC5EA291381FE07E16FE020F5B15F015F102075B
15F902035B15FB15FF6E5BA26E5BA36F5A3A3F7FBE3D>I<B4DB07FEED0FE06C6C1AC01B
1F4C7E6C6C1A801B3F5EEFBF806C6C033F160063163F6C6C6F6C147E1BFE167E846C6C03
0F5D1A0116FC6C6C705C0507140316F80301806C6C03035D1A07ED03F0846C6C03015D1A
0FED07E0D97F806F5C0500141F5E030F80D93FC06F5C1A3F5E011F011F038090C7FC02E0
153F6293C7FC010F49EDC07E02F0151F033E16FE010760037EEC0FE0A2DAF87C15E10103
6003FC14074B15F1D901FC5FF003F3A25DD900FDEEFBE01801DAFFE015FF027F5F84A25D
023F5F197F533F7FBE56>I<D87FC0ED0FF86C6CED1FF06D16E0001FEE3FC06C6C157F6C
6CEDFF806C6C16004C5A6C6C14036C6D5C6D6C495A160F6D6C495A6D6C5C6D6C495A167F
6D6C5C6D6C49C7FC0101495A903800FF03ED83FC91387FC7F8EC3FCF91381FEFF0EDFFE0
6E5B806E5B93C8FC6E5A814A7F5C824A7F91381FEFF015CF91383FC7F891387F83FC9138
FF03FE150149486C7E49486D7E0107814A6D7E4948131F49486D7E8349486D7E49481303
01FF8191C76C7E48486E13800003167F484816C049ED3FE04848ED1FF0001F17F849150F
4848ED07FC007FEE03FE484816FF90C97E383F7EBE3D>I<B46CEE1FC06D163F007FEF7F
806C6CEEFF007F001F4C5A6C6C4B5A7F00074C5A6C6C4B5A7F6C4C5A6C6D4A5A6E5D017F
157F6D6C4AC7FC6E5C011F14016D6C495A6D6C5C16076D6C495A6D6C5C161F6D6D485ADA
7FC05B167F6E6C48C8FC6E6C5AEDF1FCEC0FFB6EB45A5E806E5B5E806F5AB3A83A3F7FBE
3D>I<B5FCA6EAFC00B3B3B3B3A7B5FCA6105B78C31A>91 D<390F8007C001001380A248
130F001E1400003E5BA2003C131E007C133EA2485BB4EB7F80A81A1370BE2D>I<B5FCA6
EA003FB3B3B3B3A7B5FCA6105B7FC31A>I<EB0FF890B5FC00031480000F14E04814F0A2
9038F00FF890388003FC381E0001001814FE00101300C812FF157FA7EC7FFF010FB5FC13
7F48B6FC120748EBF07F383FFC0013C048C7FC12FE5AA315FF7E5C387F8007EBE01F6CB6
FCA26C147F6C13FC6C13F0000190C7FC202B7CA92C>97 D<12FEB3A414FF010713E0011F
7F017F7FB67E819038F80FFFEBE001D98000138090C7EA7FC0153F48141F16E0150FA3ED
07F0AAED0FE0A3151FED3FC07E6DEB7F8015FFD9E00313009038F81FFE90B55A485C6D5B
6D5B010F1380260001FEC7FC244079BE2F>I<49B47E010F13F0013F13FC4913FF90B612
805A481300D807FCEB1F00D80FF0130748487F4990C7FC123F5B127F90C9FCA312FEAA12
7FA36C7EA26C6C14406DEB01C06C6C13036C6C131F01FF13FF6C90B5FC7E6C6C14806DEB
FE00010F13F001011380222B7DA928>I<ED07F0B3A4EB07F8EB3FFF4913C748B512F748
14FF5A1480390FFC003FD81FF0131F49130F48481307A2485A90C7FCA312FEAA127FA37F
003F140F7F6C6C131F6D133F6C6C137F9038FF01FF6C90B5FC6C14F76C14E76C14879038
3FFE07D90FF0C7FC24407DBE2F>I<EB03F8EB1FFF017F13C090B57E488048803807FE07
390FF801FC9038E000FE4848137E003F143E49133F90C77E5A127EED0F80B7FCA600FCC9
FCA37E127EA2127FA26C7EA26C7E6D14806C6C1303D807FC131F01FF13FF6C90B5FC7E6C
6C14006D13FC010F13E0010190C7FC212B7DA928>I<EC1FF0ECFFFC5B13075BA290381F
E03C90383F800491C7FC5B137E13FEADB6FCA6C648C7FCB3B01E407FBF1C>I<D903FC13
3F90390FFF03FF013F13DF4990B5128090B7FC5A9026FE07FCC7FC3803F80148486C7E49
137EA248487FA86C6C137EA26D13FE6C6C485A3901FE07F848B5FC5D485C5DD80FCF90C8
FCEBC3FC0180C9FC7FA37F6CB512F015FF6C15C0824881001F81823A3FE0001FFED87F80
130390C8FC48814881A46C5D6C5D01C01303D83FF0EB0FFCD81FFEEB7FF86CB65A6C5D6C
5DC692C7FC011F13F8010313C0293D7EA82D>I<12FEB3A449B4FC010713C0011F13F001
7F13F890B512FCB6FC9038F80FFEEBE003EBC00190388000FFA290C7127FA35AB3A9203F
79BE2F>I<12FFA81200AF127FB3B3A4083F7ABE16>I<EB03FCA890C7FCAFEB01FCB3B3AE
384003F8EA7007387C1FF0B5FC14E014C06C1380001F1300EA01FC165286BE18>I<12FE
B3A5EDFF804A13004A5A4A5A4A5A4A5A4A5A4A5A4A5A4990C7FC495A495A495A5C495A49
5A497E13FFB57E8013FBEBF1FCEBE0FE497E497E496C7E488048131F6E7E8114076E7E81
14016E7E157F1680153FED1FC016E0233F79BE2C>I<12FEB3B3B3A9073F79BE16>I<26FC
01FFECFF800107D9C00313E0011FD9F00F13F8017FD9F83F7F90B56C487F00FD92B5FC3C
FFF80FFFFC07FFD9E003EBF001496C497E496C49EB7F80A290C76C48133FA34892C7FCB3
A9392979A848>I<38FC01FF010713C0011F13F0017F13F890B512FC12FD39FFF80FFEEB
E003EBC00190388000FFA290C7127FA35AB3A9202979A82F>I<EB01FE90380FFFC0013F
13F0497F90B57E000314FF14033A07F8007F804848EB3FC04848EB1FE049130F4848EB07
F0A290C712034815F8A2007E140100FE15FCA96C14036C15F8A36C6CEB07F06D130FA26C
6CEB1FE06C6CEB3FC001FC13FF2607FF0313806C90B512006C5C6C5C013F13F0010F13C0
D901FEC7FC262B7DA92D>I<14FFD8FE0713E0011F7F017F7FB67E819038F80FFFEBE003
D98000138090C7EA7FC0153F5AED1FE0A2150FA216F01507A8150F16E0A2151FA2ED3FC0
6C147F6DEBFF805CD9E00313009038F81FFE90B55A485C6D5B6D5B010F1380D901FEC7FC
90C9FCB1243B79A82F>I<903903F807F0EB1FFF017F13C790B512E74814F74814FF4813
81390FFC007F4848133F49131F4848130F5B48481307A290C7FCA25A5AA87E7EA27FA26C
7E150F6C6C131F6D133FD80FFC137F9038FF01FF6C90B5FC6C14F76C14E76C148790383F
FE07EB0FF090C7FCB1243B7DA82F>I<00FC137CEB03FC130F131F133F137FEBFFC038FD
FE00EAFFF85B5B5BA25BA290C7FCA25AB3A6162979A81F>I<EB1FF890B51280000314E0
4814F85A5A393FE00FF0EB8000007F143090C8FCA57F6C7E13F06CB4FC14F06C13FE6C7F
000114C06C14E0011F13F013019038001FF81407EC03FCA21401A3124012700078EB03F8
007E130738FFE01F90B512F015E06C14C0001F14800003EBFE0038003FF01E2B7EA923>
I<EA01F8ACB612E0A6D801F8C7FCB3A77F152015E03800FE0790B512F0A27F6D13C06D13
00EB0FF01C357EB321>I<00FE147FB3AC15FFA25C6C5B6C130FEBC03F90B6FC6CEBFE7F
6C13FC6C13E0000390C7FC202979A72F>I<B415FE6CEC01FCA26C6CEB03F8A27F001FEC
07F0A27F000FEC0FE0A26C6CEB1FC0A27F0003EC3F80A26C6C14005DA26C6C137E15FEA2
017F5B1401013F5B14811483011F5B14C314C7010F5BA2903807E7C014EFA26DB45AA36D
90C7FCA227287FA72A>I<00FEDA7F80EB0FE0007F6F14C0181F15FF6C6C6E148003FB14
3F140101C013F3001F6FEB7F00140315F1D80FE06E137E03E114FE1407D807F0D9E0FC5B
170115C0140FD803F8027E5B1703EC1F8000015F01FC143F17070000D93F005C161F01FE
1587023E148F017E5E027E130F17CFD93E7C5D013FEC07DFA21478D91FF86DB4C7FCA25C
010F5D16013B287FA73E>I<D87F80EB01FE003F5D6C6C495A6C6C13076D495A6C6C495A
6C6C5C00014A5A6C6C49C7FC017F5B90383F81FEECC1FC90381FE3F890380FE7F06DB45A
7F6D5B6D5B92C8FC147E14FF497F81497F903807E7F090380FE3F8EB1FC190383F80FC4A
7E49137F01FE6D7E48486D7E4848800007140F496D7E48486D7E48486D7E003F8148486D
7E48C8EA7F80292880A72A>I<B415FE6CEC01FC7F003FEC03F87F121FED07F07F000FEC
0FE07F1207ED1FC06C7E16806C6C133FA2ED7F006C7E157E017F13FEA26D5B14815D131F
14C190380FC3F0A2903807E3E014E7A201035BA2903801F780A2EB00FF92C7FCA2147EA3
147CA214FC5C13015CA213035C13075CEA200F383C1F80D83FFFC8FCA25B5BEA07F0273B
7FA72A>I E /Fu 46 122 df<EE03804C7EB3B2007FBB12F8BC12FCA36C1AF8C9D807C0
C9FCB3B2705A4E4F7AC45B>43 D<B612FEA71F077F9D27>45 D<EAFFC0AA0A0A758921>
I<EC1FF891B5FC010314C04980011F14F8498049809039FFF81FFF48D9C00313804A7E48
90C713C04848EC7FE049143F4848EC1FF0A249140F001F16F8491407A2003F16FCA24914
03A2007F16FEA3491401A300FF16FFB3A6007F16FE6D1403A66C6CEC07FCA46C6CEC0FF8
A26C6CEC1FF0A26D143F000716E06D147F6C6CECFFC06C6D481380ECE0076CD9F81F1300
6DB55A6D5C6D5C6D5C010314C0010091C7FCEC1FF830527BCF3B>48
D<14075C5C147F5C1307133F0007B5FCB6FCA413F913C1EAF8011200B3B3B3A4B712FEA7
275075CF3B>I<EC7FF0903803FFFE010FEBFFC0013F804914F890B67E4881488148D980
7F1380270FFC000F13C049010313E0484813004848EC7FF049143F007F16F849141FEE0F
FC48C8FC1607127E003E16FE121E121C000C15031204C9FCA21607A317FCA2160F17F8A2
EE1FF0A2EE3FE0167F17C0EEFF804B13004B5AA24B5A4B5A4B5A4B5A4B5A4B5A4A48C7FC
4A5A4A5A4A5A4A5A4A5A4A5A4AC8FC495A495A495A495A495A495A495A49C9FC485A485A
485A485A485A48B712FE5AA82F507BCF3B>I<EC1FF849B5FC010714E0011F80017F14FC
90B67E00038148D9E00F138048D9000313C0D81FFC010013E04848147F01E0EC3FF0485A
6C48141F90C813F87E000E150F120C1204C9FC161FA217F0A2163F17E0167FEEFFC0A24B
13804B1300150FED3FFE913807FFFC0103B55A16E05E5E16E016F88290C7EA1FFF030313
80030013C0EE7FE0EE3FF0161F17F8EE0FFCA2EE07FEA3EE03FFA90040ED07FE1260A200
70150F00F816FC6C151FB416F86D143FD87FE0EC7FF0D83FF814FF01FE010313E0271FFF
E00F13C06C90B61280000316006C5D6C5D013F14F0010F14C0010191C7FC9038003FF830
527BCF3B>I<ED07FF5DA25DA2153EA2157E5DA214015D140314075D140F5D141F4A5AA2
4A5AA24A5AA2495A13035C13075C130F495AA2495AA2495A5C13FF4890C7FCA2485AA248
5A485AA2485AA2485A127F5B485A90B812F0A7C8000190C7FCB3A3344E7DCD3B>I<0007
B712E0A801F8C9FCB3A2EC07F8EC3FFF91B512C001FB14F090B67E8216FFECF80FDAE003
1380DA800013C091C7EA7FE05B49EC3FF049141F17F85BC9EA0FFCA3160717FEABEE0FFC
A212080018151F001C16F8123E007EED3FF0007F157F486CECFFE0D87FE05B6D4913C0D8
3FFC010F1380271FFF803F13006C90B55A6C5D6C5D6C5D6C6C14C0011F91C7FC010713FC
9038007FE02F507BCD3B>I<ED3FF80203B51280020F14E0143F5C49B6FC5B49EBC00749
90C71260D91FFC1400EB3FF0495A5C495A4890C9FC5B1203485AA2485AA25B121FA25B12
3FEDFF80D9C00F13E0007F013F13F891B57E01C38001C78049158027FF9FF80713C09026
BFC00113E09039FF80007F49C7EA3FF05B49EC1FF8160F4915FC16074915FE16035BA216
0117FFA5127FA6123FA26D15FE1603121F7FEE07FC120F6D140F17F86C6C141F6DEC3FF0
6C6CEC7FE06C6D13FF6E4813C06CD9F80F13806DB612006D5C6D5C6D5C6D5C010114C06D
6C90C7FCEC0FF830527BCF3B>I<B9FCA9C9EA01FEEE03FCEE07F8A2EE0FF0EE1FE0EE3F
C0167F178016FF4B13005E15034B5AA24B5A5E151F4B5AA24B5AA24B5AA25C93C7FC5C5D
14075DA2140F5DA2141F5D143FA25D147FA35D14FFA35D5BA54990C8FCA75C1307AA304F
7BCD3B>I<EC1FF849B57E010714E0011F14F8498090B7FC48168048D9F00F13C048D980
0113E049C7127FD80FF8EC1FF04848EC0FF8A24848EC07FC491403A2007F16FE491401A8
6C6CEC03FCA26C6CEC07F8A26C6CEC0FF06D141F6C6CEC3FE06CB4ECFFC06CD9C0031380
6C90B61200013F14FC010F14F0010314C0A2011F14F849809039FFFC3FFF48D9C0031380
4890C713C04848EC7FE04848EC3FF049141F4848EC0FF84848EC07FCA24848EC03FEA348
48EC01FFA96D5C007F16FEA36C6CEC07FC6D140F001F16F86D141F6C6CEC3FF06D147F3B
07FF8001FFE06CD9F00F13C06C90B612806C16006D5C6D5C010F14F06D5C010091C7FCEC
1FF830527BCF3B>I<EC1FF891B5FC010314C04980011F14F8498049809039FFF00FFF48
EBC00348D90001138048489038007FC05B4848EC3FE0001F151F4915F04848140F17F85B
007F150717FCA249140312FF17FEA416011603A217FFA5127F7FA25E7F003F5D7F001F5D
7F6C6C5C5E6C6C49B5FC9039FF8003FD6C9038E01FF96C90B5EAF3FE6C15E36D14C36D14
036D13FC010701F013FC0101EB000790C8FCA2EE0FF8A3EE1FF0A2EE3FE0A2EE7FC016FF
17804B13005D00034A5A6DEB1FFCD807E0495A9038FC01FF48B65A16C0485D6C92C7FC00
035CC614F8013F13E0010790C8FC30527BCF3B>I<ED03FF4B7FA34B7FA34B7FA292383F
DFF0169FA2037F7F168F160F03FF7F160715FE020180A21603DA03FC7FA202076D7F15F8
A2020F6D7F5DA2021F6E7E5DA2023F6E7E5DA2027F6E7E5D02FF81170F92C7FC49821707
5C01036F7EA25C01076F7F5CA2010F6F7F5C011F8391B8FCA24983A34983A20280C8121F
01FF83180F91C9FC48717E5B000384845B00071980845B000F19C0845B001F19E0197F5B
003F19F0193F484818F8191F5B00FF19FC46537DD24D>65 D<B712C016FCEEFF8017E017
F817FE83902680000380DB003F7F04077F04017F706C7E173F717E717E170717038483A7
4D5AA24D5A170F4D5A173F4D5A4C485A04075B041F5BDCFFFEC7FC90B712F85F17804CC8
FCEEFFE017F817FE90268000076D7EDB001F13E004037F04007FEF3FFCEF0FFE717E7113
80837113C0F07FE0A2183F19F0A2181FA5183F19E0187FA2F0FFC05F4D13805F4D1300EF
3FFEEFFFFC04075B047F5B90B85A6095C7FC17FC17F0178004F8C8FC3C5375D24E>I<EE
FFF8030FEBFFE0037F14FC4AB71280020716E0141F5C91B812C049EC001F4901F8130149
01E0EB003F490180140F4990C81203D93FFCED01804A92C7FC495A495A485BA2485B91CB
FC5A5B120F5B121F5BA2485AA3127F5BA412FF5BAD7F127FA47F123FA36C7EA27F120F7F
12077F7E806C7FA26C7F6D6C16206D6C16606EED01E06DB415036D6D14076D01E0EC1FF0
6D01F814FF6D01FF13076D91B6FC023F16E06E168002071600020115FC6E6C14F0030F14
80030001F8C7FC3C5778D44B>I<B912F8A801C0CAFCB3AA90B81280A701C0CAFCB3AD90
B812FCA9365376D246>69 D<B912C0A801C0CAFCB3AC90B712F8A701C0CAFCB3B3A23253
76D242>I<EAFFC0B3B3B3B3AB0A5375D220>73 D<D8FFFCF07FFEA36D18FFA26D5FA36E
5E01BF18FBA26E1607019F18F36E160FA2018F18E36E161FA3D987F8EE3FC3A26E167F01
831883A26E16FF01811803A26E5D018017FE6F1403A2027F16FC6F1407A2023F16F86F14
0F021F16F0A26F141F020F16E06F143FA2020716C06F147FA2020316806F14FF02011600
A26F5B6E5DEE8003A2037F5CEEC007A2033F5CEEE00F031F5CA2EEF01F030F5CA2EEF83F
03075CA26F6C485AA3030191C7FC705AA26F6C5AA2705AA3705AA3705A93C9FCA24F5375
D266>77 D<D8FFFEEE0FF8A27FA280A280A28013BFEB9FF0A280138F8013878013838013
8181138081147F81143F81141F81140F8114078114038180828082157F82153F82151F82
150F821507821503828117808117C0167F17E0163F17F0161F17F8160F17FC160717FE16
0317FF82188F8218CF177FA2EF3FEF18FF83A283A283A283A23D5376D252>I<923801FF
C0031F13FC92B67E020315E0020F15F84A81027F15FF91B5C66C7F4901F8010F7F4901C0
01017F49496D7F4948C8EA3FF849486F7E49486F7E49486F7E4A8149486F7F48496F7FA2
4890CA6C7E49173F00078549171F000F8549170F001F85A2491707003F85A2491703007F
85A4498300FF1A80AE6D5F007F1A00A46D5F003F61A36D170F001F616D171F000F61A26D
173F0007616D177F6C6D4C5A6C616E5D6C6D4B5B6E5D017F95C7FC6D6C4B5AD91FFEED3F
FC6D6C4B5A6D6D4A5A6D01E001035B6D01F8010F5B6D01FF017F5B6E90B6C8FC021F15FC
6E5D020315E002001580031F01FCC9FC030113C049577AD456>I<B712E016FEEEFFC017
F08317FE8301C0C780040F7F04017F707FEF3FF8717E170F717EA2717EA2831980A283A6
5FA219005FA24D5AA24D5A171F4D5AEFFFF04C5B040F5B93B55A90B8C7FC5F17F85F17C0
4CC8FC16E001C0CBFCB3B1395376D24A>I<913803FFC0023F13FE49B612C0010715F049
15FC013F15FF49168090B8FC489038FC007F4801E001071300480180130191C87ED80FFC
814848811707484815024992C7FCA3485AA67FA2123F7F7FA26C7E13FF6C7F6C13E014FC
6CEBFFC06C14FC6CECFFC06D14F86D14FE010F6E7E6D81010115F0D9003F80020780DA00
7F7F03077FED007F041F1380040713C082040013E0A2EF7FF0173FA2171F18F8170FA8EF
1FF0A212200070EE3FE0127C007E167F007FEEFFC001C05C01F04A1380D8FFFC020F1300
D9FF80EB3FFE9139F801FFFC6C90B65A001F5E00075E00015E6C6C92C7FC010F14FC0101
14F0D9000F90C8FC35577BD441>83 D<BB12FEA8C800010180C8FCB3B3B3B3A247527CD1
50>I<903801FFC0011F13F8017F13FE0003B67E000F814881829138007FF801F0EB1FFC
D80FC0130F90C76C7E000E1403000C81C87EA26F1380AA0207B5FC91B6FC1307133F90B7
FC5A000714004813E04848C7FCEA3FF813E0485A5B48C8FCA55D7F6C6C5B6D130F6D5B26
3FFE01B5FC90B7FC7E6C5C6C14F86C14E06C140026007FE090C7FC29387BB638>97
D<EC0FFF027F13F049B512FC010714FF4915C0013F15E05B9038FFF801489039E0003FC0
480180130F91C71203484814014848EC0040491500485AA2485AA3485AA4485AAB6C7EA4
6C7EA26C7EA26D15206C6C15600007ED01E001FF14036C6DEB0FF06C01E0133F6C9038F8
03FF6DB6FC6D15E06D15800107ECFE00010114F86D6C13E0DA0FFEC7FC2C387CB634>99
D<EE07FCB3ABEC7FC0903803FFF8010F13FF4914C74914E74914FF90B7FC48EBFC0748EB
E000480180137F91C7121F485A4848140F491407485AA25B127F5BA312FF5BAB7F127FA3
7F123FA26D140F6C7E161F6C6C143F6D147F6C6C6C13FF6C6D5AECF80F6C90B512F76C15
E76D14C7011F14076D13FE010313F001000180C7FC2E547CD23C>I<EC1FF0ECFFFE0103
6D7E010F14E04980017F8090B67E489038F01FFEECC0074890380001FF48487F4848EC7F
8049143F484815C0161F485AEE0FE05B127F49140717F090B7FCB8FCA690CAFCA47FA212
7FA27FA2123F7F121F7F6C6C15406D15C00007150101FF14076C6DEB1FE06C01E0137F6C
9038F803FF6DB6FC6D15C06D150001075C010114F86D6C13C0DA0FFCC7FC2C387CB634>
I<EDFFE0020713FC141F147F91B5FC5B5B49EB007CD90FFC130C4A1300495A5C133F5CA2
137FB0B612FEA726007FC0C7FCB3B3AA26547ED324>I<DA3FE0EB07F0902601FFFC13FF
0107EBFF0F4914BF4991B512F85B5B9026FFE03FEBC000489026800FFCC7FC9038FE0003
00038149130148486D7EA348486E7EA86C6C4AC7FCA36C6C495A6D130300015D9038FF80
0F6C9038E03FF84890B55A485D5E485D01F791C8FC01E113FC390FE03FE091CAFCA47FA2
EA07FC90B612E016FF6C16C017F06C16FC830007824817804817C001F8C7121FD83FE002
0313E04848EC007F49153FEF1FF048C9FC170FA56D151F6C6CED3FE06D157F6C6CEDFFC0
D81FFC0203138001FF140F6C01F090B512006C90B65A000116F86C5E013F15C0010F92C7
FC010114F8D9001F1380354F7DB53B>I<B47EB3ABEC07FC91387FFF800181B512E00183
80018F80019F8013BF9039FFC07FFE9038FE000F496D7E497F497F17805B815BA45BB3B1
295377D23C>I<EAFFC0AAC7FCB3EA7FC0B3B3B10A5278D11C>I<B47EB3AC923801FFE04B
13C04B138017004B5A4B5A4B5A4B5A4B5A4A5B4A5B4A90C7FC4A5A4A5A4A5A4A5A4A5A01
815B01835B018790C8FCEB8FFEEB9FFF13BF90B57E81A2ECBFE081EC1FF8EBFE0F01FC7F
496C7EEBF00301E07F496C7F497E90C77F6F7E153F826F7E150F826F7E1503826F138081
17C0EE7FE0163F17F0EE1FF82D5377D239>107 D<EAFF80B3B3B3B3AB095377D21C>I<B4
D907FEEC03FF91263FFFC0011F13E091B56C017F7F0103DAF801B512FC010FDAFC078049
6E4880495D902A7FC03FFF3FE01F13809026FF000790387F800301FC6D9026FE000113C0
496D497F6F167F494B15E0495D047F153F495DA4495DB3B14B3677B55E>I<B4EB07FC91
387FFF8049B512E04980010F8049805B90397FC07FFE9038FE000F496D7E497F497F1780
5B815BA45BB3B1293677B53C>I<EC0FFC91387FFF8049B512E0010714F84980013F14FF
49819026FFF8077F48D9E0017F48903980007FF091C7123FD807FCEC0FF8000F82491407
48486E7EA248486E7EA24980007F1780A349157F00FF17C0AB6C6CEDFF80A36D5C003F17
00A26D5C001F5E6D14076C6C4A5A6C6C4A5A6D143F6C6D495A6C9039E001FFE06CD9F807
5B6DB65A6D92C7FC6D5C010714F8010114E06D6C1380DA0FFCC8FC32387CB63B>I<EC07
FC3AFF803FFF800181B512E0018780019F8001BF8090B67E9138C07FFF9026FE001F1380
01F81307496D13C0497F496D13E049147FEE3FF0A2161F17F8A2160FA217FC1607ABEE0F
F8A3161FA2EE3FF0A2EE7FE07FEEFFC06D5B6D4913806D130F6D4913009039FF80FFFE91
B55A01BF5C019F5C01875C01831480018049C7FCEC0FF091C9FCB3A42E4D77B53C>I<B4
EB01F0140F147F14FF13035B5B5B90383FFE00EB7FF0EBFFC05C91C7FC13FCA25B5BA25B
A25BA35BB3AD1C3677B528>114 D<903803FFC0013F13FC90B6FC4815E04815F05A5A3A
1FFC007FE001F0130F48481303491300162048481400A57FA26C7E7F13FC381FFFE06C13
FEECFFE06C14F86C14FE6C806C6C1480011F14C0010714E0D9003F13F014019138007FF8
151F150FED07FCA21503A512700078EC07F8127C007F140F01E0EB3FF0D8FFFC13FF90B6
12E016C06C1580001F1500000314FCC66C13F00107138026387DB62D>I<EB3FC0AFB712
C0A726003FC0C7FCB3B26E134016C090391FF003E0ECF81F91B5FC6D14F0A26D14C06D14
006D13F86D138024457EC32A>I<B46CECFF80B3B3A35DA25DA25D6D5B007F5C6D137FD9
FC01B5FC6CB55A6C5C6C14F06C14C06C49C6FC26007FE090C7FC293677B43C>I<B46CED
FF80A26C6C4A1300A27F003F4B5AA27F001F4B5AA27F000F4B5AA26C6C4A5AA27F00034B
5AA27F6C4B5AA26C6D5C16FFA26D6C91C7FC5DA26D6C485AA36D6C485AA2010F5C14F815
0F01075C14FC151F01035C14FE0101495AA3D900FF5B157FA2027F90C8FC5D6E5AA36E5A
A231357EB436>I<D87FE0ED7FE06C6CEDFFC06C6C4A13806C6C4A13005F6C6C14076C6C
4A5A6C6D495A6C6D5C017F4A5A6E137F6D6C495A6D6C485BD90FFC91C7FC0107495A6D6C
485AECFF0F6DEB8FF86DEBDFF06EB45A6E5B805E6E90C8FC6E5A6E5A814A7E4A7F5C4A7F
91387FDFE0ED9FF09138FF0FF8496D7E903803FE03D907FC7F4A6C7E010F6D7F49486D7E
4948804948133F707E49486D7E4890C77F48486E7E00076F7E484880496E1380001F17C0
4848ED7FE04848ED3FF04848ED1FF8353580B436>120 D<B46CEDFF807F007F4B1300A2
7F003F4B5A7F001F15076D5D120F4C5A7F12076D4A5A12034C5A7F7E6E495A7E5F6D6C13
FFA294C7FC6D6C5AA2D91FF05B15035EEB0FF8150701075C14FC0103495AA214FE01015C
151F130002FF5BA26E485AA2EC3FBF93C8FC141F15BE15FE140F5D1407A25DA25DA2140F
5DA24A5AA2143F5DA24AC9FCA25C5CEA3001383E03FCEA3FFF5C5C5C6C5B5CD803FECAFC
314D7EB436>I E /Fv 25 122 df[<BFFC1EFEF6FFE01FFCF7FF8020F020FC20FF8DC700
0392CA001F15E00B0181776C800C1F807814FF0C03818A78818E79808B8E8B8E8B8EA279
80A4791580AB551500A4555CA26A676A676A555C9CB65AA2545D5492C7FC545C5414F80C
3F5C545C53B612800B0F4AC8FC0B7F14F80A1FB612E095BBC9FC1FF81F801FF8F7FF8020
F820FE95CBECFFC00C1F14F00C07807814FE0C006E7E7980798079807980798079808E79
158023C08B23E08C23F0A223F88CA223FCA38C23FEAB5614FCA55614F8A39DB612F0A255
15E06723C055158067551500555C555C9CB6FC545D0C075D0C1F15C09BB75A0B0F93C7FC
C212FC6921E021800EFCC8FC20F020800DF0C9FC0CFCCAFC>143
142 120 269 165 66 D[<0803B500C0EE01F00703B600FEEE03F8077FDBFFE015070607
B800FC150F063F05FF151F4DBA00E0143F050F07F8147F053F07FE14FF94BC5B04039326
F8000FECC003040F4BC86CEBF007043F03C0030F6D5A93B648C900036D5A4B03F0933900
7FFF3F030703C0051F90B5FC4B92CB7E033F02FC18034B02F08492B648844A0380193F4A
92CD7E4A4A864A4A864A02F0864A4A864A8991B65A494B874992CF7E4C885B494A885E49
8B494A88A2495C8D90B65A8D5A5E48217FA24892D1FC223FA25A5DA248211FA3485CFA0F
F09FC7FCA25AA45DA3B6FCB27EA381A47EA46C80FA07F0FA0FF87EA2817EA36C6F1D1F23
F07E827E223F6D6E1EE0A26D6E1D7F23C06D6E1DFF7F705213806D806D55130070646D6F
646D6F515A6E6E1B1F6E6E515A6E6E515A6E6E1BFF6E6E505B6E6E505B6E6F4F5B6E03E0
4F90C7FC6F6EF13FFE6F02FC4F5A030F02FF4E485A6F03C005075B030103F0051F5B6F03
FE057F1380043FDAFFE00303B5C8FC040F03FE033F13FC0403DBFFF80107B55A040093B8
12E0053F1A80050F4FC9FC050119F8DD003F18C0060795CAFCDE007F16F0070393CBFCDF
000314C0>141 146 115 271 168 I[<C212F8A48DA5C7000303C0C9123FF5007F1E0F0C
0180787E1F1F8B8B1F018BA27A7E8C8CA28CA28CA28C8EA28CA38CA38EA2E21FF0157FA6
7B7EA40A3F93C8FCA41C7FA21CFFA26363631B1F1B7F0807B5FC95B8FCA99538C00007F2
007F1B1F1B07878787A21C7FA21C3FA3FA7FC01C1FA2FAFF80A6571300A299CAFCA369A2
6AA22107A3210F6AA2211FA2213FA2575AA221FFA26868565BA26868207F9DB5FC555C1F
071F1F1F7F0C03B6FC1E3F0B1FB7FCC35AA66AA3>138 141 120
268 153 69 D[<BC12C0A9C7000103E0C8FCB3B3B3B3B3B3B0BC12C0A9>74
142 122 269 87 73 D[<97B512F0077FECFFE00607B712FE067FEEFFE00503B912FC05
1FF0FF80057F19E00403BB12FC040F9226E0007F14FF043F02FCC7000315C04C02E0DA00
7F804BB60080031F14F8030702FCC9000314FE4B4A70804B02E0706C80037F0280051F14
E092B6CB6C804A4A72804A4A72804A02F00600804A4A737F4A4A73804A8B4A4A738091B6
CD6C80494A7480A2494A7480494A7480498C4C86498D4C87498D494A7580A290B68B4C87
488EA24892CF6C80A3488E4B88A2488EA3484A761580A34823C0A5484A7615E0A7B621F0
B36C23E0A26F64A56C23C0A46F646C2380A36C23006F64A26C6AA270636C6AA26C6A7063
6C6A70636D69A26D6E98B65AA26D6E505DA26D6E5092C7FC6D6870626D6E505C6D686D6F
4F5C6E6E4F5C6E6E4F5CA26E6E96B65A6E6E4E92C8FC6E6E4E5C020102FF060F14F86E6F
4D5C6F6E4D5C6F02F094B65A030F6E4C92C9FC6F02FE04075C03016E6C031F14F86F03F0
92B65A043F02FE020715C0040FDAFFF090B7CAFC040392B812FC04001AF0051F19800507
4ECBFCDD007F17E0060F94CCFCDE007F15E0070002F0CDFC>148
146 115 271 175 79 D[<BD12FCF4FFFCF5FFE01EFCF6FFC01FF01FFE797E20E0C70003
0380C86C15F80A0181E2003F14FF0B07810B0115E0776C8078807880788078808A78818E
7881A28E8B8EA37980A48EAA6AA3676AA26AA29CB65AA26A545D9FCAFC66545C545C545C
545C9BB612C0535D0B074ACBFC0B3F5C52B612F00A7F15C095BBCCFC1FF81FC054CDFC66
F6FF801FE00680C7000315F8E1003F14FE0A0F800A0315C07681766C807780778077808C
7781898D898D898DA38A8DAD8DACA1EB1FC0A1EB3FE08D8AA37880A1137FA114C0788178
18FF7C1580785F786F1500BB00FE6F6F5B796E495A7902FEEB1FFC799139FFC07FF80D07
92B55A0D015F796C5E0E1F5E0E034BC7FCD4001F14F8E7003F13C0>163
144 120 269 173 82 D<93B512FC037FECFFF00207B8FC023F17E091B912F84918FE01
07727E499126C0007F14E04901E0C7000F80496D020380496D020014FE6F6F7F90B57080
6F6F8085486E6F807380A27380A28885886C5CA26D4982886D5B6D5B010713C0010190CA
FC90CCFCA90603B7FC050FB8FC0403B9FC167F0307BAFC153F4AB7EA807F020FEDE00002
3F02FCC7FC91B612E0010392C8FC4914FC011F14F04914C0495C90B548C9FC485C485C48
5C485C5A5D485CA24891CAFCA3B6FC5CA397B6FCA461806C60F107EF6C6E150F6F16CF6C
183F6FDB7F8F806C6EDBFF0F14E06C02FCDA03FE15FE6C6E91260FFC0791B5FC6C6E6CD9
3FF817806C923AF803FFF003013F91B6487E010FEF8000010394C77E010004FC141F021F
03F0140702010380DA007F1400DA000701F8CDFC695F79DD71>97
D[<ED1FF0017FB5FCB7FCA9EA003F1307A27FB3B296383FFFC00607B512FE063FECFFE0
4DB712F8050716FF051F17C0057F17F094B5D8C00F8004F301FCC714FE04F701E0023F7F
93B50080020F804DC86C14E005F80301804D6F804D707F05808294CA804C717F4C7180A2
4C71808BA27680A28B88A28BA28BA3888BA52080B02000A56764A267A3676467A2525CA2
67647062704D91C7FC704D5BA2714C5B7193B55A05F04B5CDCBFF84B5CDC1FFC030F5C4B
6CB44B91C8FC7001C0027F5B4B6C01F00103B55A4BC601FF013F14F04B6D90B712C04B01
1F94C9FC4B6D16FC4B010316F092C86C15804A030F02F8CAFC90CB49CBFC>113
144 121 270 129 I<94387FFFF0041FB612E093B712FE0307707E031F17F092B97E4A18
FE020784021F9126F8000F14804A0280010014C04A49C74814E049B500F85C494A17F049
4A5C495C494A4A14F84991C8FC5D495B90B5FC5D5A485C7314F05A4B6F14E05A7314C048
7214804B93383FFE00F20FF84896C8FCA4485CA5B6FCB07EA281A37EA36C80A37E6F18FE
6CF201FFA26C6E5F1CFE6C801B076C6EEF0FFC6D7F70EE1FF86DF13FF06D6E167F6D6EEE
FFE06D02F84B13C06D6E5D6D02FF030F13806D03C0023F1300023F02F0903801FFFC6E91
26FF801F5B020792B65A6E18C0020060033F4CC7FC030716F8030016C0041F4AC8FCDC00
7F13C0585F78DD67>I[<F53FE098B6FC4FB7FCA996C77E1B0FA287B3B294383FFF80040F
B512FC93B71280030716E0031F16F8037F16FE4AB9128702074AC66C13C7021F02E00107
13F74A91C890B6FC4A01FC153F49B548150F4902E081494A81494A814991CA7E495B8749
498390B548835A5D5AA2485CA25A5D5AA35AA25D5AA5B6FCB07EA57E81A37EA27EA2817E
A26C80A26C626C6E5F636D7F6D6D94B6FC6D606D6D1607705D6D6E4B81010102F0157F6D
6E92B712FE6E01FE020301EF91B512806E6D6C011F13CF020FDAF801B5120F020391B612
FE6E17F86E6C16E0030F16800301EDFC00DB003F14E0040049C74AC8FC>113
144 120 270 129 I<94387FFFC0040FB6FC93B712E0030716FC031F16FF037F17C04AB9
12F00207DAF80380021F912680003F13FE4A49C7000F7F4A01F802038049B5486E804902
C06E6C7F494A6F7F4991C9FC49727F4949707F4B84498490B548707F5A4B198048855D48
1CC086481CE05D5A871DF05AA25D5AA21DF887A2B6FCA392BBFCA51DF00380CDFCA77EA4
817EA37EA2817EA26CF307F06FF00FF87E816C1B1F6F19F06C1B3F6D6DF07FE06D7FF4FF
C06D6E4C13806D6E5E6D02F04C13006D6EEE1FFE6D6E4C5A6D6C01FFEEFFF86E02E00203
5B6E02FC021F5B02079126FFC003B55A6E92B7C7FC020060033F17F8030F17E003011780
DB003F03FCC8FC040315C0DC000F01F8C9FC5D5F7ADD6A>I<F5FFC093260FFFFC030F13
F04BB600E0027F7F031F03FE49B512FE037F9226FF8007800203B8EAF01F020FDDFC3F15
804A7148133F027FDA003F90B500F014C091B500F80107ED807F4902E00101ECFC000107
02806D6C5B93C87E49496F7F49496F7F49496F6D6D1380491A8077130090B5486F6E6C5A
F503F84875C8FCA2484A6F80A44887AB6C63A46C6E4B5CA26C63A26D6D4B5CA26D97C9FC
6D6D4B5B6D6D4B5B6D6D4B5B705C010102E049B512E06D02F801075C4902FF013F5C4992
B648CAFC496002F317F090260FE07F1680031F4BCBFC90261FC00115E0DB000F01FCCCFC
013F91CFFCA3137FA280A380A28080806E7E15F092B812F06DF0FFE01BFEF3FFC06D1AF8
1CFE767E6D1BE06D87896D1BFE6D877F6E878A0103BD7E130F013F8890BEFC4802E0C900
3F814891CBFC4801FC180F48490601804849727E484985884849737F88A2B55A88A66E61
6C65A26E616C6D4F5B6C656E616C6D4F5B6C6D96B55A6C6D6C05035C6F5FC602F0051F49
C7FC6D01FC057F5B6DD9FF800303B55A010F02F8033F14E06DDAFFE0010FB65A010192B9
C8FCD9003F19F8020F19E0020196C9FCDA001F17F0030194CAFCDB000192CBFC6A887ADD
74>103 D[<ED1FF0017FB5FCB7FCA9EA003F1307A27FB3B2963803FFFC073FEBFFE096B6
12F8060715FE061F6F7E4E16E095B87E4DD9FC03804DD9C000804D48C76C7FDD0FF880DD
1FE0824D486E804D5A05FEC881DCF1FC815F04F385EEF7F04D81EEFFC0A24D84A294C9FC
A25EA35EA45EB3B3AFB9D8E001B912C0A9>114 143 119 270 129
I[<EC3FC0ECFFF0010313FC497F497F498049804980A290B67EA24881A86C5DA26D5CA2
6D5C6D5C6D91C8FC6D5B6D5B010013F0EC3FC091CAFCB3A3ED1FF0017FB5FCB7FCA9EA00
3F1307A27FB3B3B3B0B91280A9>49 144 119 271 65 I[<ED1FF0017FB5FCB7FCA9EA00
3F1307A27FB3B3B3B3B3B3ACB912C0A9>50 143 119 270 65 108
D<DB3FE0913803FFFC017FB5033FEBFFE0B792B612F8060715FE061F6F7E4E16E095B87E
4DD9FC03804DD9C000804D48C76C7FDD0FF880D8003FDB1FE08201074B486E804D5A6D03
FEC881DCE1FC815F04E385EEE7F04D81EEEFC0A2DCFF8084A294C9FCA25EA35EA45EB3B3
AFB9D8E001B912C0A9725D77DC81>110 D<94381FFFF00407B612C0047F15FC0303B87E
030F17E0037F17FC4ABAFC4A9126FC007F80020F02C0010714E04A49C880027F01F8033F
13FC91B5486F7F4902C003077F494A6F804991C96C80494970804949717F49874949717F
A290B548717F48884B83481D80A2481DC04B83481DE0A2481DF0A3484A7114F8A4481DFC
A5B61BFEAF6C1DFCA56C6E4D14F8A36C1DF0A36C1DE06F5F6C1DC0A26C6E4D1480A26C1D
006F5F6C646D6D4D5B6F94B5FC6D636D6D4C5C6D6E4B5C6D6E4B5C6D02F0031F5C6D6E4B
91C7FC6D6C01FE92B512FC6ED9FFC001075C6E02FC017F5C020791B812C0020196C8FC6E
6C17FC031F17F003031780DB007F03FCC9FC040715C0DC001F01F0CAFC675F7ADD74>I<
DB1FF091381FFFC0017FB50203B6FCB7021F15E095B712FC050316FF050F17C0053F17F0
94B912FC04F1DAC01F8004F79026FC00018093B500E06D6C14C0D8003F93C86C8001074B
030F8005F86F806D03E06F804D6F804D8194CA6C7F4C864C71805E7680A27680A27680A2
8B88A28BA288A28BA4882080B0200064A467A26467A3525CA26764676467647062704D91
C7FC7094B55AA2714B5C714B5C714B5C05F84B5C71033F5C05FF4B91C8FC06C049B55A04
FB01F001075C04F801FF017F14F07190B712C0051F94C9FC7116FC050316F0DD007F1580
060F02F8CAFC060049CBFC96CDFCB3ACB912E0A9718579DC81>I<DB7FC049B47E90B602
1F13F8B7027F13FE4DB67E4D15E04D814D814D01077F94263FF00F7F94387FC01F4D4848
7FD8003F16000107DAC1FE491480EEC3FC6D5DEEC7F05F16CF5F16DF4D6D1400A204FFC7
6C5BA2735B4C6E5B735B070013C04C92C8FCA45EA65EB3B3AAB912FCA9515D79DC5F>
114 D<92261FFFF814F80203B638C001FC023FEDFC0791B8121F010317FF130F013F9038
F8001F4990C8FCD9FFF8153F4801E0150F484915034849814890CAFC197F4848173F191F
485AA2007F180FA31907487EA27FA28002E0705A6E93C8FC14FC14FF15F06CECFF8016FC
EEFFF06CEEFF8018F06C17FE727E6C18E0856C18FC6C846C727E6C856D84011F846D8413
03010084023F83140F020183EC001FDB007F16801603DC000F15C01700183F060F14E000
7F1703486C82727E857F85857FA2857F1BC07FA27F1B806D5F7F1B006E5E6E5F6E163F6E
4C5A02FC4C5A6E03035B6E6C4A5B03F0023F5B03FF0107B55A01F991B7C7FCD9F07F16FC
D9E01F16F0D9800716C0D9000193C8FC48D9003F14F8007C020349C9FC4B5F78DD5C>I[<
ED03FEA81507A5150FA4151FA3153FA2157FA215FFA25CA25C5CA25C5C5C5C91B5FC1303
5B131F017F91B712F00007BAFCBBFCA7C74AC9FCB3B3AAF101FFB1616E17FE82A219076E
17FC836EEE0FF871131F6E6EEB3FF071137F6E6EEBFFE06EDAFF0313C06E92B512806E17
00033F5D6F5D03075D030015E0041F1480040001FCC7FC>72 132
124 258 90 I<DB0FF8F01FF0017FB594B6FCB74BB7FCA9D8003F94C77E0107190FA26D
85B3B3B063A463A263A27F6398B6FCA26DF001FB7015036EEF07F3E00FE3806E6D151FE0
7FC314FF6E6D6CDAFF83EDFFC06E6E010313036E02FCEB3FFE6E91B612FC020017F86F16
E0031F16800303EDFE00DB007F14F8040102C093C8FC725E77DC81>I<B90303B7FCA9D8
000702F8CA000FEBFE006D6E050013E0666D6E6164826D5090C7FC836E4F5AA26E6E4C5A
A26E6E4C5AA26E6E5F1C3F836E4F5A836E4F5AA26E6E4B5BA26E6E4B90C8FCA26F6E5D1B
07846F4D5A846F4D5AA26F6E4A5AA26F6E4A5AA26F6E5D1BFF846F4C5B846F4C90C9FCA2
706E485AA27002C05B1A0F7002E05B1A1F19F0704B5A19F8704B5AA2706E485AA2706E5B
96B5FC7093CAFCA3715CA2715CA2715CA2715CA3715CA2715CA2715CA27191CBFCA2725A
A3725A725A725A705D7BDB7B>I<007FB86C49B712FEA9C792C9000F02C0C7FC6E6E0301
01F0C8FC715F6E6E4B5B6E6E4B5B6E4E90C9FC6E6E5E71151F6E6E4B5A6E6E4B5A6E4E5A
6F6E495B72495B6F6E495B6F806F6E4990CAFC6F4C5A72495A6F6E495A6F6E495A6F0381
5B705E7014C307E75B7091B5CBFC705D705D705D6282705D715C83867180718071808371
80864D814D815F4D81874D814D81DDFFF3804C13E14C01C1804C0180814E6C804C6E804C
487F4C48824C486D804C486D804B496D804B497F73804B49834B90C86C804B486F804B48
814B486F804B48844C6F804A71804A496F804A49814A90CA814A487180023F7280010FB5
00E07080B8031FB812E0A9735C7CDB7B>120 D<007FB800C04AB71280A9D800034ACA00
0791C7FC6D080013F0775A6D6E4E5AA26E6E6064836E4F90C8FC836E4F5A836E4F5AA26E
6E4C5AA26E6E5F1C3F6E6E5F1C7F836E4F5A846F4D5B846F4D90C9FCA26F6E4A5AA26F6E
5D1B0F846F4D5A846F4D5A846F4D5AA26F6E4A5AA2706E5C627002C091CAFC6219E0704B
5A19F0704B5AA2706E485AA2706E485AA27002FE5B1A7F19FF704B5AA2715DA27192CBFC
A2715CA2715CA3715CA2715CA2715CA2715CA2725BA27290CCFCA3725AA2725AA24E5AA2
4E5AA261187FA24E5AA24D5B13FE2603FF804A90CDFC000F13E0486D4A5A487F486D4A5A
A260B56C141F4D5AA24D5A17FF604C5B4A4990CEFC6C5D4C5A6C49EB3FFC4A495A6C4948
485A9026FE80075B270FFFC03F5B6C90B6CFFC6C5D6C15F86C6C5C011F14C0010749D0FC
9038007FE071857CDB7B>I E /Fw 8 117 df<0170187001FEEF01F86D6C160F02F8167F
DAFF80EC07FF03FE49B5FC92B85A6262A26297C7FC61616119E061614EC8FC18F86018C0
95C9FC17F817C0020701F8CAFC91CDFCB0923801FFFC031FEBFFE092B612FC020315FF02
0F16C04A16F0027FD9003F7FDAFFF0010F13FE038001037F4AC76C8002F86E804A6F7F4A
6F7F4A834A6F7F91C980137E017C707F90CAFC1B80A21BC0A2841BE0A51BF0A313FE3803
FF80000F7F4813F0487F5A80B5FCA41BE0A44E14C05C7E4A18805C4A5D6C90C9150001E0
606C6C5E6D606C6C4C5B7F000794B55A6C6C6C4A5C6C6D4A5C6E4A5C26007FF8021F49C7
FC6DB4027F5B6DD9F007B55A6D90B712E0010317806D4CC8FC6D6C15F8021F15C002034A
C9FCDA003F13804C7376F061>53 D<96267FFFE01670063FB6ED01F80503B700F0140305
3F04FC14074CB96C130F040706E0131F043F72133F93BA00FC137F0303DC00076D13FF03
0F03C09039003FFF814B02FCC8000713C3037F02E0030113F792B600806F6CB5FC02034A
CA121F4A02F8834A02E0834A4A1701027F4A8391B548CC7E494A85495C4C854988494A85
494A85495C8A4991CDFC90B54886A2484A1B7FA2481E3F5D481E1F5D5A1F0FA2485CA348
1E075DA2F703F0489BC7FCA45DA2B6FCB27EA281A47EA2F703F06FF307F87EA36C80A21F
0F7E6F1CF07E6F1B1F7E20E06C6E1B3F816DF57FC06D80F7FF806D806D6E4F13006D6E61
6D525A826D6E4F5A6D6E4F5A6E6D6C4E5A021F6EF0FFE06E6E4D5B6E02F84D5B6E02FE05
0F90C7FC02006E6CEE3FFE6F02F0EEFFFC031F02FE03035B6FDAFFC0021F13E0030303FF
0103B55A030093B7C8FC043F18FC040718F0040118C0DC003F94C9FC050316F8DD003F15
80DE007F01F0CAFC757A75F78C>67 D<92383FFFF80207B612E0027F15FC49B87E010717
E0011F83499026F0007F13FC4948C7000F7F90B502036D7E486E6D806F6D80727F486E6E
7F8486727FA28684A26C5C72806C5C6D90C8FC6D5AEB0FF8EB03E090CAFCA70507B6FC04
1FB7FC0303B8FC157F0203B9FC021FECFE0391B612800103ECF800010F14C04991C7FC01
7F13FC90B512F04814C0485C4891C8FC485B5A485B5C5A5CA2B5FC5CA360A36E5DA26C5F
6E5D187E6C6D846E4A48806C6D4A4814FC6C6ED90FF0ECFFFC6C02E090263FE07F14FE00
019139FC03FFC06C91B6487E013F4B487E010F4B1307010303F01301D9003F0280D9003F
13FC020101F8CBFC57507ACE5E>97 D<93387FFF80030FB512FC037FECFF804AB712E002
0716F8021F16FE027FD9F8077F49B5D8C000804991C7003F13E04901FC020F7F49496E7F
49498049496E7F49496E7F90B55A48727E92C914804884485B1BC048841BE0485BA27313
F05AA25C5AA21BF885A2B5FCA391BAFCA41BF002F8CCFCA67EA3807EA47E806CF103F0F2
07F86C7F1A0F6C6E17F06C191F6F17E06C6E163F6D6DEE7FC06D6D16FF6D6D4B13806D6D
4B13006D6D6CEC0FFE6D02E0EC3FFC6D02F8ECFFF86D9126FFC00F5B023F91B65A020F17
8002034CC7FC020016F8031F15E0030392C8FCDB000F13E04D507BCE58>101
D<903801FFFCB6FCA8C67E131F7FB3AD95380FFFE095B512FE05036E7E050F15E0053F15
F84D81932701FFF01F7F4CD900077FDC07FC6D80DC0FF06D80DC1FC07F4C48824CC8FC04
7E6F7F5EEDFDF85E03FF707F5EA25EA25EA293C9FCA45DB3B3A6B8D8E003B81280A86178
79F76C>104 D<902601FFFCEC7FFEB6020FB512F0057F14FE4CB712C0040716F0041F82
047F16FE93B5C66C7F92B500F0010F14C0C66C0380010380011F4AC76C806D4A6E8004F0
6F7F4C6F7F4C6F7F4C8193C915804B7014C0861DE0A27414F0A27414F8A47513FCA57513
FEAF5113FCA598B512F8A31DF0621DE0621DC0621D806F5E701800704B5B505B704B5B70
92B55A04FC4A5C704A5C706C010F5C05E0013F49C7FC9227FE7FFC01B55A70B712F0040F
16C0040393C8FC040015F8053F14C0050301F0C9FC94CCFCB3A6B812E0A85F6F7ACD6C>
112 D<902601FFF8EB07FEB691383FFFC094B512F00403804C14FE4C8093261FFC3F1380
93263FE07F13C0DC7F80B5FCC66C5D011FDAFE0114E06DEBF9FC16F815FB16F016E015FF
16C07114C05E72138095381FFE0093C76C5AF001E095C8FCA25DA65DB3B3A2B812F8A843
4E7ACD4F>114 D<15FFA75CA55CA45CA25CA25CA25CA25C91B5FCA25B5B5B131F5B90B9
FC120FBAFCA6D8000791C9FCB3B3A3F01FE0AE183F7014C07F187F7014806D16FF826D4B
13006E6D485AEEFE0F6E90B55A020F5D6E5D020115C06E6C5C031F49C7FC030113F03B6E
7CEC4B>116 D E /Fx 80 125 df<4AB4EB0FE0021F9038E03FFC913A7F00F8FC1ED901
FC90383FF03FD907F090397FE07F80494801FF13FF4948485BD93F805C137F0200ED7F00
EF003E01FE6D91C7FC82ADB97EA3C648C76CC8FCB3AE486C4A7E007FD9FC3FEBFF80A339
407FBF35>11 D<4AB4FC021F13C091387F01F0903901FC0078D907F0131C4948133E4948
13FF49485A137F1400A213FE6F5A163893C7FCAA167FB8FCA33900FE00018182B3AC486C
ECFF80007FD9FC3F13FEA32F407FBF33>I<4AB47E021F13F791387F00FFEB01F8903807
F001EB0FE0EB1FC0EB3F80137F14008101FE80AEB8FCA3C648C77EB3AE486CECFF80007F
D9FC3F13FEA32F407FBF33>I<4AB4ECFF80021FD9C00F13E0913B7F01F03F80F8903C01
F80078FE003CD907F0D93FF8130E49484948131F49484948EB7F804948484913FF137F02
005CA201FE92C7FC6FED7F0070141C96C7FCAAF13F80BBFCA3C648C76CC7FC197F193FB3
AC486C4A6CEB7FC0007FD9FC3FD9FE1FB5FCA348407FBF4C>I<001E130F397F803FC000
FF137F01C013E0A201E013F0A3007F133F391E600F3000001300A401E01370491360A300
0114E04913C00003130101001380481303000EEB070048130E0018130C0038131C003013
181C1C7DBE2D>34 D<121EEA7F8012FF13C0A213E0A3127FEA1E601200A413E013C0A312
011380120313005A120E5A1218123812300B1C79BE19>39 D<1430147014E0EB01C0EB03
801307EB0F00131E133E133C5B13F85B12015B1203A2485AA2120F5BA2121F90C7FCA25A
A3123E127EA6127C12FCB2127C127EA6123E123FA37EA27F120FA27F1207A26C7EA21201
7F12007F13787F133E131E7FEB07801303EB01C0EB00E014701430145A77C323>I<12C0
7E12707E7E121E7E6C7E7F12036C7E7F12007F1378137CA27FA2133F7FA21480130FA214
C0A3130714E0A6130314F0B214E01307A614C0130FA31480A2131F1400A25B133EA25BA2
137813F85B12015B485A12075B48C7FC121E121C5A5A5A5A145A7BC323>I<1506150FB3
A9007FB912E0BA12F0A26C18E0C8000FC9FCB3A915063C3C7BB447>43
D<121EEA7F8012FF13C0A213E0A3127FEA1E601200A413E013C0A312011380120313005A
120E5A1218123812300B1C798919>I<B512FEA617067F961E>I<121EEA7F80A2EAFFC0A4
EA7F80A2EA1E000A0A798919>I<ED0180ED03C01507A21680150FA216005DA2151E153E
A2153C157CA2157815F8A25D1401A25D1403A25D1407A25D140FA24AC7FCA2141E143EA2
143C147CA2147814F8A25C1301A25C1303A25C1307A25C130FA291C8FC5BA2131E133EA2
5BA2137813F8A25B1201A25B1203A25B1207A25B120FA290C9FC5AA2121E123EA2123C12
7CA2127812F8A25A1260225B7BC32D>I<EB01FE90380FFFC090383F03F090387C00F849
137C48487F48487F4848EB0F80A2000F15C04848EB07E0A3003F15F0A290C712034815F8
A64815FCB3A26C15F8A56C6CEB07F0A3001F15E0A36C6CEB0FC0A26C6CEB1F8000031500
6C6C133E6C6C5B017C5B90383F03F090380FFFC0D901FEC7FC263F7DBC2D>I<EB01C013
031307131F137FEA07FFB5FC139FEAF81F1200B3B3ACEB7FF0B612F8A31D3D78BC2D>I<
EB07FC90383FFF8090B512E03903F01FF83907C007FC390F0001FE001E6D7E001C158000
3CEC7FC05AED3FE01270B4FC6DEB1FF07FA56C5A6CC7FC120CC813E0153FA216C0157F16
8015FF16004A5A5D4A5A4A5A5D4A5A4A5A4AC7FC147E147C5C495A495A495A495A49C712
70133E133C5B4914E0485A485A485A48C7120148B6FCA25A4815C0B7FCA3243D7CBC2D>
I<EB07FC90383FFF809038F80FE03901E003F839078001FCD80F007F000E6D7E001E1580
D81F80137F486C14C07FA27F5BA2121F6C5AC8138015FF1600A24A5AA24A5A5DEC07E04A
5A023FC7FCEB1FFCECFF809038000FE0EC07F86E7E6E7E6E7E1680ED7FC0A216E0153FA2
16F0A2120C123F487E487EA316E0A249137F6CC713C01278EDFF807E6C4913006C495A39
07C007FC3903F80FF0C6B55A013F1380D907F8C7FC243F7CBC2D>I<150E151E153EA215
7EA215FE1401A21403EC077E1406140E141CA214381470A214E0EB01C0A2EB0380EB0700
A2130E5BA25B5BA25B5B1201485A90C7FC5A120E120C121C5AA25A5AB8FCA3C8EAFE00AC
4A7E49B6FCA3283E7EBD2D>I<00061403D80780131F01F813FE90B5FC5D5D5D15C092C7
FC14FCEB3FE090C9FCACEB01FE90380FFF8090383E03E090387001F8496C7E49137E497F
90C713800006141FC813C0A216E0150FA316F0A3120C127F7F12FFA416E090C7121F12FC
007015C012780038EC3F80123C6CEC7F00001F14FE6C6C485A6C6C485A3903F80FE0C6B5
5A013F90C7FCEB07F8243F7CBC2D>I<EC1FE0ECFFF8903803F03E90380FC00F90391F00
0780133E017EEB1FC049133F4848137F12035B12074848EB3F80ED1F00001F91C7FC5BA2
123FA3485AA214FE903887FF8039FF8F07E090389C01F09038B800FC01B0137E13F0497F
16804914C0A2ED1FE0A34914F0A5127FA6123F6D14E0A2121FED3FC0A26C6C1480A20007
EC7F006C6C137E6C6C5B6C6C485A90387E07F06DB45A010F1380D903FCC7FC243F7CBC2D
>I<1238123C123F90B612FCA316F85A16F016E00078C712010070EC03C0ED078016005D
48141E151C153C5DC8127015F04A5A5D14034A5A92C7FC5C141EA25CA2147C147814F8A2
13015C1303A31307A3130F5CA2131FA6133FAA6D5A0107C8FC26407BBD2D>I<EB03FC90
381FFF8090387C07E09038F001F83901E0007C48487F48487F48C7FCED0F80121E16C000
3E1407A4123FA26DEB0F807F6C6C131F6D140001FC133E6C6C5B9038FF80786C6D5A6CEB
F3E06CEBFF806C91C7FC133F6D13C06D7F013F13F801787F48486C7E3903E01FFF48486C
1380260F800313C048487E489038007FE0003E143F007E141F007CEC0FF01507481403A3
1501A46C15E0007C1403A2007E15C06C14076CEC0F806DEB1F006C6C133ED807F05B3901
FC03F86CB512E0011F1380D903FCC7FC243F7CBC2D>I<EB03FCEB1FFF90387E07C09038
FC03F048486C7E48486C7E4848137C000F147E4848137F81003F15805B007F15C0A2151F
12FF16E0A516F0A5127F153FA36C7EA2001F147F120F6C6C13FF6D13DF000313013900F8
039F90387E0F1FD91FFE13E0EB07F090C7FCA2ED3FC0A41680157FD80F801400487E486C
13FEA24A5A5D49485AEB8007391E000FE0001F495A260FC07FC7FC3803FFFE6C13F83800
3FC0243F7CBC2D>I<121EEA7F80A2EAFFC0A4EA7F80A2EA1E00C7FCB3121EEA7F80A2EA
FFC0A4EA7F80A2EA1E000A2779A619>I<121EEA7F80A2EAFFC0A4EA7F80A2EA1E00C7FC
B3121E127FEAFF80A213C0A4127F121E1200A412011380A3120313005A1206120E120C12
1C5A1230A20A3979A619>I<007FB912E0BA12F0A26C18E0CDFCAE007FB912E0BA12F0A2
6C18E03C167BA147>61 D<EB1FF890B5FC3903E01FC0390F0007F0001EEB03F848EB01FC
4814FE140000FE14FF7E7FA46CC7FC123EC7EA01FEA2EC03FCEC07F815F0EC0FC0EC1F80
EC3F00143E5C147814F85C13015CA2495AA25CAB91C7FC90C8FCA8EB0780EB1FE0A2497E
A46D5AA2EB078020407BBF2B>63 D<15074B7EA34B7EA34B7EA34B7EA34B7E15E7A29138
01C7FC15C3A291380381FEA34AC67EA3020E6D7EA34A6D7EA34A6D7EA34A6D7EA34A6D7E
A349486D7E91B6FCA249819138800001A249C87EA24982010E157FA2011E82011C153FA2
013C820138151FA2017882170F13FC00034C7ED80FFF4B7EB500F0010FB512F8A33D417D
C044>65 D<B712FCEEFF8017F00001903980000FF86C6CC7EA03FE707E701380EF7FC0EF
3FE0A2EF1FF0A218F8A3170F171FA318F0A2EF3FE0177F18C0EFFF804C1300EE03FCEE0F
F8EE7FE091B6C7FC17E091C7EA07FCEE01FE933800FF80EF7FC0EF3FE0EF1FF018F8170F
18FC1707A218FEA718FC170FA2EF1FF818F0173FEF7FE0EFFFC00403138048486C90380F
FE00B85A17E094C7FC373E7DBD40>I<DB3FF01306912603FFFE130E020F9038FF801E91
3A3FF007E03E9139FF8000F8D903FEC7EA7C7ED907F8EC1EFE4948140FD93FE014074948
1403495A91C812014848150012034848167E5B000F173EA24848161EA2123F5B180E127F
A349160012FFAC127F7F180EA2123FA27F001F171E181C6C7EA20007173C6D16386C6C16
78000117706C6C16F06EEC01E06D6C15C06D6C1403D90FF0EC07806D6CEC1F00D903FE14
3E902600FF8013F891393FF007F0020FB512C0020391C7FC9138003FF037427BBF42>I<
B712FCEEFF8017E000019039C0001FF86C6C48EB03FEEE00FF717E717EEF0FE084717E71
7E170184717EA21980187F19C0A3F03FE0A519F0AB19E0A5F07FC0A21980A218FF19004D
5AA24D5A6017074D5A4D5AEF7FC04DC7FCEE03FE48486CEB1FF8B85A178004FCC8FC3C3E
7DBD45>I<B912E0A300019038C000016C6C48EB001FEF0FF01703A217011700A31870A4
1838161CA41800A2163CA2167C16FC150391B5FCA3EC80031500167C163CA2161CA21807
A3180E93C7FCA4181E181CA2183CA2187CA218F8170117031707171F48486CEB01FFB912
F0A3383E7DBD3E>I<B91280A300019038C000036C6C48EB007FEF1FC0170F1707A21703
A31701A4EF00E0A21638A31800A31678A216F81501150791B5FCA3EC8007150115001678
A21638A693C8FCAF3801FFE0B612F0A3333E7DBD3B>I<DB3FE0130C912603FFFE131C02
1F9038FF803C913A7FF00FC07C9139FF0001F0D903FC90380078FC4948143DD91FE0141F
4948140F4948140701FF15034890C8FC491501485A000716005B000F177C5B001F173CA2
485AA2181C127FA25B95C7FC12FFAB041FB512F0127FA26D9139000FFE00EF03FC123FA2
7F121FA26C7EA212077F12036C7E7F6C7F6D6C14076D7E6D6C140FD907F8141ED903FEEC
3C7C902600FF80EBF83C913A7FF007F01C021FB5EAC00C020391C8FC9138003FF03C427B
BF47>I<B6D8C01FB512F8A3000101E0C7383FFC0026007F80EC0FF0B3A691B7FCA30280
C7120FB3A92601FFE0EC3FFCB6D8C01FB512F8A33D3E7DBD44>I<B612F0A3C6EBF000EB
3FC0B3B3B2EBFFF0B612F0A31C3E7EBD21>I<011FB512FCA3D9000713006E5A1401B3B3
A6123FEA7F80EAFFC0A44A5A1380D87F005B007C130700385C003C495A6C495A6C495A26
03E07EC7FC3800FFF8EB3FC026407CBD2F>I<B600C090387FFFFCA3000101E0C7000F13
8026007F80913807FE0018F818E0604D5A4DC7FC173E5F5F4C5A4C5A4C5A4C5A4CC8FC16
3E5E5E4B5A4B5AED07804B7E151F4B7E4B7E15FF913881EFF8913883C7FCEC878791388F
03FE91389E01FF14BCDAF8007F4A6D7E5C4A6D7E4A6D7EA2707E707EA2707E707EA2707F
717E84173F717E717EA2717E848419802601FFE04A13C0B600C090B6FCA3403E7DBD47>
I<B612F8A3000101E0C9FC38007F80B3B0EF0380A517071800A45FA35FA25F5F5F4C5A16
0748486C133FB8FCA3313E7DBD39>I<B500C093383FFFF0A300016D93387FF800D8007F
18E0D977F016EFA3D973F8ED01CFA2D971FCED038FA3D970FEED070FA26E150E80A26E6C
141CA36E6C1438A26E6C1470A36E6C14E0A26E6CEB01C0A36E6CEB0380A36E6CEB0700A2
037F130EA36F6C5AA26F6C5AA36F6C5AA25FED07F0A2923803F9C0A36FB45AA26F90C7FC
A213F8486C147ED807FFEF3FF8B500F8013C011FB512F0A34C3E7DBD53>I<B56C91B512
F88080D8007F030713006EEC01FC6E6E5A1870EB77FCEB73FEA2EB71FF01707FA26E7E6E
7EA26E7E6E7EA26E7E6E7EA26E7E6E7FA26F7E6F7EA26F7E6F7EA26F7E6F7EA26F7E6F13
80A2EE7FC0EE3FE0A2EE1FF0EE0FF8A2EE07FCEE03FEA2EE01FF7013F0A2177F173FA217
1F170FA2170701F81503487ED807FF1501B500F81400A218703D3E7DBD44>I<ED7FE091
3807FFFE91391FC03F8091397E0007E04948EB03F8D907F0EB00FE4948147F49486E7E49
486E7E49C86C7E01FE6F7E00018349150300038348486F7EA248486F7EA2001F18804916
7F003F18C0A3007F18E049163FA300FF18F0AC007F18E06D167FA4003F18C0A26C6CEEFF
80A36C6C4B1300A26C6C4B5A00035F6D150700015F6C6C4B5A6D5E6D6C4A5A6D6C4A5A6D
6C4AC7FC6D6C14FED901FCEB03F8D9007FEB0FE091391FC03F80912607FFFEC8FC913800
7FE03C427BBF47>I<B712F8EEFF8017E000019039C0003FF86C6C48EB07FCEE01FE707E
EF7F80EF3FC018E0A2EF1FF0A218F8A818F0A2EF3FE0A218C0EF7F80EFFF004C5AEE07FC
EE3FF091B612C04CC7FC0280C9FCB3A73801FFE0B612C0A3353E7DBD3E>I<B712C016FC
EEFF800001D9C00013E06C6C48EB1FF0EE07FCEE01FE707E84717EA2717EA284A760177F
606017FF95C7FCEE01FCEE07F8EE1FE0EEFF8091B500FCC8FC16F091388001FCED003FEE
1FC0707E707E83160383160183A383A484A4F0C004190EA28218E0057F131E2601FFE016
1CB600C0EB3FF094381FF83805071370CA3801FFE09438003F803F407DBD43>82
D<D907FC130C90391FFF801C017FEBF03C3901FC03F83A03F0007E7CD807C0EB1FFC4848
130F001F140748C71203003E1401007E1400A2007C157C12FCA2163CA36C151CA27EA26C
6C14007F7FEA3FF8EBFF806C13F86CEBFF806C14F06C14FC6C14FF6C15C0013F14E00107
14F0EB007F020713F89138007FFC150FED07FE15031501ED00FFA200E0157FA3163FA27E
A3163E7E167E6C157C6C15FC6C15F86D13016DEB03F06DEB07E0D8F9FCEB0FC03AF07F80
3F8090391FFFFE00D8E00713F839C0007FC028427BBF33>I<003FB91280A3903AF0007F
E001018090393FC0003F48C7ED1FC0007E1707127C00781703A300701701A548EF00E0A5
C81600B3B14B7E4B7E0107B612FEA33B3D7DBC42>I<B600C090B512F8A3000101E0C700
07130026007F80EC01FC715A1870B3B3A4013F16F06E5DA21701011F5E80010F15036E4A
5A010793C7FC6D6C5C6D6C141E6D6C5C027F14F86E6C485A91390FF00FE00203B5128002
0049C8FCED1FF03D407DBD44>I<B691380FFFFEA3000301E0020113E06C01809138007F
806CEF3F00017F163E181C6E153C013F1638A26E1578011F1670A26D6C5DA26E14010107
5EA26E140301035EA26D6C4AC7FCA2806D150EA26F131E027F141CA26F133C023F1438A2
6E6C5BA26F13F0020F5CA2EDF80102075CA26E6C485AA2EDFE07020191C8FCA26F5A6E13
0EA2ED7F9CA216DCED3FF8A36F5AA36F5AA26F5AA36F5A3F407EBD44>I<B500FE017FB5
D88007B5FCA3000301C0010101E0C713F86C90C849EC3FE07148EC0F807E7215006E143F
017F190E84A26D6C60A24D7E6D6C60A2EFE7F86D6C60A2933801C3FC6E18F00107610403
7F6E0281140101036104077F17006D6C4D5AA2040EEB7F806D6C4DC7FCA24CEB3FC0DA7F
80160EA24CEB1FE003C0161E023F171C047814F0DBE070010F133C021F173804F014F84C
1307DA0FF05EA2DBF1C0EB03FCDA07F95EA2DBFB80EB01FEDA03FF6F5AA293C8FCA26E5F
A24B157F020094C8FCA24B81037C153EA20378151E0338151C58407EBD5D>I<007FB5D8
C003B512E0A3C649C7EBFC00D93FF8EC3FE06D48EC1F806D6C92C7FC171E6D6C141C6D6C
143C5F6D6C14706D6D13F04C5ADA7FC05B023F13036F485ADA1FF090C8FC020F5BEDF81E
913807FC1C163C6E6C5A913801FF7016F06E5B6F5AA26F7E6F7EA28282153FED3BFEED71
FF15F103E07F913801C07F0203804B6C7EEC07004A6D7E020E6D7E5C023C6D7E02386D7E
14784A6D7E4A6D7F130149486E7E4A6E7E130749C86C7E496F7E497ED9FFC04A7E00076D
EC7FFFB500FC0103B512FEA33F3E7EBD44>I<EAFFFCA4EAF000B3B3B3B3ABEAFFFCA40E
5B77C319>91 D<486C13C00003130101001380481303000EEB070048130E0018130C0038
131C003013180070133800601330A300E01370481360A400CFEB678039FFC07FE001E013
F0A3007F133FA2003F131F01C013E0390F0007801C1C73BE2D>I<EAFFFCA4EA003CB3B3
B3B3ABEAFFFCA40E5B7FC319>I<EB0FF8EBFFFE3903F01F8039078007E0000F6D7E9038
E001F8D81FF07F6E7EA3157F6C5AEA0380C8FCA4EC1FFF0103B5FC90381FF87FEB7F8038
01FC00EA07F8EA0FE0485A485AA248C7FCEE038012FEA315FFA3007F5BEC03BF3B3F8007
1F8700261FC00E13CF3A07F03C0FFE3A01FFF807FC3A003FC001F0292A7DA82D>97
D<EA01FC12FFA3120712031201B1EC03FC91381FFF8091387C07E09039FDE001F09039FF
C000FC4A137E91C77E49158049141F17C0EE0FE0A217F0A2160717F8AA17F0A2160FA217
E0161F17C06D1580EE3F006D5C6E13FE9039F3C001F89039F1E003F09039E0780FC09026
C03FFFC7FCC7EA07F82D407EBE33>I<49B4FC010F13E090383F00F8017C131E4848131F
4848137F0007ECFF80485A5B121FA24848EB7F00151C007F91C7FCA290C9FC5AAB6C7EA3
003FEC01C07F001F140316806C6C13076C6C14000003140E6C6C131E6C6C137890383F01
F090380FFFC0D901FEC7FC222A7DA828>I<ED01FC15FFA3150715031501B114FF010713
E190381F80F990387E003D49131FD803F81307485A49130348481301121F123F5B127FA2
90C7FCA25AAA7E7FA2123FA26C7E000F14037F000714076C6C497E6C6C497ED8007C0179
13F890383F01F190380FFFC1903A01FE01FC002D407DBE33>I<EB01FE90380FFFC09038
3F03F09038FC01F848486C7E4848137E48487F000F158049131F001F15C04848130FA212
7F16E090C7FCA25AA290B6FCA290C9FCA67EA27F123F16E06C7E1501000F15C06C6C1303
6DEB07806C6C1400C66C131E017E5B90381F80F8903807FFE0010090C7FC232A7EA828>
I<EC1FC0EC7FF8903801F83C903807E07E90380FC0FFEB1FC1EB3F811401137FEC00FE01
FE137C1500AEB6FCA3C648C7FCB3AE487E007F13FFA320407EBF1C>I<167C903903F801
FF903A1FFF078F8090397E0FDE1F9038F803F83803F001A23B07E000FC0600000F6EC7FC
49137E001F147FA8000F147E6D13FE00075C6C6C485AA23901F803E03903FE0FC026071F
FFC8FCEB03F80006CAFC120EA3120FA27F7F6CB512E015FE6C6E7E6C15E06C810003813A
0FC0001FFC48C7EA01FE003E140048157E825A82A46C5D007C153E007E157E6C5D6C6C49
5A6C6C495AD803F0EB0FC0D800FE017FC7FC90383FFFFC010313C0293D7EA82D>I<EA01
FC12FFA3120712031201B1EC01FE913807FFC091381E07E091387803F09138E001F8D9FD
C07F148001FF6D7E91C7FCA25BA25BB3A6486C497EB5D8F87F13FCA32E3F7DBE33>I<EA
01E0EA07F8A2487EA46C5AA2EA01E0C8FCACEA01FC127FA3120712031201B3AC487EB512
F0A3143E7DBD1A>I<1478EB01FEA2EB03FFA4EB01FEA2EB00781400AC147FEB7FFFA313
017F147FB3B3A5123E127F38FF807E14FEA214FCEB81F8EA7F01387C03F0381E07C0380F
FF803801FC00185185BD1C>I<EA01FC12FFA3120712031201B292B51280A392383FFC00
16E0168093C7FC153C5D5D4A5AEC07C04A5A4AC8FC143E147F4A7E13FD9038FFDFC0EC9F
E0140F496C7E01FC7F496C7E1401816E7E81826F7E151F826F7EA282486C14FEB539F07F
FFE0A32B3F7EBE30>I<EA01FC12FFA3120712031201B3B3B1487EB512F8A3153F7DBE1A>
I<2701F801FE14FF00FF902707FFC00313E0913B1E07E00F03F0913B7803F03C01F80007
903BE001F87000FC2603F9C06D487F000101805C01FBD900FF147F91C75B13FF4992C7FC
A2495CB3A6486C496CECFF80B5D8F87FD9FC3F13FEA347287DA74C>I<3901F801FE00FF
903807FFC091381E07E091387803F000079038E001F82603F9C07F0001138001FB6D7E91
C7FC13FF5BA25BB3A6486C497EB5D8F87F13FCA32E287DA733>I<14FF010713E090381F
81F890387E007E01F8131F4848EB0F804848EB07C04848EB03E0000F15F04848EB01F8A2
003F15FCA248C812FEA44815FFA96C15FEA36C6CEB01FCA3001F15F86C6CEB03F0A26C6C
EB07E06C6CEB0FC06C6CEB1F80D8007EEB7E0090383F81FC90380FFFF0010090C7FC282A
7EA82D>I<3901FC03FC00FF90381FFF8091387C0FE09039FDE003F03A03FFC001FC6C49
6C7E91C7127F49EC3F805BEE1FC017E0A2EE0FF0A3EE07F8AAEE0FF0A4EE1FE0A2EE3FC0
6D1580EE7F007F6E13FE9138C001F89039FDE007F09039FC780FC0DA3FFFC7FCEC07F891
C9FCAD487EB512F8A32D3A7EA733>I<02FF131C0107EBC03C90381F80F090397F00387C
01FC131CD803F8130E4848EB0FFC150748481303121F485A1501485AA448C7FCAA6C7EA3
6C7EA2001F14036C7E15076C6C130F6C7E6C6C133DD8007E137990383F81F190380FFFC1
903801FE0190C7FCAD4B7E92B512F8A32D3A7DA730>I<3901F807E000FFEB1FF8EC787C
ECE1FE3807F9C100031381EA01FB1401EC00FC01FF1330491300A35BB3A5487EB512FEA3
1F287EA724>I<90383FC0603901FFF8E03807C03F381F000F003E1307003C1303127C00
78130112F81400A27E7E7E6D1300EA7FF8EBFFC06C13F86C13FE6C7F6C1480000114C0D8
003F13E0010313F0EB001FEC0FF800E01303A214017E1400A27E15F07E14016C14E06CEB
03C0903880078039F3E01F0038E0FFFC38C01FE01D2A7DA824>I<131CA6133CA4137CA2
13FCA2120112031207001FB512C0B6FCA2D801FCC7FCB3A215E0A912009038FE01C0A2EB
7F03013F138090381F8700EB07FEEB01F81B397EB723>I<D801FC14FE00FF147FA30007
14030003140100011400B3A51501A31503120015076DEB06FF017E010E13806D4913FC90
381FC078903807FFE00100903880FE002E297DA733>I<B539E00FFFE0A32707FE000313
006C48EB00FC5E00015D7F00005DA26D13016D5CA26D6C485AA2ECC007011F91C7FCA290
380FE00EA2ECF01E0107131CA26D6C5AA2ECFC7801011370A2ECFEF001005BA2EC7FC0A3
6E5AA26EC8FCA3140E2B287EA630>I<B53BC3FFFE03FFF8A3290FFE003FE00013C06C48
6D48EB3F806C4817006D010F141E00016F131C15076D163C00004A6C1338A2017F5E4B7E
151DD93F805DED3DFC1538D91FC04A5AED78FE9238707E03D90FE0017F5BEDE03F02F014
0701070387C7FC9138F1C01F02F9148F010315CE9138FB800F02FF14DE6D15FCED00076D
5DA24A1303027E5CA2027C1301023C5C023813003D287EA642>I<B539F01FFFE0A30003
D9C00F1300C690388007F8D97F0013E002805BD93FC05B011F49C7FC90380FE00EECF01E
6D6C5A01035B6D6C5A6E5AEB00FF6E5A6E5A81141F814A7E81147BECF1FC903801E1FEEC
C0FF01037F49486C7ED90F007F011E6D7E013E130F496D7E01FC80486C80000F4A7EB539
803FFFF8A32D277FA630>I<B539E00FFFE0A32707FE000313006C48EB01FC6F5A00015D
7F00005DA2017F495AA2EC8003013F5CA26D6C48C7FCA26E5A010F130EA26D6C5AA2ECF8
3C01031338A26D6C5AA2ECFEF001005BA2EC7FC0A36E5AA36EC8FCA2140EA2141E141C14
3C1438A2147800181370127EB45BA2495AA248485AD87E07C9FCEA780EEA3C3CEA1FF8EA
07E02B3A7EA630>I<001FB61280A2EBE0000180140049485A001E495A121C4A5A003C49
5A141F00385C4A5A147F5D4AC7FCC6485AA2495A495A130F5C495A90393FC00380A2EB7F
80EBFF005A5B484813071207491400485A48485BA248485B4848137F00FF495A90B6FCA2
21277EA628>I<BE12C0A25A0280985B>124 D E /Fy 47 122 df<121EEA7F8012FF13C0
A213E0A3127FEA1E601200A413E013C0A312011380120313005A1206120E5A5A5A12600B
1D78891B>44 D<B612C0A61A067F9721>I<121EEA7F80A2EAFFC0A4EA7F80A2EA1E000A
0A78891B>I<14FF010713E090381F81F890383E007C01FC133F4848EB1F8049130F4848
EB07C04848EB03E0A2000F15F0491301001F15F8A2003F15FCA390C8FC4815FEA54815FF
B3A46C15FEA56D1301003F15FCA3001F15F8A26C6CEB03F0A36C6CEB07E0000315C06D13
0F6C6CEB1F806C6CEB3F00013E137C90381F81F8903807FFE0010090C7FC28447CC131>
48 D<143014F013011303131F13FFB5FC13E713071200B3B3B0497E497E007FB6FCA320
4278C131>I<49B4FC010F13E0013F13FC9038FE01FE3A01F0007F80D803C0EB3FC048C7
EA1FE0120EED0FF0EA0FE0486C14F8A215077F5BA26C48130FEA03C0C813F0A3ED1FE0A2
ED3FC01680ED7F0015FE4A5AEC03F0EC1FC0D90FFFC7FC15F090380001FCEC007FED3F80
ED1FC0ED0FE016F0ED07F816FC150316FEA2150116FFA3121EEA7F80487EA416FE491303
A2007EC713FC00701407003015F80038140F6C15F06CEC1FE06C6CEB3FC0D803E0EB7F80
3A01FE01FE0039007FFFF8010F13E0010190C7FC28447CC131>51
D<ED0380A21507150FA2151F153FA2157F15FFA25CEC03BF153F14071406140C141C1418
14301470146014C013011480EB03005B13065B131C13185B1370136013E0485A5B120390
C7FC1206120E120C5A123812305A12E0B812C0A3C8383F8000ADEDFFE0027FEBFFC0A32A
437DC231>I<000615C0D807C0130701FCEB7F8090B612005D5D5D15E0158026063FFCC7
FC90C9FCAE14FF010713C090381F01F090383800FC01F0137ED807C07F49EB1F8016C090
C7120F000615E0C8EA07F0A316F81503A216FCA5123E127F487EA416F890C712075A0060
15F0A20070140F003015E00038EC1FC07E001EEC3F806CEC7F006C6C13FE6C6C485A3901
F807F039007FFFE0011F90C7FCEB07F826447BC131>I<EC07FCEC3FFF91B512C0903903
FC03E0903907E000F0D91FC0133849C71258017EEB01FC01FE1303491307485A485AA248
48EB03F8000FEC01F092C7FC485AA3485AA3127FA29038007F80903801FFF090380780FC
39FF0E003E49EB1F8049EB0FC049EB07E0136001E0EB03F04914F8150116FC5BED00FEA3
90C812FFA47EA57F123FA216FE121F15016D14FC120FED03F86C7EED07F06C6C14E06C6C
EB0FC06C6CEB1F80017EEB3F0090383F80FE90380FFFF8010313E00100138028447CC131
>I<121CA2EA1F8090B712C0A3481680A217005E0038C8120C0030151C00705D00601530
16705E5E4814014B5A4BC7FCC81206150E5D151815385D156015E04A5AA24A5A140792C8
FC5CA25C141E143EA2147E147CA214FCA21301A3495AA41307A6130FAA6D5AEB01C02A45
7BC231>I<14FF010713E0011F13F890387F00FE01FC133FD801F0EB1F804848EB0FC049
EB07E00007EC03F048481301A290C713F8481400A47FA26D130116F07F6C6CEB03E013FC
6C6CEB07C09039FF800F806C9038C01F006CEBF03EECF87839007FFEF090383FFFC07F01
077F6D13F8497F90381E7FFFD97C1F1380496C13C02601E00313E048486C13F000079038
007FF84848EB3FFC48C7120F003EEC07FE150148140016FF167F48153FA2161FA56C151E
007C153EA2007E153C003E157C6C15F86DEB01F06C6CEB03E06C6CEB07C0D803F8EB1F80
C6B4EBFF0090383FFFFC010F13F00101138028447CC131>I<14FF010713E0011F13F890
387F80FC9038FC007E48487F4848EB1F804848EB0FC0000FEC07E0485AED03F0485A16F8
007F140190C713FCA25AA216FE1500A516FFA46C5CA36C7E5D121F7F000F5C6C6C130615
0E6C6C5B6C6C5BD8007C5B90383F01E090390FFF80FE903801FE0090C8FC150116FCA4ED
03F8A216F0D80F801307486C14E0486C130F16C0ED1F80A249EB3F0049137E001EC75A00
1C495A000F495A3907E01FE06CB51280C649C7FCEB1FF028447CC131>I<16C04B7EA34B
7EA34B7EA34B7EA3ED19FEA3ED30FFA203707FED607FA203E07FEDC03FA2020180ED801F
A2DA03007F160FA20206801607A24A6D7EA34A6D7EA34A6D7EA20270810260147FA202E0
8191B7FCA249820280C7121FA249C87F170FA20106821707A2496F7EA3496F7EA3496F7E
A201788313F8486C83D80FFF03037FB500E0027FEBFFC0A342477DC649>65
D<DB0FFE146092B500C013E0020314F0913A0FFC01FC0191393FC0003E02FFC7EA0F83D9
03FCEC03C74948EC01E74948EC00FF4948157F4948153F4948151F49C9120F485A491607
120348481603A248481601A248481600A2123FA2491760127FA31900485AAE6C7EA21960
A2123F7FA2001F18E07F000F18C0A26C6C160119806C6C160312016DEE07006C6C16066D
6C150E6D6C5D6D6C5D6D6C15786D6C5D6D6C4A5AD900FFEC0780DA3FC0011FC7FCDA0FFC
13FC0203B512F0020014C0DB0FFEC8FC3B487BC546>67 D<B912F8A3000101C0C7127F6C
6C48EC07FC17011700187C183C181CA284A31806A4180704067FA395C7FCA4160EA2161E
163E16FE91B5FCA3EC8000163E161E160EA21606A319C0A3F0018093C7FCA41803A21900
A260A260A2181EA2183E187EEF01FE170748486C147FB95AA33A447CC342>69
D<B912F0A3000101C0C7127F6C6C48EC0FF817031701170018781838A2181CA3180CA418
0E1806160CA21800A5161CA2163C167CED01FC91B5FCA3EC8001ED007C163C161CA2160C
A793C8FCB08048487EB612F8A337447CC340>I<B612F0A3C6EBF0006D5A6D5AB3B3B3A4
497E497EB612F0A31C447DC323>73 D<010FB512FEA3D9000313806E130080B3B3AB123F
487E487EA44A5A13801300006C495A00705C6C13076C5C6C495A6CEB1F802603E07FC7FC
3800FFFCEB1FE027467BC332>I<B56C933807FFFC6E5EA20001F1FE0026006FE0EE1BF8
A3D967F01633A2D963F81663A3D961FC16C3A3D960FEED0183A2027FED0303A36E6C1406
A36E6C140CA26E6C1418A36E6C1430A36E6C1460A26E6C14C0A36E6CEB0180A3037FEB03
00A292383F8006A36F6C5AA36F6C5AA26F6C5AA36F6C5AA36F6C5AA26FB45AA370C7FC13
F0A2486C143ED80FFFEF0FFEB500F0011C0107B512FCA34E447BC359>77
D<B56C020FB5FC8080C6040013F06D6CED1F80D96FF8ED0F00A2D967FC1506EB63FEA2EB
61FF01607FA26E7E6E7EA26E7E6E7EA26E7E6E7EA26E7E6E7FA26F7E6F7EA26F7E6F7EA2
6F7E6F7EA26F7E6F1380A2EE7FC0EE3FE0A2EE1FF0EE0FF8A2EE07FCEE03FEA2EE01FF70
1386A2EF7FC6EF3FE6A2EF1FF6EF0FFEA217071703A217011700A201F0167E183E487ED8
0FFF161EB500F0150EA2180640447CC349>I<B712FCEEFFC017F800019039C0000FFC6C
6C48EB01FF9338007F80EF1FE0170FEF07F018F8EF03FCA218FE1701A218FFA718FEA217
0318FCA2EF07F818F0EF0FE0EF1FC0EF7F80933801FE00EE0FFC91B612F017800280C9FC
B3AA3801FFE0B612C0A338447CC342>80 D<B712E016FF17C000019039C0003FF86C6C48
EB03FCEE00FF717E717E717E717E717EA284170384A760A21707604D5AA24D5A4D5A4DC8
FCEE01FEEE07F8EE3FE091B6C9FC16FC913980007F80EE0FE0707EEE03FC707E16008371
7EA2717EA784A71A6084171FA21AE0716C13C02601FFE002071301B600C01680943801FC
03943900FE0700CBEA3FFEF007F843467CC348>82 D<49B41303010FEBE007013F13F890
39FE00FE0FD801F8131FD807E0EB079F49EB03DF48486DB4FC48C8FC4881003E81127E82
127C00FC81A282A37E82A27EA26C6C91C7FC7F7FEA3FF813FE381FFFE06C13FE6CEBFFE0
6C14FC6C14FF6C15C0013F14F0010F80010180D9001F7F14019138001FFF03031380816F
13C0167F163F161F17E000C0150FA31607A37EA36C16C0160F7E17806C151F6C16006C5D
6D147ED8FBC05CD8F9F0495AD8F07C495A90393FC00FE0D8E00FB51280010149C7FC39C0
003FF02B487BC536>I<003FB912F8A3903BF0001FF8001F01806D481303003EC7150048
187C0078183CA20070181CA30060180CA5481806A5C81600B3B3A54B7EED7FFE49B77EA3
3F447DC346>I<EB07FC90383FFF809038F80FE03903C003F048C66C7E000E6D7ED80FC0
137E486C137F6D6D7EA36F7EA26C5AEA0380C8FCA4EC0FFF49B5FC90380FFE1FEB3FC0EB
FF00EA03FC485A485A485A485A127F5B176048C7FCA3153FA36D137F007F14EF6D9038C7
E0C0003F13013A1FE00783F13B07F81E03FF802701FFFC0113003A001FE0007C2B2E7CAC
31>97 D<EA01FC12FFA3120712031201B3EC03FC91380FFF8091383C07E091387001F890
39FDE0007E02807F01FFEC1F8091C713C049EC0FE049140717F0A2EE03F8A217FCA21601
17FEAB17FC1603A217F8A2EE07F0A26DEC0FE017C06D141F01FBEC3F80D9F380EB7E00D9
E1C05B9039E0F001F89039C03C07E09039801FFF80C7D803FCC7FC2F467DC436>I<EC7F
80903803FFF090380FC07C90383F000F01FCEB03804848EB01C00003140F4848EB1FE049
133F120F485AA2485AED1FC0007FEC070092C7FCA290C9FC5AAB7E7FA2123F16307F001F
15706C6C146016E06C6C14C06C6C13010001EC03806C6CEB0700013F131E90381FC07890
3807FFF001001380242E7DAC2B>I<167FED3FFFA315018182B3EC7F80903803FFF09038
0FC07C90383F000E017E1307496D5AD803F87F48487F5B000F81485AA2485AA2127FA290
C8FC5AAB7E7FA2123FA26C7EA2000F5D7F6C6C5B00035C6C6C9038077F806C6C010E13C0
013F011C13FE90380FC0F8903803FFE09026007F0013002F467DC436>I<EB01FE903807
FFC090381F03F090387E00FC49137E48487F485A4848EB1F80000F15C049130F121F4848
14E01507A2007F15F090C7FCA25AA390B6FCA290C9FCA67EA27FA2123F16306C7E167000
0F15606D14E06C6C14C0000314016C6CEB03806C6CEB0700013E131E90381F80F8903803
FFE0010090C7FC242E7DAC2B>I<EC0FE0EC7FF8903801F81E903803F03F90390FE07F80
90381FC0FF5C133F495AA2ED7F0001FE131C92C7FCAFB67EA3C648C8FCB3B2486C7E007F
13FFA321467EC51E>I<EE0F80D901FCEB7FE0903A0FFF81F0F090393F07E3819039FC01
FF033A01F800FE014848017E13E00007027FC7FC497F000F8149131F001F81A9000F5D6D
133F000792C7FC6D5B0003147E6C6C5B6D485A3903BF07E090380FFF80260701FCC8FC90
CAFCA25AA37F6C7E7F90B512F86C14FF16E06C15F86C6C8048B67E3A07C0000FFF484813
00003FC8EA3F80003E151F48ED0FC0A2481507A56C150F007C1680007E151F003E16006C
153E6C6C5CD807E0495AD801F8EB07E0D8007FEB3F8090261FFFFEC7FC010113E02C427D
AC31>I<EA01FC12FFA3120712031201B3EC01FE913807FFC091381E07F091383801F802
707FECE000D9FDC07F5C01FF147F91C7FCA25BA35BB3A8486CECFF80B5D8F83F13FEA32F
457DC436>I<EA01E0EA07F8A2487EA46C5AA2EA01E0C8FCADEA01FC12FFA31207120312
01B3B0487EB512F8A315437DC21C>I<143C14FFA2491380A46D1300A2143C91C7FCADEC
7F80EB3FFFA31300147F143FB3B3AA123E127F39FF807F00A2147EA25C6C485A383C01F0
6C485A3807FF80D801FEC7FC195785C21E>I<EA01FC12FFA3120712031201B3A292381F
FFE0A36F1300ED07F816E05E5E030EC7FC5D5D5D5D4A5A4A5A4AC8FC5CEC3F804A7E14FF
9038FDCFE09038FF8FF01407496C7E01FC7F14016E7E81816F7E82151F6F7E821507826F
7E8282486C491380B5D8F81F13F8A32D457DC433>I<EA01FC12FFA3120712031201B3B3
B3A5487EB512F8A315457DC41C>I<D801FC01FFEC1FE000FF010701E0EBFFFC913B0F03
F801E07F913C3C01FC07803F800007903C7000FE0E001FC0000349D97E1C130F2601FDC0
D97F38804A143001FFDA3FF06D7E91C75BA2495DA3495DB3A8486C4A6C497EB5D8F81FB5
0003B512E0A34B2C7DAB52>I<3901FC01FE00FF903807FFC091381E07F091383801F800
0701707F0003EBE0002601FDC07F5C01FF147F91C7FCA25BA35BB3A8486CECFF80B5D8F8
3F13FEA32F2C7DAB36>I<EC7F80903803FFF090380FC0FC90383E001F496D7E496D7E48
486D7E48486D7E48486D7E000F81A24848147E003F157FA290C87E481680A44816C0AA6C
1680A26D147F003F1600A2001F157E6D14FE000F5D6D130100075D6C6C495A6C6C495A6C
6C495A013E49C7FC90381FC0FE903807FFF89038007F802A2E7DAC31>I<3901FC03FC00
FF90380FFF8091383C07E091387001F83A07FDE000FE00010180137F01FFEC3F8091C7EA
1FC04915E049140F17F0160717F8160317FCA3EE01FEABEE03FCA3EE07F8A217F0160F6D
15E0EE1FC06D143F17806EEB7E00D9FDC05B9039FCF003F891383C0FE091381FFF80DA03
FCC7FC91C9FCAE487EB512F8A32F3F7DAB36>I<3903F803F000FFEB1FFCEC3C3EEC707F
0007EBE0FF3803F9C000015B13FBEC007E153C01FF13005BA45BB3A748B4FCB512FEA320
2C7DAB26>114 D<90383FE0183901FFFC383907E01F78390F0003F8001E130148130000
7C1478127800F81438A21518A27EA27E6C6C13006C7E13FC383FFFE06C13FC6C13FF6C14
C06C14E0C614F0011F13F81300EC0FFC140300C0EB01FE1400157E7E153EA27EA36C143C
6C147C15786C14F86CEB01F039F38003E039F1F00F8039E07FFE0038C00FF01F2E7DAC26
>I<1306A5130EA4131EA3133E137EA213FE12011207001FB512F0B6FCA2C648C7FCB3A4
150CAA017E131C017F1318A26D133890381F8030ECC070903807E0E0903801FFC0903800
7F001E3E7EBC26>I<D801FC147F00FFEC3FFFA300071401000380000181B3A85EA35DA2
12006D5B017E9038077F80017F010E13C06D011C13FE90380FC078903803FFF09026007F
8013002F2D7DAB36>I<B539F001FFFCA3000790C7EA7FE06C48EC1F8000011600160E12
00160C017F5CA280013F5CA26E1370011F146080010F5CA2ECF00101075CA26D6C48C7FC
A26E5A01011306A26D6C5AA214FF6E5AA215B8EC3FB015F06E5AA36E5AA26E5AA36EC8FC
2E2C7EAA33>I<B500E0B539E03FFF80A30007903C000FFE000FFC00D803FCD903F8EB03
F8F001E0120103015D6D80000060A26D6E13036DD9037E91C7FCA20280017F5B013FD906
3F1306A2D91FC06E5AED0C1FA2D90FE06E5AED180FA2D907F06E5AED3007A2D903F86E5A
ED6003A2902601FCE06D5AEDC00117FCD900FFECFD80ED800017FF027F92C8FC92C77EA2
6E147E023E143EA2021E143C021C141CA2412C7EAA46>I<B539F001FFFCA3000790C7EA
7FE06C48EC1F8000011600160E0000150C6D141C6D1418A26E1338013F1430A26D6C5BA2
6E13E0010F5CA26D6C485AA2ECF803010391C7FCA2903801FC06A2ECFE0E0100130CA2EC
7F18A215B8EC3FB0A2EC1FE0A36E5AA26E5AA36EC8FCA21406A35CA25CA2123C007E5BB4
FC5CA25CEAFE01387C0380D87007C9FCEA3C1EEA0FFCEA03F02E3F7EAA33>121
D E /Fz 20 118 df<B712F0A7240780A12B>45 D<B912F018FF19E019F8C601FCC8EA7F
FED93FF892380FFF80011F04017F9538007FF0F11FF8737EF103FE737E737F747E747E74
7E1A0F87747E1A0387747EA2741380A2F37FC0A21CE01B3FA21CF0A21B1F1CF8A31CFCA2
1B0FA41CFEAF1CFCA51B1F1CF8A4F33FF0A21CE0A21B7F1CC01BFF1C80A2501300A2505A
505AA2505A505A505A505A1AFF4F5B4F90C7FCF107FCF11FF8F17FF0953801FFC0013F04
075BD9FFFCDB7FFEC8FCBA12F819E096C9FC18F0576279E165>68
D<B712C0A4C66CEB8000D91FFEC7FC6D5AB3B3B3B3AE497E90387FFF80B712C0A422627A
E12F>73 D<B500FC071FB51280A36E61C6F58000013F51C7FCD91DFFF177FCA2011C6D18
E7A36E6CEF01C7A36E6CEF0387A36E6CEF0707A26E6C170EA36E6C171CA36E6C1738A36E
6C1770A26E6D16E0A36F6CED01C0A36F6CED0380A36F6CED0700A26F6C150EA36F6C5DA3
6F6C5DA36F6C5DA26F6D5CA3706C495AA3706C495AA3706C49C7FCA2706C130EA3706C5B
A3706C5BA3706C5BA3706D5AA294387FC1C0A394383FE380A3DD1FF7C8FCA3EF0FFEA201
3E6F5AA2137F715A2601FFC04F7E000701F896383FFF80B66C6D48023FB61280A3715A69
6278E17A>77 D<B912C018FEF0FFC019F0C601FCC813FCD93FF8ED0FFF011F04037F0600
7FF13FF0737E737E1907737E86731380A27313C0A31BE01A7FA21BF0A91BE0A21AFF1BC0
A34F13801B00614F5A624F5A4F5AF17FE04F5A060390C7FCF01FFE943801FFF891B812E0
96C8FC18F802F8CCFCB3B3A4497E90B5FCB7FCA44C6279E15A>80
D<DA07FF1403023F01F05B49B512FC010702FF5B90260FFC0013C0D93FE090380FF01FD9
7F80EB03F801FEC86C5A4848157E4848ED1F7F48486F5A4848815B001F824981003F8290
CAFC4883A2007E83A212FE84A384A27EA36D82A26C7EA26D93C7FC6C7E7F7F6C7E6D7E6C
13E06C13FCECFFC06C14F86CECFF806C15F86DECFF80011F15E06D15F8010315FE01006F
7E021F81020181DA003F80030380DB003F7F04037FEE007FEF1FFF71138017037113C083
A2F07FE0183FA2181F00E018F0180FA41807A27EA47E19E0180F7E19C07E6C171F19806D
163F6D17006D5E6D16FE486C5E6D4B5AD8FC7F1503D91F80EC0FF026F80FE04A5AD907FC
EC7F8029F001FFE003FFC7FC6D6CB512FC48011F14F0020314C0489026001FFEC8FC3C66
7AE349>83 D<EC3FF0903803FFFE010F6D7E90393FC03FE090397E0007F801F86D7ED801
E06D7E48486D7E48486E7E48C86C7E7F01F06E7E487E6D6E7EA3707EA36C5AEA03E0C9FC
A6167FED7FFF020FB5FC91387FF807903801FF80903807FC00EB1FF0EB7FC0495AD803FE
C7FC485A120F5B485A485AA2484817E0A312FF5BA2160FA3161F6D141B007F153B16736D
913971FC01C06C6C14E1001FEC01C1D80FFC903A0780FE03806C6C903A0F00FF07002701
FF807E6DB4FC27007FFFF86D5A011F01E0EB1FF8010190C7EA07E03B417ABF42>97
D<4AB47E020F13F8023F13FE9139FF007F80D903FCEB07E0D907F0EB01F0D91FE0EB0078
49488049488049C87E48485D4915FF00034B138048485CA2485AA2485AA2003F6F130049
EC007C94C7FC127FA35B12FFAD127F7FA4123F7FA2001FEE01C07F000F16036D16801207
6C6C15076D160000015E6C6C151E6D6C5C6D6C5C6D6C5CD90FF8495AD903FCEB07C0903A
00FF803F8091263FFFFEC7FC020F13F80201138032417CBF3A>99
D<181EEF3FFEEE07FFA4EE000F1703A21701B3AAEDFF80020F13F8023F13FE9139FF803F
81903A03FC0007C14948EB01E1D91FE0EB00F94948147D4948143D49C8121F4848150F49
1507120348481503491501120F121F5BA2123F5B127FA45B12FFAD127F7FA3123FA27F12
1FA26C6C1503A26C6C150712036D150F6C6C151F0000163D137F6D6CECF9FF6D6CEB01F1
D90FF0D903C113C06D6CD90F81EBFF80D901FFEB7F019039007FFFFC021F13E002010100
91C7FC41657CE349>I<EC03FE91381FFFE091B512F8903901FE03FE903A07F0007F8049
486D7ED93FC06D7E49C76C7E496E7E49140348488148481401000782491400000F828348
5A1880123F49153FA2007F17C0A35BA212FF90B8FCA30180CAFCA9127F7FA3123FA27F12
1FEF01C06C7E17036C6C1680A26C6C15070001EE0F006D150E6C6C151E6D6C5C6D6C5C6D
6C5CD907F0EB03E0D903FC495A902700FF803FC7FC91383FFFFC020F13F0020113803241
7CBF3A>I<ED0FF0ED7FFC4AB5FC913907F81F8091390FE00FC091381FC03F91393F807F
E0EC7F005C495A5C0103EC3FC0A24948EB0F0093C7FCA2495AB3A5B712F0A426000FF0C8
FCB3B3B0497EEB3FFE003FB6FCA42B657EE428>I<F03F80DA03FC903801FFE091273FFF
C00713F091B539F01FC1F8903B03FC03FC3E03903A07F000FE784948EB7FE04948EB3FC0
4948011FEB01F049C76C6CC7FC01FE6E7EA248486E7EA2000382A2491401000782AA0003
5E6D1403A200015EA26C6C4A5AA2017F4A5A6D6C495A6D6C495A496C49C8FCD937F013FE
903973FC03FC0160B512F0D9E03F13C0DA03FCC9FC4848CBFCA57FA27FA27F6C7E13FF91
B512FE6DECFFF06D15FE6D6F7E6D16E084013F16FC01FEC700017FD803F8EC001FD807E0
ED03FF4848030013804848167F003FEF3FC090CA121F127EF00FE012FE481707A66C170F
007E18C0A2007F171F6C6CEE3F806C6CEE7F00000F177ED807F04B5A6C6C4B5A6C6C4B5A
D8007FED1FC0D93FE0ECFF80D90FFED90FFEC7FC0101B612F0D9003F1480020101F0C8FC
3D5E7DBF42>I<133C13FF487F487FA66C5B6C90C7FC133C90C8FCB3A2EB03C0EA07FF12
7FA41201EA007FA2133FB3B3AC497E497EB612E0A41B5F7DDE23>105
D<D903C0D9FFC0EC07FED807FF010301F891381FFFC0B5010F01FE027F13F0923D3F00FF
8001F807FC0378903B3FC003C001FEDAC1E090261FE00FC77E0001D9C3C090260FF01E6E
7ED8007F49902607F81C6E7E02C7C75CD93FCE6E6C486E7E02CC166002DC16E002D85E02
F8DA01FF6F7E4A5EA24A93C8FCA44A5DB3B3496C4A6C4B7E496C4A6D4A7EB6D8F007B6D8
803FB512FCA4663F7CBE6F>109 D<D903C0EB7FE0D807FF903803FFFCB5010F13FFDB3F
0013C00378EB1FE04B6D7E0001D9C1C06D7E27007FC3808002C7C71203D93FCE81170114
DC14D802F86E7E5CA35CA35CB3B3496C4A7F496C4A7FB6D8F003B612C0A4423F7DBE49>
I<EDFF80020F13F8023F13FE9139FF007F80D903FCEB1FE0D907F0EB07F0D90FC0EB01F8
D93F80EB00FE49C8127F017E81496F7E48486F7E00038349150700078348486F7EA2001F
83491501A2003F83A348486F7EA400FF1880AC007F1800A26D5DA2003F5FA36C6C4B5AA3
6C6C4B5A00075FA26C6C4B5A6C6C4B5AA26C6C4B5A017F4BC7FC6D6C14FE6D6C495AD90F
F0EB07F8D903FCEB1FE0D900FFEB7F806EB5C8FC020F13F8020113C039417CBF42>I<90
39078003F8D807FFEB0FFFB5013F13C092387C0FE0913881F01F9238E03FF00001EB8380
39007F8700148FEB3F8E029CEB1FE0EE0FC00298EB030002B890C7FCA214B014F0A25CA5
5CB3B0497EEBFFF8B612FCA42C3F7CBE33>114 D<9139FFE00180010FEBFC03017FEBFF
073A01FF001FCFD803F8EB03EFD807E0EB01FF48487F4848147F48C8123F003E151F007E
150F127CA200FC1507A316037EA27E7F6C7E6D91C7FC13F8EA3FFE381FFFF06CEBFF806C
14F86C14FF6C15C06C6C14F0011F80010714FED9007F7F02031480DA003F13C015030300
13E0167F00E0ED1FF0160F17F86C15071603A36C1501A37EA26C16F016037E17E06D1407
6DEC0FC06D1580D8FDF0141FD8F8F8EC7F00013E14FC3AF01FC00FF80107B512E0D8E001
148027C0003FF8C7FC2D417DBF34>I<1438A71478A414F8A31301A31303A21307130F13
1FA2137F13FF1203000F90B6FCB8FCA3260007F8C8FCB3AE17E0AE6D6CEB01C0A316036D
6C148016076D6C14006E6C5A91383FC01E91381FF07C6EB45A020313E09138007F802B59
7FD733>I<D903C0150FD807FFED1FFFB50203B5FCA40001ED0007D8007F1501A2013F81
B3B25FA35FA35F011F15066E140E5F130F6E4A7F01075D6D6C494813E0D901FE4948EBFF
C0903A00FFC01F8091393FFFFE00020F13F8020001C0EC800042407DBE49>I
E /FA 5 85 df<1A1E1A1F6262A262A261A26161A2618761A26161197B19FB19F3F001E3
A2F003C318071983180F1903061E80A2183C85187818F818F0EF01E0A2EF03C0A2EF0780
170F1800171E875FA24D7F17F85F4C5AA24C5AA24C5A160F94C8FC5E161E4C82A25E04F8
157F5E15015E4BB8FCA25DA24BC9127F5D151E4B83A25D1A3F5D14015D4A5AA24A5AA24A
CAFC5C141E5C875C14F81A1F495A13031307010F183F131FD97FF84D7E2603FFFE0403B5
7E007FD9FFE092B7FC4E1680B61A006C5C596678E568>65 D<92B912F04A18FEF3FFC06E
19F0DB007F90C700017F70489138003FFE7048ED0FFF043F04037F757F4D6F7F767E047F
173F767E4D707EA204FF717EA24D707EA24B1A80885FA24B1AC0A25F885D1EE094CBFCA2
5D645EA2151FA25EA2153F645E1EC0157FA24C5FA215FF1E804C5FA25C1E004C5FA24A62
A24C173F655C525A93CBFCA24A4F5AA24B4D5BA2021F62515B5D5190C7FC023F611B0F4B
4D5A64027F183F515A4B60515A02FF4D5B5090C8FC4B4C5A1A0F49F01FF8505A4B4C5A50
5A494D5B070790C9FC4BED1FFC4F5A49933801FFE04904071380013FDC7FFECAFC007FB9
12F8BA12E096CBFC18F0636276E16A>68 D<92BB12FC5CA280DB007F90C8120F70481500
7048EE3FF8043F170F1C074D1603A2167F1C014D17F0A216FFA25FA25D1DE05FA25DA25F
1C034B19C0A294CAFC1AE04B4B6C14805090C7FC5EA2031F1503625E1907153F624C140F
191F157F077FC9FC4C5C180F92B8FC61A34A9038E0000FF001FC4C1300A25C19785E19F8
5C6193C8FCA24A1501615DA2021F5E95CBFC5DA2143FA25DA2147FA25DA214FFA25DA25B
A25DA25BA25DA25B5B013F13F0007FB612FEB7FCA35E6276E15C>70
D<92B812FCF2FFC04A18F86E18FEDB007F90C7383FFF80704802037F7048020013F0043F
EE3FF8757E4D6F7E1B07047F837513805F1DC016FFA25F1DE05DA25FA25D5113C05FA25D
51138094C9FC1D004B5F644C4C5AA2031F4D5A644C4C5A505B033F4C5B5048C7FC4C4B5A
F23FF0037F4C5A963801FF804CDA0FFEC8FCF1FFF892B812C04FC9FC619339E00003FF4A
9238007FC0737E4C6E7E737E4A1607864C8119034A83A293C8FCA24A84A25DA2021F5EA2
4B94C8FCA2023F5EA25DA2027F5EA25DA202FF5E625DA2491BE01C015DA2491A031DC04B
18071D80491A0F49051F1500013F01E060007FB600F0020F143EB76F6C5B735C4C6EEB83
F0CD6CB45A081F1380E003FEC7FC5B6576E166>82 D<017FBB12FC1CFE90BCFCA292C727
7FFC000113FC4801F06E48EB001F0280027F150791C81603D803FC4C14015B4903FF16F8
49190000075F5B5E48481AF06090C8FC484B1601A2001E5F003E1BE0003C5DA2007C94C8
FC00781A034C17C012F8485EA2161F481B80C94992C7FCA2163FA25FA2167FA25FA216FF
A25FA25DA25FA25DA25FA25DA294CBFCA25DA25EA2151FA25EA2153FA25EA2157FA25EA2
15FFA25EA25CA25EA25CA25EA25CA293CCFC5CA25C49B512E0001FB8FC5AA25F576166E0
64>84 D E end
TeXDict begin

0 0 bop 1597 1821 a FA(D)50 b(R)h(A)f(F)g(T)449 2004
y Fz(Do)t(cumen)l(t)44 b(for)f(a)g(Standard)h(Message-P)l(assing)f(In)l
(terface)1242 2393 y Fy(Message)34 b(P)m(assing)f(In)m(terface)h(F)-8
b(orum)1666 2646 y(July)33 b(17,)f(1996)155 2762 y(This)h(w)m(ork)g(w)m
(as)g(supp)s(orted)h(in)e(part)g(b)m(y)i(ARP)-8 b(A)32
b(and)h(NSF)g(under)g(gran)m(t)f(ASC-9310330,)g(the)384
2878 y(National)f(Science)i(F)-8 b(oundation)31 b(Science)j(and)e(T)-8
b(ec)m(hnology)34 b(Cen)m(ter)g(Co)s(op)s(erativ)m(e)152
2994 y(Agreemen)m(t)f(No.)43 b(CCR-8809615,)31 b(and)i(b)m(y)h(the)f
(Commission)d(of)i(the)h(Europ)s(ean)g(Comm)m(unit)m(y)1308
3110 y(through)f(Esprit)h(pro)5 b(ject)33 b(P6643.)p
eop
1 1 bop 332 99 a Fx(This)38 b(is)g(the)i(result)f(of)h(a)g(LaT)-8
b(eX)40 b(run)f(of)g(a)i(draft)e(of)h(a)g(single)e(c)m(hapter)i(of)g
(the)g(MPIF)g(Final)150 211 y(Rep)s(ort)30 b(do)s(cumen)m(t.)1937
5656 y(i)p eop
1 2 bop 150 721 a Fw(Chapter)65 b(5)150 1136 y Fv(Extended)77
b(Collectiv)-6 b(e)76 b(Op)6 b(erations)150 1385 y(and)78
b(Related)f(Issues)150 1867 y Fu(5.1)116 b(Intro)s(duction)150
2070 y Fx(The)30 b(follo)m(wing)f(t)m(yp)s(es)h(of)h(additional)d
(classes)i(of)h(functionalit)m(y)e(are)h(in)m(tro)s(duced)f(here)h(for)
h Ft(MPI-2)p Fx(:)286 2257 y Fs(\017)46 b Fx(Extension)30
b(of)g Ft(MPI)g Fx(collectiv)m(e)h(op)s(erations)f(to)h(in)m(tercomm)m
(unicators,)286 2444 y Fs(\017)46 b Fx(Non-blo)s(c)m(king)30
b(collectiv)m(e)h(comm)m(unication)f(\(async)m(hronous\),)286
2631 y Fs(\017)46 b Fx(P)m(ersisten)m(t)26 b(collectiv)m(e)g(comm)m
(unication)f(\(p)s(ersisten)m(t)g(handles\))f(for)h(b)s(oth)g(in)m
(tracomm)m(unicators)377 2744 y(and)43 b(in)m(tercomm)m(unicators)g
(\(Both)h(blo)s(c)m(king)e(and)h(non)m(blo)s(c)m(king)f(p)s(ersisten)m
(t)g(op)s(erations)g(\(as)377 2857 y(w)m(ell)30 b(as)g(mixed\))g(are)h
(prop)s(osed.\),)286 3044 y Fs(\017)46 b Fx(New)31 b(or)f(extended)h
(collectiv)m(e)f(op)s(erations)g(\()p Fr(e.g.)p Fx(,)g(in-place,)g
(exclusiv)m(e)g(scan,)h(etc\).)286 3232 y Fs(\017)46
b Fx(T)-8 b(op)s(ology)31 b(extensions)f(to)h(in)m(tercomm)m
(unicators,)286 3419 y Fs(\017)46 b Fx(New)31 b(top)s(ology)g
(constructor)f(tec)m(hnology)-8 b(,)286 3606 y Fs(\017)46
b Fx(Pseudo-Collectiv)m(e)30 b(Channels)f(\(for)h(highest)g(p)s
(erformance)g(messaging\).)150 3793 y(This)f(c)m(hapter)i(is)e(also)h
(addresses:)286 3980 y Fs(\017)46 b Fx(Constructors/destructors)30
b(for)f(in)m(tracomm)m(unicators)h(and)f(in)m(tercomm)m(unicators)g
(\(including)377 4093 y(extensions)h(|)g(p)s(ersisten)m(t)g(and)g(non)m
(blo)s(c)m(king)f(forms\),)286 4280 y Fs(\017)46 b Fx(Constructors)30
b(for)g(top)s(ology-orien)m(ted)h(comm)m(unicators.)150
4467 y(F)-8 b(urthermore,)46 b(a)e(general)f(discussion)d(of)j(the)h
(prop)s(erties)d(of)i(non)m(blo)s(c)m(king)f(collectiv)m(e)i(op)s
(erations)150 4580 y(\(b)s(oth)29 b(sync)m(hronizing)f(and)h(non-sync)m
(hronizing\))g(b)s(elongs)f(in)h(this)f(c)m(hapter,)j(and)e(is)g
(included)e(in)i(the)150 4693 y(follo)m(wing.)3220 b
Fs(>)30 b Fq(\(July\))150 4936 y Fp(5.1.1)97 b(Choice)33
b(P)m(oints)h(fo)m(r)e(MPI-2)f(Collective)j(Chapter)150
5107 y Fx(In)h(deciding)f(ho)m(w)i(to)h(v)m(ote)h(on)e(this)f(c)m
(hapter,)j(these)e(are)h(the)f(questions)f(y)m(ou)h(should)e(ask)i(y)m
(ourself.)150 5220 y(Should)28 b Ft(MPI-2)j Fx(supp)s(ort)e(the)h
(follo)m(wing)f(p)s(erformance-orien)m(ted)h(features?,)h(en)m
(umerated)f(here:)261 5407 y(1.)46 b(async)m(hronous)30
b(collectiv)m(e)h(op)s(erations)f(\(non-blo)s(c)m(king\),)1927
5656 y(1)p eop
2 3 bop 150 -200 a Fx(2)68 b Fo(CHAPTER)29 b(5.)72 b(EXTENDED)30
b(COLLECTIVE)f(OPERA)-8 b(TIONS)29 b(AND)i(RELA)-8 b(TED)31
b(ISSUES)261 99 y Fx(2.)46 b(p)s(ersisten)m(t)30 b(collectiv)m(e)h(op)s
(erations)e(\(optimized)h(non-blo)s(c)m(king\),)261 286
y(3.)46 b(the)26 b(abilit)m(y)e(to)i(mak)m(e)g(p)s(ersisten)m(t,)g(but)
f(blo)s(c)m(king)f(op)s(erations)h(\(collectiv)m(e)h(and)f(p)s(oin)m
(t-to-p)s(oin)m(t\),)261 474 y(4.)46 b(c)m(hannels)f(for)g(high)e(p)s
(erformance)i(p)s(oin)m(t-to-p)s(oin)m(t)g(messaging,)k(remo)m(ving)c
(an)g(omission)e(in)377 587 y Ft(MPI-1)p Fx(,)261 774
y(5.)j(a)32 b(more)g(general)g(all-to-all)f(call)g(\(W-mo)s(de\),)i
(impro)m(ving)d(the)h(abilit)m(y)f(to)j(do)e(practical)h(matrix)377
887 y(transp)s(ose)755 854 y Fn(1)794 887 y Fx(,)332
1075 y(In)h(addition,)h(should)e Ft(MPI-2)j Fx(supp)s(ort)e(the)h
(follo)m(wing)f(functionalit)m(y-orien)m(ted)g(new)g(features?,)150
1188 y(en)m(umerated)e(here:)261 1375 y(1.)46 b(a)29
b(new)f(t)m(yp)s(e)g(of)g(parallel,)f(non-blo)s(c)m(king)g(library)f
(call)i(\(an)g(abstraction)g(of)h(threads)f(and)f(MPI\),)261
1563 y(2.)46 b(in-place)38 b(collectiv)m(e)h(op)s(erations)f(\()p
Ft(MPI)h Fx(bu\013ers)f(if)g(necessary)-8 b(,)42 b(instead)c(of)g
(user\))h(\(could)f(also)377 1676 y(ha)m(v)m(e)32 b(p)s(erformance)e(b)
s(ene\014ts)f(or)h(male\014ts\),)261 1864 y(3.)46 b(an)31
b(exclusiv)m(e)e(scan)i(op)s(eration,)261 2051 y(4.)46
b(b)s(etter)31 b(constructors)f(for)h(in)m(tercomm)m(unicators,)261
2239 y(5.)46 b(top)s(ology)31 b(extensions)f(and)g(impro)m(v)m(emen)m
(ts.)332 2426 y(A)36 b(further)e(functionalit)m(y)g(c)m(hoice)j(is)d
(whether)h(or)h(not)g(blo)s(c)m(king)e(and)h(non-blo)s(c)m(king)f
(collectiv)m(e)150 2539 y(op)s(erations)d(ma)m(y)i(b)s(e)e(mixed.)44
b(This)30 b(question)h(comes)i(in)d(t)m(w)m(o)j(forms,)f(b)s(ecause)g
(in)m(tercomm)m(unicators)150 2652 y(and)e(in)m(tracomm)m(unicators)g
(are)h(in)m(v)m(olv)m(ed.)40 b(Whic)m(h)30 b(of)h(these)f(approac)m
(hes)h(should)e(b)s(e)g(supp)s(orted?)261 2840 y(1.)46
b(blo)s(c)m(king)29 b(and)h(non-blo)s(c)m(king)f(calls)h(ma)m(y)h(b)s
(e)e(mixed)g(on)i(an)f(in)m(tracomm)m(unicator)261 3028
y(2.)46 b(blo)s(c)m(king)29 b(and)h(non-blo)s(c)m(king)f(calls)h(ma)m
(y)h(b)s(e)e(mixed)g(on)i(an)f(in)m(tercomm)m(unicator)416
3215 y(\(a\))46 b(on)31 b(b)s(oth)e(\\sides,")411 3361
y(\(b\))45 b(eac)m(h)32 b(\\side")e(m)m(ust)g(b)s(e)g(either)g(blo)s(c)
m(king)f(or)h(non-blo)s(c)m(king,)332 3549 y(In)41 b(addition,)h(what)g
(should)e Ft(MPI-2)i Fx(sa)m(y)g(ab)s(out)f(the)h(in)m(teraction)f(of)h
(threads)f(and)g(collectiv)m(e)150 3662 y(op)s(erations?)f(The)30
b(follo)m(wing)e(questions)i(m)m(ust)g(b)s(e)g(answ)m(ered)g
(\(exclusiv)m(ely\):)261 3849 y(1.)46 b Ft(MPI-2)41 b
Fx(supp)s(orts)c(concurrency)j(of)g(collectiv)m(es)g(p)s(er)f(comm)m
(unicator,)j(using)d(tec)m(hniques)g(dis-)377 3962 y(cussed)30
b(in)f(the)i(Miscellan)m(y)e(and)h(Thread)f(Compliance)g(c)m(hapters,)
261 4150 y(2.)46 b Ft(MPI-2)34 b Fx(recommends)e(use)h(of)g(p)s
(ersisten)m(t,)g(blo)s(c)m(king)f(collectiv)m(es)h(when)f(threads)h
(are)g(in)m(v)m(olv)m(ed,)377 4263 y(and)f(do)s(es)g(not)g(promise)f
(an)m(y)i(guaran)m(tee)g(of)g(progress)f(if)f(p)s(ersisten)m(t)g
(collectiv)m(es)i(are)f(not)h(used)377 4376 y(when)d(m)m(ultiple)e
(threads)i(are)g(presen)m(t,)261 4563 y(3.)46 b Ft(MPI-2)31
b Fx(prohibits)d(m)m(ultiple)g(collectiv)m(e)j(op)s(erations)e(on)i(a)g
(comm)m(unicator)f(via)g(threads,)-235 4656 y Fs(?)g
Fq(\(July\))p 150 4717 1440 4 v 254 4771 a(1)288 4803
y Fm(W)-6 b(e)26 b(ha)n(v)n(e)f(not)h(receiv)n(ed)f(a)i(prop)r(osal)g
(for)f(all)h(the)f(collectiv)n(es)h(to)f(ha)n(v)n(e)f(a)i(W-mo)r(de,)e
(so)h(w)n(e)g(only)g(consider)g(all-to-all)150 4894 y(in)g(this)g(c)n
(hapter;)g(otherwise,)h(w)n(e)g(w)n(ould)f(in)n(tro)r(duce)g(another)g
(m)n(ultiplicativ)n(e)f(addition)h(of)h(functions,)f(lik)n(ely)g(to)g
(b)r(e)g(to)r(o)150 4985 y(m)n(uc)n(h)e(for)i Fl(MPI-2)h
Fm(to)e(handle)h(for)g(no)n(w.)3934 92 y Fq(1)3934 205
y(2)3934 318 y(3)3934 431 y(4)3934 544 y(5)3934 657 y(6)3934
770 y(7)3934 882 y(8)3934 995 y(9)3919 1108 y(10)3919
1221 y(11)3919 1334 y(12)3919 1447 y(13)3919 1560 y(14)3919
1673 y(15)3919 1786 y(16)3919 1899 y(17)3919 2012 y(18)3919
2124 y(19)3919 2237 y(20)3919 2350 y(21)3919 2463 y(22)3919
2576 y(23)3919 2689 y(24)3919 2802 y(25)3919 2915 y(26)3919
3028 y(27)3919 3141 y(28)3919 3254 y(29)3919 3366 y(30)3919
3479 y(31)3919 3592 y(32)3919 3705 y(33)3919 3818 y(34)3919
3931 y(35)3919 4044 y(36)3919 4157 y(37)3919 4270 y(38)3919
4383 y(39)3919 4496 y(40)3919 4609 y(41)3919 4721 y(42)3919
4834 y(43)3919 4947 y(44)3919 5060 y(45)3919 5173 y(46)3919
5286 y(47)3919 5399 y(48)p eop
3 4 bop 150 -200 a Fo(5.2.)72 b(NON-BLOCKING)30 b(COLLECTIVE)f
(COMMUNICA)-8 b(TION)1102 b Fx(3)150 99 y Fu(5.2)116
b(Non-Blo)s(cking)36 b(Collective)h(Communication)150
301 y Fx(This)23 b(section)i(prop)s(oses)f(extensions)g(to)h(most)h
(collectiv)m(e)f(comm)m(unication)f(calls)g(\(notable)h(exceptions)150
414 y(are)39 b Ft(M)p Fx(PI)p 490 414 28 4 v 32 w(OP)p
655 414 V 32 w(CREA)-8 b(TE)38 b(and)g Ft(M)p Fx(PI)p
1468 414 V 32 w(OP)p 1633 414 V 32 w(FREE\))h(in)e(a)i(non-blo)s(c)m
(king)e(form.)64 b(F)-8 b(or)40 b(eac)m(h)f(collectiv)m(e)150
527 y(comm)m(unication)34 b(call)g(with)f(name)i Ft(M)p
Fx(PI)p 1597 527 V 32 w(xxx)f(there)h(is)f(to)h(b)s(e)f(a)h(corresp)s
(onding)d(non-blo)s(c)m(king)h(one,)150 640 y(named)39
b Ft(M)p Fx(PI)p 632 640 V 32 w(Ixxx.)67 b(Non-blo)s(c)m(king)38
b(collectiv)m(e)i(comm)m(unication)e(calls)h(ha)m(v)m(e)h(the)f(same)h
(syn)m(tax)g(as)150 753 y(blo)s(c)m(king)f(op)s(erations,)j(with)d(the)
h(addition)f(of)h(a)h Ft(r)p Fx(equest)f(argumen)m(t)h(in)e(the)h(last)
g(p)s(osition)e(of)j(the)150 866 y(argumen)m(t)31 b(list.)3045
b Fs(>)30 b Fq(\(July\))332 1073 y Fk(Discussion:)35
b Fj(The)27 b(bindings)h(for)f(all)g(these)h(op)r(erations)e(m)n(ust)i
(b)r(e)g(added,)f(if)i(accepted.)3750 1184 y Fs(?)h Fq(\(July\))150
1411 y Fp(5.2.1)97 b(Basic)33 b(p)m(rop)s(erties)h(of)e(non-blo)s
(cking)g(collective)h(op)s(erations)150 1583 y Fx(All)c(non-blo)s(c)m
(king)g(collectiv)m(e)i(op)s(erations)e(ha)m(v)m(e)j(the)f(follo)m
(wing)d(prop)s(erties:)261 1771 y(1.)46 b(Non-blo)s(c)m(king)30
b(collectiv)m(e)h(comm)m(unication)f(calls)f(return)g(a)i(request)g
(handle.)377 1921 y(A)69 b(non-blo)s(c)m(king)e(collectiv)m(e)i(comm)m
(unication)f(op)s(eration)g(is)g(completed)g(via)g(calls)g(to)377
2034 y Fi(\(MPI)p 575 2034 29 4 v 34 w Fs(f)p Fi(WAIT|TEST)p
Fs(gf)46 b Fi(|ANY|SOME|ALL)p Fs(g)p Fi(\))p Fx(,)27
b(as)k(for)f(a)g(non-blo)s(c)m(king)f(p)s(oin)m(t-to-p)s(oin)m(t)g
(comm)m(u-)377 2147 y(nication,)h(using)f(as)i(argumen)m(t)f(the)h
(request)f(handle)f(returned)g(b)m(y)i(the)f(collectiv)m(e)h(call.)261
2334 y(2.)46 b(Blo)s(c)m(king)25 b(and)g(non-blo)s(c)m(king)f
(collectiv)m(e)i(comm)m(unication)e(calls)h(ma)m(y)h(b)s(e)e(mixed)g
(and)h(matc)m(hed)377 2447 y(across)58 b(the)f(group)f(of)h(a)g(single)
f(comm)m(unicator)h(\(just)g(as)g(blo)s(c)m(king)e(and)h(non-blo)s(c)m
(king)377 2560 y Fi(SEND/RECV)p Fx(s)28 b(can)j(b)s(e)e(matc)m(hed\).)
377 2710 y(That)23 b(is,)g(some)g(of)f(the)h(participan)m(ts)e(in)h(a)g
(collectiv)m(e)i(comm)m(unication)d(ma)m(y)i(execute)h(a)f(blo)s(c)m
(king)377 2823 y(call,)30 b(while)f(others)h(execute)i(a)f(non-blo)s(c)
m(king)d(call.)377 3055 y Fk(Discussion:)54 b Fj(The)37
b(sub)r(committee)g(is)g(almost)f(ev)n(enly)h(split)g(on)g(this;)42
b(argumen)n(ts)35 b(for)h(and)h(against)377 3154 y(p)r(erformance)31
b(impact)g(on)h(blo)r(c)n(king)e(collectiv)n(e)h(calls)g(will)g(b)r(e)h
(levied)g(b)r(efore)f(the)h(feature)f(is)g(v)n(oted)g(on)377
3254 y(formally)-7 b(.)3056 b Fs(>)30 b Fq(\(July\))377
3404 y Fj(An)d(argumen)n(t)f(in)h(fa)n(v)n(or)e(of)h(this)h
(functionalit)n(y)g(is)g(usabilit)n(y)-7 b(.)36 b(An)27
b(argumen)n(t)e(against)h(is)h(the)g(impact)f(on)377
3517 y(the)j(blo)r(c)n(king)g(collectiv)n(e)f(p)r(erformance,)g
(whether)g(or)g(not)h(the)g(non-blo)r(c)n(king)f(calls)g(are)g
(actually)g(used.)3750 3630 y Fs(?)i Fq(\(July\))261
3912 y Fx(3.)46 b(Collectiv)m(e)33 b(comm)m(unication)f(calls)g(m)m
(ust)h(b)s(e)f(initiated)f(in)g(a)i(consisten)m(t)g(order,)h(follo)m
(wing)d(the)377 4025 y(same)g(rules)e(as)i(for)f(initiation)e(of)i(blo)
s(c)m(king)f(collectiv)m(e)i(comm)m(unication)f(calls)3133
3992 y Fn(2)3172 4025 y Fx(:)486 4238 y Fs(\017)46 b
Fx(All)27 b(non-blo)s(c)m(king)f(\(and)i(blo)s(c)m(king\))f(collectiv)m
(e)i(op)s(erations)e(m)m(ust)h(b)s(e)f(called)h(in)e(the)j(same)577
4351 y(order)i(within)e(a)i(comm)m(unicator.)44 b(Ordering)29
b(b)s(et)m(w)m(een)j(t)m(w)m(o)h(or)e(more)g(comm)m(unicators)h(is)577
4463 y(not)f(required.)486 4610 y Fs(\017)46 b Fx(There)40
b(ma)m(y)i(b)s(e)e(an)g(arbitrary)g(n)m(um)m(b)s(er)f(of)i(outstanding)
e(non-blo)s(c)m(king)g(collectiv)m(e)j(re-)577 4723 y(quests.)486
4869 y Fs(\017)k Fx(Ho)m(w)31 b(man)m(y)g(progress)f(concurren)m(tly)g
(is)f(implemen)m(tation-de\014ned)f(\(1)j(or)g(more\).)p
150 4953 1440 4 v 254 5007 a Fq(2)288 5038 y Fm(The)23
b(cost)g(of)h(relaxing)f(this)g(rule)f(is)h(tagged)h(collectiv)n(e)f
(op)r(erations,)i(whic)n(h)e(ha)n(v)n(e)f(already)h(b)r(een)f(excluded)
g(in)g Fl(MPI-1)150 5130 y Fm(and)j(remo)n(v)n(ed)g(from)g(this)h(c)n
(hapter)f(earlier)i(in)f(its)g(ev)n(olution)g(for)g(the)g(non-blo)r(c)n
(king)f(case.)-64 92 y Fq(1)-64 205 y(2)-64 318 y(3)-64
431 y(4)-64 544 y(5)-64 657 y(6)-64 770 y(7)-64 882 y(8)-64
995 y(9)-80 1108 y(10)-80 1221 y(11)-80 1334 y(12)-80
1447 y(13)-80 1560 y(14)-80 1673 y(15)-80 1786 y(16)-80
1899 y(17)-80 2012 y(18)-80 2124 y(19)-80 2237 y(20)-80
2350 y(21)-80 2463 y(22)-80 2576 y(23)-80 2689 y(24)-80
2802 y(25)-80 2915 y(26)-80 3028 y(27)-80 3141 y(28)-80
3254 y(29)-80 3366 y(30)-80 3479 y(31)-80 3592 y(32)-80
3705 y(33)-80 3818 y(34)-80 3931 y(35)-80 4044 y(36)-80
4157 y(37)-80 4270 y(38)-80 4383 y(39)-80 4496 y(40)-80
4609 y(41)-80 4721 y(42)-80 4834 y(43)-80 4947 y(44)-80
5060 y(45)-80 5173 y(46)-80 5286 y(47)-80 5399 y(48)p
eop
4 5 bop 150 -200 a Fx(4)68 b Fo(CHAPTER)29 b(5.)72 b(EXTENDED)30
b(COLLECTIVE)f(OPERA)-8 b(TIONS)29 b(AND)i(RELA)-8 b(TED)31
b(ISSUES)261 99 y Fx(4.)46 b(Insofar)30 b(as)g(collectiv)m(e)g(calls)f
(are)h(extended)g(to)h(in)m(tercomm)m(unicators)f(elsewhere)f(in)g
(this)f(c)m(hap-)377 211 y(ter,)33 b(the)f(discussion)e(here)i
(applicable)d(to)k(in)m(tracomm)m(unicators)f(shall)e(b)s(e)h(extended)
h(to)h(in)m(ter-)377 324 y(comm)m(unicators.)261 512
y(5.)46 b(Probing)29 b(of)i(collectiv)m(e)g(comm)m(unication)f(is)f
(disallo)m(w)m(ed.)261 700 y(6.)46 b(Limitations)29 b(on)h(the)h(use)f
(of)g(cancel)h(are)g(describ)s(ed)d(in)h(the)i(subsequen)m(t)e(text.)
150 943 y Fp(5.2.2)97 b(Cancel)33 b(limitations)g(and)f(rationale)150
1115 y Ft(MPI)p 318 1115 28 4 v 33 w(Cancel)597 1082
y Fn(3)673 1115 y Fx(is)j(p)s(ermitted)g(for)h(collectiv)m(e)h(op)s
(erations,)g(with)e(the)i(follo)m(wing)e(restrictions)g(and)h(re-)150
1228 y(quiremen)m(ts:)286 1415 y Fs(\017)46 b Ft(MPI)p
545 1415 V 33 w(Cancel)d Fx(is)f(a)h(collectiv)m(e)g(op)s(eration)g
(when)e(applied)g(to)j(non-blo)s(c)m(king)d(collectiv)m(e)i(op)s(er-)
377 1528 y(ations.)72 b(F)-8 b(urthermore,)43 b(there)e(is)f(no)h
(non-blo)s(c)m(king)e(form)h(of)h(this)f(op)s(eration)g(supp)s(osed)f
(b)m(y)377 1641 y Ft(MPI-2)p Fx(.)286 1829 y Fs(\017)46
b Ft(MPI)p 545 1829 V 33 w(Cancel)26 b Fx(tak)m(es)i
Ft(request)e Fx(ob)5 b(jects,)28 b(so)e(ma)m(y)h(only)e(b)s(e)g
(meaningfully)e(p)s(osed)i(on)h(collectiv)m(e)h(op-)377
1942 y(erations)e(that)h(are)g(fully)d(non-blo)s(c)m(king.)37
b(The)25 b(function)f(is)g(explicitly)f(disallo)m(w)m(ed)g(on)i
(collectiv)m(e)377 2054 y(op)s(erations)30 b(that)h(are)g(totally)f(or)
g(partially)f(blo)s(c)m(king.)286 2242 y Fs(\017)46 b
Fx(Mandates)32 b(for)f(b)s(eha)m(vior)g(of)g(cancellation)g(for)g(sp)s
(eci\014c)f(collectiv)m(e)i(op)s(erations)f(is)f(to)i(b)s(e)f(made)377
2355 y(for)f(eac)m(h)i(op)s(eration)e(where)g(non-default)f(b)s(eha)m
(vior)g(is)h(desired.)286 2543 y Fs(\017)46 b Fx(The)35
b(default)g(cancellation)g(b)s(eha)m(vior)f(for)h(non-blo)s(c)m(king)f
(collectiv)m(e)i(op)s(erations)f(is)f(to)i(ignore)377
2656 y(the)31 b(cancellation)f(request.)332 2843 y(The)47
b(actual)g(abilit)m(y)f(of)h Ft(MPI)p 1413 2843 V 33
w(Cancel)g Fx(to)h(e\013ect)h(cancellation)e(of)h(a)f(collectiv)m(e)h
(op)s(eration)f(is)150 2956 y(implemen)m(tation-dep)s(enden)m(t;)d(ho)m
(w)m(ev)m(er,)g(high)c(qualit)m(y)f(implemen)m(tations)g(are)i(mean)m
(t)h(to)f(pro)m(vide)150 3069 y(this)c(capabilit)m(y)f(on)i(calls,)h
(suc)m(h)f(as)g Ft(MPI)p 1632 3069 V 33 w(Spa)m(wn)p
Fx(,)h(where)f(the)g(op)s(eration)f(is)g(long-liv)m(ed,)i(and)e(more)
150 3182 y(lik)m(ely)29 b(to)i(b)s(e)f(sub)5 b(ject)30
b(to)h(non-lo)s(cal)e(deadlo)s(c)m(k)i(or)f(timeout)332
3295 y(Nonetheless,)23 b(this)e(c)m(hapter)h(explicitly)d(restricts)i
(the)h(scop)s(e)f(of)h(cancellation)f(capabilit)m(y)f(to)i(those)150
3408 y(op)s(erations)30 b(that)h(describ)s(e)d(the)j(seman)m(tics)g(of)
f(p)s(erforming)e(the)j(cancellation.)150 3648 y Ft(General)41
b(Rationale:)91 b Fx(Collectiv)m(e)41 b(comm)m(unication)g(calls)f(can)
i(b)s(e)f(quite)g(exp)s(ensiv)m(e.)73 b(Most)42 b(of)g(the)150
3761 y(calls)e(require)f(eac)m(h)j(pro)s(cess)e(to)h(blo)s(c)m(k)f(un)m
(til)f(all)h(pro)s(cesses)g(ha)m(v)m(e)i(reac)m(hed)f(the)g(call,)i
(resulting)38 b(in)150 3874 y(idle)33 b(time)h(when)g(pro)s(cesses)g
(are)h(not)g(tigh)m(tly)f(sync)m(hronized.)52 b(The)34
b(use)h(of)f(non-blo)s(c)m(king)f(collectiv)m(e)150 3987
y(comm)m(unication)27 b(can)g(help)f(alleviate)h(this)g(problem.)38
b(The)27 b(prop)s(osed)f(de\014nition)f(in)m(tro)s(duces)h(no)h(par-)
150 4099 y(ticular)g(implemen)m(tation)g(problems,)h(except)h(that)h(a)
f(request)f(ob)5 b(ject)30 b(ma)m(y)f(no)m(w)f(b)s(e)g(asso)s(ciated)h
(with)150 4212 y(sev)m(eral)h(p)s(oin)m(t-to-p)s(oin)m(t)e(comm)m
(unications)h(\(since)g(the)g(completion)g(of)g(a)h(collectiv)m(e)f
(comm)m(unication)150 4325 y(ma)m(y)k(require)d(sev)m(eral)i(p)s(oin)m
(t-to-p)s(oin)m(t)g(comm)m(unications)f(to)i(complete\).)46
b(Ho)m(w)m(ev)m(er,)35 b(it)c(is)g(debatable)150 4438
y(as)f(to)g(whether)e(non-blo)s(c)m(king)g(collectiv)m(e)i(op)s
(erations)f(ma)m(y)h(b)s(e)e(allo)m(w)m(ed)h(to)h(put)f(an)g(implemen)m
(tation)150 4551 y(or)39 b(p)s(erformance)g(on)m(us)g(on)g
Ft(MPI)g Fx(blo)s(c)m(king)e(collectiv)m(e)j(op)s(erations,)h(since)e
Ft(MPI-2)g Fx(is)g(to)g(b)s(e)g(strictly)150 4664 y(a)c(sup)s(erset.)51
b(The)33 b(p)s(ermissiv)m(e)g(rule)f(that)j(allo)m(ws)f(mixing)e(of)i
(blo)s(c)m(king)f(and)h(non-blo)s(c)m(king)f(across)i(a)-3985
b Fs(>)30 b Fq(\(July\))150 4777 y Fx(group)c(\(for)h(in)m(tracomm)m
(unicators\))g(is)f(seen)h(as)g(a)g(sp)s(eci\014c)f(case)i(where)e(p)s
(erformance)g(of)h(the)g(blo)s(c)m(king)150 4890 y(algorithms)i(is)h
(jeopardized.)-1405 b Fs(?)30 b Fq(\(July\))p 150 4969
1440 4 v 254 5023 a(3)288 5054 y Fm(O\013ered)25 b(as)i(v)n(erbal)e
(input)g(b)n(y)g(J.)h(Co)n(wnie)h(at)f(the)f(April,)h(1996)h(MPI)f(F)-6
b(orum)25 b(meeting.)3934 92 y Fq(1)3934 205 y(2)3934
318 y(3)3934 431 y(4)3934 544 y(5)3934 657 y(6)3934 770
y(7)3934 882 y(8)3934 995 y(9)3919 1108 y(10)3919 1221
y(11)3919 1334 y(12)3919 1447 y(13)3919 1560 y(14)3919
1673 y(15)3919 1786 y(16)3919 1899 y(17)3919 2012 y(18)3919
2124 y(19)3919 2237 y(20)3919 2350 y(21)3919 2463 y(22)3919
2576 y(23)3919 2689 y(24)3919 2802 y(25)3919 2915 y(26)3919
3028 y(27)3919 3141 y(28)3919 3254 y(29)3919 3366 y(30)3919
3479 y(31)3919 3592 y(32)3919 3705 y(33)3919 3818 y(34)3919
3931 y(35)3919 4044 y(36)3919 4157 y(37)3919 4270 y(38)3919
4383 y(39)3919 4496 y(40)3919 4609 y(41)3919 4721 y(42)3919
4834 y(43)3919 4947 y(44)3919 5060 y(45)3919 5173 y(46)3919
5286 y(47)3919 5399 y(48)p eop
5 6 bop 150 -200 a Fo(5.3.)72 b(PERSISTENT)28 b(COLLECTIVE)h(OPERA)-8
b(TIONS)1479 b Fx(5)150 99 y Fu(5.3)116 b(P)m(ersistent)39
b(collective)e(op)s(erations)150 301 y Fx(In)44 b Ft(MPI-1)p
Fx(,)49 b(it)44 b(is)f(stated)j(roughly)d(that)i(the)g(e\013ect)h(of)f
(an)f Ft(MPI)p 2495 301 28 4 v 33 w(SEND)p 2763 301 V
33 w(INIT\(\))h Fx(+)g Ft(MPI)p 3366 301 V 32 w(ST)-8
b(ART\(\))150 414 y Fx(is)45 b(insigni\014can)m(tly)d(di\013eren)m(t)j
(from)g(an)h Ft(M)p Fx(PI)p 1779 414 V 32 w(ISEND\(\),)k(and)45
b(hence)g(there)h(w)m(as)g(no)f(need)h(for)f(an)150 527
y Ft(M)p Fx(PI)p 330 527 V 32 w(ISEND)p 645 527 V 33
w(INIT\(\))30 b(at)h(all.)332 640 y(As)25 b(curren)m(tly)g(w)m(orded)g
(in)g(this)f(c)m(hapter,)k Ft(MPI-2)e Fx(will)d(ha)m(v)m(e)k(non-blo)s
(c)m(king)d(collectiv)m(e)j(op)s(erations)150 753 y(without)43
b(tags.)84 b(Curren)m(tly)-8 b(,)47 b(w)m(e)e(as)f(a)h(F)-8
b(orum)44 b(remain)g(am)m(biv)-5 b(alen)m(t)44 b(as)g(to)h(whether)f
(part)g(of)h(the)150 866 y(comm)m(unicator's)39 b(group)g(ma)m(y)h(use)
e(non-blo)s(c)m(king,)i(and)f(the)g(rest)g(blo)s(c)m(king.)65
b(W)-8 b(e)41 b(address)d(this)g(as)150 979 y(part)30
b(of)h(the)f(discussion)e(that)j(follo)m(ws)1499 946
y Fn(4)1538 979 y Fx(.)332 1092 y(A)f(short)g(de\014nition)e(of)j(the)g
(non-blo)s(c)m(king)d(collectiv)m(e)j(form)m(ulation)e(is)h(as)h(follo)
m(ws:)377 1279 y(F)-8 b(or)34 b(ev)m(ery)f(collectiv)m(e)h(op)s
(eration)e(in)f Ft(MPI-1)p Fx(,)j(a)g(non-blo)s(c)m(king)d([I])i(v)-5
b(arian)m(t)33 b(is)e(supp)s(osed,)377 1392 y(that)21
b(adds)f(a)g(non-p)s(ersisten)m(t)f(request)i(argumen)m(t,)i(whic)m(h,)
e(when)e(used)h(with)f Ft(MPI)p 3212 1392 V 32 w(W)-8
b(AIT/TEST)377 1505 y Fx(suite,)30 b(pro)m(vides)g(a)g(lo)s(cal)g
(completion)g(mec)m(hanism.)377 1656 y(F)-8 b(or)32 b(ev)m(ery)f
(collectiv)m(e)g(op)s(eration)f(p)s(osed)g(elsewhere)g(in)f
Ft(MPI-2)i Fx(\(except)h Ft(MPI)p 3107 1656 V 33 w(Cancel)p
Fx(\),)f(a)377 1768 y(non-blo)s(c)m(king)e([I])i(v)-5
b(arian)m(t)30 b(is)g(created)h(b)m(y)f(implication,)e(as)j(for)f(the)h
Ft(MPI-1)f Fx(op)s(erations.)150 1956 y(F)-8 b(or)25
b(instance,)g(if)d(in)m(tercomm)m(unicator)i(collectiv)m(e)h(op)s
(erations)e(are)h(accepted,)j(then)c(the)h(non-blo)s(c)m(king)150
2069 y(forms)30 b(of)g(those)h(op)s(erations)f(are)h(to)g(b)s(e)e
(de\014ned)h(as)g(w)m(ell.)332 2182 y(An)g(example)g(of)g(a)h(non-blo)s
(c)m(king)e(collectiv)m(e)i(is)e(as)i(follo)m(ws)2420
2149 y Fn(5)2459 2182 y Fx(:)293 2394 y Fi(MPI_IBARRIER\(comm,)43
b(request\))3750 2514 y Fs(>)30 b Fq(\(July\))150 2796
y Ft(MPI)p 318 2796 V 33 w(IBARRIER\(comm\))233 2950
y Fj(IN)312 b Ft(comm)944 b Fj(comm)n(unicator)27 b(\(handle\))150
3199 y Fi(int)47 b(MPI)p 491 3199 29 4 v 33 w(Ibarrier\(MPI)p
1100 3199 V 32 w(Comm)f(comm\))3750 3267 y Fs(?)30 b
Fq(\(July\))332 3372 y Fx(W)-8 b(e)44 b(w)m(an)m(t)g(to)f(retain)g
(this)f(strategy)i(for)f(de\014ning)e(the)i(expanse)g(of)g(collectiv)m
(e)g(non-blo)s(c)m(king)150 3485 y(op)s(erations,)32
b(as)g(there)g(are)g(man)m(y)g(in)f(other)h(c)m(hapters)g(no)m(w,)h(as)
f(w)m(ell)f(as)h(those)g(in)m(tro)s(duced)f(in)f Ft(MPI-1)150
3598 y Fx(and)g(added)f(in)h(the)g(Collectiv)m(e)g(Extensions.)332
3711 y(No)m(w,)i(it)f(is)f(prop)s(osed)g(that)i(there)f(b)s(e)g(p)s
(ersisten)m(t)f(request)h(v)m(ersions,)g(for)g(eac)m(h)h(suc)m(h)f(op)s
(eration,)150 3824 y(in)e(addition:)332 3937 y(Example:)293
4124 y Fi(MPI_BARRIER_INIT\(comm,)42 b(request\);)293
4237 y(...)293 4350 y(MPI_START\(request\);)293 4463
y(...)293 4576 y(MPI_WAIT\(request,)h(status\);)3750
4671 y Fs(>)30 b Fq(\(July\))150 4764 y Fx(with:)120
b Ft(MPI)p 641 4764 28 4 v 33 w(IBARRIER)p 1077 4764
V 32 w(INIT\(comm\))p 150 4848 1440 4 v 254 4902 a Fq(4)288
4933 y Fm(As)24 b(stated)h(ab)r(o)n(v)n(e,)f(our)h(only)f(stra)n(w)h(p)
r(oll)g(w)n(as)g(nearly)f(tied.)34 b(W)-6 b(e)24 b(ha)n(v)n(e)f(tried)i
(not)f(to)g(compromise)f Fl(MPI-1)i Fm(function-)150
5025 y(alit)n(y)31 b(b)n(y)e(adding)h Fl(MPI-2)h Fm(features,)i(and)d
(reducing)g(p)r(erformance)g(of)h Fl(MPI-1)g Fm(features)h(is)e(one)h
(suc)n(h)f(unattractiv)n(e)g(side)150 5116 y(e\013ect.)254
5176 y Fq(5)288 5207 y Fm(In)n(terestingly)-6 b(,)35
b(the)e(non-blo)r(c)n(king)g(barrier)h(sho)n(wn)f(in)g(the)g(examples)g
(w)n(as)h(originally)h(part)e(of)h Fl(MPI-1)g Fm(collectiv)n(e)150
5299 y(c)n(hapter,)26 b(and)f(has)h(made)f(its)h(reapp)r(earance)g(as)h
(part)e(of)i(a)f(consisten)n(t)g(prop)r(osal)h(for)f
Fl(MPI-2)p Fm(.)-64 92 y Fq(1)-64 205 y(2)-64 318 y(3)-64
431 y(4)-64 544 y(5)-64 657 y(6)-64 770 y(7)-64 882 y(8)-64
995 y(9)-80 1108 y(10)-80 1221 y(11)-80 1334 y(12)-80
1447 y(13)-80 1560 y(14)-80 1673 y(15)-80 1786 y(16)-80
1899 y(17)-80 2012 y(18)-80 2124 y(19)-80 2237 y(20)-80
2350 y(21)-80 2463 y(22)-80 2576 y(23)-80 2689 y(24)-80
2802 y(25)-80 2915 y(26)-80 3028 y(27)-80 3141 y(28)-80
3254 y(29)-80 3366 y(30)-80 3479 y(31)-80 3592 y(32)-80
3705 y(33)-80 3818 y(34)-80 3931 y(35)-80 4044 y(36)-80
4157 y(37)-80 4270 y(38)-80 4383 y(39)-80 4496 y(40)-80
4609 y(41)-80 4721 y(42)-80 4834 y(43)-80 4947 y(44)-80
5060 y(45)-80 5173 y(46)-80 5286 y(47)-80 5399 y(48)p
eop
6 7 bop 150 -200 a Fx(6)68 b Fo(CHAPTER)29 b(5.)72 b(EXTENDED)30
b(COLLECTIVE)f(OPERA)-8 b(TIONS)29 b(AND)i(RELA)-8 b(TED)31
b(ISSUES)233 99 y Fj(IN)312 b Ft(comm)944 b Fj(comm)n(unicator)27
b(\(handle\))233 249 y(OUT)217 b Ft(request)900 b Fj(request)27
b(\(p)r(ersisten)n(t)h(handle\))150 498 y Fi(int)47 b(MPI)p
491 498 29 4 v 33 w(Ibarrier)p 908 498 V 33 w(init\(MPI)p
1325 498 V 32 w(Comm)f(comm,)h(MPI)p 2026 498 V 33 w(Request)f
(*request\))-235 578 y Fs(?)30 b Fq(\(July\))332 671
y Fx(This)19 b(op)s(eration,)j(and)e(those)h(with)e(actual)i(data)g
(motion,)h(should)d(b)s(e)h(more)g(optimizable)f(than)i(the)150
784 y(straigh)m(t)37 b(non-blo)s(c)m(king)e(v)-5 b(ariet)m(y)d(,)39
b(b)s(ecause)d(the)h(n)m(um)m(b)s(er)e(of)h(outstanding)g(non-blo)s(c)m
(king)f(p)s(ersisten)m(t)150 896 y(handles)23 b(on)h(a)h(comm)m
(unicator)g(is)f(a)h(hin)m(t)e(to)i(the)g(implemen)m(tation)e(ab)s(out)
i(the)f(p)s(oten)m(tial)g(concurrency)150 1009 y(and)h(amoun)m(t)h(of)g
(safe)h(collectiv)m(e)f(comm)m(unication)f(space)h(needed)g(\()p
Fr(i.e.)p Fx(,)h(extra)f(con)m(texts\).)41 b(Hence,)28
b(for)150 1122 y(situations)j(where)i(non-blo)s(c)m(king)e(collectiv)m
(es)i(are)g(used)f(inside)e(lo)s(ops,)j(the)g(p)s(ersisten)m(t)e(v)-5
b(arieties)33 b(are)150 1235 y(preferable)f(to)j(the)f(nonce)f(forms.)
50 b(\(Of)34 b(course,)g(the)g(p)s(ersisten)m(t)f(forms,)h(whic)m(h)e
(ha)m(v)m(e)j(so-called)e(thin)150 1348 y(in)m(terfaces,)k(do)e(not)h
(let)f(the)h(user)e(c)m(hange)j(an)m(ything)d(except)i(for)g(con)m(ten)
m(ts)h(of)e(bu\013ers,)h(so)f(they)h(are)-3985 b Fs(>)30
b Fq(\(July\))150 1461 y Fx(less)g(\015exible.)-235 1465
y Fs(?)g Fq(\(July\))332 1574 y Fx(Imp)s(ortan)m(tly)-8
b(,)30 b(the)g(initialization)e(of)i(a)h(p)s(ersisten)m(t)e(collectiv)m
(e)i(op)s(eration)f(is)g(collectiv)m(e.)377 1786 y Fr(A)-5
b(dvic)g(e)43 b(to)h(implementors.)152 b Fx(F)-8 b(or)42
b(language)g(bindings)d(that)j(use)g(b)m(y-reference)g(parameter)377
1899 y(passing,)47 b(ha)m(v)m(e)f(w)m(e)e(explicitly)e(restricted)i(c)m
(hanges)h(to)g(just)f(bu\013er)f(con)m(ten)m(ts,)50 b(or)44
b(can)h(tags)377 2012 y(c)m(hange,)25 b(etc?)39 b(Is)21
b(there)h(canon)g(on)g(this)f(issue)f(somewhere?)38 b(\()p
Fr(End)25 b(of)g(advic)-5 b(e)25 b(to)h(implementors.)p
Fx(\))332 2225 y(The)i(existence)i(of)f(p)s(ersisten)m(t)f(collectiv)m
(e)h(op)s(erations)f(where)h(data)g(sizes)g(and)f(other)i(argumen)m(ts)
150 2338 y(are)i(frozen,)h(should)d(b)s(e)h(m)m(uc)m(h)h(more)g
(optimizable,)f(and)g(amenable)h(to)g(p)s(oly-algorithmic)e(selection.)
150 2451 y(Curren)m(tly)-8 b(,)35 b(b)s(ecause)h(argumen)m(ts)f(can)g
(c)m(hange,)j(and)d(in)f(some)h(op)s(erations,)h(need)f(not)h(b)s(e)e
(the)i(same)150 2563 y(across)26 b(all)f(pro)s(cesses,)i(it)f(w)m(ould)
e(b)s(e)h(exhorbitan)m(tly)g(exp)s(ensiv)m(e)g(to)i(try)f(to)g(c)m(ho)s
(ose)h(the)f(b)s(est)g(algorithm)150 2676 y(on)31 b(the)g(\015y)-8
b(.)42 b(The)30 b(p)s(ersisten)m(t)g(approac)m(h)h(rew)m(ards)f(reuse,)
h(and)g(op)s(ens)f(the)h(do)s(or)f(to)h(implemen)m(tations)150
2789 y(that)e(study)f(the)h(collectiv)m(e)g(problem)e(on)i(the)f
Ft(MPI)p 1940 2789 28 4 v 33 w(*)p 2018 2789 V 33 w(INIT)i
Fx(call,)e(and)g(then)g(do)h(it)f(more)h(e\016cien)m(tly)f(at)150
2902 y(eac)m(h)k Ft(MPI)p 523 2902 V 32 w(ST)-8 b(ART)p
Fx(.)150 3142 y Ft(\(Prop)s(osed)39 b(Action\))91 b Fx(In)38
b(summary)-8 b(,)39 b(there)f(should)e(b)s(e)i(p)s(ersisten)m(t)f(v)-5
b(arian)m(ts)38 b(for)f(eac)m(h)j Ft(MPI-2)e Fx(non-)150
3255 y(blo)s(c)m(king)26 b(collectiv)m(e)h(call.)39 b(These)27
b(are)g(fundamen)m(tally)e(the)i(most)g(imp)s(ortan)m(t)f(for)h(high)e
(p)s(erformance.)150 3368 y(The)34 b(non-p)s(ersisten)m(t)f(v)m
(ersions)h(should)e(b)s(e)i(pro)m(vided)f(as)h(tolerable)g(\\syn)m
(tactic)i(sugar,")g(as)f(they)f(do)150 3481 y(not)d(signi\014can)m(tly)
d(increase)i(implemen)m(tation)f(e\013ort,)j(y)m(et)f(aid)f(the)g(user)
g(considerably)-8 b(.)150 3768 y Fu(5.4)116 b(Intercommunicato)m(r)34
b(Constructo)m(rs)150 3970 y Fx(The)26 b(curren)m(t)g
Ft(MPI)g Fx(in)m(terface)h(pro)m(vides)e(only)h(t)m(w)m(o)i(in)m
(tercomm)m(unicator)e(construction)g(routines)f(\([)p
Fh(?)p Fx(]\):)286 4158 y Fs(\017)46 b Ft(M)p Fh(PI)p
574 4158 32 4 v 38 w(INTER)m(COMM)p 1304 4158 V 36 w(CREA)-9
b(TE)p Fx(,)22 b(creates)h(an)f(in)m(tercomm)m(unicator)g(from)f(t)m(w)
m(o)i(in)m(tracom-)377 4271 y(m)m(unicators,)286 4459
y Fs(\017)46 b Ft(M)p Fh(PI)p 574 4459 V 38 w(COMM)p
965 4459 V 37 w(DUP)p Fx(,)28 b(duplicates)e(an)i(existing)e(in)m
(tercomm)m(unicator)h(\(or)h(in)m(tracomm)m(unica-)377
4572 y(tor\).)150 4759 y(The)41 b(other)h(comm)m(unicator)h
(constructors,)i Ft(M)p Fx(PI)p 1939 4759 28 4 v 32 w(COMM)p
2274 4759 V 33 w(CREA)-8 b(TE)41 b(and)g Ft(M)p Fx(PI)p
3094 4759 V 32 w(COMM)p 3429 4759 V 33 w(SPLIT,)150 4872
y(curren)m(tly)28 b(apply)h(only)f(to)i(in)m(tracomm)m(unicators.)41
b(These)29 b(op)s(erations)g(in)f(fact)i(ha)m(v)m(e)h(w)m
(ell-de\014ned)c(se-)150 4985 y(man)m(tics)g(for)g(in)m(tercomm)m
(unicators.)40 b(One)27 b(other)g(in)m(tercomm)m(unicator)g
(constructor)h(for)f(partitioning)150 5098 y(in)m(tracomm)m(unicators)j
(in)m(to)h(m)m(ultiple)d(in)m(tercomm)m(unicators)i(is)f(also)h(prop)s
(osed.)3934 92 y Fq(1)3934 205 y(2)3934 318 y(3)3934
431 y(4)3934 544 y(5)3934 657 y(6)3934 770 y(7)3934 882
y(8)3934 995 y(9)3919 1108 y(10)3919 1221 y(11)3919 1334
y(12)3919 1447 y(13)3919 1560 y(14)3919 1673 y(15)3919
1786 y(16)3919 1899 y(17)3919 2012 y(18)3919 2124 y(19)3919
2237 y(20)3919 2350 y(21)3919 2463 y(22)3919 2576 y(23)3919
2689 y(24)3919 2802 y(25)3919 2915 y(26)3919 3028 y(27)3919
3141 y(28)3919 3254 y(29)3919 3366 y(30)3919 3479 y(31)3919
3592 y(32)3919 3705 y(33)3919 3818 y(34)3919 3931 y(35)3919
4044 y(36)3919 4157 y(37)3919 4270 y(38)3919 4383 y(39)3919
4496 y(40)3919 4609 y(41)3919 4721 y(42)3919 4834 y(43)3919
4947 y(44)3919 5060 y(45)3919 5173 y(46)3919 5286 y(47)3919
5399 y(48)p eop
7 8 bop 150 -200 a Fo(5.4.)62 b(INTER)m(COMMUNICA)-8
b(TOR)30 b(CONSTR)m(UCTORS)1453 b Fx(7)150 99 y Ft(MPI)p
318 99 28 4 v 33 w(COMM)p 636 99 V 31 w(CREA)-8 b(TE\()31
b(comm)p 1302 99 V 34 w(in,)g(group,)g(comm)p 1961 99
V 34 w(out)g(\))233 253 y Fj(IN)312 b Ft(comm)p 871 253
V 34 w(in)841 b Fj(original)26 b(comm)n(unicator)233
403 y(IN)312 b Ft(group)958 b Fj(group)27 b(of)g(pro)r(cess)g(to)g(b)r
(e)h(in)g(new)g(comm)n(unicator)233 553 y(OUT)217 b Ft(comm)p
871 553 V 34 w(out)785 b Fj(new)28 b(comm)n(unicator)150
802 y Fx(If)36 b Ft(c)p Fx(omm)p 489 802 V 34 w(in)f(is)h(an)h(in)m
(tercomm)m(unicator,)i(then)d(the)h(output)g(comm)m(unicator)g(is)f
(also)h(an)f(in)m(tercom-)150 915 y(m)m(unicator)42 b(where)g(the)g(lo)
s(cal)g(side)f(consists)h(only)f(of)i(those)g(pro)s(cesses)f(con)m
(tained)g(in)f Ft(g)p Fx(roup)h(\(see)150 1028 y(\014gure)d(5.1\).)69
b(The)39 b Ft(g)p Fx(roup)f(argumen)m(t)i(should)d(only)i(con)m(tain)g
(those)h(pro)s(cesses)f(in)f(the)i(lo)s(cal)e(group)150
1141 y(of)33 b(the)h(input)d(in)m(tercomm)m(unicator)i(that)h(are)f(to)
h(b)s(e)f(a)g(part)g(of)h Ft(c)p Fx(omm)p 2664 1141 V
33 w(out.)49 b(If)33 b(the)g Ft(g)p Fx(roup)g(do)s(es)g(not)150
1254 y(sp)s(ecify)38 b(at)i(least)g(one)g(pro)s(cess)f(on)g(the)h(lo)s
(cal)f(side)f(of)i(the)g(in)m(tercomm)m(unicator,)i(or)d(if)g(the)g
(calling)150 1367 y(pro)s(cess)30 b(is)f(not)i(included)d(in)h(the)h
Ft(g)p Fx(roup,)g Fg(M)p Fx(PI)p 1802 1367 V 32 w(COMM)p
2137 1367 V 33 w(NULL)g(is)g(returned.)750 3774 y @beginspecial
36.500000 @llx 316.500000 @lly 516.500000 @urx 774.500000
@ury 2880 @rwi @setspecial
/MAV 300 dict def
MAV begin
/useClip true def
/top 0 def
/left 1 def
/bottom 2 def
/right 3 def
/CM 6 array def
/CTM 6 array def
/CTMR 6 array def
/MTC 6 array def
/blimit 1500 def
/bcnt 0 def
/rbox 8 array def
/segbox 8 array def
/bbox1 4 array def
/c1 3 array def
/c2 3 array def
/d 3 array def
/delta 3 array def
/mycurrentrgbcolor 3 array def
/ulx 0 def
/uly 1 def
/llx 2 def
/lly 3 def
/urx 4 def
/ury 5 def
/lrx 6 def
/lry 7 def
/sp [0 0] def
/ep [0 0] def
/bbox 4 array def
/pbox 4 array def
/scrnProc currentscreen 3 1 roll pop pop def
/currentcolorscreen where {
begin
currentcolorscreen
end
3 1 roll pop pop
4 2 roll pop pop
5 -2 roll pop pop
6 -2 roll pop pop
/kProc exch def
/bProc exch def
/gProc exch def
/rProc exch def
} if
/Max {2 copy gt {pop}{exch pop} ifelse} bind def
/Min {2 copy lt {pop}{exch pop} ifelse} bind def
/cellPenW 72.0 /currentcolorscreen where
{begin currentcolorscreen end pop pop
10 1 roll pop pop 8 1 roll pop pop
6 1 roll pop pop Max Max Max }
{currentscreen pop pop} ifelse div 2.0 div def
/rect {
/saveobj save def
R PC PF LC SS
saveobj restore
} bind def
/R {
newpath
pbox astore pop
0 792 translate 1 -1 scale CTMR currentmatrix pop exch translate
/objectCord mstore def
pbox right get 2 div
dup pbox left get exch sub
pbox left 3 -1 roll put
dup pbox right 3 -1 roll put
pbox bottom get 2 div
dup pbox top get exch sub
pbox top 3 -1 roll put
dup pbox bottom 3 -1 roll put
translate
CTM currentmatrix pop
57.3 mul rotate
RT
} bind def
/SaveScreenBW {
currentscreen
/scrnProc exch def
/scrnAngle exch def
/scrnFreq exch def
} bind def
/RestoreScreenBW {
scrnFreq scrnAngle MAV /scrnProc get setscreen
} bind def
/SetFreqAngleBW {
currentscreen
3 1 roll
pop pop
setscreen
} bind def
/SaveScreenColor {
currentcolorscreen
/grayProc exch def
/grayAngle exch def
/grayFreq exch def
/bProc exch def
/bAngle exch def
/bFreq exch def
/gProc exch def
/gAngle exch def
/gFreq exch def
/rProc exch def
/rAngle exch def
/rFreq exch def
} bind def
/RestoreColorScreen {
rFreq rAngle MAV /rProc get gFreq gAngle MAV /gProc get bFreq bAngle MAV /bProc get grayFreq grayAngle MAV /grayProc get setcolorscreen
} bind def
/SetFreqAngleColor {
currentcolorscreen
3 1 roll pop pop
4 2 roll pop pop
5 -2 roll pop pop
6 -2 roll pop pop
4 1 roll
6 1 roll
8 1 roll
10 1 roll
setcolorscreen
} bind def
/initmsaverestore {
userdict begin
/mdict 10 dict def
mdict begin
/mindex -1 def
/mstacksize 25 def
/mstack mstacksize array def
/incmindex {
/mindex mindex 1 add def
} bind def
/decmindex {
/mindex mindex 1 sub def
} bind def
/checkmindex {
mindex 0 lt {
(%ERROR: msave/mrestore stack underflow: Offending command 'mrestore'
) print flush
stop
}
{
mindex mstacksize ge {
(%ERROR: msave/mrestore stack overflow: Offending command 'msave'
) print flush
stop
} if
} ifelse
} bind def
/mpush {
incmindex
checkmindex
mstack mindex
3 -1 roll put
} bind def
/mpop {
checkmindex
mstack mindex get
decmindex
} bind def
end
end
} bind def
/msave {
mdict begin
matrix currentmatrix mpush
end
} bind def
/mrestore {
mdict begin
mpop setmatrix
end
} bind def
/msavelevel {
mdict begin
mindex 1 add
end
} bind def
/mstore {
matrix currentmatrix
} bind def
/AutoSizeY {
0 0 pl
dup 3 1 roll
4 -1 roll
add
pl exch pop
exch sub
} bind def
/pl {
transform
0.25 sub round 0.25 add exch
0.25 sub round 0.25 add exch
itransform
} bind def
/pll {
transform
round exch
round exch
itransform
} bind def
/pr {
dtransform
round exch
round exch
idtransform
} bind def
/m {
pl moveto
} bind def
/l {
pl lineto
} bind def
/c {
pl curveto
} bind def
/rm {
pr rmoveto
} bind def
/rl {
pr rlineto
} bind def
/ar {
5 -2 roll pl
5 2 roll
arc
} bind def
/an {
5 -2 roll pl
5 2 roll
arcn
} bind def
/MakePatternFont {
/FontDict 20 dict def
FontDict begin
/FontName exch def
/Encoding exch def
/FontMatrix [1 0 0 1 0 0 ] def
/FontType 3 def
/FontBBox [ 0 0 1 1 ] def
/PatternDict exch def
/RenderPattern {
patternDict exch get
exec
} bind def
/BuildChar {
exch begin
1 0 0 0 1 1 setcachedevice
Encoding exch get RenderPattern
end
} bind def
FontName FontDict definefont pop
end
} bind def
/SnapToPattenGrid
{
exch
dup 0 lt {
1 index sub
} if
1 index
div truncate
mul
} bind def
/FillPatternString {
dup length
1 sub
0 1 3 -1 roll {
2 index
2 index
3 -2 roll
put
} for
pop pop
} bind def
/AutoSizeY {
0.0 exch dtransform
round
idtransform exch pop
} bind def
/AutoSizeX {
0.0 dtransform
exch
round
exch
idtransform pop
} bind def
/AutoCellSize {
AutoSizeY
exch
AutoSizeX
exch
} bind def
/CheckPath {
false
{ pop pop pop true exit}
{ pop pop pop true exit}
{ pop pop pop pop pop pop pop true exit}
{ pop true exit}
pathforall
} bind def
/PatternFill { % patternCharacter
/patternString 1 string def
/cm mstore def
patternMatrix setmatrix
1 1 AutoCellSize
dup 0 eq { pop 1} if
exch
dup 0 eq { pop 1} if
exch
/patternSize exch 24.0 mul def
/PatternSizeX exch 24.0 mul patternString length mul def
/flaterror 0 def
patternString FillPatternString
gsave
flaterror 1 add setflat
flattenpath
pathbbox
grestore
psy add flaterror add psy SnapToPattenGrid
exch psx add flaterror add psx SnapToPattenGrid
3 -1 roll flaterror sub psy SnapToPattenGrid
4 -1 roll flaterror sub psx SnapToPattenGrid
4 2 roll pll
4 2 roll pll
/llxsnap exch def
/llysnap exch def
/urxsnap exch def
/urysnap exch def
gsave
useClip true eq {clip}{eoclip} ifelse newpath
/PatternFont findfont [psx 0.0 0.0 psy 0.0 0.0] makefont setfont
llysnap patternSize urysnap {
llxsnap exch moveto
llxsnap PatternSizeX urxsnap {
pop
patternString show
%currentpoint am
} for
} bind for
grestore
cm setmatrix
} bind def % End 'PatternFill'
/DefaultPatternFont {
/cm mstore def
patternMatrix setmatrix
1 1 AutoCellSize
dup 0 eq { pop 1} if
exch
dup 0 eq { pop 1} if
exch
/psy exch iSizeY mul def
/psx exch iSizeX mul def
/patternDict 64 dict def
patternDict begin
/NotDef {} def
/LiteDiagLines {
iSizeX iSizeY false [iSizeX 0.0 0.0 iSizeY -1.0 mul 0.0 iSizeY]
{pat}
imagemask
} bind def
end
/CustEncoding 256 array def
0 255 1 {
CustEncoding exch /NotDef put
} bind for
CustEncoding 65 /LiteDiagLines put
patternDict CustEncoding /PatternFont MakePatternFont
/pathSegProc {
strokepath
CheckPath {
65 PatternFill newpath
} if
} bind def
cm setmatrix
} bind def
/XRound {
dup
3 -1 roll
exch mul round
exch div
} bind def
/RoundMatrix {
/i 0 def
dup {
100000.0 XRound
1 index
exch i exch put
/i i 1 add def
} forall
} bind def
/GetBoxesRatio {
3 -1 roll sub
7 1 roll
exch sub
6 1 roll
3 -1 roll sub
5 1 roll
exch sub
4 1 roll
3 -1 roll div
3 1 roll
exch div
exch
} bind def
/T {792 exch sub} bind def
/sx 0 def
/sy 0 def
/ex 0 def
/ey 0 def
/lw 0 def
/siz 0 def
/U {gsave 0 setlinecap
/lw siz 0.078125 mul def /ey exch neg def /ex exch def /sy exch neg def /sx exch def
fontkind plain eq
{
lw siz 0.0119444 mul sub setlinewidth sx sy moveto ex ey lineto stroke
}
{
currentdict /outlineFontSize known outlineFontSize 0 gt and
{
fontkind outline eq
{
/sy sy 0.0119444 siz mul sub def
/ey ey 0.0119444 siz mul sub def
gsave
1 1 1 setrgbcolor lw siz 0.0119444 mul sub setlinewidth sx sy moveto ex ey lineto stroke
grestore
lw siz 0.0119444 mul sub setlinewidth sx sy moveto ex ey lineto
strokepath 0.0119444 siz mul setlinewidth stroke
} if
fontkind shadow eq fontkind outlineshadow eq or
{
/sy sy 0.0358332 siz mul sub def
/ey ey 0.0358332 siz mul sub def
lw setlinewidth
lw 2 div sx add sy
lw 2 div sub moveto
lw 2 div ex add ey
lw 2 div sub lineto stroke
gsave
1 1 1 setrgbcolor lw siz 0.0119444 mul sub setlinewidth sx sy moveto ex ey lineto stroke
grestore
lw siz 0.0119444 mul sub setlinewidth sx sy moveto ex ey lineto
strokepath 0.0119444 siz mul setlinewidth stroke
} if
} if
} ifelse
grestore} bind def
/plain 1 def
/outline 2 def
/shadow 3 def
/outlineshadow 4 def
/fess {
currentdict /outlineFontSize known {
/outlineFontSize 2 index def
} if
findfont exch dup /siz exch def scalefont setfont
} bind def
/SHDW {gsave siz oldfontname fess siz 0.055 mul x add y siz 0.05 mul sub moveto c show grestore} def
/NRML {gsave 1 1 1 setrgbcolor siz oldfontname fess x y moveto c show grestore siz /Outline fess x y moveto c show} def
/S {
fontkind plain eq {neg moveto show} if
fontkind outline eq {neg /y exch def /x exch def /c exch def NRML} if
fontkind shadow eq {neg /y exch def /x exch def /c exch def SHDW NRML} if
fontkind outlineshadow eq {neg /y exch def /x exch def /c exch def SHDW NRML} if
} bind def
/F {
/fontkind exch def
fontkind plain eq {fess} if
fontkind outline eq {dup /oldfontname exch def exch dup /siz exch def exch OLF} if
fontkind shadow eq {dup /oldfontname exch def exch dup /siz exch def exch OLF} if
fontkind outlineshadow eq {dup /oldfontname exch def exch dup /siz exch def exch OLF} if
} bind def
/makeoutlinedict 15 dict def
/makeoutlinefont
{
makeoutlinedict begin
/uniqueid exch def
/strokewidth exch def
/newfontname exch def
/basefontname exch def
/basefontdict basefontname findfont def
/numentries basefontdict maxlength 1 add def
basefontdict /UniqueID known not
{/numentries numentries 1 add def} if
/outfontdict numentries dict def
basefontdict
{
exch dup /FID ne {exch outfontdict 3 1 roll put} {pop pop} ifelse
}forall
outfontdict /FontName newfontname put
outfontdict /PaintType 2 put
outfontdict /StrokeWidth strokewidth put
outfontdict /UniqueID uniqueid put
newfontname outfontdict definefont pop
end
}def
/UID {
findfont dup /UniqueID known
{/UniqueID get 1 add}
{pop 1}
ifelse
} def
/OLF {
dup
/Outline
1000 62 div
4 -1 roll
UID
/outlineFontSize 5 index def
makeoutlinefont
/Outline findfont exch scalefont setfont
} def
/CopyEncoding {
findfont
/Encoding get
dup length array
/tarrayz exch def
tarrayz 0
3 -1 roll
putinterval
tarrayz
} bind def
/Re-encode {
dup length array copy
/eap 0 def
exch {
dup type /integertype eq {
/eap exch def
} {
1 index
exch
eap exch
put
/eap eap 1 add def
} ifelse
} forall
} bind def
/EncodeFont {
findfont dup
length dict
begin
{ 1 index /FID ne
{ def }
{ pop pop } ifelse
} forall
/FontName exch def
/Encoding exch def
FontName currentdict
end
definefont pop
} bind def
/clip2pathbbox {
/magicNum linewidth 2 div 1 2 sqrt div mul def
pathbbox
/urymn exch magicNum add def
/urxmn exch magicNum add def
/llymn exch magicNum sub def
/llxmn exch magicNum sub def
newpath llxmn llymn moveto llxmn urymn lineto urxmn urymn lineto urxmn llymn lineto
closepath clip newpath
} bind def
/Line {
MAV /LC get length 0 ne
{
gsave
newpath
MAV /ArrowType get length 0 eq
MAV /SD get length 0 eq and
{2 setlinecap /UseClip {clip2pathbbox} def }
{0 setlinecap /UseClip {} def } ifelse
0 792 translate
1 -1 scale
CTM currentmatrix pop
/yStart exch def /xStart exch def /yEnd exch def /xEnd exch def /linewidth exch def
MAV /ArrowType get length 0 eq xStart xEnd ne yStart yEnd ne and and
{xStart yStart moveto xEnd yEnd lineto UseClip xStart yStart moveto xEnd yEnd lineto}
{xStart yStart moveto xEnd yEnd lineto} ifelse
linewidth setlinewidth SD strokepath
CheckPath {LC PF ArrowType} if
grestore
}
{pop pop pop pop pop} ifelse
} bind def
/CompensateForStroke {
sin currentlinewidth mul
exch
cos currentlinewidth mul
dup 0 translate
4 -1 roll exch 2.0 mul sub
3 1 roll
2.0 mul sub
} bind def
/arrowdict 10 dict def
arrowdict begin
/SwallowTail {
newpath
0.0 0.0 moveto
1.0 -.5 lineto
.666 0.0 lineto
1.0 .5 lineto
closepath
} bind def
/Triangular {
newpath
0.0 0.0 moveto
1.0 -.5 lineto
1.0 .5 lineto
closepath
} bind def
/OpenTri {
newpath
1.0 0.5 moveto
0.0 0.0 lineto
1.0 -0.5 lineto
} bind def
/ClosedTri {
newpath
1.0 0.5 moveto
0.0 0.0 lineto
1.0 -0.5 lineto
closepath
} bind def
/SlashBar {
newpath
0.5 -.5 moveto
-.5 0.5 lineto
} bind def
/Dot {
newpath
0.5 0.0 moveto
0 0 1 0 360 arc
closepath
} bind def
/ExtSlashBar {
newpath
1.0 -.5 moveto
0.0 0.5 lineto
} bind def
end
/ScaleArrowHead {
0 0 4 -2 roll
0 0 1 1
8 -4 roll GetBoxesRatio
scale
} bind def
/DrawArrowHead {
gsave
[] 0 setdash
currentpoint translate rotate
{
4 copy
gsave
initmatrix
100 200 translate
msave
ScaleArrowHead pop
arrowdict exch get exec
mrestore
strokepath
0 0 3 index 3 index
pathbbox 8 4 roll
GetBoxesRatio
4 2 roll
grestore
3 index 1.0 exch sub
6 -1 roll
{
2 index mul
0 translate
}{
pop
} ifelse
msave
ScaleArrowHead scale
arrowdict exch get exec
mrestore
strokepath
} {
msave
ScaleArrowHead
arrowdict exch get exec
mrestore
} ifelse
CheckPath {
LC PF
} if
grestore
} bind def
/SR {
pbox left get pbox top get moveto
pbox right get pbox top get lineto
pbox right get pbox bottom get lineto
pbox left get pbox bottom get lineto
closepath
} bind def
/RR1 {
pbox top get pbox bottom get sub abs
pbox left get pbox right get sub abs
2 copy lt {
Min
2 div dup dup dup
pbox left get add pbox left 3 -1 roll put
pbox right get exch sub pbox right 3 -1 roll put
pbox left get pbox bottom get moveto
pbox right get 0 3 -1 roll 90 -90 arcn
pbox left get 0 3 -1 roll -90 90 arcn closepath
} {
Min
2 div dup dup dup
pbox bottom get exch sub pbox bottom 3 -1 roll put
pbox top get add pbox top 3 -1 roll put
pbox left get pbox bottom get moveto
pbox left get add pbox top get
2 index
180 0 arc
dup pbox left get add pbox bottom get
3 -1 roll 0 180 arc
closepath
} ifelse
} bind def
/RR2 {
dup dup dup dup dup dup dup dup
pbox top get add pbox top 3 -1 roll put
pbox left get add pbox left 3 -1 roll put
pbox bottom get exch sub pbox bottom 3 -1 roll put
pbox right get exch sub pbox right 3 -1 roll put
pbox bottom get add pbox left get exch moveto
pbox right get pbox bottom get 3 -1 roll 90 0 arcn
pbox right get pbox top get 3 -1 roll 0 270 arcn
pbox left get pbox top get 3 -1 roll 270 180 arcn
pbox left get pbox bottom get 3 -1 roll 180 90 arcn closepath
} bind def
/E {
1.415 setmiterlimit
CM currentmatrix pop
pbox right get pbox left get sub abs dup
pbox bottom get pbox top get sub abs dup 3 -1 roll
lt {exch dup 3 -1 roll exch div 1 exch}
{dup 3 -1 roll exch div 1} ifelse scale
0 0 3 -1 roll 2 div 0 360 arc closepath
CM setmatrix
} bind def
/StripFromFront {
dup length
2 index sub
3 1 roll
exch 3 -1 roll
getinterval
} bind def
/MakePathArray {
/k 0 def
{/k k 1 add def pop pop}{/k k 1 add def pop pop}{/k k 1 add def pop pop pop pop pop pop}{/k k 1 add def }pathforall
k array
/k 0 def
{{moveto} 3 array astore 1 index k 3 -1 roll put /k k 1 add def}
{{lineto} 3 array astore 1 index k 3 -1 roll put /k k 1 add def}
{{curveto} 7 array astore 1 index k 3 -1 roll put /k k 1 add def}
{{closepath} 1 array astore 1 index k 3 -1 roll put /k k 1 add def}
pathforall
}bind def
/MakeFlatPathArray {
/k 0 def
{/k k 1 add def pop pop}{/k k 1 add def pop pop}{pop pop pop pop pop pop}{}pathforall
k array
/k 0 def
{{moveto} 3 array astore 1 index k 3 -1 roll put /k k 1 add def}
{{lineto} 3 array astore 1 index k 3 -1 roll put /k k 1 add def}
{ pop pop pop pop pop pop}
{}
pathforall
}bind def
/FractionalLine {
2 index sub
.00001 mul
exch
3 index sub
.00001 mul
4 -1 roll add
3 1 roll
add
} bind def
/calcLineLength {
exch
4 -1 roll
sub
dup mul
3 1 roll exch
sub
dup mul
add sqrt
} bind def
/InitTotalLineLength {
/oldY exch def
/oldX exch def
theDash aload pop currentLineLength add setdash
} bind def
/AccumeLineLength {
3 copy pop
2 copy
oldX oldY
4 2 roll calcLineLength
/segmentLength exch def
/currentLineLength currentLineLength segmentLength add def
/oldY exch def
/oldX exch def
} bind def
/DecumeLastLineLength {
/currentLineLength currentLineLength segmentLength sub def
} bind def
/DrawFlattendSegment {
/pointCount 2 def
dup 0 lt { pop 0 } if
fpc
3 1 roll
2 index
1 index
gt {
2 copy get
dup length
dup 3 eq {
pop
dup 0 get
exch 1 get
2 copy InitTotalLineLength
m
} {
} ifelse
} {
pop 1 index
} ifelse
dup 1 add
3 index
exch sub
dup 10 gt { pop 10} if
{
1 add
2 copy
get aload pop
AccumeLineLength
exec
} repeat
3 1 roll pop pop
DecumeLastLineLength
} bind def
/IncFPC {
fpc add
/fpc exch def
} bind def
/DrawFlatPathArray {
fpc
0 {
dup 2 index
1 sub
lt {
flatPathArray exch
newpath
1 sub DrawFlattendSegment
gsave
pathSegProc
grestore
newpath
}
{
pop pop
exit
} ifelse
} loop
} bind def
/RecordFirstSubSegment {
closepathArray 0 pathArray 0 get
put
closepathArray 1
pathArray 0 get aload pop pop
pathArray 1 get dup length 3 eq {
aload pop pop
} {
newpath
0 0 moveto
aload pop exec
/segmentArray flattenpath MakeFlatPathArray def
segmentArray 1 get aload pop pop
} ifelse
FractionalLine {lineto} 3 array astore
put
} bind def
/AppendClosePath {
closepathArray 0 get 2 {lineto} put
flatPathArray fpc closepathArray 0 get put
1 IncFPC
flatPathArray fpc closepathArray 1 get put
1 IncFPC
} bind def
/RecordCurrentDash {
/theDash
currentdash 2 array astore def
/currentLineLength 0 def
} bind def
/PatternStroke {
0 setlinecap
RecordCurrentDash
/saveFlat currentflat def
.5 setflat
/pathArray MakePathArray def
/closepathArray 2 array def
/pathLength pathArray length def
/flatPathArray 513 array def
/currentLineLength 0 def
/fpc 0 def
pathArray pathLength 1 sub get
length 1 eq {
/usingClosepath true def
RecordFirstSubSegment
/pathLength pathLength 1 sub def
} {
/usingClosepath false def
} ifelse
0 1 pathLength 1 sub {
pathArray exch get
dup length 3 eq {
fpc 1 add 512 ge {
DrawFlatPathArray
fpc 2 ge {
flatPathArray flatPathArray fpc 2 sub get 0 put
flatPathArray flatPathArray fpc 1 sub get 1 put
/fpc 2 def
}{
/fpc 0 def
} ifelse
} if
flatPathArray exch fpc exch put
1 IncFPC
} {
dup length 7 eq {
newpath
/nToStrip 0 def
fpc 1 gt {
flatPathArray fpc 2 sub get aload pop pop m
flatPathArray fpc 1 sub get aload pop exec
/nToStrip 2 def
} {
fpc 1 eq {
flatPathArray fpc 1 sub get aload pop exec
/nToStrip 2 def
} if
} ifelse
aload pop exec
/segmentArray flattenpath MakeFlatPathArray def
/segmentArray nToStrip segmentArray StripFromFront def
segmentArray length fpc add 512 lt {
flatPathArray fpc segmentArray putinterval
segmentArray length IncFPC
} {
DrawFlatPathArray
fpc 1 gt {
flatPathArray flatPathArray fpc 2 sub get 0 exch put
flatPathArray flatPathArray fpc 1 sub get 1 exch put
/fpc 2 def
}{
/fpc 0 def
} ifelse
segmentArray length 512 lt {
flatPathArray fpc segmentArray putinterval
segmentArray length IncFPC
} {
segmentArray length
/exitLoop false def
0
{
2 copy sub
dup 500 gt {
pop 500
} {
/exitLoop true def
} ifelse
segmentArray 2 index 2 index getinterval
flatPathArray fpc 3 -1 roll putinterval
dup IncFPC
add
exitLoop {
exit
} {
DrawFlatPathArray
fpc 1 gt {
flatPathArray flatPathArray fpc 2 sub get 0 exch put
flatPathArray flatPathArray fpc 1 sub get 1 exch put
/fpc 2 def
}{
/fpc 0 def
} ifelse
} ifelse
} loop
} ifelse
} ifelse
} if
} ifelse
} for
fpc 0 gt {
usingClosepath {
AppendClosePath
} if
DrawFlatPathArray
} if
saveFlat setflat
} bind def

/rampdelta {
/len 0 3 -1 roll add def
/i2 0 3 -1 roll add def
/i1 0 3 -1 roll add def
/nRampSteps len cellPenW div cvi 1 add dup 512 gt {pop 512} if def
/rampPenW len nRampSteps div def
rampColors i1 get aload pop c1 astore pop
rampColors i2 get aload pop c2 astore pop
c2 0 get c1 0 get sub nRampSteps div d 0 3 -1 roll put
c2 1 get c1 1 get sub nRampSteps div d 1 3 -1 roll put
c2 2 get c1 2 get sub nRampSteps div d 2 3 -1 roll put
d aload pop
} bind def
/adddelta {
d astore pop
mycurrentrgbcolor c1 copy pop
c1 0 get d 0 get add c2 0 3 -1 roll put
c1 1 get d 1 get add c2 1 3 -1 roll put
c1 2 get d 2 get add c2 2 3 -1 roll put
c2 aload pop setrgbcolor
c2 mycurrentrgbcolor copy pop
} bind def
/rampline {
segbox ulx get rampPenW add segbox ulx 3 -1 roll put
segbox llx get rampPenW add segbox llx 3 -1 roll put
segbox ulx get segbox uly get moveto
segbox llx get segbox lly get lineto
delta aload pop adddelta stroke
}bind def
/slantrampseg {
gsave newpath
segbox ulx get segbox urx get sub abs
rampdelta delta astore pop
segbox ulx get rampPenW .5 mul sub segbox ulx 3 -1 roll put
segbox llx get rampPenW .5 mul sub segbox llx 3 -1 roll put
rampColors exch get aload mycurrentrgbcolor copy pop setrgbcolor
rampPenW setlinewidth nRampSteps {rampline} repeat
grestore
}bind def
/flipramp {
rampColors 0 get rampColors 3 get rampColors 0 3 -1 roll put rampColors 3 3 -1 roll put
rampColors 1 get rampColors 2 get rampColors 1 3 -1 roll put rampColors 2 3 -1 roll put
} bind def
/leftrbox {
rbox segbox copy pop
rbox urx get rbox ulx get sub
flipRatio mul dup
segbox ulx get add segbox urx 3 -1 roll put
segbox llx get add segbox lrx 3 -1 roll put
} bind def
/rightrbox {
rbox segbox copy pop
rbox urx get rbox ulx get sub
flipRatio mul dup
segbox ulx get add segbox ulx 3 -1 roll put
segbox llx get add segbox llx 3 -1 roll put
} bind def
/drawslantramp {
segbox urx get segbox ulx get sub 3 div dup dup dup dup dup dup dup dup dup
segbox ulx get add segbox urx 3 -1 roll put
segbox llx get add segbox lrx 3 -1 roll put
segbox aload pop
0 0 1 slantrampseg
segbox astore pop
segbox ulx get add segbox ulx 3 -1 roll put
segbox llx get add segbox llx 3 -1 roll put
segbox urx get add segbox urx 3 -1 roll put
segbox lrx get add segbox lrx 3 -1 roll put
segbox aload pop
1 1 2 slantrampseg
segbox astore pop
segbox ulx get add segbox ulx 3 -1 roll put
segbox llx get add segbox llx 3 -1 roll put
segbox urx get add segbox urx 3 -1 roll put
segbox lrx get add segbox lrx 3 -1 roll put
2 2 3 slantrampseg
}bind def
/tan {
dup sin exch cos div
}bind def
/rampbox {
pbox top get dup rbox uly 3 -1 roll put rbox ury 3 -1 roll put
pbox left get dup rbox ulx 3 -1 roll put rbox llx 3 -1 roll put
pbox bottom get dup rbox lly 3 -1 roll put rbox lry 3 -1 roll put
pbox right get dup rbox urx 3 -1 roll put rbox lrx 3 -1 roll put
}bind def
/LoadSegBox {
4 copy
segbox llx 6 -1 roll put
segbox lly 5 -1 roll put
segbox lrx 4 -1 roll put
segbox lry 6 -1 roll put
segbox urx 5 -1 roll put
segbox ury 3 -1 roll put
segbox ulx 4 -1 roll put
segbox uly 3 -1 roll put
} bind def
/TransToCenter {
gsave
flattenpath
pathbbox
grestore
2 index
sub 2.0 div exch
3 index sub 2.0 div
4 -1 roll add
3 1 roll add
translate
} bind def
/RotRampGrad {
gsave
TransToCenter
-1.0 mul 180.0 add rotate
flattenpath
pathbbox
clip
newpath
LoadSegBox
flipRatio 1 lt dup{flipramp}if flipRatio 0 gt and
{
/flipRatio 1.0 flipRatio sub def
segbox rbox copy pop leftrbox drawslantramp flipramp rightrbox drawslantramp
}
{drawslantramp} ifelse
grestore
} bind def
/bbg {
pbox exch get
} bind def
/DR { % Directional ramp
/workingMatrix mstore def
objectCord setmatrix
flipramp
gsave
flattenpath pathbbox
grestore
pbox bottom 3 -1 roll put pbox right 3 -1 roll put pbox top 3 -1 roll put pbox left 3 -1 roll put
rampAngle RotRampGrad
RF
workingMatrix setmatrix
}bind def
/ramparc {
gsave
circum rampdelta delta astore pop
/rampPenW 60.0 nRampSteps div def
/ang1 exch rampAngle sub def
/ang2 rampPenW ang1 add def
rampColors exch get aload mycurrentrgbcolor copy pop setrgbcolor 1 setlinewidth
nRampSteps {ramparcseg}repeat
grestore
}bind def
/ramparcseg {
newpath
rampcenter aload pop moveto
rampcenter aload pop rampradius ang2 ang1 arcn fill
/ang1 ang2 def
/ang2 ang2 rampPenW add def
delta aload pop adddelta
}bind def
/GetRadius {
rbox urx get rbox llx get sub 2 div rampcenter 0 get abs add dup mul
rbox lly get rbox ury get sub 2 div rampcenter 1 get abs add dup mul
add sqrt
} bind def
/circularRamp {
rampbox
/rampradius GetRadius def
CalcCrcm
flipramp
0 0 0 1 ramparc
1 60 1 2 ramparc
2 120 2 3 ramparc
flipramp
0 180 0 1 ramparc
1 240 1 2 ramparc
2 300 2 3 ramparc
}bind def
/GetCircumf {
2.0 mul 3.1415926 mul
} bind def
/CalcCrcm {
rampradius GetCircumf
/circum exch 6.0 div def
} bind def
/CR {
gsave
clip
MTC currentmatrix pop
CTM setmatrix
flattenpath
pathbbox pbox bottom 3 -1 roll put pbox right 3 -1 roll put pbox top 3 -1 roll put pbox left 3 -1 roll put
pbox left get pbox right get sub abs 2 div
pbox left get add rampcenter 0 get add rampcenter 0 3 -1 roll put
pbox top get pbox bottom get sub abs 2 div
pbox top get add rampcenter 1 get add rampcenter 1 3 -1 roll put
circularRamp
MTC setmatrix
grestore
RF
}bind def
/SBR {
gsave
clip
/workingMatrix mstore def
objectCord setmatrix
flattenpath
/BaseBox pathbbox 4 array astore def
/len BaseBox 2 get BaseBox 0 get sub dup mul
BaseBox 3 get BaseBox 1 get sub dup mul
add sqrt
12.0 div
def
/EndBox
BaseBox aload pop
3 -1 roll sub
3 1 roll
exch sub
/dbx exch def
/dby exch def
BaseBox aload pop pop pop
/blly exch def
/bllx exch def
sbox 0 get 100.0 div dby mul blly add
sbox 1 get 100.0 div dbx mul bllx add
sbox 2 get 100.0 div dby mul blly add
sbox 3 get 100.0 div dbx mul bllx add
exch
4 -2 roll
exch
4 -2 roll
4 array astore
def
BaseBox EndBox ShapeBurst
workingMatrix setmatrix
grestore
} bind def
/GetBoxCenter {
2 index
sub 2.0 div
3 -1 roll add
3 1 roll
1 index sub
2.0 div add
exch
} bind def
/GetInterBox {
/boxInter exch def
4 1 7 {
-1 roll
7 index
} for
sub boxInter mul
8 -1 roll add
7 1 roll
sub boxInter mul
7 -1 roll add
6 1 roll
sub boxInter mul
6 -1 roll add
5 1 roll
sub boxInter mul
5 -1 roll add
4 1 roll
} bind def
/GetBoxCenterDeltas {
GetBoxCenter
6 2 roll
GetBoxCenter
3 -1 roll exch sub
3 1 roll sub
exch
} bind def
/GetBoxCornerDeltas {
pop pop
4 2 roll pop pop
3 -1 roll sub
3 1 roll exch sub
exch
} bind def
/getpath {
/k 0 def
{/k k 1 add def pop pop}{/k k 1 add def pop pop}{/k k 1 add def pop pop pop pop pop pop}{}pathforall
/pfa k array def
/k 0 def
{{moveto} 3 array astore pfa k 3 -1 roll put /k k 1 add def}
{{lineto} 3 array astore pfa k 3 -1 roll put /k k 1 add def}
{{curveto} 7 array astore pfa k 3 -1 roll put /k k 1 add def}
{}pathforall
}bind def
/ShapeBurst {
getpath
newpath
/SBERect exch 4 array copy def
/SBBRect exch 4 array copy def
/interRect1 SBBRect aload pop SBERect aload pop .3333333 GetInterBox 4 array astore def
/interRect2 SBBRect aload pop SBERect aload pop .6666666 GetInterBox 4 array astore def
0 0 1 SBBRect interRect1 ShapeBurstSeg
msave
interRect1 0 get interRect1 1 get translate
SBBRect aload pop interRect1 aload pop GetBoxesRatio scale
SBBRect 0 get -1.0 mul SBBRect 1 get -1.0 mul translate
1 1 2 interRect1 interRect2 ShapeBurstSeg
mrestore
msave
interRect2 0 get interRect2 1 get translate
SBBRect aload pop interRect2 aload pop GetBoxesRatio scale
SBBRect 0 get -1.0 mul SBBRect 1 get -1.0 mul translate
2 2 3 interRect2 SBERect ShapeBurstSeg
mrestore
} bind def
/ShapeBurstSeg {
/sbr1 exch 4 array copy def
/sbr0 exch 4 array copy def
/blx sbr0 0 get def
/bly sbr0 1 get def
len rampdelta delta astore pop
sbr0 aload pop sbr1 aload pop GetBoxesRatio
/ratioY exch def
/ratioX exch def
sbr0 aload pop sbr1 aload pop GetBoxCornerDeltas
/dlly exch nRampSteps div def
/dllx exch nRampSteps div def
/scaleStepX 1.0 ratioX sub nRampSteps div def
/scaleStepY 1.0 ratioY sub nRampSteps div def
/currentScaleX 1.0 scaleStepX sub def
/currentScaleY 1.0 scaleStepY sub def
/translationX blx dllx add def
/translationY bly dlly add def
/currentScaleX 1.0 def
/currentScaleY 1.0 def
/translationX blx def
/translationY bly def
rampColors exch get aload mycurrentrgbcolor copy pop setrgbcolor
nRampSteps {
msave
translationX translationY translate
currentScaleX currentScaleY scale
blx -1.0 mul bly -1.0 mul translate
pfa {aload pop exec} forall fill
delta aload pop adddelta
/translationX translationX dllx add def
/translationY translationY dlly add def
/currentScaleX currentScaleX scaleStepX sub def
/currentScaleY currentScaleY scaleStepY sub def
mrestore
} repeat
msave
translationX translationY translate
currentScaleX currentScaleY scale
blx -1.0 mul bly -1.0 mul translate
pfa {aload pop exec} forall fill
mrestore
} bind def
initmsaverestore
/tctm matrix currentmatrix def
tctm RoundMatrix setmatrix
/patternMatrix mstore def
10 setmiterlimit
2 setlinecap
newpath
%
%tLayer
%
%@BeginRuler
%@ 9.0000000000000000000e+0 viewScale
%@ 1.1111111111111110490e-1 realScale
%@ 8 realDivs
%@ 0000 rulerFormat
%@EndRuler
%@BeginRect
/RT {13.500 RR2} def
/SD {} def
/SS {setlinewidth SD stroke} def
/LC { /setcmykcolor where
{begin 0.000 0.000 0.000 1.000 setcmykcolor end} {0.000 0.000 0.000 setrgbcolor} ifelse
} def
/PC { /setcmykcolor where
{begin 0.000 0.000 0.000 0.000 setcmykcolor end} {1.000 1.000 1.000 setrgbcolor} ifelse
} def
/PF {gsave fill grestore} def
1.000 0 18.000 37.000 0.000 0.000 457.000 479.000 rect
%@EndRect
%@BeginRuler
%@ 9.0000000000000000000e+0 viewScale
%@ 1.1111111111111110490e-1 realScale
%@ 8 realDivs
%@ 0000 rulerFormat
%@EndRuler
%@BeginRect
/RT {13.500 RR2} def
/SD {} def
/SS {setlinewidth SD stroke} def
/LC { /setcmykcolor where
{begin 0.000 0.000 0.000 1.000 setcmykcolor end} {0.000 0.000 0.000 setrgbcolor} ifelse
} def
/PF {} def
/PC {} def
1.000 0 71.000 54.500 0.000 0.000 178.000 446.000 rect
%@EndRect
%@BeginRuler
%@ 9.0000000000000000000e+0 viewScale
%@ 1.1111111111111110490e-1 realScale
%@ 8 realDivs
%@ 0000 rulerFormat
%@EndRuler
%@BeginOval
/RT {E} def
/SD {} def
/SS {setlinewidth SD stroke} def
/LC { /setcmykcolor where
{begin 0.000 0.000 0.000 0.960 setcmykcolor end} {0.039 0.039 0.039 setrgbcolor} ifelse
} def
/PC { /setcmykcolor where
{begin 0.000 0.000 0.000 0.239 setcmykcolor end} {0.760 0.760 0.760 setrgbcolor} ifelse
} def
/PF {gsave fill grestore} def
1.000 0 124.500 353.500 0.000 0.000 81.000 84.000 rect
%@EndOval
%
%tfBegGrp
%
%@BeginRuler
%@ 9.0000000000000000000e+0 viewScale
%@ 1.1111111111111110490e-1 realScale
%@ 8 realDivs
%@ 0000 rulerFormat
%@EndRuler
%@BeginOval
/RT {E} def
/SD {} def
/SS {setlinewidth SD stroke} def
/LC { /setcmykcolor where
{begin 0.000 0.000 0.000 1.000 setcmykcolor end} {0.000 0.000 0.000 setrgbcolor} ifelse
} def
/PF {DR} def
/flipRatio 1.000 def
/rampAngle 225 def
/rampColors [[0.000 0.000 0.000] [0.333 0.333 0.333] [0.666 0.666 0.666] [1.000 1.000 1.000]] def
/PC {} def
/RF {} def
1.000 0 139.000 384.000 0.000 0.000 8.000 8.000 rect
%@EndOval
%@BeginText
save
[ 39/quotesingle 96/grave 128/Adieresis/Aring/Ccedilla/Eacute/Ntilde/Odieresis
/Udieresis/aacute/agrave/acircumflex/adieresis/atilde/aring/ccedilla/eacute
/egrave/ecircumflex/edieresis/iacute/igrave/icircumflex/idieresis/ntilde
/oacute/ograve/ocircumflex/odieresis/otilde/uacute/ugrave/ucircumflex
/udieresis/dagger/degree/cent/sterling/section/bullet/paragraph/germandbls
/registered/copyright/trademark/acute/dieresis/.notdef/AE/Oslash
/.notdef/plusminus/.notdef/.notdef/yen/mu/.notdef/.notdef
/.notdef/.notdef/.notdef/ordfeminine/ordmasculine/.notdef/ae/oslash
/questiondown/exclamdown/logicalnot/.notdef/florin/.notdef/.notdef
/guillemotleft/guillemotright/ellipsis/.notdef/Agrave/Atilde/Otilde/OE/oe
/endash/emdash/quotedblleft/quotedblright/quoteleft/quoteright/divide
/.notdef/ydieresis/Ydieresis/fraction/currency/guilsinglleft/guilsinglright
/fi/fl/daggerdbl/periodcentered/quotesinglbase/quotedblbase/perthousand
/Acircumflex/Ecircumflex/Aacute/Edieresis/Egrave/Iacute/Icircumflex
/Idieresis/Igrave/Oacute/Ocircumflex/.notdef/Ograve/Uacute/Ucircumflex
/Ugrave/dotlessi/circumflex/tilde/macron/breve/dotaccent/ring/cedilla
/hungarumlaut/ogonek/caron]
StandardEncoding Re-encode /_Times-Roman /Times-Roman EncodeFont

%@BeginRect
/RT {SR} def
/LC {} def
/SS {pop} def
/PF {} def
/PC {} def
0.000 0 123.500 384.500 0.000 0.000 16.000 7.000 rect
%@EndRect
gsave
388.000 131.500 T translate
0.0 rotate
1 1 scale
14.000 (_Times-Roman) plain F
/setcmykcolor where
{begin 0.000 0.000 0.000 1.000 setcmykcolor end} {0.000 0.000 0.000 setrgbcolor} ifelse

(0) -3.000 4.000 S
grestore
%@EndText
%
%tfEndGrp
%
%
%tfBegGrp
%
%@BeginRuler
%@ 9.0000000000000000000e+0 viewScale
%@ 1.1111111111111110490e-1 realScale
%@ 8 realDivs
%@ 0000 rulerFormat
%@EndRuler
%@BeginOval
/RT {E} def
/SD {} def
/SS {setlinewidth SD stroke} def
/LC { /setcmykcolor where
{begin 0.000 0.000 0.000 1.000 setcmykcolor end} {0.000 0.000 0.000 setrgbcolor} ifelse
} def
/PF {DR} def
/flipRatio 1.000 def
/rampAngle 225 def
/rampColors [[0.000 0.000 0.000] [0.333 0.333 0.333] [0.666 0.666 0.666] [1.000 1.000 1.000]] def
/PC {} def
/RF {} def
1.000 0 140.500 437.000 0.000 0.000 7.000 8.000 rect
%@EndOval
%@BeginRuler
%@ 9.0000000000000000000e+0 viewScale
%@ 1.1111111111111110490e-1 realScale
%@ 8 realDivs
%@ 0000 rulerFormat
%@EndRuler
%@BeginOval
/RT {E} def
/SD {} def
/SS {setlinewidth SD stroke} def
/LC { /setcmykcolor where
{begin 0.000 0.000 0.000 1.000 setcmykcolor end} {0.000 0.000 0.000 setrgbcolor} ifelse
} def
/PF {} def
/PC {} def
1.000 0 146.000 441.000 0.000 0.000 0.000 1.000 rect
%@EndOval
%@BeginText
%@BeginRect
/RT {SR} def
/LC {} def
/SS {pop} def
/PF {} def
/PC {} def
0.000 0 125.500 437.500 0.000 0.000 16.000 7.000 rect
%@EndRect
gsave
441.000 133.500 T translate
0.0 rotate
1 1 scale
14.000 (_Times-Roman) fess
/setcmykcolor where
{begin 0.000 0.000 0.000 1.000 setcmykcolor end} {0.000 0.000 0.000 setrgbcolor} ifelse

(1) -3.000 4.000 S
grestore
%@EndText
%
%tfEndGrp
%
%@BeginRuler
%@ 9.0000000000000000000e+0 viewScale
%@ 1.1111111111111110490e-1 realScale
%@ 8 realDivs
%@ 0000 rulerFormat
%@EndRuler
%@BeginOval
/RT {E} def
/SD {} def
/SS {setlinewidth SD stroke} def
/LC { /setcmykcolor where
{begin 0.000 0.000 0.000 1.000 setcmykcolor end} {0.000 0.000 0.000 setrgbcolor} ifelse
} def
/PF {DR} def
/flipRatio 1.000 def
/rampAngle 225 def
/rampColors [[0.000 0.000 0.000] [0.333 0.333 0.333] [0.666 0.666 0.666] [1.000 1.000 1.000]] def
/PC {} def
/RF {} def
1.000 0 192.500 388.000 0.000 0.000 8.000 8.000 rect
%@EndOval
%@BeginText
%@BeginRect
/RT {SR} def
/LC {} def
/SS {pop} def
/PF {} def
/PC {} def
0.000 0 177.500 388.500 0.000 0.000 16.000 7.000 rect
%@EndRect
gsave
392.000 185.500 T translate
0.0 rotate
1 1 scale
14.000 (_Times-Roman) fess
/setcmykcolor where
{begin 0.000 0.000 0.000 1.000 setcmykcolor end} {0.000 0.000 0.000 setrgbcolor} ifelse

(3) -3.000 4.000 S
grestore
%@EndText
%
%tfBegGrp
%
%@BeginRuler
%@ 9.0000000000000000000e+0 viewScale
%@ 1.1111111111111110490e-1 realScale
%@ 8 realDivs
%@ 0000 rulerFormat
%@EndRuler
%@BeginOval
/RT {E} def
/SD {} def
/SS {setlinewidth SD stroke} def
/LC { /setcmykcolor where
{begin 0.000 0.000 0.000 1.000 setcmykcolor end} {0.000 0.000 0.000 setrgbcolor} ifelse
} def
/PF {DR} def
/flipRatio 1.000 def
/rampAngle 225 def
/rampColors [[0.000 0.000 0.000] [0.333 0.333 0.333] [0.666 0.666 0.666] [1.000 1.000 1.000]] def
/PC {} def
/RF {} def
1.000 0 168.500 364.000 0.000 0.000 7.000 8.000 rect
%@EndOval
%@BeginText
%@BeginRect
/RT {SR} def
/LC {} def
/SS {pop} def
/PF {} def
/PC {} def
0.000 0 153.500 365.500 0.000 0.000 16.000 7.000 rect
%@EndRect
gsave
369.000 161.500 T translate
0.0 rotate
1 1 scale
14.000 (_Times-Roman) fess
/setcmykcolor where
{begin 0.000 0.000 0.000 1.000 setcmykcolor end} {0.000 0.000 0.000 setrgbcolor} ifelse

(4) -3.000 4.000 S
grestore
%@EndText
%
%tfEndGrp
%
%
%tfBegGrp
%
%@BeginRuler
%@ 9.0000000000000000000e+0 viewScale
%@ 1.1111111111111110490e-1 realScale
%@ 8 realDivs
%@ 0000 rulerFormat
%@EndRuler
%@BeginOval
/RT {E} def
/SD {} def
/SS {setlinewidth SD stroke} def
/LC { /setcmykcolor where
{begin 0.000 0.000 0.000 1.000 setcmykcolor end} {0.000 0.000 0.000 setrgbcolor} ifelse
} def
/PF {DR} def
/flipRatio 1.000 def
/rampAngle 225 def
/rampColors [[0.000 0.000 0.000] [0.333 0.333 0.333] [0.666 0.666 0.666] [1.000 1.000 1.000]] def
/PC {} def
/RF {} def
1.000 0 195.000 440.000 0.000 0.000 8.000 7.000 rect
%@EndOval
%@BeginText
%@BeginRect
/RT {SR} def
/LC {} def
/SS {pop} def
/PF {} def
/PC {} def
0.000 0 179.500 440.500 0.000 0.000 16.000 7.000 rect
%@EndRect
gsave
444.000 187.500 T translate
0.0 rotate
1 1 scale
14.000 (_Times-Roman) fess
/setcmykcolor where
{begin 0.000 0.000 0.000 1.000 setcmykcolor end} {0.000 0.000 0.000 setrgbcolor} ifelse

(2) -3.000 4.000 S
grestore
%@EndText
%
%tfEndGrp
%
%@BeginRuler
%@ 9.0000000000000000000e+0 viewScale
%@ 1.1111111111111110490e-1 realScale
%@ 8 realDivs
%@ 0000 rulerFormat
%@EndRuler
%@BeginOval
/RT {E} def
/SD {} def
/SS {setlinewidth SD stroke} def
/LC { /setcmykcolor where
{begin 0.000 0.000 0.000 1.000 setcmykcolor end} {0.000 0.000 0.000 setrgbcolor} ifelse
} def
/PF {} def
/PC {} def
1.000 0 90.500 343.500 0.000 0.000 143.000 147.000 rect
%@EndOval
%
%tfBegGrp
%
%@BeginRuler
%@ 9.0000000000000000000e+0 viewScale
%@ 1.1111111111111110490e-1 realScale
%@ 8 realDivs
%@ 0000 rulerFormat
%@EndRuler
%@BeginOval
/RT {E} def
/SD {} def
/SS {setlinewidth SD stroke} def
/LC { /setcmykcolor where
{begin 0.000 0.000 0.000 0.960 setcmykcolor end} {0.039 0.039 0.039 setrgbcolor} ifelse
} def
/PC { /setcmykcolor where
{begin 0.000 0.000 0.000 0.239 setcmykcolor end} {0.760 0.760 0.760 setrgbcolor} ifelse
} def
/PF {gsave fill grestore} def
1.000 0 122.500 119.000 0.000 0.000 79.000 83.000 rect
%@EndOval
%
%tfBegGrp
%
%@BeginRuler
%@ 9.0000000000000000000e+0 viewScale
%@ 1.1111111111111110490e-1 realScale
%@ 8 realDivs
%@ 0000 rulerFormat
%@EndRuler
%@BeginOval
/RT {E} def
/SD {} def
/SS {setlinewidth SD stroke} def
/LC { /setcmykcolor where
{begin 0.000 0.000 0.000 1.000 setcmykcolor end} {0.000 0.000 0.000 setrgbcolor} ifelse
} def
/PF {DR} def
/flipRatio 1.000 def
/rampAngle 225 def
/rampColors [[0.000 0.000 0.000] [0.333 0.333 0.333] [0.666 0.666 0.666] [1.000 1.000 1.000]] def
/PC {} def
/RF {} def
1.000 0 139.500 170.000 0.000 0.000 7.000 8.000 rect
%@EndOval
%@BeginText
%@BeginRect
/RT {SR} def
/LC {} def
/SS {pop} def
/PF {} def
/PC {} def
0.000 0 123.500 171.000 0.000 0.000 16.000 7.000 rect
%@EndRect
gsave
174.500 131.500 T translate
0.0 rotate
1 1 scale
14.000 (_Times-Roman) fess
/setcmykcolor where
{begin 0.000 0.000 0.000 1.000 setcmykcolor end} {0.000 0.000 0.000 setrgbcolor} ifelse

(1) -3.500 4.000 S
grestore
%@EndText
%
%tfEndGrp
%
%
%tfBegGrp
%
%@BeginRuler
%@ 9.0000000000000000000e+0 viewScale
%@ 1.1111111111111110490e-1 realScale
%@ 8 realDivs
%@ 0000 rulerFormat
%@EndRuler
%@BeginOval
/RT {E} def
/SD {} def
/SS {setlinewidth SD stroke} def
/LC { /setcmykcolor where
{begin 0.000 0.000 0.000 1.000 setcmykcolor end} {0.000 0.000 0.000 setrgbcolor} ifelse
} def
/PF {DR} def
/flipRatio 1.000 def
/rampAngle 225 def
/rampColors [[0.000 0.000 0.000] [0.333 0.333 0.333] [0.666 0.666 0.666] [1.000 1.000 1.000]] def
/PC {} def
/RF {} def
1.000 0 183.000 171.500 0.000 0.000 8.000 7.000 rect
%@EndOval
%@BeginText
%@BeginRect
/RT {SR} def
/LC {} def
/SS {pop} def
/PF {} def
/PC {} def
0.000 0 168.500 171.500 0.000 0.000 16.000 8.000 rect
%@EndRect
gsave
175.500 176.500 T translate
0.0 rotate
1 1 scale
14.000 (_Times-Roman) fess
/setcmykcolor where
{begin 0.000 0.000 0.000 1.000 setcmykcolor end} {0.000 0.000 0.000 setrgbcolor} ifelse

(2) -4.000 4.000 S
grestore
%@EndText
%
%tfEndGrp
%
%
%tfBegGrp
%
%@BeginRuler
%@ 9.0000000000000000000e+0 viewScale
%@ 1.1111111111111110490e-1 realScale
%@ 8 realDivs
%@ 0000 rulerFormat
%@EndRuler
%@BeginOval
/RT {E} def
/SD {} def
/SS {setlinewidth SD stroke} def
/LC { /setcmykcolor where
{begin 0.000 0.000 0.000 1.000 setcmykcolor end} {0.000 0.000 0.000 setrgbcolor} ifelse
} def
/PF {DR} def
/flipRatio 1.000 def
/rampAngle 225 def
/rampColors [[0.000 0.000 0.000] [0.333 0.333 0.333] [0.666 0.666 0.666] [1.000 1.000 1.000]] def
/PC {} def
/RF {} def
1.000 0 207.000 123.000 0.000 0.000 8.000 8.000 rect
%@EndOval
%@BeginText
%@BeginRect
/RT {SR} def
/LC {} def
/SS {pop} def
/PF {} def
/PC {} def
0.000 0 191.500 123.000 0.000 0.000 16.000 7.000 rect
%@EndRect
gsave
126.500 199.500 T translate
0.0 rotate
1 1 scale
14.000 (_Times-Roman) fess
/setcmykcolor where
{begin 0.000 0.000 0.000 1.000 setcmykcolor end} {0.000 0.000 0.000 setrgbcolor} ifelse

(3) -3.500 4.000 S
grestore
%@EndText
%
%tfEndGrp
%
%
%tfBegGrp
%
%@BeginRuler
%@ 9.0000000000000000000e+0 viewScale
%@ 1.1111111111111110490e-1 realScale
%@ 8 realDivs
%@ 0000 rulerFormat
%@EndRuler
%@BeginOval
/RT {E} def
/SD {} def
/SS {setlinewidth SD stroke} def
/LC { /setcmykcolor where
{begin 0.000 0.000 0.000 1.000 setcmykcolor end} {0.000 0.000 0.000 setrgbcolor} ifelse
} def
/PF {DR} def
/flipRatio 1.000 def
/rampAngle 225 def
/rampColors [[0.000 0.000 0.000] [0.333 0.333 0.333] [0.666 0.666 0.666] [1.000 1.000 1.000]] def
/PC {} def
/RF {} def
1.000 0 114.000 125.000 0.000 0.000 7.000 8.000 rect
%@EndOval
%@BeginText
%@BeginRect
/RT {SR} def
/LC {} def
/SS {pop} def
/PF {} def
/PC {} def
0.000 0 98.000 126.000 0.000 0.000 16.000 7.000 rect
%@EndRect
gsave
129.500 106.000 T translate
0.0 rotate
1 1 scale
14.000 (_Times-Roman) fess
/setcmykcolor where
{begin 0.000 0.000 0.000 1.000 setcmykcolor end} {0.000 0.000 0.000 setrgbcolor} ifelse

(0) -3.500 4.000 S
grestore
%@EndText
%
%tfEndGrp
%
%
%tfBegGrp
%
%@BeginRuler
%@ 9.0000000000000000000e+0 viewScale
%@ 1.1111111111111110490e-1 realScale
%@ 8 realDivs
%@ 0000 rulerFormat
%@EndRuler
%@BeginOval
/RT {E} def
/SD {} def
/SS {setlinewidth SD stroke} def
/LC { /setcmykcolor where
{begin 0.000 0.000 0.000 1.000 setcmykcolor end} {0.000 0.000 0.000 setrgbcolor} ifelse
} def
/PF {DR} def
/flipRatio 1.000 def
/rampAngle 225 def
/rampColors [[0.000 0.000 0.000] [0.333 0.333 0.333] [0.666 0.666 0.666] [1.000 1.000 1.000]] def
/PC {} def
/RF {} def
1.000 0 134.500 81.000 0.000 0.000 7.000 8.000 rect
%@EndOval
%@BeginText
%@BeginRect
/RT {SR} def
/LC {} def
/SS {pop} def
/PF {} def
/PC {} def
0.000 0 117.500 82.500 0.000 0.000 16.000 7.000 rect
%@EndRect
gsave
86.000 125.500 T translate
0.0 rotate
1 1 scale
14.000 (_Times-Roman) fess
/setcmykcolor where
{begin 0.000 0.000 0.000 1.000 setcmykcolor end} {0.000 0.000 0.000 setrgbcolor} ifelse

(5) -3.000 4.000 S
grestore
%@EndText
%
%tfEndGrp
%
%@BeginRuler
%@ 9.0000000000000000000e+0 viewScale
%@ 1.1111111111111110490e-1 realScale
%@ 8 realDivs
%@ 0000 rulerFormat
%@EndRuler
%@BeginOval
/RT {E} def
/SD {} def
/SS {setlinewidth SD stroke} def
/LC { /setcmykcolor where
{begin 0.000 0.000 0.000 1.000 setcmykcolor end} {0.000 0.000 0.000 setrgbcolor} ifelse
} def
/PF {DR} def
/flipRatio 1.000 def
/rampAngle 225 def
/rampColors [[0.000 0.000 0.000] [0.333 0.333 0.333] [0.666 0.666 0.666] [1.000 1.000 1.000]] def
/PC {} def
/RF {} def
1.000 0 183.500 83.000 0.000 0.000 7.000 8.000 rect
%@EndOval
%@BeginRuler
%@ 9.0000000000000000000e+0 viewScale
%@ 1.1111111111111110490e-1 realScale
%@ 8 realDivs
%@ 0000 rulerFormat
%@EndRuler
%@BeginOval
/RT {E} def
/SD {} def
/SS {setlinewidth SD stroke} def
/LC { /setcmykcolor where
{begin 0.000 0.000 0.000 1.000 setcmykcolor end} {0.000 0.000 0.000 setrgbcolor} ifelse
} def
/PF {} def
/PC {} def
1.000 0 87.500 66.000 0.000 0.000 143.000 147.000 rect
%@EndOval
%@BeginText
%@BeginRect
/RT {SR} def
/LC {} def
/SS {pop} def
/PF {} def
/PC {} def
0.000 0 169.000 83.000 0.000 0.000 16.000 7.000 rect
%@EndRect
gsave
86.500 177.000 T translate
0.0 rotate
1 1 scale
14.000 (_Times-Roman) fess
/setcmykcolor where
{begin 0.000 0.000 0.000 1.000 setcmykcolor end} {0.000 0.000 0.000 setrgbcolor} ifelse

(4) -3.500 4.000 S
grestore
%@EndText
%
%tfEndGrp
%
%
%tfBegGrp
%
%@BeginRuler
%@ 9.0000000000000000000e+0 viewScale
%@ 1.1111111111111110490e-1 realScale
%@ 8 realDivs
%@ 0000 rulerFormat
%@EndRuler
%@BeginOval
/RT {E} def
/SD {} def
/SS {setlinewidth SD stroke} def
/LC { /setcmykcolor where
{begin 0.000 0.000 0.000 1.000 setcmykcolor end} {0.000 0.000 0.000 setrgbcolor} ifelse
} def
/PF {DR} def
/flipRatio 1.000 def
/rampAngle 225 def
/rampColors [[0.000 0.000 0.000] [0.333 0.333 0.333] [0.666 0.666 0.666] [1.000 1.000 1.000]] def
/PC {} def
/RF {} def
1.000 0 407.000 138.000 0.000 0.000 7.000 8.000 rect
%@EndOval
%@BeginText
%@BeginRect
/RT {SR} def
/LC {} def
/SS {pop} def
/PF {} def
/PC {} def
0.000 0 403.000 128.666 0.000 0.000 16.000 7.333 rect
%@EndRect
gsave
132.333 411.000 T translate
0.0 rotate
1 1 scale
14.000 (_Times-Roman) fess
/setcmykcolor where
{begin 0.000 0.000 0.000 1.000 setcmykcolor end} {0.000 0.000 0.000 setrgbcolor} ifelse

(1) -2.833 4.000 S
grestore
%@EndText
%@BeginRuler
%@ 9.0000000000000000000e+0 viewScale
%@ 1.1111111111111110490e-1 realScale
%@ 8 realDivs
%@ 0000 rulerFormat
%@EndRuler
%@BeginOval
/RT {E} def
/SD {} def
/SS {setlinewidth SD stroke} def
/LC { /setcmykcolor where
{begin 0.000 0.000 0.000 1.000 setcmykcolor end} {0.000 0.000 0.000 setrgbcolor} ifelse
} def
/PF {DR} def
/flipRatio 1.000 def
/rampAngle 225 def
/rampColors [[0.000 0.000 0.000] [0.333 0.333 0.333] [0.666 0.666 0.666] [1.000 1.000 1.000]] def
/PC {} def
/RF {} def
1.000 0 341.500 138.619 0.000 0.000 7.000 8.380 rect
%@EndOval
%@BeginText
%@BeginRect
/RT {SR} def
/LC {} def
/SS {pop} def
/PF {} def
/PC {} def
0.000 0 338.500 127.666 0.000 0.000 16.000 7.000 rect
%@EndRect
gsave
131.166 346.500 T translate
0.0 rotate
1 1 scale
14.000 (_Times-Roman) fess
/setcmykcolor where
{begin 0.000 0.000 0.000 1.000 setcmykcolor end} {0.000 0.000 0.000 setrgbcolor} ifelse

(0) -2.833 4.000 S
grestore
%@EndText
%@BeginRuler
%@ 9.0000000000000000000e+0 viewScale
%@ 1.1111111111111110490e-1 realScale
%@ 8 realDivs
%@ 0000 rulerFormat
%@EndRuler
%@BeginOval
/RT {E} def
/SD {} def
/SS {setlinewidth SD stroke} def
/LC { /setcmykcolor where
{begin 0.000 0.000 0.000 1.000 setcmykcolor end} {0.000 0.000 0.000 setrgbcolor} ifelse
} def
/PF {} def
/PC {} def
1.000 0 298.000 62.500 0.000 0.000 143.000 154.000 rect
%@EndOval
%
%tfEndGrp
%
%@BeginRuler
%@ 9.0000000000000000000e+0 viewScale
%@ 1.1111111111111110490e-1 realScale
%@ 8 realDivs
%@ 0000 rulerFormat
%@EndRuler
%@BeginOval
/RT {E} def
/SD {} def
/SS {setlinewidth SD stroke} def
/LC { /setcmykcolor where
{begin 0.000 0.000 0.000 1.000 setcmykcolor end} {0.000 0.000 0.000 setrgbcolor} ifelse
} def
/PF {} def
/PC {} def
1.000 0 377.500 378.000 0.000 0.000 0.000 1.000 rect
%@EndOval
%@BeginRuler
%@ 9.0000000000000000000e+0 viewScale
%@ 1.1111111111111110490e-1 realScale
%@ 8 realDivs
%@ 0000 rulerFormat
%@EndRuler
%@BeginOval
/RT {E} def
/SD {} def
/SS {setlinewidth SD stroke} def
/LC { /setcmykcolor where
{begin 0.000 0.000 0.000 1.000 setcmykcolor end} {0.000 0.000 0.000 setrgbcolor} ifelse
} def
/PF {DR} def
/flipRatio 1.000 def
/rampAngle 225 def
/rampColors [[0.000 0.000 0.000] [0.333 0.333 0.333] [0.666 0.666 0.666] [1.000 1.000 1.000]] def
/PC {} def
/RF {} def
1.000 0 331.500 426.619 0.000 0.000 8.000 8.380 rect
%@EndOval
%@BeginText
%@BeginRect
/RT {SR} def
/LC {} def
/SS {pop} def
/PF {} def
/PC {} def
0.000 0 394.000 476.071 0.000 0.000 16.000 9.428 rect
%@EndRect
gsave
480.785 402.000 T translate
0.0 rotate
1 1 scale
14.000 (_Times-Roman) fess
/setcmykcolor where
{begin 0.000 0.000 0.000 1.000 setcmykcolor end} {0.000 0.000 0.000 setrgbcolor} ifelse

(0) -4.428 4.000 S
grestore
%@EndText
%@BeginRuler
%@ 9.0000000000000000000e+0 viewScale
%@ 1.1111111111111110490e-1 realScale
%@ 8 realDivs
%@ 0000 rulerFormat
%@EndRuler
%@BeginOval
/RT {E} def
/SD {} def
/SS {setlinewidth SD stroke} def
/LC { /setcmykcolor where
{begin 0.000 0.000 0.000 1.000 setcmykcolor end} {0.000 0.000 0.000 setrgbcolor} ifelse
} def
/PF {DR} def
/flipRatio 1.000 def
/rampAngle 225 def
/rampColors [[0.000 0.000 0.000] [0.333 0.333 0.333] [0.666 0.666 0.666] [1.000 1.000 1.000]] def
/PC {} def
/RF {} def
1.000 0 415.000 430.619 0.000 0.000 7.000 8.380 rect
%@EndOval
%@BeginText
%@BeginRect
/RT {SR} def
/LC {} def
/SS {pop} def
/PF {} def
/PC {} def
0.000 0 343.000 428.166 0.000 0.000 16.000 7.333 rect
%@EndRect
gsave
431.833 351.000 T translate
0.0 rotate
1 1 scale
14.000 (_Times-Roman) fess
/setcmykcolor where
{begin 0.000 0.000 0.000 1.000 setcmykcolor end} {0.000 0.000 0.000 setrgbcolor} ifelse

(1) -3.333 4.000 S
grestore
%@EndText
%@BeginRuler
%@ 9.0000000000000000000e+0 viewScale
%@ 1.1111111111111110490e-1 realScale
%@ 8 realDivs
%@ 0000 rulerFormat
%@EndRuler
%@BeginOval
/RT {E} def
/SD {} def
/SS {setlinewidth SD stroke} def
/LC { /setcmykcolor where
{begin 0.000 0.000 0.000 1.000 setcmykcolor end} {0.000 0.000 0.000 setrgbcolor} ifelse
} def
/PF {DR} def
/flipRatio 1.000 def
/rampAngle 225 def
/rampColors [[0.000 0.000 0.000] [0.333 0.333 0.333] [0.666 0.666 0.666] [1.000 1.000 1.000]] def
/PC {} def
/RF {} def
1.000 0 397.500 464.666 0.000 0.000 8.000 7.333 rect
%@EndOval
%@BeginText
%@BeginRect
/RT {SR} def
/LC {} def
/SS {pop} def
/PF {} def
/PC {} def
0.000 0 411.000 420.166 0.000 0.000 16.000 7.333 rect
%@EndRect
gsave
423.833 419.000 T translate
0.0 rotate
1 1 scale
14.000 (_Times-Roman) fess
/setcmykcolor where
{begin 0.000 0.000 0.000 1.000 setcmykcolor end} {0.000 0.000 0.000 setrgbcolor} ifelse

(2) -3.333 4.000 S
grestore
%@EndText
%@BeginRuler
%@ 9.0000000000000000000e+0 viewScale
%@ 1.1111111111111110490e-1 realScale
%@ 8 realDivs
%@ 0000 rulerFormat
%@EndRuler
%@BeginOval
/RT {E} def
/SD {} def
/SS {setlinewidth SD stroke} def
/LC { /setcmykcolor where
{begin 0.000 0.000 0.000 1.000 setcmykcolor end} {0.000 0.000 0.000 setrgbcolor} ifelse
} def
/PF {} def
/PC {} def
1.000 0 299.000 340.000 0.000 0.000 143.000 154.000 rect
%@EndOval
%@BeginRuler
%@ 9.0000000000000000000e+0 viewScale
%@ 1.1111111111111110490e-1 realScale
%@ 8 realDivs
%@ 0000 rulerFormat
%@EndRuler
%@BeginLine
/ArrowType{
1.000 setlinewidth
143.142 345.000 moveto
/SwallowTail 14.687 10.574 false 278.637 DrawArrowHead
} bind def
/SD {[9.000 9.000 ] 0 setdash} def
/SS {setlinewidth SD stroke} def
/LC { /setcmykcolor where
{begin 0.000 0.000 0.000 1.000 setcmykcolor end} {0.000 0.000 0.000 setrgbcolor} ifelse
} def
/PF {gsave fill grestore} def
/SS {setlinewidth SD stroke} def
1.000 143.350 343.626 173.000 148.000 Line
%@EndLine
%@BeginRuler
%@ 9.0000000000000000000e+0 viewScale
%@ 1.1111111111111110490e-1 realScale
%@ 8 realDivs
%@ 0000 rulerFormat
%@EndRuler
%@BeginLine
/ArrowType{
1.000 setlinewidth
142.000 411.000 moveto
/SwallowTail 14.687 10.574 false 278.149 DrawArrowHead
} bind def
/SD {[9.000 9.000 ] 0 setdash} def
/SS {setlinewidth SD stroke} def
/LC { /setcmykcolor where
{begin 0.000 0.000 0.000 1.000 setcmykcolor end} {0.000 0.000 0.000 setrgbcolor} ifelse
} def
/PF {gsave fill grestore} def
/SS {setlinewidth SD stroke} def
1.000 142.196 409.625 173.000 194.000 Line
%@EndLine
%@BeginRuler
%@ 9.0000000000000000000e+0 viewScale
%@ 1.1111111111111110490e-1 realScale
%@ 8 realDivs
%@ 0000 rulerFormat
%@EndRuler
%@BeginLine
/ArrowType{
1.000 setlinewidth
467.500 403.000 moveto
/SwallowTail 14.687 10.574 false 253.157 DrawArrowHead
} bind def
/SD {[9.000 9.000 ] 0 setdash} def
/SS {setlinewidth SD stroke} def
/LC { /setcmykcolor where
{begin 0.000 0.000 0.000 1.000 setcmykcolor end} {0.000 0.000 0.000 setrgbcolor} ifelse
} def
/PF {gsave fill grestore} def
/SS {setlinewidth SD stroke} def
1.000 467.097 401.670 390.214 148.000 Line
%@EndLine
%@BeginRuler
%@ 9.0000000000000000000e+0 viewScale
%@ 1.1111111111111110490e-1 realScale
%@ 8 realDivs
%@ 0000 rulerFormat
%@EndRuler
%@BeginLine
/ArrowType{
1.000 setlinewidth
429.500 334.000 moveto
/SwallowTail 14.687 10.574 false 254.308 DrawArrowHead
} bind def
/SD {[9.000 9.000 ] 0 setdash} def
/SS {setlinewidth SD stroke} def
/LC { /setcmykcolor where
{begin 0.000 0.000 0.000 1.000 setcmykcolor end} {0.000 0.000 0.000 setrgbcolor} ifelse
} def
/PF {gsave fill grestore} def
/SS {setlinewidth SD stroke} def
1.000 429.123 332.663 393.214 205.000 Line
%@EndLine
%@BeginRuler
%@ 9.0000000000000000000e+0 viewScale
%@ 1.1111111111111110490e-1 realScale
%@ 8 realDivs
%@ 0000 rulerFormat
%@EndRuler
%@BeginLine
/ArrowType{
1.000 setlinewidth
436.000 419.000 moveto
/SwallowTail 14.687 10.574 false 254.716 DrawArrowHead
} bind def
/SD {[9.000 9.000 ] 0 setdash} def
/SS {setlinewidth SD stroke} def
/LC { /setcmykcolor where
{begin 0.000 0.000 0.000 1.000 setcmykcolor end} {0.000 0.000 0.000 setrgbcolor} ifelse
} def
/PF {gsave fill grestore} def
/SS {setlinewidth SD stroke} def
1.000 435.633 417.660 369.238 175.000 Line
%@EndLine
%@BeginRuler
%@ 9.0000000000000000000e+0 viewScale
%@ 1.1111111111111110490e-1 realScale
%@ 8 realDivs
%@ 0000 rulerFormat
%@EndRuler
%@BeginRect
/RT {13.500 RR2} def
/SD {} def
/SS {setlinewidth SD stroke} def
/LC { /setcmykcolor where
{begin 0.000 0.000 0.000 1.000 setcmykcolor end} {0.000 0.000 0.000 setrgbcolor} ifelse
} def
/PF {} def
/PC {} def
1.000 0 279.000 54.500 0.000 0.000 178.000 446.000 rect
%@EndRect
%
%tLayer
%
%@BeginText
%@BeginRect
/RT {SR} def
/LC {} def
/SS {pop} def
/PF {} def
/PC {} def
0.000 0 30.500 138.500 0.000 0.000 26.000 292.989 rect
%@EndRect
gsave
284.994 43.500 T translate
0.0 rotate
1 1 scale
24.000 (_Times-Roman) fess
/setcmykcolor where
{begin 0.000 0.000 0.000 1.000 setcmykcolor end} {0.000 0.000 0.000 setrgbcolor} ifelse

(I) -146.000 6.000 S
18.000 (_Times-Roman) fess
(N) -138.007 6.000 S
(T) -125.008 6.000 S
(E) -114.013 6.000 S
(R) -103.018 6.000 S
24.000 (_Times-Roman) fess
(-) -91.012 6.000 S
18.000 (_Times-Roman) fess
(C) -83.020 6.000 S
(O) -71.014 6.000 S
(M) -58.015 6.000 S
(M) -42.010 6.000 S
(U) -26.005 6.000 S
(N) -13.006 6.000 S
(I) -0.007 6.000 S
(C) 5.986 6.000 S
(A) 17.992 6.000 S
(T) 30.991 6.000 S
(O) 41.986 6.000 S
(R) 54.985 6.000 S
24.000 (_Times-Roman) fess
( ) 66.991 6.000 S
(C) 72.991 6.000 S
18.000 (_Times-Roman) fess
(R) 88.999 6.000 S
(E) 101.004 6.000 S
(A) 112.000 6.000 S
(T) 124.999 6.000 S
(E) 135.994 6.000 S
grestore
%@EndText
%@BeginText
%@BeginRect
/RT {SR} def
/LC {} def
/SS {pop} def
/PF {} def
/PC {} def
0.000 0 57.000 64.000 0.000 0.000 16.000 38.089 rect
%@EndRect
gsave
83.044 65.000 T translate
0.0 rotate
1 1 scale
14.000 (_Times-Roman) fess
/setcmykcolor where
{begin 0.000 0.000 0.000 1.000 setcmykcolor end} {0.000 0.000 0.000 setrgbcolor} ifelse

(B) -18.500 4.000 S
/setcmykcolor where
{begin 0.000 0.000 0.000 1.000 setcmykcolor end} {0.000 0.000 0.000 setrgbcolor} ifelse

(e) -9.162 4.000 S
(f) -2.948 4.000 S
(o) 1.713 4.000 S
(r) 8.713 4.000 S
(e) 13.375 4.000 S
grestore
%@EndText
%@BeginText
%@BeginRect
/RT {SR} def
/LC {} def
/SS {pop} def
/PF {} def
/PC {} def
0.000 0 264.000 66.000 0.000 0.000 16.000 29.538 rect
%@EndRect
gsave
80.769 272.000 T translate
0.0 rotate
1 1 scale
14.000 (_Times-Roman) fess
/setcmykcolor where
{begin 0.000 0.000 0.000 1.000 setcmykcolor end} {0.000 0.000 0.000 setrgbcolor} ifelse

(A) -14.500 4.000 S
/setcmykcolor where
{begin 0.000 0.000 0.000 1.000 setcmykcolor end} {0.000 0.000 0.000 setrgbcolor} ifelse

(f) -4.389 4.000 S
(t) 0.272 4.000 S
(e) 4.162 4.000 S
(r) 10.375 4.000 S
grestore
%@EndText
restore
end
@endspecial 150 3970 a(Figure)j(5.1:)48 b(In)m(tercomm)m(unicator)34
b(create)g(using)e Fi(MPI)p 2078 3970 29 4 v 34 w(COMM)p
2304 3970 V 33 w(CREATE\(\))f Fx(extended)j(to)g(in)m(tercomm)m(u-)150
4083 y(nicators.)150 4405 y Ft(Example)91 b Fx(The)26
b(follo)m(wing)f(example)i(illustrates)d(ho)m(w)j(the)g(\014rst)f(no)s
(de)g(in)f(the)i(\\left")g(side)f(of)h(an)f(in)m(ter-)150
4518 y(comm)m(unicator)d(could)e(b)s(e)h(joined)g(with)f(all)g(mem)m(b)
s(ers)h(on)h(the)f(\\righ)m(t")h(side)f(of)h(an)f(in)m(tercomm)m
(unicator)150 4631 y(to)31 b(form)f(a)h(new)f(in)m(tercomm)m(unicator.)
532 4819 y Fi(MPI_Comm)93 b(inter_comm,)45 b(new_inter_comm;)532
4931 y(MPI_Group)g(local_group,)g(group;)532 5044 y(int)333
b(rank)47 b(=)g(0;)g(/*)h(rank)e(on)h(left)g(side)g(to)g(include)f(in)h
(new)g(inter-comm)e(*/)532 5270 y(/*)i(Construct)e(the)i(original)f
(intercommunicator:)d("inter_comm")h(*/)532 5383 y(...)-64
92 y Fq(1)-64 205 y(2)-64 318 y(3)-64 431 y(4)-64 544
y(5)-64 657 y(6)-64 770 y(7)-64 882 y(8)-64 995 y(9)-80
1108 y(10)-80 1221 y(11)-80 1334 y(12)-80 1447 y(13)-80
1560 y(14)-80 1673 y(15)-80 1786 y(16)-80 1899 y(17)-80
2012 y(18)-80 2124 y(19)-80 2237 y(20)-80 2350 y(21)-80
2463 y(22)-80 2576 y(23)-80 2689 y(24)-80 2802 y(25)-80
2915 y(26)-80 3028 y(27)-80 3141 y(28)-80 3254 y(29)-80
3366 y(30)-80 3479 y(31)-80 3592 y(32)-80 3705 y(33)-80
3818 y(34)-80 3931 y(35)-80 4044 y(36)-80 4157 y(37)-80
4270 y(38)-80 4383 y(39)-80 4496 y(40)-80 4609 y(41)-80
4721 y(42)-80 4834 y(43)-80 4947 y(44)-80 5060 y(45)-80
5173 y(46)-80 5286 y(47)-80 5399 y(48)p eop
8 9 bop 150 -200 a Fx(8)78 b Fo(CHAPTER)29 b(5.)62 b(EXTENDED)30
b(COLLECTIVE)f(OPERA)-8 b(TIONS)29 b(AND)i(RELA)-8 b(TED)31
b(ISSUES)532 211 y Fi(/*)47 b(Construct)e(the)i(group)g(of)g(processes)
e(to)i(be)g(in)h(new)e(intercommunicator)e(*/)532 324
y(if)j(\(/*)g(I'm)g(on)g(the)g(left)g(side)f(of)h(the)g
(intercommunicator)c(*/\))k({)627 437 y(MPI_Comm_group)d(\()k
(inter_comm,)c(&local_group)h(\);)627 550 y(MPI_Group_incl)f(\()k
(local_group,)c(1,)j(&rank,)f(&group)g(\);)532 663 y(})532
776 y(else)627 889 y(MPI_Comm_group)e(\()k(inter_comm,)c(&group)i(\);)
532 1115 y(MPI_Comm_create)d(\()48 b(inter_comm,)d(group,)h
(&new_inter_comm)d(\);)150 1491 y Ft(MPI)p 318 1491 28
4 v 33 w(COMM)p 636 1491 V 31 w(SPLIT\()31 b(comm)p 1207
1491 V 34 w(in,)f(colo)m(r,)i(k)m(ey)-8 b(,)33 b(comm)p
2004 1491 V 34 w(out)d(\))233 1646 y Fj(IN)312 b Ft(comm)p
871 1646 V 34 w(in)841 b Fj(original)26 b(comm)n(unicator)233
1796 y(IN)312 b Ft(colo)m(r)993 b Fj(color)27 b(of)g(subset)h
(assignmen)n(t)233 1946 y(IN)312 b Ft(k)m(ey)1050 b Fj(color)27
b(of)g(rank)g(assignmen)n(t)233 2097 y(OUT)217 b Ft(comm)p
871 2097 V 34 w(out)785 b Fj(new)28 b(comm)n(unicator)150
2345 y Fx(The)c(result)f(of)h(split)e(on)i(an)g(in)m(tercomm)m
(unicator)g(is)g(that)g(those)h(pro)s(cesses)f(on)g(the)g(left)g(with)f
(the)i(same)150 2458 y Ft(c)p Fx(olor)31 b(as)f(those)h(pro)s(cesses)f
(on)h(the)f(righ)m(t)g(com)m(bine)g(to)i(create)g(a)e(new)g(in)m
(tercomm)m(unicator.)41 b(The)30 b Ft(k)p Fx(ey)150 2571
y(argumen)m(t)24 b(describ)s(es)e(the)i(relativ)m(e)g(rank)g(of)g(pro)s
(cesses)g(on)f(eac)m(h)i(side)e(of)h(the)g(in)m(tercomm)m(unicator)g
(\(see)150 2684 y(\014gure)34 b(5.2\).)56 b(F)-8 b(or)36
b(those)f(colors)g(that)g(are)h(sp)s(eci\014ed)d(only)h(on)h(one)g
(side)f(of)h(the)g(in)m(tercomm)m(unicator)150 2797 y(but)30
b(not)g(the)h(other,)g Fg(M)p Fx(PI)p 1071 2797 V 32
w(COMM)p 1406 2797 V 33 w(NULL)f(is)f(returned.)40 b
Fg(M)p Fx(PI)p 2383 2797 V 32 w(COMM)p 2718 2797 V 33
w(NULL)30 b(is)g(also)g(returned)f(to)150 2910 y(those)i(pro)s(cesses)f
(that)h(sp)s(ecify)e Fg(M)p Fx(PI)p 1452 2910 V 32 w(UNDEFINED)j(as)e
(the)h(color.)150 3150 y Ft(Example)36 b(\(P)m(a)m(rallel)g
(client-server)h(mo)s(del\))91 b Fx(The)36 b(follo)m(wing)e(clien)m(t)h
(co)s(de)h(illustrates)e(ho)m(w)i(clien)m(ts)f(on)150
3263 y(the)i(left)f(side)f(of)i(an)g(in)m(tercomm)m(unicator)f(could)g
(b)s(e)g(assigned)f(to)j(a)f(single)e(serv)m(er)i(from)f(a)h(p)s(o)s
(ol)e(of)150 3376 y(serv)m(ers)30 b(on)h(the)f(righ)m(t)g(side)g(of)g
(an)g(in)m(tercomm)m(unicator.)532 3564 y Fi(/*)47 b(Client)f(code)h
(*/)532 3676 y(MPI_Comm)93 b(multiple_server_comm;)532
3789 y(MPI_Comm)g(single_server_comm;)532 3902 y(int)333
b(color,)46 b(rank,)h(num_servers;)532 4128 y(/*)g(Create)f
(intercommunicator)d(with)k(clients)f(and)h(servers:)675
4241 y(multiple_server_comm)42 b(*/)532 4354 y(...)532
4580 y(/*)47 b(Find)g(out)g(the)f(number)h(of)g(servers)f(available)f
(*/)532 4693 y(MPI_Comm_remote_size)d(\()48 b(multiple_server_comm,)42
b(&num_servers)i(\);)532 4918 y(/*)j(Determine)e(my)i(color)g(*/)532
5031 y(MPI_Comm_rank)d(\()j(multiple_server_comm,)42
b(&rank)47 b(\);)532 5144 y(color)f(=)i(rank)e(\045)i(num_servers;)532
5370 y(/*)f(Split)f(the)h(intercommunicator)c(*/)3934
92 y Fq(1)3934 205 y(2)3934 318 y(3)3934 431 y(4)3934
544 y(5)3934 657 y(6)3934 770 y(7)3934 882 y(8)3934 995
y(9)3919 1108 y(10)3919 1221 y(11)3919 1334 y(12)3919
1447 y(13)3919 1560 y(14)3919 1673 y(15)3919 1786 y(16)3919
1899 y(17)3919 2012 y(18)3919 2124 y(19)3919 2237 y(20)3919
2350 y(21)3919 2463 y(22)3919 2576 y(23)3919 2689 y(24)3919
2802 y(25)3919 2915 y(26)3919 3028 y(27)3919 3141 y(28)3919
3254 y(29)3919 3366 y(30)3919 3479 y(31)3919 3592 y(32)3919
3705 y(33)3919 3818 y(34)3919 3931 y(35)3919 4044 y(36)3919
4157 y(37)3919 4270 y(38)3919 4383 y(39)3919 4496 y(40)3919
4609 y(41)3919 4721 y(42)3919 4834 y(43)3919 4947 y(44)3919
5060 y(45)3919 5173 y(46)3919 5286 y(47)3919 5399 y(48)p
eop
9 10 bop 150 -200 a Fo(5.4.)62 b(INTER)m(COMMUNICA)-8
b(TOR)30 b(CONSTR)m(UCTORS)1453 b Fx(9)750 3989 y @beginspecial
18.002001 @llx 161 @lly 534.997009 @urx 781.500000 @ury
2880 @rwi @setspecial
/MAV 300 dict def
MAV begin
/useClip true def
/top 0 def
/left 1 def
/bottom 2 def
/right 3 def
/CM 6 array def
/CTM 6 array def
/CTMR 6 array def
/MTC 6 array def
/blimit 1500 def
/bcnt 0 def
/rbox 8 array def
/segbox 8 array def
/bbox1 4 array def
/c1 3 array def
/c2 3 array def
/d 3 array def
/delta 3 array def
/mycurrentrgbcolor 3 array def
/ulx 0 def
/uly 1 def
/llx 2 def
/lly 3 def
/urx 4 def
/ury 5 def
/lrx 6 def
/lry 7 def
/sp [0 0] def
/ep [0 0] def
/bbox 4 array def
/pbox 4 array def
/scrnProc currentscreen 3 1 roll pop pop def
/currentcolorscreen where {
begin
currentcolorscreen
end
3 1 roll pop pop
4 2 roll pop pop
5 -2 roll pop pop
6 -2 roll pop pop
/kProc exch def
/bProc exch def
/gProc exch def
/rProc exch def
} if
/Max {2 copy gt {pop}{exch pop} ifelse} bind def
/Min {2 copy lt {pop}{exch pop} ifelse} bind def
/cellPenW 72.0 /currentcolorscreen where
{begin currentcolorscreen end pop pop
10 1 roll pop pop 8 1 roll pop pop
6 1 roll pop pop Max Max Max }
{currentscreen pop pop} ifelse div 2.0 div def
/rect {
/saveobj save def
R PC PF LC SS
saveobj restore
} bind def
/R {
newpath
pbox astore pop
0 792 translate 1 -1 scale CTMR currentmatrix pop exch translate
/objectCord mstore def
pbox right get 2 div
dup pbox left get exch sub
pbox left 3 -1 roll put
dup pbox right 3 -1 roll put
pbox bottom get 2 div
dup pbox top get exch sub
pbox top 3 -1 roll put
dup pbox bottom 3 -1 roll put
translate
CTM currentmatrix pop
57.3 mul rotate
RT
} bind def
/SaveScreenBW {
currentscreen
/scrnProc exch def
/scrnAngle exch def
/scrnFreq exch def
} bind def
/RestoreScreenBW {
scrnFreq scrnAngle MAV /scrnProc get setscreen
} bind def
/SetFreqAngleBW {
currentscreen
3 1 roll
pop pop
setscreen
} bind def
/SaveScreenColor {
currentcolorscreen
/grayProc exch def
/grayAngle exch def
/grayFreq exch def
/bProc exch def
/bAngle exch def
/bFreq exch def
/gProc exch def
/gAngle exch def
/gFreq exch def
/rProc exch def
/rAngle exch def
/rFreq exch def
} bind def
/RestoreColorScreen {
rFreq rAngle MAV /rProc get gFreq gAngle MAV /gProc get bFreq bAngle MAV /bProc get grayFreq grayAngle MAV /grayProc get setcolorscreen
} bind def
/SetFreqAngleColor {
currentcolorscreen
3 1 roll pop pop
4 2 roll pop pop
5 -2 roll pop pop
6 -2 roll pop pop
4 1 roll
6 1 roll
8 1 roll
10 1 roll
setcolorscreen
} bind def
/initmsaverestore {
userdict begin
/mdict 10 dict def
mdict begin
/mindex -1 def
/mstacksize 25 def
/mstack mstacksize array def
/incmindex {
/mindex mindex 1 add def
} bind def
/decmindex {
/mindex mindex 1 sub def
} bind def
/checkmindex {
mindex 0 lt {
(%ERROR: msave/mrestore stack underflow: Offending command 'mrestore'
) print flush
stop
}
{
mindex mstacksize ge {
(%ERROR: msave/mrestore stack overflow: Offending command 'msave'
) print flush
stop
} if
} ifelse
} bind def
/mpush {
incmindex
checkmindex
mstack mindex
3 -1 roll put
} bind def
/mpop {
checkmindex
mstack mindex get
decmindex
} bind def
end
end
} bind def
/msave {
mdict begin
matrix currentmatrix mpush
end
} bind def
/mrestore {
mdict begin
mpop setmatrix
end
} bind def
/msavelevel {
mdict begin
mindex 1 add
end
} bind def
/mstore {
matrix currentmatrix
} bind def
/AutoSizeY {
0 0 pl
dup 3 1 roll
4 -1 roll
add
pl exch pop
exch sub
} bind def
/pl {
transform
0.25 sub round 0.25 add exch
0.25 sub round 0.25 add exch
itransform
} bind def
/pll {
transform
round exch
round exch
itransform
} bind def
/pr {
dtransform
round exch
round exch
idtransform
} bind def
/m {
pl moveto
} bind def
/l {
pl lineto
} bind def
/c {
pl curveto
} bind def
/rm {
pr rmoveto
} bind def
/rl {
pr rlineto
} bind def
/ar {
5 -2 roll pl
5 2 roll
arc
} bind def
/an {
5 -2 roll pl
5 2 roll
arcn
} bind def
/MakePatternFont {
/FontDict 20 dict def
FontDict begin
/FontName exch def
/Encoding exch def
/FontMatrix [1 0 0 1 0 0 ] def
/FontType 3 def
/FontBBox [ 0 0 1 1 ] def
/PatternDict exch def
/RenderPattern {
patternDict exch get
exec
} bind def
/BuildChar {
exch begin
1 0 0 0 1 1 setcachedevice
Encoding exch get RenderPattern
end
} bind def
FontName FontDict definefont pop
end
} bind def
/SnapToPattenGrid
{
exch
dup 0 lt {
1 index sub
} if
1 index
div truncate
mul
} bind def
/FillPatternString {
dup length
1 sub
0 1 3 -1 roll {
2 index
2 index
3 -2 roll
put
} for
pop pop
} bind def
/AutoSizeY {
0.0 exch dtransform
round
idtransform exch pop
} bind def
/AutoSizeX {
0.0 dtransform
exch
round
exch
idtransform pop
} bind def
/AutoCellSize {
AutoSizeY
exch
AutoSizeX
exch
} bind def
/CheckPath {
false
{ pop pop pop true exit}
{ pop pop pop true exit}
{ pop pop pop pop pop pop pop true exit}
{ pop true exit}
pathforall
} bind def
/PatternFill { % patternCharacter
/patternString 1 string def
/cm mstore def
patternMatrix setmatrix
1 1 AutoCellSize
dup 0 eq { pop 1} if
exch
dup 0 eq { pop 1} if
exch
/patternSize exch 24.0 mul def
/PatternSizeX exch 24.0 mul patternString length mul def
/flaterror 0 def
patternString FillPatternString
gsave
flaterror 1 add setflat
flattenpath
pathbbox
grestore
psy add flaterror add psy SnapToPattenGrid
exch psx add flaterror add psx SnapToPattenGrid
3 -1 roll flaterror sub psy SnapToPattenGrid
4 -1 roll flaterror sub psx SnapToPattenGrid
4 2 roll pll
4 2 roll pll
/llxsnap exch def
/llysnap exch def
/urxsnap exch def
/urysnap exch def
gsave
useClip true eq {clip}{eoclip} ifelse newpath
/PatternFont findfont [psx 0.0 0.0 psy 0.0 0.0] makefont setfont
llysnap patternSize urysnap {
llxsnap exch moveto
llxsnap PatternSizeX urxsnap {
pop
patternString show
%currentpoint am
} for
} bind for
grestore
cm setmatrix
} bind def % End 'PatternFill'
/DefaultPatternFont {
/cm mstore def
patternMatrix setmatrix
1 1 AutoCellSize
dup 0 eq { pop 1} if
exch
dup 0 eq { pop 1} if
exch
/psy exch iSizeY mul def
/psx exch iSizeX mul def
/patternDict 64 dict def
patternDict begin
/NotDef {} def
/LiteDiagLines {
iSizeX iSizeY false [iSizeX 0.0 0.0 iSizeY -1.0 mul 0.0 iSizeY]
{pat}
imagemask
} bind def
end
/CustEncoding 256 array def
0 255 1 {
CustEncoding exch /NotDef put
} bind for
CustEncoding 65 /LiteDiagLines put
patternDict CustEncoding /PatternFont MakePatternFont
/pathSegProc {
strokepath
CheckPath {
65 PatternFill newpath
} if
} bind def
cm setmatrix
} bind def
/XRound {
dup
3 -1 roll
exch mul round
exch div
} bind def
/RoundMatrix {
/i 0 def
dup {
100000.0 XRound
1 index
exch i exch put
/i i 1 add def
} forall
} bind def
/GetBoxesRatio {
3 -1 roll sub
7 1 roll
exch sub
6 1 roll
3 -1 roll sub
5 1 roll
exch sub
4 1 roll
3 -1 roll div
3 1 roll
exch div
exch
} bind def
/T {792 exch sub} bind def
/sx 0 def
/sy 0 def
/ex 0 def
/ey 0 def
/lw 0 def
/siz 0 def
/U {gsave 0 setlinecap
/lw siz 0.078125 mul def /ey exch neg def /ex exch def /sy exch neg def /sx exch def
fontkind plain eq
{
lw siz 0.0119444 mul sub setlinewidth sx sy moveto ex ey lineto stroke
}
{
currentdict /outlineFontSize known outlineFontSize 0 gt and
{
fontkind outline eq
{
/sy sy 0.0119444 siz mul sub def
/ey ey 0.0119444 siz mul sub def
gsave
1 1 1 setrgbcolor lw siz 0.0119444 mul sub setlinewidth sx sy moveto ex ey lineto stroke
grestore
lw siz 0.0119444 mul sub setlinewidth sx sy moveto ex ey lineto
strokepath 0.0119444 siz mul setlinewidth stroke
} if
fontkind shadow eq fontkind outlineshadow eq or
{
/sy sy 0.0358332 siz mul sub def
/ey ey 0.0358332 siz mul sub def
lw setlinewidth
lw 2 div sx add sy
lw 2 div sub moveto
lw 2 div ex add ey
lw 2 div sub lineto stroke
gsave
1 1 1 setrgbcolor lw siz 0.0119444 mul sub setlinewidth sx sy moveto ex ey lineto stroke
grestore
lw siz 0.0119444 mul sub setlinewidth sx sy moveto ex ey lineto
strokepath 0.0119444 siz mul setlinewidth stroke
} if
} if
} ifelse
grestore} bind def
/plain 1 def
/outline 2 def
/shadow 3 def
/outlineshadow 4 def
/fess {
currentdict /outlineFontSize known {
/outlineFontSize 2 index def
} if
findfont exch dup /siz exch def scalefont setfont
} bind def
/SHDW {gsave siz oldfontname fess siz 0.055 mul x add y siz 0.05 mul sub moveto c show grestore} def
/NRML {gsave 1 1 1 setrgbcolor siz oldfontname fess x y moveto c show grestore siz /Outline fess x y moveto c show} def
/S {
fontkind plain eq {neg moveto show} if
fontkind outline eq {neg /y exch def /x exch def /c exch def NRML} if
fontkind shadow eq {neg /y exch def /x exch def /c exch def SHDW NRML} if
fontkind outlineshadow eq {neg /y exch def /x exch def /c exch def SHDW NRML} if
} bind def
/F {
/fontkind exch def
fontkind plain eq {fess} if
fontkind outline eq {dup /oldfontname exch def exch dup /siz exch def exch OLF} if
fontkind shadow eq {dup /oldfontname exch def exch dup /siz exch def exch OLF} if
fontkind outlineshadow eq {dup /oldfontname exch def exch dup /siz exch def exch OLF} if
} bind def
/makeoutlinedict 15 dict def
/makeoutlinefont
{
makeoutlinedict begin
/uniqueid exch def
/strokewidth exch def
/newfontname exch def
/basefontname exch def
/basefontdict basefontname findfont def
/numentries basefontdict maxlength 1 add def
basefontdict /UniqueID known not
{/numentries numentries 1 add def} if
/outfontdict numentries dict def
basefontdict
{
exch dup /FID ne {exch outfontdict 3 1 roll put} {pop pop} ifelse
}forall
outfontdict /FontName newfontname put
outfontdict /PaintType 2 put
outfontdict /StrokeWidth strokewidth put
outfontdict /UniqueID uniqueid put
newfontname outfontdict definefont pop
end
}def
/UID {
findfont dup /UniqueID known
{/UniqueID get 1 add}
{pop 1}
ifelse
} def
/OLF {
dup
/Outline
1000 62 div
4 -1 roll
UID
/outlineFontSize 5 index def
makeoutlinefont
/Outline findfont exch scalefont setfont
} def
/CopyEncoding {
findfont
/Encoding get
dup length array
/tarrayz exch def
tarrayz 0
3 -1 roll
putinterval
tarrayz
} bind def
/Re-encode {
dup length array copy
/eap 0 def
exch {
dup type /integertype eq {
/eap exch def
} {
1 index
exch
eap exch
put
/eap eap 1 add def
} ifelse
} forall
} bind def
/EncodeFont {
findfont dup
length dict
begin
{ 1 index /FID ne
{ def }
{ pop pop } ifelse
} forall
/FontName exch def
/Encoding exch def
FontName currentdict
end
definefont pop
} bind def
/clip2pathbbox {
/magicNum linewidth 2 div 1 2 sqrt div mul def
pathbbox
/urymn exch magicNum add def
/urxmn exch magicNum add def
/llymn exch magicNum sub def
/llxmn exch magicNum sub def
newpath llxmn llymn moveto llxmn urymn lineto urxmn urymn lineto urxmn llymn lineto
closepath clip newpath
} bind def
/Line {
MAV /LC get length 0 ne
{
gsave
newpath
MAV /ArrowType get length 0 eq
MAV /SD get length 0 eq and
{2 setlinecap /UseClip {clip2pathbbox} def }
{0 setlinecap /UseClip {} def } ifelse
0 792 translate
1 -1 scale
CTM currentmatrix pop
/yStart exch def /xStart exch def /yEnd exch def /xEnd exch def /linewidth exch def
MAV /ArrowType get length 0 eq xStart xEnd ne yStart yEnd ne and and
{xStart yStart moveto xEnd yEnd lineto UseClip xStart yStart moveto xEnd yEnd lineto}
{xStart yStart moveto xEnd yEnd lineto} ifelse
linewidth setlinewidth SD strokepath
CheckPath {LC PF ArrowType} if
grestore
}
{pop pop pop pop pop} ifelse
} bind def
/CompensateForStroke {
sin currentlinewidth mul
exch
cos currentlinewidth mul
dup 0 translate
4 -1 roll exch 2.0 mul sub
3 1 roll
2.0 mul sub
} bind def
/arrowdict 10 dict def
arrowdict begin
/SwallowTail {
newpath
0.0 0.0 moveto
1.0 -.5 lineto
.666 0.0 lineto
1.0 .5 lineto
closepath
} bind def
/Triangular {
newpath
0.0 0.0 moveto
1.0 -.5 lineto
1.0 .5 lineto
closepath
} bind def
/OpenTri {
newpath
1.0 0.5 moveto
0.0 0.0 lineto
1.0 -0.5 lineto
} bind def
/ClosedTri {
newpath
1.0 0.5 moveto
0.0 0.0 lineto
1.0 -0.5 lineto
closepath
} bind def
/SlashBar {
newpath
0.5 -.5 moveto
-.5 0.5 lineto
} bind def
/Dot {
newpath
0.5 0.0 moveto
0 0 1 0 360 arc
closepath
} bind def
/ExtSlashBar {
newpath
1.0 -.5 moveto
0.0 0.5 lineto
} bind def
end
/ScaleArrowHead {
0 0 4 -2 roll
0 0 1 1
8 -4 roll GetBoxesRatio
scale
} bind def
/DrawArrowHead {
gsave
[] 0 setdash
currentpoint translate rotate
{
4 copy
gsave
initmatrix
100 200 translate
msave
ScaleArrowHead pop
arrowdict exch get exec
mrestore
strokepath
0 0 3 index 3 index
pathbbox 8 4 roll
GetBoxesRatio
4 2 roll
grestore
3 index 1.0 exch sub
6 -1 roll
{
2 index mul
0 translate
}{
pop
} ifelse
msave
ScaleArrowHead scale
arrowdict exch get exec
mrestore
strokepath
} {
msave
ScaleArrowHead
arrowdict exch get exec
mrestore
} ifelse
CheckPath {
LC PF
} if
grestore
} bind def
/SR {
pbox left get pbox top get moveto
pbox right get pbox top get lineto
pbox right get pbox bottom get lineto
pbox left get pbox bottom get lineto
closepath
} bind def
/RR1 {
pbox top get pbox bottom get sub abs
pbox left get pbox right get sub abs
2 copy lt {
Min
2 div dup dup dup
pbox left get add pbox left 3 -1 roll put
pbox right get exch sub pbox right 3 -1 roll put
pbox left get pbox bottom get moveto
pbox right get 0 3 -1 roll 90 -90 arcn
pbox left get 0 3 -1 roll -90 90 arcn closepath
} {
Min
2 div dup dup dup
pbox bottom get exch sub pbox bottom 3 -1 roll put
pbox top get add pbox top 3 -1 roll put
pbox left get pbox bottom get moveto
pbox left get add pbox top get
2 index
180 0 arc
dup pbox left get add pbox bottom get
3 -1 roll 0 180 arc
closepath
} ifelse
} bind def
/RR2 {
dup dup dup dup dup dup dup dup
pbox top get add pbox top 3 -1 roll put
pbox left get add pbox left 3 -1 roll put
pbox bottom get exch sub pbox bottom 3 -1 roll put
pbox right get exch sub pbox right 3 -1 roll put
pbox bottom get add pbox left get exch moveto
pbox right get pbox bottom get 3 -1 roll 90 0 arcn
pbox right get pbox top get 3 -1 roll 0 270 arcn
pbox left get pbox top get 3 -1 roll 270 180 arcn
pbox left get pbox bottom get 3 -1 roll 180 90 arcn closepath
} bind def
/E {
1.415 setmiterlimit
CM currentmatrix pop
pbox right get pbox left get sub abs dup
pbox bottom get pbox top get sub abs dup 3 -1 roll
lt {exch dup 3 -1 roll exch div 1 exch}
{dup 3 -1 roll exch div 1} ifelse scale
0 0 3 -1 roll 2 div 0 360 arc closepath
CM setmatrix
} bind def
/StripFromFront {
dup length
2 index sub
3 1 roll
exch 3 -1 roll
getinterval
} bind def
/MakePathArray {
/k 0 def
{/k k 1 add def pop pop}{/k k 1 add def pop pop}{/k k 1 add def pop pop pop pop pop pop}{/k k 1 add def }pathforall
k array
/k 0 def
{{moveto} 3 array astore 1 index k 3 -1 roll put /k k 1 add def}
{{lineto} 3 array astore 1 index k 3 -1 roll put /k k 1 add def}
{{curveto} 7 array astore 1 index k 3 -1 roll put /k k 1 add def}
{{closepath} 1 array astore 1 index k 3 -1 roll put /k k 1 add def}
pathforall
}bind def
/MakeFlatPathArray {
/k 0 def
{/k k 1 add def pop pop}{/k k 1 add def pop pop}{pop pop pop pop pop pop}{}pathforall
k array
/k 0 def
{{moveto} 3 array astore 1 index k 3 -1 roll put /k k 1 add def}
{{lineto} 3 array astore 1 index k 3 -1 roll put /k k 1 add def}
{ pop pop pop pop pop pop}
{}
pathforall
}bind def
/FractionalLine {
2 index sub
.00001 mul
exch
3 index sub
.00001 mul
4 -1 roll add
3 1 roll
add
} bind def
/calcLineLength {
exch
4 -1 roll
sub
dup mul
3 1 roll exch
sub
dup mul
add sqrt
} bind def
/InitTotalLineLength {
/oldY exch def
/oldX exch def
theDash aload pop currentLineLength add setdash
} bind def
/AccumeLineLength {
3 copy pop
2 copy
oldX oldY
4 2 roll calcLineLength
/segmentLength exch def
/currentLineLength currentLineLength segmentLength add def
/oldY exch def
/oldX exch def
} bind def
/DecumeLastLineLength {
/currentLineLength currentLineLength segmentLength sub def
} bind def
/DrawFlattendSegment {
/pointCount 2 def
dup 0 lt { pop 0 } if
fpc
3 1 roll
2 index
1 index
gt {
2 copy get
dup length
dup 3 eq {
pop
dup 0 get
exch 1 get
2 copy InitTotalLineLength
m
} {
} ifelse
} {
pop 1 index
} ifelse
dup 1 add
3 index
exch sub
dup 10 gt { pop 10} if
{
1 add
2 copy
get aload pop
AccumeLineLength
exec
} repeat
3 1 roll pop pop
DecumeLastLineLength
} bind def
/IncFPC {
fpc add
/fpc exch def
} bind def
/DrawFlatPathArray {
fpc
0 {
dup 2 index
1 sub
lt {
flatPathArray exch
newpath
1 sub DrawFlattendSegment
gsave
pathSegProc
grestore
newpath
}
{
pop pop
exit
} ifelse
} loop
} bind def
/RecordFirstSubSegment {
closepathArray 0 pathArray 0 get
put
closepathArray 1
pathArray 0 get aload pop pop
pathArray 1 get dup length 3 eq {
aload pop pop
} {
newpath
0 0 moveto
aload pop exec
/segmentArray flattenpath MakeFlatPathArray def
segmentArray 1 get aload pop pop
} ifelse
FractionalLine {lineto} 3 array astore
put
} bind def
/AppendClosePath {
closepathArray 0 get 2 {lineto} put
flatPathArray fpc closepathArray 0 get put
1 IncFPC
flatPathArray fpc closepathArray 1 get put
1 IncFPC
} bind def
/RecordCurrentDash {
/theDash
currentdash 2 array astore def
/currentLineLength 0 def
} bind def
/PatternStroke {
0 setlinecap
RecordCurrentDash
/saveFlat currentflat def
.5 setflat
/pathArray MakePathArray def
/closepathArray 2 array def
/pathLength pathArray length def
/flatPathArray 513 array def
/currentLineLength 0 def
/fpc 0 def
pathArray pathLength 1 sub get
length 1 eq {
/usingClosepath true def
RecordFirstSubSegment
/pathLength pathLength 1 sub def
} {
/usingClosepath false def
} ifelse
0 1 pathLength 1 sub {
pathArray exch get
dup length 3 eq {
fpc 1 add 512 ge {
DrawFlatPathArray
fpc 2 ge {
flatPathArray flatPathArray fpc 2 sub get 0 put
flatPathArray flatPathArray fpc 1 sub get 1 put
/fpc 2 def
}{
/fpc 0 def
} ifelse
} if
flatPathArray exch fpc exch put
1 IncFPC
} {
dup length 7 eq {
newpath
/nToStrip 0 def
fpc 1 gt {
flatPathArray fpc 2 sub get aload pop pop m
flatPathArray fpc 1 sub get aload pop exec
/nToStrip 2 def
} {
fpc 1 eq {
flatPathArray fpc 1 sub get aload pop exec
/nToStrip 2 def
} if
} ifelse
aload pop exec
/segmentArray flattenpath MakeFlatPathArray def
/segmentArray nToStrip segmentArray StripFromFront def
segmentArray length fpc add 512 lt {
flatPathArray fpc segmentArray putinterval
segmentArray length IncFPC
} {
DrawFlatPathArray
fpc 1 gt {
flatPathArray flatPathArray fpc 2 sub get 0 exch put
flatPathArray flatPathArray fpc 1 sub get 1 exch put
/fpc 2 def
}{
/fpc 0 def
} ifelse
segmentArray length 512 lt {
flatPathArray fpc segmentArray putinterval
segmentArray length IncFPC
} {
segmentArray length
/exitLoop false def
0
{
2 copy sub
dup 500 gt {
pop 500
} {
/exitLoop true def
} ifelse
segmentArray 2 index 2 index getinterval
flatPathArray fpc 3 -1 roll putinterval
dup IncFPC
add
exitLoop {
exit
} {
DrawFlatPathArray
fpc 1 gt {
flatPathArray flatPathArray fpc 2 sub get 0 exch put
flatPathArray flatPathArray fpc 1 sub get 1 exch put
/fpc 2 def
}{
/fpc 0 def
} ifelse
} ifelse
} loop
} ifelse
} ifelse
} if
} ifelse
} for
fpc 0 gt {
usingClosepath {
AppendClosePath
} if
DrawFlatPathArray
} if
saveFlat setflat
} bind def

/rampdelta {
/len 0 3 -1 roll add def
/i2 0 3 -1 roll add def
/i1 0 3 -1 roll add def
/nRampSteps len cellPenW div cvi 1 add dup 512 gt {pop 512} if def
/rampPenW len nRampSteps div def
rampColors i1 get aload pop c1 astore pop
rampColors i2 get aload pop c2 astore pop
c2 0 get c1 0 get sub nRampSteps div d 0 3 -1 roll put
c2 1 get c1 1 get sub nRampSteps div d 1 3 -1 roll put
c2 2 get c1 2 get sub nRampSteps div d 2 3 -1 roll put
d aload pop
} bind def
/adddelta {
d astore pop
mycurrentrgbcolor c1 copy pop
c1 0 get d 0 get add c2 0 3 -1 roll put
c1 1 get d 1 get add c2 1 3 -1 roll put
c1 2 get d 2 get add c2 2 3 -1 roll put
c2 aload pop setrgbcolor
c2 mycurrentrgbcolor copy pop
} bind def
/rampline {
segbox ulx get rampPenW add segbox ulx 3 -1 roll put
segbox llx get rampPenW add segbox llx 3 -1 roll put
segbox ulx get segbox uly get moveto
segbox llx get segbox lly get lineto
delta aload pop adddelta stroke
}bind def
/slantrampseg {
gsave newpath
segbox ulx get segbox urx get sub abs
rampdelta delta astore pop
segbox ulx get rampPenW .5 mul sub segbox ulx 3 -1 roll put
segbox llx get rampPenW .5 mul sub segbox llx 3 -1 roll put
rampColors exch get aload mycurrentrgbcolor copy pop setrgbcolor
rampPenW setlinewidth nRampSteps {rampline} repeat
grestore
}bind def
/flipramp {
rampColors 0 get rampColors 3 get rampColors 0 3 -1 roll put rampColors 3 3 -1 roll put
rampColors 1 get rampColors 2 get rampColors 1 3 -1 roll put rampColors 2 3 -1 roll put
} bind def
/leftrbox {
rbox segbox copy pop
rbox urx get rbox ulx get sub
flipRatio mul dup
segbox ulx get add segbox urx 3 -1 roll put
segbox llx get add segbox lrx 3 -1 roll put
} bind def
/rightrbox {
rbox segbox copy pop
rbox urx get rbox ulx get sub
flipRatio mul dup
segbox ulx get add segbox ulx 3 -1 roll put
segbox llx get add segbox llx 3 -1 roll put
} bind def
/drawslantramp {
segbox urx get segbox ulx get sub 3 div dup dup dup dup dup dup dup dup dup
segbox ulx get add segbox urx 3 -1 roll put
segbox llx get add segbox lrx 3 -1 roll put
segbox aload pop
0 0 1 slantrampseg
segbox astore pop
segbox ulx get add segbox ulx 3 -1 roll put
segbox llx get add segbox llx 3 -1 roll put
segbox urx get add segbox urx 3 -1 roll put
segbox lrx get add segbox lrx 3 -1 roll put
segbox aload pop
1 1 2 slantrampseg
segbox astore pop
segbox ulx get add segbox ulx 3 -1 roll put
segbox llx get add segbox llx 3 -1 roll put
segbox urx get add segbox urx 3 -1 roll put
segbox lrx get add segbox lrx 3 -1 roll put
2 2 3 slantrampseg
}bind def
/tan {
dup sin exch cos div
}bind def
/rampbox {
pbox top get dup rbox uly 3 -1 roll put rbox ury 3 -1 roll put
pbox left get dup rbox ulx 3 -1 roll put rbox llx 3 -1 roll put
pbox bottom get dup rbox lly 3 -1 roll put rbox lry 3 -1 roll put
pbox right get dup rbox urx 3 -1 roll put rbox lrx 3 -1 roll put
}bind def
/LoadSegBox {
4 copy
segbox llx 6 -1 roll put
segbox lly 5 -1 roll put
segbox lrx 4 -1 roll put
segbox lry 6 -1 roll put
segbox urx 5 -1 roll put
segbox ury 3 -1 roll put
segbox ulx 4 -1 roll put
segbox uly 3 -1 roll put
} bind def
/TransToCenter {
gsave
flattenpath
pathbbox
grestore
2 index
sub 2.0 div exch
3 index sub 2.0 div
4 -1 roll add
3 1 roll add
translate
} bind def
/RotRampGrad {
gsave
TransToCenter
-1.0 mul 180.0 add rotate
flattenpath
pathbbox
clip
newpath
LoadSegBox
flipRatio 1 lt dup{flipramp}if flipRatio 0 gt and
{
/flipRatio 1.0 flipRatio sub def
segbox rbox copy pop leftrbox drawslantramp flipramp rightrbox drawslantramp
}
{drawslantramp} ifelse
grestore
} bind def
/bbg {
pbox exch get
} bind def
/DR { % Directional ramp
/workingMatrix mstore def
objectCord setmatrix
flipramp
gsave
flattenpath pathbbox
grestore
pbox bottom 3 -1 roll put pbox right 3 -1 roll put pbox top 3 -1 roll put pbox left 3 -1 roll put
rampAngle RotRampGrad
RF
workingMatrix setmatrix
}bind def
/ramparc {
gsave
circum rampdelta delta astore pop
/rampPenW 60.0 nRampSteps div def
/ang1 exch rampAngle sub def
/ang2 rampPenW ang1 add def
rampColors exch get aload mycurrentrgbcolor copy pop setrgbcolor 1 setlinewidth
nRampSteps {ramparcseg}repeat
grestore
}bind def
/ramparcseg {
newpath
rampcenter aload pop moveto
rampcenter aload pop rampradius ang2 ang1 arcn fill
/ang1 ang2 def
/ang2 ang2 rampPenW add def
delta aload pop adddelta
}bind def
/GetRadius {
rbox urx get rbox llx get sub 2 div rampcenter 0 get abs add dup mul
rbox lly get rbox ury get sub 2 div rampcenter 1 get abs add dup mul
add sqrt
} bind def
/circularRamp {
rampbox
/rampradius GetRadius def
CalcCrcm
flipramp
0 0 0 1 ramparc
1 60 1 2 ramparc
2 120 2 3 ramparc
flipramp
0 180 0 1 ramparc
1 240 1 2 ramparc
2 300 2 3 ramparc
}bind def
/GetCircumf {
2.0 mul 3.1415926 mul
} bind def
/CalcCrcm {
rampradius GetCircumf
/circum exch 6.0 div def
} bind def
/CR {
gsave
clip
MTC currentmatrix pop
CTM setmatrix
flattenpath
pathbbox pbox bottom 3 -1 roll put pbox right 3 -1 roll put pbox top 3 -1 roll put pbox left 3 -1 roll put
pbox left get pbox right get sub abs 2 div
pbox left get add rampcenter 0 get add rampcenter 0 3 -1 roll put
pbox top get pbox bottom get sub abs 2 div
pbox top get add rampcenter 1 get add rampcenter 1 3 -1 roll put
circularRamp
MTC setmatrix
grestore
RF
}bind def
/SBR {
gsave
clip
/workingMatrix mstore def
objectCord setmatrix
flattenpath
/BaseBox pathbbox 4 array astore def
/len BaseBox 2 get BaseBox 0 get sub dup mul
BaseBox 3 get BaseBox 1 get sub dup mul
add sqrt
12.0 div
def
/EndBox
BaseBox aload pop
3 -1 roll sub
3 1 roll
exch sub
/dbx exch def
/dby exch def
BaseBox aload pop pop pop
/blly exch def
/bllx exch def
sbox 0 get 100.0 div dby mul blly add
sbox 1 get 100.0 div dbx mul bllx add
sbox 2 get 100.0 div dby mul blly add
sbox 3 get 100.0 div dbx mul bllx add
exch
4 -2 roll
exch
4 -2 roll
4 array astore
def
BaseBox EndBox ShapeBurst
workingMatrix setmatrix
grestore
} bind def
/GetBoxCenter {
2 index
sub 2.0 div
3 -1 roll add
3 1 roll
1 index sub
2.0 div add
exch
} bind def
/GetInterBox {
/boxInter exch def
4 1 7 {
-1 roll
7 index
} for
sub boxInter mul
8 -1 roll add
7 1 roll
sub boxInter mul
7 -1 roll add
6 1 roll
sub boxInter mul
6 -1 roll add
5 1 roll
sub boxInter mul
5 -1 roll add
4 1 roll
} bind def
/GetBoxCenterDeltas {
GetBoxCenter
6 2 roll
GetBoxCenter
3 -1 roll exch sub
3 1 roll sub
exch
} bind def
/GetBoxCornerDeltas {
pop pop
4 2 roll pop pop
3 -1 roll sub
3 1 roll exch sub
exch
} bind def
/getpath {
/k 0 def
{/k k 1 add def pop pop}{/k k 1 add def pop pop}{/k k 1 add def pop pop pop pop pop pop}{}pathforall
/pfa k array def
/k 0 def
{{moveto} 3 array astore pfa k 3 -1 roll put /k k 1 add def}
{{lineto} 3 array astore pfa k 3 -1 roll put /k k 1 add def}
{{curveto} 7 array astore pfa k 3 -1 roll put /k k 1 add def}
{}pathforall
}bind def
/ShapeBurst {
getpath
newpath
/SBERect exch 4 array copy def
/SBBRect exch 4 array copy def
/interRect1 SBBRect aload pop SBERect aload pop .3333333 GetInterBox 4 array astore def
/interRect2 SBBRect aload pop SBERect aload pop .6666666 GetInterBox 4 array astore def
0 0 1 SBBRect interRect1 ShapeBurstSeg
msave
interRect1 0 get interRect1 1 get translate
SBBRect aload pop interRect1 aload pop GetBoxesRatio scale
SBBRect 0 get -1.0 mul SBBRect 1 get -1.0 mul translate
1 1 2 interRect1 interRect2 ShapeBurstSeg
mrestore
msave
interRect2 0 get interRect2 1 get translate
SBBRect aload pop interRect2 aload pop GetBoxesRatio scale
SBBRect 0 get -1.0 mul SBBRect 1 get -1.0 mul translate
2 2 3 interRect2 SBERect ShapeBurstSeg
mrestore
} bind def
/ShapeBurstSeg {
/sbr1 exch 4 array copy def
/sbr0 exch 4 array copy def
/blx sbr0 0 get def
/bly sbr0 1 get def
len rampdelta delta astore pop
sbr0 aload pop sbr1 aload pop GetBoxesRatio
/ratioY exch def
/ratioX exch def
sbr0 aload pop sbr1 aload pop GetBoxCornerDeltas
/dlly exch nRampSteps div def
/dllx exch nRampSteps div def
/scaleStepX 1.0 ratioX sub nRampSteps div def
/scaleStepY 1.0 ratioY sub nRampSteps div def
/currentScaleX 1.0 scaleStepX sub def
/currentScaleY 1.0 scaleStepY sub def
/translationX blx dllx add def
/translationY bly dlly add def
/currentScaleX 1.0 def
/currentScaleY 1.0 def
/translationX blx def
/translationY bly def
rampColors exch get aload mycurrentrgbcolor copy pop setrgbcolor
nRampSteps {
msave
translationX translationY translate
currentScaleX currentScaleY scale
blx -1.0 mul bly -1.0 mul translate
pfa {aload pop exec} forall fill
delta aload pop adddelta
/translationX translationX dllx add def
/translationY translationY dlly add def
/currentScaleX currentScaleX scaleStepX sub def
/currentScaleY currentScaleY scaleStepY sub def
mrestore
} repeat
msave
translationX translationY translate
currentScaleX currentScaleY scale
blx -1.0 mul bly -1.0 mul translate
pfa {aload pop exec} forall fill
mrestore
} bind def
initmsaverestore
/tctm matrix currentmatrix def
tctm RoundMatrix setmatrix
/patternMatrix mstore def
10 setmiterlimit
2 setlinecap
newpath
%
%tLayer
%
%
%tfBegGrp
%
%@BeginRuler
%@ 9.0000000000000000000e+0 viewScale
%@ 1.1111111111111110490e-1 realScale
%@ 8 realDivs
%@ 0000 rulerFormat
%@EndRuler
%@BeginRect
/RT {13.500 RR2} def
/SD {} def
/SS {setlinewidth SD stroke} def
/LC { /setcmykcolor where
{begin 0.000 0.000 0.000 1.000 setcmykcolor end} {0.000 0.000 0.000 setrgbcolor} ifelse
} def
/PC { /setcmykcolor where
{begin 0.000 0.000 0.000 0.000 setcmykcolor end} {1.000 1.000 1.000 setrgbcolor} ifelse
} def
/PF {gsave fill grestore} def
1.000 0 11.000 20.502 0.000 0.000 161.685 513.994 rect
%@EndRect
%@BeginRuler
%@ 9.0000000000000000000e+0 viewScale
%@ 1.1111111111111110490e-1 realScale
%@ 8 realDivs
%@ 0000 rulerFormat
%@EndRuler
%@BeginOval
/RT {E} def
/SD {} def
/SS {setlinewidth SD stroke} def
/LC { /setcmykcolor where
{begin 0.000 0.000 0.000 1.000 setcmykcolor end} {0.000 0.000 0.000 setrgbcolor} ifelse
} def
/PC { /setcmykcolor where
{begin 0.000 0.000 0.000 0.000 setcmykcolor end} {1.000 1.000 1.000 setrgbcolor} ifelse
} def
/PF {gsave fill grestore} def
1.000 0 20.980 39.739 0.000 0.000 143.720 153.296 rect
%@EndOval
%@BeginRuler
%@ 9.0000000000000000000e+0 viewScale
%@ 1.1111111111111110490e-1 realScale
%@ 8 realDivs
%@ 0000 rulerFormat
%@EndRuler
%@BeginOval
/RT {E} def
/SD {} def
/SS {setlinewidth SD stroke} def
/LC { /setcmykcolor where
{begin 0.000 0.000 0.000 1.000 setcmykcolor end} {0.000 0.000 0.000 setrgbcolor} ifelse
} def
/PC { /setcmykcolor where
{begin 0.000 0.000 0.000 0.000 setcmykcolor end} {1.000 1.000 1.000 setrgbcolor} ifelse
} def
/PF {gsave fill grestore} def
1.000 0 19.982 347.335 0.000 0.000 143.720 153.296 rect
%@EndOval
%@BeginRuler
%@ 9.0000000000000000000e+0 viewScale
%@ 1.1111111111111110490e-1 realScale
%@ 8 realDivs
%@ 0000 rulerFormat
%@EndRuler
%@BeginOval
/RT {E} def
/SD {} def
/SS {setlinewidth SD stroke} def
/LC { /setcmykcolor where
{begin 0.000 0.000 0.000 1.000 setcmykcolor end} {0.000 0.000 0.000 setrgbcolor} ifelse
} def
/PF {DR} def
/flipRatio 1.000 def
/rampAngle 180 def
/rampColors [[0.000 0.000 0.000] [0.333 0.333 0.333] [0.666 0.666 0.666] [1.000 1.000 1.000]] def
/PC {} def
/RF {} def
1.000 0 52.918 131.417 0.000 0.000 8.982 9.017 rect
%@EndOval
%@BeginRuler
%@ 9.0000000000000000000e+0 viewScale
%@ 1.1111111111111110490e-1 realScale
%@ 8 realDivs
%@ 0000 rulerFormat
%@EndRuler
%@BeginOval
/RT {E} def
/SD {} def
/SS {setlinewidth SD stroke} def
/LC { /setcmykcolor where
{begin 0.000 0.000 0.000 1.000 setcmykcolor end} {0.000 0.000 0.000 setrgbcolor} ifelse
} def
/PF {DR} def
/flipRatio 1.000 def
/rampAngle 180 def
/rampColors [[0.000 0.000 0.000] [0.333 0.333 0.333] [0.666 0.666 0.666] [1.000 1.000 1.000]] def
/PC {} def
/RF {} def
1.000 0 96.333 139.933 0.000 0.000 8.982 9.017 rect
%@EndOval
%@BeginRuler
%@ 9.0000000000000000000e+0 viewScale
%@ 1.1111111111111110490e-1 realScale
%@ 8 realDivs
%@ 0000 rulerFormat
%@EndRuler
%@BeginOval
/RT {E} def
/SD {} def
/SS {setlinewidth SD stroke} def
/LC { /setcmykcolor where
{begin 0.000 0.000 0.000 1.000 setcmykcolor end} {0.000 0.000 0.000 setrgbcolor} ifelse
} def
/PF {DR} def
/flipRatio 1.000 def
/rampAngle 180 def
/rampColors [[0.000 0.000 0.000] [0.333 0.333 0.333] [0.666 0.666 0.666] [1.000 1.000 1.000]] def
/PC {} def
/RF {} def
1.000 0 123.281 112.881 0.000 0.000 8.982 9.017 rect
%@EndOval
%@BeginRuler
%@ 9.0000000000000000000e+0 viewScale
%@ 1.1111111111111110490e-1 realScale
%@ 8 realDivs
%@ 0000 rulerFormat
%@EndRuler
%@BeginOval
/RT {E} def
/SD {} def
/SS {setlinewidth SD stroke} def
/LC { /setcmykcolor where
{begin 0.000 0.000 0.000 1.000 setcmykcolor end} {0.000 0.000 0.000 setrgbcolor} ifelse
} def
/PF {DR} def
/flipRatio 1.000 def
/rampAngle 180 def
/rampColors [[0.000 0.000 0.000] [0.333 0.333 0.333] [0.666 0.666 0.666] [1.000 1.000 1.000]] def
/PC {} def
/RF {} def
1.000 0 96.333 85.829 0.000 0.000 8.982 9.017 rect
%@EndOval
%@BeginRuler
%@ 9.0000000000000000000e+0 viewScale
%@ 1.1111111111111110490e-1 realScale
%@ 8 realDivs
%@ 0000 rulerFormat
%@EndRuler
%@BeginOval
/RT {E} def
/SD {} def
/SS {setlinewidth SD stroke} def
/LC { /setcmykcolor where
{begin 0.000 0.000 0.000 1.000 setcmykcolor end} {0.000 0.000 0.000 setrgbcolor} ifelse
} def
/PF {DR} def
/flipRatio 1.000 def
/rampAngle 180 def
/rampColors [[0.000 0.000 0.000] [0.333 0.333 0.333] [0.666 0.666 0.666] [1.000 1.000 1.000]] def
/PC {} def
/RF {} def
1.000 0 51.421 94.846 0.000 0.000 8.982 9.017 rect
%@EndOval
%@BeginRuler
%@ 9.0000000000000000000e+0 viewScale
%@ 1.1111111111111110490e-1 realScale
%@ 8 realDivs
%@ 0000 rulerFormat
%@EndRuler
%@BeginOval
/RT {E} def
/SD {} def
/SS {setlinewidth SD stroke} def
/LC { /setcmykcolor where
{begin 0.000 0.000 0.000 1.000 setcmykcolor end} {0.000 0.000 0.000 setrgbcolor} ifelse
} def
/PF {DR} def
/flipRatio 1.000 def
/rampAngle 180 def
/rampColors [[0.000 0.000 0.000] [0.333 0.333 0.333] [0.666 0.666 0.666] [1.000 1.000 1.000]] def
/PC {} def
/RF {} def
1.000 0 51.421 419.474 0.000 0.000 8.982 9.017 rect
%@EndOval
%@BeginRuler
%@ 9.0000000000000000000e+0 viewScale
%@ 1.1111111111111110490e-1 realScale
%@ 8 realDivs
%@ 0000 rulerFormat
%@EndRuler
%@BeginOval
/RT {E} def
/SD {} def
/SS {setlinewidth SD stroke} def
/LC { /setcmykcolor where
{begin 0.000 0.000 0.000 1.000 setcmykcolor end} {0.000 0.000 0.000 setrgbcolor} ifelse
} def
/PF {DR} def
/flipRatio 1.000 def
/rampAngle 180 def
/rampColors [[0.000 0.000 0.000] [0.333 0.333 0.333] [0.666 0.666 0.666] [1.000 1.000 1.000]] def
/PC {} def
/RF {} def
1.000 0 87.351 447.529 0.000 0.000 8.982 9.017 rect
%@EndOval
%@BeginRuler
%@ 9.0000000000000000000e+0 viewScale
%@ 1.1111111111111110490e-1 realScale
%@ 8 realDivs
%@ 0000 rulerFormat
%@EndRuler
%@BeginOval
/RT {E} def
/SD {} def
/SS {setlinewidth SD stroke} def
/LC { /setcmykcolor where
{begin 0.000 0.000 0.000 1.000 setcmykcolor end} {0.000 0.000 0.000 setrgbcolor} ifelse
} def
/PF {DR} def
/flipRatio 1.000 def
/rampAngle 180 def
/rampColors [[0.000 0.000 0.000] [0.333 0.333 0.333] [0.666 0.666 0.666] [1.000 1.000 1.000]] def
/PC {} def
/RF {} def
1.000 0 87.351 383.405 0.000 0.000 8.982 9.017 rect
%@EndOval
%@BeginRuler
%@ 9.0000000000000000000e+0 viewScale
%@ 1.1111111111111110490e-1 realScale
%@ 8 realDivs
%@ 0000 rulerFormat
%@EndRuler
%@BeginOval
/RT {E} def
/SD {} def
/SS {setlinewidth SD stroke} def
/LC { /setcmykcolor where
{begin 0.000 0.000 0.000 1.000 setcmykcolor end} {0.000 0.000 0.000 setrgbcolor} ifelse
} def
/PF {DR} def
/flipRatio 1.000 def
/rampAngle 180 def
/rampColors [[0.000 0.000 0.000] [0.333 0.333 0.333] [0.666 0.666 0.666] [1.000 1.000 1.000]] def
/PC {} def
/RF {} def
1.000 0 123.281 419.474 0.000 0.000 8.982 9.017 rect
%@EndOval
%@BeginText
save
[ 39/quotesingle 96/grave 128/Adieresis/Aring/Ccedilla/Eacute/Ntilde/Odieresis
/Udieresis/aacute/agrave/acircumflex/adieresis/atilde/aring/ccedilla/eacute
/egrave/ecircumflex/edieresis/iacute/igrave/icircumflex/idieresis/ntilde
/oacute/ograve/ocircumflex/odieresis/otilde/uacute/ugrave/ucircumflex
/udieresis/dagger/degree/cent/sterling/section/bullet/paragraph/germandbls
/registered/copyright/trademark/acute/dieresis/.notdef/AE/Oslash
/.notdef/plusminus/.notdef/.notdef/yen/mu/.notdef/.notdef
/.notdef/.notdef/.notdef/ordfeminine/ordmasculine/.notdef/ae/oslash
/questiondown/exclamdown/logicalnot/.notdef/florin/.notdef/.notdef
/guillemotleft/guillemotright/ellipsis/.notdef/Agrave/Atilde/Otilde/OE/oe
/endash/emdash/quotedblleft/quotedblright/quoteleft/quoteright/divide
/.notdef/ydieresis/Ydieresis/fraction/currency/guilsinglleft/guilsinglright
/fi/fl/daggerdbl/periodcentered/quotesinglbase/quotedblbase/perthousand
/Acircumflex/Ecircumflex/Aacute/Edieresis/Egrave/Iacute/Icircumflex
/Idieresis/Igrave/Oacute/Ocircumflex/.notdef/Ograve/Uacute/Ucircumflex
/Ugrave/dotlessi/circumflex/tilde/macron/breve/dotaccent/ring/cedilla
/hungarumlaut/ogonek/caron]
StandardEncoding Re-encode /_Times-Roman /Times-Roman EncodeFont

%@BeginRect
/RT {SR} def
/LC {} def
/SS {pop} def
/PF {} def
/PC {} def
0.000 0 64.895 54.268 0.000 0.000 16.000 40.903 rect
%@EndRect
gsave
74.719 72.895 T translate
0.0 rotate
1 1 scale
14.000 (_Times-Roman) plain F
/setcmykcolor where
{begin 0.000 0.000 0.000 1.000 setcmykcolor end} {0.000 0.000 0.000 setrgbcolor} ifelse

(0) -20.231 4.000 S
( ) -13.231 4.000 S
(\() -9.731 4.000 S
(0) -5.069 4.000 S
(,) 1.930 4.000 S
( ) 5.430 4.000 S
(0) 8.930 4.000 S
(\)) 15.930 4.000 S
grestore
%@EndText
%@BeginText
%@BeginRect
/RT {SR} def
/LC {} def
/SS {pop} def
/PF {} def
/PC {} def
0.000 0 107.811 54.268 0.000 0.000 16.000 40.903 rect
%@EndRect
gsave
74.719 115.811 T translate
0.0 rotate
1 1 scale
14.000 (_Times-Roman) fess
/setcmykcolor where
{begin 0.000 0.000 0.000 1.000 setcmykcolor end} {0.000 0.000 0.000 setrgbcolor} ifelse

(4) -20.231 4.000 S
( ) -13.231 4.000 S
(\() -9.731 4.000 S
(1) -5.069 4.000 S
(,) 1.930 4.000 S
( ) 5.430 4.000 S
(0) 8.930 4.000 S
(\)) 15.930 4.000 S
grestore
%@EndText
%@BeginText
%@BeginRect
/RT {SR} def
/LC {} def
/SS {pop} def
/PF {} def
/PC {} def
0.000 0 134.759 96.349 0.000 0.000 16.000 40.903 rect
%@EndRect
gsave
116.801 142.759 T translate
0.0 rotate
1 1 scale
14.000 (_Times-Roman) fess
/setcmykcolor where
{begin 0.000 0.000 0.000 1.000 setcmykcolor end} {0.000 0.000 0.000 setrgbcolor} ifelse

(3) -20.150 4.000 S
( ) -13.150 4.000 S
(\() -9.650 4.000 S
(2) -4.988 4.000 S
(,) 2.011 4.000 S
( ) 5.511 4.000 S
(1) 9.011 4.000 S
(\)) 16.011 4.000 S
grestore
%@EndText
%@BeginText
%@BeginRect
/RT {SR} def
/LC {} def
/SS {pop} def
/PF {} def
/PC {} def
0.000 0 107.811 144.442 0.000 0.000 16.000 40.903 rect
%@EndRect
gsave
164.894 115.811 T translate
0.0 rotate
1 1 scale
14.000 (_Times-Roman) fess
/setcmykcolor where
{begin 0.000 0.000 0.000 1.000 setcmykcolor end} {0.000 0.000 0.000 setrgbcolor} ifelse

(2) -20.057 4.000 S
( ) -13.057 4.000 S
(\() -9.557 4.000 S
(2) -4.895 4.000 S
(,) 2.104 4.000 S
( ) 5.604 4.000 S
(0) 9.104 4.000 S
(\)) 16.104 4.000 S
grestore
%@EndText
%@BeginText
%@BeginRect
/RT {SR} def
/LC {} def
/SS {pop} def
/PF {} def
/PC {} def
0.000 0 62.899 143.440 0.000 0.000 16.000 40.903 rect
%@EndRect
gsave
163.892 70.899 T translate
0.0 rotate
1 1 scale
14.000 (_Times-Roman) fess
/setcmykcolor where
{begin 0.000 0.000 0.000 1.000 setcmykcolor end} {0.000 0.000 0.000 setrgbcolor} ifelse

(1) -20.059 4.000 S
( ) -13.059 4.000 S
(\() -9.559 4.000 S
(0) -4.897 4.000 S
(,) 2.102 4.000 S
( ) 5.602 4.000 S
(1) 9.102 4.000 S
(\)) 16.102 4.000 S
grestore
%@EndText
%@BeginText
%@BeginRect
/RT {SR} def
/LC {} def
/SS {pop} def
/PF {} def
/PC {} def
0.000 0 26.968 252.651 0.000 0.000 16.000 31.951 rect
%@EndRect
gsave
268.627 34.968 T translate
0.0 rotate
1 1 scale
14.000 (_Times-Roman) fess
/setcmykcolor where
{begin 0.000 0.000 0.000 1.000 setcmykcolor end} {0.000 0.000 0.000 setrgbcolor} ifelse

(C) -15.848 4.000 S
(o) -6.510 4.000 S
(l) 0.489 4.000 S
(o) 4.379 4.000 S
(r) 11.379 4.000 S
grestore
%@EndText
%@BeginText
%@BeginRect
/RT {SR} def
/LC {} def
/SS {pop} def
/PF {} def
/PC {} def
0.000 0 35.951 405.948 0.000 0.000 16.000 40.903 rect
%@EndRect
gsave
426.400 43.951 T translate
0.0 rotate
1 1 scale
14.000 (_Times-Roman) fess
/setcmykcolor where
{begin 0.000 0.000 0.000 1.000 setcmykcolor end} {0.000 0.000 0.000 setrgbcolor} ifelse

(1) -19.551 4.000 S
( ) -12.551 4.000 S
(\() -9.051 4.000 S
(1) -4.389 4.000 S
(,) 2.610 4.000 S
( ) 6.110 4.000 S
(0) 9.610 4.000 S
(\)) 16.610 4.000 S
grestore
%@EndText
%@BeginText
%@BeginRect
/RT {SR} def
/LC {} def
/SS {pop} def
/PF {} def
/PC {} def
0.000 0 98.829 357.855 0.000 0.000 16.000 40.903 rect
%@EndRect
gsave
378.307 106.829 T translate
0.0 rotate
1 1 scale
14.000 (_Times-Roman) fess
/setcmykcolor where
{begin 0.000 0.000 0.000 1.000 setcmykcolor end} {0.000 0.000 0.000 setrgbcolor} ifelse

(0) -19.644 4.000 S
( ) -12.644 4.000 S
(\() -9.144 4.000 S
(0) -4.482 4.000 S
(,) 2.517 4.000 S
( ) 6.017 4.000 S
(0) 9.517 4.000 S
(\)) 16.517 4.000 S
grestore
%@EndText
%@BeginText
%@BeginRect
/RT {SR} def
/LC {} def
/SS {pop} def
/PF {} def
/PC {} def
0.000 0 134.759 405.948 0.000 0.000 16.000 40.903 rect
%@EndRect
gsave
426.400 142.759 T translate
0.0 rotate
1 1 scale
14.000 (_Times-Roman) fess
/setcmykcolor where
{begin 0.000 0.000 0.000 1.000 setcmykcolor end} {0.000 0.000 0.000 setrgbcolor} ifelse

(3) -19.551 4.000 S
( ) -12.551 4.000 S
(\() -9.051 4.000 S
(0) -4.389 4.000 S
(,) 2.610 4.000 S
( ) 6.110 4.000 S
(1) 9.610 4.000 S
(\)) 16.610 4.000 S
grestore
%@EndText
%@BeginText
%@BeginRect
/RT {SR} def
/LC {} def
/SS {pop} def
/PF {} def
/PC {} def
0.000 0 98.829 454.041 0.000 0.000 16.000 40.903 rect
%@EndRect
gsave
474.493 106.829 T translate
0.0 rotate
1 1 scale
14.000 (_Times-Roman) fess
/setcmykcolor where
{begin 0.000 0.000 0.000 1.000 setcmykcolor end} {0.000 0.000 0.000 setrgbcolor} ifelse

(2) -19.458 4.000 S
( ) -12.458 4.000 S
(\() -8.958 4.000 S
(2) -4.296 4.000 S
(,) 2.703 4.000 S
( ) 6.203 4.000 S
(0) 9.703 4.000 S
(\)) 16.703 4.000 S
grestore
%@EndText
%@BeginRuler
%@ 9.0000000000000000000e+0 viewScale
%@ 1.1111111111111110490e-1 realScale
%@ 8 realDivs
%@ 0000 rulerFormat
%@EndRuler
%@BeginLine
/ArrowType{
1.000 setlinewidth
163.479 108.809 moveto
/Triangular 14.099 7.049 false 321.140 DrawArrowHead
} bind def
/SD {} def
/SS {setlinewidth SD stroke} def
/LC { /setcmykcolor where
{begin 0.000 0.000 0.000 1.000 setcmykcolor end} {0.000 0.000 0.000 setrgbcolor} ifelse
} def
/PF {gsave fill grestore} def
/SS {setlinewidth SD stroke} def
1.000 165.036 107.554 247.642 40.941 Line
%@EndLine
%@BeginRuler
%@ 9.0000000000000000000e+0 viewScale
%@ 1.1111111111111110490e-1 realScale
%@ 8 realDivs
%@ 0000 rulerFormat
%@EndRuler
%@BeginLine
/ArrowType{
1.000 setlinewidth
372.884 100.825 moveto
/Triangular 14.099 7.049 false 214.503 DrawArrowHead
} bind def
/SD {} def
/SS {setlinewidth SD stroke} def
/LC { /setcmykcolor where
{begin 0.000 0.000 0.000 1.000 setcmykcolor end} {0.000 0.000 0.000 setrgbcolor} ifelse
} def
/PF {gsave fill grestore} def
/SS {setlinewidth SD stroke} def
1.000 371.236 99.692 285.716 40.941 Line
%@EndLine
%@BeginText
%@BeginRect
/RT {SR} def
/LC {} def
/SS {pop} def
/PF {} def
/PC {} def
0.000 0 152.058 272.131 0.000 0.000 16.000 23.482 rect
%@EndRect
gsave
283.872 160.058 T translate
0.0 rotate
1 1 scale
14.000 (_Times-Roman) fess
/setcmykcolor where
{begin 0.000 0.000 0.000 1.000 setcmykcolor end} {0.000 0.000 0.000 setrgbcolor} ifelse

(K) -11.368 4.000 S
(e) -1.258 4.000 S
(y) 4.955 4.000 S
grestore
%@EndText
%@BeginRuler
%@ 9.0000000000000000000e+0 viewScale
%@ 1.1111111111111110490e-1 realScale
%@ 8 realDivs
%@ 0000 rulerFormat
%@EndRuler
%@BeginLine
/ArrowType{
1.000 setlinewidth
179.510 120.620 moveto
/Triangular 14.099 7.049 false 377.842 DrawArrowHead
} bind def
/SD {} def
/SS {setlinewidth SD stroke} def
/LC { /setcmykcolor where
{begin 0.000 0.000 0.000 1.000 setcmykcolor end} {0.000 0.000 0.000 setrgbcolor} ifelse
} def
/PF {gsave fill grestore} def
/SS {setlinewidth SD stroke} def
1.000 181.414 121.231 271.129 150.062 Line
%@EndLine
%@BeginRuler
%@ 9.0000000000000000000e+0 viewScale
%@ 1.1111111111111110490e-1 realScale
%@ 8 realDivs
%@ 0000 rulerFormat
%@EndRuler
%@BeginLine
/ArrowType{
1.000 setlinewidth
386.911 110.805 moveto
/Triangular 14.099 7.049 false 156.449 DrawArrowHead
} bind def
/SD {} def
/SS {setlinewidth SD stroke} def
/LC { /setcmykcolor where
{begin 0.000 0.000 0.000 1.000 setcmykcolor end} {0.000 0.000 0.000 setrgbcolor} ifelse
} def
/PF {gsave fill grestore} def
/SS {setlinewidth SD stroke} def
1.000 385.078 111.605 291.265 152.516 Line
%@EndLine
%
%tfEndGrp
%
%
%tfBegGrp
%
%@BeginRuler
%@ 9.0000000000000000000e+0 viewScale
%@ 1.1111111111111110490e-1 realScale
%@ 8 realDivs
%@ 0000 rulerFormat
%@EndRuler
%@BeginRect
/RT {13.500 RR2} def
/SD {} def
/SS {setlinewidth SD stroke} def
/LC { /setcmykcolor where
{begin 0.000 0.000 0.000 1.000 setcmykcolor end} {0.000 0.000 0.000 setrgbcolor} ifelse
} def
/PC { /setcmykcolor where
{begin 0.000 0.000 0.000 0.000 setcmykcolor end} {1.000 1.000 1.000 setrgbcolor} ifelse
} def
/PF {gsave fill grestore} def
1.000 0 223.675 18.502 0.000 0.000 111.782 513.994 rect
%@EndRect
%
%tfBegGrp
%
%@BeginRuler
%@ 9.0000000000000000000e+0 viewScale
%@ 1.1111111111111110490e-1 realScale
%@ 8 realDivs
%@ 0000 rulerFormat
%@EndRuler
%@BeginOval
/RT {E} def
/SD {} def
/SS {setlinewidth SD stroke} def
/LC { /setcmykcolor where
{begin 0.000 0.000 0.000 1.000 setcmykcolor end} {0.000 0.000 0.000 setrgbcolor} ifelse
} def
/PC { /setcmykcolor where
{begin 0.000 0.000 0.000 0.000 setcmykcolor end} {1.000 1.000 1.000 setrgbcolor} ifelse
} def
/PF {gsave fill grestore} def
1.000 0 242.650 78.133 0.000 0.000 79.844 83.160 rect
%@EndOval
%@BeginText
%@BeginRect
/RT {SR} def
/LC {} def
/SS {pop} def
/PF {} def
/PC {} def
0.000 0 287.563 87.150 0.000 0.000 16.000 26.876 rect
%@EndRect
gsave
100.588 295.563 T translate
0.0 rotate
1 1 scale
14.000 (_Times-Roman) fess
/setcmykcolor where
{begin 0.000 0.000 0.000 1.000 setcmykcolor end} {0.000 0.000 0.000 setrgbcolor} ifelse

(0) -13.349 4.000 S
( ) -6.349 4.000 S
(\() -2.849 4.000 S
(0) 1.812 4.000 S
(\)) 8.812 4.000 S
grestore
%@EndText
%@BeginRuler
%@ 9.0000000000000000000e+0 viewScale
%@ 1.1111111111111110490e-1 realScale
%@ 8 realDivs
%@ 0000 rulerFormat
%@EndRuler
%@BeginOval
/RT {E} def
/SD {} def
/SS {setlinewidth SD stroke} def
/LC { /setcmykcolor where
{begin 0.000 0.000 0.000 1.000 setcmykcolor end} {0.000 0.000 0.000 setrgbcolor} ifelse
} def
/PF {DR} def
/flipRatio 1.000 def
/rampAngle 180 def
/rampColors [[0.000 0.000 0.000] [0.333 0.333 0.333] [0.666 0.666 0.666] [1.000 1.000 1.000]] def
/PC {} def
/RF {} def
1.000 0 275.087 93.663 0.000 0.000 8.982 9.017 rect
%@EndOval
%@BeginRuler
%@ 9.0000000000000000000e+0 viewScale
%@ 1.1111111111111110490e-1 realScale
%@ 8 realDivs
%@ 0000 rulerFormat
%@EndRuler
%@BeginOval
/RT {E} def
/SD {} def
/SS {setlinewidth SD stroke} def
/LC { /setcmykcolor where
{begin 0.000 0.000 0.000 1.000 setcmykcolor end} {0.000 0.000 0.000 setrgbcolor} ifelse
} def
/PF {DR} def
/flipRatio 1.000 def
/rampAngle 180 def
/rampColors [[0.000 0.000 0.000] [0.333 0.333 0.333] [0.666 0.666 0.666] [1.000 1.000 1.000]] def
/PC {} def
/RF {} def
1.000 0 274.089 135.744 0.000 0.000 8.982 9.017 rect
%@EndOval
%@BeginText
%@BeginRect
/RT {SR} def
/LC {} def
/SS {pop} def
/PF {} def
/PC {} def
0.000 0 286.565 128.230 0.000 0.000 16.000 26.876 rect
%@EndRect
gsave
141.668 294.565 T translate
0.0 rotate
1 1 scale
14.000 (_Times-Roman) fess
/setcmykcolor where
{begin 0.000 0.000 0.000 1.000 setcmykcolor end} {0.000 0.000 0.000 setrgbcolor} ifelse

(1) -13.269 4.000 S
( ) -6.269 4.000 S
(\() -2.769 4.000 S
(1) 1.892 4.000 S
(\)) 8.892 4.000 S
grestore
%@EndText
%
%tfEndGrp
%
%@BeginRuler
%@ 9.0000000000000000000e+0 viewScale
%@ 1.1111111111111110490e-1 realScale
%@ 8 realDivs
%@ 0000 rulerFormat
%@EndRuler
%@BeginOval
/RT {E} def
/SD {} def
/SS {setlinewidth SD stroke} def
/LC { /setcmykcolor where
{begin 0.000 0.000 0.000 1.000 setcmykcolor end} {0.000 0.000 0.000 setrgbcolor} ifelse
} def
/PC { /setcmykcolor where
{begin 0.000 0.000 0.000 0.000 setcmykcolor end} {1.000 1.000 1.000 setrgbcolor} ifelse
} def
/PF {gsave fill grestore} def
1.000 0 237.648 384.210 0.000 0.000 79.844 83.160 rect
%@EndOval
%@BeginText
%@BeginRect
/RT {SR} def
/LC {} def
/SS {pop} def
/PF {} def
/PC {} def
0.000 0 281.563 394.229 0.000 0.000 16.000 26.876 rect
%@EndRect
gsave
407.667 289.563 T translate
0.0 rotate
1 1 scale
14.000 (_Times-Roman) fess
/setcmykcolor where
{begin 0.000 0.000 0.000 1.000 setcmykcolor end} {0.000 0.000 0.000 setrgbcolor} ifelse

(0) -13.270 4.000 S
( ) -6.270 4.000 S
(\() -2.770 4.000 S
(0) 1.891 4.000 S
(\)) 8.891 4.000 S
grestore
%@EndText
%@BeginRuler
%@ 9.0000000000000000000e+0 viewScale
%@ 1.1111111111111110490e-1 realScale
%@ 8 realDivs
%@ 0000 rulerFormat
%@EndRuler
%@BeginOval
/RT {E} def
/SD {} def
/SS {setlinewidth SD stroke} def
/LC { /setcmykcolor where
{begin 0.000 0.000 0.000 1.000 setcmykcolor end} {0.000 0.000 0.000 setrgbcolor} ifelse
} def
/PF {DR} def
/flipRatio 1.000 def
/rampAngle 180 def
/rampColors [[0.000 0.000 0.000] [0.333 0.333 0.333] [0.666 0.666 0.666] [1.000 1.000 1.000]] def
/PC {} def
/RF {} def
1.000 0 268.089 402.745 0.000 0.000 8.982 9.017 rect
%@EndOval
%@BeginRuler
%@ 9.0000000000000000000e+0 viewScale
%@ 1.1111111111111110490e-1 realScale
%@ 8 realDivs
%@ 0000 rulerFormat
%@EndRuler
%@BeginOval
/RT {E} def
/SD {} def
/SS {setlinewidth SD stroke} def
/LC { /setcmykcolor where
{begin 0.000 0.000 0.000 1.000 setcmykcolor end} {0.000 0.000 0.000 setrgbcolor} ifelse
} def
/PF {DR} def
/flipRatio 1.000 def
/rampAngle 180 def
/rampColors [[0.000 0.000 0.000] [0.333 0.333 0.333] [0.666 0.666 0.666] [1.000 1.000 1.000]] def
/PC {} def
/RF {} def
1.000 0 269.087 445.829 0.000 0.000 8.982 9.017 rect
%@EndOval
%@BeginText
%@BeginRect
/RT {SR} def
/LC {} def
/SS {pop} def
/PF {} def
/PC {} def
0.000 0 280.565 438.314 0.000 0.000 16.000 26.876 rect
%@EndRect
gsave
451.752 288.565 T translate
0.0 rotate
1 1 scale
14.000 (_Times-Roman) fess
/setcmykcolor where
{begin 0.000 0.000 0.000 1.000 setcmykcolor end} {0.000 0.000 0.000 setrgbcolor} ifelse

(1) -13.185 4.000 S
( ) -6.185 4.000 S
(\() -2.685 4.000 S
(3) 1.976 4.000 S
(\)) 8.976 4.000 S
grestore
%@EndText
%@BeginText
%@BeginRect
/RT {SR} def
/LC {} def
/SS {pop} def
/PF {} def
/PC {} def
0.000 0 235.652 201.356 0.000 0.000 16.000 148.038 rect
%@EndRect
gsave
275.375 243.652 T translate
0.0 rotate
1 1 scale
14.000 (_Times-Roman) fess
/setcmykcolor where
{begin 0.000 0.000 0.000 1.000 setcmykcolor end} {0.000 0.000 0.000 setrgbcolor} ifelse

(R) -73.143 4.000 S
(a) -63.805 4.000 S
(n) -57.592 4.000 S
(k) -50.592 4.000 S
( ) -43.592 4.000 S
(i) -40.092 4.000 S
(n) -36.202 4.000 S
( ) -29.202 4.000 S
(t) -25.702 4.000 S
(h) -21.812 4.000 S
(e) -14.812 4.000 S
( ) -8.598 4.000 S
(o) -5.098 4.000 S
(r) 1.901 4.000 S
(i) 6.563 4.000 S
(g) 10.452 4.000 S
(i) 17.452 4.000 S
(n) 21.342 4.000 S
(a) 28.342 4.000 S
(l) 34.556 4.000 S
( ) 38.446 4.000 S
(g) 41.946 4.000 S
(r) 48.946 4.000 S
(o) 53.608 4.000 S
(u) 60.608 4.000 S
(p) 67.608 4.000 S
grestore
%@EndText
%@BeginRuler
%@ 9.0000000000000000000e+0 viewScale
%@ 1.1111111111111110490e-1 realScale
%@ 8 realDivs
%@ 0000 rulerFormat
%@EndRuler
%@BeginLine
/ArrowType{
1.000 setlinewidth
150.265 284.563 moveto
/Triangular 14.099 7.049 false 337.327 DrawArrowHead
} bind def
/SD {} def
/SS {setlinewidth SD stroke} def
/LC { /setcmykcolor where
{begin 0.000 0.000 0.000 1.000 setcmykcolor end} {0.000 0.000 0.000 setrgbcolor} ifelse
} def
/PF {gsave fill grestore} def
/SS {setlinewidth SD stroke} def
1.000 152.110 283.791 231.414 250.623 Line
%@EndLine
%@BeginRuler
%@ 9.0000000000000000000e+0 viewScale
%@ 1.1111111111111110490e-1 realScale
%@ 8 realDivs
%@ 0000 rulerFormat
%@EndRuler
%@BeginLine
/ArrowType{
1.000 setlinewidth
411.763 284.557 moveto
/Triangular 14.099 7.049 false 202.866 DrawArrowHead
} bind def
/SD {} def
/SS {setlinewidth SD stroke} def
/LC { /setcmykcolor where
{begin 0.000 0.000 0.000 1.000 setcmykcolor end} {0.000 0.000 0.000 setrgbcolor} ifelse
} def
/PF {gsave fill grestore} def
/SS {setlinewidth SD stroke} def
1.000 409.920 283.780 333.612 251.621 Line
%@EndLine
%@BeginText
%@BeginRect
/RT {SR} def
/LC {} def
/SS {pop} def
/PF {} def
/PC {} def
0.000 0 305.106 239.636 0.000 0.000 20.000 60.152 rect
%@EndRect
gsave
269.712 315.106 T translate
0.0 rotate
1 1 scale
18.000 (_Times-Roman) fess
/setcmykcolor where
{begin 0.000 0.000 0.000 1.000 setcmykcolor end} {0.000 0.000 0.000 setrgbcolor} ifelse

(C) -29.863 5.000 S
(o) -17.858 5.000 S
(l) -8.858 5.000 S
(o) -3.857 5.000 S
(r) 5.142 5.000 S
(=) 11.137 5.000 S
(0) 21.288 5.000 S
grestore
%@EndText
%
%tfEndGrp
%
%
%tfBegGrp
%
%@BeginRuler
%@ 9.0000000000000000000e+0 viewScale
%@ 1.1111111111111110490e-1 realScale
%@ 8 realDivs
%@ 0000 rulerFormat
%@EndRuler
%@BeginRect
/RT {13.500 RR2} def
/SD {} def
/SS {setlinewidth SD stroke} def
/LC { /setcmykcolor where
{begin 0.000 0.000 0.000 1.000 setcmykcolor end} {0.000 0.000 0.000 setrgbcolor} ifelse
} def
/PC { /setcmykcolor where
{begin 0.000 0.000 0.000 0.000 setcmykcolor end} {1.000 1.000 1.000 setrgbcolor} ifelse
} def
/PF {gsave fill grestore} def
1.000 0 339.446 18.502 0.000 0.000 111.782 513.994 rect
%@EndRect
%@BeginRuler
%@ 9.0000000000000000000e+0 viewScale
%@ 1.1111111111111110490e-1 realScale
%@ 8 realDivs
%@ 0000 rulerFormat
%@EndRuler
%@BeginOval
/RT {E} def
/SD {} def
/SS {setlinewidth SD stroke} def
/LC { /setcmykcolor where
{begin 0.000 0.000 0.000 1.000 setcmykcolor end} {0.000 0.000 0.000 setrgbcolor} ifelse
} def
/PC { /setcmykcolor where
{begin 0.000 0.000 0.000 0.000 setcmykcolor end} {1.000 1.000 1.000 setrgbcolor} ifelse
} def
/PF {gsave fill grestore} def
1.000 0 353.429 382.724 0.000 0.000 79.844 83.160 rect
%@EndOval
%@BeginText
%@BeginRect
/RT {SR} def
/LC {} def
/SS {pop} def
/PF {} def
/PC {} def
0.000 0 399.339 411.780 0.000 0.000 16.000 26.876 rect
%@EndRect
gsave
425.219 407.339 T translate
0.0 rotate
1 1 scale
14.000 (_Times-Roman) fess
/setcmykcolor where
{begin 0.000 0.000 0.000 1.000 setcmykcolor end} {0.000 0.000 0.000 setrgbcolor} ifelse

(0) -12.719 4.000 S
( ) -5.719 4.000 S
(\() -2.219 4.000 S
(1) 2.442 4.000 S
(\)) 9.442 4.000 S
grestore
%@EndText
%@BeginRuler
%@ 9.0000000000000000000e+0 viewScale
%@ 1.1111111111111110490e-1 realScale
%@ 8 realDivs
%@ 0000 rulerFormat
%@EndRuler
%@BeginOval
/RT {E} def
/SD {} def
/SS {setlinewidth SD stroke} def
/LC { /setcmykcolor where
{begin 0.000 0.000 0.000 1.000 setcmykcolor end} {0.000 0.000 0.000 setrgbcolor} ifelse
} def
/PF {DR} def
/flipRatio 1.000 def
/rampAngle 180 def
/rampColors [[0.000 0.000 0.000] [0.333 0.333 0.333] [0.666 0.666 0.666] [1.000 1.000 1.000]] def
/PC {} def
/RF {} def
1.000 0 385.866 418.794 0.000 0.000 8.982 9.017 rect
%@EndOval
%
%tfBegGrp
%
%@BeginRuler
%@ 9.0000000000000000000e+0 viewScale
%@ 1.1111111111111110490e-1 realScale
%@ 8 realDivs
%@ 0000 rulerFormat
%@EndRuler
%@BeginOval
/RT {E} def
/SD {} def
/SS {setlinewidth SD stroke} def
/LC { /setcmykcolor where
{begin 0.000 0.000 0.000 1.000 setcmykcolor end} {0.000 0.000 0.000 setrgbcolor} ifelse
} def
/PC { /setcmykcolor where
{begin 0.000 0.000 0.000 0.000 setcmykcolor end} {1.000 1.000 1.000 setrgbcolor} ifelse
} def
/PF {gsave fill grestore} def
1.000 0 354.425 77.123 0.000 0.000 79.844 83.160 rect
%@EndOval
%@BeginText
%@BeginRect
/RT {SR} def
/LC {} def
/SS {pop} def
/PF {} def
/PC {} def
0.000 0 400.335 104.175 0.000 0.000 16.000 26.876 rect
%@EndRect
gsave
117.614 408.335 T translate
0.0 rotate
1 1 scale
14.000 (_Times-Roman) fess
/setcmykcolor where
{begin 0.000 0.000 0.000 1.000 setcmykcolor end} {0.000 0.000 0.000 setrgbcolor} ifelse

(0) -13.324 4.000 S
( ) -6.324 4.000 S
(\() -2.824 4.000 S
(4) 1.838 4.000 S
(\)) 8.838 4.000 S
grestore
%@EndText
%@BeginRuler
%@ 9.0000000000000000000e+0 viewScale
%@ 1.1111111111111110490e-1 realScale
%@ 8 realDivs
%@ 0000 rulerFormat
%@EndRuler
%@BeginOval
/RT {E} def
/SD {} def
/SS {setlinewidth SD stroke} def
/LC { /setcmykcolor where
{begin 0.000 0.000 0.000 1.000 setcmykcolor end} {0.000 0.000 0.000 setrgbcolor} ifelse
} def
/PF {DR} def
/flipRatio 1.000 def
/rampAngle 180 def
/rampColors [[0.000 0.000 0.000] [0.333 0.333 0.333] [0.666 0.666 0.666] [1.000 1.000 1.000]] def
/PC {} def
/RF {} def
1.000 0 386.862 112.191 0.000 0.000 8.982 9.017 rect
%@EndOval
%
%tfEndGrp
%
%@BeginText
%@BeginRect
/RT {SR} def
/LC {} def
/SS {pop} def
/PF {} def
/PC {} def
0.000 0 424.106 239.135 0.000 0.000 20.000 60.152 rect
%@EndRect
gsave
269.211 434.106 T translate
0.0 rotate
1 1 scale
18.000 (_Times-Roman) fess
/setcmykcolor where
{begin 0.000 0.000 0.000 1.000 setcmykcolor end} {0.000 0.000 0.000 setrgbcolor} ifelse

(C) -29.364 5.000 S
(o) -17.358 5.000 S
(l) -8.358 5.000 S
(o) -3.358 5.000 S
(r) 5.641 5.000 S
(=) 11.636 5.000 S
(1) 21.787 5.000 S
grestore
%@EndText
%
%tfEndGrp
%
%
%tfBegGrp
%
%@BeginRuler
%@ 9.0000000000000000000e+0 viewScale
%@ 1.1111111111111110490e-1 realScale
%@ 8 realDivs
%@ 0000 rulerFormat
%@EndRuler
%@BeginRect
/RT {13.500 RR2} def
/SD {} def
/SS {setlinewidth SD stroke} def
/LC { /setcmykcolor where
{begin 0.000 0.000 0.000 1.000 setcmykcolor end} {0.000 0.000 0.000 setrgbcolor} ifelse
} def
/PC { /setcmykcolor where
{begin 0.000 0.000 0.000 0.000 setcmykcolor end} {1.000 1.000 1.000 setrgbcolor} ifelse
} def
/PF {gsave fill grestore} def
1.000 0 455.217 19.502 0.000 0.000 111.782 513.994 rect
%@EndRect
%
%tfBegGrp
%
%@BeginRuler
%@ 9.0000000000000000000e+0 viewScale
%@ 1.1111111111111110490e-1 realScale
%@ 8 realDivs
%@ 0000 rulerFormat
%@EndRuler
%@BeginOval
/RT {E} def
/SD {} def
/SS {setlinewidth SD stroke} def
/LC { /setcmykcolor where
{begin 0.000 0.000 0.000 1.000 setcmykcolor end} {0.000 0.000 0.000 setrgbcolor} ifelse
} def
/PC { /setcmykcolor where
{begin 0.000 0.000 0.000 0.000 setcmykcolor end} {1.000 1.000 1.000 setrgbcolor} ifelse
} def
/PF {gsave fill grestore} def
1.000 0 474.190 80.117 0.000 0.000 79.844 83.160 rect
%@EndOval
%@BeginText
%@BeginRect
/RT {SR} def
/LC {} def
/SS {pop} def
/PF {} def
/PC {} def
0.000 0 515.106 91.638 0.000 0.000 16.000 26.876 rect
%@EndRect
gsave
105.076 523.106 T translate
0.0 rotate
1 1 scale
14.000 (_Times-Roman) fess
/setcmykcolor where
{begin 0.000 0.000 0.000 1.000 setcmykcolor end} {0.000 0.000 0.000 setrgbcolor} ifelse

(0) -12.861 4.000 S
( ) -5.861 4.000 S
(\() -2.361 4.000 S
(2) 2.300 4.000 S
(\)) 9.300 4.000 S
grestore
%@EndText
%@BeginRuler
%@ 9.0000000000000000000e+0 viewScale
%@ 1.1111111111111110490e-1 realScale
%@ 8 realDivs
%@ 0000 rulerFormat
%@EndRuler
%@BeginOval
/RT {E} def
/SD {} def
/SS {setlinewidth SD stroke} def
/LC { /setcmykcolor where
{begin 0.000 0.000 0.000 1.000 setcmykcolor end} {0.000 0.000 0.000 setrgbcolor} ifelse
} def
/PF {DR} def
/flipRatio 1.000 def
/rampAngle 180 def
/rampColors [[0.000 0.000 0.000] [0.333 0.333 0.333] [0.666 0.666 0.666] [1.000 1.000 1.000]] def
/PC {} def
/RF {} def
1.000 0 502.631 98.150 0.000 0.000 8.982 9.017 rect
%@EndOval
%@BeginRuler
%@ 9.0000000000000000000e+0 viewScale
%@ 1.1111111111111110490e-1 realScale
%@ 8 realDivs
%@ 0000 rulerFormat
%@EndRuler
%@BeginOval
/RT {E} def
/SD {} def
/SS {setlinewidth SD stroke} def
/LC { /setcmykcolor where
{begin 0.000 0.000 0.000 1.000 setcmykcolor end} {0.000 0.000 0.000 setrgbcolor} ifelse
} def
/PF {DR} def
/flipRatio 1.000 def
/rampAngle 180 def
/rampColors [[0.000 0.000 0.000] [0.333 0.333 0.333] [0.666 0.666 0.666] [1.000 1.000 1.000]] def
/PC {} def
/RF {} def
1.000 0 502.633 140.232 0.000 0.000 8.982 9.017 rect
%@EndOval
%@BeginText
%@BeginRect
/RT {SR} def
/LC {} def
/SS {pop} def
/PF {} def
/PC {} def
0.000 0 515.108 132.717 0.000 0.000 16.000 26.876 rect
%@EndRect
gsave
146.155 523.108 T translate
0.0 rotate
1 1 scale
14.000 (_Times-Roman) fess
/setcmykcolor where
{begin 0.000 0.000 0.000 1.000 setcmykcolor end} {0.000 0.000 0.000 setrgbcolor} ifelse

(1) -12.782 4.000 S
( ) -5.782 4.000 S
(\() -2.282 4.000 S
(3) 2.379 4.000 S
(\)) 9.379 4.000 S
grestore
%@EndText
%
%tfEndGrp
%
%
%tfBegGrp
%
%@BeginRuler
%@ 9.0000000000000000000e+0 viewScale
%@ 1.1111111111111110490e-1 realScale
%@ 8 realDivs
%@ 0000 rulerFormat
%@EndRuler
%@BeginOval
/RT {E} def
/SD {} def
/SS {setlinewidth SD stroke} def
/LC { /setcmykcolor where
{begin 0.000 0.000 0.000 1.000 setcmykcolor end} {0.000 0.000 0.000 setrgbcolor} ifelse
} def
/PC { /setcmykcolor where
{begin 0.000 0.000 0.000 0.000 setcmykcolor end} {1.000 1.000 1.000 setrgbcolor} ifelse
} def
/PF {gsave fill grestore} def
1.000 0 473.182 387.219 0.000 0.000 79.844 83.160 rect
%@EndOval
%@BeginText
%@BeginRect
/RT {SR} def
/LC {} def
/SS {pop} def
/PF {} def
/PC {} def
0.000 0 514.601 419.369 0.000 0.000 16.000 26.876 rect
%@EndRect
gsave
432.808 522.601 T translate
0.0 rotate
1 1 scale
14.000 (_Times-Roman) fess
/setcmykcolor where
{begin 0.000 0.000 0.000 1.000 setcmykcolor end} {0.000 0.000 0.000 setrgbcolor} ifelse

(0) -13.130 4.000 S
( ) -6.130 4.000 S
(\() -2.630 4.000 S
(2) 2.032 4.000 S
(\)) 9.032 4.000 S
grestore
%@EndText
%@BeginRuler
%@ 9.0000000000000000000e+0 viewScale
%@ 1.1111111111111110490e-1 realScale
%@ 8 realDivs
%@ 0000 rulerFormat
%@EndRuler
%@BeginOval
/RT {E} def
/SD {} def
/SS {setlinewidth SD stroke} def
/LC { /setcmykcolor where
{begin 0.000 0.000 0.000 1.000 setcmykcolor end} {0.000 0.000 0.000 setrgbcolor} ifelse
} def
/PF {DR} def
/flipRatio 1.000 def
/rampAngle 180 def
/rampColors [[0.000 0.000 0.000] [0.333 0.333 0.333] [0.666 0.666 0.666] [1.000 1.000 1.000]] def
/PC {} def
/RF {} def
1.000 0 502.126 424.291 0.000 0.000 8.982 9.017 rect
%@EndOval
%
%tfEndGrp
%
%@BeginText
%@BeginRect
/RT {SR} def
/LC {} def
/SS {pop} def
/PF {} def
/PC {} def
0.000 0 535.106 241.638 0.000 0.000 20.000 60.152 rect
%@EndRect
gsave
271.714 545.106 T translate
0.0 rotate
1 1 scale
18.000 (_Times-Roman) fess
/setcmykcolor where
{begin 0.000 0.000 0.000 1.000 setcmykcolor end} {0.000 0.000 0.000 setrgbcolor} ifelse

(C) -29.861 5.000 S
(o) -17.856 5.000 S
(l) -8.856 5.000 S
(o) -3.855 5.000 S
(r) 5.144 5.000 S
(=) 11.139 5.000 S
(2) 21.290 5.000 S
grestore
%@EndText
%
%tfEndGrp
%
%@BeginText
%@BeginRect
/RT {SR} def
/LC {} def
/SS {pop} def
/PF {} def
/PC {} def
0.000 0 184.000 136.000 0.000 0.000 26.000 322.558 rect
%@EndRect
gsave
297.279 197.000 T translate
0.0 rotate
1 1 scale
24.000 (_Times-Roman) fess
/setcmykcolor where
{begin 0.000 0.000 0.000 1.000 setcmykcolor end} {0.000 0.000 0.000 setrgbcolor} ifelse

(I) -160.500 6.000 S
(n) -152.507 6.000 S
(p) -140.507 6.000 S
(u) -128.507 6.000 S
(t) -116.507 6.000 S
( ) -109.839 6.000 S
(I) -103.839 6.000 S
(n) -95.847 6.000 S
(t) -83.847 6.000 S
(e) -77.179 6.000 S
(r) -66.527 6.000 S
(c) -58.535 6.000 S
(o) -47.882 6.000 S
(m) -35.882 6.000 S
(m) -17.214 6.000 S
(u) 1.453 6.000 S
(n) 13.453 6.000 S
(i) 25.453 6.000 S
(c) 32.121 6.000 S
(a) 42.773 6.000 S
(t) 53.425 6.000 S
(o) 60.093 6.000 S
(r) 72.093 6.000 S
( ) 80.085 6.000 S
(\() 86.085 6.000 S
(c) 94.078 6.000 S
(o) 104.730 6.000 S
(m) 116.730 6.000 S
(m) 135.398 6.000 S
(\)) 154.066 6.000 S
grestore
%@EndText
%@BeginText
%@BeginRect
/RT {SR} def
/LC {} def
/SS {pop} def
/PF {} def
/PC {} def
0.000 0 580.000 71.500 0.000 0.000 51.000 420.597 rect
%@EndRect
gsave
281.798 605.500 T translate
0.0 rotate
1 1 scale
24.000 (_Times-Roman) fess
/setcmykcolor where
{begin 0.000 0.000 0.000 1.000 setcmykcolor end} {0.000 0.000 0.000 setrgbcolor} ifelse

(D) -210.000 -7.000 S
(i) -192.667 -7.000 S
(s) -186.000 -7.000 S
(j) -176.660 -7.000 S
(o) -169.992 -7.000 S
(i) -157.992 -7.000 S
(n) -151.324 -7.000 S
(t) -139.324 -7.000 S
( ) -132.656 -7.000 S
(o) -126.656 -7.000 S
(u) -114.656 -7.000 S
(t) -102.656 -7.000 S
(p) -95.988 -7.000 S
(u) -83.988 -7.000 S
(t) -71.988 -7.000 S
( ) -65.320 -7.000 S
(c) -59.320 -7.000 S
(o) -48.667 -7.000 S
(m) -36.667 -7.000 S
(m) -18.000 -7.000 S
(u) 0.667 -7.000 S
(n) 12.667 -7.000 S
(i) 24.667 -7.000 S
(c) 31.335 -7.000 S
(a) 41.988 -7.000 S
(t) 52.640 -7.000 S
(o) 59.308 -7.000 S
(r) 71.308 -7.000 S
(s) 79.300 -7.000 S
( ) 88.640 -7.000 S
(\() 94.640 -7.000 S
(n) 102.632 -7.000 S
(e) 114.632 -7.000 S
(w) 125.285 -7.000 S
(c) 142.617 -7.000 S
(o) 153.269 -7.000 S
(m) 165.269 -7.000 S
(m) 183.937 -7.000 S
(\)) 202.605 -7.000 S
/setcmykcolor where
{begin 0.000 0.000 0.000 1.000 setcmykcolor end} {0.000 0.000 0.000 setrgbcolor} ifelse

(\() -70.998 18.000 S
(o) -63.005 18.000 S
(n) -51.005 18.000 S
(e) -39.005 18.000 S
( ) -28.353 18.000 S
(p) -22.353 18.000 S
(e) -10.353 18.000 S
(r) 0.298 18.000 S
( ) 8.291 18.000 S
(c) 14.291 18.000 S
(o) 24.943 18.000 S
(l) 36.943 18.000 S
(o) 43.611 18.000 S
(r) 55.611 18.000 S
(\)) 63.603 18.000 S
grestore
%@EndText
%
%tLayer
%
restore
end
@endspecial 150 4185 a(Figure)31 b(5.2:)44 b(In)m(tercomm)m(unicator)
32 b(construction)f(ac)m(hiev)m(ed)h(b)m(y)f(splitting)e(an)i(existing)
g(in)m(tercomm)m(u-)150 4298 y(nicator)f(with)f Fi(MPI)p
815 4298 29 4 v 34 w(COMM)p 1041 4298 V 33 w(SPLIT\(\))g
Fx(extended)h(to)h(in)m(tercomm)m(unicators.)-64 92 y
Fq(1)-64 205 y(2)-64 318 y(3)-64 431 y(4)-64 544 y(5)-64
657 y(6)-64 770 y(7)-64 882 y(8)-64 995 y(9)-80 1108
y(10)-80 1221 y(11)-80 1334 y(12)-80 1447 y(13)-80 1560
y(14)-80 1673 y(15)-80 1786 y(16)-80 1899 y(17)-80 2012
y(18)-80 2124 y(19)-80 2237 y(20)-80 2350 y(21)-80 2463
y(22)-80 2576 y(23)-80 2689 y(24)-80 2802 y(25)-80 2915
y(26)-80 3028 y(27)-80 3141 y(28)-80 3254 y(29)-80 3366
y(30)-80 3479 y(31)-80 3592 y(32)-80 3705 y(33)-80 3818
y(34)-80 3931 y(35)-80 4044 y(36)-80 4157 y(37)-80 4270
y(38)-80 4383 y(39)-80 4496 y(40)-80 4609 y(41)-80 4721
y(42)-80 4834 y(43)-80 4947 y(44)-80 5060 y(45)-80 5173
y(46)-80 5286 y(47)-80 5399 y(48)p eop
10 11 bop 150 -200 a Fx(10)33 b Fo(CHAPTER)c(5.)62 b(EXTENDED)30
b(COLLECTIVE)f(OPERA)-8 b(TIONS)29 b(AND)i(RELA)-8 b(TED)31
b(ISSUES)532 99 y Fi(MPI_Comm_split)44 b(\()j(multiple_server_comm,)42
b(color,)k(rank,)1343 211 y(&single_server_comm)d(\);)150
399 y Fx(The)30 b(follo)m(wing)f(is)g(the)i(corresp)s(onding)d(serv)m
(er)j(co)s(de:)532 587 y Fi(/*)47 b(Server)f(code)h(*/)532
700 y(MPI_Comm)93 b(multiple_client_comm;)532 812 y(MPI_Comm)g
(single_client_comm;)532 925 y(int)333 b(rank;)532 1151
y(/*)47 b(Create)f(intercommunicator)d(with)k(clients)f(and)h(servers:)
675 1264 y(multiple_client_comm)42 b(*/)532 1377 y(...)532
1603 y(/*)47 b(Split)f(the)h(intercommunicator)c(*/)532
1716 y(MPI_Comm_rank)h(\()j(multiple_client_comm,)42
b(&rank)47 b(\);)532 1829 y(MPI_Comm_split)d(\()j
(multiple_client_comm,)42 b(rank,)47 b(0,)1343 1942 y
(&single_client_comm)c(\);)332 2129 y Ft(M)p Fx(PI)p
512 2129 28 4 v 32 w(INTER)m(COMM)p 1140 2129 V 32 w(P)-8
b(AR)g(TITION)33 b(is)f(a)h(new)g(function)e(with)h(no)g(analog)i(in)d
Ft(MPI-1)p Fx(.)49 b(It)33 b(par-)150 2242 y(titions)40
b(an)g(in)m(tracomm)m(unicator)h(\(single)e(group\))i(in)m(to)f(a)h
(single)e(in)m(tercomm)m(unicator)i(\(\\left")h(and)150
2355 y(\\righ)m(t")31 b(groups\).)150 2657 y Ft(MPI)p
318 2657 V 33 w(INTERCOMM)p 900 2657 V 32 w(P)-8 b(ARTITION\()31
b(intracomm,)g(\015ag,)g(k)m(ey)-8 b(,)32 b(intercomm)f(\))233
2811 y Fj(IN)312 b Ft(intracomm)767 b Fj(original)26
b(in)n(tracomm)n(unicator)233 2962 y(IN)312 b Ft(\015ag)1035
b Fj(left/righ)n(t)27 b(\015ag)g(\(b)r(o)r(olean\))233
3112 y(IN)312 b Ft(k)m(ey)1050 b Fj(sorting)27 b(order)233
3262 y(OUT)217 b Ft(intercomm)771 b Fj(new)28 b(in)n(tercomm)n
(unicator)150 3511 y Fx(The)39 b(\015ag)i(argumen)m(t)f(determines)f
(whether)g(a)h(pro)s(cess)g(will)d(b)s(e)i(on)h(the)g(left)g(or)f(righ)
m(t)h(side)f(of)h(the)150 3624 y(resulting)g(in)m(tercomm)m(unicator.)
77 b(The)41 b Ft(k)p Fx(ey)i(argumen)m(t)g(pro)m(vides)e(ordering)g
(information)g(for)h(eac)m(h)150 3737 y(side)28 b(of)h(the)g(in)m
(tercomm)m(unicator.)40 b(There)28 b(m)m(ust)h(b)s(e)f(at)h(least)g
(one)g(pro)s(cess)g(with)e Ft(f)p Fx(lag)i(=)f(TR)m(UE)58
b(and)150 3850 y(at)28 b(least)g(one)g(pro)s(cess)f(with)f
Ft(f)p Fx(lag)i(=)f(F)-10 b(ALSE,)27 b(otherwise,)h(the)g(resulting)d
(in)m(tercomm)m(unicator)j(will)d(b)s(e)150 3963 y Fg(M)p
Fx(PI)p 323 3963 V 32 w(COMM)p 658 3963 V 33 w(NULL.)h(Pro)s(cesses)h
(sp)s(ecifying)d Ft(f)p Fx(lag)i(=)g(MPI)p 2256 3963
V 33 w(UNDEFINED)i(will)23 b(not)k(b)s(e)f(included)d(in)150
4076 y(the)35 b(created)g(in)m(tercomm)m(unicator.)53
b(F)-8 b(or)35 b(these)g(pro)s(cesses,)h(the)f(resulting)d(in)m
(tercomm)m(unicator)j(will)150 4189 y(b)s(e)30 b Fg(M)p
Fx(PI)p 447 4189 V 32 w(COMM)p 782 4189 V 33 w(NULL.)150
4429 y Ft(Example)91 b Fx(The)33 b(example)h(giv)m(en)f(b)s(elo)m(w)g
(sho)m(ws)h(ho)m(w)g(the)f(original)f Fg(M)p Fx(PI)p
2735 4429 V 32 w(COMM)p 3070 4429 V 33 w(W)m(ORLD)j(can)f(b)s(e)150
4542 y(divided)28 b(in)m(to)i(a)h(clien)m(t/serv)m(er)g(in)m(tercomm)m
(unicator.)532 4729 y Fi(MPI_Comm)93 b(client_server_comm;)532
4842 y(int)333 b(rank,)46 b(flag;)532 5068 y(/*)h(Get)g(my)g(rank)g(in)
g(the)g(world)f(*/)532 5181 y(MPI_Comm_rank)e(\()j(MPI_COMM_WORLD,)d
(&rank)i(\);)532 5407 y(/*)h(Set)g(the)g(flag)f(that)h(determines)e(my)
i(function)f(in)h(life)g(*/)3934 92 y Fq(1)3934 205 y(2)3934
318 y(3)3934 431 y(4)3934 544 y(5)3934 657 y(6)3934 770
y(7)3934 882 y(8)3934 995 y(9)3919 1108 y(10)3919 1221
y(11)3919 1334 y(12)3919 1447 y(13)3919 1560 y(14)3919
1673 y(15)3919 1786 y(16)3919 1899 y(17)3919 2012 y(18)3919
2124 y(19)3919 2237 y(20)3919 2350 y(21)3919 2463 y(22)3919
2576 y(23)3919 2689 y(24)3919 2802 y(25)3919 2915 y(26)3919
3028 y(27)3919 3141 y(28)3919 3254 y(29)3919 3366 y(30)3919
3479 y(31)3919 3592 y(32)3919 3705 y(33)3919 3818 y(34)3919
3931 y(35)3919 4044 y(36)3919 4157 y(37)3919 4270 y(38)3919
4383 y(39)3919 4496 y(40)3919 4609 y(41)3919 4721 y(42)3919
4834 y(43)3919 4947 y(44)3919 5060 y(45)3919 5173 y(46)3919
5286 y(47)3919 5399 y(48)p eop
11 12 bop 150 -200 a Fo(5.5.)72 b(EXTENDED)31 b(COLLECTIVE)d(OPERA)-8
b(TIONS)1493 b Fx(11)532 99 y Fi(if)47 b(\(/*)g(I'm)g(to)g(be)g(a)h
(server)e(*/\))627 211 y(flag)h(=)g(TRUE;)532 324 y(else)f(/*)i(I'm)f
(to)g(be)g(a)g(client)f(*/)627 437 y(flag)h(=)g(FALSE;)532
663 y(/*)g(Partition)e(the)i(world)g(*/)532 776 y
(MPI_Intercomm_partition)41 b(\()48 b(MPI_COMM_WORLD,)43
b(flag,)k(rank,)1773 889 y(&client_server_comm)42 b(\);)150
1175 y Fu(5.5)116 b(Extended)38 b(Collective)f(Op)s(erations)3750
1288 y Fs(>)30 b Fq(\(July\))150 1473 y Fk(Discussion:)43
b Fj(W)-7 b(e)32 b(ha)n(v)n(e)f(three)g(c)n(hoices)g(here:)44
b(accept)31 b(this)h(form)g(of)f(in-place)g(op)r(erations,)h(accept)f
(the)h(Snir)150 1586 y(form)27 b(later)g(in)h(this)g(c)n(hapter,)f(or)f
(reject)i(b)r(oth.)14 b(.)g(.)3750 1696 y Fs(?)30 b Fq(\(July\))150
1923 y Fp(5.5.1)97 b(In-Place)32 b(Op)s(erations)150
2095 y Fx(Curren)m(tly)536 2062 y Fn(6)594 2095 y Fx(all)19
b(of)i(the)f(collectiv)m(e)h(comm)m(unication)f(routines,)h(except)g
(for)f Ft(MPI)p 2896 2095 28 4 v 33 w(Ba)m(rrier)g Fx(and)g
Ft(MPI)p 3536 2095 V 32 w(Bcast)p Fx(,)150 2208 y(tak)m(e)34
b(an)e(input)f(bu\013er,)h Ft(sendbuf)p Fx(,)h(and)f(an)h(output)f
(bu\013er,)g Ft(recvbuf)h Fx(as)g(argumen)m(ts.)47 b(This)31
b(p)s(ermits)g(a)150 2321 y(large)26 b(degree)g(of)g(\015exibilit)m(y)c
(as)k(only)f(the)h(t)m(yp)s(e)g(signatures)e(\(and)i(not)g(the)f(t)m
(yp)s(e)h(map\))g(ha)m(v)m(e)g(to)h(matc)m(h.)150 2434
y(Ho)m(w)m(ev)m(er,)32 b(it)d(is)f(often)i(the)g(case)h(that)f(the)f
(user)g(w)m(an)m(ts)h(to)g(use)g(a)f(single)g(bu\013er)f(and)h(ha)m(v)m
(e)i(the)e(results)150 2547 y(of)f(the)g(collectiv)m(e)g(comm)m
(unication)f(op)s(eration)g(o)m(v)m(erwrite)h(all)f(or)g(part)h(of)f
(this)g(bu\013er)g(\(dep)s(ending)e(on)150 2660 y(the)36
b(routine)g(used\).)58 b(With)35 b(the)i(curren)m(t)f(de\014nitions,)f
(the)i(user)e(m)m(ust)i(use)f(extra)h(memory)f(for)g(the)150
2772 y(separate)31 b(bu\013ers)f(and)f(do)i(an)f(additional)e(cop)m(y)j
(to)g(get)h(the)e(results)g(in)m(to)g(the)h(desired)d(bu\013er.)332
2885 y(T)-8 b(o)22 b(a)m(v)m(oid)g(this)e(means)h(of)h(e\013ecting)g
(\\in-place")f(collectiv)m(e)h(comm)m(unication)f(op)s(erations)f(is)h
(giv)m(en,)150 2998 y(as)31 b(outlined)d(in)h(the)i(previous)e
(paragraph.)40 b(Three)30 b(p)s(ossible)e(approac)m(hes)j(app)s(ear)e
(v)-5 b(alid:)261 3185 y(1.)46 b(Alias)30 b(the)g(input)f(and)g(output)
h(bu\013ers)g(or)g(parts)g(thereof.)41 b(Disadv)-5 b(an)m(tages:)416
3373 y(\(a\))46 b(Requires)31 b(displacemen)m(t)f(for)h(routines)g(suc)
m(h)g(as)h Ft(MPI)p 2474 3373 V 32 w(Reduce)p 2779 3373
V 34 w(scatter)f Fx(that)h(do)g(not)f(tak)m(e)577 3486
y(them)g(as)f(argumen)m(ts.)411 3632 y(\(b\))45 b(Violates)31
b(the)f(F)-8 b(ortran)31 b(standard)f(that)h(prohibits)d(up)s(dating)g
(of)i(aliased)g(arra)m(ys.)421 3778 y(\(c\))46 b(Prev)m(en)m(ts)32
b(use)e(of)g Ft(MPI)p 1379 3778 V 33 w(BOTTOM)f Fx(with)g(struct)h(t)m
(yp)s(es.)261 3965 y(2.)46 b(Set)24 b(the)f(address)g(of)h
Ft(sendbuf)f Fx(or)g Ft(recvbuf)p Fx(,)j(dep)s(ending)21
b(on)i(the)h(function,)f(to)h(a)g(de\014ned)e(constan)m(t.)261
4152 y(3.)46 b(Add)33 b(a)g(new)g(set)h(of)g(functions.)48
b(Disadv)-5 b(an)m(tage:)48 b(increases)33 b(the)g(n)m(um)m(b)s(er)f
(of)i(functions)e(in)g(the)377 4265 y Ft(MPI)e Fx(standard.)332
4452 y(The)76 b(second)g(approac)m(h)h(is)e(adv)m(o)s(cated.)180
b(De\014ne)77 b(constan)m(ts,)89 b Ft(MPI)p 3065 4452
V 33 w(NO)p 3229 4452 V 33 w(C)p 3320 4452 V 32 w(ARG)76
b Fx(and)150 4565 y Ft(MPI)p 318 4565 V 33 w(NO)p 482
4565 V 33 w(FN)p 631 4565 V 33 w(ARG)p Fx(,)41 b(and)g(test)i(the)f
(address)g(of)g(the)g(bu\013er)f(to)i(indicate)e(the)i(use)e(of)i(the)f
(in-place)150 4678 y(op)s(eration.)f(A)31 b(separate)h(\015ag)f(for)f
(C)g(and)h(F)-8 b(ortran)31 b(are)g(suggested)g(for)g(safet)m(y's)h
(sak)m(e)g(giv)m(en)e(that)i(the)150 4791 y(in)m(ter-language)24
b(in)m(terface)f(is)g(not)g(standardized)f(and)h(the)g(means)g(in)f
(whic)m(h)g(to)i(share)f(global)f(v)-5 b(ariables)150
4904 y(v)g(aries)30 b(considerably)e(b)s(et)m(w)m(een)j(compilers.)332
5017 y(Note)k(that)g(the)f(user)f(giv)m(es)i(up)e(abilit)m(y)f(to)j(c)m
(hange)g(the)f(exten)m(t)h(of)g(the)f(initial)d(data)k(from)e(that)150
5130 y(of)d(the)g(\014nal)e(when)h(the)h(in-place)f(option)g(is)g
(used.)40 b(Basically)-8 b(,)30 b(the)f(gather)i(routines)e(pass)g(the)
h(NULL)150 5243 y(address)d(for)h Ft(sendbuf)g Fx(and)g(the)g(scatter)i
(and)e(reduce)g(routines)f(pass)g(the)i(NULL)f(address)f(for)h
Ft(recvbuf)p Fx(.)p 150 5322 1440 4 v 254 5375 a Fq(6)288
5407 y Fm(Prop)r(osed)f(b)n(y)d(S.)i(Fleisc)n(hman,)g(Hewlett-P)n(ac)n
(k)l(ard,)g(Con)n(v)n(ex)f(Divison.)-64 92 y Fq(1)-64
205 y(2)-64 318 y(3)-64 431 y(4)-64 544 y(5)-64 657 y(6)-64
770 y(7)-64 882 y(8)-64 995 y(9)-80 1108 y(10)-80 1221
y(11)-80 1334 y(12)-80 1447 y(13)-80 1560 y(14)-80 1673
y(15)-80 1786 y(16)-80 1899 y(17)-80 2012 y(18)-80 2124
y(19)-80 2237 y(20)-80 2350 y(21)-80 2463 y(22)-80 2576
y(23)-80 2689 y(24)-80 2802 y(25)-80 2915 y(26)-80 3028
y(27)-80 3141 y(28)-80 3254 y(29)-80 3366 y(30)-80 3479
y(31)-80 3592 y(32)-80 3705 y(33)-80 3818 y(34)-80 3931
y(35)-80 4044 y(36)-80 4157 y(37)-80 4270 y(38)-80 4383
y(39)-80 4496 y(40)-80 4609 y(41)-80 4721 y(42)-80 4834
y(43)-80 4947 y(44)-80 5060 y(45)-80 5173 y(46)-80 5286
y(47)-80 5399 y(48)p eop
12 13 bop 150 -200 a Fx(12)23 b Fo(CHAPTER)29 b(5.)72
b(EXTENDED)30 b(COLLECTIVE)f(OPERA)-8 b(TIONS)29 b(AND)i(RELA)-8
b(TED)31 b(ISSUES)150 99 y Fx(When)41 b(this)f(is)g(done)g(the)i(t)m
(yp)s(e)f(and)f(displacemen)m(t)g(information)f(is)h(tak)m(en)j(from)d
(the)h(non-NULL)150 211 y(bu\013er.)f(See)30 b(b)s(elo)m(w.)332
324 y(The)g(follo)m(wing)f(list)g(describ)s(es)f(the)j(mo)s
(di\014cation)d(for)j(eac)m(h)g(of)g(the)f(a\013ected)i(routines:)150
512 y Ft(MPI)p 318 512 28 4 v 33 w(GA)-8 b(THER)45 b
Fx(Ro)s(ot,)31 b(and)e(only)g(ro)s(ot,)i(passes)e(a)i
Ft(NULL)f Fx(address)f(for)h Ft(sendbuf)p Fx(.)40 b Ft(sendt)m(yp)s(e)
30 b Fx(and)g Ft(send-)377 625 y(count)g Fx(are)f(ignored;)g
Ft(recvt)m(yp)s(e)g(recvcount)h Fx(are)g(used)e(for)g(b)s(oth)g(input)f
(and)h(output)h(on)f(ro)s(ot)h(The)377 738 y(sp)s(eci\014ed)j(space)h
(m)m(ust)g(exist)g(at)h Ft(recvbuf+ro)s(ot)p Fs(\001)p
Ft(recvcount)p Fs(\001)p Ft(extent\(recvt)m(yp)s(e\))k
Fx(for)32 b(the)i(segmen)m(t)377 851 y(corresp)s(onding)29
b(to)i(ro)s(ot.)150 1038 y Ft(MPI)p 318 1038 V 33 w(GA)-8
b(THERV)45 b Fx(Ro)s(ot,)h(and)c(only)g(ro)s(ot,)k(passes)c(a)h
Ft(NULL)g Fx(address)e(for)i Ft(sendbuf)p Fx(.)77 b Ft(sendt)m(yp)s(e)
43 b Fx(and)377 1151 y Ft(sendcount)33 b Fx(are)g(ignored;)f
Ft(recvbuf)p Fx(,)h Ft(recvt)m(yp)s(e[ro)s(ot])h Fx(and)e
Ft(recvcounts[ro)s(ot])i Fx(are)e(used)g(for)g(input.)377
1264 y(The)26 b(sp)s(eci\014ed)g(space)h(m)m(ust)f(exist)h(at)g
Ft(recvbuf+displs[ro)s(ot])p Fs(\001)p Ft(extent\(recvt)m(yp)s(e\))i
Fx(for)e(the)g(segmen)m(t)377 1377 y(corresp)s(onding)i(to)i(ro)s(ot.)
150 1565 y Ft(MPI)p 318 1565 V 33 w(SCA)-8 b(TTER)44
b Fx(Ro)s(ot,)32 b(and)d(only)h(ro)s(ot,)g(passes)h(a)f
Ft(NULL)h Fx(address)e(for)h Ft(recvbuf)p Fx(.)41 b Ft([)p
Fx(sendbuf)7 b(])29 b(remains)377 1678 y(unc)m(hanged)h(on)h(ro)s(ot.)
150 1865 y Ft(MPI)p 318 1865 V 33 w(SCA)-8 b(TTERV)44
b Fx(Ro)s(ot,)26 b(and)e(only)f(ro)s(ot,)j(passes)e(a)h
Ft(NULL)f Fx(address)f(for)h Ft(recvbuf)p Fx(.)39 b Ft([)p
Fx(sendbuf)7 b(])23 b(remains)377 1978 y(unc)m(hanged)30
b(on)h(ro)s(ot.)150 2166 y Ft(MPI)p 318 2166 V 33 w(ALLGA)-8
b(THER)45 b Fx(A)35 b(NULL)h(address)e(is)h(passed)f(for)h
Ft(sendbuf)p Fx(.)56 b Ft(sendt)m(yp)s(e)35 b Fx(and)g
Ft(sendcount)h Fx(are)g(ig-)377 2279 y(nored)29 b(and)g
Ft(recvbuf[])p Fx(,)i Ft(recvt)m(yp)s(e[rank])g Fx(and)e
Ft(recvcounts[rank])j Fx(are)e(used)f(for)g(input.)39
b(The)29 b(input)377 2392 y(for)h(eac)m(h)i(task)f(is)e(at)i
Ft(recvbuf+rank)p Fs(\001)p Ft(recvcount)p Fs(\001)p
Ft(extent\(recvt)m(yp)s(e\))p Fx(.)150 2579 y Ft(MPI)p
318 2579 V 33 w(ALLGA)-8 b(THERV)45 b Fx(A)29 b(NULL)g(address)f(is)h
(passed)f(for)h Ft(sendbuf)p Fx(.)40 b(F)-8 b(or)30 b
Ft(MPI)p 2865 2579 V 33 w(ALLGA)-8 b(THER)29 b(recvt)m(yp)s(e)377
2692 y Fx(and)h Ft(recvcount)h Fx(and)f(for)g Ft(MPI)p
1434 2692 V 33 w(ALLGA)-8 b(THERV)29 b(recvt)m(yp)s(e[rank])j
Fx(and)e Ft(recvcount[rank])i Fx(are)f(used)377 2805
y(for)f(input.)39 b(The)30 b(input)e(for)j(eac)m(h)g(task)g(is)f(at)h
Ft(recvbuf+displ[rank])p Fs(\001)p Ft(extent\(recvt)m(yp)s(e\))p
Fx(.)150 2993 y Ft(MPI)p 318 2993 V 33 w(REDUCE)45 b
Fx(Ro)s(ot,)28 b(and)f(only)f(ro)s(ot,)i(passes)f(a)h(NULL)f(address)f
(for)h Ft(recvbuf)p Fx(.)40 b(On)26 b(ro)s(ot)i(the)f(results)377
3106 y(are)k(placed)f(in)f Ft(sendbuf)p Fx(.)150 3293
y Ft(MPI)p 318 3293 V 33 w(ALLREDUCE)45 b Fx(A)26 b(NULL)g(address)f
(is)g(passed)g(for)h Ft(recvbuf)p Fx(.)39 b(The)26 b(results)f(are)h
(placed)f(in)g Ft(sendbuf)p Fx(.)150 3481 y Ft(MPI)p
318 3481 V 33 w(REDUCE)p 705 3481 V 32 w(SCA)-8 b(TTER)45
b Fx(A)32 b(NULL)g(address)g(is)f(passed)h(for)g Ft(recvbuf)p
Fx(.)46 b(The)32 b(results)f(are)i(placed)e(in)377 3594
y Ft(sendbuf+displ)e Fx(where)h Ft(displ)g Fx(=)1503
3529 y Ff(P)1590 3556 y Fe(i<r)r(ank)1590 3617 y(i)p
Fn(=0)1826 3594 y Ft(recvconts[i])p Fs(\001)p Ft(extent\(recvt)m(yp)s
(e\))p Fx(.)332 3781 y(No)f(c)m(hanges)g(are)f(prop)s(osed)f(for)h
Ft(MPI)p 1647 3781 V 33 w(Bcast)p Fx(,)g Ft(MPI)p 2109
3781 V 32 w(Scan)g Fx(and)f Ft(MPI)p 2688 3781 V 33 w(Alltoall)p
Fx(.)38 b(It)29 b(is)e(asserted)h(that)150 3894 y(the)k(greatest)i(b)s
(ene\014t)e(will)d(come)34 b(from)d(pro)m(viding)f(in-place)i
(capabilit)m(y)f(to)i(the)f(follo)m(wing)f(routines:)150
4007 y Ft(MPI)p 318 4007 V 33 w(ALLGA)-8 b(THERV)p Fx(,)30
b Ft(MPI)p 1142 4007 V 32 w(REDUCE)p Fx(,)g Ft(MPI)p
1746 4007 V 33 w(ALLREDUCE)p Fx(,)g Ft(MPI)p 2510 4007
V 33 w(REDUCE)p 2897 4007 V 32 w(SCA)-8 b(TTER)p Fx(.)332
4201 y Fk(Discussion:)35 b Fj(Op)r(en)27 b(issues)g(for)h(this)f
(section:)267 4351 y(1.)45 b(What)28 b(are)f(the)h(in)n(tercomm)n
(unicator)e(implications)h(of)g(this)h(section?)-235
4417 y Fs(>)i Fq(\(July\))332 4608 y Fk(Discussion:)47
b Fj(There)33 b(are)g(no)h(strong)e(adv)n(o)r(cates)g(on)i(the)g
(collectiv)n(e)f(sub)r(committee)i(at)e(this)h(time)h(for)150
4721 y(in-place)27 b(op)r(erations,)f(giv)n(en)h(discussion)g(at)g
(June)h(meeting.)-235 4831 y Fs(?)i Fq(\(July\))3934
92 y(1)3934 205 y(2)3934 318 y(3)3934 431 y(4)3934 544
y(5)3934 657 y(6)3934 770 y(7)3934 882 y(8)3934 995 y(9)3919
1108 y(10)3919 1221 y(11)3919 1334 y(12)3919 1447 y(13)3919
1560 y(14)3919 1673 y(15)3919 1786 y(16)3919 1899 y(17)3919
2012 y(18)3919 2124 y(19)3919 2237 y(20)3919 2350 y(21)3919
2463 y(22)3919 2576 y(23)3919 2689 y(24)3919 2802 y(25)3919
2915 y(26)3919 3028 y(27)3919 3141 y(28)3919 3254 y(29)3919
3366 y(30)3919 3479 y(31)3919 3592 y(32)3919 3705 y(33)3919
3818 y(34)3919 3931 y(35)3919 4044 y(36)3919 4157 y(37)3919
4270 y(38)3919 4383 y(39)3919 4496 y(40)3919 4609 y(41)3919
4721 y(42)3919 4834 y(43)3919 4947 y(44)3919 5060 y(45)3919
5173 y(46)3919 5286 y(47)3919 5399 y(48)p eop
13 14 bop 150 -200 a Fo(5.5.)72 b(EXTENDED)31 b(COLLECTIVE)d(OPERA)-8
b(TIONS)1493 b Fx(13)150 99 y Fp(5.5.2)97 b(MPI)p 628
99 30 4 v 34 w(Reduce)p 954 99 V 36 w(scatterv)150 270
y Fx(The)307 237 y Fn(7)424 270 y Fx(prop)s(osed)76 b
Ft(MPI)p 1026 270 28 4 v 33 w(Reduce)p 1332 270 V 33
w(scatterv)i Fx(is)e(a)i(minor)f(v)-5 b(arian)m(t)77
b(on)h(the)g(existing)e(function)150 383 y Ft(MPI)p 318
383 V 33 w(Reduce)p 624 383 V 33 w(scatter)55 b Fx(that)f(w)m(ould)g
(complete)g(the)h(symmetry)f(implied)d(b)m(y)j(the)h(function)e(pair:)
150 496 y Ft(MPI)p 318 496 V 33 w(Allgather)33 b Fx(and)g
Ft(MPI)p 1072 496 V 33 w(Allgatherv)p Fx(.)50 b(It)34
b(w)m(ould)f(pro)m(vide)g(the)h(abilit)m(y)e(to)j(c)m(hange)g(the)f
(distribution)150 609 y(of)d(the)f(reduced)g(data)h(on)f(the)h
(recipien)m(t)e(side)g(that)i(is)f(not)g(p)s(ossible)e(with)h(the)i
(existing)e(function.)332 722 y(Tw)m(o)h(prop)s(osals)f(will)f(b)s(e)i
(o\013ered)g(for)g(the)h(argumen)m(t)g(list:)150 962
y Ft(Single)f(data)g(t)m(yp)s(e)150 1322 y(MPI)p 318
1322 V 33 w(REDUCE)p 705 1322 V 32 w(SCA)-8 b(TTERV\(sendbuf,)22
b(sendcounts,)h(displs,)e(datat)m(yp)s(e,)h(recvbuf,)h(recvcount,)h
(op,)f(comm)150 1435 y(\))233 1590 y Fj(IN)312 b Ft(sendbuf)882
b Fj(address)27 b(of)g(send)h(bu\013er.)233 1740 y(IN)312
b Ft(sendcounts)757 b Fj(in)n(teger)18 b(arra)n(y)e(\(of)j(length)f
(group)g(size\))g(sp)r(ecifying)g(the)h(n)n(um-)1810
1853 y(b)r(er)28 b(of)g(elemen)n(ts)f(to)g(send)h(to)f(eac)n(h)g(pro)r
(cessor.)233 2003 y(IN)312 b Ft(displs)965 b Fj(in)n(teger)30
b(arra)n(y)f(\(of)i(length)g(group)e(size\).)47 b(En)n(try)29
b Fg(i)i Fj(sp)r(eci\014es)1810 2116 y(the)38 b(displacemen)n(t)g
(\(relativ)n(e)e(to)i Fg(sendbuf)f Fj(from)h(whic)n(h)f(to)1810
2229 y(tak)n(e)27 b(the)h(outgoing)f(data)g(to)g(pro)r(cess)g
Fg(i)p Fj(.)233 2379 y(IN)312 b Ft(datat)m(yp)s(e)843
b Fj(data)28 b(t)n(yp)r(e)f(of)h(send)f(and)h(receiv)n(e)e(bu\013er)i
(\(handle\).)233 2530 y(OUT)217 b Ft(recvbuf)898 b Fj(address)27
b(of)g(receiv)n(e)g(bu\013er)g(\(c)n(hoice\).)233 2680
y(IN)312 b Ft(recvcount)808 b Fj(n)n(um)n(b)r(er)28 b(of)f(elemen)n(ts)
h(in)g(receiv)n(e)e(bu\013er)i(\(in)n(teger\).)233 2830
y(IN)312 b Ft(op)1081 b Fj(reduce)28 b(op)r(eration)e(\(handle\).)233
2980 y(IN)312 b Ft(comm)944 b Fj(comm)n(unicator)27 b(\(handle\).)332
3311 y Fk(Discussion:)34 b Fj(This)27 b(v)n(ersion)f(tak)n(es)g(a)h
(single)f(data)h(t)n(yp)r(e.)37 b(This)27 b(is)f(consisten)n(t)h(with)h
(the)f(existing)g(reduce)150 3410 y(functions)h(but)g(is)g(inconsisten)
n(t)f(with)h(the)g(scatter)f(functions.)332 3523 y(Examples)f(are)h
(needed)h(to)f(demonstrate)g(where)g(this)h(functionalit)n(y)f(is)h
(needed.)p 150 3695 1440 4 v 254 3749 a Fq(7)288 3781
y Fm(Also)e(prop)r(osed)g(b)n(y)f(S.)h(Fleisc)n(hman,)g(Con)n(v)n(ex)f
(Computer)g(Corp)r(oration.)-64 92 y Fq(1)-64 205 y(2)-64
318 y(3)-64 431 y(4)-64 544 y(5)-64 657 y(6)-64 770 y(7)-64
882 y(8)-64 995 y(9)-80 1108 y(10)-80 1221 y(11)-80 1334
y(12)-80 1447 y(13)-80 1560 y(14)-80 1673 y(15)-80 1786
y(16)-80 1899 y(17)-80 2012 y(18)-80 2124 y(19)-80 2237
y(20)-80 2350 y(21)-80 2463 y(22)-80 2576 y(23)-80 2689
y(24)-80 2802 y(25)-80 2915 y(26)-80 3028 y(27)-80 3141
y(28)-80 3254 y(29)-80 3366 y(30)-80 3479 y(31)-80 3592
y(32)-80 3705 y(33)-80 3818 y(34)-80 3931 y(35)-80 4044
y(36)-80 4157 y(37)-80 4270 y(38)-80 4383 y(39)-80 4496
y(40)-80 4609 y(41)-80 4721 y(42)-80 4834 y(43)-80 4947
y(44)-80 5060 y(45)-80 5173 y(46)-80 5286 y(47)-80 5399
y(48)p eop
14 15 bop 150 -200 a Fx(14)23 b Fo(CHAPTER)29 b(5.)72
b(EXTENDED)30 b(COLLECTIVE)f(OPERA)-8 b(TIONS)29 b(AND)i(RELA)-8
b(TED)31 b(ISSUES)150 99 y Ft(Sepa)m(rate)f(send)h(and)f(receive)h
(data)f(t)m(yp)s(es)150 459 y(MPI)p 318 459 28 4 v 33
w(REDUCE)p 705 459 V 32 w(SCA)-8 b(TTERV\(sendbuf,)23
b(sendcounts,)i(displs,)e(sendt)m(yp)s(e,)i(recvbuf,)f(recvcount,)i
(recvt)m(yp)s(e,)150 572 y(op,)31 b(comm)h(\))233 726
y Fj(IN)312 b Ft(sendbuf)882 b Fj(address)27 b(of)g(send)h(bu\013er)233
875 y(IN)312 b Ft(sendcounts)757 b Fj(in)n(teger)18 b(arra)n(y)e(\(of)j
(length)f(group)g(size\))g(sp)r(ecifying)g(the)h(n)n(um-)1810
988 y(b)r(er)28 b(of)g(elemen)n(ts)f(to)g(send)h(to)f(eac)n(h)g(pro)r
(cessor.)233 1137 y(IN)312 b Ft(displs)965 b Fj(in)n(teger)30
b(arra)n(y)f(\(of)i(length)g(group)e(size\).)47 b(En)n(try)29
b Fg(i)i Fj(sp)r(eci\014es)1810 1250 y(the)38 b(displacemen)n(t)g
(\(relativ)n(e)e(to)i Fg(sendbuf)f Fj(from)h(whic)n(h)f(to)1810
1363 y(tak)n(e)27 b(the)h(outgoing)f(data)g(to)g(pro)r(cess)g
Fg(i)p Fj(.)233 1512 y(IN)312 b Ft(sendt)m(yp)s(e)842
b Fj(data)28 b(t)n(yp)r(e)f(of)h(send)f(bu\013er)h(\(handle\).)233
1661 y(OUT)217 b Ft(recvbuf)898 b Fj(address)27 b(of)g(receiv)n(e)g
(bu\013er)g(\(c)n(hoice\).)233 1809 y(IN)312 b Ft(recvcount)808
b Fj(n)n(um)n(b)r(er)28 b(of)f(elemen)n(ts)h(in)g(receiv)n(e)e
(bu\013er)i(\(in)n(teger\).)233 1958 y(IN)312 b Ft(recvt)m(yp)s(e)858
b Fj(data)28 b(t)n(yp)r(e)f(of)h(recvbu\013er)f(\(handle\).)233
2107 y(IN)312 b Ft(op)1081 b Fj(reduce)28 b(op)r(eration)e(\(handle\).)
233 2256 y(IN)312 b Ft(comm)944 b Fj(comm)n(unicator)27
b(\(handle\).)332 2586 y Fk(Discussion:)k Fj(This)20
b(v)n(ersion)e(tak)n(es)i(a)f(separate)g(data)g(t)n(yp)r(e)i(argumen)n
(ts)d(for)i(the)g(send)g(and)g(receiv)n(e)f(bu\013ers.)150
2686 y(This)k(is)g(consisten)n(t)f(with)h(the)h(existing)e(reduce)g
(functions)i(but)f(is)g(inconsisten)n(t)f(with)i(the)f(scatter)f
(functions.)36 b(It)150 2785 y(giv)n(es)24 b(more)h(\015exibilit)n(y)-7
b(.)36 b(The)25 b(t)n(yp)r(e)h(signatures)e(w)n(ould)h(b)r(e)g(exp)r
(ected)h(to)f(agree)f(b)r(et)n(w)n(een)h(the)h(send)f(and)g(receiv)n(e)
150 2885 y(sides.)43 b(There)30 b(is)g(also)e(the)j(question)e(as)g(to)
h(whic)n(h)g(t)n(yp)r(e)g(\(send)g(or)f(receiv)n(e\))g(a)h(reduce)f(op)
r(eration)g(is)h(exp)r(ected)150 2985 y(to)d(b)r(e)h(able)g(to)f
(handle.)332 3098 y(Examples)f(are)h(needed)h(to)f(demonstrate)g(where)
g(this)h(functionalit)n(y)f(is)h(needed.)150 3305 y Fx(It)i(is)g(also)g
(prop)s(osed)f(that)i(the)g(in-place)e(extensions)h(also)g(b)s(e)g
(applied)e(to)j(this)f(prop)s(osed)f(function.)150 3547
y Fp(5.5.3)97 b(Intercommunicato)m(r)34 b(Collective)f(Op)s(erations)
150 3719 y Fx(In)f(the)h Ft(MPI-1)g Fx(standard,)f(collectiv)m(e)i(op)s
(erations)d(only)h(apply)f(to)j(in)m(tracomm)m(unicators)e([1)q(,)h
(Section)150 3832 y(4.2,)27 b(pg.)38 b(90];)28 b(ho)m(w)m(ev)m(er,)f
(most)e Ft(MPI)f Fx(collectiv)m(e)h(op)s(erations)e(can)i(b)s(e)e
(generalized)h(to)h(in)m(tercomm)m(unica-)150 3945 y(tors.)43
b(T)-8 b(o)31 b(understand)e(ho)m(w)i Ft(MPI)g Fx(can)g(b)s(e)g
(extended,)g(w)m(e)g(can)h(view)e(most)h Ft(MPI)g Fx(in)m(tracomm)m
(unicator)150 4057 y(collectiv)m(e)g(op)s(erations)f(in)m(to)g(one)h
(of)f(the)h(follo)m(wing)e(categories)j(\(see,)f(for)f(instance,)h
([3]\):)150 4238 y Fh(All-T)-9 b(o-All)46 b Fx(All)29
b(pro)s(cesses)h(con)m(tribute)g(to)h(the)g(result.)39
b(All)29 b(pro)s(cesses)h(receiv)m(e)i(the)e(result.)486
4423 y Fs(\017)46 b Ft(M)p Fx(PI)p 757 4423 V 32 w(Allgather,)30
b(MPI)p 1394 4423 V 33 w(Allgatherv)486 4566 y Fs(\017)46
b Ft(M)p Fx(PI)p 757 4566 V 32 w(Alltoall,)29 b(MPI)p
1318 4566 V 33 w(Alltoallv)486 4709 y Fs(\017)46 b Ft(M)p
Fx(PI)p 757 4709 V 32 w(Allreduce,)29 b(MPI)p 1399 4709
V 33 w(Reduce)p 1721 4709 V 33 w(scatter)150 4894 y Fh(All-T)-9
b(o-One)45 b Fx(All)29 b(pro)s(cesses)h(con)m(tribute)g(to)h(the)g
(result.)40 b(One)30 b(pro)s(cess)g(receiv)m(es)h(the)f(result.)486
5079 y Fs(\017)46 b Ft(M)p Fx(PI)p 757 5079 V 32 w(Gather,)31
b(MPI)p 1301 5079 V 33 w(Gatherv)486 5222 y Fs(\017)46
b Ft(M)p Fx(PI)p 757 5222 V 32 w(Reduce)150 5407 y Fh(One-T)-9
b(o-All)45 b Fx(One)30 b(pro)s(cess)g(con)m(tributes)g(to)h(the)g
(result.)39 b(All)29 b(pro)s(cesses)h(receiv)m(e)i(the)e(result.)3934
92 y Fq(1)3934 205 y(2)3934 318 y(3)3934 431 y(4)3934
544 y(5)3934 657 y(6)3934 770 y(7)3934 882 y(8)3934 995
y(9)3919 1108 y(10)3919 1221 y(11)3919 1334 y(12)3919
1447 y(13)3919 1560 y(14)3919 1673 y(15)3919 1786 y(16)3919
1899 y(17)3919 2012 y(18)3919 2124 y(19)3919 2237 y(20)3919
2350 y(21)3919 2463 y(22)3919 2576 y(23)3919 2689 y(24)3919
2802 y(25)3919 2915 y(26)3919 3028 y(27)3919 3141 y(28)3919
3254 y(29)3919 3366 y(30)3919 3479 y(31)3919 3592 y(32)3919
3705 y(33)3919 3818 y(34)3919 3931 y(35)3919 4044 y(36)3919
4157 y(37)3919 4270 y(38)3919 4383 y(39)3919 4496 y(40)3919
4609 y(41)3919 4721 y(42)3919 4834 y(43)3919 4947 y(44)3919
5060 y(45)3919 5173 y(46)3919 5286 y(47)3919 5399 y(48)p
eop
15 16 bop 150 -200 a Fo(5.5.)72 b(EXTENDED)31 b(COLLECTIVE)d(OPERA)-8
b(TIONS)1493 b Fx(15)486 99 y Fs(\017)46 b Ft(M)p Fx(PI)p
757 99 28 4 v 32 w(Bcast)486 245 y Fs(\017)g Ft(M)p Fx(PI)p
757 245 V 32 w(Scatter,)32 b(MPI)p 1306 245 V 33 w(Scatterv)150
432 y Fh(Other)45 b Fx(Collectiv)m(e)30 b(op)s(erations)g(that)h(do)f
(not)g(\014t)h(in)m(to)f(one)h(of)f(the)h(ab)s(o)m(v)m(e)g(categories.)
486 620 y Fs(\017)46 b Ft(M)p Fx(PI)p 757 620 V 32 w(Scan)486
766 y Fs(\017)g Ft(M)p Fx(PI)p 757 766 V 32 w(Barrier)150
954 y(The)25 b Ft(M)p Fx(PI)p 512 954 V 32 w(Barrier)h(op)s(eration)f
(do)s(es)h(not)g(\014t)g(in)m(to)g(this)e(classi\014cation)h(since)h
(no)f(data)i(is)e(b)s(eing)g(mo)m(v)m(ed.)150 1067 y(The)30
b(data)h(mo)m(v)m(emen)m(t)h(pattern)f(of)f Ft(M)p Fx(PI)p
1585 1067 V 32 w(Scan)g(do)s(es)g(not)h(\014t)f(this)g(taxonom)m(y)-8
b(.)332 1179 y(Comm)m(unicators)28 b(con)m(tain)i(a)g(\\left")f(and)g
(a)h(\\righ)m(t")f(group.)40 b(Collectiv)m(e)29 b(op)s(erations)g(can)g
(b)s(e)g(de-)150 1292 y(scrib)s(ed)21 b(in)g(terms)h(of)h(these)g(t)m
(w)m(o)h(groups.)38 b(F)-8 b(or)23 b(example,)h(an)f(all-to-all)f
Ft(M)p Fx(PI)p 2794 1292 V 32 w(Allgather)g(op)s(eration)g(can)150
1405 y(b)s(e)29 b(describ)s(ed)e(as)i(collecting)g(data)h(from)f(all)f
(mem)m(b)s(ers)g(of)i(one)f(group)g(with)f(the)h(result)f(app)s(earing)
g(in)150 1518 y(all)23 b(mem)m(b)s(ers)h(of)h(the)g(other)g(group)f
(\(see)h(\014gure)f(5.4\).)40 b(As)25 b(another)g(example,)g(a)g
(one-to-all)h Ft(M)p Fx(PI)p 3502 1518 V 32 w(Bcast)150
1631 y(op)s(eration)h(sends)g(data)h(from)f(one)h(mem)m(b)s(er)f(of)g
(one)h(group)f(to)i(all)d(mem)m(b)s(ers)h(of)g(the)h(other)g(group)f
(\(see)150 1744 y(\014gure)32 b(5.3\).)47 b(F)-8 b(or)33
b(in)m(tracomm)m(unicators,)g(these)g(t)m(w)m(o)g(groups)f(are)g(the)h
(same.)46 b(F)-8 b(or)33 b(in)m(tercomm)m(unica-)150
1857 y(tors,)f(these)g(t)m(w)m(o)g(groups)f(are)g(distinct.)42
b(F)-8 b(or)32 b(symmetry)-8 b(,)32 b(eac)m(h)h(suc)m(h)d(op)s(eration)
h(is)f(describ)s(ed)g(in)g(t)m(w)m(o)150 1970 y(phases,)g(so)h(that)g
(it)f(has)g(a)h(full-duplex)26 b(b)s(eha)m(vior.)332
2083 y(F)-8 b(or)39 b Ft(MPI-2)p Fx(,)i(the)e(follo)m(wing)e(in)m
(tracomm)m(uniator)h(collectiv)m(e)h(op)s(erations)e(also)i(apply)e(to)
i(in)m(ter-)150 2196 y(comm)m(unicators:)286 2383 y Fs(\017)46
b Ft(M)p Fx(PI)p 557 2383 V 32 w(BCAST,)286 2571 y Fs(\017)g
Ft(M)p Fx(PI)p 557 2571 V 32 w(GA)-8 b(THER,)31 b(MPI)p
1217 2571 V 33 w(GA)-8 b(THER)e(V,)286 2759 y Fs(\017)46
b Ft(M)p Fx(PI)p 557 2759 V 32 w(SCA)-8 b(TTER,)30 b(MPI)p
1260 2759 V 32 w(SCA)-8 b(TTER)e(V,)286 2946 y Fs(\017)46
b Ft(M)p Fx(PI)p 557 2946 V 32 w(ALLGA)-8 b(THER,)31
b(MPI)p 1399 2946 V 33 w(ALLGA)-8 b(THER)e(V,)286 3134
y Fs(\017)46 b Ft(M)p Fx(PI)p 557 3134 V 32 w(GA)-8 b(THER)p
983 3134 V 34 w(SCA)g(TTER,)286 3321 y Fs(\017)46 b Ft(M)p
Fx(PI)p 557 3321 V 32 w(ALL)-8 b(TO)m(ALL,)31 b(MPI)p
1313 3321 V 32 w(ALL)-8 b(TO)m(ALL)e(V,)31 b(\(MPI)p
2162 3321 V 33 w(ALL)-8 b(TO)m(ALL)e(W\))286 3509 y Fs(\017)46
b Ft(M)p Fx(PI)p 557 3509 V 32 w(REDUCE,)31 b(MPI)p 1217
3509 V 32 w(ALLREDUCE,)286 3697 y Fs(\017)46 b Ft(M)p
Fx(PI)p 557 3697 V 32 w(REDUCE)p 983 3697 V 33 w(SCA)-8
b(TTER,)286 3884 y Fs(\017)46 b Ft(M)p Fx(PI)p 557 3884
V 32 w(BARRIER.)150 4072 y(Additional)28 b(new)i(calls)f(are)i(as)g
(follo)m(ws:)286 4260 y Fs(\017)46 b Ft(M)p Fx(PI)p 557
4260 V 32 w(GA)-8 b(THER)p 983 4260 V 34 w(SCA)g(TTER.)150
4447 y(These)36 b(functions)f(use)h(exactly)h(the)f(same)h(argumen)m(t)
f(list)f(as)i(their)e Ft(MPI-1)i Fx(coun)m(terparts)f(and)g(also)150
4560 y(w)m(ork)30 b(on)h(in)m(tracomm)m(unicators,)f(as)h(exp)s(ected.)
150 4804 y Fp(5.5.4)97 b(Op)s(erations)33 b(that)g(Move)e(Data)150
4975 y Fx(F)-8 b(ull-duplex)20 b(\(or)k(symmetric)f(seman)m(tics\))h
(for)f(collectiv)m(e)g(in)m(tercomm)m(unicator)h(op)s(erations)e(ha)m
(v)m(e)j(b)s(een)150 5088 y(c)m(hosen)31 b(as)g(the)f
Ft(MPI-2)h Fx(approac)m(h)g(for)f(suc)m(h)g(op)s(erations)2127
5055 y Fn(8)p 150 5167 1440 4 v 254 5221 a Fq(8)288 5253
y Fm(Prop)r(osal)e(b)n(y)c(Marc)j(Snir,)f(IBM.)-64 92
y Fq(1)-64 205 y(2)-64 318 y(3)-64 431 y(4)-64 544 y(5)-64
657 y(6)-64 770 y(7)-64 882 y(8)-64 995 y(9)-80 1108
y(10)-80 1221 y(11)-80 1334 y(12)-80 1447 y(13)-80 1560
y(14)-80 1673 y(15)-80 1786 y(16)-80 1899 y(17)-80 2012
y(18)-80 2124 y(19)-80 2237 y(20)-80 2350 y(21)-80 2463
y(22)-80 2576 y(23)-80 2689 y(24)-80 2802 y(25)-80 2915
y(26)-80 3028 y(27)-80 3141 y(28)-80 3254 y(29)-80 3366
y(30)-80 3479 y(31)-80 3592 y(32)-80 3705 y(33)-80 3818
y(34)-80 3931 y(35)-80 4044 y(36)-80 4157 y(37)-80 4270
y(38)-80 4383 y(39)-80 4496 y(40)-80 4609 y(41)-80 4721
y(42)-80 4834 y(43)-80 4947 y(44)-80 5060 y(45)-80 5173
y(46)-80 5286 y(47)-80 5399 y(48)p eop
16 17 bop 150 -200 a Fx(16)23 b Fo(CHAPTER)29 b(5.)72
b(EXTENDED)30 b(COLLECTIVE)f(OPERA)-8 b(TIONS)29 b(AND)i(RELA)-8
b(TED)31 b(ISSUES)750 2025 y @beginspecial 21.500000
@llx 378 @lly 553.500000 @urx 780.250000 @ury 2880 @rwi
@setspecial
/MAV 300 dict def
MAV begin
/useClip true def
/top 0 def
/left 1 def
/bottom 2 def
/right 3 def
/CM 6 array def
/CTM 6 array def
/CTMR 6 array def
/MTC 6 array def
/blimit 1500 def
/bcnt 0 def
/rbox 8 array def
/segbox 8 array def
/bbox1 4 array def
/c1 3 array def
/c2 3 array def
/d 3 array def
/delta 3 array def
/mycurrentrgbcolor 3 array def
/ulx 0 def
/uly 1 def
/llx 2 def
/lly 3 def
/urx 4 def
/ury 5 def
/lrx 6 def
/lry 7 def
/sp [0 0] def
/ep [0 0] def
/bbox 4 array def
/pbox 4 array def
/scrnProc currentscreen 3 1 roll pop pop def
/currentcolorscreen where {
begin
currentcolorscreen
end
3 1 roll pop pop
4 2 roll pop pop
5 -2 roll pop pop
6 -2 roll pop pop
/kProc exch def
/bProc exch def
/gProc exch def
/rProc exch def
} if
/Max {2 copy gt {pop}{exch pop} ifelse} bind def
/Min {2 copy lt {pop}{exch pop} ifelse} bind def
/cellPenW 72.0 /currentcolorscreen where
{begin currentcolorscreen end pop pop
10 1 roll pop pop 8 1 roll pop pop
6 1 roll pop pop Max Max Max }
{currentscreen pop pop} ifelse div 2.0 div def
/rect {
/saveobj save def
R PC PF LC SS
saveobj restore
} bind def
/R {
newpath
pbox astore pop
0 792 translate 1 -1 scale CTMR currentmatrix pop exch translate
/objectCord mstore def
pbox right get 2 div
dup pbox left get exch sub
pbox left 3 -1 roll put
dup pbox right 3 -1 roll put
pbox bottom get 2 div
dup pbox top get exch sub
pbox top 3 -1 roll put
dup pbox bottom 3 -1 roll put
translate
CTM currentmatrix pop
57.3 mul rotate
RT
} bind def
/SaveScreenBW {
currentscreen
/scrnProc exch def
/scrnAngle exch def
/scrnFreq exch def
} bind def
/RestoreScreenBW {
scrnFreq scrnAngle MAV /scrnProc get setscreen
} bind def
/SetFreqAngleBW {
currentscreen
3 1 roll
pop pop
setscreen
} bind def
/SaveScreenColor {
currentcolorscreen
/grayProc exch def
/grayAngle exch def
/grayFreq exch def
/bProc exch def
/bAngle exch def
/bFreq exch def
/gProc exch def
/gAngle exch def
/gFreq exch def
/rProc exch def
/rAngle exch def
/rFreq exch def
} bind def
/RestoreColorScreen {
rFreq rAngle MAV /rProc get gFreq gAngle MAV /gProc get bFreq bAngle MAV /bProc get grayFreq grayAngle MAV /grayProc get setcolorscreen
} bind def
/SetFreqAngleColor {
currentcolorscreen
3 1 roll pop pop
4 2 roll pop pop
5 -2 roll pop pop
6 -2 roll pop pop
4 1 roll
6 1 roll
8 1 roll
10 1 roll
setcolorscreen
} bind def
/initmsaverestore {
userdict begin
/mdict 10 dict def
mdict begin
/mindex -1 def
/mstacksize 25 def
/mstack mstacksize array def
/incmindex {
/mindex mindex 1 add def
} bind def
/decmindex {
/mindex mindex 1 sub def
} bind def
/checkmindex {
mindex 0 lt {
(%ERROR: msave/mrestore stack underflow: Offending command 'mrestore'
) print flush
stop
}
{
mindex mstacksize ge {
(%ERROR: msave/mrestore stack overflow: Offending command 'msave'
) print flush
stop
} if
} ifelse
} bind def
/mpush {
incmindex
checkmindex
mstack mindex
3 -1 roll put
} bind def
/mpop {
checkmindex
mstack mindex get
decmindex
} bind def
end
end
} bind def
/msave {
mdict begin
matrix currentmatrix mpush
end
} bind def
/mrestore {
mdict begin
mpop setmatrix
end
} bind def
/msavelevel {
mdict begin
mindex 1 add
end
} bind def
/mstore {
matrix currentmatrix
} bind def
/AutoSizeY {
0 0 pl
dup 3 1 roll
4 -1 roll
add
pl exch pop
exch sub
} bind def
/pl {
transform
0.25 sub round 0.25 add exch
0.25 sub round 0.25 add exch
itransform
} bind def
/pll {
transform
round exch
round exch
itransform
} bind def
/pr {
dtransform
round exch
round exch
idtransform
} bind def
/m {
pl moveto
} bind def
/l {
pl lineto
} bind def
/c {
pl curveto
} bind def
/rm {
pr rmoveto
} bind def
/rl {
pr rlineto
} bind def
/ar {
5 -2 roll pl
5 2 roll
arc
} bind def
/an {
5 -2 roll pl
5 2 roll
arcn
} bind def
/MakePatternFont {
/FontDict 20 dict def
FontDict begin
/FontName exch def
/Encoding exch def
/FontMatrix [1 0 0 1 0 0 ] def
/FontType 3 def
/FontBBox [ 0 0 1 1 ] def
/PatternDict exch def
/RenderPattern {
patternDict exch get
exec
} bind def
/BuildChar {
exch begin
1 0 0 0 1 1 setcachedevice
Encoding exch get RenderPattern
end
} bind def
FontName FontDict definefont pop
end
} bind def
/SnapToPattenGrid
{
exch
dup 0 lt {
1 index sub
} if
1 index
div truncate
mul
} bind def
/FillPatternString {
dup length
1 sub
0 1 3 -1 roll {
2 index
2 index
3 -2 roll
put
} for
pop pop
} bind def
/AutoSizeY {
0.0 exch dtransform
round
idtransform exch pop
} bind def
/AutoSizeX {
0.0 dtransform
exch
round
exch
idtransform pop
} bind def
/AutoCellSize {
AutoSizeY
exch
AutoSizeX
exch
} bind def
/CheckPath {
false
{ pop pop pop true exit}
{ pop pop pop true exit}
{ pop pop pop pop pop pop pop true exit}
{ pop true exit}
pathforall
} bind def
/PatternFill { % patternCharacter
/patternString 1 string def
/cm mstore def
patternMatrix setmatrix
1 1 AutoCellSize
dup 0 eq { pop 1} if
exch
dup 0 eq { pop 1} if
exch
/patternSize exch 24.0 mul def
/PatternSizeX exch 24.0 mul patternString length mul def
/flaterror 0 def
patternString FillPatternString
gsave
flaterror 1 add setflat
flattenpath
pathbbox
grestore
psy add flaterror add psy SnapToPattenGrid
exch psx add flaterror add psx SnapToPattenGrid
3 -1 roll flaterror sub psy SnapToPattenGrid
4 -1 roll flaterror sub psx SnapToPattenGrid
4 2 roll pll
4 2 roll pll
/llxsnap exch def
/llysnap exch def
/urxsnap exch def
/urysnap exch def
gsave
useClip true eq {clip}{eoclip} ifelse newpath
/PatternFont findfont [psx 0.0 0.0 psy 0.0 0.0] makefont setfont
llysnap patternSize urysnap {
llxsnap exch moveto
llxsnap PatternSizeX urxsnap {
pop
patternString show
%currentpoint am
} for
} bind for
grestore
cm setmatrix
} bind def % End 'PatternFill'
/DefaultPatternFont {
/cm mstore def
patternMatrix setmatrix
1 1 AutoCellSize
dup 0 eq { pop 1} if
exch
dup 0 eq { pop 1} if
exch
/psy exch iSizeY mul def
/psx exch iSizeX mul def
/patternDict 64 dict def
patternDict begin
/NotDef {} def
/LiteDiagLines {
iSizeX iSizeY false [iSizeX 0.0 0.0 iSizeY -1.0 mul 0.0 iSizeY]
{pat}
imagemask
} bind def
end
/CustEncoding 256 array def
0 255 1 {
CustEncoding exch /NotDef put
} bind for
CustEncoding 65 /LiteDiagLines put
patternDict CustEncoding /PatternFont MakePatternFont
/pathSegProc {
strokepath
CheckPath {
65 PatternFill newpath
} if
} bind def
cm setmatrix
} bind def
/XRound {
dup
3 -1 roll
exch mul round
exch div
} bind def
/RoundMatrix {
/i 0 def
dup {
100000.0 XRound
1 index
exch i exch put
/i i 1 add def
} forall
} bind def
/GetBoxesRatio {
3 -1 roll sub
7 1 roll
exch sub
6 1 roll
3 -1 roll sub
5 1 roll
exch sub
4 1 roll
3 -1 roll div
3 1 roll
exch div
exch
} bind def
/T {792 exch sub} bind def
/sx 0 def
/sy 0 def
/ex 0 def
/ey 0 def
/lw 0 def
/siz 0 def
/U {gsave 0 setlinecap
/lw siz 0.078125 mul def /ey exch neg def /ex exch def /sy exch neg def /sx exch def
fontkind plain eq
{
lw siz 0.0119444 mul sub setlinewidth sx sy moveto ex ey lineto stroke
}
{
currentdict /outlineFontSize known outlineFontSize 0 gt and
{
fontkind outline eq
{
/sy sy 0.0119444 siz mul sub def
/ey ey 0.0119444 siz mul sub def
gsave
1 1 1 setrgbcolor lw siz 0.0119444 mul sub setlinewidth sx sy moveto ex ey lineto stroke
grestore
lw siz 0.0119444 mul sub setlinewidth sx sy moveto ex ey lineto
strokepath 0.0119444 siz mul setlinewidth stroke
} if
fontkind shadow eq fontkind outlineshadow eq or
{
/sy sy 0.0358332 siz mul sub def
/ey ey 0.0358332 siz mul sub def
lw setlinewidth
lw 2 div sx add sy
lw 2 div sub moveto
lw 2 div ex add ey
lw 2 div sub lineto stroke
gsave
1 1 1 setrgbcolor lw siz 0.0119444 mul sub setlinewidth sx sy moveto ex ey lineto stroke
grestore
lw siz 0.0119444 mul sub setlinewidth sx sy moveto ex ey lineto
strokepath 0.0119444 siz mul setlinewidth stroke
} if
} if
} ifelse
grestore} bind def
/plain 1 def
/outline 2 def
/shadow 3 def
/outlineshadow 4 def
/fess {
currentdict /outlineFontSize known {
/outlineFontSize 2 index def
} if
findfont exch dup /siz exch def scalefont setfont
} bind def
/SHDW {gsave siz oldfontname fess siz 0.055 mul x add y siz 0.05 mul sub moveto c show grestore} def
/NRML {gsave 1 1 1 setrgbcolor siz oldfontname fess x y moveto c show grestore siz /Outline fess x y moveto c show} def
/S {
fontkind plain eq {neg moveto show} if
fontkind outline eq {neg /y exch def /x exch def /c exch def NRML} if
fontkind shadow eq {neg /y exch def /x exch def /c exch def SHDW NRML} if
fontkind outlineshadow eq {neg /y exch def /x exch def /c exch def SHDW NRML} if
} bind def
/F {
/fontkind exch def
fontkind plain eq {fess} if
fontkind outline eq {dup /oldfontname exch def exch dup /siz exch def exch OLF} if
fontkind shadow eq {dup /oldfontname exch def exch dup /siz exch def exch OLF} if
fontkind outlineshadow eq {dup /oldfontname exch def exch dup /siz exch def exch OLF} if
} bind def
/makeoutlinedict 15 dict def
/makeoutlinefont
{
makeoutlinedict begin
/uniqueid exch def
/strokewidth exch def
/newfontname exch def
/basefontname exch def
/basefontdict basefontname findfont def
/numentries basefontdict maxlength 1 add def
basefontdict /UniqueID known not
{/numentries numentries 1 add def} if
/outfontdict numentries dict def
basefontdict
{
exch dup /FID ne {exch outfontdict 3 1 roll put} {pop pop} ifelse
}forall
outfontdict /FontName newfontname put
outfontdict /PaintType 2 put
outfontdict /StrokeWidth strokewidth put
outfontdict /UniqueID uniqueid put
newfontname outfontdict definefont pop
end
}def
/UID {
findfont dup /UniqueID known
{/UniqueID get 1 add}
{pop 1}
ifelse
} def
/OLF {
dup
/Outline
1000 62 div
4 -1 roll
UID
/outlineFontSize 5 index def
makeoutlinefont
/Outline findfont exch scalefont setfont
} def
/CopyEncoding {
findfont
/Encoding get
dup length array
/tarrayz exch def
tarrayz 0
3 -1 roll
putinterval
tarrayz
} bind def
/Re-encode {
dup length array copy
/eap 0 def
exch {
dup type /integertype eq {
/eap exch def
} {
1 index
exch
eap exch
put
/eap eap 1 add def
} ifelse
} forall
} bind def
/EncodeFont {
findfont dup
length dict
begin
{ 1 index /FID ne
{ def }
{ pop pop } ifelse
} forall
/FontName exch def
/Encoding exch def
FontName currentdict
end
definefont pop
} bind def
/clip2pathbbox {
/magicNum linewidth 2 div 1 2 sqrt div mul def
pathbbox
/urymn exch magicNum add def
/urxmn exch magicNum add def
/llymn exch magicNum sub def
/llxmn exch magicNum sub def
newpath llxmn llymn moveto llxmn urymn lineto urxmn urymn lineto urxmn llymn lineto
closepath clip newpath
} bind def
/Line {
MAV /LC get length 0 ne
{
gsave
newpath
MAV /ArrowType get length 0 eq
MAV /SD get length 0 eq and
{2 setlinecap /UseClip {clip2pathbbox} def }
{0 setlinecap /UseClip {} def } ifelse
0 792 translate
1 -1 scale
CTM currentmatrix pop
/yStart exch def /xStart exch def /yEnd exch def /xEnd exch def /linewidth exch def
MAV /ArrowType get length 0 eq xStart xEnd ne yStart yEnd ne and and
{xStart yStart moveto xEnd yEnd lineto UseClip xStart yStart moveto xEnd yEnd lineto}
{xStart yStart moveto xEnd yEnd lineto} ifelse
linewidth setlinewidth SD strokepath
CheckPath {LC PF ArrowType} if
grestore
}
{pop pop pop pop pop} ifelse
} bind def
/CompensateForStroke {
sin currentlinewidth mul
exch
cos currentlinewidth mul
dup 0 translate
4 -1 roll exch 2.0 mul sub
3 1 roll
2.0 mul sub
} bind def
/arrowdict 10 dict def
arrowdict begin
/SwallowTail {
newpath
0.0 0.0 moveto
1.0 -.5 lineto
.666 0.0 lineto
1.0 .5 lineto
closepath
} bind def
/Triangular {
newpath
0.0 0.0 moveto
1.0 -.5 lineto
1.0 .5 lineto
closepath
} bind def
/OpenTri {
newpath
1.0 0.5 moveto
0.0 0.0 lineto
1.0 -0.5 lineto
} bind def
/ClosedTri {
newpath
1.0 0.5 moveto
0.0 0.0 lineto
1.0 -0.5 lineto
closepath
} bind def
/SlashBar {
newpath
0.5 -.5 moveto
-.5 0.5 lineto
} bind def
/Dot {
newpath
0.5 0.0 moveto
0 0 1 0 360 arc
closepath
} bind def
/ExtSlashBar {
newpath
1.0 -.5 moveto
0.0 0.5 lineto
} bind def
end
/ScaleArrowHead {
0 0 4 -2 roll
0 0 1 1
8 -4 roll GetBoxesRatio
scale
} bind def
/DrawArrowHead {
gsave
[] 0 setdash
currentpoint translate rotate
{
4 copy
gsave
initmatrix
100 200 translate
msave
ScaleArrowHead pop
arrowdict exch get exec
mrestore
strokepath
0 0 3 index 3 index
pathbbox 8 4 roll
GetBoxesRatio
4 2 roll
grestore
3 index 1.0 exch sub
6 -1 roll
{
2 index mul
0 translate
}{
pop
} ifelse
msave
ScaleArrowHead scale
arrowdict exch get exec
mrestore
strokepath
} {
msave
ScaleArrowHead
arrowdict exch get exec
mrestore
} ifelse
CheckPath {
LC PF
} if
grestore
} bind def
/SR {
pbox left get pbox top get moveto
pbox right get pbox top get lineto
pbox right get pbox bottom get lineto
pbox left get pbox bottom get lineto
closepath
} bind def
/RR1 {
pbox top get pbox bottom get sub abs
pbox left get pbox right get sub abs
2 copy lt {
Min
2 div dup dup dup
pbox left get add pbox left 3 -1 roll put
pbox right get exch sub pbox right 3 -1 roll put
pbox left get pbox bottom get moveto
pbox right get 0 3 -1 roll 90 -90 arcn
pbox left get 0 3 -1 roll -90 90 arcn closepath
} {
Min
2 div dup dup dup
pbox bottom get exch sub pbox bottom 3 -1 roll put
pbox top get add pbox top 3 -1 roll put
pbox left get pbox bottom get moveto
pbox left get add pbox top get
2 index
180 0 arc
dup pbox left get add pbox bottom get
3 -1 roll 0 180 arc
closepath
} ifelse
} bind def
/RR2 {
dup dup dup dup dup dup dup dup
pbox top get add pbox top 3 -1 roll put
pbox left get add pbox left 3 -1 roll put
pbox bottom get exch sub pbox bottom 3 -1 roll put
pbox right get exch sub pbox right 3 -1 roll put
pbox bottom get add pbox left get exch moveto
pbox right get pbox bottom get 3 -1 roll 90 0 arcn
pbox right get pbox top get 3 -1 roll 0 270 arcn
pbox left get pbox top get 3 -1 roll 270 180 arcn
pbox left get pbox bottom get 3 -1 roll 180 90 arcn closepath
} bind def
/E {
1.415 setmiterlimit
CM currentmatrix pop
pbox right get pbox left get sub abs dup
pbox bottom get pbox top get sub abs dup 3 -1 roll
lt {exch dup 3 -1 roll exch div 1 exch}
{dup 3 -1 roll exch div 1} ifelse scale
0 0 3 -1 roll 2 div 0 360 arc closepath
CM setmatrix
} bind def
/StripFromFront {
dup length
2 index sub
3 1 roll
exch 3 -1 roll
getinterval
} bind def
/MakePathArray {
/k 0 def
{/k k 1 add def pop pop}{/k k 1 add def pop pop}{/k k 1 add def pop pop pop pop pop pop}{/k k 1 add def }pathforall
k array
/k 0 def
{{moveto} 3 array astore 1 index k 3 -1 roll put /k k 1 add def}
{{lineto} 3 array astore 1 index k 3 -1 roll put /k k 1 add def}
{{curveto} 7 array astore 1 index k 3 -1 roll put /k k 1 add def}
{{closepath} 1 array astore 1 index k 3 -1 roll put /k k 1 add def}
pathforall
}bind def
/MakeFlatPathArray {
/k 0 def
{/k k 1 add def pop pop}{/k k 1 add def pop pop}{pop pop pop pop pop pop}{}pathforall
k array
/k 0 def
{{moveto} 3 array astore 1 index k 3 -1 roll put /k k 1 add def}
{{lineto} 3 array astore 1 index k 3 -1 roll put /k k 1 add def}
{ pop pop pop pop pop pop}
{}
pathforall
}bind def
/FractionalLine {
2 index sub
.00001 mul
exch
3 index sub
.00001 mul
4 -1 roll add
3 1 roll
add
} bind def
/calcLineLength {
exch
4 -1 roll
sub
dup mul
3 1 roll exch
sub
dup mul
add sqrt
} bind def
/InitTotalLineLength {
/oldY exch def
/oldX exch def
theDash aload pop currentLineLength add setdash
} bind def
/AccumeLineLength {
3 copy pop
2 copy
oldX oldY
4 2 roll calcLineLength
/segmentLength exch def
/currentLineLength currentLineLength segmentLength add def
/oldY exch def
/oldX exch def
} bind def
/DecumeLastLineLength {
/currentLineLength currentLineLength segmentLength sub def
} bind def
/DrawFlattendSegment {
/pointCount 2 def
dup 0 lt { pop 0 } if
fpc
3 1 roll
2 index
1 index
gt {
2 copy get
dup length
dup 3 eq {
pop
dup 0 get
exch 1 get
2 copy InitTotalLineLength
m
} {
} ifelse
} {
pop 1 index
} ifelse
dup 1 add
3 index
exch sub
dup 10 gt { pop 10} if
{
1 add
2 copy
get aload pop
AccumeLineLength
exec
} repeat
3 1 roll pop pop
DecumeLastLineLength
} bind def
/IncFPC {
fpc add
/fpc exch def
} bind def
/DrawFlatPathArray {
fpc
0 {
dup 2 index
1 sub
lt {
flatPathArray exch
newpath
1 sub DrawFlattendSegment
gsave
pathSegProc
grestore
newpath
}
{
pop pop
exit
} ifelse
} loop
} bind def
/RecordFirstSubSegment {
closepathArray 0 pathArray 0 get
put
closepathArray 1
pathArray 0 get aload pop pop
pathArray 1 get dup length 3 eq {
aload pop pop
} {
newpath
0 0 moveto
aload pop exec
/segmentArray flattenpath MakeFlatPathArray def
segmentArray 1 get aload pop pop
} ifelse
FractionalLine {lineto} 3 array astore
put
} bind def
/AppendClosePath {
closepathArray 0 get 2 {lineto} put
flatPathArray fpc closepathArray 0 get put
1 IncFPC
flatPathArray fpc closepathArray 1 get put
1 IncFPC
} bind def
/RecordCurrentDash {
/theDash
currentdash 2 array astore def
/currentLineLength 0 def
} bind def
/PatternStroke {
0 setlinecap
RecordCurrentDash
/saveFlat currentflat def
.5 setflat
/pathArray MakePathArray def
/closepathArray 2 array def
/pathLength pathArray length def
/flatPathArray 513 array def
/currentLineLength 0 def
/fpc 0 def
pathArray pathLength 1 sub get
length 1 eq {
/usingClosepath true def
RecordFirstSubSegment
/pathLength pathLength 1 sub def
} {
/usingClosepath false def
} ifelse
0 1 pathLength 1 sub {
pathArray exch get
dup length 3 eq {
fpc 1 add 512 ge {
DrawFlatPathArray
fpc 2 ge {
flatPathArray flatPathArray fpc 2 sub get 0 put
flatPathArray flatPathArray fpc 1 sub get 1 put
/fpc 2 def
}{
/fpc 0 def
} ifelse
} if
flatPathArray exch fpc exch put
1 IncFPC
} {
dup length 7 eq {
newpath
/nToStrip 0 def
fpc 1 gt {
flatPathArray fpc 2 sub get aload pop pop m
flatPathArray fpc 1 sub get aload pop exec
/nToStrip 2 def
} {
fpc 1 eq {
flatPathArray fpc 1 sub get aload pop exec
/nToStrip 2 def
} if
} ifelse
aload pop exec
/segmentArray flattenpath MakeFlatPathArray def
/segmentArray nToStrip segmentArray StripFromFront def
segmentArray length fpc add 512 lt {
flatPathArray fpc segmentArray putinterval
segmentArray length IncFPC
} {
DrawFlatPathArray
fpc 1 gt {
flatPathArray flatPathArray fpc 2 sub get 0 exch put
flatPathArray flatPathArray fpc 1 sub get 1 exch put
/fpc 2 def
}{
/fpc 0 def
} ifelse
segmentArray length 512 lt {
flatPathArray fpc segmentArray putinterval
segmentArray length IncFPC
} {
segmentArray length
/exitLoop false def
0
{
2 copy sub
dup 500 gt {
pop 500
} {
/exitLoop true def
} ifelse
segmentArray 2 index 2 index getinterval
flatPathArray fpc 3 -1 roll putinterval
dup IncFPC
add
exitLoop {
exit
} {
DrawFlatPathArray
fpc 1 gt {
flatPathArray flatPathArray fpc 2 sub get 0 exch put
flatPathArray flatPathArray fpc 1 sub get 1 exch put
/fpc 2 def
}{
/fpc 0 def
} ifelse
} ifelse
} loop
} ifelse
} ifelse
} if
} ifelse
} for
fpc 0 gt {
usingClosepath {
AppendClosePath
} if
DrawFlatPathArray
} if
saveFlat setflat
} bind def

/rampdelta {
/len 0 3 -1 roll add def
/i2 0 3 -1 roll add def
/i1 0 3 -1 roll add def
/nRampSteps len cellPenW div cvi 1 add dup 512 gt {pop 512} if def
/rampPenW len nRampSteps div def
rampColors i1 get aload pop c1 astore pop
rampColors i2 get aload pop c2 astore pop
c2 0 get c1 0 get sub nRampSteps div d 0 3 -1 roll put
c2 1 get c1 1 get sub nRampSteps div d 1 3 -1 roll put
c2 2 get c1 2 get sub nRampSteps div d 2 3 -1 roll put
d aload pop
} bind def
/adddelta {
d astore pop
mycurrentrgbcolor c1 copy pop
c1 0 get d 0 get add c2 0 3 -1 roll put
c1 1 get d 1 get add c2 1 3 -1 roll put
c1 2 get d 2 get add c2 2 3 -1 roll put
c2 aload pop setrgbcolor
c2 mycurrentrgbcolor copy pop
} bind def
/rampline {
segbox ulx get rampPenW add segbox ulx 3 -1 roll put
segbox llx get rampPenW add segbox llx 3 -1 roll put
segbox ulx get segbox uly get moveto
segbox llx get segbox lly get lineto
delta aload pop adddelta stroke
}bind def
/slantrampseg {
gsave newpath
segbox ulx get segbox urx get sub abs
rampdelta delta astore pop
segbox ulx get rampPenW .5 mul sub segbox ulx 3 -1 roll put
segbox llx get rampPenW .5 mul sub segbox llx 3 -1 roll put
rampColors exch get aload mycurrentrgbcolor copy pop setrgbcolor
rampPenW setlinewidth nRampSteps {rampline} repeat
grestore
}bind def
/flipramp {
rampColors 0 get rampColors 3 get rampColors 0 3 -1 roll put rampColors 3 3 -1 roll put
rampColors 1 get rampColors 2 get rampColors 1 3 -1 roll put rampColors 2 3 -1 roll put
} bind def
/leftrbox {
rbox segbox copy pop
rbox urx get rbox ulx get sub
flipRatio mul dup
segbox ulx get add segbox urx 3 -1 roll put
segbox llx get add segbox lrx 3 -1 roll put
} bind def
/rightrbox {
rbox segbox copy pop
rbox urx get rbox ulx get sub
flipRatio mul dup
segbox ulx get add segbox ulx 3 -1 roll put
segbox llx get add segbox llx 3 -1 roll put
} bind def
/drawslantramp {
segbox urx get segbox ulx get sub 3 div dup dup dup dup dup dup dup dup dup
segbox ulx get add segbox urx 3 -1 roll put
segbox llx get add segbox lrx 3 -1 roll put
segbox aload pop
0 0 1 slantrampseg
segbox astore pop
segbox ulx get add segbox ulx 3 -1 roll put
segbox llx get add segbox llx 3 -1 roll put
segbox urx get add segbox urx 3 -1 roll put
segbox lrx get add segbox lrx 3 -1 roll put
segbox aload pop
1 1 2 slantrampseg
segbox astore pop
segbox ulx get add segbox ulx 3 -1 roll put
segbox llx get add segbox llx 3 -1 roll put
segbox urx get add segbox urx 3 -1 roll put
segbox lrx get add segbox lrx 3 -1 roll put
2 2 3 slantrampseg
}bind def
/tan {
dup sin exch cos div
}bind def
/rampbox {
pbox top get dup rbox uly 3 -1 roll put rbox ury 3 -1 roll put
pbox left get dup rbox ulx 3 -1 roll put rbox llx 3 -1 roll put
pbox bottom get dup rbox lly 3 -1 roll put rbox lry 3 -1 roll put
pbox right get dup rbox urx 3 -1 roll put rbox lrx 3 -1 roll put
}bind def
/LoadSegBox {
4 copy
segbox llx 6 -1 roll put
segbox lly 5 -1 roll put
segbox lrx 4 -1 roll put
segbox lry 6 -1 roll put
segbox urx 5 -1 roll put
segbox ury 3 -1 roll put
segbox ulx 4 -1 roll put
segbox uly 3 -1 roll put
} bind def
/TransToCenter {
gsave
flattenpath
pathbbox
grestore
2 index
sub 2.0 div exch
3 index sub 2.0 div
4 -1 roll add
3 1 roll add
translate
} bind def
/RotRampGrad {
gsave
TransToCenter
-1.0 mul 180.0 add rotate
flattenpath
pathbbox
clip
newpath
LoadSegBox
flipRatio 1 lt dup{flipramp}if flipRatio 0 gt and
{
/flipRatio 1.0 flipRatio sub def
segbox rbox copy pop leftrbox drawslantramp flipramp rightrbox drawslantramp
}
{drawslantramp} ifelse
grestore
} bind def
/bbg {
pbox exch get
} bind def
/DR { % Directional ramp
/workingMatrix mstore def
objectCord setmatrix
flipramp
gsave
flattenpath pathbbox
grestore
pbox bottom 3 -1 roll put pbox right 3 -1 roll put pbox top 3 -1 roll put pbox left 3 -1 roll put
rampAngle RotRampGrad
RF
workingMatrix setmatrix
}bind def
/ramparc {
gsave
circum rampdelta delta astore pop
/rampPenW 60.0 nRampSteps div def
/ang1 exch rampAngle sub def
/ang2 rampPenW ang1 add def
rampColors exch get aload mycurrentrgbcolor copy pop setrgbcolor 1 setlinewidth
nRampSteps {ramparcseg}repeat
grestore
}bind def
/ramparcseg {
newpath
rampcenter aload pop moveto
rampcenter aload pop rampradius ang2 ang1 arcn fill
/ang1 ang2 def
/ang2 ang2 rampPenW add def
delta aload pop adddelta
}bind def
/GetRadius {
rbox urx get rbox llx get sub 2 div rampcenter 0 get abs add dup mul
rbox lly get rbox ury get sub 2 div rampcenter 1 get abs add dup mul
add sqrt
} bind def
/circularRamp {
rampbox
/rampradius GetRadius def
CalcCrcm
flipramp
0 0 0 1 ramparc
1 60 1 2 ramparc
2 120 2 3 ramparc
flipramp
0 180 0 1 ramparc
1 240 1 2 ramparc
2 300 2 3 ramparc
}bind def
/GetCircumf {
2.0 mul 3.1415926 mul
} bind def
/CalcCrcm {
rampradius GetCircumf
/circum exch 6.0 div def
} bind def
/CR {
gsave
clip
MTC currentmatrix pop
CTM setmatrix
flattenpath
pathbbox pbox bottom 3 -1 roll put pbox right 3 -1 roll put pbox top 3 -1 roll put pbox left 3 -1 roll put
pbox left get pbox right get sub abs 2 div
pbox left get add rampcenter 0 get add rampcenter 0 3 -1 roll put
pbox top get pbox bottom get sub abs 2 div
pbox top get add rampcenter 1 get add rampcenter 1 3 -1 roll put
circularRamp
MTC setmatrix
grestore
RF
}bind def
/SBR {
gsave
clip
/workingMatrix mstore def
objectCord setmatrix
flattenpath
/BaseBox pathbbox 4 array astore def
/len BaseBox 2 get BaseBox 0 get sub dup mul
BaseBox 3 get BaseBox 1 get sub dup mul
add sqrt
12.0 div
def
/EndBox
BaseBox aload pop
3 -1 roll sub
3 1 roll
exch sub
/dbx exch def
/dby exch def
BaseBox aload pop pop pop
/blly exch def
/bllx exch def
sbox 0 get 100.0 div dby mul blly add
sbox 1 get 100.0 div dbx mul bllx add
sbox 2 get 100.0 div dby mul blly add
sbox 3 get 100.0 div dbx mul bllx add
exch
4 -2 roll
exch
4 -2 roll
4 array astore
def
BaseBox EndBox ShapeBurst
workingMatrix setmatrix
grestore
} bind def
/GetBoxCenter {
2 index
sub 2.0 div
3 -1 roll add
3 1 roll
1 index sub
2.0 div add
exch
} bind def
/GetInterBox {
/boxInter exch def
4 1 7 {
-1 roll
7 index
} for
sub boxInter mul
8 -1 roll add
7 1 roll
sub boxInter mul
7 -1 roll add
6 1 roll
sub boxInter mul
6 -1 roll add
5 1 roll
sub boxInter mul
5 -1 roll add
4 1 roll
} bind def
/GetBoxCenterDeltas {
GetBoxCenter
6 2 roll
GetBoxCenter
3 -1 roll exch sub
3 1 roll sub
exch
} bind def
/GetBoxCornerDeltas {
pop pop
4 2 roll pop pop
3 -1 roll sub
3 1 roll exch sub
exch
} bind def
/getpath {
/k 0 def
{/k k 1 add def pop pop}{/k k 1 add def pop pop}{/k k 1 add def pop pop pop pop pop pop}{}pathforall
/pfa k array def
/k 0 def
{{moveto} 3 array astore pfa k 3 -1 roll put /k k 1 add def}
{{lineto} 3 array astore pfa k 3 -1 roll put /k k 1 add def}
{{curveto} 7 array astore pfa k 3 -1 roll put /k k 1 add def}
{}pathforall
}bind def
/ShapeBurst {
getpath
newpath
/SBERect exch 4 array copy def
/SBBRect exch 4 array copy def
/interRect1 SBBRect aload pop SBERect aload pop .3333333 GetInterBox 4 array astore def
/interRect2 SBBRect aload pop SBERect aload pop .6666666 GetInterBox 4 array astore def
0 0 1 SBBRect interRect1 ShapeBurstSeg
msave
interRect1 0 get interRect1 1 get translate
SBBRect aload pop interRect1 aload pop GetBoxesRatio scale
SBBRect 0 get -1.0 mul SBBRect 1 get -1.0 mul translate
1 1 2 interRect1 interRect2 ShapeBurstSeg
mrestore
msave
interRect2 0 get interRect2 1 get translate
SBBRect aload pop interRect2 aload pop GetBoxesRatio scale
SBBRect 0 get -1.0 mul SBBRect 1 get -1.0 mul translate
2 2 3 interRect2 SBERect ShapeBurstSeg
mrestore
} bind def
/ShapeBurstSeg {
/sbr1 exch 4 array copy def
/sbr0 exch 4 array copy def
/blx sbr0 0 get def
/bly sbr0 1 get def
len rampdelta delta astore pop
sbr0 aload pop sbr1 aload pop GetBoxesRatio
/ratioY exch def
/ratioX exch def
sbr0 aload pop sbr1 aload pop GetBoxCornerDeltas
/dlly exch nRampSteps div def
/dllx exch nRampSteps div def
/scaleStepX 1.0 ratioX sub nRampSteps div def
/scaleStepY 1.0 ratioY sub nRampSteps div def
/currentScaleX 1.0 scaleStepX sub def
/currentScaleY 1.0 scaleStepY sub def
/translationX blx dllx add def
/translationY bly dlly add def
/currentScaleX 1.0 def
/currentScaleY 1.0 def
/translationX blx def
/translationY bly def
rampColors exch get aload mycurrentrgbcolor copy pop setrgbcolor
nRampSteps {
msave
translationX translationY translate
currentScaleX currentScaleY scale
blx -1.0 mul bly -1.0 mul translate
pfa {aload pop exec} forall fill
delta aload pop adddelta
/translationX translationX dllx add def
/translationY translationY dlly add def
/currentScaleX currentScaleX scaleStepX sub def
/currentScaleY currentScaleY scaleStepY sub def
mrestore
} repeat
msave
translationX translationY translate
currentScaleX currentScaleY scale
blx -1.0 mul bly -1.0 mul translate
pfa {aload pop exec} forall fill
mrestore
} bind def
initmsaverestore
/tctm matrix currentmatrix def
tctm RoundMatrix setmatrix
/patternMatrix mstore def
10 setmiterlimit
2 setlinecap
newpath
%
%tLayer
%
%
%tfBegGrp
%
%@BeginRuler
%@ 9.0000000000000000000e+0 viewScale
%@ 1.1111111111111110490e-1 realScale
%@ 8 realDivs
%@ 0000 rulerFormat
%@EndRuler
%@BeginRect
/RT {13.500 RR2} def
/SD {} def
/SS {setlinewidth SD stroke} def
/LC { /setcmykcolor where
{begin 0.000 0.000 0.000 1.000 setcmykcolor end} {0.000 0.000 0.000 setrgbcolor} ifelse
} def
/PC { /setcmykcolor where
{begin 0.000 0.000 0.000 0.000 setcmykcolor end} {1.000 1.000 1.000 setrgbcolor} ifelse
} def
/PF {gsave fill grestore} def
1.000 0 12.250 22.000 0.000 0.000 199.000 531.000 rect
%@EndRect
%@BeginRuler
%@ 9.0000000000000000000e+0 viewScale
%@ 1.1111111111111110490e-1 realScale
%@ 8 realDivs
%@ 0000 rulerFormat
%@EndRuler
%@BeginOval
/RT {E} def
/SD {} def
/SS {setlinewidth SD stroke} def
/LC { /setcmykcolor where
{begin 0.000 0.000 0.000 1.000 setcmykcolor end} {0.000 0.000 0.000 setrgbcolor} ifelse
} def
/PC { /setcmykcolor where
{begin 0.000 0.000 0.000 0.000 setcmykcolor end} {1.000 1.000 1.000 setrgbcolor} ifelse
} def
/PF {gsave fill grestore} def
1.000 0 36.000 350.000 0.000 0.000 144.000 153.000 rect
%@EndOval
%@BeginRuler
%@ 9.0000000000000000000e+0 viewScale
%@ 1.1111111111111110490e-1 realScale
%@ 8 realDivs
%@ 0000 rulerFormat
%@EndRuler
%@BeginOval
/RT {E} def
/SD {} def
/SS {setlinewidth SD stroke} def
/LC { /setcmykcolor where
{begin 0.000 0.000 0.000 1.000 setcmykcolor end} {0.000 0.000 0.000 setrgbcolor} ifelse
} def
/PC { /setcmykcolor where
{begin 0.000 0.000 0.000 0.000 setcmykcolor end} {1.000 1.000 1.000 setrgbcolor} ifelse
} def
/PF {gsave fill grestore} def
1.000 0 36.000 75.500 0.000 0.000 144.000 153.000 rect
%@EndOval
%
%tfBegGrp
%
%@BeginRuler
%@ 9.0000000000000000000e+0 viewScale
%@ 1.1111111111111110490e-1 realScale
%@ 8 realDivs
%@ 0000 rulerFormat
%@EndRuler
%@BeginRect
/RT {SR} def
/SD {} def
/SS {setlinewidth SD stroke} def
/LC { /setcmykcolor where
{begin 0.000 0.000 0.000 1.000 setcmykcolor end} {0.000 0.000 0.000 setrgbcolor} ifelse
} def
/PC { /setcmykcolor where
{begin 0.000 0.000 0.000 0.000 setcmykcolor end} {1.000 1.000 1.000 setrgbcolor} ifelse
} def
/PF {gsave fill grestore} def
1.000 0 103.250 112.000 0.000 0.000 18.000 18.000 rect
%@EndRect
%@BeginRuler
%@ 9.0000000000000000000e+0 viewScale
%@ 1.1111111111111110490e-1 realScale
%@ 8 realDivs
%@ 0000 rulerFormat
%@EndRuler
%@BeginLine
/ArrowType{ } def
/SD {} def
/SS {setlinewidth SD stroke} def
/LC { /setcmykcolor where
{begin 0.000 0.000 0.000 1.000 setcmykcolor end} {0.000 0.000 0.000 setrgbcolor} ifelse
} def
/PF {gsave fill grestore} def
/SS {setlinewidth SD stroke} def
1.000 112.000 112.250 130.000 112.250 Line
%@EndLine
%
%tfEndGrp
%
%
%tfBegGrp
%
%@BeginRuler
%@ 9.0000000000000000000e+0 viewScale
%@ 1.1111111111111110490e-1 realScale
%@ 8 realDivs
%@ 0000 rulerFormat
%@EndRuler
%@BeginRect
/RT {SR} def
/SD {} def
/SS {setlinewidth SD stroke} def
/LC { /setcmykcolor where
{begin 0.000 0.000 0.000 1.000 setcmykcolor end} {0.000 0.000 0.000 setrgbcolor} ifelse
} def
/PC { /setcmykcolor where
{begin 0.000 0.000 0.000 0.000 setcmykcolor end} {1.000 1.000 1.000 setrgbcolor} ifelse
} def
/PF {gsave fill grestore} def
1.000 0 53.000 450.000 0.000 0.000 18.000 18.000 rect
%@EndRect
%@BeginRuler
%@ 9.0000000000000000000e+0 viewScale
%@ 1.1111111111111110490e-1 realScale
%@ 8 realDivs
%@ 0000 rulerFormat
%@EndRuler
%@BeginLine
/ArrowType{ } def
/SD {} def
/SS {setlinewidth SD stroke} def
/LC { /setcmykcolor where
{begin 0.000 0.000 0.000 1.000 setcmykcolor end} {0.000 0.000 0.000 setrgbcolor} ifelse
} def
/PF {gsave fill grestore} def
/SS {setlinewidth SD stroke} def
1.000 450.000 62.000 468.000 62.000 Line
%@EndLine
%
%tfEndGrp
%
%
%tfBegGrp
%
%@BeginRuler
%@ 9.0000000000000000000e+0 viewScale
%@ 1.1111111111111110490e-1 realScale
%@ 8 realDivs
%@ 0000 rulerFormat
%@EndRuler
%@BeginRect
/RT {SR} def
/SD {} def
/SS {setlinewidth SD stroke} def
/LC { /setcmykcolor where
{begin 0.000 0.000 0.000 1.000 setcmykcolor end} {0.000 0.000 0.000 setrgbcolor} ifelse
} def
/PC { /setcmykcolor where
{begin 0.000 0.000 0.000 0.000 setcmykcolor end} {1.000 1.000 1.000 setrgbcolor} ifelse
} def
/PF {gsave fill grestore} def
1.000 0 80.000 450.000 0.000 0.000 18.000 18.000 rect
%@EndRect
%@BeginRuler
%@ 9.0000000000000000000e+0 viewScale
%@ 1.1111111111111110490e-1 realScale
%@ 8 realDivs
%@ 0000 rulerFormat
%@EndRuler
%@BeginLine
/ArrowType{ } def
/SD {} def
/SS {setlinewidth SD stroke} def
/LC { /setcmykcolor where
{begin 0.000 0.000 0.000 1.000 setcmykcolor end} {0.000 0.000 0.000 setrgbcolor} ifelse
} def
/PF {gsave fill grestore} def
/SS {setlinewidth SD stroke} def
1.000 450.000 89.000 468.000 89.000 Line
%@EndLine
%
%tfEndGrp
%
%
%tfBegGrp
%
%@BeginRuler
%@ 9.0000000000000000000e+0 viewScale
%@ 1.1111111111111110490e-1 realScale
%@ 8 realDivs
%@ 0000 rulerFormat
%@EndRuler
%@BeginRect
/RT {SR} def
/SD {} def
/SS {setlinewidth SD stroke} def
/LC { /setcmykcolor where
{begin 0.000 0.000 0.000 1.000 setcmykcolor end} {0.000 0.000 0.000 setrgbcolor} ifelse
} def
/PC { /setcmykcolor where
{begin 0.000 0.000 0.000 0.000 setcmykcolor end} {1.000 1.000 1.000 setrgbcolor} ifelse
} def
/PF {gsave fill grestore} def
1.000 0 107.000 450.000 0.000 0.000 18.000 18.000 rect
%@EndRect
%@BeginRuler
%@ 9.0000000000000000000e+0 viewScale
%@ 1.1111111111111110490e-1 realScale
%@ 8 realDivs
%@ 0000 rulerFormat
%@EndRuler
%@BeginLine
/ArrowType{ } def
/SD {} def
/SS {setlinewidth SD stroke} def
/LC { /setcmykcolor where
{begin 0.000 0.000 0.000 1.000 setcmykcolor end} {0.000 0.000 0.000 setrgbcolor} ifelse
} def
/PF {gsave fill grestore} def
/SS {setlinewidth SD stroke} def
1.000 450.000 116.000 468.000 116.000 Line
%@EndLine
%
%tfEndGrp
%
%@BeginRuler
%@ 9.0000000000000000000e+0 viewScale
%@ 1.1111111111111110490e-1 realScale
%@ 8 realDivs
%@ 0000 rulerFormat
%@EndRuler
%@BeginOval
/RT {E} def
/SD {} def
/SS {setlinewidth SD stroke} def
/LC { /setcmykcolor where
{begin 0.000 0.000 0.000 1.000 setcmykcolor end} {0.000 0.000 0.000 setrgbcolor} ifelse
} def
/PF {DR} def
/flipRatio 1.000 def
/rampAngle 0 def
/rampColors [[0.000 0.000 0.000] [0.333 0.333 0.333] [0.666 0.666 0.666] [1.000 1.000 1.000]] def
/PC {} def
/RF {} def
1.000 0 108.000 147.500 0.000 0.000 9.000 9.000 rect
%@EndOval
%@BeginRuler
%@ 9.0000000000000000000e+0 viewScale
%@ 1.1111111111111110490e-1 realScale
%@ 8 realDivs
%@ 0000 rulerFormat
%@EndRuler
%@BeginOval
/RT {E} def
/SD {} def
/SS {setlinewidth SD stroke} def
/LC { /setcmykcolor where
{begin 0.000 0.000 0.000 1.000 setcmykcolor end} {0.000 0.000 0.000 setrgbcolor} ifelse
} def
/PF {DR} def
/flipRatio 1.000 def
/rampAngle 0 def
/rampColors [[0.000 0.000 0.000] [0.333 0.333 0.333] [0.666 0.666 0.666] [1.000 1.000 1.000]] def
/PC {} def
/RF {} def
1.000 0 58.500 417.500 0.000 0.000 9.000 9.000 rect
%@EndOval
%@BeginRuler
%@ 9.0000000000000000000e+0 viewScale
%@ 1.1111111111111110490e-1 realScale
%@ 8 realDivs
%@ 0000 rulerFormat
%@EndRuler
%@BeginOval
/RT {E} def
/SD {} def
/SS {setlinewidth SD stroke} def
/LC { /setcmykcolor where
{begin 0.000 0.000 0.000 1.000 setcmykcolor end} {0.000 0.000 0.000 setrgbcolor} ifelse
} def
/PF {DR} def
/flipRatio 1.000 def
/rampAngle 0 def
/rampColors [[0.000 0.000 0.000] [0.333 0.333 0.333] [0.666 0.666 0.666] [1.000 1.000 1.000]] def
/PC {} def
/RF {} def
1.000 0 85.500 417.500 0.000 0.000 9.000 9.000 rect
%@EndOval
%@BeginRuler
%@ 9.0000000000000000000e+0 viewScale
%@ 1.1111111111111110490e-1 realScale
%@ 8 realDivs
%@ 0000 rulerFormat
%@EndRuler
%@BeginOval
/RT {E} def
/SD {} def
/SS {setlinewidth SD stroke} def
/LC { /setcmykcolor where
{begin 0.000 0.000 0.000 1.000 setcmykcolor end} {0.000 0.000 0.000 setrgbcolor} ifelse
} def
/PF {DR} def
/flipRatio 1.000 def
/rampAngle 0 def
/rampColors [[0.000 0.000 0.000] [0.333 0.333 0.333] [0.666 0.666 0.666] [1.000 1.000 1.000]] def
/PC {} def
/RF {} def
1.000 0 112.500 417.500 0.000 0.000 9.000 9.000 rect
%@EndOval
%@BeginRuler
%@ 9.0000000000000000000e+0 viewScale
%@ 1.1111111111111110490e-1 realScale
%@ 8 realDivs
%@ 0000 rulerFormat
%@EndRuler
%@BeginLine
/ArrowType{
1.000 setlinewidth
418.000 64.000 moveto
/Triangular 14.099 7.049 false 170.078 DrawArrowHead
} bind def
/SD {} def
/SS {setlinewidth SD stroke} def
/LC { /setcmykcolor where
{begin 0.000 0.000 0.000 1.000 setcmykcolor end} {0.000 0.000 0.000 setrgbcolor} ifelse
} def
/PF {gsave fill grestore} def
/SS {setlinewidth SD stroke} def
1.000 416.029 64.345 156.750 109.750 Line
%@EndLine
%@BeginRuler
%@ 9.0000000000000000000e+0 viewScale
%@ 1.1111111111111110490e-1 realScale
%@ 8 realDivs
%@ 0000 rulerFormat
%@EndRuler
%@BeginLine
/ArrowType{
0.500 setlinewidth
417.000 91.000 moveto
/Triangular 12.750 6.375 false 176.018 DrawArrowHead
} bind def
/SD {} def
/SS {setlinewidth SD stroke} def
/LC { /setcmykcolor where
{begin 0.000 0.000 0.000 1.000 setcmykcolor end} {0.000 0.000 0.000 setrgbcolor} ifelse
} def
/PF {gsave fill grestore} def
/SS {setlinewidth SD stroke} def
0.500 416.002 91.069 152.000 109.500 Line
%@EndLine
%@BeginRuler
%@ 9.0000000000000000000e+0 viewScale
%@ 1.1111111111111110490e-1 realScale
%@ 8 realDivs
%@ 0000 rulerFormat
%@EndRuler
%@BeginLine
/ArrowType{
1.000 setlinewidth
418.000 118.000 moveto
/Triangular 14.099 7.049 false 181.493 DrawArrowHead
} bind def
/SD {} def
/SS {setlinewidth SD stroke} def
/LC { /setcmykcolor where
{begin 0.000 0.000 0.000 1.000 setcmykcolor end} {0.000 0.000 0.000 setrgbcolor} ifelse
} def
/PF {gsave fill grestore} def
/SS {setlinewidth SD stroke} def
1.000 416.000 117.948 156.750 111.250 Line
%@EndLine
%@BeginText
save
[ 39/quotesingle 96/grave 128/Adieresis/Aring/Ccedilla/Eacute/Ntilde/Odieresis
/Udieresis/aacute/agrave/acircumflex/adieresis/atilde/aring/ccedilla/eacute
/egrave/ecircumflex/edieresis/iacute/igrave/icircumflex/idieresis/ntilde
/oacute/ograve/ocircumflex/odieresis/otilde/uacute/ugrave/ucircumflex
/udieresis/dagger/degree/cent/sterling/section/bullet/paragraph/germandbls
/registered/copyright/trademark/acute/dieresis/.notdef/AE/Oslash
/.notdef/plusminus/.notdef/.notdef/yen/mu/.notdef/.notdef
/.notdef/.notdef/.notdef/ordfeminine/ordmasculine/.notdef/ae/oslash
/questiondown/exclamdown/logicalnot/.notdef/florin/.notdef/.notdef
/guillemotleft/guillemotright/ellipsis/.notdef/Agrave/Atilde/Otilde/OE/oe
/endash/emdash/quotedblleft/quotedblright/quoteleft/quoteright/divide
/.notdef/ydieresis/Ydieresis/fraction/currency/guilsinglleft/guilsinglright
/fi/fl/daggerdbl/periodcentered/quotesinglbase/quotedblbase/perthousand
/Acircumflex/Ecircumflex/Aacute/Edieresis/Egrave/Iacute/Icircumflex
/Idieresis/Igrave/Oacute/Ocircumflex/.notdef/Ograve/Uacute/Ucircumflex
/Ugrave/dotlessi/circumflex/tilde/macron/breve/dotaccent/ring/cedilla
/hungarumlaut/ogonek/caron]
StandardEncoding Re-encode /_Times-Roman /Times-Roman EncodeFont

%@BeginRect
/RT {SR} def
/LC {} def
/SS {pop} def
/PF {} def
/PC {} def
0.000 0 153.750 121.272 0.000 0.000 16.000 52.999 rect
%@EndRect
gsave
147.771 161.750 T translate
0.0 rotate
1 1 scale
14.000 (_Times-Roman) plain F
/setcmykcolor where
{begin 0.000 0.000 0.000 1.000 setcmykcolor end} {0.000 0.000 0.000 setrgbcolor} ifelse

(L) -26.227 4.000 S
(r) -17.675 4.000 S
(o) -13.013 4.000 S
(o) -6.013 4.000 S
(t) 0.986 4.000 S
( ) 4.875 4.000 S
(=) 8.375 4.000 S
( ) 16.271 4.000 S
(2) 19.771 4.000 S
grestore
%@EndText
%@BeginText
%@BeginRect
/RT {SR} def
/LC {} def
/SS {pop} def
/PF {} def
/PC {} def
0.000 0 56.000 432.000 0.000 0.000 16.000 7.000 rect
%@EndRect
gsave
435.500 64.000 T translate
0.0 rotate
1 1 scale
14.000 (_Times-Roman) fess
/setcmykcolor where
{begin 0.000 0.000 0.000 1.000 setcmykcolor end} {0.000 0.000 0.000 setrgbcolor} ifelse

(0) -3.500 4.000 S
grestore
%@EndText
%@BeginText
%@BeginRect
/RT {SR} def
/LC {} def
/SS {pop} def
/PF {} def
/PC {} def
0.000 0 83.500 430.500 0.000 0.000 16.000 7.000 rect
%@EndRect
gsave
434.000 91.500 T translate
0.0 rotate
1 1 scale
14.000 (_Times-Roman) fess
/setcmykcolor where
{begin 0.000 0.000 0.000 1.000 setcmykcolor end} {0.000 0.000 0.000 setrgbcolor} ifelse

(1) -3.000 4.000 S
grestore
%@EndText
%@BeginText
%@BeginRect
/RT {SR} def
/LC {} def
/SS {pop} def
/PF {} def
/PC {} def
0.000 0 111.000 432.000 0.000 0.000 16.000 7.000 rect
%@EndRect
gsave
435.500 119.000 T translate
0.0 rotate
1 1 scale
14.000 (_Times-Roman) fess
/setcmykcolor where
{begin 0.000 0.000 0.000 1.000 setcmykcolor end} {0.000 0.000 0.000 setrgbcolor} ifelse

(2) -3.500 4.000 S
grestore
%@EndText
%@BeginRuler
%@ 9.0000000000000000000e+0 viewScale
%@ 1.1111111111111110490e-1 realScale
%@ 8 realDivs
%@ 0000 rulerFormat
%@EndRuler
%@BeginOval
/RT {E} def
/SD {} def
/SS {setlinewidth SD stroke} def
/LC { /setcmykcolor where
{begin 0.000 0.000 0.000 1.000 setcmykcolor end} {0.000 0.000 0.000 setrgbcolor} ifelse
} def
/PF {DR} def
/flipRatio 1.000 def
/rampAngle 0 def
/rampColors [[0.000 0.000 0.000] [0.333 0.333 0.333] [0.666 0.666 0.666] [1.000 1.000 1.000]] def
/PC {} def
/RF {} def
1.000 0 81.000 147.500 0.000 0.000 9.000 9.000 rect
%@EndOval
%@BeginRuler
%@ 9.0000000000000000000e+0 viewScale
%@ 1.1111111111111110490e-1 realScale
%@ 8 realDivs
%@ 0000 rulerFormat
%@EndRuler
%@BeginOval
/RT {E} def
/SD {} def
/SS {setlinewidth SD stroke} def
/LC { /setcmykcolor where
{begin 0.000 0.000 0.000 1.000 setcmykcolor end} {0.000 0.000 0.000 setrgbcolor} ifelse
} def
/PF {DR} def
/flipRatio 1.000 def
/rampAngle 0 def
/rampColors [[0.000 0.000 0.000] [0.333 0.333 0.333] [0.666 0.666 0.666] [1.000 1.000 1.000]] def
/PC {} def
/RF {} def
1.000 0 108.000 147.500 0.000 0.000 9.000 9.000 rect
%@EndOval
%@BeginRuler
%@ 9.0000000000000000000e+0 viewScale
%@ 1.1111111111111110490e-1 realScale
%@ 8 realDivs
%@ 0000 rulerFormat
%@EndRuler
%@BeginOval
/RT {E} def
/SD {} def
/SS {setlinewidth SD stroke} def
/LC { /setcmykcolor where
{begin 0.000 0.000 0.000 1.000 setcmykcolor end} {0.000 0.000 0.000 setrgbcolor} ifelse
} def
/PF {DR} def
/flipRatio 1.000 def
/rampAngle 0 def
/rampColors [[0.000 0.000 0.000] [0.333 0.333 0.333] [0.666 0.666 0.666] [1.000 1.000 1.000]] def
/PC {} def
/RF {} def
1.000 0 135.000 147.500 0.000 0.000 9.000 9.000 rect
%@EndOval
%@BeginRuler
%@ 9.0000000000000000000e+0 viewScale
%@ 1.1111111111111110490e-1 realScale
%@ 8 realDivs
%@ 0000 rulerFormat
%@EndRuler
%@BeginOval
/RT {E} def
/SD {} def
/SS {setlinewidth SD stroke} def
/LC { /setcmykcolor where
{begin 0.000 0.000 0.000 1.000 setcmykcolor end} {0.000 0.000 0.000 setrgbcolor} ifelse
} def
/PF {DR} def
/flipRatio 1.000 def
/rampAngle 0 def
/rampColors [[0.000 0.000 0.000] [0.333 0.333 0.333] [0.666 0.666 0.666] [1.000 1.000 1.000]] def
/PC {} def
/RF {} def
1.000 0 57.750 146.750 0.000 0.000 9.000 9.000 rect
%@EndOval
%@BeginText
%@BeginRect
/RT {SR} def
/LC {} def
/SS {pop} def
/PF {} def
/PC {} def
0.000 0 78.500 136.250 0.000 0.000 16.000 7.000 rect
%@EndRect
gsave
139.750 86.500 T translate
0.0 rotate
1 1 scale
14.000 (_Times-Roman) fess
/setcmykcolor where
{begin 0.000 0.000 0.000 1.000 setcmykcolor end} {0.000 0.000 0.000 setrgbcolor} ifelse

(1) -3.250 4.000 S
grestore
%@EndText
%@BeginText
%@BeginRect
/RT {SR} def
/LC {} def
/SS {pop} def
/PF {} def
/PC {} def
0.000 0 104.750 136.250 0.000 0.000 16.000 7.000 rect
%@EndRect
gsave
139.750 112.750 T translate
0.0 rotate
1 1 scale
14.000 (_Times-Roman) fess
/setcmykcolor where
{begin 0.000 0.000 0.000 1.000 setcmykcolor end} {0.000 0.000 0.000 setrgbcolor} ifelse

(2) -3.250 4.000 S
grestore
%@EndText
%@BeginText
%@BeginRect
/RT {SR} def
/LC {} def
/SS {pop} def
/PF {} def
/PC {} def
0.000 0 55.250 136.000 0.000 0.000 16.000 7.000 rect
%@EndRect
gsave
139.500 63.250 T translate
0.0 rotate
1 1 scale
14.000 (_Times-Roman) fess
/setcmykcolor where
{begin 0.000 0.000 0.000 1.000 setcmykcolor end} {0.000 0.000 0.000 setrgbcolor} ifelse

(0) -3.500 4.000 S
grestore
%@EndText
%@BeginText
%@BeginRect
/RT {SR} def
/LC {} def
/SS {pop} def
/PF {} def
/PC {} def
0.000 0 104.750 136.250 0.000 0.000 16.000 7.000 rect
%@EndRect
gsave
139.750 112.750 T translate
0.0 rotate
1 1 scale
14.000 (_Times-Roman) fess
/setcmykcolor where
{begin 0.000 0.000 0.000 1.000 setcmykcolor end} {0.000 0.000 0.000 setrgbcolor} ifelse

(2) -3.250 4.000 S
grestore
%@EndText
%@BeginText
%@BeginRect
/RT {SR} def
/LC {} def
/SS {pop} def
/PF {} def
/PC {} def
0.000 0 131.750 136.000 0.000 0.000 16.000 7.000 rect
%@EndRect
gsave
139.500 139.750 T translate
0.0 rotate
1 1 scale
14.000 (_Times-Roman) fess
/setcmykcolor where
{begin 0.000 0.000 0.000 1.000 setcmykcolor end} {0.000 0.000 0.000 setrgbcolor} ifelse

(3) -3.500 4.000 S
grestore
%@EndText
%@BeginText
%@BeginRect
/RT {SR} def
/LC {} def
/SS {pop} def
/PF {} def
/PC {} def
0.000 0 188.000 129.000 0.000 0.000 16.000 43.544 rect
%@EndRect
gsave
150.772 196.000 T translate
0.0 rotate
1 1 scale
14.000 (_Times-Roman) fess
/setcmykcolor where
{begin 0.000 0.000 0.000 1.000 setcmykcolor end} {0.000 0.000 0.000 setrgbcolor} ifelse

(L) -21.500 4.000 S
(c) -12.948 4.000 S
(o) -6.734 4.000 S
(m) 0.265 4.000 S
(m) 11.155 4.000 S
grestore
%@EndText
%@BeginText
%@BeginRect
/RT {SR} def
/LC {} def
/SS {pop} def
/PF {} def
/PC {} def
0.000 0 188.000 409.227 0.000 0.000 16.000 44.331 rect
%@EndRect
gsave
431.393 196.000 T translate
0.0 rotate
1 1 scale
14.000 (_Times-Roman) fess
/setcmykcolor where
{begin 0.000 0.000 0.000 1.000 setcmykcolor end} {0.000 0.000 0.000 setrgbcolor} ifelse

(R) -21.272 4.000 S
(c) -11.934 4.000 S
(o) -5.720 4.000 S
(m) 1.279 4.000 S
(m) 12.168 4.000 S
grestore
%@EndText
%
%tfEndGrp
%
%@BeginRuler
%@ 9.0000000000000000000e+0 viewScale
%@ 1.1111111111111110490e-1 realScale
%@ 8 realDivs
%@ 0000 rulerFormat
%@EndRuler
%@BeginRect
/RT {13.500 RR2} def
/SD {} def
/SS {setlinewidth SD stroke} def
/LC { /setcmykcolor where
{begin 0.000 0.000 0.000 1.000 setcmykcolor end} {0.000 0.000 0.000 setrgbcolor} ifelse
} def
/PC { /setcmykcolor where
{begin 0.000 0.000 0.000 0.000 setcmykcolor end} {1.000 1.000 1.000 setrgbcolor} ifelse
} def
/PF {gsave fill grestore} def
1.000 0 214.500 22.000 0.000 0.000 199.000 531.000 rect
%@EndRect
%@BeginRuler
%@ 9.0000000000000000000e+0 viewScale
%@ 1.1111111111111110490e-1 realScale
%@ 8 realDivs
%@ 0000 rulerFormat
%@EndRuler
%@BeginOval
/RT {E} def
/SD {} def
/SS {setlinewidth SD stroke} def
/LC { /setcmykcolor where
{begin 0.000 0.000 0.000 1.000 setcmykcolor end} {0.000 0.000 0.000 setrgbcolor} ifelse
} def
/PC { /setcmykcolor where
{begin 0.000 0.000 0.000 0.000 setcmykcolor end} {1.000 1.000 1.000 setrgbcolor} ifelse
} def
/PF {gsave fill grestore} def
1.000 0 238.250 350.000 0.000 0.000 144.000 153.000 rect
%@EndOval
%@BeginRuler
%@ 9.0000000000000000000e+0 viewScale
%@ 1.1111111111111110490e-1 realScale
%@ 8 realDivs
%@ 0000 rulerFormat
%@EndRuler
%@BeginOval
/RT {E} def
/SD {} def
/SS {setlinewidth SD stroke} def
/LC { /setcmykcolor where
{begin 0.000 0.000 0.000 1.000 setcmykcolor end} {0.000 0.000 0.000 setrgbcolor} ifelse
} def
/PC { /setcmykcolor where
{begin 0.000 0.000 0.000 0.000 setcmykcolor end} {1.000 1.000 1.000 setrgbcolor} ifelse
} def
/PF {gsave fill grestore} def
1.000 0 238.250 75.500 0.000 0.000 144.000 153.000 rect
%@EndOval
%@BeginRuler
%@ 9.0000000000000000000e+0 viewScale
%@ 1.1111111111111110490e-1 realScale
%@ 8 realDivs
%@ 0000 rulerFormat
%@EndRuler
%@BeginOval
/RT {E} def
/SD {} def
/SS {setlinewidth SD stroke} def
/LC { /setcmykcolor where
{begin 0.000 0.000 0.000 1.000 setcmykcolor end} {0.000 0.000 0.000 setrgbcolor} ifelse
} def
/PF {DR} def
/flipRatio 1.000 def
/rampAngle 0 def
/rampColors [[0.000 0.000 0.000] [0.333 0.333 0.333] [0.666 0.666 0.666] [1.000 1.000 1.000]] def
/PC {} def
/RF {} def
1.000 0 310.250 147.500 0.000 0.000 9.000 9.000 rect
%@EndOval
%@BeginRuler
%@ 9.0000000000000000000e+0 viewScale
%@ 1.1111111111111110490e-1 realScale
%@ 8 realDivs
%@ 0000 rulerFormat
%@EndRuler
%@BeginOval
/RT {E} def
/SD {} def
/SS {setlinewidth SD stroke} def
/LC { /setcmykcolor where
{begin 0.000 0.000 0.000 1.000 setcmykcolor end} {0.000 0.000 0.000 setrgbcolor} ifelse
} def
/PF {DR} def
/flipRatio 1.000 def
/rampAngle 0 def
/rampColors [[0.000 0.000 0.000] [0.333 0.333 0.333] [0.666 0.666 0.666] [1.000 1.000 1.000]] def
/PC {} def
/RF {} def
1.000 0 260.750 417.500 0.000 0.000 9.000 9.000 rect
%@EndOval
%@BeginRuler
%@ 9.0000000000000000000e+0 viewScale
%@ 1.1111111111111110490e-1 realScale
%@ 8 realDivs
%@ 0000 rulerFormat
%@EndRuler
%@BeginOval
/RT {E} def
/SD {} def
/SS {setlinewidth SD stroke} def
/LC { /setcmykcolor where
{begin 0.000 0.000 0.000 1.000 setcmykcolor end} {0.000 0.000 0.000 setrgbcolor} ifelse
} def
/PF {DR} def
/flipRatio 1.000 def
/rampAngle 0 def
/rampColors [[0.000 0.000 0.000] [0.333 0.333 0.333] [0.666 0.666 0.666] [1.000 1.000 1.000]] def
/PC {} def
/RF {} def
1.000 0 287.750 417.500 0.000 0.000 9.000 9.000 rect
%@EndOval
%@BeginRuler
%@ 9.0000000000000000000e+0 viewScale
%@ 1.1111111111111110490e-1 realScale
%@ 8 realDivs
%@ 0000 rulerFormat
%@EndRuler
%@BeginOval
/RT {E} def
/SD {} def
/SS {setlinewidth SD stroke} def
/LC { /setcmykcolor where
{begin 0.000 0.000 0.000 1.000 setcmykcolor end} {0.000 0.000 0.000 setrgbcolor} ifelse
} def
/PF {DR} def
/flipRatio 1.000 def
/rampAngle 0 def
/rampColors [[0.000 0.000 0.000] [0.333 0.333 0.333] [0.666 0.666 0.666] [1.000 1.000 1.000]] def
/PC {} def
/RF {} def
1.000 0 314.750 417.500 0.000 0.000 9.000 9.000 rect
%@EndOval
%@BeginRuler
%@ 9.0000000000000000000e+0 viewScale
%@ 1.1111111111111110490e-1 realScale
%@ 8 realDivs
%@ 0000 rulerFormat
%@EndRuler
%@BeginLine
/ArrowType{
1.000 setlinewidth
156.750 266.250 moveto
/Triangular 14.099 7.049 false 365.578 DrawArrowHead
} bind def
/SD {} def
/SS {setlinewidth SD stroke} def
/LC { /setcmykcolor where
{begin 0.000 0.000 0.000 1.000 setcmykcolor end} {0.000 0.000 0.000 setrgbcolor} ifelse
} def
/PF {gsave fill grestore} def
/SS {setlinewidth SD stroke} def
1.000 158.740 266.443 416.500 291.500 Line
%@EndLine
%@BeginRuler
%@ 9.0000000000000000000e+0 viewScale
%@ 1.1111111111111110490e-1 realScale
%@ 8 realDivs
%@ 0000 rulerFormat
%@EndRuler
%@BeginLine
/ArrowType{
0.500 setlinewidth
158.000 288.250 moveto
/Triangular 12.750 6.375 false 361.026 DrawArrowHead
} bind def
/SD {} def
/SS {setlinewidth SD stroke} def
/LC { /setcmykcolor where
{begin 0.000 0.000 0.000 1.000 setcmykcolor end} {0.000 0.000 0.000 setrgbcolor} ifelse
} def
/PF {gsave fill grestore} def
/SS {setlinewidth SD stroke} def
0.500 158.999 288.267 415.500 292.750 Line
%@EndLine
%@BeginRuler
%@ 9.0000000000000000000e+0 viewScale
%@ 1.1111111111111110490e-1 realScale
%@ 8 realDivs
%@ 0000 rulerFormat
%@EndRuler
%@BeginLine
/ArrowType{
1.000 setlinewidth
157.750 316.250 moveto
/Triangular 14.099 7.049 false 355.129 DrawArrowHead
} bind def
/SD {} def
/SS {setlinewidth SD stroke} def
/LC { /setcmykcolor where
{begin 0.000 0.000 0.000 1.000 setcmykcolor end} {0.000 0.000 0.000 setrgbcolor} ifelse
} def
/PF {gsave fill grestore} def
/SS {setlinewidth SD stroke} def
1.000 159.742 316.079 417.500 294.000 Line
%@EndLine
%@BeginText
%@BeginRect
/RT {SR} def
/LC {} def
/SS {pop} def
/PF {} def
/PC {} def
0.000 0 258.750 431.500 0.000 0.000 16.000 7.000 rect
%@EndRect
gsave
435.000 266.750 T translate
0.0 rotate
1 1 scale
14.000 (_Times-Roman) fess
/setcmykcolor where
{begin 0.000 0.000 0.000 1.000 setcmykcolor end} {0.000 0.000 0.000 setrgbcolor} ifelse

(0) -3.000 4.000 S
grestore
%@EndText
%@BeginText
%@BeginRect
/RT {SR} def
/LC {} def
/SS {pop} def
/PF {} def
/PC {} def
0.000 0 284.750 431.000 0.000 0.000 16.000 7.000 rect
%@EndRect
gsave
434.500 292.750 T translate
0.0 rotate
1 1 scale
14.000 (_Times-Roman) fess
/setcmykcolor where
{begin 0.000 0.000 0.000 1.000 setcmykcolor end} {0.000 0.000 0.000 setrgbcolor} ifelse

(1) -3.500 4.000 S
grestore
%@EndText
%@BeginText
%@BeginRect
/RT {SR} def
/LC {} def
/SS {pop} def
/PF {} def
/PC {} def
0.000 0 311.750 430.500 0.000 0.000 16.000 7.000 rect
%@EndRect
gsave
434.000 319.750 T translate
0.0 rotate
1 1 scale
14.000 (_Times-Roman) fess
/setcmykcolor where
{begin 0.000 0.000 0.000 1.000 setcmykcolor end} {0.000 0.000 0.000 setrgbcolor} ifelse

(2) -3.000 4.000 S
grestore
%@EndText
%@BeginRuler
%@ 9.0000000000000000000e+0 viewScale
%@ 1.1111111111111110490e-1 realScale
%@ 8 realDivs
%@ 0000 rulerFormat
%@EndRuler
%@BeginOval
/RT {E} def
/SD {} def
/SS {setlinewidth SD stroke} def
/LC { /setcmykcolor where
{begin 0.000 0.000 0.000 1.000 setcmykcolor end} {0.000 0.000 0.000 setrgbcolor} ifelse
} def
/PF {DR} def
/flipRatio 1.000 def
/rampAngle 0 def
/rampColors [[0.000 0.000 0.000] [0.333 0.333 0.333] [0.666 0.666 0.666] [1.000 1.000 1.000]] def
/PC {} def
/RF {} def
1.000 0 283.250 147.500 0.000 0.000 9.000 9.000 rect
%@EndOval
%@BeginRuler
%@ 9.0000000000000000000e+0 viewScale
%@ 1.1111111111111110490e-1 realScale
%@ 8 realDivs
%@ 0000 rulerFormat
%@EndRuler
%@BeginOval
/RT {E} def
/SD {} def
/SS {setlinewidth SD stroke} def
/LC { /setcmykcolor where
{begin 0.000 0.000 0.000 1.000 setcmykcolor end} {0.000 0.000 0.000 setrgbcolor} ifelse
} def
/PF {DR} def
/flipRatio 1.000 def
/rampAngle 0 def
/rampColors [[0.000 0.000 0.000] [0.333 0.333 0.333] [0.666 0.666 0.666] [1.000 1.000 1.000]] def
/PC {} def
/RF {} def
1.000 0 310.250 147.500 0.000 0.000 9.000 9.000 rect
%@EndOval
%@BeginRuler
%@ 9.0000000000000000000e+0 viewScale
%@ 1.1111111111111110490e-1 realScale
%@ 8 realDivs
%@ 0000 rulerFormat
%@EndRuler
%@BeginOval
/RT {E} def
/SD {} def
/SS {setlinewidth SD stroke} def
/LC { /setcmykcolor where
{begin 0.000 0.000 0.000 1.000 setcmykcolor end} {0.000 0.000 0.000 setrgbcolor} ifelse
} def
/PF {DR} def
/flipRatio 1.000 def
/rampAngle 0 def
/rampColors [[0.000 0.000 0.000] [0.333 0.333 0.333] [0.666 0.666 0.666] [1.000 1.000 1.000]] def
/PC {} def
/RF {} def
1.000 0 337.250 147.500 0.000 0.000 9.000 9.000 rect
%@EndOval
%@BeginRuler
%@ 9.0000000000000000000e+0 viewScale
%@ 1.1111111111111110490e-1 realScale
%@ 8 realDivs
%@ 0000 rulerFormat
%@EndRuler
%@BeginOval
/RT {E} def
/SD {} def
/SS {setlinewidth SD stroke} def
/LC { /setcmykcolor where
{begin 0.000 0.000 0.000 1.000 setcmykcolor end} {0.000 0.000 0.000 setrgbcolor} ifelse
} def
/PF {DR} def
/flipRatio 1.000 def
/rampAngle 0 def
/rampColors [[0.000 0.000 0.000] [0.333 0.333 0.333] [0.666 0.666 0.666] [1.000 1.000 1.000]] def
/PC {} def
/RF {} def
1.000 0 260.000 146.750 0.000 0.000 9.000 9.000 rect
%@EndOval
%@BeginText
%@BeginRect
/RT {SR} def
/LC {} def
/SS {pop} def
/PF {} def
/PC {} def
0.000 0 280.750 136.250 0.000 0.000 16.000 7.000 rect
%@EndRect
gsave
139.750 288.750 T translate
0.0 rotate
1 1 scale
14.000 (_Times-Roman) fess
/setcmykcolor where
{begin 0.000 0.000 0.000 1.000 setcmykcolor end} {0.000 0.000 0.000 setrgbcolor} ifelse

(1) -3.250 4.000 S
grestore
%@EndText
%@BeginText
%@BeginRect
/RT {SR} def
/LC {} def
/SS {pop} def
/PF {} def
/PC {} def
0.000 0 307.000 136.250 0.000 0.000 16.000 7.000 rect
%@EndRect
gsave
139.750 315.000 T translate
0.0 rotate
1 1 scale
14.000 (_Times-Roman) fess
/setcmykcolor where
{begin 0.000 0.000 0.000 1.000 setcmykcolor end} {0.000 0.000 0.000 setrgbcolor} ifelse

(2) -3.250 4.000 S
grestore
%@EndText
%@BeginText
%@BeginRect
/RT {SR} def
/LC {} def
/SS {pop} def
/PF {} def
/PC {} def
0.000 0 257.500 136.000 0.000 0.000 16.000 7.000 rect
%@EndRect
gsave
139.500 265.500 T translate
0.0 rotate
1 1 scale
14.000 (_Times-Roman) fess
/setcmykcolor where
{begin 0.000 0.000 0.000 1.000 setcmykcolor end} {0.000 0.000 0.000 setrgbcolor} ifelse

(0) -3.500 4.000 S
grestore
%@EndText
%@BeginText
%@BeginRect
/RT {SR} def
/LC {} def
/SS {pop} def
/PF {} def
/PC {} def
0.000 0 334.000 136.000 0.000 0.000 16.000 7.000 rect
%@EndRect
gsave
139.500 342.000 T translate
0.0 rotate
1 1 scale
14.000 (_Times-Roman) fess
/setcmykcolor where
{begin 0.000 0.000 0.000 1.000 setcmykcolor end} {0.000 0.000 0.000 setrgbcolor} ifelse

(3) -3.500 4.000 S
grestore
%@EndText
%@BeginText
%@BeginRect
/RT {SR} def
/LC {} def
/SS {pop} def
/PF {} def
/PC {} def
0.000 0 390.250 129.000 0.000 0.000 16.000 43.544 rect
%@EndRect
gsave
150.772 398.250 T translate
0.0 rotate
1 1 scale
14.000 (_Times-Roman) fess
/setcmykcolor where
{begin 0.000 0.000 0.000 1.000 setcmykcolor end} {0.000 0.000 0.000 setrgbcolor} ifelse

(L) -21.500 4.000 S
(c) -12.948 4.000 S
(o) -6.734 4.000 S
(m) 0.265 4.000 S
(m) 11.155 4.000 S
grestore
%@EndText
%@BeginText
%@BeginRect
/RT {SR} def
/LC {} def
/SS {pop} def
/PF {} def
/PC {} def
0.000 0 390.250 409.227 0.000 0.000 16.000 44.331 rect
%@EndRect
gsave
431.393 398.250 T translate
0.0 rotate
1 1 scale
14.000 (_Times-Roman) fess
/setcmykcolor where
{begin 0.000 0.000 0.000 1.000 setcmykcolor end} {0.000 0.000 0.000 setrgbcolor} ifelse

(R) -21.272 4.000 S
(c) -11.934 4.000 S
(o) -5.720 4.000 S
(m) 1.279 4.000 S
(m) 12.168 4.000 S
grestore
%@EndText
%@BeginText
%@BeginRect
/RT {SR} def
/LC {} def
/SS {pop} def
/PF {} def
/PC {} def
0.000 0 349.500 400.500 0.000 0.000 16.000 53.785 rect
%@EndRect
gsave
427.393 357.500 T translate
0.0 rotate
1 1 scale
14.000 (_Times-Roman) fess
/setcmykcolor where
{begin 0.000 0.000 0.000 1.000 setcmykcolor end} {0.000 0.000 0.000 setrgbcolor} ifelse

(R) -25.999 4.000 S
(r) -16.661 4.000 S
(o) -11.999 4.000 S
(o) -4.999 4.000 S
(t) 2.000 4.000 S
( ) 5.890 4.000 S
(=) 9.390 4.000 S
( ) 17.285 4.000 S
(1) 20.785 4.000 S
grestore
%@EndText
%
%tfBegGrp
%
%@BeginRuler
%@ 9.0000000000000000000e+0 viewScale
%@ 1.1111111111111110490e-1 realScale
%@ 8 realDivs
%@ 0000 rulerFormat
%@EndRuler
%@BeginRect
/RT {SR} def
/SD {} def
/SS {setlinewidth SD stroke} def
/LC { /setcmykcolor where
{begin 0.000 0.000 0.000 1.000 setcmykcolor end} {0.000 0.000 0.000 setrgbcolor} ifelse
} def
/PC { /setcmykcolor where
{begin 0.000 0.000 0.000 0.000 setcmykcolor end} {1.000 1.000 1.000 setrgbcolor} ifelse
} def
/PF {gsave fill grestore} def
1.000 0 306.666 110.000 0.000 0.000 18.000 18.000 rect
%@EndRect
%@BeginRuler
%@ 9.0000000000000000000e+0 viewScale
%@ 1.1111111111111110490e-1 realScale
%@ 8 realDivs
%@ 0000 rulerFormat
%@EndRuler
%@BeginLine
/ArrowType{ } def
/SD {} def
/SS {setlinewidth SD stroke} def
/LC { /setcmykcolor where
{begin 0.000 0.000 0.000 1.000 setcmykcolor end} {0.000 0.000 0.000 setrgbcolor} ifelse
} def
/PF {gsave fill grestore} def
/SS {setlinewidth SD stroke} def
1.000 128.000 312.666 110.000 312.666 Line
%@EndLine
%@BeginRuler
%@ 9.0000000000000000000e+0 viewScale
%@ 1.1111111111111110490e-1 realScale
%@ 8 realDivs
%@ 0000 rulerFormat
%@EndRuler
%@BeginLine
/ArrowType{ } def
/SD {} def
/SS {setlinewidth SD stroke} def
/LC { /setcmykcolor where
{begin 0.000 0.000 0.000 1.000 setcmykcolor end} {0.000 0.000 0.000 setrgbcolor} ifelse
} def
/PF {gsave fill grestore} def
/SS {setlinewidth SD stroke} def
1.000 128.000 318.916 110.000 318.916 Line
%@EndLine
%
%tfEndGrp
%
%
%tfBegGrp
%
%@BeginRuler
%@ 9.0000000000000000000e+0 viewScale
%@ 1.1111111111111110490e-1 realScale
%@ 8 realDivs
%@ 0000 rulerFormat
%@EndRuler
%@BeginRect
/RT {SR} def
/SD {} def
/SS {setlinewidth SD stroke} def
/LC { /setcmykcolor where
{begin 0.000 0.000 0.000 1.000 setcmykcolor end} {0.000 0.000 0.000 setrgbcolor} ifelse
} def
/PC { /setcmykcolor where
{begin 0.000 0.000 0.000 0.000 setcmykcolor end} {1.000 1.000 1.000 setrgbcolor} ifelse
} def
/PF {gsave fill grestore} def
1.000 0 258.000 445.500 0.000 0.000 18.000 18.000 rect
%@EndRect
%@BeginRuler
%@ 9.0000000000000000000e+0 viewScale
%@ 1.1111111111111110490e-1 realScale
%@ 8 realDivs
%@ 0000 rulerFormat
%@EndRuler
%@BeginLine
/ArrowType{ } def
/SD {} def
/SS {setlinewidth SD stroke} def
/LC { /setcmykcolor where
{begin 0.000 0.000 0.000 1.000 setcmykcolor end} {0.000 0.000 0.000 setrgbcolor} ifelse
} def
/PF {gsave fill grestore} def
/SS {setlinewidth SD stroke} def
1.000 463.500 264.000 445.500 264.000 Line
%@EndLine
%@BeginRuler
%@ 9.0000000000000000000e+0 viewScale
%@ 1.1111111111111110490e-1 realScale
%@ 8 realDivs
%@ 0000 rulerFormat
%@EndRuler
%@BeginLine
/ArrowType{ } def
/SD {} def
/SS {setlinewidth SD stroke} def
/LC { /setcmykcolor where
{begin 0.000 0.000 0.000 1.000 setcmykcolor end} {0.000 0.000 0.000 setrgbcolor} ifelse
} def
/PF {gsave fill grestore} def
/SS {setlinewidth SD stroke} def
1.000 463.500 270.250 445.500 270.250 Line
%@EndLine
%
%tfEndGrp
%
%
%tfBegGrp
%
%@BeginRuler
%@ 9.0000000000000000000e+0 viewScale
%@ 1.1111111111111110490e-1 realScale
%@ 8 realDivs
%@ 0000 rulerFormat
%@EndRuler
%@BeginRect
/RT {SR} def
/SD {} def
/SS {setlinewidth SD stroke} def
/LC { /setcmykcolor where
{begin 0.000 0.000 0.000 1.000 setcmykcolor end} {0.000 0.000 0.000 setrgbcolor} ifelse
} def
/PC { /setcmykcolor where
{begin 0.000 0.000 0.000 0.000 setcmykcolor end} {1.000 1.000 1.000 setrgbcolor} ifelse
} def
/PF {gsave fill grestore} def
1.000 0 311.500 445.500 0.000 0.000 18.000 18.000 rect
%@EndRect
%@BeginRuler
%@ 9.0000000000000000000e+0 viewScale
%@ 1.1111111111111110490e-1 realScale
%@ 8 realDivs
%@ 0000 rulerFormat
%@EndRuler
%@BeginLine
/ArrowType{ } def
/SD {} def
/SS {setlinewidth SD stroke} def
/LC { /setcmykcolor where
{begin 0.000 0.000 0.000 1.000 setcmykcolor end} {0.000 0.000 0.000 setrgbcolor} ifelse
} def
/PF {gsave fill grestore} def
/SS {setlinewidth SD stroke} def
1.000 463.500 317.500 445.500 317.500 Line
%@EndLine
%@BeginRuler
%@ 9.0000000000000000000e+0 viewScale
%@ 1.1111111111111110490e-1 realScale
%@ 8 realDivs
%@ 0000 rulerFormat
%@EndRuler
%@BeginLine
/ArrowType{ } def
/SD {} def
/SS {setlinewidth SD stroke} def
/LC { /setcmykcolor where
{begin 0.000 0.000 0.000 1.000 setcmykcolor end} {0.000 0.000 0.000 setrgbcolor} ifelse
} def
/PF {gsave fill grestore} def
/SS {setlinewidth SD stroke} def
1.000 463.500 323.750 445.500 323.750 Line
%@EndLine
%
%tfEndGrp
%
%
%tfBegGrp
%
%@BeginRuler
%@ 9.0000000000000000000e+0 viewScale
%@ 1.1111111111111110490e-1 realScale
%@ 8 realDivs
%@ 0000 rulerFormat
%@EndRuler
%@BeginRect
/RT {SR} def
/SD {} def
/SS {setlinewidth SD stroke} def
/LC { /setcmykcolor where
{begin 0.000 0.000 0.000 1.000 setcmykcolor end} {0.000 0.000 0.000 setrgbcolor} ifelse
} def
/PC { /setcmykcolor where
{begin 0.000 0.000 0.000 0.000 setcmykcolor end} {1.000 1.000 1.000 setrgbcolor} ifelse
} def
/PF {gsave fill grestore} def
1.000 0 284.750 445.500 0.000 0.000 18.000 18.000 rect
%@EndRect
%@BeginRuler
%@ 9.0000000000000000000e+0 viewScale
%@ 1.1111111111111110490e-1 realScale
%@ 8 realDivs
%@ 0000 rulerFormat
%@EndRuler
%@BeginLine
/ArrowType{ } def
/SD {} def
/SS {setlinewidth SD stroke} def
/LC { /setcmykcolor where
{begin 0.000 0.000 0.000 1.000 setcmykcolor end} {0.000 0.000 0.000 setrgbcolor} ifelse
} def
/PF {gsave fill grestore} def
/SS {setlinewidth SD stroke} def
1.000 463.500 290.750 445.500 290.750 Line
%@EndLine
%@BeginRuler
%@ 9.0000000000000000000e+0 viewScale
%@ 1.1111111111111110490e-1 realScale
%@ 8 realDivs
%@ 0000 rulerFormat
%@EndRuler
%@BeginLine
/ArrowType{ } def
/SD {} def
/SS {setlinewidth SD stroke} def
/LC { /setcmykcolor where
{begin 0.000 0.000 0.000 1.000 setcmykcolor end} {0.000 0.000 0.000 setrgbcolor} ifelse
} def
/PF {gsave fill grestore} def
/SS {setlinewidth SD stroke} def
1.000 463.500 297.000 445.500 297.000 Line
%@EndLine
%
%tfEndGrp
%
%
%tfBegGrp
%
%@BeginRuler
%@ 9.0000000000000000000e+0 viewScale
%@ 1.1111111111111110490e-1 realScale
%@ 8 realDivs
%@ 0000 rulerFormat
%@EndRuler
%@BeginRect
/RT {SR} def
/SD {} def
/SS {setlinewidth SD stroke} def
/LC { /setcmykcolor where
{begin 0.000 0.000 0.000 1.000 setcmykcolor end} {0.000 0.000 0.000 setrgbcolor} ifelse
} def
/PC { /setcmykcolor where
{begin 0.000 0.000 0.000 0.000 setcmykcolor end} {1.000 1.000 1.000 setrgbcolor} ifelse
} def
/PF {gsave fill grestore} def
1.000 0 254.000 110.000 0.000 0.000 18.000 18.000 rect
%@EndRect
%@BeginRuler
%@ 9.0000000000000000000e+0 viewScale
%@ 1.1111111111111110490e-1 realScale
%@ 8 realDivs
%@ 0000 rulerFormat
%@EndRuler
%@BeginLine
/ArrowType{ } def
/SD {} def
/SS {setlinewidth SD stroke} def
/LC { /setcmykcolor where
{begin 0.000 0.000 0.000 1.000 setcmykcolor end} {0.000 0.000 0.000 setrgbcolor} ifelse
} def
/PF {gsave fill grestore} def
/SS {setlinewidth SD stroke} def
1.000 128.000 260.000 110.000 260.000 Line
%@EndLine
%@BeginRuler
%@ 9.0000000000000000000e+0 viewScale
%@ 1.1111111111111110490e-1 realScale
%@ 8 realDivs
%@ 0000 rulerFormat
%@EndRuler
%@BeginLine
/ArrowType{ } def
/SD {} def
/SS {setlinewidth SD stroke} def
/LC { /setcmykcolor where
{begin 0.000 0.000 0.000 1.000 setcmykcolor end} {0.000 0.000 0.000 setrgbcolor} ifelse
} def
/PF {gsave fill grestore} def
/SS {setlinewidth SD stroke} def
1.000 128.000 266.250 110.000 266.250 Line
%@EndLine
%
%tfEndGrp
%
%@BeginRuler
%@ 9.0000000000000000000e+0 viewScale
%@ 1.1111111111111110490e-1 realScale
%@ 8 realDivs
%@ 0000 rulerFormat
%@EndRuler
%@BeginLine
/ArrowType{
1.000 setlinewidth
159.750 341.250 moveto
/Triangular 14.099 7.049 false 349.813 DrawArrowHead
} bind def
/SD {} def
/SS {setlinewidth SD stroke} def
/LC { /setcmykcolor where
{begin 0.000 0.000 0.000 1.000 setcmykcolor end} {0.000 0.000 0.000 setrgbcolor} ifelse
} def
/PF {gsave fill grestore} def
/SS {setlinewidth SD stroke} def
1.000 161.718 340.895 416.500 295.000 Line
%@EndLine
%
%tfBegGrp
%
%@BeginRuler
%@ 9.0000000000000000000e+0 viewScale
%@ 1.1111111111111110490e-1 realScale
%@ 8 realDivs
%@ 0000 rulerFormat
%@EndRuler
%@BeginRect
/RT {SR} def
/SD {} def
/SS {setlinewidth SD stroke} def
/LC { /setcmykcolor where
{begin 0.000 0.000 0.000 1.000 setcmykcolor end} {0.000 0.000 0.000 setrgbcolor} ifelse
} def
/PC { /setcmykcolor where
{begin 0.000 0.000 0.000 0.000 setcmykcolor end} {1.000 1.000 1.000 setrgbcolor} ifelse
} def
/PF {gsave fill grestore} def
1.000 0 280.333 110.000 0.000 0.000 18.000 18.000 rect
%@EndRect
%@BeginRuler
%@ 9.0000000000000000000e+0 viewScale
%@ 1.1111111111111110490e-1 realScale
%@ 8 realDivs
%@ 0000 rulerFormat
%@EndRuler
%@BeginLine
/ArrowType{ } def
/SD {} def
/SS {setlinewidth SD stroke} def
/LC { /setcmykcolor where
{begin 0.000 0.000 0.000 1.000 setcmykcolor end} {0.000 0.000 0.000 setrgbcolor} ifelse
} def
/PF {gsave fill grestore} def
/SS {setlinewidth SD stroke} def
1.000 128.000 286.333 110.000 286.333 Line
%@EndLine
%@BeginRuler
%@ 9.0000000000000000000e+0 viewScale
%@ 1.1111111111111110490e-1 realScale
%@ 8 realDivs
%@ 0000 rulerFormat
%@EndRuler
%@BeginLine
/ArrowType{ } def
/SD {} def
/SS {setlinewidth SD stroke} def
/LC { /setcmykcolor where
{begin 0.000 0.000 0.000 1.000 setcmykcolor end} {0.000 0.000 0.000 setrgbcolor} ifelse
} def
/PF {gsave fill grestore} def
/SS {setlinewidth SD stroke} def
1.000 128.000 292.583 110.000 292.583 Line
%@EndLine
%
%tfEndGrp
%
%
%tfBegGrp
%
%@BeginRuler
%@ 9.0000000000000000000e+0 viewScale
%@ 1.1111111111111110490e-1 realScale
%@ 8 realDivs
%@ 0000 rulerFormat
%@EndRuler
%@BeginRect
/RT {SR} def
/SD {} def
/SS {setlinewidth SD stroke} def
/LC { /setcmykcolor where
{begin 0.000 0.000 0.000 1.000 setcmykcolor end} {0.000 0.000 0.000 setrgbcolor} ifelse
} def
/PC { /setcmykcolor where
{begin 0.000 0.000 0.000 0.000 setcmykcolor end} {1.000 1.000 1.000 setrgbcolor} ifelse
} def
/PF {gsave fill grestore} def
1.000 0 332.999 110.000 0.000 0.000 18.000 18.000 rect
%@EndRect
%@BeginRuler
%@ 9.0000000000000000000e+0 viewScale
%@ 1.1111111111111110490e-1 realScale
%@ 8 realDivs
%@ 0000 rulerFormat
%@EndRuler
%@BeginLine
/ArrowType{ } def
/SD {} def
/SS {setlinewidth SD stroke} def
/LC { /setcmykcolor where
{begin 0.000 0.000 0.000 1.000 setcmykcolor end} {0.000 0.000 0.000 setrgbcolor} ifelse
} def
/PF {gsave fill grestore} def
/SS {setlinewidth SD stroke} def
1.000 128.000 338.999 110.000 338.999 Line
%@EndLine
%@BeginRuler
%@ 9.0000000000000000000e+0 viewScale
%@ 1.1111111111111110490e-1 realScale
%@ 8 realDivs
%@ 0000 rulerFormat
%@EndRuler
%@BeginLine
/ArrowType{ } def
/SD {} def
/SS {setlinewidth SD stroke} def
/LC { /setcmykcolor where
{begin 0.000 0.000 0.000 1.000 setcmykcolor end} {0.000 0.000 0.000 setrgbcolor} ifelse
} def
/PF {gsave fill grestore} def
/SS {setlinewidth SD stroke} def
1.000 128.000 345.249 110.000 345.249 Line
%@EndLine
%
%tfEndGrp
%
%
%tLayer
%
restore
end
@endspecial 150 2221 a Fx(Figure)45 b(5.3:)71 b(F)-8
b(ull-duplex)43 b(in)m(tercomm)m(unicator)i(broadcast.)86
b(Notice)46 b(that)g(this)e(is)g(in)g(general)i(a)150
2334 y(broadcast)27 b(from)f(left)g(group)g(to)i(righ)m(t)e(group,)h
(and)f(then)g(an)h(unrelated)e(broadcast)i(from)f(righ)m(t)g(group)150
2447 y(to)h(left)e(group.)39 b(Through)24 b(use)i(of)g(empt)m(y)g
(datat)m(yp)s(es)h(or)f(zero)g(coun)m(ts,)i(one)e(of)g(the)g
(transmissions)d(ma)m(y)150 2560 y(b)s(e)30 b(n)m(ulli\014ed,)d(reco)m
(v)m(ering)k(a)g(half-duplex-t)m(yp)s(e)d(in)m(terface.)750
4877 y @beginspecial 10 @llx 379.500000 @lly 543 @urx
785 @ury 2880 @rwi @setspecial
/MAV 300 dict def
MAV begin
/useClip true def
/top 0 def
/left 1 def
/bottom 2 def
/right 3 def
/CM 6 array def
/CTM 6 array def
/CTMR 6 array def
/MTC 6 array def
/blimit 1500 def
/bcnt 0 def
/rbox 8 array def
/segbox 8 array def
/bbox1 4 array def
/c1 3 array def
/c2 3 array def
/d 3 array def
/delta 3 array def
/mycurrentrgbcolor 3 array def
/ulx 0 def
/uly 1 def
/llx 2 def
/lly 3 def
/urx 4 def
/ury 5 def
/lrx 6 def
/lry 7 def
/sp [0 0] def
/ep [0 0] def
/bbox 4 array def
/pbox 4 array def
/scrnProc currentscreen 3 1 roll pop pop def
/currentcolorscreen where {
begin
currentcolorscreen
end
3 1 roll pop pop
4 2 roll pop pop
5 -2 roll pop pop
6 -2 roll pop pop
/kProc exch def
/bProc exch def
/gProc exch def
/rProc exch def
} if
/Max {2 copy gt {pop}{exch pop} ifelse} bind def
/Min {2 copy lt {pop}{exch pop} ifelse} bind def
/cellPenW 72.0 /currentcolorscreen where
{begin currentcolorscreen end pop pop
10 1 roll pop pop 8 1 roll pop pop
6 1 roll pop pop Max Max Max }
{currentscreen pop pop} ifelse div 2.0 div def
/rect {
/saveobj save def
R PC PF LC SS
saveobj restore
} bind def
/R {
newpath
pbox astore pop
0 792 translate 1 -1 scale CTMR currentmatrix pop exch translate
/objectCord mstore def
pbox right get 2 div
dup pbox left get exch sub
pbox left 3 -1 roll put
dup pbox right 3 -1 roll put
pbox bottom get 2 div
dup pbox top get exch sub
pbox top 3 -1 roll put
dup pbox bottom 3 -1 roll put
translate
CTM currentmatrix pop
57.3 mul rotate
RT
} bind def
/SaveScreenBW {
currentscreen
/scrnProc exch def
/scrnAngle exch def
/scrnFreq exch def
} bind def
/RestoreScreenBW {
scrnFreq scrnAngle MAV /scrnProc get setscreen
} bind def
/SetFreqAngleBW {
currentscreen
3 1 roll
pop pop
setscreen
} bind def
/SaveScreenColor {
currentcolorscreen
/grayProc exch def
/grayAngle exch def
/grayFreq exch def
/bProc exch def
/bAngle exch def
/bFreq exch def
/gProc exch def
/gAngle exch def
/gFreq exch def
/rProc exch def
/rAngle exch def
/rFreq exch def
} bind def
/RestoreColorScreen {
rFreq rAngle MAV /rProc get gFreq gAngle MAV /gProc get bFreq bAngle MAV /bProc get grayFreq grayAngle MAV /grayProc get setcolorscreen
} bind def
/SetFreqAngleColor {
currentcolorscreen
3 1 roll pop pop
4 2 roll pop pop
5 -2 roll pop pop
6 -2 roll pop pop
4 1 roll
6 1 roll
8 1 roll
10 1 roll
setcolorscreen
} bind def
/initmsaverestore {
userdict begin
/mdict 10 dict def
mdict begin
/mindex -1 def
/mstacksize 25 def
/mstack mstacksize array def
/incmindex {
/mindex mindex 1 add def
} bind def
/decmindex {
/mindex mindex 1 sub def
} bind def
/checkmindex {
mindex 0 lt {
(%ERROR: msave/mrestore stack underflow: Offending command 'mrestore'
) print flush
stop
}
{
mindex mstacksize ge {
(%ERROR: msave/mrestore stack overflow: Offending command 'msave'
) print flush
stop
} if
} ifelse
} bind def
/mpush {
incmindex
checkmindex
mstack mindex
3 -1 roll put
} bind def
/mpop {
checkmindex
mstack mindex get
decmindex
} bind def
end
end
} bind def
/msave {
mdict begin
matrix currentmatrix mpush
end
} bind def
/mrestore {
mdict begin
mpop setmatrix
end
} bind def
/msavelevel {
mdict begin
mindex 1 add
end
} bind def
/mstore {
matrix currentmatrix
} bind def
/AutoSizeY {
0 0 pl
dup 3 1 roll
4 -1 roll
add
pl exch pop
exch sub
} bind def
/pl {
transform
0.25 sub round 0.25 add exch
0.25 sub round 0.25 add exch
itransform
} bind def
/pll {
transform
round exch
round exch
itransform
} bind def
/pr {
dtransform
round exch
round exch
idtransform
} bind def
/m {
pl moveto
} bind def
/l {
pl lineto
} bind def
/c {
pl curveto
} bind def
/rm {
pr rmoveto
} bind def
/rl {
pr rlineto
} bind def
/ar {
5 -2 roll pl
5 2 roll
arc
} bind def
/an {
5 -2 roll pl
5 2 roll
arcn
} bind def
/MakePatternFont {
/FontDict 20 dict def
FontDict begin
/FontName exch def
/Encoding exch def
/FontMatrix [1 0 0 1 0 0 ] def
/FontType 3 def
/FontBBox [ 0 0 1 1 ] def
/PatternDict exch def
/RenderPattern {
patternDict exch get
exec
} bind def
/BuildChar {
exch begin
1 0 0 0 1 1 setcachedevice
Encoding exch get RenderPattern
end
} bind def
FontName FontDict definefont pop
end
} bind def
/SnapToPattenGrid
{
exch
dup 0 lt {
1 index sub
} if
1 index
div truncate
mul
} bind def
/FillPatternString {
dup length
1 sub
0 1 3 -1 roll {
2 index
2 index
3 -2 roll
put
} for
pop pop
} bind def
/AutoSizeY {
0.0 exch dtransform
round
idtransform exch pop
} bind def
/AutoSizeX {
0.0 dtransform
exch
round
exch
idtransform pop
} bind def
/AutoCellSize {
AutoSizeY
exch
AutoSizeX
exch
} bind def
/CheckPath {
false
{ pop pop pop true exit}
{ pop pop pop true exit}
{ pop pop pop pop pop pop pop true exit}
{ pop true exit}
pathforall
} bind def
/PatternFill { % patternCharacter
/patternString 1 string def
/cm mstore def
patternMatrix setmatrix
1 1 AutoCellSize
dup 0 eq { pop 1} if
exch
dup 0 eq { pop 1} if
exch
/patternSize exch 24.0 mul def
/PatternSizeX exch 24.0 mul patternString length mul def
/flaterror 0 def
patternString FillPatternString
gsave
flaterror 1 add setflat
flattenpath
pathbbox
grestore
psy add flaterror add psy SnapToPattenGrid
exch psx add flaterror add psx SnapToPattenGrid
3 -1 roll flaterror sub psy SnapToPattenGrid
4 -1 roll flaterror sub psx SnapToPattenGrid
4 2 roll pll
4 2 roll pll
/llxsnap exch def
/llysnap exch def
/urxsnap exch def
/urysnap exch def
gsave
useClip true eq {clip}{eoclip} ifelse newpath
/PatternFont findfont [psx 0.0 0.0 psy 0.0 0.0] makefont setfont
llysnap patternSize urysnap {
llxsnap exch moveto
llxsnap PatternSizeX urxsnap {
pop
patternString show
%currentpoint am
} for
} bind for
grestore
cm setmatrix
} bind def % End 'PatternFill'
/DefaultPatternFont {
/cm mstore def
patternMatrix setmatrix
1 1 AutoCellSize
dup 0 eq { pop 1} if
exch
dup 0 eq { pop 1} if
exch
/psy exch iSizeY mul def
/psx exch iSizeX mul def
/patternDict 64 dict def
patternDict begin
/NotDef {} def
/LiteDiagLines {
iSizeX iSizeY false [iSizeX 0.0 0.0 iSizeY -1.0 mul 0.0 iSizeY]
{pat}
imagemask
} bind def
end
/CustEncoding 256 array def
0 255 1 {
CustEncoding exch /NotDef put
} bind for
CustEncoding 65 /LiteDiagLines put
patternDict CustEncoding /PatternFont MakePatternFont
/pathSegProc {
strokepath
CheckPath {
65 PatternFill newpath
} if
} bind def
cm setmatrix
} bind def
/XRound {
dup
3 -1 roll
exch mul round
exch div
} bind def
/RoundMatrix {
/i 0 def
dup {
100000.0 XRound
1 index
exch i exch put
/i i 1 add def
} forall
} bind def
/GetBoxesRatio {
3 -1 roll sub
7 1 roll
exch sub
6 1 roll
3 -1 roll sub
5 1 roll
exch sub
4 1 roll
3 -1 roll div
3 1 roll
exch div
exch
} bind def
/T {792 exch sub} bind def
/sx 0 def
/sy 0 def
/ex 0 def
/ey 0 def
/lw 0 def
/siz 0 def
/U {gsave 0 setlinecap
/lw siz 0.078125 mul def /ey exch neg def /ex exch def /sy exch neg def /sx exch def
fontkind plain eq
{
lw siz 0.0119444 mul sub setlinewidth sx sy moveto ex ey lineto stroke
}
{
currentdict /outlineFontSize known outlineFontSize 0 gt and
{
fontkind outline eq
{
/sy sy 0.0119444 siz mul sub def
/ey ey 0.0119444 siz mul sub def
gsave
1 1 1 setrgbcolor lw siz 0.0119444 mul sub setlinewidth sx sy moveto ex ey lineto stroke
grestore
lw siz 0.0119444 mul sub setlinewidth sx sy moveto ex ey lineto
strokepath 0.0119444 siz mul setlinewidth stroke
} if
fontkind shadow eq fontkind outlineshadow eq or
{
/sy sy 0.0358332 siz mul sub def
/ey ey 0.0358332 siz mul sub def
lw setlinewidth
lw 2 div sx add sy
lw 2 div sub moveto
lw 2 div ex add ey
lw 2 div sub lineto stroke
gsave
1 1 1 setrgbcolor lw siz 0.0119444 mul sub setlinewidth sx sy moveto ex ey lineto stroke
grestore
lw siz 0.0119444 mul sub setlinewidth sx sy moveto ex ey lineto
strokepath 0.0119444 siz mul setlinewidth stroke
} if
} if
} ifelse
grestore} bind def
/plain 1 def
/outline 2 def
/shadow 3 def
/outlineshadow 4 def
/fess {
currentdict /outlineFontSize known {
/outlineFontSize 2 index def
} if
findfont exch dup /siz exch def scalefont setfont
} bind def
/SHDW {gsave siz oldfontname fess siz 0.055 mul x add y siz 0.05 mul sub moveto c show grestore} def
/NRML {gsave 1 1 1 setrgbcolor siz oldfontname fess x y moveto c show grestore siz /Outline fess x y moveto c show} def
/S {
fontkind plain eq {neg moveto show} if
fontkind outline eq {neg /y exch def /x exch def /c exch def NRML} if
fontkind shadow eq {neg /y exch def /x exch def /c exch def SHDW NRML} if
fontkind outlineshadow eq {neg /y exch def /x exch def /c exch def SHDW NRML} if
} bind def
/F {
/fontkind exch def
fontkind plain eq {fess} if
fontkind outline eq {dup /oldfontname exch def exch dup /siz exch def exch OLF} if
fontkind shadow eq {dup /oldfontname exch def exch dup /siz exch def exch OLF} if
fontkind outlineshadow eq {dup /oldfontname exch def exch dup /siz exch def exch OLF} if
} bind def
/makeoutlinedict 15 dict def
/makeoutlinefont
{
makeoutlinedict begin
/uniqueid exch def
/strokewidth exch def
/newfontname exch def
/basefontname exch def
/basefontdict basefontname findfont def
/numentries basefontdict maxlength 1 add def
basefontdict /UniqueID known not
{/numentries numentries 1 add def} if
/outfontdict numentries dict def
basefontdict
{
exch dup /FID ne {exch outfontdict 3 1 roll put} {pop pop} ifelse
}forall
outfontdict /FontName newfontname put
outfontdict /PaintType 2 put
outfontdict /StrokeWidth strokewidth put
outfontdict /UniqueID uniqueid put
newfontname outfontdict definefont pop
end
}def
/UID {
findfont dup /UniqueID known
{/UniqueID get 1 add}
{pop 1}
ifelse
} def
/OLF {
dup
/Outline
1000 62 div
4 -1 roll
UID
/outlineFontSize 5 index def
makeoutlinefont
/Outline findfont exch scalefont setfont
} def
/CopyEncoding {
findfont
/Encoding get
dup length array
/tarrayz exch def
tarrayz 0
3 -1 roll
putinterval
tarrayz
} bind def
/Re-encode {
dup length array copy
/eap 0 def
exch {
dup type /integertype eq {
/eap exch def
} {
1 index
exch
eap exch
put
/eap eap 1 add def
} ifelse
} forall
} bind def
/EncodeFont {
findfont dup
length dict
begin
{ 1 index /FID ne
{ def }
{ pop pop } ifelse
} forall
/FontName exch def
/Encoding exch def
FontName currentdict
end
definefont pop
} bind def
/clip2pathbbox {
/magicNum linewidth 2 div 1 2 sqrt div mul def
pathbbox
/urymn exch magicNum add def
/urxmn exch magicNum add def
/llymn exch magicNum sub def
/llxmn exch magicNum sub def
newpath llxmn llymn moveto llxmn urymn lineto urxmn urymn lineto urxmn llymn lineto
closepath clip newpath
} bind def
/Line {
MAV /LC get length 0 ne
{
gsave
newpath
MAV /ArrowType get length 0 eq
MAV /SD get length 0 eq and
{2 setlinecap /UseClip {clip2pathbbox} def }
{0 setlinecap /UseClip {} def } ifelse
0 792 translate
1 -1 scale
CTM currentmatrix pop
/yStart exch def /xStart exch def /yEnd exch def /xEnd exch def /linewidth exch def
MAV /ArrowType get length 0 eq xStart xEnd ne yStart yEnd ne and and
{xStart yStart moveto xEnd yEnd lineto UseClip xStart yStart moveto xEnd yEnd lineto}
{xStart yStart moveto xEnd yEnd lineto} ifelse
linewidth setlinewidth SD strokepath
CheckPath {LC PF ArrowType} if
grestore
}
{pop pop pop pop pop} ifelse
} bind def
/CompensateForStroke {
sin currentlinewidth mul
exch
cos currentlinewidth mul
dup 0 translate
4 -1 roll exch 2.0 mul sub
3 1 roll
2.0 mul sub
} bind def
/arrowdict 10 dict def
arrowdict begin
/SwallowTail {
newpath
0.0 0.0 moveto
1.0 -.5 lineto
.666 0.0 lineto
1.0 .5 lineto
closepath
} bind def
/Triangular {
newpath
0.0 0.0 moveto
1.0 -.5 lineto
1.0 .5 lineto
closepath
} bind def
/OpenTri {
newpath
1.0 0.5 moveto
0.0 0.0 lineto
1.0 -0.5 lineto
} bind def
/ClosedTri {
newpath
1.0 0.5 moveto
0.0 0.0 lineto
1.0 -0.5 lineto
closepath
} bind def
/SlashBar {
newpath
0.5 -.5 moveto
-.5 0.5 lineto
} bind def
/Dot {
newpath
0.5 0.0 moveto
0 0 1 0 360 arc
closepath
} bind def
/ExtSlashBar {
newpath
1.0 -.5 moveto
0.0 0.5 lineto
} bind def
end
/ScaleArrowHead {
0 0 4 -2 roll
0 0 1 1
8 -4 roll GetBoxesRatio
scale
} bind def
/DrawArrowHead {
gsave
[] 0 setdash
currentpoint translate rotate
{
4 copy
gsave
initmatrix
100 200 translate
msave
ScaleArrowHead pop
arrowdict exch get exec
mrestore
strokepath
0 0 3 index 3 index
pathbbox 8 4 roll
GetBoxesRatio
4 2 roll
grestore
3 index 1.0 exch sub
6 -1 roll
{
2 index mul
0 translate
}{
pop
} ifelse
msave
ScaleArrowHead scale
arrowdict exch get exec
mrestore
strokepath
} {
msave
ScaleArrowHead
arrowdict exch get exec
mrestore
} ifelse
CheckPath {
LC PF
} if
grestore
} bind def
/SR {
pbox left get pbox top get moveto
pbox right get pbox top get lineto
pbox right get pbox bottom get lineto
pbox left get pbox bottom get lineto
closepath
} bind def
/RR1 {
pbox top get pbox bottom get sub abs
pbox left get pbox right get sub abs
2 copy lt {
Min
2 div dup dup dup
pbox left get add pbox left 3 -1 roll put
pbox right get exch sub pbox right 3 -1 roll put
pbox left get pbox bottom get moveto
pbox right get 0 3 -1 roll 90 -90 arcn
pbox left get 0 3 -1 roll -90 90 arcn closepath
} {
Min
2 div dup dup dup
pbox bottom get exch sub pbox bottom 3 -1 roll put
pbox top get add pbox top 3 -1 roll put
pbox left get pbox bottom get moveto
pbox left get add pbox top get
2 index
180 0 arc
dup pbox left get add pbox bottom get
3 -1 roll 0 180 arc
closepath
} ifelse
} bind def
/RR2 {
dup dup dup dup dup dup dup dup
pbox top get add pbox top 3 -1 roll put
pbox left get add pbox left 3 -1 roll put
pbox bottom get exch sub pbox bottom 3 -1 roll put
pbox right get exch sub pbox right 3 -1 roll put
pbox bottom get add pbox left get exch moveto
pbox right get pbox bottom get 3 -1 roll 90 0 arcn
pbox right get pbox top get 3 -1 roll 0 270 arcn
pbox left get pbox top get 3 -1 roll 270 180 arcn
pbox left get pbox bottom get 3 -1 roll 180 90 arcn closepath
} bind def
/E {
1.415 setmiterlimit
CM currentmatrix pop
pbox right get pbox left get sub abs dup
pbox bottom get pbox top get sub abs dup 3 -1 roll
lt {exch dup 3 -1 roll exch div 1 exch}
{dup 3 -1 roll exch div 1} ifelse scale
0 0 3 -1 roll 2 div 0 360 arc closepath
CM setmatrix
} bind def
/StripFromFront {
dup length
2 index sub
3 1 roll
exch 3 -1 roll
getinterval
} bind def
/MakePathArray {
/k 0 def
{/k k 1 add def pop pop}{/k k 1 add def pop pop}{/k k 1 add def pop pop pop pop pop pop}{/k k 1 add def }pathforall
k array
/k 0 def
{{moveto} 3 array astore 1 index k 3 -1 roll put /k k 1 add def}
{{lineto} 3 array astore 1 index k 3 -1 roll put /k k 1 add def}
{{curveto} 7 array astore 1 index k 3 -1 roll put /k k 1 add def}
{{closepath} 1 array astore 1 index k 3 -1 roll put /k k 1 add def}
pathforall
}bind def
/MakeFlatPathArray {
/k 0 def
{/k k 1 add def pop pop}{/k k 1 add def pop pop}{pop pop pop pop pop pop}{}pathforall
k array
/k 0 def
{{moveto} 3 array astore 1 index k 3 -1 roll put /k k 1 add def}
{{lineto} 3 array astore 1 index k 3 -1 roll put /k k 1 add def}
{ pop pop pop pop pop pop}
{}
pathforall
}bind def
/FractionalLine {
2 index sub
.00001 mul
exch
3 index sub
.00001 mul
4 -1 roll add
3 1 roll
add
} bind def
/calcLineLength {
exch
4 -1 roll
sub
dup mul
3 1 roll exch
sub
dup mul
add sqrt
} bind def
/InitTotalLineLength {
/oldY exch def
/oldX exch def
theDash aload pop currentLineLength add setdash
} bind def
/AccumeLineLength {
3 copy pop
2 copy
oldX oldY
4 2 roll calcLineLength
/segmentLength exch def
/currentLineLength currentLineLength segmentLength add def
/oldY exch def
/oldX exch def
} bind def
/DecumeLastLineLength {
/currentLineLength currentLineLength segmentLength sub def
} bind def
/DrawFlattendSegment {
/pointCount 2 def
dup 0 lt { pop 0 } if
fpc
3 1 roll
2 index
1 index
gt {
2 copy get
dup length
dup 3 eq {
pop
dup 0 get
exch 1 get
2 copy InitTotalLineLength
m
} {
} ifelse
} {
pop 1 index
} ifelse
dup 1 add
3 index
exch sub
dup 10 gt { pop 10} if
{
1 add
2 copy
get aload pop
AccumeLineLength
exec
} repeat
3 1 roll pop pop
DecumeLastLineLength
} bind def
/IncFPC {
fpc add
/fpc exch def
} bind def
/DrawFlatPathArray {
fpc
0 {
dup 2 index
1 sub
lt {
flatPathArray exch
newpath
1 sub DrawFlattendSegment
gsave
pathSegProc
grestore
newpath
}
{
pop pop
exit
} ifelse
} loop
} bind def
/RecordFirstSubSegment {
closepathArray 0 pathArray 0 get
put
closepathArray 1
pathArray 0 get aload pop pop
pathArray 1 get dup length 3 eq {
aload pop pop
} {
newpath
0 0 moveto
aload pop exec
/segmentArray flattenpath MakeFlatPathArray def
segmentArray 1 get aload pop pop
} ifelse
FractionalLine {lineto} 3 array astore
put
} bind def
/AppendClosePath {
closepathArray 0 get 2 {lineto} put
flatPathArray fpc closepathArray 0 get put
1 IncFPC
flatPathArray fpc closepathArray 1 get put
1 IncFPC
} bind def
/RecordCurrentDash {
/theDash
currentdash 2 array astore def
/currentLineLength 0 def
} bind def
/PatternStroke {
0 setlinecap
RecordCurrentDash
/saveFlat currentflat def
.5 setflat
/pathArray MakePathArray def
/closepathArray 2 array def
/pathLength pathArray length def
/flatPathArray 513 array def
/currentLineLength 0 def
/fpc 0 def
pathArray pathLength 1 sub get
length 1 eq {
/usingClosepath true def
RecordFirstSubSegment
/pathLength pathLength 1 sub def
} {
/usingClosepath false def
} ifelse
0 1 pathLength 1 sub {
pathArray exch get
dup length 3 eq {
fpc 1 add 512 ge {
DrawFlatPathArray
fpc 2 ge {
flatPathArray flatPathArray fpc 2 sub get 0 put
flatPathArray flatPathArray fpc 1 sub get 1 put
/fpc 2 def
}{
/fpc 0 def
} ifelse
} if
flatPathArray exch fpc exch put
1 IncFPC
} {
dup length 7 eq {
newpath
/nToStrip 0 def
fpc 1 gt {
flatPathArray fpc 2 sub get aload pop pop m
flatPathArray fpc 1 sub get aload pop exec
/nToStrip 2 def
} {
fpc 1 eq {
flatPathArray fpc 1 sub get aload pop exec
/nToStrip 2 def
} if
} ifelse
aload pop exec
/segmentArray flattenpath MakeFlatPathArray def
/segmentArray nToStrip segmentArray StripFromFront def
segmentArray length fpc add 512 lt {
flatPathArray fpc segmentArray putinterval
segmentArray length IncFPC
} {
DrawFlatPathArray
fpc 1 gt {
flatPathArray flatPathArray fpc 2 sub get 0 exch put
flatPathArray flatPathArray fpc 1 sub get 1 exch put
/fpc 2 def
}{
/fpc 0 def
} ifelse
segmentArray length 512 lt {
flatPathArray fpc segmentArray putinterval
segmentArray length IncFPC
} {
segmentArray length
/exitLoop false def
0
{
2 copy sub
dup 500 gt {
pop 500
} {
/exitLoop true def
} ifelse
segmentArray 2 index 2 index getinterval
flatPathArray fpc 3 -1 roll putinterval
dup IncFPC
add
exitLoop {
exit
} {
DrawFlatPathArray
fpc 1 gt {
flatPathArray flatPathArray fpc 2 sub get 0 exch put
flatPathArray flatPathArray fpc 1 sub get 1 exch put
/fpc 2 def
}{
/fpc 0 def
} ifelse
} ifelse
} loop
} ifelse
} ifelse
} if
} ifelse
} for
fpc 0 gt {
usingClosepath {
AppendClosePath
} if
DrawFlatPathArray
} if
saveFlat setflat
} bind def

/rampdelta {
/len 0 3 -1 roll add def
/i2 0 3 -1 roll add def
/i1 0 3 -1 roll add def
/nRampSteps len cellPenW div cvi 1 add dup 512 gt {pop 512} if def
/rampPenW len nRampSteps div def
rampColors i1 get aload pop c1 astore pop
rampColors i2 get aload pop c2 astore pop
c2 0 get c1 0 get sub nRampSteps div d 0 3 -1 roll put
c2 1 get c1 1 get sub nRampSteps div d 1 3 -1 roll put
c2 2 get c1 2 get sub nRampSteps div d 2 3 -1 roll put
d aload pop
} bind def
/adddelta {
d astore pop
mycurrentrgbcolor c1 copy pop
c1 0 get d 0 get add c2 0 3 -1 roll put
c1 1 get d 1 get add c2 1 3 -1 roll put
c1 2 get d 2 get add c2 2 3 -1 roll put
c2 aload pop setrgbcolor
c2 mycurrentrgbcolor copy pop
} bind def
/rampline {
segbox ulx get rampPenW add segbox ulx 3 -1 roll put
segbox llx get rampPenW add segbox llx 3 -1 roll put
segbox ulx get segbox uly get moveto
segbox llx get segbox lly get lineto
delta aload pop adddelta stroke
}bind def
/slantrampseg {
gsave newpath
segbox ulx get segbox urx get sub abs
rampdelta delta astore pop
segbox ulx get rampPenW .5 mul sub segbox ulx 3 -1 roll put
segbox llx get rampPenW .5 mul sub segbox llx 3 -1 roll put
rampColors exch get aload mycurrentrgbcolor copy pop setrgbcolor
rampPenW setlinewidth nRampSteps {rampline} repeat
grestore
}bind def
/flipramp {
rampColors 0 get rampColors 3 get rampColors 0 3 -1 roll put rampColors 3 3 -1 roll put
rampColors 1 get rampColors 2 get rampColors 1 3 -1 roll put rampColors 2 3 -1 roll put
} bind def
/leftrbox {
rbox segbox copy pop
rbox urx get rbox ulx get sub
flipRatio mul dup
segbox ulx get add segbox urx 3 -1 roll put
segbox llx get add segbox lrx 3 -1 roll put
} bind def
/rightrbox {
rbox segbox copy pop
rbox urx get rbox ulx get sub
flipRatio mul dup
segbox ulx get add segbox ulx 3 -1 roll put
segbox llx get add segbox llx 3 -1 roll put
} bind def
/drawslantramp {
segbox urx get segbox ulx get sub 3 div dup dup dup dup dup dup dup dup dup
segbox ulx get add segbox urx 3 -1 roll put
segbox llx get add segbox lrx 3 -1 roll put
segbox aload pop
0 0 1 slantrampseg
segbox astore pop
segbox ulx get add segbox ulx 3 -1 roll put
segbox llx get add segbox llx 3 -1 roll put
segbox urx get add segbox urx 3 -1 roll put
segbox lrx get add segbox lrx 3 -1 roll put
segbox aload pop
1 1 2 slantrampseg
segbox astore pop
segbox ulx get add segbox ulx 3 -1 roll put
segbox llx get add segbox llx 3 -1 roll put
segbox urx get add segbox urx 3 -1 roll put
segbox lrx get add segbox lrx 3 -1 roll put
2 2 3 slantrampseg
}bind def
/tan {
dup sin exch cos div
}bind def
/rampbox {
pbox top get dup rbox uly 3 -1 roll put rbox ury 3 -1 roll put
pbox left get dup rbox ulx 3 -1 roll put rbox llx 3 -1 roll put
pbox bottom get dup rbox lly 3 -1 roll put rbox lry 3 -1 roll put
pbox right get dup rbox urx 3 -1 roll put rbox lrx 3 -1 roll put
}bind def
/LoadSegBox {
4 copy
segbox llx 6 -1 roll put
segbox lly 5 -1 roll put
segbox lrx 4 -1 roll put
segbox lry 6 -1 roll put
segbox urx 5 -1 roll put
segbox ury 3 -1 roll put
segbox ulx 4 -1 roll put
segbox uly 3 -1 roll put
} bind def
/TransToCenter {
gsave
flattenpath
pathbbox
grestore
2 index
sub 2.0 div exch
3 index sub 2.0 div
4 -1 roll add
3 1 roll add
translate
} bind def
/RotRampGrad {
gsave
TransToCenter
-1.0 mul 180.0 add rotate
flattenpath
pathbbox
clip
newpath
LoadSegBox
flipRatio 1 lt dup{flipramp}if flipRatio 0 gt and
{
/flipRatio 1.0 flipRatio sub def
segbox rbox copy pop leftrbox drawslantramp flipramp rightrbox drawslantramp
}
{drawslantramp} ifelse
grestore
} bind def
/bbg {
pbox exch get
} bind def
/DR { % Directional ramp
/workingMatrix mstore def
objectCord setmatrix
flipramp
gsave
flattenpath pathbbox
grestore
pbox bottom 3 -1 roll put pbox right 3 -1 roll put pbox top 3 -1 roll put pbox left 3 -1 roll put
rampAngle RotRampGrad
RF
workingMatrix setmatrix
}bind def
/ramparc {
gsave
circum rampdelta delta astore pop
/rampPenW 60.0 nRampSteps div def
/ang1 exch rampAngle sub def
/ang2 rampPenW ang1 add def
rampColors exch get aload mycurrentrgbcolor copy pop setrgbcolor 1 setlinewidth
nRampSteps {ramparcseg}repeat
grestore
}bind def
/ramparcseg {
newpath
rampcenter aload pop moveto
rampcenter aload pop rampradius ang2 ang1 arcn fill
/ang1 ang2 def
/ang2 ang2 rampPenW add def
delta aload pop adddelta
}bind def
/GetRadius {
rbox urx get rbox llx get sub 2 div rampcenter 0 get abs add dup mul
rbox lly get rbox ury get sub 2 div rampcenter 1 get abs add dup mul
add sqrt
} bind def
/circularRamp {
rampbox
/rampradius GetRadius def
CalcCrcm
flipramp
0 0 0 1 ramparc
1 60 1 2 ramparc
2 120 2 3 ramparc
flipramp
0 180 0 1 ramparc
1 240 1 2 ramparc
2 300 2 3 ramparc
}bind def
/GetCircumf {
2.0 mul 3.1415926 mul
} bind def
/CalcCrcm {
rampradius GetCircumf
/circum exch 6.0 div def
} bind def
/CR {
gsave
clip
MTC currentmatrix pop
CTM setmatrix
flattenpath
pathbbox pbox bottom 3 -1 roll put pbox right 3 -1 roll put pbox top 3 -1 roll put pbox left 3 -1 roll put
pbox left get pbox right get sub abs 2 div
pbox left get add rampcenter 0 get add rampcenter 0 3 -1 roll put
pbox top get pbox bottom get sub abs 2 div
pbox top get add rampcenter 1 get add rampcenter 1 3 -1 roll put
circularRamp
MTC setmatrix
grestore
RF
}bind def
/SBR {
gsave
clip
/workingMatrix mstore def
objectCord setmatrix
flattenpath
/BaseBox pathbbox 4 array astore def
/len BaseBox 2 get BaseBox 0 get sub dup mul
BaseBox 3 get BaseBox 1 get sub dup mul
add sqrt
12.0 div
def
/EndBox
BaseBox aload pop
3 -1 roll sub
3 1 roll
exch sub
/dbx exch def
/dby exch def
BaseBox aload pop pop pop
/blly exch def
/bllx exch def
sbox 0 get 100.0 div dby mul blly add
sbox 1 get 100.0 div dbx mul bllx add
sbox 2 get 100.0 div dby mul blly add
sbox 3 get 100.0 div dbx mul bllx add
exch
4 -2 roll
exch
4 -2 roll
4 array astore
def
BaseBox EndBox ShapeBurst
workingMatrix setmatrix
grestore
} bind def
/GetBoxCenter {
2 index
sub 2.0 div
3 -1 roll add
3 1 roll
1 index sub
2.0 div add
exch
} bind def
/GetInterBox {
/boxInter exch def
4 1 7 {
-1 roll
7 index
} for
sub boxInter mul
8 -1 roll add
7 1 roll
sub boxInter mul
7 -1 roll add
6 1 roll
sub boxInter mul
6 -1 roll add
5 1 roll
sub boxInter mul
5 -1 roll add
4 1 roll
} bind def
/GetBoxCenterDeltas {
GetBoxCenter
6 2 roll
GetBoxCenter
3 -1 roll exch sub
3 1 roll sub
exch
} bind def
/GetBoxCornerDeltas {
pop pop
4 2 roll pop pop
3 -1 roll sub
3 1 roll exch sub
exch
} bind def
/getpath {
/k 0 def
{/k k 1 add def pop pop}{/k k 1 add def pop pop}{/k k 1 add def pop pop pop pop pop pop}{}pathforall
/pfa k array def
/k 0 def
{{moveto} 3 array astore pfa k 3 -1 roll put /k k 1 add def}
{{lineto} 3 array astore pfa k 3 -1 roll put /k k 1 add def}
{{curveto} 7 array astore pfa k 3 -1 roll put /k k 1 add def}
{}pathforall
}bind def
/ShapeBurst {
getpath
newpath
/SBERect exch 4 array copy def
/SBBRect exch 4 array copy def
/interRect1 SBBRect aload pop SBERect aload pop .3333333 GetInterBox 4 array astore def
/interRect2 SBBRect aload pop SBERect aload pop .6666666 GetInterBox 4 array astore def
0 0 1 SBBRect interRect1 ShapeBurstSeg
msave
interRect1 0 get interRect1 1 get translate
SBBRect aload pop interRect1 aload pop GetBoxesRatio scale
SBBRect 0 get -1.0 mul SBBRect 1 get -1.0 mul translate
1 1 2 interRect1 interRect2 ShapeBurstSeg
mrestore
msave
interRect2 0 get interRect2 1 get translate
SBBRect aload pop interRect2 aload pop GetBoxesRatio scale
SBBRect 0 get -1.0 mul SBBRect 1 get -1.0 mul translate
2 2 3 interRect2 SBERect ShapeBurstSeg
mrestore
} bind def
/ShapeBurstSeg {
/sbr1 exch 4 array copy def
/sbr0 exch 4 array copy def
/blx sbr0 0 get def
/bly sbr0 1 get def
len rampdelta delta astore pop
sbr0 aload pop sbr1 aload pop GetBoxesRatio
/ratioY exch def
/ratioX exch def
sbr0 aload pop sbr1 aload pop GetBoxCornerDeltas
/dlly exch nRampSteps div def
/dllx exch nRampSteps div def
/scaleStepX 1.0 ratioX sub nRampSteps div def
/scaleStepY 1.0 ratioY sub nRampSteps div def
/currentScaleX 1.0 scaleStepX sub def
/currentScaleY 1.0 scaleStepY sub def
/translationX blx dllx add def
/translationY bly dlly add def
/currentScaleX 1.0 def
/currentScaleY 1.0 def
/translationX blx def
/translationY bly def
rampColors exch get aload mycurrentrgbcolor copy pop setrgbcolor
nRampSteps {
msave
translationX translationY translate
currentScaleX currentScaleY scale
blx -1.0 mul bly -1.0 mul translate
pfa {aload pop exec} forall fill
delta aload pop adddelta
/translationX translationX dllx add def
/translationY translationY dlly add def
/currentScaleX currentScaleX scaleStepX sub def
/currentScaleY currentScaleY scaleStepY sub def
mrestore
} repeat
msave
translationX translationY translate
currentScaleX currentScaleY scale
blx -1.0 mul bly -1.0 mul translate
pfa {aload pop exec} forall fill
mrestore
} bind def
initmsaverestore
/tctm matrix currentmatrix def
tctm RoundMatrix setmatrix
/patternMatrix mstore def
10 setmiterlimit
2 setlinecap
newpath
%
%tLayer
%
%@BeginRuler
%@ 9.0000000000000000000e+0 viewScale
%@ 1.1111111111111110490e-1 realScale
%@ 8 realDivs
%@ 0000 rulerFormat
%@EndRuler
%@BeginRect
/RT {13.500 RR2} def
/SD {} def
/SS {setlinewidth SD stroke} def
/LC { /setcmykcolor where
{begin 0.000 0.000 0.000 1.000 setcmykcolor end} {0.000 0.000 0.000 setrgbcolor} ifelse
} def
/PC { /setcmykcolor where
{begin 0.000 0.000 0.000 0.000 setcmykcolor end} {1.000 1.000 1.000 setrgbcolor} ifelse
} def
/PF {gsave fill grestore} def
1.000 0 7.500 10.500 0.000 0.000 199.000 531.000 rect
%@EndRect
%@BeginRuler
%@ 9.0000000000000000000e+0 viewScale
%@ 1.1111111111111110490e-1 realScale
%@ 8 realDivs
%@ 0000 rulerFormat
%@EndRuler
%@BeginLine
/ArrowType{
1.000 setlinewidth
231.250 99.500 moveto
/SwallowTail 14.687 10.574 false 173.059 DrawArrowHead
} bind def
/SD {} def
/SS {setlinewidth SD stroke} def
/LC { /setcmykcolor where
{begin 0.000 0.000 0.000 1.000 setcmykcolor end} {0.000 0.000 0.000 setrgbcolor} ifelse
} def
/PF {gsave fill grestore} def
/SS {setlinewidth SD stroke} def
1.000 210.750 102.000 229.871 99.668 Line
%@EndLine
%@BeginRuler
%@ 9.0000000000000000000e+0 viewScale
%@ 1.1111111111111110490e-1 realScale
%@ 8 realDivs
%@ 0000 rulerFormat
%@EndRuler
%@BeginLine
/ArrowType{ } def
/SD {} def
/SS {setlinewidth SD stroke} def
/LC { /setcmykcolor where
{begin 0.000 0.000 0.000 1.000 setcmykcolor end} {0.000 0.000 0.000 setrgbcolor} ifelse
} def
/PF {gsave fill grestore} def
/SS {setlinewidth SD stroke} def
1.000 146.000 110.000 279.500 93.500 Line
%@EndLine
%@BeginRuler
%@ 9.0000000000000000000e+0 viewScale
%@ 1.1111111111111110490e-1 realScale
%@ 8 realDivs
%@ 0000 rulerFormat
%@EndRuler
%@BeginRect
/RT {13.500 RR2} def
/SD {} def
/SS {setlinewidth SD stroke} def
/LC { /setcmykcolor where
{begin 0.000 0.000 0.000 1.000 setcmykcolor end} {0.000 0.000 0.000 setrgbcolor} ifelse
} def
/PC { /setcmykcolor where
{begin 0.000 0.000 0.000 0.000 setcmykcolor end} {1.000 1.000 1.000 setrgbcolor} ifelse
} def
/PF {gsave fill grestore} def
1.000 0 213.000 11.500 0.000 0.000 199.000 531.000 rect
%@EndRect
%@BeginRuler
%@ 9.0000000000000000000e+0 viewScale
%@ 1.1111111111111110490e-1 realScale
%@ 8 realDivs
%@ 0000 rulerFormat
%@EndRuler
%@BeginOval
/RT {E} def
/SD {} def
/SS {setlinewidth SD stroke} def
/LC { /setcmykcolor where
{begin 0.000 0.000 0.000 1.000 setcmykcolor end} {0.000 0.000 0.000 setrgbcolor} ifelse
} def
/PF {} def
/PC {} def
1.000 0 230.000 346.500 0.000 0.000 143.000 147.000 rect
%@EndOval
%@BeginRuler
%@ 9.0000000000000000000e+0 viewScale
%@ 1.1111111111111110490e-1 realScale
%@ 8 realDivs
%@ 0000 rulerFormat
%@EndRuler
%@BeginOval
/RT {E} def
/SD {} def
/SS {setlinewidth SD stroke} def
/LC { /setcmykcolor where
{begin 0.000 0.000 0.000 1.000 setcmykcolor end} {0.000 0.000 0.000 setrgbcolor} ifelse
} def
/PF {} def
/PC {} def
1.000 0 230.000 65.500 0.000 0.000 143.000 147.000 rect
%@EndOval
%@BeginRuler
%@ 9.0000000000000000000e+0 viewScale
%@ 1.1111111111111110490e-1 realScale
%@ 8 realDivs
%@ 0000 rulerFormat
%@EndRuler
%@BeginOval
/RT {E} def
/SD {} def
/SS {setlinewidth SD stroke} def
/LC { /setcmykcolor where
{begin 0.000 0.000 0.000 1.000 setcmykcolor end} {0.000 0.000 0.000 setrgbcolor} ifelse
} def
/PF {DR} def
/flipRatio 1.000 def
/rampAngle 225 def
/rampColors [[0.000 0.000 0.000] [0.333 0.333 0.333] [0.666 0.666 0.666] [1.000 1.000 1.000]] def
/PC {} def
/RF {} def
1.000 0 312.000 139.250 0.000 0.000 7.000 8.000 rect
%@EndOval
%@BeginRuler
%@ 9.0000000000000000000e+0 viewScale
%@ 1.1111111111111110490e-1 realScale
%@ 8 realDivs
%@ 0000 rulerFormat
%@EndRuler
%@BeginOval
/RT {E} def
/SD {} def
/SS {setlinewidth SD stroke} def
/LC { /setcmykcolor where
{begin 0.000 0.000 0.000 1.000 setcmykcolor end} {0.000 0.000 0.000 setrgbcolor} ifelse
} def
/PF {DR} def
/flipRatio 1.000 def
/rampAngle 225 def
/rampColors [[0.000 0.000 0.000] [0.333 0.333 0.333] [0.666 0.666 0.666] [1.000 1.000 1.000]] def
/PC {} def
/RF {} def
1.000 0 259.000 139.250 0.000 0.000 8.000 8.000 rect
%@EndOval
%@BeginText
save
[ 39/quotesingle 96/grave 128/Adieresis/Aring/Ccedilla/Eacute/Ntilde/Odieresis
/Udieresis/aacute/agrave/acircumflex/adieresis/atilde/aring/ccedilla/eacute
/egrave/ecircumflex/edieresis/iacute/igrave/icircumflex/idieresis/ntilde
/oacute/ograve/ocircumflex/odieresis/otilde/uacute/ugrave/ucircumflex
/udieresis/dagger/degree/cent/sterling/section/bullet/paragraph/germandbls
/registered/copyright/trademark/acute/dieresis/.notdef/AE/Oslash
/.notdef/plusminus/.notdef/.notdef/yen/mu/.notdef/.notdef
/.notdef/.notdef/.notdef/ordfeminine/ordmasculine/.notdef/ae/oslash
/questiondown/exclamdown/logicalnot/.notdef/florin/.notdef/.notdef
/guillemotleft/guillemotright/ellipsis/.notdef/Agrave/Atilde/Otilde/OE/oe
/endash/emdash/quotedblleft/quotedblright/quoteleft/quoteright/divide
/.notdef/ydieresis/Ydieresis/fraction/currency/guilsinglleft/guilsinglright
/fi/fl/daggerdbl/periodcentered/quotesinglbase/quotedblbase/perthousand
/Acircumflex/Ecircumflex/Aacute/Edieresis/Egrave/Iacute/Icircumflex
/Idieresis/Igrave/Oacute/Ocircumflex/.notdef/Ograve/Uacute/Ucircumflex
/Ugrave/dotlessi/circumflex/tilde/macron/breve/dotaccent/ring/cedilla
/hungarumlaut/ogonek/caron]
StandardEncoding Re-encode /_Times-Roman /Times-Roman EncodeFont

%@BeginRect
/RT {SR} def
/LC {} def
/SS {pop} def
/PF {} def
/PC {} def
0.000 0 254.500 128.000 0.000 0.000 16.000 7.000 rect
%@EndRect
gsave
131.500 262.500 T translate
0.0 rotate
1 1 scale
14.000 (_Times-Roman) plain F
/setcmykcolor where
{begin 0.000 0.000 0.000 1.000 setcmykcolor end} {0.000 0.000 0.000 setrgbcolor} ifelse

(0) -3.500 4.000 S
grestore
%@EndText
%@BeginText
%@BeginRect
/RT {SR} def
/LC {} def
/SS {pop} def
/PF {} def
/PC {} def
0.000 0 279.500 128.500 0.000 0.000 16.000 7.000 rect
%@EndRect
gsave
132.000 287.500 T translate
0.0 rotate
1 1 scale
14.000 (_Times-Roman) fess
/setcmykcolor where
{begin 0.000 0.000 0.000 1.000 setcmykcolor end} {0.000 0.000 0.000 setrgbcolor} ifelse

(1) -3.000 4.000 S
grestore
%@EndText
%@BeginText
%@BeginRect
/RT {SR} def
/LC {} def
/SS {pop} def
/PF {} def
/PC {} def
0.000 0 307.500 128.500 0.000 0.000 16.000 7.000 rect
%@EndRect
gsave
132.000 315.500 T translate
0.0 rotate
1 1 scale
14.000 (_Times-Roman) fess
/setcmykcolor where
{begin 0.000 0.000 0.000 1.000 setcmykcolor end} {0.000 0.000 0.000 setrgbcolor} ifelse

(2) -3.000 4.000 S
grestore
%@EndText
%@BeginRuler
%@ 9.0000000000000000000e+0 viewScale
%@ 1.1111111111111110490e-1 realScale
%@ 8 realDivs
%@ 0000 rulerFormat
%@EndRuler
%@BeginOval
/RT {E} def
/SD {} def
/SS {setlinewidth SD stroke} def
/LC { /setcmykcolor where
{begin 0.000 0.000 0.000 1.000 setcmykcolor end} {0.000 0.000 0.000 setrgbcolor} ifelse
} def
/PF {DR} def
/flipRatio 1.000 def
/rampAngle 225 def
/rampColors [[0.000 0.000 0.000] [0.333 0.333 0.333] [0.666 0.666 0.666] [1.000 1.000 1.000]] def
/PC {} def
/RF {} def
1.000 0 286.000 411.500 0.000 0.000 7.500 8.000 rect
%@EndOval
%@BeginRuler
%@ 9.0000000000000000000e+0 viewScale
%@ 1.1111111111111110490e-1 realScale
%@ 8 realDivs
%@ 0000 rulerFormat
%@EndRuler
%@BeginOval
/RT {E} def
/SD {} def
/SS {setlinewidth SD stroke} def
/LC { /setcmykcolor where
{begin 0.000 0.000 0.000 1.000 setcmykcolor end} {0.000 0.000 0.000 setrgbcolor} ifelse
} def
/PF {DR} def
/flipRatio 1.000 def
/rampAngle 225 def
/rampColors [[0.000 0.000 0.000] [0.333 0.333 0.333] [0.666 0.666 0.666] [1.000 1.000 1.000]] def
/PC {} def
/RF {} def
1.000 0 313.500 411.000 0.000 0.000 7.500 7.000 rect
%@EndOval
%@BeginRuler
%@ 9.0000000000000000000e+0 viewScale
%@ 1.1111111111111110490e-1 realScale
%@ 8 realDivs
%@ 0000 rulerFormat
%@EndRuler
%@BeginOval
/RT {E} def
/SD {} def
/SS {setlinewidth SD stroke} def
/LC { /setcmykcolor where