%!PS (but not EPSF; comments have been disabled) /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 4 get round 4 exch put dup dup 5 get round 5 exch put 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 add]{ ch-image}imagemask restore}B /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 showpage userdict /eop-hook known{eop-hook}if}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 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 /slitexcount {2} def /end-hook { TeXDict begin slitexcount end 2 ne { showpage } if } def /TeXDict 200 dict def TeXDict begin /N /def load def /B{bind def}N /S /exch load def /X{S N}B /TR /translate load N /isls false N /vsize 10 N /@rigin{ isls{[0 1 -1 0 0 0]concat}if 72 Resolution div 72 VResolution div neg scale Resolution VResolution vsize neg mul TR}B /@letter{/vsize 10 N}B /@landscape{ /isls true N /vsize -1 N}B /@a4{/vsize 10.6929133858 N}B /@a3{/vsize 15.5531 N }B /@ledger{/vsize 16 N}B /@legal{/vsize 13 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 /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 /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 /E{pop nn dup definefont setfont}B /ch-image{ch-data dup type /stringtype ne{ctr get /ctr ctr 1 add N}if}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 /ctr 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 add]{ch-image}imagemask restore}B /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 -100 0 translate .5 .5 scale 0 0 moveto slitexcount 0 eq {30 2930 translate } if slitexcount 1 eq {2310 2930 translate } if slitexcount 2 eq {30 -270 translate } if slitexcount 3 eq {2310 -270 translate } if /SInew save def 3.7 4.0 scale -54 -30 translate SInew restore }B /eop{userdict /eop-hook known{eop-hook} if clear SI restore slitexcount 1 add /slitexcount exch def slitexcount 4 mod /slitexcount exch def slitexcount 2 eq {showpage} if }B /@start{userdict /start-hook known{start-hook}if /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}B /p /show load N /RMat[1 0 0 -1 0 0]N /BDot 8 string N /v{/ruley X /rulex X V}B /V{gsave TR -.1 -.1 TR rulex ruley scale 1 1 false RMat{BDot}imagemask 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 /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 /w{0 rmoveto}B /x{0 S rmoveto}B /y{3 2 roll p a}B /bos{/SS save N}B /eos{clear 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 false 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 1000 300 300 @start /Fa 6 111 df<3C007E00FF00FF00FF80FF807F803D 80018001800180030003000300060006000C00180018007000600009157A8714>59 D<000000001800000000003800000000007800000000007C0000000000FC0000000001FC000000 0001FC0000000003FC0000000003FC0000000006FC000000000CFC000000000CFE00000000187E 00000000387E00000000307E00000000607E00000000E07E00000000C07E00000001807F000000 01807F00000003003F00000006003F00000006003F0000000C003F0000001C003F00000018003F 00000030003F80000030001F80000060001F800000C0001F800000FFFFFF800001FFFFFF800003 80001F80000300001FC0000600001FC0000E00000FC0000C00000FC0001800000FC0001800000F C0003000000FC0006000000FC0006000000FE000C0000007E001C0000007E003C0000007E00FE0 00001FE0FFFC0001FFFFFFFC0001FFFF30307DAF37>65 D<001FFFFFFF8000001FFFFFFFF00000 007E0001FC0000007E00007E0000007E00003F000000FC00001F800000FC00001F800000FC0000 1FC00000FC00000FC00001F800000FC00001F800000FC00001F800001FC00001F800001FC00003 F000001F800003F000003F800003F000007F000003F000007E000007E00000FC000007E00003F8 000007E00007F0000007E0001FC000000FC001FF0000000FFFFFFC0000000FFFFFFF8000000FC0 000FC000001F800007F000001F800003F800001F800001F800001F800001FC00003F000000FC00 003F000000FC00003F000000FC00003F000000FC00007E000000FC00007E000001FC00007E0000 01FC00007E000001F80000FC000003F80000FC000007F00000FC000007E00000FC00000FE00001 F800001FC00001F800007F000001F80000FE000003F80007F80000FFFFFFFFE00000FFFFFFFF00 0000322F7CAE37>I<001FFF00000000FFF0001FFF00000001FFF000007F00000003FC0000007F 00000006F80000007F00000006F8000000CF8000000DF0000000CF8000000DF0000000CF800000 19F0000000CF80000031F00000018F80000033E00000018F80000063E00000018F800000C3E000 000187C00000C3E000000307C0000187C000000307C0000307C000000307C0000307C000000307 C0000607C000000607C0000C0F8000000607C0000C0F8000000603E000180F8000000603E00018 0F8000000C03E000301F0000000C03E000601F0000000C03E000601F0000000C03E000C01F0000 001803E001803E0000001801F001803E0000001801F003003E0000001801F006003E0000003001 F006007C0000003001F00C007C0000003001F018007C0000003001F018007C0000006000F83000 F80000006000F83000F80000006000F86000F80000006000F8C000F8000000C000F8C001F00000 00C000F98001F0000000C000FB0001F0000000C0007F0001F000000180007E0003E00000018000 7C0003E0000003C0007C0003E000000FE000780007E00000FFFE007001FFFF8000FFFE003001FF FF8000442F7BAE46>77 D<001FFE00001FFFC0001FFF00001FFFC000007F000001FC0000007F80 0000F00000007F800000E0000000CFC00000C0000000CFC00000C0000000CFE00000C0000000C7 E00000C000000187E000018000000183F000018000000183F000018000000181F8000180000003 01F800030000000300FC00030000000300FC000300000003007E000300000006007E0006000000 06003F000600000006003F000600000006003F80060000000C001F800C0000000C001F800C0000 000C000FC00C0000000C000FC00C000000180007E018000000180007E018000000180003F01800 0000180003F018000000300001F830000000300001F830000000300000FC30000000300000FC30 000000600000FE600000006000007E600000006000007E600000006000003F60000000C000003F C0000000C000001FC0000000C000001FC0000000C000000FC00000018000000F80000001800000 0780000003C00000078000000FE0000003800000FFFE000003000000FFFE0000010000003A2F7C AE3A>I<03C003F0000FF00FFC001C783C1E00183C700F00303EC00F80303F800F80603F000F80 603F000F80C07E000F80C07C000F80C07C000F80007C000F8000F8001F0000F8001F0000F8001F 0000F8003E0001F0003E0001F0003E0001F0007C0001F0007C0203E0007C0603E000F80603E000 F80603E000F80C07C001F00C07C000F01807C000F03007C00078E00780003FC00300001F00271E 7E9D2C>110 D E /Fb 1 113 df<000F8003F000003FC01FFC000070F03C1E0000E0F8700F0000 E0F8C0078001C0FD8007C001C0FF0003E00380FE0003E00380FE0003E00380FC0003F00380FC00 03F00701F80003F00701F80003F00701F80003F00001F80003F00003F00007F00003F00007F000 03F00007F00003F00007F00007E0000FE00007E0000FE00007E0000FE00007E0000FC0000FC000 1FC0000FC0001F80000FC0001F80000FC0003F00001F80003F00001F80007E00001F80007C0000 1FC000F800003FC001F000003FC001E000003FE003C000003F700F8000007E383F0000007E1FFC 0000007E07E00000007E0000000000FC0000000000FC0000000000FC0000000000FC0000000001 F80000000001F80000000001F80000000001F80000000003F00000000003F00000000003F00000 00007FFFC0000000FFFFC00000007FFFC00000002C3582A42C>112 D E /Fc 89 127 df<3078FCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFC780000000000003078FC FC7830062374A21E>33 D<3803807C07C0FC07E0FC07E07C07C07C07C07C07C07C07C07C07C07C 07C07C07C07C07C07C07C07C07C07C07C07803C038038013117BA31E>I<00E0700001F0F80001 F0F80001F0F80001F0F80001F0F80001F0F80001F0F8003FFFFE007FFFFF00FFFFFF80FFFFFF80 7FFFFF0003E1F00003E1F00003E1F00003E1F00007E3F00007C3E00007C3E00007C3E00007C3E0 007FFFFF00FFFFFF80FFFFFF807FFFFF003FFFFE000F87C0000F87C0000F87C0000F87C0000F87 C0000F87C0000F87C0000703800019237EA21E>I<001800003C00003C00003C00003C0000FF00 07FFC00FFFF01FFFF83FBDFC7C3C7CF83C3EF03C3EF03C7EF03C7EF03C7EF83C3C783C007E3C00 3FFC001FFE000FFF8003FFE0003FF0003FF8003CFC003C3C783C3EFC3C1EFC3C1EFC3C1EF83C1E F83C3E783C3C7C3C7C3F3FF81FFFF00FFFE007FFC001FE00003C00003C00003C00003C00001800 172D7DA71E>I<1C001C003E003E007F003E007F007E00FF807C00F7807C00F780FC00F780F800 F781F800F781F000F781F000FF83F0007F03E0007F07E0003E07C0001C07C000000FC000000F80 00001F8000001F0000001F0000003F0000003E0000007E0000007C0000007C000000FC000000F8 000001F8000001F01C0001F03E0003F07F0003E07F0007E0FF8007C0F78007C0F7800FC0F7800F 80F7801F80F7801F00F7801F00FF803F007F003E007F003E003E001C001C00192D7EA71E>I<00 F0000001F8000003FC000007FC00000FBE00000F1E00000F1E00000F1E00000F1E00000F1E0000 0F3E7F000F3CFF800F7CFF800F787F000FF8780007F0F80007E0F00007C0F0000FC1F0001FC1E0 003FE3E0007DE3C00079F3C000F8F7C000F0FF8000F07F8000F07F0000F03F0300F01E0780F83F 0780787FCF807FFFFF003FF3FF001FE1FE000FC07C0019237EA21E>I<0E001F003F803FC01FC0 0FC003C003C003C007C007800F800F003F007E00FC00F80060000A1276A21E>I<0006001F003F 007E00FC01F003E007C00F800F001F003E003C003C007C0078007800F800F000F000F000F000F0 00F000F000F000F000F800780078007C003C003C003E001F000F000F8007C003E001F000FC007E 003F001F0006102D78A71E>I<6000F800FC007E003F000F8007C003E001F000F000F8007C003C 003C003E001E001E001F000F000F000F000F000F000F000F000F000F001F001E001E003E003C00 3C007C00F800F001F003E007C00F803F007E00FC00F8006000102D7BA71E>I<00380000380000 3C00003C00003C00603C0CF83C3EFE3CFE7FBFFC3FFFF80FFFE003FF8001FF0003FF800FFFE03F FFF87FBFFCFE3CFEF83C3E603C0C003C00003C00003C0000380000380017197D9D1E>I<001C00 00003E0000003E0000003E0000003E0000003E0000003E0000003E0000003E0000003E0000003E 00007FFFFF00FFFFFF80FFFFFF80FFFFFF807FFFFF00003E0000003E0000003E0000003E000000 3E0000003E0000003E0000003E0000003E0000003E0000001C0000191B7E9E1E>I<1E003F007F 807FC07FC07FC03FC01FC007C007800F801F007E00FC00F80070000A1076871E>I<7FFFFCFFFF FEFFFFFEFFFFFE7FFFFC17057D931E>I<3C7EFFFFFFFF7E3C080875871E>I<00001C00003E0000 3E00007E00007C0000FC0000F80000F80001F80001F00003F00003E00007E00007C0000FC0000F 80001F80001F00001F00003F00003E00007E00007C0000FC0000F80001F80001F00001F00003F0 0003E00007E00007C0000FC0000F80001F80001F00003F00003E00003E00007E00007C0000FC00 00F80000F80000700000172D7DA71E>I<007C0001FF0003FF8007FFC00F83E01F01F01E00F03C 00783C007878003C78003C78003CF0001EF0001EF0001EF0001EF0001EF0001EF0001EF0001EF0 001EF0001EF8003E78003C78003C7C007C3C00783E00F81E00F01F01F00F83E007FFC003FF8001 FF00007C0017237DA21E>I<00600000F00000F00001F00003F00003F0000FF0007FF000FFF000 FEF00078F00000F00000F00000F00000F00000F00000F00000F00000F00000F00000F00000F000 00F00000F00000F00000F00000F00000F00000F00000F00000F0007FFFE0FFFFF0FFFFF07FFFE0 14237BA21E>I<01FE0007FF801FFFE03FFFF07F03F87C00FCF8003CFC003EFC001EFC001E7800 1E30001E00001E00003E00003C00003C00007C0000F80000F00001F00003E00007C0001F80003F 00007E0000FC0001F00003E0000FC00C1F801E3F001E7FFFFEFFFFFEFFFFFE7FFFFC17237DA21E >I<03FE000FFFC01FFFE03FFFF07E03F87E007C7E003C7E003C3C003C18003C00007C00007800 00F80003F000FFE001FFC001FFE000FFF00003F80000FC00003C00003E00001E00001E30001E78 001EFC001EFC003EFC003CF800FC7F03F83FFFF01FFFE00FFF8001FE0017237DA21E>I<0007C0 00000FE000001FE000001DE000003DE0000079E0000079E00000F1E00000F1E00001E1E00003E1 E00003C1E00007C1E0000781E0000F81E0001F01E0001E01E0003E01E0003C01E0007C01E000F8 01E000FFFFFF00FFFFFF80FFFFFF807FFFFF000001E0000001E0000001E0000001E0000001E000 0001E000003FFF00007FFF80007FFF80003FFF0019237EA21E>I<1FFFF03FFFF83FFFF83FFFF0 3C00003C00003C00003C00003C00003C00003C00003C00003C00003CFF003FFFC03FFFE03FFFF0 3F81F83C007C18003C00003E00001E00001E30001E78001EFC001EFC003EFC003CF8007C7C00F8 7F03F03FFFE01FFFC007FF8001FE0017237DA21E>I<001FC0007FE001FFF003FFF807F07C0FC0 7C1F00FC1E00FC3E00783C00307C0000780000780000F8FF00F3FF80FFFFE0FFFFF0FF81F8FE00 FCFC003CF8003EF8001EF8001EF8001E78001E78001E7C001E3C003E3E007C1E00F81F83F80FFF F007FFE003FF8000FE0017237DA21E>I<600000FFFFFCFFFFFEFFFFFEFFFFFCF000F8F000F060 01F00003E00003C00007C0000780000F80000F00001F00001E00003E00003C00003C00007C0000 780000780000F80000F00000F00000F00000F00001F00001E00001E00001E00001E00001E00001 E00001E00000C00017247DA31E>I<00FE0007FFC00FFFE03FFFF83F01F87C007CF8003EF0001E F0001EF0001EF0001E78003C7C007C3F01F81FFFF007FFC007FFC00FFFE01F83F03E00F87C007C 78003CF0001EF0001EF0001EF0001EF0001EF8003E7C007C7E00FC3F83F81FFFF00FFFE003FF80 00FE0017237DA21E>I<00FE0003FF8007FFC01FFFE03F83F03E00F87C0078F8007CF0003CF000 3CF0003CF0003EF0003EF0003EF8003E78007E7E00FE3F03FE1FFFFE0FFFFE03FF9E01FE3E0000 3C00003C00003C18007C3C00F87E00F07E01F07C03E07E1FC03FFF801FFF000FFE0003F0001723 7DA21E>I<3C7EFFFFFFFF7E3C0000000000000000003C7EFFFFFFFF7E3C081975981E>I<1E003F 007F807F807F807F803F001E000000000000000000000000000000000000001E003F007F007F80 7F807F803F801F800F800F001F003E007E00FC00F8006000092176981E>I<00000800003C0000 7E0001FE0003FC0007F8001FF0003FC000FF8001FF0007FC000FF8003FE0007FC000FF0000FE00 00FF00007FC0003FE0000FF80007FC0001FF0000FF80003FC0001FF00007F80003FC0001FE0000 7E00003C000008171F7DA01E>I<3FFFFE007FFFFF00FFFFFF80FFFFFF807FFFFF000000000000 0000000000000000000000000000007FFFFF00FFFFFF80FFFFFF807FFFFF003FFFFE00190F7E98 1E>I<200000780000FC0000FF00007F80003FC0001FF00007F80003FE0001FF00007FC0003FE0 000FF80007FC0001FE0000FE0001FE0007FC000FF8003FE0007FC001FF0003FE0007F8001FF000 3FC0007F8000FF0000FC0000780000200000171F7DA01E>I<003F8000FFC001FFE003FFF007E0 F80F80781F07FC1E0FFC3E1FFC7C3FFE787C7E78783E78783EF8F83EF0F01EF0F01EF0F01EF0F0 1EF0F01EF0F01EF0F01EF8F83E78783C78783C787C7C7C3FF83E1FF01E0FE01F07DC0F803E07E0 FE03FFFC01FFF800FFF0003FC017237DA21E>64 D<003E0000003E0000007F0000007F00000077 00000077000000F7800000F7800000F7800000E3800000E3800001E3C00001E3C00001E3C00001 E3C00003C1E00003C1E00003C1E00003C1E00003C1E0000780F0000780F00007FFF00007FFF000 0FFFF8000FFFF8000F0078000F0078000F0078001E003C001E003C007F80FF00FFC1FF80FFC1FF 807F80FF0019237EA21E>I<7FFFC000FFFFF000FFFFF8007FFFFC000F007E000F001E000F001F 000F000F000F000F000F000F000F000F000F001F000F001E000F003E000F00FC000FFFF8000FFF F0000FFFFC000FFFFE000F001F000F000F800F0007800F0007C00F0003C00F0003C00F0003C00F 0003C00F0007C00F0007800F000F800F003F007FFFFF00FFFFFE00FFFFF8007FFFE0001A237FA2 1E>I<003F830000FFE78001FFFF8003FFFF8007E0FF800F803F801F001F803E000F803C000780 7C0007807800078078000300F8000000F0000000F0000000F0000000F0000000F0000000F00000 00F0000000F0000000F0000000F800000078000000780003007C0007803C0007803E0007801F00 0F800F801F0007E07E0003FFFC0001FFF80000FFF000003FC00019237EA21E>I<7FFF8000FFFF E000FFFFF0007FFFF8000F01FC000F007E000F003E000F001F000F000F000F000F800F0007800F 0007800F0007800F0003C00F0003C00F0003C00F0003C00F0003C00F0003C00F0003C00F0003C0 0F0003C00F0007C00F0007800F0007800F000F800F000F000F001F000F003E000F007E000F01FC 007FFFF800FFFFF000FFFFE0007FFF80001A237FA21E>I<7FFFFE00FFFFFF00FFFFFF007FFFFF 000F000F000F000F000F000F000F000F000F0006000F0000000F0000000F0000000F0180000F03 C0000F03C0000FFFC0000FFFC0000FFFC0000FFFC0000F03C0000F03C0000F0180000F0000000F 0000000F0000000F0001800F0003C00F0003C00F0003C00F0003C00F0003C07FFFFFC0FFFFFFC0 FFFFFFC07FFFFF801A237EA21E>I<7FFFFF00FFFFFF80FFFFFF807FFFFF800F0007800F000780 0F0007800F0007800F0003000F0000000F0000000F0000000F0180000F03C0000F03C0000FFFC0 000FFFC0000FFFC0000FFFC0000F03C0000F03C0000F0180000F0000000F0000000F0000000F00 00000F0000000F0000000F0000000F0000000F0000007FF00000FFF80000FFF800007FF0000019 237EA21E>I<007F0C0001FFDE0003FFFE0007FFFE000FC1FE001F007E001E003E003E003E003C 001E007C001E0078001E0078000C00F8000000F0000000F0000000F0000000F0000000F0000000 F001FF80F003FFC0F003FFC0F001FF80F8001E0078001E0078003E007C003E003C003E003E007E 001E007E001F00FE000FC1FE0007FFFE0003FFDE0001FF9E00007F0C001A237EA21E>I<7FE0FF C0FFF1FFE0FFF1FFE07FE0FFC00F001E000F001E000F001E000F001E000F001E000F001E000F00 1E000F001E000F001E000F001E000F001E000FFFFE000FFFFE000FFFFE000FFFFE000F001E000F 001E000F001E000F001E000F001E000F001E000F001E000F001E000F001E000F001E000F001E00 0F001E007FE0FFC0FFF1FFE0FFF1FFE07FE0FFC01B237FA21E>I<7FFFE0FFFFF0FFFFF07FFFE0 00F00000F00000F00000F00000F00000F00000F00000F00000F00000F00000F00000F00000F000 00F00000F00000F00000F00000F00000F00000F00000F00000F00000F00000F00000F00000F000 00F0007FFFE0FFFFF0FFFFF07FFFE014237BA21E>I<7FE07F80FFF0FFC0FFF0FFC07FE07F800F 003E000F007C000F00F8000F01F0000F01F0000F03E0000F07C0000F0F80000F0F80000F1F0000 0F3E00000F7E00000F7F00000FFF00000FFF80000FE780000FE7C0000FC3C0000F83E0000F01E0 000F01F0000F00F0000F00F8000F0078000F007C000F003C000F003E007FE07F80FFF0FFC0FFF0 FFC07FE07F801A237FA21E>75 D<7FF80000FFFC0000FFFC00007FF800000F0000000F0000000F 0000000F0000000F0000000F0000000F0000000F0000000F0000000F0000000F0000000F000000 0F0000000F0000000F0000000F0000000F0000000F0000000F0000000F0000000F0000000F0003 000F0007800F0007800F0007800F0007800F0007807FFFFF80FFFFFF80FFFFFF807FFFFF001923 7EA21E>I<7F803FC0FF803FE0FFC07FE07FC07FC01EC06F001EE0EF001EE0EF001EE0EF001EE0 EF001EF1EF001EF1EF001E71CF001E71CF001E71CF001E7BCF001E7BCF001E3B8F001E3B8F001E 3B8F001E1F0F001E1F0F001E1F0F001E0E0F001E000F001E000F001E000F001E000F001E000F00 1E000F001E000F001E000F007F803FC0FFC07FE0FFC07FE07F803FC01B237FA21E>I<7FC0FFC0 FFC1FFE0FFE1FFE07FE0FFC00F601E000F701E000F701E000F701E000F781E000F381E000F381E 000F3C1E000F3C1E000F1C1E000F1C1E000F1E1E000F1E1E000F0E1E000F0F1E000F0F1E000F07 1E000F071E000F079E000F079E000F039E000F039E000F03DE000F01DE000F01DE000F01DE000F 00DE007FE0FE00FFF0FE00FFF07E007FE07C001B237FA21E>I<07FFC01FFFF03FFFF87FFFFC7E 00FC7C007C78003CF8003EF0001EF0001EF0001EF0001EF0001EF0001EF0001EF0001EF0001EF0 001EF0001EF0001EF0001EF0001EF0001EF0001EF0001EF0001EF8003EF8003E78003C7C007C7E 00FC7FFFFC3FFFF81FFFF007FFC017237DA21E>I<7FFF80FFFFE0FFFFF87FFFFC0F00FC0F003E 0F001E0F001F0F000F0F000F0F000F0F000F0F000F0F001F0F001E0F003E0F00FC0FFFFC0FFFF8 0FFFE00FFF800F00000F00000F00000F00000F00000F00000F00000F00000F00000F00007FE000 FFF000FFF0007FE00018237EA21E>I<7FFF0000FFFFC000FFFFF0007FFFF8000F01F8000F007C 000F003C000F001E000F001E000F001E000F001E000F001E000F003C000F007C000F01F8000FFF F8000FFFF0000FFFC0000FFFE0000F03F0000F00F8000F0078000F0078000F0078000F0078000F 0078000F0078000F0078600F0078F00F0078F00F007CF07FE03FF0FFF03FE0FFF01FC07FE00F80 1C237FA21E>82 D<01FC3007FF781FFFF83FFFF87F07F87C01F8F800F8F00078F00078F00078F0 0030F800007800007E00003FE0001FFE000FFFC003FFE0003FF00003F800007C00003C00003E00 001E60001EF0001EF0001EF0003EF8003CFC007CFF01F8FFFFF0FFFFE0F7FFC061FF0017237DA2 1E>I<7FFFFF00FFFFFF80FFFFFF80FFFFFF80F01E0780F01E0780F01E0780F01E0780601E0300 001E0000001E0000001E0000001E0000001E0000001E0000001E0000001E0000001E0000001E00 00001E0000001E0000001E0000001E0000001E0000001E0000001E0000001E0000001E0000001E 0000001E0000001E000001FFE00003FFF00003FFF00001FFE00019237EA21E>I<7FE0FFC0FFF1 FFE0FFF1FFE07FE0FFC00F001E000F001E000F001E000F001E000F001E000F001E000F001E000F 001E000F001E000F001E000F001E000F001E000F001E000F001E000F001E000F001E000F001E00 0F001E000F001E000F001E000F001E000F001E000F803E0007803C0007803C0007C07C0003F1F8 0001FFF00000FFE000007FC000001F00001B237FA21E>I<7FC07FC0FFE0FFE0FFE0FFE07FC07F C01F001F000F001E000F001E000F001E000F803E0007803C0007803C0007803C0007C07C0003C0 780003C0780003C0780003C0780001E0F00001E0F00001E0F00001E0F00000F1E00000F1E00000 F1E00000F1E0000071C0000071C000007BC000007BC000003B8000003B8000003F8000003F8000 001F0000001F00001B237FA21E>I<7F803FC0FFC07FE0FFC07FE07F803FC03C0007803C000780 3C0007803C0007803C0007803C0007801E000F001E000F001E000F001E000F001E1F0F001E3F8F 001E3F8F001E3F8F001E7BCF000E7BCE000E7BCE000E7BCE000E7BCE000F71DE000F71DE000F71 DE000F71DE000771DC000771DC000760DC000760DC0007E0FC0007E0FC0007C07C0003C078001B 237FA21E>I<7FC3FE00FFE7FF00FFE7FF007FC3FE000F81F0000781E00007C3E00003C3C00003 E3C00001E7800001F7800000FF000000FF0000007E0000007E0000003E0000003C0000003E0000 007E0000007F000000FF000000F7800001E7800001E3C00003C3C00003C1E00007C1E0000780F0 000F80F0000F0078001F0078007F80FF00FFC1FF80FFC1FF807F80FF0019237EA21E>I<7FC07F C0FFE0FFE0FFE0FFE07FC07FC00F801E0007803E0007803C0003C07C0003C0780003E0780001E0 F80001F0F00000F1F00000F9E0000079E0000079C000003BC000003FC000001F8000001F800000 0F0000000F0000000F0000000F0000000F0000000F0000000F0000000F0000000F0000000F0000 000F0000007FE00000FFF00000FFF000007FE0001B237FA21E>I<7FFFFCFFFFFEFFFFFEFFFFFE F0003CF0007CF000F8F000F06001F00003E00003C00007C0000F80000F00001F00003E00003C00 007C0000780000F80001F00001E00003E00007C0000780000F80061F000F1E000F3E000F7C000F 78000FFFFFFFFFFFFFFFFFFF7FFFFE18237DA21E>I<7FFCFFFEFFFEFFFCF000F000F000F000F0 00F000F000F000F000F000F000F000F000F000F000F000F000F000F000F000F000F000F000F000 F000F000F000F000F000F000F000F000F000F000F000F000F000FFFCFFFEFFFE7FFC0F2D74A71E >I<700000F80000F80000FC00007C00007E00003E00003E00003F00001F00001F80000F80000F C00007C00007E00003E00003F00001F00001F00001F80000F80000FC00007C00007E00003E0000 3F00001F00001F00001F80000F80000FC00007C00007E00003E00003F00001F00001F80000F800 00F80000FC00007C00007E00003E00003E00001C172D7DA71E>I<7FFCFFFEFFFE7FFE001E001E 001E001E001E001E001E001E001E001E001E001E001E001E001E001E001E001E001E001E001E00 1E001E001E001E001E001E001E001E001E001E001E001E001E001E001E001E7FFEFFFEFFFE7FFC 0F2D7EA71E>I<7FFFFCFFFFFEFFFFFEFFFFFE7FFFFC17057D7E1E>95 D<0FFC00001FFF00003F FF80007FFFC0007E07E0007E01E0003C01F0000000F0000003F00000FFF00007FFF0001FFFF000 3FFEF0007F80F000FC00F000F000F000F000F000F000F000F000F000F801F0007E0FF0003FFFFF 801FFFFFC00FFF7FC003F81F801A197D981E>97 D<7F000000FF800000FF8000007F8000000780 00000780000007800000078000000780000007800000078FC00007BFF00007FFF80007FFFC0007 F87E0007E01F0007C00F8007C0078007800780078007C0078003C0078003C0078003C0078003C0 078003C0078007C007C0078007C0078007E00F8007E01F0007F87E0007FFFC0007FFF80007BFF0 00030FC0001A237FA21E>I<00FF8003FFC007FFE00FFFF01F83F03E03F07C01E0780000780000 F80000F00000F00000F00000F00000F00000F800007800007800607C00F03E00F01F83F00FFFE0 07FFC003FF8000FE0014197B981E>I<0007F000000FF800000FF8000007F80000007800000078 000000780000007800000078000000780000FE780003FF780007FFF8000FFFF8001F83F8003E01 F8007C00F8007800F80078007800F8007800F0007800F0007800F0007800F0007800F0007800F8 00F8007800F8007800F8007C01F8003E01F8001F87F8000FFFFF8007FFFFC003FF7FC000FC3F80 1A237EA21E>I<00FE0003FF8007FFC00FFFE01F83F03E00F87C007878007C78003CF8003CFFFF FCFFFFFCFFFFFCFFFFF8F00000F800007800007C00183C003C3F003C1FC0FC0FFFF807FFF001FF E0007F8016197D981E>I<0003E0000FF8001FFC003FFC007EFC00787800783000780000780000 78007FFFF0FFFFF8FFFFF87FFFF000780000780000780000780000780000780000780000780000 78000078000078000078000078000078000078000078000078003FFFF07FFFF87FFFF83FFFF016 237EA21E>I<00FC3F0003FFFF8007FFFFC00FFFFFC01F87E3801E01E1003E01F0003C00F0003C 00F0003C00F0003C00F0003E01F0001E01E0001F87E0001FFFC0001FFF80003FFF00003CFC0000 3C0000003E0000001E0000001FFFC0000FFFF8001FFFFC003FFFFE007E007F0078000F00F8000F 80F0000780F0000780F0000780F0000780F8000F807C001F003F80FE001FFFFC000FFFF80007FF F00000FF80001A277E981E>I<7F000000FF800000FF8000007F80000007800000078000000780 0000078000000780000007800000078FC00007BFE00007FFF00007FFF80007F87C0007E03C0007 C03C0007C03C0007803C0007803C0007803C0007803C0007803C0007803C0007803C0007803C00 07803C0007803C0007803C0007803C0007803C007FF87FC0FFFCFFE0FFFCFFE07FF87FC01B237F A21E>I<00600000F00001F80001F80000F0000060000000000000000000000000000000007FF0 00FFF800FFF8007FF8000078000078000078000078000078000078000078000078000078000078 000078000078000078000078000078000078000078007FFFF0FFFFF8FFFFF87FFFF015247CA31E >I<000300000780000FC0000FC000078000030000000000000000000000000000000007FF800F FFC00FFFC007FFC00003C00003C00003C00003C00003C00003C00003C00003C00003C00003C000 03C00003C00003C00003C00003C00003C00003C00003C00003C00003C00003C00003C00003C000 03C00003C00003C03007C0780780FC0F80FC1F00FFFF007FFE003FFC001FF00012317DA31E>I< 7F000000FF800000FF8000007F8000000780000007800000078000000780000007800000078000 000787FF80078FFFC0078FFFC00787FF800780F8000781F0000783E0000787C000078F8000079F 000007BE000007FF000007FF800007F7C00007E3C00007C3E0000781F0000780F0000780F80007 807C0007803E007FF07FC0FFF8FFE0FFF8FFE07FF07FC01B237FA21E>I<7FF800FFFC00FFFC00 7FFC00003C00003C00003C00003C00003C00003C00003C00003C00003C00003C00003C00003C00 003C00003C00003C00003C00003C00003C00003C00003C00003C00003C00003C00003C00003C00 003C00003C007FFFFEFFFFFFFFFFFF7FFFFE18237DA21E>I<7C7C1F00FEFE3F80FFFF7FC07FFF FFC01FCFF3E01F87E1E01F07C1E01F07C1E01E0781E01E0781E01E0781E01E0781E01E0781E01E 0781E01E0781E01E0781E01E0781E01E0781E01E0781E01E0781E01E0781E07F87E1F8FFCFF3FC FFCFF3FC7F87E1F81E1980981E>I<7F0FC000FFBFE000FFFFF0007FFFF80007F87C0007E03C00 07C03C0007C03C0007803C0007803C0007803C0007803C0007803C0007803C0007803C0007803C 0007803C0007803C0007803C0007803C0007803C007FF87FC0FFFCFFE0FFFCFFE07FF87FC01B19 7F981E>I<00F80003FE000FFF801FFFC03F07E03E03E07C01F07800F07800F0F00078F00078F0 0078F00078F00078F00078F000787800F07800F07C01F03E03E03F07E01FFFC00FFF8003FE0000 F80015197C981E>I<7F0FC000FFBFF000FFFFF8007FFFFC0007F87E0007E01F0007C00F8007C0 078007800780078007C0078003C0078003C0078003C0078003C0078003C0078007C007C0078007 C0078007E00F8007E01F0007F87E0007FFFC0007FFF80007BFF000078FC0000780000007800000 078000000780000007800000078000000780000007800000078000007FF80000FFFC0000FFFC00 007FF800001A267F981E>I<007F0C0001FF9E0007FFFE000FFFFE001FC1FE003F00FE003C007E 007C003E0078003E00F8001E00F0001E00F0001E00F0001E00F0001E00F0001E00F8003E007800 3E0078003E007C007E003E00FE001F83FE000FFFFE0007FFDE0003FF9E0000FE1E0000001E0000 001E0000001E0000001E0000001E0000001E0000001E0000001E0000001E000001FFE00003FFF0 0003FFF00001FFE01C267E981E>I<7FC0FE00FFE3FF00FFE7FF807FEFFF8001FF8F8001FE0700 01FC000001F8000001F0000001F0000001F0000001E0000001E0000001E0000001E0000001E000 0001E0000001E0000001E0000001E0000001E000007FFFE000FFFFF000FFFFF0007FFFE0001919 7E981E>I<03FEC01FFFE03FFFE07FFFE0FE03E0F001E0F001E0F000C0F800007F80003FFE001F FF800FFFC000FFE00003F06000F8F00078F00078F80078FC00F8FF03F0FFFFE0FFFFC0F7FF8061 FE0015197C981E>I<00600000F00000F00000F00000F00000F00000F0007FFFF8FFFFFCFFFFFC 7FFFF800F00000F00000F00000F00000F00000F00000F00000F00000F00000F00000F00000F006 00F00F00F00F00F00F00F81F007C3E007FFC003FF8001FF00007E018207F9F1E>I<7F03F800FF 87FC00FF87FC007F83FC0007803C0007803C0007803C0007803C0007803C0007803C0007803C00 07803C0007803C0007803C0007803C0007803C0007803C0007803C0007807C0007807C0007C1FC 0003FFFFC003FFFFE001FFFFE0007F1FC01B197F981E>I<7FE0FFC0FFF1FFE0FFF1FFE07FE0FF C007803C0007803C0007803C0007C07C0003C0780003C0780003C0780001E0F00001E0F00001E0 F00000F1E00000F1E00000F1E00000F1E000007BC000007BC000007BC000003F8000003F800000 3F8000001F00001B197F981E>I<7FE0FFC0FFF1FFE0FFF1FFE07FE0FFC01E000F001E000F001E 000F001E000F000F001E000F001E000F0E1E000F1F1E000F1F1E000F3F9E000F3B9E00073B9C00 073B9C00073B9C0007BBBC0007BBBC0007B1BC0003F1F80003F1F80003F1F80001E0F0001B197F 981E>I<7FC3FE00FFE7FF00FFE7FF007FC3FE0007C1F00003C3E00003E3C00001F7800000FF80 00007F0000007E0000003E0000003E0000007E0000007F000000F7800001E7800001E3C00003C1 E00007C1F0000780F0007FC1FF00FFE3FF80FFE3FF807FC1FF0019197E981E>I<7FC1FF80FFE3 FFC0FFE3FFC07FC1FF800F0078000F007800078078000780F8000780F00003C0F00003C0F00003 C1E00001E1E00001E1E00001E1C00000F3C00000F3C00000F3C0000073800000738000007B8000 003F0000003F0000001F0000001E0000001E0000001E0000003E0000003C0000003C0000787C00 00FC780000FCF80000F1F00000FFE000007FC000007F8000001E0000001A267E981E>I<3FFFFE 7FFFFF7FFFFF7FFFFF78003E78007C7800F83001F00003E00007C0001F80003F00007E0000FC00 01F80003E00007C0000F80061F000F3E000F7C000FFFFFFFFFFFFFFFFFFF7FFFFE18197E981E> I<0000FC0003FE000FFE001FFC001F80003E00003C00003C00003C00003C00003C00003C00003C 00003C00003C00003C00003C00003C00003C0000FC007FF800FFF000FFE000FFF0007FF80000FC 00003C00003C00003C00003C00003C00003C00003C00003C00003C00003C00003C00003C00003C 00003E00001F80001FFC000FFE0003FE0000FC172D7DA71E>I<70F8F8F8F8F8F8F8F8F8F8F8F8 F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F870052D74A71E>I< 7F0000FFC000FFF0007FF80001F800007C00003C00003C00003C00003C00003C00003C00003C00 003C00003C00003C00003C00003C00003C00003F00001FFC000FFE0007FE000FFE001FFC003F00 003C00003C00003C00003C00003C00003C00003C00003C00003C00003C00003C00003C00003C00 007C0001F8007FF800FFF000FFC0007F0000172D7DA71E>I<0780C01FC1E03FE7E07FFFC0FCFF 80F07F00603C0013077BA21E>I E /Fd 71 126 df<3C001E007E003F00FF007F80FF007F80FF 007F80FF007F80FF007F80FF007F807F007F007F007F007F007F007F007F007E003F007E003F00 7E003F007E003F007E003F007E003F007E003F007E003F003E003E003E003E003C001E001C001C 00191877B22C>34 D<0007003800000F807C00001FC0FE00001FC0FE00001FC0FE00001FC0FE00 001FC0FE00001FC0FE00001FC0FE00003FC1FE00003F81FC00003F81FC003FFFFFFFE07FFFFFFF F0FFFFFFFFF8FFFFFFFFF8FFFFFFFFF87FFFFFFFF03FFFFFFFE0007F03F800007F03F800007F03 F800007F03F800007F03F80000FF07F80000FE07F00000FE07F00000FE07F00000FE07F00000FE 07F0003FFFFFFFE07FFFFFFFF0FFFFFFFFF8FFFFFFFFF8FFFFFFFFF87FFFFFFFF03FFFFFFFE001 FC0FE00001FC0FE00001FC0FE00003FC1FE00003F81FC00003F81FC00003F81FC00003F81FC000 03F81FC00003F81FC00003F81FC00001F00F800000E007000025327DB12C>I<0780000E001FE0 001F001FE0003F803FF0003F807FF8007F807CF8007F007CF8007F00FCFC00FF00F87C00FE00F8 7C01FE00F87C01FC00F87C01FC00F87C03FC00F87C03F800F87C03F800FCFC07F8007CF807F000 7CF80FF0007FF80FE0003FF00FE0001FE01FE0001FE01FC00007803FC00000003F800000003F80 0000007F800000007F000000007F00000000FF00000000FE00000001FE00000001FC00000001FC 00000003FC00000003F800000007F800000007F000000007F00000000FF00000000FE00000000F E00000001FE00000001FC00F00003FC03FC0003F803FC0003F807FE0007F80FFF0007F00F9F000 FF00F9F000FE01F9F800FE01F0F801FE01F0F801FC01F0F801FC01F0F803FC01F0F803F801F0F8 07F801F9F807F000F9F007F000F9F00FF000FFF00FE0007FE00FE0003FC007C0003FC00380000F 0025407DB82C>37 D<0007800000003FE00000007FF00000007FF8000000FFFC000001F8FC0000 01F07C000003F07E000003E03E000003E03E000003E03E000003E03E000003E03E000003E03E00 0003E07E000003E07C3FF803E0FC7FFC03F0F87FFC01F1F87FFC01F3F03FF801F7E01F0001FFE0 3F0001FFC03E0000FF803E0000FF007E0000FE007C0000FC007C0001FC00FC0003FE00F80007FE 00F8000FFF01F8001FDF01F0003F9F83F0003F0F83E0007E0FC3E0007E07E7E000FC03E7C000FC 03FFC000FC01FF8000FC01FF8010FC00FF0038FC007F007CFC007E007CFE00FF007C7E00FF807C 7F03FFC0FC3F87FFF1F83FFFE7FFF81FFFE3FFF00FFF81FFE007FF007FC000F8001F0026347EB2 2C>I<0000380000FC0001FC0003FC000FF8001FE0003FC0007F80007F0000FE0001FC0003F800 03F00007E0000FE0000FC0001FC0001F80003F80003F00003F00007F00007E00007E00007E0000 FE0000FC0000FC0000FC0000FC0000FC0000FC0000FC0000FC0000FC0000FC0000FC0000FE0000 7E00007E00007E00007F00003F00003F00003F80001F80001FC0000FC0000FE00007E00003F000 03F80001FC0000FE00007F00007F80003FC0001FE0000FF80003FC0001FC0000FC000038163F72 B82C>40 D<700000FC0000FE0000FF00007FC0001FE0000FF00007F80003F80001FC0000FE0000 7F00003F00001F80001FC0000FC0000FE00007E00007F00003F00003F00003F80001F80001F800 01F80001FC0000FC0000FC0000FC0000FC0000FC0000FC0000FC0000FC0000FC0000FC0000FC00 01FC0001F80001F80001F80003F80003F00003F00007F00007E0000FE0000FC0001FC0001F8000 3F00007F0000FE0001FC0003F80007F8000FF0001FE0007FC000FF0000FE0000FC000070000016 3F79B82C>I<0001C000000003E000000003E000000003E000000003E000000003E000000003E0 00001003E004007C03E01F00FE03E03F80FF83E0FF80FFE3E3FF807FF3E7FF001FFFFFFC000FFF FFF80003FFFFE00000FFFF8000003FFE0000003FFE000000FFFF800003FFFFE0000FFFFFF8001F FFFFFC007FF3E7FF00FFE3E3FF80FF83E0FF80FE03E03F807C03E01F001003E004000003E00000 0003E000000003E000000003E000000003E000000003E000000001C0000021247BAA2C>I<0F80 1FE03FF07FF07FF87FFC7FFC7FFC3FFC1FFC0FFC00FC00F801F803F007F00FE07FC0FF80FF00FE 0070000E16718A2C>44 D<3FFFFFFE007FFFFFFF00FFFFFFFF80FFFFFFFF80FFFFFFFF807FFFFF FF003FFFFFFE0021077B9C2C>I<0E003F807FC0FFE0FFE0FFE0FFE0FFE07FC03F800E000B0B70 8A2C>I<0000000E000000001F000000003F800000003F800000007F800000007F00000000FF00 000000FE00000001FE00000001FC00000001FC00000003FC00000003F800000007F800000007F0 0000000FF00000000FE00000001FE00000001FC00000003FC00000003F800000003F800000007F 800000007F00000000FF00000000FE00000001FE00000001FC00000003FC00000003F800000007 F800000007F000000007F00000000FF00000000FE00000001FE00000001FC00000003FC0000000 3F800000007F800000007F00000000FF00000000FE00000000FE00000001FE00000001FC000000 03FC00000003F800000007F800000007F00000000FF00000000FE00000001FE00000001FC00000 001FC00000003FC00000003F800000007F800000007F00000000FF00000000FE00000000FE0000 00007C00000000380000000021407BB82C>I<0003F80000000FFE0000003FFF8000007FFFC000 00FFFFE00001FE0FF00003F803F80007F001FC0007E000FC000FC0007E001FC0007F001F80003F 001F80003F003F00001F803F00001F807E00000FC07E00000FC07E00000FC07E00000FC07C0000 07C0FC000007E0FC000007E0FC000007E0FC000007E0FC000007E0FC000007E0FC000007E0FC00 0007E0FC000007E0FC000007E0FC000007E0FC000007E07E00000FC07E00000FC07E00000FC07E 00000FC07F00001FC03F00001F803F00001F801F80003F001F80003F001FC0007F000FE000FE00 07E000FC0007F001FC0003F803F80001FE0FF00000FFFFE000007FFFC000003FFF8000000FFE00 000003F8000023347CB22C>I<00070000000F8000000F8000001F8000001F8000003F8000007F 800000FF800001FF800007FF80007FFF8000FFFF8000FFDF8000FF1F8000781F8000001F800000 1F8000001F8000001F8000001F8000001F8000001F8000001F8000001F8000001F8000001F8000 001F8000001F8000001F8000001F8000001F8000001F8000001F8000001F8000001F8000001F80 00001F8000001F8000001F8000001F8000001F8000001F8000001F8000001F8000001F8000001F 80007FFFFFE0FFFFFFF0FFFFFFF0FFFFFFF07FFFFFE01C3377B22C>I<000FF80000007FFF0000 01FFFFE00007FFFFF0000FFFFFFC001FF007FE003FC001FF003F80007F007F00003F807E00001F C0FE00000FC0FE00000FC0FF00000FE0FF000007E0FF000007E07E000007E07E000007E0180000 07E000000007E00000000FE00000000FC00000000FC00000001FC00000001F800000003F800000 007F00000000FE00000001FE00000003FC00000007F80000000FF00000001FE00000003FC00000 007F80000000FF00000003FE00000007F80000000FF00000001FE00000007FC0000000FF000000 01FE00000003FC0003C007F80007E01FF00007E03FC00007E07FFFFFFFE0FFFFFFFFE0FFFFFFFF E0FFFFFFFFE07FFFFFFFC023337CB22C>I<7800000000FFFFFFFFC0FFFFFFFFE0FFFFFFFFE0FF FFFFFFE0FFFFFFFFC0FC00003F80FC00007F00FC0000FE00780001FC00000001F800000003F800 000007F000000007E00000000FC00000001FC00000001F800000003F800000003F000000007E00 0000007E00000000FC00000000FC00000001FC00000001F800000003F800000003F000000003F0 00000007F000000007E000000007E00000000FE00000000FC00000000FC00000000FC00000001F C00000001F800000001F800000001F800000001F800000001F800000003F800000003F00000000 3F000000003F000000003F000000003F000000003F000000003F000000003F000000001E000000 001E00000023347CB22C>55 D<07001FC03FE07FF07FF07FF07FF07FF03FE01FC0070000000000 0000000000000000000000000000000000000000000000000F001FC03FE07FE07FF07FF07FF07F F03FF01FF00FF003F003E003E007E00FC03F807F80FF00FE00F80070000C2F71A32C>59 D<0000000E000000001F000000007F80000000FF80000003FF80000007FF0000001FFE0000003F FC000000FFF0000001FFE0000003FF8000000FFF0000001FFC0000007FF8000000FFE0000003FF C0000007FF8000001FFE0000003FFC0000007FF0000000FFE0000000FF80000000FFE00000007F F00000003FFC0000001FFE00000007FF80000003FFC0000000FFE00000007FF80000001FFC0000 000FFF00000003FF80000001FFE0000000FFF00000003FFC0000001FFE00000007FF00000003FF 80000000FF800000007F800000001F000000000E00212B7BAE2C>I<1FFFFFFFC07FFFFFFFF0FF FFFFFFF8FFFFFFFFF8FFFFFFFFF8FFFFFFFFF87FFFFFFFF0000000000000000000000000000000 00000000000000000000000000000000000000007FFFFFFFF0FFFFFFFFF8FFFFFFFFF8FFFFFFFF F8FFFFFFFFF87FFFFFFFF01FFFFFFFC025157DA32C>I<38000000007C00000000FF00000000FF 80000000FFE00000007FF00000003FFC0000001FFE00000007FF80000003FFC0000000FFE00000 007FF80000001FFC0000000FFF00000003FF80000001FFE0000000FFF00000003FFC0000001FFE 00000007FF00000003FF80000000FF80000003FF80000007FF0000001FFE0000003FFC000000FF F0000001FFE0000003FF8000000FFF0000001FFC0000007FF8000000FFE0000003FFC0000007FF 8000001FFE0000003FFC0000007FF0000000FFE0000000FF80000000FF000000007C0000000038 00000000212B7BAE2C>I<0000FE00000001FF00000001FF00000001FF00000001FF00000003FF 80000003FF80000003EF80000003EF80000007EFC0000007EFC0000007EFC0000007C7C0000007 C7C000000FC7E000000FC7E000000FC7E000000F83E000001F83F000001F83F000001F83F00000 1F83F000003F01F800003F01F800003F01F800003F01F800003F01F800007E00FC00007E00FC00 007E00FC00007E00FC0000FE00FE0000FC007E0000FFFFFE0000FFFFFE0000FFFFFE0001FFFFFF 0001FFFFFF0001F8003F0001F8003F0003F8003F8003F0001F8003F0001F8003F0001F8007F000 1FC007E0000FC07FFE00FFFC7FFF01FFFCFFFF01FFFE7FFF01FFFC7FFE00FFFC27337EB22C>65 D<7FFFFFC0007FFFFFF800FFFFFFFC007FFFFFFF007FFFFFFF8003F0007FC003F0001FC003F000 0FE003F00007E003F00007F003F00003F003F00003F003F00003F003F00003F003F00003F003F0 0003F003F00007E003F00007E003F0000FC003F0001FC003F0007F8003FFFFFF0003FFFFFE0003 FFFFF80003FFFFFC0003FFFFFF0003F001FF8003F0001FC003F0000FE003F00007E003F00003F0 03F00003F003F00003F003F00001F803F00001F803F00001F803F00001F803F00001F803F00001 F803F00003F803F00003F003F00007F003F0000FF003F0001FE003F0007FC07FFFFFFFC07FFFFF FF80FFFFFFFE007FFFFFFC007FFFFFF00025327EB12C>I<0000FF00700003FFE0F8001FFFF9F8 003FFFFFF8007FFFFFF800FF80FFF801FE003FF803F8001FF807F0000FF807E00007F80FE00003 F81FC00003F81F800003F83F800001F83F000001F83F000001F87F000000F07E000000007E0000 00007E00000000FE00000000FC00000000FC00000000FC00000000FC00000000FC00000000FC00 000000FC00000000FC00000000FC00000000FC00000000FE000000007E000000007E000000007E 000000007F000000003F000000F03F000001F83F800001F81F800001F81FC00001F80FE00003F8 07E00003F007F00007F003F8000FE001FE003FE000FF80FFC0007FFFFF80003FFFFF00001FFFFC 000003FFF0000000FF000025347DB22C>I<7FFFFF0000FFFFFFC000FFFFFFF000FFFFFFF8007F FFFFFC0007E003FE0007E000FF0007E0007F8007E0003FC007E0001FC007E0000FE007E0000FE0 07E00007F007E00003F007E00003F007E00003F807E00001F807E00001F807E00001F807E00001 FC07E00000FC07E00000FC07E00000FC07E00000FC07E00000FC07E00000FC07E00000FC07E000 00FC07E00000FC07E00000FC07E00000FC07E00001F807E00001F807E00001F807E00001F807E0 0003F007E00003F007E00007F007E00007E007E0000FE007E0001FC007E0003FC007E0007F8007 E000FF0007E003FE007FFFFFFE00FFFFFFF800FFFFFFF000FFFFFFC0007FFFFF000026327EB12C >I<7FFFFFFFF07FFFFFFFF8FFFFFFFFF87FFFFFFFF87FFFFFFFF803F00001F803F00001F803F0 0001F803F00001F803F00001F803F00001F803F00001F803F00000F003F000000003F000000003 F000000003F000000003F001E00003F003F00003F003F00003F003F00003F003F00003FFFFF000 03FFFFF00003FFFFF00003FFFFF00003FFFFF00003F003F00003F003F00003F003F00003F003F0 0003F001E00003F000000003F000000003F000000003F000000003F000003C03F000007E03F000 007E03F000007E03F000007E03F000007E03F000007E03F000007E03F000007E7FFFFFFFFE7FFF FFFFFEFFFFFFFFFE7FFFFFFFFE7FFFFFFFFC27327EB12C>I<7FFFFFFFF8FFFFFFFFFCFFFFFFFF FCFFFFFFFFFC7FFFFFFFFC03F00000FC03F00000FC03F00000FC03F00000FC03F00000FC03F000 00FC03F00000FC03F000007803F000000003F000000003F000000003F000000003F000F00003F0 01F80003F001F80003F001F80003F001F80003FFFFF80003FFFFF80003FFFFF80003FFFFF80003 FFFFF80003F001F80003F001F80003F001F80003F001F80003F000F00003F000000003F0000000 03F000000003F000000003F000000003F000000003F000000003F000000003F000000003F00000 0003F000000003F000000003F00000007FFFE00000FFFFE00000FFFFF00000FFFFE000007FFFE0 000026327EB12C>I<0001FC0380000FFF87C0003FFFEFC0007FFFFFC000FFFFFFC001FF03FFC0 03FC01FFC003F8007FC007F0003FC00FE0003FC00FC0001FC01F80001FC01F80000FC03F00000F C03F00000FC07F00000FC07E000007807E000000007E000000007E00000000FC00000000FC0000 0000FC00000000FC00000000FC00000000FC00000000FC00000000FC00000000FC0003FFF8FC00 07FFFCFC0007FFFCFC0007FFFC7E0003FFF87E00000FC07E00000FC07E00000FC07F00001FC03F 00001FC03F00001FC01F80001FC01F80003FC00FC0003FC00FE0007FC007F0007FC003F800FFC0 03FC01FFC001FF07FFC000FFFFFFC0007FFFEFC0003FFFCFC0000FFF07800001FC000026347DB2 2C>I<7FFE00FFFCFFFF01FFFEFFFF01FFFEFFFF01FFFE7FFE00FFFC07E0000FC007E0000FC007 E0000FC007E0000FC007E0000FC007E0000FC007E0000FC007E0000FC007E0000FC007E0000FC0 07E0000FC007E0000FC007E0000FC007E0000FC007E0000FC007E0000FC007FFFFFFC007FFFFFF C007FFFFFFC007FFFFFFC007FFFFFFC007E0000FC007E0000FC007E0000FC007E0000FC007E000 0FC007E0000FC007E0000FC007E0000FC007E0000FC007E0000FC007E0000FC007E0000FC007E0 000FC007E0000FC007E0000FC007E0000FC007E0000FC007E0000FC007E0000FC07FFE00FFFCFF FF01FFFEFFFF01FFFEFFFF01FFFE7FFE00FFFC27327EB12C>I<7FFFFFF8FFFFFFFCFFFFFFFCFF FFFFFC7FFFFFF8000FC000000FC000000FC000000FC000000FC000000FC000000FC000000FC000 000FC000000FC000000FC000000FC000000FC000000FC000000FC000000FC000000FC000000FC0 00000FC000000FC000000FC000000FC000000FC000000FC000000FC000000FC000000FC000000F C000000FC000000FC000000FC000000FC000000FC000000FC000000FC000000FC000000FC00000 0FC000000FC000000FC0007FFFFFF8FFFFFFFCFFFFFFFCFFFFFFFC7FFFFFF81E3279B12C>I<7F FC007FF8FFFE00FFFCFFFE00FFFCFFFE00FFFC7FFC007FF807C0001F8007C0003F0007C0007F00 07C0007E0007C000FC0007C001F80007C003F00007C007F00007C00FE00007C00FC00007C01F80 0007C03F000007C07E000007C0FE000007C0FC000007C1F8000007C3F8000007C7F8000007CFFC 000007CFFE000007DFFE000007FF3F000007FE1F000007FE1F800007FC0F800007F80FC00007F0 07C00007E007E00007C003F00007C003F00007C001F80007C000F80007C000FC0007C0007C0007 C0007E0007C0003E0007C0003F0007C0001F0007C0001F8007C0000FC07FFC003FF8FFFE007FFC FFFE007FFCFFFE007FFC7FFC003FF826327EB12C>75 D<7FFFE00000FFFFF00000FFFFF00000FF FFF000007FFFE0000003F000000003F000000003F000000003F000000003F000000003F0000000 03F000000003F000000003F000000003F000000003F000000003F000000003F000000003F00000 0003F000000003F000000003F000000003F000000003F000000003F000000003F000000003F000 000003F000000003F000000003F000000003F000000003F000000003F000000003F000000003F0 00000003F000000003F00000F003F00001F803F00001F803F00001F803F00001F803F00001F803 F00001F803F00001F803F00001F87FFFFFFFF8FFFFFFFFF8FFFFFFFFF8FFFFFFFFF87FFFFFFFF0 25327DB12C>I<7FE0000FFCFFF0001FFEFFF0001FFEFFF8003FFE7FF8003FFC0FF8003FE00FBC 007BE00FBC007BE00FBC007BE00FBE00FBE00F9E00F3E00F9E00F3E00F9E00F3E00F9F01F3E00F 9F01F3E00F8F01E3E00F8F83E3E00F8F83E3E00F8783C3E00F8783C3E00F87C7C3E00F87C7C3E0 0F83C783E00F83C783E00F83EF83E00F81EF03E00F81EF03E00F81FF03E00F80FE03E00F80FE03 E00F80FE03E00F807C03E00F803803E00F800003E00F800003E00F800003E00F800003E00F8000 03E00F800003E00F800003E00F800003E00F800003E00F800003E00F800003E00F800003E07FF0 001FFCFFF8003FFEFFF8003FFEFFF8003FFE7FF0001FFC27327EB12C>I<7FF001FFF0FFF803FF F8FFF803FFF8FFFC03FFF87FFC01FFF007FC001F0007DE001F0007DE001F0007DE001F0007CF00 1F0007CF001F0007CF001F0007CF801F0007C7801F0007C7801F0007C7C01F0007C7C01F0007C3 C01F0007C3E01F0007C3E01F0007C1E01F0007C1F01F0007C1F01F0007C0F01F0007C0F81F0007 C0F81F0007C0781F0007C07C1F0007C07C1F0007C03C1F0007C03E1F0007C03E1F0007C01E1F00 07C01F1F0007C01F1F0007C00F1F0007C00F1F0007C00F9F0007C0079F0007C0079F0007C0079F 0007C003DF0007C003DF0007C003DF0007C001FF007FFC01FF00FFFE01FF00FFFE00FF00FFFE00 FF007FFC007E0025327DB12C>I<007FFF000003FFFFE0000FFFFFF8001FFFFFFC003FFFFFFE00 3FE003FE003F8000FE007F00007F007F00007F007E00003F007E00003F007E00003F00FE00003F 80FC00001F80FC00001F80FC00001F80FC00001F80FC00001F80FC00001F80FC00001F80FC0000 1F80FC00001F80FC00001F80FC00001F80FC00001F80FC00001F80FC00001F80FC00001F80FC00 001F80FC00001F80FC00001F80FC00001F80FC00001F80FC00001F80FC00001F80FC00001F80FC 00001F80FC00001F80FC00001F80FE00003F807E00003F007E00003F007E00003F007F00007F00 7F00007F003F8000FE003FF007FE003FFFFFFE001FFFFFFC000FFFFFF80003FFFFE000007FFF00 0021347BB22C>I<7FFFFFC0007FFFFFF800FFFFFFFC007FFFFFFF007FFFFFFF8003F000FFC003 F0003FC003F0000FE003F00007F003F00007F003F00003F003F00003F803F00001F803F00001F8 03F00001F803F00001F803F00001F803F00001F803F00003F803F00003F003F00007F003F00007 F003F0000FE003F0003FC003F000FFC003FFFFFF8003FFFFFF0003FFFFFC0003FFFFF80003FFFF C00003F000000003F000000003F000000003F000000003F000000003F000000003F000000003F0 00000003F000000003F000000003F000000003F000000003F000000003F000000003F00000007F FF8000007FFF800000FFFFC000007FFF8000007FFF80000025327EB12C>I<7FFFFC000000FFFF FF800000FFFFFFE00000FFFFFFF000007FFFFFF8000007E00FFC000007E001FE000007E000FE00 0007E0007F000007E0003F000007E0003F800007E0001F800007E0001F800007E0001F800007E0 001F800007E0001F800007E0003F800007E0003F000007E0007F000007E000FE000007E001FE00 0007E00FFC000007FFFFF8000007FFFFF0000007FFFFE0000007FFFFE0000007FFFFF0000007E0 07F8000007E003FC000007E001FC000007E000FE000007E0007E000007E0007E000007E0007E00 0007E0007E000007E0007E000007E0007E000007E0007E000007E0007E000007E0007E060007E0 007E1F8007E0007E1F8007E0007E1F8007E0007E1F8007E0003F1F807FFE003F3F00FFFF003FFF 00FFFF001FFE00FFFF000FFE007FFE0007FC0000000001F00029337EB12C>82 D<001FF00E0000FFFE1F0003FFFF9F0007FFFFFF000FFFFFFF001FF01FFF003FC007FF003F8001 FF007F0000FF007E0000FF00FE00007F00FC00007F00FC00003F00FC00003F00FC00003F00FC00 003F00FE00001E007E000000007F000000003FC00000003FE00000001FFE0000000FFFF0000007 FFFF000003FFFFE00000FFFFF800001FFFFC000001FFFE0000000FFF00000001FF000000007F80 0000003FC00000001FC00000000FC00000000FE078000007E0FC000007E0FC000007E0FC000007 E0FC000007E0FC000007E0FE00000FC0FE00000FC0FF00001FC0FF80003F80FFE0007F00FFFC01 FF00FFFFFFFE00FFFFFFFC00F9FFFFF000F83FFFC0007003FE000023347CB22C>I<7FFFFFFFFC FFFFFFFFFEFFFFFFFFFEFFFFFFFFFEFFFFFFFFFEFC007E007EFC007E007EFC007E007EFC007E00 7EFC007E007EFC007E007EFC007E007E78007E003C00007E000000007E000000007E000000007E 000000007E000000007E000000007E000000007E000000007E000000007E000000007E00000000 7E000000007E000000007E000000007E000000007E000000007E000000007E000000007E000000 007E000000007E000000007E000000007E000000007E000000007E000000007E000000007E0000 00007E000000007E000000007E000000007E000000007E0000003FFFFC00003FFFFC00007FFFFE 00003FFFFC00003FFFFC0027327EB12C>I<7FFF803FFFC07FFF803FFFC0FFFFC07FFFE07FFF80 3FFFC07FFF803FFFC003F00001F80003F00001F80003F00001F80003F00001F80003F00001F800 03F00001F80003F00001F80003F00001F80003F00001F80003F00001F80003F00001F80003F000 01F80003F00001F80003F00001F80003F00001F80003F00001F80003F00001F80003F00001F800 03F00001F80003F00001F80003F00001F80003F00001F80003F00001F80003F00001F80003F000 01F80003F00001F80003F00001F80003F00001F80003F00001F80003F00001F80003F00001F800 03F00001F80003F80003F80001F80003F00001F80003F00001FC0007F00000FC0007E00000FE00 0FE000007F001FC000003F803F8000003FE0FF8000001FFFFF0000000FFFFE00000003FFF80000 0001FFF0000000003F8000002B3380B12C>I<7FFC007FFCFFFE00FFFEFFFE00FFFEFFFE00FFFE 7FFC007FFC0FC00007E00FE0000FE007E0000FC007E0000FC007E0000FC007F0001FC003F0001F 8003F0001F8003F0001F8003F8003F8001F8003F0001F8003F0001F8003F0001FC007F0000FC00 7E0000FC007E0000FC007E0000FE00FE00007E00FC00007E00FC00007E00FC00007F01FC00003F 01F800003F01F800003F01F800003F01F800001F83F000001F83F000001F83F000001F83F00000 0FC7E000000FC7E000000FC7E000000FC7E0000007C7C0000007EFC0000007EFC0000007EFC000 0003EF80000003FF80000003FF80000003FF80000001FF00000001FF00000001FF00000000FE00 0027337EB12C>I<7FF00007FF00FFF8000FFF80FFF8000FFF80FFF8000FFF807FF00007FF001F 0000007C001F0000007C001F0000007C001F800000FC000F800000F8000F800000F8000F800000 F8000F800000F8000F800000F8000F800000F8000F800000F80007C00001F00007C00001F00007 C00001F00007C00001F00007C03E01F00007C07F01F00007C07F01F00003C07F01E00003E0FF83 E00003E0FF83E00003E0F783E00003E0F783E00003E1F7C3E00003E1F7C3E00003E1F7C3E00001 E1E3C3C00001F1E3C7C00001F3E3E7C00001F3E3E7C00001F3E3E7C00001F3E3E7C00001F3C1E7 C00000F3C1E7800000F3C1E7800000F7C1F7800000F7C1F7800000F780F7800000F780F7800000 FF80FF8000007F80FF0000007F007F0000007F007F0000007F007F0000007F007F0000003E003E 000029337FB12C>I<3FFF03FFE03FFF07FFF07FFF87FFF03FFF07FFF03FFF03FFE001F800FE00 01FC00FC0000FC01FC0000FE01F800007E03F800007F03F000003F07F000003F87E000001FCFE0 00001FCFC000000FFFC000000FFF80000007FF80000003FF00000003FF00000001FE00000001FE 00000000FC00000000FC00000001FE00000001FE00000003FF00000003FF00000007FF80000007 FF8000000FEFC000000FCFC000000FC7E000001F87E000001F83F000003F03F000003F01F80000 7E01FC00007E00FC0000FC00FE0000FC007E0001F8007F0001F8003F0003F8003F8003F0001F80 7FFE00FFFC7FFE01FFFCFFFF01FFFE7FFE01FFFC7FFE00FFFC27327EB12C>I<7FFC007FFCFFFE 00FFFEFFFE00FFFEFFFE00FFFE7FFC007FFC07F0000FC007F0001FC003F8001F8003F8003F8001 FC003F0001FC007F0000FC007F0000FE00FE00007E00FE00007F00FC00003F01FC00003F81F800 001F83F800001FC3F000000FC3F000000FC7E0000007E7E0000007E7C0000003EFC0000003FFC0 000001FF80000001FF80000000FF00000000FF000000007E000000007E000000007E000000007E 000000007E000000007E000000007E000000007E000000007E000000007E000000007E00000000 7E000000007E000000007E000000007E000000007E00000007FFE000000FFFF000000FFFF00000 0FFFF0000007FFE00027327EB12C>I<38000000007C00000000FE00000000FE00000000FF0000 00007F000000007F800000003F800000003FC00000001FC00000001FC00000001FE00000000FE0 0000000FF000000007F000000007F800000003F800000003FC00000001FC00000001FE00000000 FE00000000FE00000000FF000000007F000000007F800000003F800000003FC00000001FC00000 001FE00000000FE00000000FF000000007F000000007F000000007F800000003F800000003FC00 000001FC00000001FE00000000FE00000000FF000000007F000000007F800000003F800000003F 800000003FC00000001FC00000001FE00000000FE00000000FF000000007F000000007F8000000 03F800000003FC00000001FC00000001FC00000001FE00000000FE00000000FF000000007F0000 00007F800000003F800000003F800000001F000000000E0021407BB82C>92 D<3FFFFFFE007FFFFFFF00FFFFFFFF80FFFFFFFF80FFFFFFFF807FFFFFFF003FFFFFFE0021077B 7E2C>95 D<01FFC0000007FFF800001FFFFE00001FFFFF80003FFFFFC0003FC03FE0003FC00FE0 003FC007F0001F8003F000060003F800000001F800000001F800000001F8000000FFF800001FFF F80000FFFFF80003FFFFF8000FFFFFF8001FFF01F8003FF001F8003FC001F8007F0001F800FE00 01F800FC0001F800FC0001F800FC0001F800FC0001F800FE0001F8007E0003F8007F0007F8003F C03FF8001FFFFFFFF81FFFFFFFFC07FFFFFFFC01FFF87FFC003FC00FF826247BA32C>97 D<7FF0000000FFF8000000FFF8000000FFF80000007FF800000001F800000001F800000001F800 000001F800000001F800000001F800000001F800000001F800000001F800000001F81FC00001F8 FFF80001F9FFFE0001FFFFFF0001FFFFFF8001FFE03FC001FFC01FE001FF0007F001FE0003F001 FC0001F801FC0001FC01F80000FC01F80000FC01F80000FE01F800007E01F800007E01F800007E 01F800007E01F800007E01F800007E01F800007E01F800007E01F80000FE01FC0000FC01FC0000 FC01FC0001F801FE0003F801FE0007F001FF000FF001FF801FE001FFE07FC001FFFFFF8001FFFF FF0001FBFFFE0001F8FFF00000F01FC00027327FB12C>I<0003FFC000001FFFF800007FFFFE00 01FFFFFE0003FFFFFF0007FC00FF000FF000FF000FE000FF001FC0007E003F800018003F000000 007F000000007E000000007E00000000FC00000000FC00000000FC00000000FC00000000FC0000 0000FC00000000FC00000000FC000000007E000000007E000000007F000000003F00000F003F80 001F801FC0001F800FE0003F800FF0007F0007FC01FF0003FFFFFE0001FFFFFC00007FFFF80000 1FFFE0000003FE000021247AA32C>I<00000FFE0000001FFF0000001FFF0000001FFF0000000F FF000000003F000000003F000000003F000000003F000000003F000000003F000000003F000000 003F000000003F000007F03F00001FFE3F0000FFFFBF0001FFFFFF0003FFFFFF0007FC0FFF000F F003FF001FE001FF001FC000FF003F80007F003F00007F007E00003F007E00003F00FE00003F00 FC00003F00FC00003F00FC00003F00FC00003F00FC00003F00FC00003F00FC00003F00FC00003F 00FE00003F007E00007F007E00007F007F0000FF003F0000FF001F8001FF001FC003FF000FF007 FF0007F81FFF0003FFFFFFFC01FFFFBFFE00FFFF3FFE003FFC3FFE0007F01FFC27327DB12C>I< 0003FC0000001FFF8000007FFFC00001FFFFF00003FFFFF80007FC07F8000FF001FC001FE000FE 001FC0007E003F80007F003F00003F007F00003F007E00003F807E00001F80FC00001F80FFFFFF FF80FFFFFFFF80FFFFFFFF80FFFFFFFF80FFFFFFFF00FC00000000FE000000007E000000007E00 0000007F000000003F00000F003F80001F801FC0001F800FE0003F800FF8007F0007FE01FF0003 FFFFFE0000FFFFFC00007FFFF800000FFFE0000001FE000021247CA32C>I<000007F00000003F FE000000FFFF000001FFFF800003FFFF800007F87F800007F07F80000FE03F00000FC03F00000F C00000000FC00000000FC00000000FC00000000FC000007FFFFFFE00FFFFFFFF00FFFFFFFF00FF FFFFFF007FFFFFFE00000FC00000000FC00000000FC00000000FC00000000FC00000000FC00000 000FC00000000FC00000000FC00000000FC00000000FC00000000FC00000000FC00000000FC000 00000FC00000000FC00000000FC00000000FC00000000FC00000000FC00000000FC00000000FC0 0000000FC00000000FC00000000FC00000000FC000007FFFFFF8007FFFFFF800FFFFFFFC007FFF FFF8007FFFFFF80021327DB12C>I<00000001F00003F80FFC001FFF3FFE003FFFFFFF00FFFFFF FF01FFFFFE7F01FE0FF87F03F803F83E07F001FC1C07E000FC000FE000FE000FC0007E000FC000 7E000FC0007E000FC0007E000FC0007E000FC0007E000FE000FE0007E000FC0007F001FC0003F8 03F80001FE0FF00003FFFFF00003FFFFE00007FFFF800007DFFF000007C3F8000007C000000007 C000000007C000000007E000000003F000000003FFFFE00001FFFFFE0007FFFFFF800FFFFFFFE0 1FFFFFFFF03FC0001FF83F000003F87E000000FC7C0000007CFC0000007EF80000003EF8000000 3EF80000003EF80000003EFC0000007E7E000000FC3F800003F83FE0000FF81FFC007FF00FFFFF FFE003FFFFFF8000FFFFFE00003FFFF8000003FF800028387EA42C>I<7FF000000000FFF80000 0000FFF800000000FFF8000000007FF80000000001F80000000001F80000000001F80000000001 F80000000001F80000000001F80000000001F80000000001F80000000001F80000000001F80FE0 000001F87FF8000001F9FFFE000001FBFFFF000001FFFFFF000001FFF03F800001FFC01F800001 FF801FC00001FF000FC00001FE000FC00001FC000FC00001FC000FC00001FC000FC00001F8000F C00001F8000FC00001F8000FC00001F8000FC00001F8000FC00001F8000FC00001F8000FC00001 F8000FC00001F8000FC00001F8000FC00001F8000FC00001F8000FC00001F8000FC00001F8000F C00001F8000FC00001F8000FC00001F8000FC00001F8000FC0007FFFE0FFFF00FFFFF0FFFF80FF FFF1FFFF80FFFFF0FFFF807FFFE0FFFF0029327FB12C>I<00070000001FC000001FC000003FE0 00003FE000003FE000001FC000001FC00000070000000000000000000000000000000000000000 0000000000007FFFC0007FFFE000FFFFE0007FFFE0007FFFE0000007E0000007E0000007E00000 07E0000007E0000007E0000007E0000007E0000007E0000007E0000007E0000007E0000007E000 0007E0000007E0000007E0000007E0000007E0000007E0000007E0000007E0000007E0000007E0 000007E0000007E0000007E0007FFFFFFCFFFFFFFEFFFFFFFEFFFFFFFE7FFFFFFC1F3379B22C> I<7FE0000000FFF0000000FFF0000000FFF00000007FF000000001F000000001F000000001F000 000001F000000001F000000001F000000001F000000001F000000001F000000001F01FFFF001F0 3FFFF801F03FFFF801F03FFFF801F01FFFF001F000FE0001F001FC0001F003F80001F007F00001 F00FE00001F01FC00001F03F800001F07F000001F0FE000001F1FC000001F3FC000001F7FE0000 01FFFF000001FFFF000001FF9F800001FF0FC00001FE07E00001FC07E00001F803F00001F001F8 0001F000FC0001F000FC0001F0007E0001F0003F0001F0001F8001F0001F807FFFC0FFFCFFFFE1 FFFEFFFFE1FFFEFFFFE1FFFE7FFFC0FFFC27327EB12C>107 D<7FFFE00000FFFFF00000FFFFF0 0000FFFFF000007FFFF000000003F000000003F000000003F000000003F000000003F000000003 F000000003F000000003F000000003F000000003F000000003F000000003F000000003F0000000 03F000000003F000000003F000000003F000000003F000000003F000000003F000000003F00000 0003F000000003F000000003F000000003F000000003F000000003F000000003F000000003F000 000003F000000003F000000003F000000003F000000003F000000003F000000003F000000003F0 00000003F000000003F000000003F000007FFFFFFF80FFFFFFFFC0FFFFFFFFC0FFFFFFFFC07FFF FFFF8022327BB12C>I<7F81F003E0007FCFFC1FF800FFDFFE3FFC007FFFFE7FFC007FFFFFFFFE 0007FE1FFC3E0007FC1FF83F0007F80FF01F0007F00FE01F0007E00FC01F0007E00FC01F0007E0 0FC01F0007C00F801F0007C00F801F0007C00F801F0007C00F801F0007C00F801F0007C00F801F 0007C00F801F0007C00F801F0007C00F801F0007C00F801F0007C00F801F0007C00F801F0007C0 0F801F0007C00F801F0007C00F801F0007C00F801F0007C00F801F0007C00F801F0007C00F801F 007FFC3FF87FF07FFC7FF8FFF0FFFE7FFCFFF87FFC7FF8FFF07FFC3FF87FF02D2481A32C>I<7F F00FE00000FFF87FF80000FFF9FFFE0000FFFBFFFF00007FFFFFFF000001FFF03F800001FFC01F 800001FF801FC00001FF000FC00001FE000FC00001FC000FC00001FC000FC00001FC000FC00001 F8000FC00001F8000FC00001F8000FC00001F8000FC00001F8000FC00001F8000FC00001F8000F C00001F8000FC00001F8000FC00001F8000FC00001F8000FC00001F8000FC00001F8000FC00001 F8000FC00001F8000FC00001F8000FC00001F8000FC00001F8000FC0007FFFE0FFFF00FFFFF0FF FF80FFFFF1FFFF80FFFFF0FFFF807FFFE0FFFF0029247FA32C>I<0007FC0000001FFF0000007F FFC00001FFFFF00003FFFFF80007FC07FC000FF001FE001FE000FF001F80003F003F80003F803F 00001F807E00000FC07E00000FC07E00000FC0FC000007E0FC000007E0FC000007E0FC000007E0 FC000007E0FC000007E0FC000007E0FE00000FE07E00000FC07E00000FC07F00001FC03F00001F 803F80003F801FC0007F001FE000FF000FF001FE0007FC07FC0003FFFFF80001FFFFF000007FFF C000001FFF00000007FC000023247CA32C>I<7FF01FC000FFF8FFF800FFF9FFFE00FFFFFFFF00 7FFFFFFF8001FFE03FC001FFC01FE001FF0007F001FE0003F001FC0001F801FC0001FC01F80000 FC01F80000FC01F80000FE01F800007E01F800007E01F800007E01F800007E01F800007E01F800 007E01F800007E01F800007E01F80000FE01FC0000FC01FC0000FC01FC0001F801FE0003F801FE 0007F001FF000FF001FF801FE001FFE07FC001FFFFFF8001FFFFFF0001FBFFFE0001F8FFF00001 F81FC00001F800000001F800000001F800000001F800000001F800000001F800000001F8000000 01F800000001F800000001F800000001F800000001F800000001F80000007FFFE00000FFFFF000 00FFFFF00000FFFFF000007FFFE0000027367FA32C>I<0003F80F00001FFF1F80007FFFDF8001 FFFFFF8003FFFFFF8007FC07FF800FF001FF800FE000FF801FC0007F803F80007F803F00003F80 7F00003F807E00003F807E00001F80FC00001F80FC00001F80FC00001F80FC00001F80FC00001F 80FC00001F80FC00001F80FC00001F80FE00001F807E00003F807E00003F803F00003F803F8000 7F801FC000FF801FE001FF800FF003FF8007FC0FFF8003FFFFFF8001FFFFDF8000FFFF9F80001F FE1F800007F01F800000001F800000001F800000001F800000001F800000001F800000001F8000 00001F800000001F800000001F800000001F800000001F800000001F800000001F80000007FFFE 00000FFFFF00000FFFFF00000FFFFF000007FFFE28367DA32C>I<7FFE007F00FFFF03FFE0FFFF 0FFFF0FFFF1FFFF07FFF3FFFF8003F7F87F8003FFE07F8003FFC07F8003FF803F0003FF000C000 3FE00000003FC00000003FC00000003F800000003F800000003F800000003F000000003F000000 003F000000003F000000003F000000003F000000003F000000003F000000003F000000003F0000 00003F000000003F000000003F000000003F000000003F0000007FFFFFE000FFFFFFF000FFFFFF F000FFFFFFF0007FFFFFE00025247DA32C>I<003FF87001FFFFF80FFFFFF81FFFFFF83FFFFFF8 7FC00FF87E0003F8FC0001F8F80001F8F80001F8F80001F8FC0000F07F0000007FE000003FFF80 001FFFFC000FFFFF8001FFFFE0003FFFF80000FFFC000007FC000000FE7800007FFC00003FFC00 001FFE00001FFE00001FFF00003FFF80003EFFC000FEFFF003FCFFFFFFFCFFFFFFF8FFFFFFE0F8 FFFF80701FFC0020247AA32C>I<000F000000001F800000001F800000001F800000001F800000 001F800000001F800000001F800000001F800000001F8000007FFFFFFF00FFFFFFFF80FFFFFFFF 80FFFFFFFF807FFFFFFF00001F800000001F800000001F800000001F800000001F800000001F80 0000001F800000001F800000001F800000001F800000001F800000001F800000001F800000001F 800000001F800000001F800000001F800000001F8003C0001F8007E0001F8007E0001F8007E000 1F8007E0001F8007E0001FC00FE0000FC01FC0000FF03FC00007FFFF800007FFFF000003FFFE00 0000FFF80000001FC000232E7EAD2C>I<7FF003FF8000FFF807FFC000FFF807FFC000FFF807FF C0007FF803FFC00001F8000FC00001F8000FC00001F8000FC00001F8000FC00001F8000FC00001 F8000FC00001F8000FC00001F8000FC00001F8000FC00001F8000FC00001F8000FC00001F8000F C00001F8000FC00001F8000FC00001F8000FC00001F8000FC00001F8000FC00001F8000FC00001 F8000FC00001F8000FC00001F8000FC00001F8001FC00001F8001FC00001F8003FC00001FC007F C00000FE01FFC00000FFFFFFFF00007FFFFFFF80003FFFFFFF80001FFFCFFF800003FE07FF0029 247FA32C>I<7FFF01FFFCFFFF01FFFEFFFF83FFFEFFFF01FFFE7FFF01FFFC03E0000F8003E000 0F8003F0001F8001F0001F0001F0001F0001F8003F0000F8003E0000F8003E0000FC007E00007C 007C00007C007C00007E00FC00003E00F800003E00F800003F01F800001F01F000001F01F00000 1F83F000000F83E000000F83E000000FC7E0000007C7C0000007C7C0000007EFC0000003EF8000 0003EF80000003FF80000001FF00000001FF00000000FE000000007C000027247EA32C>I<7FFF 007FFF007FFF80FFFF00FFFF80FFFF807FFF80FFFF007FFF007FFF0007C00001F00007C00001F0 0007C00001F00007C00001F00007C00001F00007C00001F00003E00003E00003E00003E00003E0 0003E00003E03E03E00003E07F03E00003E07F03E00001F07F07C00001F0FF87C00001F0FF87C0 0001F0F787C00001F0F787C00001F1F7C7C00000F1F7C7800000F9E3CF800000F9E3CF800000FB E3EF800000FBE3EF8000007BE3EF0000007BC1EF0000007FC1FF0000007FC1FF0000007F80FF00 00007F80FF0000003F80FE0000001F007C000029247FA32C>I<3FFF03FFF07FFF87FFF87FFF87 FFF87FFF87FFF83FFF03FFF000FC007E0000FC00FC00007E01F800003F01F000001F83F000001F 87E000000FCFC0000007EF80000003FF80000001FF00000001FE00000000FC000000007C000000 00FE00000001FE00000001FF00000003EF80000007CFC000000FC7C000000F83E000001F01F000 003F01F800007E00F800007C007C0000F8007E0001F8003F007FFF01FFFC7FFF83FFFCFFFF83FF FE7FFF83FFFC7FFF01FFFC27247EA32C>I<7FFF01FFFC7FFF01FFFEFFFF83FFFE7FFF01FFFE7F FF01FFFC03E0000F8001F0000F8001F0001F8001F8001F0000F8001F0000F8003F0000FC003E00 007C003E00007E007E00003E007C00003E007C00003F00FC00001F00F800001F00F800000F81F8 00000F81F000000F81F0000007C1F0000007C3E0000007C3E0000003E3E0000003E7C0000001E7 C0000001F7C0000001F780000000FF80000000FF800000007F000000007F000000007F00000000 3E000000003E000000007E000000007C000000007C00000000FC00000000F800000000F800000C 01F800003F01F000007F83F000007F87E000007E0FE000007E1FC000007FFF8000003FFF000000 1FFE0000000FFC00000003F000000027367EA32C>I<3FFFFFFFE07FFFFFFFF07FFFFFFFF07FFF FFFFF07FFFFFFFF07E00001FE07E00003FC07E00007F807E0000FF007E0001FE003C0003FC0000 0007F80000000FF00000001FE00000003FC00000007F80000000FF00000001FC00000003F80000 000FF00000001FE00000003FC00000007F80000000FF00000001FE00000003FC0001E007F80003 F00FF00003F01FE00003F03FC00003F07F800003F0FFFFFFFFF0FFFFFFFFF0FFFFFFFFF0FFFFFF FFF07FFFFFFFE024247DA32C>I<000000FF00000007FF8000003FFF8000007FFF800000FFFF00 0001FF80000001FC00000003F800000003F000000003F000000003F000000003F000000003F000 000003F000000003F000000003F000000003F000000003F000000003F000000003F000000003F0 00000003F000000003F000000003F000000003F000000003F000000003F00000000FF00000001F E000003FFFC000007FFFC00000FFFF000000FFFF0000007FFFC000003FFFC00000001FE0000000 0FF000000003F000000003F000000003F000000003F000000003F000000003F000000003F00000 0003F000000003F000000003F000000003F000000003F000000003F000000003F000000003F000 000003F000000003F000000003F000000003F000000003F800000001FC00000001FF80000000FF FF0000007FFF8000003FFF80000007FF80000000FF0021407BB82C>I<7F80000000FFF8000000 FFFF000000FFFF8000007FFFC00000007FE00000000FE000000007F000000003F000000003F000 000003F000000003F000000003F000000003F000000003F000000003F000000003F000000003F0 00000003F000000003F000000003F000000003F000000003F000000003F000000003F000000003 F000000003F000000003FC00000001FE00000000FFFE000000FFFF0000003FFF8000003FFF8000 00FFFF000000FFFE000001FE00000003FC00000003F000000003F000000003F000000003F00000 0003F000000003F000000003F000000003F000000003F000000003F000000003F000000003F000 000003F000000003F000000003F000000003F000000003F000000003F000000003F000000007F0 0000000FE00000007FE000007FFFC00000FFFF800000FFFF000000FFF80000007F800000002140 7BB82C>125 D E /Fe 46 122 df44 D46 D<7CFCFCFCFCFC000000000000000000000000000000000000 FCFCFCFCFC7C061E799D14>58 D<00007C00000000FE00000001FF00000001FF00000001FF0000 0003EF80000003CF80000007C7C0000007C7C000000F83E000000F83E000001F03F000001F01F0 00003E01F800003E00F800003E00F800007C007C00007C007C0000F8007E0000F8003E0001F000 3F0001F0001F0003F0001F8003E0000F8003E0000F8007FFFFFFC007FFFFFFC00FFFFFFFE00FFF FFFFE01F000003F01F000001F03F000001F83E000000F87E000000FC7C0000007C7C0000007CF8 0000003EF80000003EF00000001E27277DA62E>65 D<7FFFFC0000FFFFFFC000FFFFFFF000FFFF FFFC00F8000FFE00F80000FF00F800001F80F800000F80F8000007C0F8000007C0F8000007C0F8 000007C0F800000F80F800001F80F800003F00F80001FE00F8003FF800FFFFFFE000FFFFFF8000 FFFFFFF000FFFFFFFC00F80001FF00F800003F80F800000FC0F8000007E0F8000003E0F8000001 F0F8000001F0F8000001F0F8000001F0F8000003F0F8000007E0F800000FE0F800003FC0F80003 FF80FFFFFFFE00FFFFFFFC00FFFFFFE0007FFFFF000024277AA62F>I<00003FF8000003FFFF80 000FFFFFF0003FFFFFF0007FC00FF000FE0000F003F800002007E000000007C00000000F800000 001F000000003F000000003E000000007E000000007C000000007C00000000F800000000F80000 0000F800000000F800000000F800000000F800000000F800000000F800000000F8000000007C00 0000007C000000007E000000003E000000003F000000001F000000000F8000000007C000000007 E000000003F800003000FE0000F0007FC007F0003FFFFFF0000FFFFFC00003FFFF0000003FF800 24297BA72E>I<7FFFFE0000FFFFFFE000FFFFFFF800FFFFFFFE00F80003FF00F800003F80F800 000FC0F8000007E0F8000003F0F8000001F8F8000000F8F80000007CF80000007CF80000003EF8 0000003EF80000001EF80000001FF80000001FF80000001FF80000001FF80000001FF80000001F F80000001FF80000001FF80000003EF80000003EF80000003EF80000007CF8000000FCF8000000 F8F8000001F0F8000007F0F800000FE0F800003FC0F80003FF00FFFFFFFE00FFFFFFF800FFFFFF E0007FFFFE000028277AA633>I<7FFFFFFF80FFFFFFFFC0FFFFFFFFC0FFFFFFFF80F800000000 F800000000F800000000F800000000F800000000F800000000F800000000F800000000F8000000 00F800000000F800000000F800000000F800000000FFFFFFFE00FFFFFFFF00FFFFFFFF00FFFFFF FE00F800000000F800000000F800000000F800000000F800000000F800000000F800000000F800 000000F800000000F800000000F800000000F800000000F800000000F800000000FFFFFFFFC0FF FFFFFFE0FFFFFFFFE07FFFFFFFC023277AA62D>I<7FFFFFFF00FFFFFFFF80FFFFFFFF80FFFFFF FF00F800000000F800000000F800000000F800000000F800000000F800000000F800000000F800 000000F800000000F800000000F800000000F800000000F800000000FFFFFFF800FFFFFFFC00FF FFFFFC00FFFFFFF800F800000000F800000000F800000000F800000000F800000000F800000000 F800000000F800000000F800000000F800000000F800000000F800000000F800000000F8000000 00F800000000F800000000F800000000700000000021277AA62B>I<00003FF8000003FFFF0000 0FFFFFE0003FFFFFF8007FC00FF800FE0001F803F800007807E000001007C00000000F80000000 1F000000003F000000003E000000007E000000007C000000007C00000000F800000000F8000000 00F80001FFF8F80003FFF8F80003FFF8F80003FFF8F8000000F8F8000000F8F8000000F87C0000 00F87C000000F87E000000F83E000000F83F000000F81F000000F80F800000F807C00000F807E0 0000F803F80000F800FE0000F8007FC00FF8003FFFFFF8000FFFFFE00003FFFF0000003FF00025 297BA730>I<7FFCFFFEFFFE7FFC07C007C007C007C007C007C007C007C007C007C007C007C007 C007C007C007C007C007C007C007C007C007C007C007C007C007C007C007C007C007C007C07FFC FFFEFFFE7FFC0F277FA612>73 D<70000001F0F8000003F0F800000FE0F800001FC0F800003F80 F800007F00F80001FC00F80003F800F80007F000F8000FE000F8003F8000F8007F0000F800FE00 00F801FC0000F807F00000F80FE00000F81FC00000F83FE00000F8FFF00000F9FDF80000FBF8FC 0000FFF07E0000FFC03F0000FF801F0000FF000F8000FE000FC000F80007E000F80003F000F800 01F800F80000FC00F800007E00F800003F00F800001F00F800000F80F800000FC0F8000007E0F8 000003F0F8000001F870000000F825277AA630>75 D<70000000F8000000F8000000F8000000F8 000000F8000000F8000000F8000000F8000000F8000000F8000000F8000000F8000000F8000000 F8000000F8000000F8000000F8000000F8000000F8000000F8000000F8000000F8000000F80000 00F8000000F8000000F8000000F8000000F8000000F8000000F8000000F8000000F8000000F800 0000F8000000FFFFFFFCFFFFFFFEFFFFFFFE7FFFFFFC1F277AA629>I<7E00000001F8FF000000 03FCFF80000007FCFF80000007FCFFC000000FFCFBC000000F7CFBE000001F7CF9E000001E7CF9 F000003E7CF8F000003C7CF8F000003C7CF8F800007C7CF8780000787CF87C0000F87CF83C0000 F07CF83E0001F07CF81E0001E07CF81F0003E07CF81F0003E07CF80F8007C07CF80F8007C07CF8 07C00F807CF807C00F807CF803C00F007CF803E01F007CF801E01E007CF801F03E007CF800F03C 007CF800F87C007CF800F87C007CF8007CF8007CF8007CF8007CF8003CF0007CF8003FF0007CF8 001FE0007CF8001FE0007CF8000FC0007CF8000780007C7000000000382E277AA63B>I<7E0000 0380FF000007C0FF800007C0FFC00007C0FFC00007C0FBE00007C0F9F00007C0F9F00007C0F8F8 0007C0F8F80007C0F87C0007C0F83E0007C0F83E0007C0F81F0007C0F81F0007C0F80F8007C0F8 07C007C0F807C007C0F803E007C0F803F007C0F801F007C0F800F807C0F800F807C0F8007C07C0 F8003E07C0F8003E07C0F8001F07C0F8001F07C0F8000F87C0F80007C7C0F80007C7C0F80003E7 C0F80003E7C0F80001F7C0F80000FFC0F80000FFC0F800007FC0F800003FC07000001F8022277A A62F>I<00003FF000000003FFFF0000000FFFFFC000003FFFFFF000007FC00FF80001FE0001FE 0003F800007F0007E000001F800FC000000FC00F80000007C01F00000003E03E00000001F03E00 000001F07C00000000F87C00000000F87C00000000F8F8000000007CF8000000007CF800000000 7CF8000000007CF8000000007CF8000000007CF8000000007CF8000000007CFC00000000FC7C00 000000F87C00000000F87E00000001F83E00000001F03F00000003F01F80000007E00FC000000F C00FE000001FC007F000003F8003F800007F0001FE0001FE00007FC00FF800003FFFFFF000000F FFFFC0000003FFFF000000003FF000002E297CA737>I<7FFFFC0000FFFFFFC000FFFFFFF000FF FFFFF800F80003FE00F800007F00F800001F00F800000F80F800000F80F8000007C0F8000007C0 F8000007C0F8000007C0F8000007C0F800000F80F800000F80F800001F00F800007F00F80003FE 00FFFFFFF800FFFFFFF000FFFFFFC000FFFFFC0000F800000000F800000000F800000000F80000 0000F800000000F800000000F800000000F800000000F800000000F800000000F800000000F800 000000F800000000F800000000F800000000700000000022277AA62D>I<7FFFFE0000FFFFFFE0 00FFFFFFF800FFFFFFFE00F80000FF80F800001FC0F8000007E0F8000003E0F8000001F0F80000 01F0F8000001F0F8000001F0F8000001F0F8000003E0F8000007E0F800001FC0F80000FF80FFFF FFFE00FFFFFFF800FFFFFFE000FFFFFE0000F8001F0000F8000F8000F80007C000F80007C000F8 0003E000F80001F000F80000F800F800007C00F800007C00F800003E00F800001F00F800000F80 F8000007C0F8000007C0F8000003E0F8000001F0F8000000F8700000007025277AA62F>82 D<000FFC00007FFF8001FFFFE007FFFFF80FF007F81FC000F81F0000383E0000107C0000007C00 00007C0000007C0000007C0000007E0000003F0000001FC000001FF800000FFFC00003FFFC0001 FFFF80007FFFE00007FFF000003FF8000003FC000000FE0000007E0000003F0000001F0000001F 0000001F0000001F0000001F4000003EE000003EF800007CFF0001F8FFE007F03FFFFFE00FFFFF C001FFFF00001FF80020297DA728>I<7FFFFFFFFFE0FFFFFFFFFFF0FFFFFFFFFFF07FFFFFFFFF E000000F80000000000F80000000000F80000000000F80000000000F80000000000F8000000000 0F80000000000F80000000000F80000000000F80000000000F80000000000F80000000000F8000 0000000F80000000000F80000000000F80000000000F80000000000F80000000000F8000000000 0F80000000000F80000000000F80000000000F80000000000F80000000000F80000000000F8000 0000000F80000000000F80000000000F80000000000F80000000000F80000000000F8000000000 0F80000000000F8000000000070000002C277DA633>I<7000000700F800000F80F800000F80F8 00000F80F800000F80F800000F80F800000F80F800000F80F800000F80F800000F80F800000F80 F800000F80F800000F80F800000F80F800000F80F800000F80F800000F80F800000F80F800000F 80F800000F80F800000F80F800000F80F800000F80F800000F80F800000F80F800000F80F80000 0F80F800000F80F800000F80FC00001F807C00001F007E00003F003E00003E001F8000FC000FC0 01F80007F80FF00003FFFFE00001FFFFC000007FFF0000000FF8000021287AA62E>I87 D89 D<007F800003FFF0000FFFF8001FFFFC003F007E003C001F0010001F 0000000F8000000F8000000F8000000F8000000F80000FFF8000FFFF8007FFCF800FF00F801F80 0F803E000F807C000F80F8000F80F8000F80F8000F80F8000F80FC001F807C003F807F00FF803F FFEF801FFFCF800FFF0F8003F80700191E7D9D22>97 D<70000000F8000000F8000000F8000000 F8000000F8000000F8000000F8000000F8000000F8000000F81FC000F87FF000F9FFF800FBFFFC 00FF80FE00FE003F00FC001F80F8000F80F80007C0F80007C0F80007C0F80003E0F80003E0F800 03E0F80003E0F80003E0F80003E0F80003E0F80003E0F80007C0F80007C0F8000FC0FC000F80FC 001F00FE003F00FF81FE00FBFFFC00F9FFF000F8FFE000703F80001B287BA724>I<001FF00000 FFFC0001FFFF0003FFFFC007E00FC00F8003C01F0000803E0000003C0000007C0000007C000000 F8000000F8000000F8000000F8000000F8000000F8000000F8000000F80000007C0000007C0000 003E0000003E0000001F0000C00F8003C007E01FC003FFFFC001FFFF0000FFFC00001FE0001A1E 7D9D20>I<000001C0000003E0000003E0000003E0000003E0000003E0000003E0000003E00000 03E0000003E0003F83E000FFE3E003FFF3E007FFFBE00FF03FE01F800FE01F0007E03E0003E07E 0003E07C0003E07C0003E0F80003E0F80003E0F80003E0F80003E0F80003E0F80003E0F80003E0 F80003E07C0003E07C0003E07C0003E03E0007E03F000FE01F801FE00FE07BE007FFF3E003FFE3 E000FFC3E0003F01C01B287DA724>I<003FC00000FFF00003FFF80007FFFC000FE0FE001F801F 003F000F803E000F807C0007807C0007C07C0007C0F80003C0F80003C0FFFFFFC0FFFFFFC0FFFF FF80F8000000F8000000F80000007C0000007C0000007E0000003E0000001F0000C01FC003C00F F01FC007FFFFC001FFFF0000FFFC00001FE0001A1E7D9D20>I<0007FE003FFE007FFE00FFFE01 F80003E00003E00003E00003E00003E0007FFFC0FFFFE0FFFFE07FFFC003E00003E00003E00003 E00003E00003E00003E00003E00003E00003E00003E00003E00003E00003E00003E00003E00003 E00003E00003E00003E00003E00003E00003E00003E00003E00001C00017287FA716>I<003F81 C000FFE3E001FFF3E007FFFBE00FF03FE01FC00FE01F000FE03E0007E07E0007E07C0003E07C00 03E0F80003E0F80003E0F80003E0F80003E0F80003E0F80003E0F80003E0FC0007E07C0007E07C 0007E03E000FE03F000FE01F801FE00FE07BE007FFF3E003FFE3E001FFC3E0003F03E0000003E0 000003E0000003C0000007C0000007C018000F803F803F003FFFFE001FFFFC0007FFF800007FC0 001B287D9D24>I<70000000F8000000F8000000F8000000F8000000F8000000F8000000F80000 00F8000000F8000000F80FE000F83FF800F8FFFC00F9FFFE00FBC07F00FF001F00FE001F80FC00 0F80FC000F80F8000F80F8000F80F8000F80F8000F80F8000F80F8000F80F8000F80F8000F80F8 000F80F8000F80F8000F80F8000F80F8000F80F8000F80F8000F80F8000F80F8000F80F8000F80 F8000F80F8000F807000070019287BA724>I<78FCFCFCFC780000000000387C7C7C7C7C7C7C7C 7C7C7C7C7C7C7C7C7C7C7C7C7C7C7C7C7C7C7C7C3806297CA810>I<70000000F8000000F80000 00F8000000F8000000F8000000F8000000F8000000F8000000F8000000F8000F80F8003F80F800 7F00F800FE00F801FC00F803F800F807F000F80FE000F81F8000F87F0000F8FE0000F9FC0000FB FC0000FFFC0000FFFE0000FFFF0000FF9F8000FE1F8000FC0FC000F807E000F803F000F803F000 F801F800F800FC00F8007E00F8007E00F8003F00F8001F80F8000FC0700007801A287BA722> 107 D<70F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8 F8F8F87005287BA710>I<700FE000FE00F83FF803FF80F8FFFC0FFFC0F9FFFE1FFFE0FBC07F3C 07F0FF001F7001F0FE001FE001F8FC000FC000F8FC000FC000F8F8000F8000F8F8000F8000F8F8 000F8000F8F8000F8000F8F8000F8000F8F8000F8000F8F8000F8000F8F8000F8000F8F8000F80 00F8F8000F8000F8F8000F8000F8F8000F8000F8F8000F8000F8F8000F8000F8F8000F8000F8F8 000F8000F8F8000F8000F8F8000F8000F8F8000F8000F8F8000F8000F87000070000702D1E7B9D 38>I<700FE000F83FF800F8FFFC00F9FFFE00FBC07F00FF001F00FE001F80FC000F80FC000F80 F8000F80F8000F80F8000F80F8000F80F8000F80F8000F80F8000F80F8000F80F8000F80F8000F 80F8000F80F8000F80F8000F80F8000F80F8000F80F8000F80F8000F80F8000F80F8000F80F800 0F8070000700191E7B9D24>I<000FE000007FFC0001FFFF0003FFFF800FF01FE00F8003E01F00 01F03E0000F83C0000787C00007C7C00007CF800003EF800003EF800003EF800003EF800003EF8 00003EF800003EF800003E7C00007C7C00007C3E0000F83E0000F81F0001F01FC007F00FF01FE0 03FFFF8001FFFF00007FFC00000FE0001F1E7E9D24>I<701FC000F87FF000F9FFF800FBFFFC00 FF81FE00FE003F00FC001F80F8000F80F8000FC0F80007C0F80007C0F80003E0F80003E0F80003 E0F80003E0F80003E0F80003E0F80003E0F80003E0F80007C0F80007C0F8000FC0FC000F80FC00 1F00FE007F00FF81FE00FBFFFC00F9FFF000F8FFE000F83F8000F8000000F8000000F8000000F8 000000F8000000F8000000F8000000700000001B267B9D24>I<700780F81F80F87F80F8FF80F9 F800FBC000FF8000FF0000FE0000FC0000FC0000FC0000F80000F80000F80000F80000F80000F8 0000F80000F80000F80000F80000F80000F80000F80000F80000F80000F80000F8000070000011 1E7B9D18>114 D<01FF000FFFE01FFFF83FFFF87E00F87C0010F80000F80000F80000F80000FC 00007F80003FFC001FFF800FFFE007FFF000FFF80007FC0000FC00007E00003E00003E00003E40 003EF0007CFE01FCFFFFF83FFFF00FFFC001FF00171E7E9D1B>I<01C00003E00003E00003E000 03E00003E00003E00003E0007FFFF0FFFFF8FFFFF87FFFF003E00003E00003E00003E00003E000 03E00003E00003E00003E00003E00003E00003E00003E00003E00003E00003E00003E00003E000 03E00003E00003E01803F07801FFFC01FFF800FFF0003F0016267FA51A>I<70000700F8000F80 F8000F80F8000F80F8000F80F8000F80F8000F80F8000F80F8000F80F8000F80F8000F80F8000F 80F8000F80F8000F80F8000F80F8000F80F8000F80F8000F80F8000F80F8000F80F8000F80F800 0F80F8001F80F8001F80F8007F807E01EF807FFFCF803FFF8F801FFF0F8007F80700191E7B9D24 >III<7C0001E07E0003E03E0007E03F000FC01F801F800FC01F0007E03E0003F07E0001F0FC 0000F9F80000FDF000007FE000003FC000001F8000000F8000001FC000003FC000007FE000007D F00000F8F80001F07C0003E07E0007E03F000FC01F000F800F801F0007C03F0007E07E0003F0FC 0001F8780000F01D1E7F9D20>II E /Ff 86 126 df<387CFEFEFEFEFEFEFEFEFEFEFEFE FEFEFEFEFEFEFEFEFEFEFEFEFE7C00000000000000387CFEFEFE7C38072A71A925>33 D<3C00F07E01F8FE01FCFE01FCFE01FC7E01F87E01F87E01F87E01F87E01F87E01F87E01F87E01 F87E01F87E01F87E01F87E01F87C00F87C00F8380070161479AA25>I<003C03C0007E07E0007E 07E0007E07E0007E07E0007E07E0007E07E0007E07E000FE0FE000FC0FC03FFFFFFC7FFFFFFEFF FFFFFFFFFFFFFFFFFFFFFF7FFFFFFE01F81F8001F81F8001F81F8001F81F8001F81F8001F81F80 01F81F8001F81F8001F81F8001F81F807FFFFFFEFFFFFFFFFFFFFFFFFFFFFFFF7FFFFFFE3FFFFF FC03F03F0007F07F0007E07E0007E07E0007E07E0007E07E0007E07E0007E07E0007E07E0003C0 3C00202A7EA925>I<00070000000F8000000F8000000F8000000F8000000F8000003FE00001FF FC0007FFFE000FFFFF001FFFFF803FEFBFC07F0F87E07E0F83E0FC0F83F0F80F83F0F80F87F0F8 0F87F0F80F87F0FC0F83E07C0F81C07F0F80003FCF80001FFF80000FFFC00007FFF80003FFFC00 00FFFF00000FFF80000FFFC0000F8FC0000F87E0380F83E07C0F83F0FE0F81F0FE0F81F0FE0F81 F0FC0F81F0F80F83F0FC0F83E07E0F87E07F0F8FC03FCFFFC01FFFFF800FFFFF0007FFFC0001FF F800007FC000000F8000000F8000000F8000000F8000000F8000000700001C367CAF25>I<0F00 00701F8000F83FC001F87FE001F87FE003F8F9F003F0F9F007F0F0F007E0F0F00FE0F0F00FC0F0 F00FC0F0F01FC0F9F01F80F9F03F807FE03F007FE03F003FC07F001F807E000F00FE000000FC00 0001FC000001F8000001F8000003F8000003F0000007F0000007E0000007E000000FE000000FC0 00001FC000001F8000003F8000003F0000003F0000007F00F0007E01F800FE03FC00FC07FE00FC 07FE01FC0F9F01F80F9F03F80F0F03F00F0F07F00F0F07E00F0F07E00F0F0FE00F9F0FC00F9F1F C007FE1F8007FE1F8003FC0F8001F8070000F020367EAF25>I<003E0000007F000000FF800001 FFC00003FFC00003E3E00007C3E0000781E0000781E0000781E0000781E0000783E0000783E7FE 0787CFFF078FCFFF07CF8FFF03DF87FE03FF03E003FE03C003FC03C001F807C003F0078007F00F 800FF00F001FF80F003F781F007E7C1E007C3E3E00FC1E3C00F81F7C00F80F7C00F80FF800F807 F00CF803F01EFC03F01E7C07F81E7E1FFE3E7FFFFFFE3FFF3FFC1FFE1FF80FFC0FF003F003E020 2A7EA925>I<07800FC01FE01FE01FF00FF007F001F001F001F001F003F003E003E007E00FC01F C03F807F00FE007C0030000C1674A925>I<0001C00007E0000FE0001FC0003F80007E0000FC00 01F80003F00007E00007C0000FC0000F80001F80001F00003F00003E00007E00007C00007C0000 7C0000FC0000F80000F80000F80000F80000F80000F80000F80000F80000F80000F80000FC0000 7C00007C00007C00007E00003E00003F00001F00001F80000F80000FC00007C00007E00003F000 01F80000FC00007E00003F80001FC0000FE00007E00001C0133675AF25>I<700000FC0000FE00 007F00003F80000FC00007E00003F00001F80000FC00007C00007E00003E00003F00001F00001F 80000F80000FC00007C00007C00007C00007E00003E00003E00003E00003E00003E00003E00003 E00003E00003E00003E00007E00007C00007C00007C0000FC0000F80001F80001F00003F00003E 00007E00007C0000FC0001F80003F00007E0000FC0003F80007F0000FE0000FC00007000001336 7AAF25>I<000F0000000F0000000F8000000F0000000F0000000F0000300F00C07C0F03E0FE0F 07F07F8F1FE07FEF7FE01FFFFF8007FFFE0001FFF800007FE000007FE00001FFF80007FFFE001F FFFF807FEF7FE07F8F1FE0FE0F07F07C0F03E0300F00C0000F0000000F0000000F0000000F8000 000F0000000F00001C1E7CA325>I<00078000000FC000000FC000000FC000000FC000000FC000 000FC000000FC000000FC000000FC000000FC000000FC000000FC0007FFFFFF8FFFFFFFCFFFFFF FCFFFFFFFCFFFFFFFC7FFFFFF8000FC000000FC000000FC000000FC000000FC000000FC000000F C000000FC000000FC000000FC000000FC000000FC000000780001E207DA425>I<0F801FC03FE0 3FE03FF03FF03FF01FF00FF001F003F003E007E00FC03F807F80FF007C0038000C13748825>I< 7FFFFFE0FFFFFFF0FFFFFFF0FFFFFFF0FFFFFFF07FFFFFE01C067C9725>I<3E007F00FF80FF80 FF80FF80FF807F003E000909728825>I<000000E0000001F0000003F0000003F0000007F00000 07E000000FE000000FC000001FC000001F8000003F8000003F0000007F0000007E0000007E0000 00FE000000FC000001FC000001F8000003F8000003F0000007F0000007E000000FE000000FC000 001FC000001F8000001F8000003F8000003F0000007F0000007E000000FE000000FC000001FC00 0001F8000003F8000003F0000007F0000007E0000007E000000FE000000FC000001FC000001F80 00003F8000003F0000007F0000007E000000FE000000FC000000FC000000F8000000780000001C 367CAF25>I<000FC000007FF80000FFFC0001FFFE0003FFFF0007F03F800FE01FC00FC00FC01F 8007E03F0003F03E0001F03E0001F07C0000F87C0000F87C0000F878000078F800007CF800007C F800007CF800007CF800007CF800007CF800007CF800007CF800007CF800007C7C0000F87C0000 F87C0000F87E0001F83E0001F03F0003F03F0003F01F8007E00FC00FC00FE01FC007F87F8003FF FF0001FFFE0000FFFC00007FF800000FC0001E2A7DA925>I<000C00001E00003E00003E00007E 0000FE0001FE0003FE003FFE007FFE00FFFE00FF3E007E3E00003E00003E00003E00003E00003E 00003E00003E00003E00003E00003E00003E00003E00003E00003E00003E00003E00003E00003E 00003E00003E00003E00003E00003E00003E003FFFFE7FFFFF7FFFFF7FFFFF3FFFFE182A79A925 >I<007FC00003FFF00007FFFC001FFFFE003FFFFF003F80FF807E001FC0FC000FE0FC0003E0FE 0003F0FE0001F0FE0001F07C0001F0380001F0000001F0000001F0000003F0000003E0000007E0 000007C000000FC000001F8000003F0000007E000000FE000001FC000003F8000007E000000FC0 00003F8000007F000000FE000001FC000003F000000FE000E01FC001F03F8001F07FFFFFF0FFFF FFF0FFFFFFF0FFFFFFF07FFFFFE01C2A7CA925>I<007FF00003FFFC0007FFFF000FFFFF801FFF FFC03FC01FE03F8007E03F8003F03F8001F01F0001F00E0001F0000001F0000003F0000003E000 0007E000001FC000007FC0003FFF80007FFF00007FFE00007FFF00003FFFC000001FE0000007F0 000001F0000000F8000000FC0000007C0000007C3800007C7C00007CFE00007CFE0000FCFE0000 F8FE0001F8FE0007F07FC01FE03FFFFFC01FFFFF800FFFFF0003FFFC00007FF0001E2A7DA925> I<0000FE000001FF000001FF000003FF000007EF000007CF00000FCF00001F8F00001F0F00003F 0F00007E0F00007C0F0000F80F0001F80F0001F00F0003E00F0007E00F000FC00F000F800F001F 800F003F000F003E000F007E000F00FC000F00FFFFFFFEFFFFFFFFFFFFFFFFFFFFFFFF7FFFFFFE 00000F0000000F0000000F0000000F0000000F0000000F0000000F0000000F000003FFFC0007FF FE0007FFFE0007FFFE0003FFFC202A7EA925>I<1FFFFF803FFFFFC03FFFFFC03FFFFFC03FFFFF 803E0000003E0000003E0000003E0000003E0000003E0000003E0000003E0000003E0000003E00 00003E0000003E3FE0003EFFF8003FFFFC003FFFFF003FFFFF803FE03F803F000FC03E0007E01C 0003E0000003F0000001F0000001F0000001F0380001F07C0001F0FE0003F0FE0003E0FE0007E0 FC000FE07E001FC07F80FF803FFFFF001FFFFE000FFFFC0003FFF00000FF80001C2A7CA925>I< 0003FC00001FFF00003FFF8000FFFFC001FFFFC003FE0FE007F80FE00FE00FE00FC00FE01F800F E03F0007C03F0000007E0000007E0000007C0000007C010000FC3FF000F8FFFC00FBFFFE00FFFF FF00FFFFFF80FFC01FC0FF000FE0FE0007E0FC0003E0FC0003F0FC0001F0FC0001F07C0001F07C 0001F07C0001F07E0001F03E0003F03F0003E01F0007E01FC01FC00FF07F8007FFFF0003FFFE00 01FFFC0000FFF800003FC0001C2A7CA925>I<70000000FFFFFFF8FFFFFFFCFFFFFFFCFFFFFFFC FFFFFFF8F80003F0F80003E0700007C000000F8000001F0000003F0000003E0000007C000000FC 000000F8000001F0000001F0000003E0000003E0000007C0000007C000000FC000000F8000000F 8000001F0000001F0000001F0000003F0000003E0000003E0000003E0000003E0000007E000000 7C0000007C0000007C0000007C0000007C0000007C0000007C0000007C0000003800001E2B7DAA 25>I<001FE00000FFFC0003FFFF0007FFFF800FFFFFC01FE01FE03F8007F03F0003F07E0001F8 7C0000F87C0000F87C0000F87C0000F83E0001F03F0003F01F8007E00FF03FC003FFFF0000FFFC 00003FF00001FFFE0007FFFF800FE01FC01F8007E03E0001F07C0000F87C0000F8F800007CF800 007CF800007CF800007CF800007CFC0000FC7E0001F87F0003F83F8007F01FE01FE00FFFFFC007 FFFF8003FFFF0000FFFC00001FE0001E2A7DA925>I<3E007F00FF80FF80FF80FF80FF807F003E 000000000000000000000000000000000000000000000000003E007F00FF80FF80FF80FF80FF80 7F003E00091E729D25>58 D<0F801FC03FE03FE03FE03FE03FE01FC00F80000000000000000000 0000000000000000000000000000000F001F803FC03FE03FE03FE03FE01FE00FE003E007E007C0 0FC01F803F807F00FE007C0038000B28749D25>I<000000E0000003F0000007F000001FF00000 3FF00000FFE00001FF800007FF00000FFC00003FF800007FE00001FFC00003FF00000FFE00001F F800007FF00000FFC00000FF800000FF800000FFC000007FF000001FF800000FFE000003FF0000 01FFC000007FE000003FF800000FFC000007FF000001FF800000FFE000003FF000001FF0000007 F0000003F0000000E01C247CA625>I<3FFFFFF07FFFFFF8FFFFFFFCFFFFFFFCFFFFFFFC7FFFFF F80000000000000000000000000000000000000000000000007FFFFFF8FFFFFFFCFFFFFFFCFFFF FFFC7FFFFFF83FFFFFF01E127D9D25>I<70000000FC000000FE000000FF800000FFC000007FF0 00001FF800000FFE000003FF000001FFC000007FE000003FF800000FFC000007FF000001FF8000 00FFE000003FF000001FF000001FF000003FF00000FFE00001FF800007FF00000FFC00003FF800 007FE00001FFC00003FF00000FFE00001FF800007FF00000FFC00000FF800000FE000000FC0000 00700000001C247CA625>I<0003F800001FFE00003FFF8000FFFFC001FFFFC003FE0FE007F003 F00FC07FF00F80FFF81F01FFF83E03FFF83E07FFF87C0FC3FC7C1F81FC781F00FC781E007CF83E 007CF03E007CF03C003CF03C003CF03C003CF03C003CF03C003CF03C003CF03E007CF83E007C78 1E0078781F00F87C1F81F87C0FC3F03E07FFE03E03FFC01F01FF800F80FF000FC07E7807F001FC 03FE07FC01FFFFF800FFFFF0003FFFE0001FFF800003FC001E2A7DA925>64 D<0007E000000FF000000FF000000FF000000FF000001E7800001E7800001E7800001E7800001E 7800003E7C00003E7C00003E7C00003C3C00007C3E00007C3E00007C3E00007C3E0000F81F0000 F81F0000F81F0000F81F0000F81F0001F00F8001F00F8001F00F8001F00F8003FFFFC003FFFFC0 03FFFFC003FFFFC007FFFFE007C003E007C003E007C003E00FC003F00F8001F07FF00FFEFFF81F FFFFF81FFFFFF81FFF7FF00FFE202A7EA925>I<7FFFFE00FFFFFF80FFFFFFE0FFFFFFF07FFFFF F807C003F807C000FC07C0007C07C0007E07C0003E07C0003E07C0003E07C0003E07C0007E07C0 007C07C000FC07C003F807C01FF007FFFFE007FFFFC007FFFFC007FFFFF007FFFFF807C001FC07 C0007C07C0007E07C0003E07C0001F07C0001F07C0001F07C0001F07C0001F07C0001F07C0003F 07C0007E07C000FE07C003FC7FFFFFFCFFFFFFF8FFFFFFF0FFFFFFC07FFFFF00202A7FA925>I< 0007F018003FFE3C007FFF7C00FFFFFC01FFFFFC03FC0FFC07F003FC0FE001FC1F8000FC1F8000 FC3F00007C3E00007C7E00007C7C0000387C000000FC000000FC000000F8000000F8000000F800 0000F8000000F8000000F8000000F8000000F8000000FC000000FC0000007C0000007C0000007E 0000383E00007C3F00007C1F80007C1F8000FC0FE000F807F001F803FE0FF001FFFFE000FFFFC0 007FFF80003FFE000007F8001E2A7DA925>I<7FFFF000FFFFFC00FFFFFE00FFFFFF807FFFFF80 0F803FC00F800FE00F8007F00F8003F00F8001F80F8001F80F8000F80F8000FC0F80007C0F8000 7C0F80007C0F80003E0F80003E0F80003E0F80003E0F80003E0F80003E0F80003E0F80003E0F80 003E0F80003E0F80007E0F80007C0F80007C0F8000FC0F8000FC0F8001F80F8001F80F8003F00F 8007F00F800FE00F803FC07FFFFFC0FFFFFF80FFFFFE00FFFFFC007FFFF0001F2A7EA925>I<7F FFFFFCFFFFFFFEFFFFFFFEFFFFFFFE7FFFFFFE07C0003E07C0003E07C0003E07C0003E07C0003E 07C0001C07C0000007C0000007C0000007C01C0007C03E0007C03E0007C03E0007FFFE0007FFFE 0007FFFE0007FFFE0007FFFE0007C03E0007C03E0007C03E0007C01C0007C0000007C0000007C0 000E07C0001F07C0001F07C0001F07C0001F07C0001F07C0001F07C0001F7FFFFFFFFFFFFFFFFF FFFFFFFFFFFFFF7FFFFFFE202A7EA925>I<7FFFFFFEFFFFFFFFFFFFFFFFFFFFFFFF7FFFFFFF07 C0001F07C0001F07C0001F07C0001F07C0001F07C0000E07C0000007C0000007C0000007C00E00 07C01F0007C01F0007C01F0007FFFF0007FFFF0007FFFF0007FFFF0007FFFF0007C01F0007C01F 0007C01F0007C00E0007C0000007C0000007C0000007C0000007C0000007C0000007C0000007C0 000007C0000007C000007FFE0000FFFF0000FFFF0000FFFF00007FFE0000202A7EA925>I<000F E060003FF8F000FFFFF001FFFFF003FFFFF007FC3FF00FE00FF00FC007F01F8003F03F0003F03F 0001F03E0001F07E0001F07C0000E07C000000FC000000F8000000F8000000F8000000F8000000 F8000000F8000000F8003FFCF8007FFEF8007FFEF8007FFEFC003FFC7C0001F07C0001F07E0003 F03E0003F03F0003F03F0007F01F8007F00FC00FF00FE00FF007F83FF003FFFFF001FFFFF000FF FDF0003FF9F0000FE0E01F2A7DA925>I<7FF00FFEFFF81FFFFFF81FFFFFF81FFF7FF00FFE0F80 01F00F8001F00F8001F00F8001F00F8001F00F8001F00F8001F00F8001F00F8001F00F8001F00F 8001F00F8001F00F8001F00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00F8001F00F8001F0 0F8001F00F8001F00F8001F00F8001F00F8001F00F8001F00F8001F00F8001F00F8001F00F8001 F00F8001F00F8001F07FF00FFEFFF81FFFFFF81FFFFFF81FFF7FF00FFE202A7EA925>I<7FFFFF 00FFFFFF80FFFFFF80FFFFFF807FFFFF00003E0000003E0000003E0000003E0000003E0000003E 0000003E0000003E0000003E0000003E0000003E0000003E0000003E0000003E0000003E000000 3E0000003E0000003E0000003E0000003E0000003E0000003E0000003E0000003E0000003E0000 003E0000003E0000003E0000003E0000003E0000003E0000003E00007FFFFF00FFFFFF80FFFFFF 80FFFFFF807FFFFF00192A7AA925>I<7FE007FEFFF00FFFFFF00FFFFFF00FFF7FE007FE0F0003 E00F0007C00F000F800F001F000F001E000F003E000F007C000F00F8000F01F0000F03E0000F03 E0000F07C0000F0F80000F1F80000F3FC0000F3FE0000F7FE0000FF9F0000FF0F0000FE0F8000F C078000FC07C000F803C000F003E000F001E000F001F000F000F800F0007800F0007C00F0003C0 0F0003E00F0001E07FE003FEFFF007FFFFF007FFFFF007FF7FE003FE202A7EA925>75 D<7FFF0000FFFF8000FFFF8000FFFF80007FFF000007C0000007C0000007C0000007C0000007C0 000007C0000007C0000007C0000007C0000007C0000007C0000007C0000007C0000007C0000007 C0000007C0000007C0000007C0000007C0000007C0000007C0000007C0000007C0000007C00000 07C0000E07C0001F07C0001F07C0001F07C0001F07C0001F07C0001F07C0001F7FFFFFFFFFFFFF FFFFFFFFFFFFFFFFFF7FFFFFFE202A7EA925>I<7FC000FF80FFC000FFC0FFE001FFC0FFE001FF C07FE001FF800F7003BC000F7003BC000F7003BC000F7807BC000F38073C000F38073C000F3C0F 3C000F3C0F3C000F1C0E3C000F1E1E3C000F1E1E3C000F1E1E3C000F0E1C3C000F0F3C3C000F0F 3C3C000F07383C000F07383C000F07383C000F03F03C000F03F03C000F03F03C000F01E03C000F 01E03C000F00003C000F00003C000F00003C000F00003C000F00003C000F00003C000F00003C00 0F00003C000F00003C007FE001FF80FFF003FFC0FFF003FFC0FFF003FFC07FE001FF80222A7FA9 25>I<7FC007FEFFE00FFFFFE00FFFFFE00FFF7FF007FE0FF000F00FF000F00F7800F00F7800F0 0F3C00F00F3C00F00F3C00F00F1E00F00F1E00F00F0F00F00F0F00F00F0F00F00F0780F00F0780 F00F0780F00F03C0F00F03C0F00F01E0F00F01E0F00F01E0F00F00F0F00F00F0F00F00F0F00F00 78F00F0078F00F003CF00F003CF00F003CF00F001EF00F001EF00F000FF00F000FF07FE00FF0FF F007F0FFF007F0FFF007F07FE003E0202A7EA925>I<01FFF8000FFFFF001FFFFF803FFFFFC03F FFFFC07F801FE07E0007E07C0003E07C0003E0FC0003F0F80001F0F80001F0F80001F0F80001F0 F80001F0F80001F0F80001F0F80001F0F80001F0F80001F0F80001F0F80001F0F80001F0F80001 F0F80001F0F80001F0F80001F0F80001F0F80001F0F80001F0F80001F0FC0003F0FC0003F07C00 03E07E0007E07E0007E07F801FE03FFFFFC03FFFFFC01FFFFF800FFFFF0001FFF8001C2A7CA925 >I<7FFFFC00FFFFFF00FFFFFFC0FFFFFFE07FFFFFF007C00FF807C003F807C000FC07C000FC07 C0007E07C0003E07C0003E07C0003E07C0003E07C0003E07C0003E07C0007E07C000FC07C000FC 07C003F807C00FF807FFFFF007FFFFE007FFFFC007FFFF0007FFFC0007C0000007C0000007C000 0007C0000007C0000007C0000007C0000007C0000007C0000007C0000007C000007FFC0000FFFE 0000FFFE0000FFFE00007FFC00001F2A7EA925>I<01FFF8000FFFFF001FFFFF803FFFFFC03FFF FFC07F801FE07E0007E07C0003E07C0003E0FC0003F0FC0003F0F80001F0F80001F0F80001F0F8 0001F0F80001F0F80001F0F80001F0F80001F0F80001F0F80001F0F80001F0F80001F0F80001F0 F80001F0F80001F0F80001F0F80001F0F80001F0F80001F0F80F81F0FC0FC3F0FC0FC3F07C07E3 E07C07E3E07E03F7E07F83FFE03FFFFFC03FFFFFC01FFFFF800FFFFF0001FFFE0000007E000000 3F0000003F0000001F8000001F8000000FC000000FC0000007E0000007E0000003E01C347CA925 >I<7FFFE00000FFFFF80000FFFFFE0000FFFFFF00007FFFFF80000F807FC0000F800FE0000F80 07E0000F8003F0000F8001F0000F8001F0000F8001F0000F8001F0000F8001F0000F8003F0000F 8007E0000F800FE0000F807FC0000FFFFF80000FFFFF00000FFFFE00000FFFFE00000FFFFF0000 0F807F80000F801F80000F800FC0000F8007C0000F8007C0000F8007C0000F8007C0000F8007C0 000F8007C0000F8007C0000F8007C3800F8007C7C00F8007C7C00F8007E7C07FF003FFC0FFF803 FF80FFF801FF00FFF800FE007FF0007C00222A7EA925>I<00FF80C003FFF1E007FFFFE00FFFFF E01FFFFFE03F80FFE07E001FE07C000FE0FC0007E0F80003E0F80003E0F80003E0F80001C0FC00 00007C0000007E0000003FC000001FFC00000FFFC00007FFF80003FFFE0000FFFF000007FF8000 007FC000000FC0000007E0000003E0000003F0000001F0700001F0F80001F0F80001F0F80001F0 FC0003F0FC0003E0FF000FE0FFE03FC0FFFFFF80FFFFFF00FFFFFE00F3FFFC00603FF0001C2A7C A925>I<7FFFFFFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF803E01FF803E01FF803E01FF803E0 1FF803E01F7003E00E0003E0000003E0000003E0000003E0000003E0000003E0000003E0000003 E0000003E0000003E0000003E0000003E0000003E0000003E0000003E0000003E0000003E00000 03E0000003E0000003E0000003E0000003E0000003E0000003E0000003E0000003E000007FFF00 00FFFF8000FFFF8000FFFF80007FFF00202A7EA925>I<7FFC03FFE0FFFE07FFF0FFFE07FFF0FF FE07FFF07FFC03FFE007C0003E0007C0003E0007C0003E0007C0003E0007C0003E0007C0003E00 07C0003E0007C0003E0007C0003E0007C0003E0007C0003E0007C0003E0007C0003E0007C0003E 0007C0003E0007C0003E0007C0003E0007C0003E0007C0003E0007C0003E0007C0003E0007C000 3E0007C0003E0007C0003E0007C0003E0007C0003E0007E0007E0003E0007C0003F000FC0003F0 00FC0001F801F80000FF0FF000007FFFE000003FFFC000001FFF8000000FFF00000003FC000024 2A80A925>I<7FF003FF80FFF807FFC0FFF807FFC0FFF807FFC07FF003FF800FC000FC0007C000 F80007C000F80007C000F80007E001F80003E001F00003E001F00003E001F00003F003F00001F0 03E00001F003E00001F003E00000F807C00000F807C00000F807C00000F807C000007C0F800000 7C0F8000007C0F8000007C0F8000003C0F0000003E1F0000003E1F0000003E1F0000001E1E0000 001F3E0000001F3E0000001F3E0000000F3C0000000F3C0000000F3C0000000F3C00000007F800 000007F800000007F800000007F800000003F00000222A7FA925>I<7FC000FF80FFE001FFC0FF E001FFC0FFE001FFC07FC000FF803E00001F001E00001E001E00001E001E00001E001E00001E00 1E00001E001E00001E001E00001E000F00003C000F00003C000F00003C000F00003C000F03F03C 000F07F83C000F07F83C000F07F83C000787F878000787F87800078F3C7800078F3C7800078F3C 7800078F3C7800078E1C7800039E1E7000039E1E7000039E1E7000039E1E700003DC0EF00003DC 0EF00003DC0EF00003DC0EF00001D806E00001F807E00001F807E00001F807E00001F807E00000 F003C000222A7FA925>I<3FF83FF87FFC7FFC7FFC7FFC7FFC7FFC3FF83FF803E00F8003F01F80 01F01F0001F83F0000F83E0000FC7E00007C7C00007EFC00003EF800003FF800001FF000001FF0 00000FE0000007E0000007C0000007E000000FE000000FF000001FF000001FF800003EF800003E FC00007C7C00007C3E0000F83E0000F81F0001F01F0001F00F8003F00F8003E007C007E007E007 C003E07FF00FFEFFF81FFFFFF81FFFFFF81FFF7FF00FFE202A7EA925>I<7FF003FF80FFF807FF C0FFF807FFC0FFF807FFC07FF003FF8007E001F80003E001F80003F001F00001F003F00001F803 E00000F807E00000FC07C000007C0FC000007E0F8000003E0F8000003E1F0000001F1F0000001F 3F0000000FBE0000000FBE00000007FC00000007FC00000003F800000003F800000001F0000000 01F000000001F000000001F000000001F000000001F000000001F000000001F000000001F00000 0001F000000001F000000001F000000001F00000000FFE0000001FFF0000001FFF0000001FFF00 00000FFE0000222A7FA925>I<3FFFFFF87FFFFFFC7FFFFFFC7FFFFFFC7FFFFFFC7C0001F87C00 03F07C0003E07C0007E07C000FC038001F8000001F8000003F0000007E0000007E000000FC0000 01F8000003F0000003F0000007E000000FC000000FC000001F8000003F0000003F0000007E0000 00FC000001F8000001F8000003F0003807E0007C07E0007C0FC0007C1F80007C1F00007C3F0000 7C7E00007CFFFFFFFCFFFFFFFCFFFFFFFCFFFFFFFC7FFFFFF81E2A7DA925>I<7FFFE0FFFFF0FF FFF0FFFFF0FFFFE0F80000F80000F80000F80000F80000F80000F80000F80000F80000F80000F8 0000F80000F80000F80000F80000F80000F80000F80000F80000F80000F80000F80000F80000F8 0000F80000F80000F80000F80000F80000F80000F80000F80000F80000F80000F80000F80000F8 0000F80000F80000F80000F80000F80000F80000F80000FFFFE0FFFFF0FFFFF0FFFFF07FFFE014 3672AF25>I<78000000F8000000FC000000FC000000FE0000007E0000007F0000003F0000003F 8000001F8000001FC000000FC000000FE0000007E0000007E0000007F0000003F0000003F80000 01F8000001FC000000FC000000FE0000007E0000007F0000003F0000003F8000001F8000001F80 00001FC000000FC000000FE0000007E0000007F0000003F0000003F8000001F8000001FC000000 FC000000FE0000007E0000007E0000007F0000003F0000003F8000001F8000001FC000000FC000 000FE0000007E0000007F0000003F0000003F0000001F0000000E01C367CAF25>I<7FFFE0FFFF F0FFFFF0FFFFF07FFFF00001F00001F00001F00001F00001F00001F00001F00001F00001F00001 F00001F00001F00001F00001F00001F00001F00001F00001F00001F00001F00001F00001F00001 F00001F00001F00001F00001F00001F00001F00001F00001F00001F00001F00001F00001F00001 F00001F00001F00001F00001F00001F00001F00001F00001F07FFFF0FFFFF0FFFFF0FFFFF07FFF E014367EAF25>I<7FFFFFE0FFFFFFF0FFFFFFF0FFFFFFF0FFFFFFF07FFFFFE01C067C7E25>95 D<07FF80001FFFE0003FFFF8007FFFFC007FFFFE007F00FF007F003F003E001F8000000F800000 0F8000000F80000FFF8000FFFF8007FFFF800FFFFF803FFE0F807FC00F807E000F80FC000F80F8 000F80F8000F80F8000F80FC001F807E003F807F81FF803FFFFFFE1FFFFFFF0FFFE7FF07FFC3FF 01FE01FE201E7C9D25>97 D<7FC0000000FFE0000000FFE0000000FFE00000007FE000000003E0 00000003E000000003E000000003E000000003E000000003E000000003E000000003E0FE000003 E3FFC00003EFFFE00003FFFFF00003FFFFF80003FF03FC0003FC00FE0003F8007E0003F0003F00 03F0001F0003E0001F0003E0001F8003E0000F8003E0000F8003E0000F8003E0000F8003E0000F 8003E0000F8003E0001F8003F0001F0003F0003F0003F8003F0003F8007E0003FC01FC0003FF07 FC0003FFFFF80003FFFFF00003EFFFC00003E3FF800001C1FE0000212A7FA925>I<001FFC0000 FFFF0001FFFF8003FFFFC007FFFFC00FF01FC01FC01FC03F000F807E0000007E0000007C000000 FC000000F8000000F8000000F8000000F8000000F8000000F8000000FC0000007C0000007E0001 C07F0003E03F8003E01FC007E00FF81FC007FFFF8003FFFF0001FFFE0000FFFC00001FE0001B1E 7B9D25>I<00007FC0000000FFE0000000FFE0000000FFE00000007FE000000003E000000003E0 00000003E000000003E000000003E000000003E000000003E000003FC3E00000FFF3E00003FFFB E00007FFFFE0000FFFFFE0001FF07FE0001FC01FE0003F000FE0007E0007E0007E0003E0007C00 03E000FC0003E000F80003E000F80003E000F80003E000F80003E000F80003E000F80003E000FC 0003E0007C0007E0007C0007E0007E000FE0003F000FE0003F801FE0001FE07FE0000FFFFFFF00 07FFFBFF8003FFF3FF8000FFE3FF80003F81FF00212A7EA925>I<001FE00000FFF80001FFFE00 07FFFF000FFFFF801FF03F801F800FC03F0007E07E0003E07E0003E07C0003F0FC0001F0FFFFFF F0FFFFFFF0FFFFFFF0FFFFFFF0FFFFFFE0F8000000FC0000007C0000007E0000E03F0001F03F80 01F01FE003F00FFC0FE007FFFFC003FFFF8001FFFF00007FFC00001FF0001C1E7C9D25>I<0000 1FC00000FFE00001FFF00003FFF80007FFF8000FE3F8001F81F0001F00E0001F0000001F000000 1F0000001F00007FFFFFC0FFFFFFE0FFFFFFE0FFFFFFE07FFFFFC0001F0000001F0000001F0000 001F0000001F0000001F0000001F0000001F0000001F0000001F0000001F0000001F0000001F00 00001F0000001F0000001F0000001F0000001F0000001F0000001F00003FFFFF807FFFFFC07FFF FFC07FFFFFC03FFFFF801D2A7EA925>I<001F80FE00007FE3FF0001FFFFFF8003FFFFFF8007FF FFFF8007F0FF0F000FC03F06000F801F00001F801F80001F000F80001F000F80001F000F80001F 000F80001F000F80001F801F80000F801F00000FC03F000007F0FE000007FFFE000007FFFC0000 0FFFF800000F7FE000000F1F8000000F000000000F000000000FA000000007FFFE000007FFFFC0 000FFFFFF0001FFFFFF8003F0003FC007C00007E007800001E00F800001F00F000000F00F00000 0F00F000000F00F800001F007C00003E007F0000FE003FE007FC001FFFFFF8000FFFFFF00007FF FFE00001FFFF8000001FF80000212E7E9D25>I<7FC0000000FFE0000000FFE0000000FFE00000 007FE000000003E000000003E000000003E000000003E000000003E000000003E000000003E000 000003E0FE000003E3FF800003EFFFC00003FFFFC00003FFFFE00003FF07F00003FC03F00003F8 01F00003F001F00003F001F00003E001F00003E001F00003E001F00003E001F00003E001F00003 E001F00003E001F00003E001F00003E001F00003E001F00003E001F00003E001F00003E001F000 03E001F00003E001F0007FFF07FF80FFFF8FFFC0FFFF8FFFC0FFFF8FFFC07FFF07FF80222A7FA9 25>I<001C0000003E0000007F0000007F0000007F0000003E0000001C00000000000000000000 000000000000000000000000000000007FFE0000FFFF0000FFFF0000FFFF00007FFF0000001F00 00001F0000001F0000001F0000001F0000001F0000001F0000001F0000001F0000001F0000001F 0000001F0000001F0000001F0000001F0000001F0000001F0000001F0000001F0000001F00007F FFFF80FFFFFFC0FFFFFFC0FFFFFFC07FFFFF801A2B7AAA25>I<7F80000000FFC0000000FFC000 0000FFC00000007FC000000003C000000003C000000003C000000003C000000003C000000003C0 00000003C000000003C0FFFE0003C1FFFF0003C1FFFF0003C1FFFF0003C0FFFE0003C00F800003 C01F000003C03E000003C07C000003C0F8000003C1F0000003C3E0000003C7C0000003CFE00000 03DFF0000003FFF0000003FCF8000003F87C000003F03C000003E03E000003C01F000003C00F80 0003C007800003C007C00003C003E0007FFE0FFF00FFFF1FFF80FFFF1FFF80FFFF1FFF807FFE0F FF00212A7EA925>107 D<7FFF0000FFFF8000FFFF8000FFFF80007FFF8000000F8000000F8000 000F8000000F8000000F8000000F8000000F8000000F8000000F8000000F8000000F8000000F80 00000F8000000F8000000F8000000F8000000F8000000F8000000F8000000F8000000F8000000F 8000000F8000000F8000000F8000000F8000000F8000000F8000000F8000000F8000000F800000 0F80007FFFFFF0FFFFFFF8FFFFFFF8FFFFFFF87FFFFFF01D2A7CA925>I<7E1F01F000FF7F87F8 00FFFFCFFC00FFFFFFFE007FFFFFFE000FE1FE1F000FC0FC0F000F80F80F000F80F80F000F80F8 0F000F00F00F000F00F00F000F00F00F000F00F00F000F00F00F000F00F00F000F00F00F000F00 F00F000F00F00F000F00F00F000F00F00F000F00F00F000F00F00F000F00F00F000F00F00F007F E1FE1FE0FFF3FF3FF0FFF3FF3FF0FFF3FF3FF07FE1FE1FE0241E809D25>I<7FC0FE0000FFE3FF 8000FFEFFFC000FFFFFFC0007FFFFFE00003FF07F00003FC03F00003F801F00003F001F00003F0 01F00003E001F00003E001F00003E001F00003E001F00003E001F00003E001F00003E001F00003 E001F00003E001F00003E001F00003E001F00003E001F00003E001F00003E001F00003E001F000 7FFF07FF80FFFF8FFFC0FFFF8FFFC0FFFF8FFFC07FFF07FF80221E7F9D25>I<003FC00000FFF0 0003FFFC0007FFFE000FFFFF001FE07F803F801FC03F000FC07E0007E07C0003E07C0003E0F800 01F0F80001F0F80001F0F80001F0F80001F0F80001F0F80001F0FC0003F07C0003E07E0007E07E 0007E03F000FC03F801FC01FE07F800FFFFF0007FFFE0003FFFC0000FFF000003FC0001C1E7C9D 25>I<7FC0FE0000FFE3FFC000FFEFFFE000FFFFFFF0007FFFFFF80003FF03FC0003FC00FE0003 F8007E0003F0003F0003F0001F0003E0001F0003E0001F8003E0000F8003E0000F8003E0000F80 03E0000F8003E0000F8003E0000F8003E0001F8003F0001F0003F0003F0003F8003F0003F8007E 0003FC01FC0003FF07FC0003FFFFF80003FFFFF00003EFFFC00003E3FF800003E1FE000003E000 000003E000000003E000000003E000000003E000000003E000000003E000000003E000000003E0 00000003E00000007FFF000000FFFF800000FFFF800000FFFF8000007FFF000000212D7F9D25> I<003FC0E00000FFF1F00003FFF9F00007FFFDF0000FFFFFF0001FF07FF0001FC01FF0003F0007 F0007E0007F0007E0003F0007C0003F000FC0001F000F80001F000F80001F000F80001F000F800 01F000F80001F000F80001F000FC0001F0007C0003F0007C0003F0007E0007F0003F000FF0003F 801FF0001FE07FF0000FFFFFF00007FFFDF00003FFF9F00001FFE1F000003F81F000000001F000 000001F000000001F000000001F000000001F000000001F000000001F000000001F000000001F0 00000001F00000003FFF8000007FFFC000007FFFC000007FFFC000003FFF80222D7D9D25>I<7F F007F8FFF83FFCFFF87FFEFFF9FFFF7FFBFFFF00FFFC3F00FFE01E00FF800000FF000000FE0000 00FE000000FC000000FC000000FC000000F8000000F8000000F8000000F8000000F8000000F800 0000F8000000F8000000F8000000F8000000F800007FFFFC00FFFFFE00FFFFFE00FFFFFE007FFF FC00201E7E9D25>I<01FFC60007FFFF001FFFFF003FFFFF007FFFFF00FF007F00FC001F00F800 1F00F8001F00F8000E00FE0000007FC000003FFF00001FFFF00007FFFC0000FFFE000007FF0000 003F8070000FC0F80007C0F80007C0FC0007C0FC0007C0FE000FC0FFC07F80FFFFFF80FFFFFF00 FFFFFE00F3FFF800607FC0001A1E7B9D25>I<00380000007C0000007C0000007C0000007C0000 007C0000007C0000007C00007FFFFFC0FFFFFFE0FFFFFFE0FFFFFFE07FFFFFC0007C0000007C00 00007C0000007C0000007C0000007C0000007C0000007C0000007C0000007C0000007C0000007C 0000007C0000007C0070007C00F8007C00F8007C00F8007C01F8007E01F0003F07F0003FFFE000 1FFFC0000FFF800007FF000001FC001D267EA525>I<7FC03FE000FFE07FF000FFE07FF000FFE0 7FF0007FE03FF00003E001F00003E001F00003E001F00003E001F00003E001F00003E001F00003 E001F00003E001F00003E001F00003E001F00003E001F00003E001F00003E001F00003E001F000 03E001F00003E001F00003E001F00003E003F00003E007F00003F01FF00003FFFFFF8001FFFFFF C000FFFFFFC0007FF9FFC0001FE0FF80221E7F9D25>I<7FF00FFEFFF81FFFFFF81FFFFFF81FFF 7FF00FFE078001E0078001E003C003C003C003C003C003C001E0078001E0078001E0078000F00F 0000F00F0000F00F0000781E0000781E0000781E00003C3C00003C3C00003C3C00001E7800001E 7800001E7800000FF000000FF000000FF0000007E0000003C000201E7E9D25>I<7FF807FF80FF FC0FFFC0FFFC0FFFC0FFFC0FFFC07FF807FF800F00003C000F00003C000F00003C000F00003C00 0F00003C00078000780007800078000783F878000787F878000787FC78000787FC78000787FC78 0003CFBC700003CFBEF00003CFBEF00003CFBEF00003CF1EF00003DF1EF00001DF1EE00001DE1E E00001FE0FE00001FE0FE00001FE0FE00001FC07E00000F807C000221E7F9D25>I<7FF83FFCFF FC7FFEFFFC7FFEFFFC7FFE7FF83FFC01F00F8000F01F0000F83E00007C3C00003E7C00001EF800 001FF000000FE0000007E0000003C0000007E000000FE000000FF000001E7800003C7C00007C3C 0000781E0000F00F0001F00F8003E007C07FF81FFEFFFC3FFFFFFC3FFFFFFC3FFF7FF81FFE201E 7E9D25>I<7FF00FFEFFF81FFFFFF81FFFFFF81FFF7FF00FFE078001E003C001E003C003C003E0 03C001E003C001E0078000F0078000F0078000F80F0000780F0000780F00007C1E00003C1E0000 3C1E00001E3C00001E3C00001E3C00000F3800000F7800000778000007F0000007F0000003F000 0003E0000001E0000001E0000003C0000003C0000003C00000078000000780003E0F80007F0F00 007F1F00007C7E00007FFE00007FFC00003FF800001FF0000007C00000202D7E9D25>I<3FFFFF F87FFFFFFC7FFFFFFC7FFFFFFC7FFFFFF87C0003F07C0007E07C000FC07C001F8038007F000000 FE000001FC000003F8000007F000000FE000001FC000003F8000007F000000FE000001FC000003 F8001C07E0003E0FC0003E1F80003E3F00003E7FFFFFFEFFFFFFFEFFFFFFFEFFFFFFFE7FFFFFFC 1F1E7E9D25>I<00000FE000007FF00001FFF00003FFF00007FFE0000FF000000FC000000F8000 000F8000000F8000000F8000000F8000000F8000000F8000000F8000000F8000000F8000000F80 00000F8000000F8000000F8000000F8000001F8000007F00007FFF0000FFFE0000FFF80000FFF8 0000FFFE00007FFF0000007F0000001F8000000F8000000F8000000F8000000F8000000F800000 0F8000000F8000000F8000000F8000000F8000000F8000000F8000000F8000000F8000000F8000 000FC000000FF0000007FFE00003FFF00001FFF000007FF000000FE01C367CAF25>I<7F800000 FFF00000FFFC0000FFFE00007FFF0000007F8000001F8000000F8000000F8000000F8000000F80 00000F8000000F8000000F8000000F8000000F8000000F8000000F8000000F8000000F8000000F 8000000F8000000FC0000007F0000007FFE00003FFF00001FFF00001FFF00003FFF00007FFE000 07F000000FC000000F8000000F8000000F8000000F8000000F8000000F8000000F8000000F8000 000F8000000F8000000F8000000F8000000F8000000F8000000F8000001F8000007F80007FFF00 00FFFE0000FFFC0000FFF000007F8000001C367CAF25>125 D E /Fg 48 123 df<000001FFC0003FF800000FFFF001FFFE00007FFFF80FFFFF0000FFFFF81FFFFF0003FF FFF07FFFFE0007FE00F0FFC01E000FF00001FE0000001FC00003F80000001FC00003F80000003F 800007F00000003F800007F00000003F800007F00000003F800007F00000007F00000FE0000000 7F00000FE000007FFFFFE00FFFFC00FFFFFFE00FFFFC00FFFFFFF00FFFFE00FFFFFFE01FFFFC00 7FFFFFE01FFFFC0000FE00001FC0000000FE00001FC0000001FE00003FC0000001FC00003F8000 0001FC00003F80000001FC00003F80000001FC00003F80000003FC00007F80000003F800007F00 000003F800007F00000003F800007F00000003F800007F00000007F80000FF00000007F00000FE 00000007F00000FE00000007F00000FE0000000FF00001FE0000000FE00001FC0000000FE00001 FC0000000FE00001FC0000000FE00001FC0000001FE00003FC0000001FC00003F80000001FC000 03F80000001FC00003F80000001FC00003F80000003FC00007F80000003F800007F00000003F80 0007F00000003F800007F00000007F80000FF00000007F00000FE00000007F00000FE00000007F 00000FE00000007F00000FE00000007F00000FE00000007E00000FC00000003E000007C0000000 403A75B93C>11 D<000007F000FC00003FFC01FC0000FFFE01FE0001FFFE03FE0003FFFC03FC00 07F81C03FC000FE00003FC001FC00001F8001FC0000000003F80000000003F80000000003F8000 0000003F80000000007F00000000007F000000007FFFFFE003E0FFFFFFE007E0FFFFFFF007F0FF FFFFE00FF07FFFFFE00FE000FE00000FE000FE00000FE001FE00001FE001FC00001FC001FC0000 1FC001FC00001FC001FC00001FC003FC00003FC003F800003F8003F800003F8003F800003F8003 F800003F8007F800007F8007F000007F0007F000007F0007F000007F000FF00000FF000FE00000 FE000FE00000FE000FE00000FE000FE00000FE001FE00001FE001FC00001FC001FC00001FC001F C00001FC001FC00001FC003FC00003FC003F800003F8003F800003F8003F800003F8007F800007 F8007F000007F0007F000007F0007F000007F0007F000007F0007F000007F0007E000007E0003E 000003E0002F3A75B937>I<1FC01FE01FE03FC03FC03FC03FC03F800F801F001F003E003C007C 0078007800F000F000E0000B136DB81D>39 D<00000007C00000000FC00000003F000000007E00 000001FC00000003F000000007E00000000FC00000001F800000003F000000007E00000000FC00 000001F800000003F000000007E00000000FE00000000FC00000001F800000003F800000003F00 0000007E00000000FE00000000FC00000001FC00000001F800000003F800000003F000000007F0 00000007E00000000FE00000000FE00000001FC00000001FC00000001FC00000003F800000003F 800000003F800000007F000000007F000000007F000000007F000000007F00000000FE00000000 FE00000000FE00000000FE00000000FE00000000FE00000000FE00000000FE00000000FE000000 00FE00000000FE00000000FE00000000FE00000000FE00000000FE00000000FE00000000FE0000 00007E000000007E000000007F000000007F000000003F000000003F000000003F800000001F80 0000001F800000000FC00000000FC000000007E000000003E000000003F000000001F800000000 F8000000007C000000003E000000001F000000000F8000000007800000225074BE28>I<000078 000000007C000000003E000000001F000000000F800000000FC000000007E000000003F0000000 03F000000001F800000001F800000000FC00000000FC000000007E000000007E000000007F0000 00003F000000003F000000003F800000003F800000001F800000001F800000001FC00000001FC0 0000001FC00000001FC00000001FC00000001FC00000001FC00000001FC00000001FC00000001F C00000001FC00000001FC00000001FC00000001FC00000001FC00000003F800000003F80000000 3F800000003F800000003F800000007F000000007F000000007F00000000FE00000000FE000000 00FE00000001FC00000001FC00000001FC00000003F800000003F800000007F000000007F00000 000FE00000000FE00000001FC00000001F800000003F800000003F000000007F00000000FE0000 0000FC00000001F800000003F800000007F000000007E00000000FC00000001F800000003F0000 00007E00000000FC00000001F800000003F00000000FC00000001F800000007F00000000FC0000 0000F00000000022507DBE28>I<0FE01FE01FE01FE01FE01FE03FC01FC00F800F800F001F001E 003C003C0078007800F000E0000B1378871D>44 D<3F807F807F807F807F807F80FF007F000908 76871D>46 D<001FC0001FE0001FE0003FC0003FC0003FC0003FC0003F80000000000000000000 000000000000000000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000000FE0001FE000 1FE0001FE0001FE0001FE0003FC0001FC0000F80000F80000F00001F00001E00003C00003C0000 780000780000F00000E00000133678AA1D>59 D<000FFF800000FFFFF00007FFFFFC003FFFFFFF 007FFFFFFF80FFF000FF80FF80003FC07C00001FE07000000FE00000000FE00000000FE0000000 0FE00000000FE00000001FC00000001FC00000003F800000007F80000001FF00000007FE000000 0FFC0000001FF00000007FE0000000FF80000001FE00000003FC00000007F800000007F0000000 0FE00000001FC00000003F800000003F000000007F000000007E00000000FE00000000FC000000 00FC00000000FC00000001F800000001F800000001F800000001F8000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000000000000FC000 00000FE00000001FE00000001FE00000001FE00000001FE00000001FC00000000FC0000000233A 6FB931>63 D<0000000003F00000000000000FF80000000000001FFC0000000000001FFC000000 0000003FFC0000000000007FFE0000000000007FFE000000000000FDFE000000000001FCFE0000 00000001F8FF000000000003F0FF000000000007F0FF000000000007E0FF00000000000FE0FF80 000000001FC07F80000000001F807F80000000003F807F80000000007F007FC0000000007E007F C000000000FE003FC000000001FC003FC000000001FC003FE000000003F8003FE000000007F000 1FE000000007F0001FE00000000FE0001FE00000001FC0001FF00000001FC0001FF00000003F80 000FF00000007F00000FF00000007F00000FF8000000FE00000FF8000001FC000007F8000001FC 000007F8000003F8000007FC000007F0000007FC000007FFFFFFFFFC00000FFFFFFFFFFC00001F FFFFFFFFFE00001FFFFFFFFFFE00003FFFFFFFFFFE00007F00000001FE00007F00000001FF0000 FE00000001FF0001FC00000001FF0001FC00000000FF0003F800000000FF8007F000000000FF80 07F000000000FF800FE0000000007F801FC0000000007FC01FC0000000007FC03F80000000007F C07F00000000003FC07F00000000003FE0FE00000000003FC0F800000000001FC03B397CB843> 65 D<000FFFFFFFFFFF80001FFFFFFFFFFF80003FFFFFFFFFFFC0003FFFFFFFFFFF80003FFFFF FFFFFF80003FC00000000000003FC00000000000007FC00000000000007F800000000000007F80 0000000000007F800000000000007F80000000000000FF80000000000000FF00000000000000FF 00000000000000FF00000000000000FF00000000000001FF00000000000001FE00000000000001 FE00000000000001FE00000000000003FE00000000000003FC00000000000003FC000000000000 03FC00000000000003FC00000000000007FFFFFFFFFC000007FFFFFFFFFE000007FFFFFFFFFE00 0007FFFFFFFFFE000007FFFFFFFFFC00000FF80000000000000FF00000000000000FF000000000 00000FF00000000000001FF00000000000001FE00000000000001FE00000000000001FE0000000 0000001FE00000000000003FE00000000000003FC00000000000003FC00000000000003FC00000 000000003FC00000000000007FC00000000000007F800000000000007F800000000000007F8000 0000000000FF80000000000000FF00000000000000FF00000000000000FF00000000000000FF00 000000000000FF00000000000000FE000000000000007E000000000000003A3976B83D>70 D<000000003FFE000000000007FFFFF0000000003FFFFFFE00000000FFFFFFFF80000003FFFFFF FFE000000FFFC007FFE000003FFC00007FE000007FF000001FC00001FF80000007C00003FF0000 0003C00007FC0000000080000FF80000000000001FE00000000000003FC00000000000007F8000 0000000000FF00000000000001FE00000000000001FE00000000000003FC00000000000007F800 000000000007F80000000000000FF00000000000000FF00000000000001FE00000000000001FE0 0000000000003FC00000000000003FC00000000000003FC000001FFFFE007F8000003FFFFE007F 8000003FFFFE007F8000003FFFFE007F8000003FFFFE007F8000000001FC007F8000000001FC00 FF0000000001FC00FF8000000001FC007F8000000001FC007F8000000003F8007F8000000003F8 007F8000000003F8007F8000000003F8007FC000000003F8003FC000000007F0003FC000000007 F0001FE000000007F0001FE000000007F0000FF00000000FE0000FF80000000FE00007FC000000 0FE00003FE0000000FE00001FF0000000FE00000FFC000001FC000007FF00000FFC000003FFE00 1FFFC000000FFFFFFFFF80000007FFFFFFFE00000001FFFFFFF0000000003FFFFF800000000003 FFE00000003B3B74B945>I<000FC00000000FC0001FC00000001FC0003FE00000003FE0003FC0 0000003FC0003FC00000003FC0003FC00000003FC0003FC00000003FC0007FC00000007FC0007F 800000007F80007F800000007F80007F800000007F80007F800000007F8000FF80000000FF8000 FF00000000FF0000FF00000000FF0000FF00000000FF0000FF00000000FF0001FF00000001FF00 01FE00000001FE0001FE00000001FE0001FE00000001FE0003FE00000003FE0003FC00000003FC 0003FC00000003FC0003FC00000003FC0003FFFFFFFFFFFC0007FFFFFFFFFFFC0007FFFFFFFFFF F80007FFFFFFFFFFF80007FFFFFFFFFFF80007F800000007F8000FF80000000FF8000FF0000000 0FF0000FF00000000FF0000FF00000000FF0001FF00000001FF0001FE00000001FE0001FE00000 001FE0001FE00000001FE0001FE00000001FE0003FE00000003FE0003FC00000003FC0003FC000 00003FC0003FC00000003FC0003FC00000003FC0007FC00000007FC0007F800000007F80007F80 0000007F80007F800000007F8000FF80000000FF8000FF00000000FF0000FF00000000FF0000FF 00000000FF0000FF00000000FF0000FF00000000FF0000FE00000000FE00007E000000007E0000 3B3976B843>I<000FFFFE001FFFFE001FFFFF001FFFFE000FFFFE00007F8000007F800000FF80 0000FF000000FF000000FF000000FF000001FF000001FE000001FE000001FE000001FE000003FE 000003FC000003FC000003FC000007FC000007F8000007F8000007F8000007F800000FF800000F F000000FF000000FF000000FF000001FF000001FE000001FE000001FE000003FE000003FC00000 3FC000003FC000003FC000007FC000007F8000007F8000007F8000007F800000FF800000FF0000 00FF000000FF000001FF000001FE000001FE00007FFFF000FFFFF000FFFFF800FFFFF0007FFFF0 0020397DB81A>I<0000000000FC0000000001FC0000000003FE0000000003FC0000000003FC00 00000003FC0000000003FC0000000007FC0000000007F80000000007F80000000007F800000000 07F8000000000FF8000000000FF0000000000FF0000000000FF0000000000FF0000000001FF000 0000001FE0000000001FE0000000001FE0000000003FE0000000003FC0000000003FC000000000 3FC0000000003FC0000000007FC0000000007F80000000007F80000000007F80000000007F8000 000000FF8000000000FF0000000000FF0000000000FF0000000001FF0000000001FE0000000001 FE0000000001FE0000000001FE0000000003FE0000000003FC0000000003FC0000000003FC0000 000003FC0000000007FC0000000007F80000000007F8000000000FF0007000001FF0007C00003F E0007F0000FFC000FFF81FFF8000FFFFFFFF0000FFFFFFFE00003FFFFFF8000007FFFFE0000000 3FFE0000002F3A7BB830>I<000FE000000000007F80001FF00000000001FF80003FF800000000 03FFC0003FF80000000003FF80003FF80000000007FF80003FF8000000000FFF80003FFC000000 000FFF80007F7C000000001F7F80007E7C000000001F7F00007E7C000000003E7F00007E7E0000 00007E7F00007E7E000000007C7F0000FE7E00000000F8FF0000FC3E00000001F8FE0000FC3F00 000001F0FE0000FC3F00000003F0FE0000FC3F00000007E0FE0001FC3F00000007C1FE0001F81F 0000000FC1FC0001F81F8000001F81FC0001F81F8000001F01FC0003F81F8000003F03FC0003F0 0F8000007E03F80003F00FC000007C03F80003F00FC00000FC03F80003F00FC00001F803F80007 F00FC00001F807F80007E007E00003F007F00007E007E00007E007F00007E007E00007E007F000 07E007E0000FC007F0000FE003E0001F800FF0000FC003F0001F800FE0000FC003F0003F000FE0 000FC003F0007E000FE0001FC003F0007E001FE0001F8001F800FC001FC0001F8001F800F8001F C0001F8001F801F8001FC0001F8001F803F0001FC0003F8000F803E0003FC0003F0000FC07E000 3F80003F0000FC0FC0003F80003F0000FC0F80003F80003F00007C1F80003F80007F00007C3F00 007F80007E00007E3E00007F00007E00007E7E00007F00007E00007E7C00007F0000FE00003FF8 0000FF0000FC00003FF80000FE0000FC00003FF00000FE0000FC00003FF00000FE0000FC00001F E00000FE0000FC00001FC00000FE0000F800000F800000FC0000780000000000007C00004A3975 B854>77 D<000FF00000000F00001FF80000001F00003FFC0000003F80003FFC0000003F00003F FE0000003F00003FFE0000003F00003FFE0000003F00007F7F0000007F00007E7F0000007E0000 7E3F8000007E00007E3F8000007E00007E3F8000007E0000FE1FC00000FE0000FC1FC00000FC00 00FC1FC00000FC0000FC0FE00000FC0000FC0FE00000FC0001FC07F00001FC0001F807F00001F8 0001F807F00001F80001F803F80001F80003F803F80003F80003F003F80003F00003F001FC0003 F00003F001FC0003F00003F001FC0003F00007F000FE0007F00007E000FE0007E00007E0007F00 07E00007E0007F0007E00007E0007F0007E0000FE0003F800FE0000FC0003F800FC0000FC0003F 800FC0000FC0001FC00FC0001FC0001FC01FC0001F80001FC01F80001F80000FE01F80001F8000 0FE01F80001F800007F01F80003F800007F03F80003F000007F03F00003F000003F83F00003F00 0003F83F00003F000003F83F00007F000001FC7F00007E000001FC7E00007E000000FE7E00007E 000000FE7E0000FE000000FEFE0000FC0000007FFC0000FC0000007FFC0000FC0000007FFC0000 FC0000003FFC0000FC0000003FFC0000F80000001FF80000780000000FF80000393975B843>I< 000000001FFE00000000000003FFFFE000000000001FFFFFFC0000000000FFFFFFFF0000000003 FFFFFFFFC00000000FFFC007FFE00000001FFC00007FF00000007FE000001FFC000000FF800000 07FE000003FE00000003FE000007FC00000000FF00000FF000000000FF80001FE0000000007F80 003FC0000000003FC0007F80000000001FE000FF00000000001FE001FE00000000000FE001FC00 000000000FF003FC00000000000FF007F800000000000FF007F0000000000007F00FF000000000 0007F00FE0000000000007F81FE0000000000007F81FC0000000000007F83FC0000000000007F8 3FC0000000000007F83F8000000000000FF07F8000000000000FF07F8000000000000FF07F8000 000000000FF07F8000000000001FF07F8000000000001FE07F8000000000001FE0FF8000000000 003FE0FF8000000000003FC07F8000000000007FC07F8000000000007F807F800000000000FF80 7F800000000000FF007F800000000001FE007FC00000000003FE003FC00000000007FC003FE000 00000007F8003FE0000000000FF0001FF0000000001FE0000FF0000000007FC0000FF800000000 FF800007FC00000001FF000003FE00000007FE000001FF8000001FFC000000FFC000007FF00000 007FF80001FFE00000003FFF001FFF800000001FFFFFFFFE0000000007FFFFFFF80000000001FF FFFFC000000000003FFFFE00000000000003FFE000000000453B75B950>I<000FFFFFFFC00000 001FFFFFFFFC0000003FFFFFFFFF0000003FFFFFFFFFC000003FFFFFFFFFF000003FC00000FFF8 00003FC000001FFC00007FC0000007FE00007F80000001FE00007F80000000FF00007F80000000 FF00007F800000007F8000FF800000007F8000FF000000007F8000FF000000007F8000FF000000 007F8000FF000000007F8001FF000000007F0001FE00000000FF0001FE00000000FF0001FE0000 0001FE0003FE00000001FC0003FC00000003FC0003FC00000007F80003FC0000001FF00003FC00 00003FE00007FC000001FFC00007F800001FFF000007FFFFFFFFFE000007FFFFFFFFF8000007FF FFFFFFE000000FFFFFFFFF0000000FFFFFFFE00000000FF00000000000000FF00000000000001F F00000000000001FE00000000000001FE00000000000001FE00000000000001FE0000000000000 3FE00000000000003FC00000000000003FC00000000000003FC00000000000003FC00000000000 007FC00000000000007F800000000000007F800000000000007F80000000000000FF8000000000 0000FF00000000000000FF00000000000000FF00000000000000FF00000000000000FF00000000 000000FE000000000000007E00000000000000393976B841>I<00000007FF80000000007FFFF8 00000003FFFFFE0000000FFFFFFF8000003FFFFFFFE000007FFFFFFFE00001FFF001FFE00003FF 00003FC00007FC000007C0000FF0000003C0000FE000000080001FC000000000003F8000000000 003F8000000000007F0000000000007F0000000000007F0000000000007F0000000000007F0000 000000007F8000000000007FC000000000007FE000000000003FF800000000003FFF8000000000 1FFFFC000000000FFFFFE000000007FFFFFC00000003FFFFFF00000001FFFFFF800000007FFFFF E00000001FFFFFF000000001FFFFF8000000000FFFFC00000000007FFC00000000000FFE000000 000007FE000000000001FE000000000001FF000000000000FF000000000000FF000000000000FF 000000000000FF000000000000FE000000000000FE000000000000FE000000000001FC00100000 0001FC003800000003F8003E00000007F0007F0000001FE0007FC000003FC000FFF80001FF8000 7FFF800FFF00003FFFFFFFFE00000FFFFFFFFC000003FFFFFFF0000000FFFFFFC00000001FFFFE 0000000000FFE0000000333B7AB939>83 D<7FFFFFFFFFFFFFFF00FFFFFFFFFFFFFFFF00FFFFFF FFFFFFFFFF80FFFFFFFFFFFFFFFF007FFFFFFFFFFFFFFF000000000FF0000000000000000FF000 0000000000001FF0000000000000001FE0000000000000001FE0000000000000001FE000000000 0000001FE0000000000000003FE0000000000000003FC0000000000000003FC000000000000000 3FC0000000000000003FC0000000000000007FC0000000000000007F80000000000000007F8000 0000000000007F8000000000000000FF8000000000000000FF0000000000000000FF0000000000 000000FF0000000000000000FF0000000000000001FF0000000000000001FE0000000000000001 FE0000000000000001FE0000000000000001FE0000000000000003FE0000000000000003FC0000 000000000003FC0000000000000003FC0000000000000007FC0000000000000007F80000000000 000007F80000000000000007F80000000000000007F8000000000000000FF8000000000000000F F0000000000000000FF0000000000000000FF0000000000000000FF0000000000000001FF00000 00000000001FE0000000000000001FE0000000000000001FE0000000000000003FE00000000000 00003FC0000000000000003FC0000000000000003FC0000000000000003FC0000000000000003F C0000000000000003F80000000000000001F800000000000413970B84A>I89 D<00000FFC000000FFFF800003 FFFFC0000FFFFFF0003FFFFFF8007FE003F8007F0001FC007C0001FE00700000FE00000000FE00 000000FE000000007F000000007F000000007F00000000FE00000000FE00000000FE00000000FE 00000000FE00000001FC000007FFFC0000FFFFFC0007FFFFFC003FFC01FC00FFC003F801FF0003 F803F80003F80FF00003F81FE00003F81FC00007F03F800007F07F000007F07F000007F0FE0000 0FF0FE00000FE0FE00001FE0FE00001FE0FF00003FE0FF0000FFC07F8003DFC07FE01F9FC03FFF FF1FC01FFFFE1FC00FFFF81F8007FFE00F8001FE000000282E79AC31>97 D<000F80000000001F80000000003FC0000000003F80000000003F80000000003F80000000003F 80000000007F80000000007F00000000007F00000000007F00000000007F0000000000FF000000 0000FE00FF000000FE03FFC00000FE0FFFF00000FE3FFFF80001FE7FFFFC0001FCF807FE0001FD E001FF0001FF80007F8003FF00003F8003FC00003FC003FC00001FC003F800001FC003F800000F E007F800000FE007F000000FE007F000000FE007F000000FE007F000000FE00FF000000FE00FE0 00000FE00FE000000FE00FE000000FE01FE000000FE01FC000001FC01FC000001FC01FC000001F C01FC000003F803FC000003F803F8000003F803F8000007F003F8000007E003F800000FE007F80 0001FC007F800003F8007F800003F8007F80000FF000FFC0001FE000FFC0007FC000FEE001FF80 00FEF80FFF0000FE7FFFFC0000FE3FFFF80000FC1FFFE000007C0FFF8000000003FC0000002B3A 77B834>I<000003FFC00000001FFFF80000007FFFFE000001FFFFFF800003FFFFFFC0000FFC00 FFC0001FF0001FC0003FC00007C0007F0000018000FE0000000001FC0000000003F80000000007 F00000000007F0000000000FE0000000000FC0000000001FC0000000001F80000000003F800000 00003F80000000007F00000000007F00000000007F00000000007F0000000000FE0000000000FE 0000000000FE0000000000FE0000000000FE0000000000FE0000000000FE0000000000FE000000 00007E00000000007F00000000007F00000010007F00000070003F800000F0001FC00003F0001F E00007E0000FF0003FE00007FC01FFC00003FFFFFF000001FFFFFE000000FFFFF80000003FFFC0 00000007FE0000002A2E78AC2E>I<00000000007C0000000000FC0000000001FE0000000001FC 0000000001FC0000000001FC0000000001FC0000000003FC0000000003F80000000003F8000000 0003F80000000003F80000000007F8000007F807F000003FFE07F00000FFFF07F00003FFFF87F0 0007FFFFCFF0001FFE03EFE0003FF000FFE0007FC0007FE000FF00003FE001FE00003FC003FC00 001FC003F800001FC007F000001FC00FE000003FC00FE000003F801FC000003F801FC000003F80 3F8000003F803F8000007F807F0000007F007F0000007F007F0000007F007F000000FF00FE0000 00FE00FE000000FE00FE000000FE00FE000000FE00FE000001FE00FE000001FC00FE000001FC00 FE000001FC00FE000001FC007E000003FC007F000003F8007F000007F8003F80000FF8003F8000 1FF8001FC0003FF0001FF000F7F0000FFC03E7F00007FFFFC7F00003FFFF87F00001FFFE07E000 007FFC03E000000FE00000002F3A78B834>I<000007F80000003FFF000000FFFFC00003FFFFE0 000FFFFFF0001FF807F8003FE003F8007FC000FC00FF0000FC01FE00007E03FC00007E03F80000 3E07F000003E0FE000003F0FE000003F1FC000003F1FC000003F3F8000003F3F8000003E7F0000 003E7F0000007E7FFFFFFFFE7FFFFFFFFEFFFFFFFFFCFFFFFFFFFCFE00000000FE00000000FE00 000000FE00000000FE00000000FE00000000FE000000007E000000007F000000007F000000003F 000000203F800000701FC00001F01FE00007E00FF0001FE007FC01FFC003FFFFFF0001FFFFFC00 00FFFFF000001FFFC0000003FC0000282E78AC2E>I<000001FF8000001FFFE000007FFFF00000 FFFFF00003FFFFE00007FC01E0000FE00000001FC00000001FC00000003F800000003F80000000 3F800000003F800000007F000000007F0000007FFFFFC000FFFFFFC000FFFFFFE000FFFFFFC000 7FFFFFC00000FE00000000FE00000001FE00000001FC00000001FC00000001FC00000001FC0000 0003FC00000003F800000003F800000003F800000003F800000007F800000007F000000007F000 000007F00000000FF00000000FE00000000FE00000000FE00000000FE00000001FE00000001FC0 0000001FC00000001FC00000001FC00000003FC00000003F800000003F800000003F800000007F 800000007F000000007F000000007F000000007F000000007F000000007E000000003E00000000 243A75B920>I<0000007F007C000007FFC0FC00001FFFE0FE00007FFFF0FE0000FFFFF9FE0001 FFC07DFC0007FE001DFC000FF8000DFC001FF0000FFC003FC00007F8007F800007F8007F000007 F800FE000007F801FE000007F801FC000007F003F8000007F003F8000007F007F0000007F007F0 00000FF00FE000000FE00FE000000FE00FE000000FE00FE000001FE01FC000001FC01FC000001F C01FC000001FC01FC000003FC01FC000003FC01FE000007F801FE000007F800FE00000FF800FF0 0001FF800FF00001FF8007F80003FF0007FC00077F0003FE001E7F0001FFC07CFF0000FFFFF8FE 00007FFFF0FE00003FFFE0FE00000FFF80FE000001FE00FE0000000001FC0000000001FC000000 0001FC0000000001F80000000003F00000000007F0006000000FE0007800001FC0007F00007F80 00FFF001FF0000FFFFFFFE00007FFFFFFC00003FFFFFF0000003FFFFC00000003FFE0000002F39 7BAB34>I<000F80000000001F80000000003FC0000000003F80000000003F80000000003F8000 0000003F80000000007F80000000007F00000000007F00000000007F00000000007F0000000000 FF0000000000FE007FC00000FE01FFF00000FE07FFFC0000FE1FFFFE0001FE3FFFFE0001FC7E03 FF0001FCF000FF0001FDC0007F8003FF80007F8003FF00003F8003FE00003F8003FC00003F8003 FC00003F8007F800007F0007F800007F0007F000007F0007F000007F0007F000007F000FF00000 FF000FE00000FE000FE00000FE000FE00000FE001FE00001FE001FC00001FC001FC00001FC001F C00001FC001FC00001FC003FC00003FC003F800003F8003F800003F8003F800003F8003F800003 F8007F800007F8007F000007F0007F000007F0007F000007F000FF00000FF000FE00000FE000FE 00000FE000FE00000FE000FE00000FE000FE00000FE000FC00000FC0007C000007C000293977B8 34>I<001F80003F80003FC0007FC0007F80007F80007F80003F00000000000000000000000000 000000000000000000007C0000FC0000FE0001FE0001FC0001FC0001FC0003FC0003F80003F800 03F80003F80007F80007F00007F00007F00007F0000FF0000FE0000FE0000FE0001FE0001FC000 1FC0001FC0001FC0003FC0003F80003F80003F80003F80007F80007F00007F00007F0000FF0000 FE0000FE0000FE0000FE0000FE0000FC00007C0000123A78B916>I<00000001F800000003F800 000003FC00000007FC00000007F800000007F800000007F800000003F000000000000000000000 0000000000000000000000000000000000000000000000000000000007C00000000FC00000000F E00000001FE00000001FC00000001FC00000001FC00000003FC00000003F800000003F80000000 3F800000003F800000007F800000007F000000007F000000007F000000007F00000000FF000000 00FE00000000FE00000000FE00000001FE00000001FC00000001FC00000001FC00000001FC0000 0003FC00000003F800000003F800000003F800000003F800000007F800000007F000000007F000 000007F00000000FF00000000FE00000000FE00000000FE00000000FE00000001FE00000001FC0 0000001FC00000001FC00000001FC00000003F800000003F800000007F00003001FF00007F0FFE 00007FFFFC0000FFFFF800007FFFF000003FFFC0000003FE000000264689B91A>I<000F000000 00001F00000000003F80000000003F00000000003F00000000003F00000000003F00000000007F 00000000007E00000000007E00000000007E00000000007E0000000000FE0000000000FC000000 0000FC000003F000FC000007F000FC00001FE001FC00003FC001F800007F0001F80001FE0001F8 0003F80003F8000FF00003F0001FE00003F0003F800003F000FF000003F001FE000007F007F800 0007E00FF0000007E01FC0000007E07F80000007E0FF0000000FE1FE0000000FC7FE0000000FCF FF0000000FFFFF8000001FFFBF8000001FFE3FC000001FFC1FC000001FF80FE000001FE00FF000 003FC007F000003F0007F800003F0003F800003F0003FC00003F0001FC00007F0000FE00007E00 00FF00007E00007F00007E00007F8000FE00003F8000FC00003FC000FC00001FC000FC00000FE0 00FC00000FF000FC000007F000F8000007F00078000003F0002C3977B831>I<000F80001F8000 3FC0003F80003F80003F80003F80007F80007F00007F00007F00007F0000FF0000FE0000FE0000 FE0000FE0001FE0001FC0001FC0001FC0003FC0003F80003F80003F80003F80007F80007F00007 F00007F00007F0000FF0000FE0000FE0000FE0001FE0001FC0001FC0001FC0001FC0003FC0003F 80003F80003F80003F80007F80007F00007F00007F0000FF0000FE0000FE0000FE0000FE0000FE 0000FC00007C0000123978B816>I<0000007FC00007FC00007C01FFF0001FFF0000FC07FFFC00 7FFFC000FE1FFFFE01FFFFE001FE3FFFFE03FFFFE001FC7E03FF07E03FF001FCF000FF0F000FF0 01FDC0007F9C0007F803FF80007FB80007F803FF00003FF00003F803FE00003FE00003F803FC00 003FC00003F803FC00003FC00003F807F800007F800007F007F800007F800007F007F000007F00 0007F007F000007F000007F007F000007F000007F00FF00000FF00000FF00FE00000FE00000FE0 0FE00000FE00000FE00FE00000FE00000FE01FE00001FE00001FE01FC00001FC00001FC01FC000 01FC00001FC01FC00001FC00001FC01FC00001FC00001FC03FC00003FC00003FC03F800003F800 003F803F800003F800003F803F800003F800003F803F800003F800003F807F800007F800007F80 7F000007F000007F007F000007F000007F007F000007F000007F00FF00000FF00000FF00FE0000 0FE00000FE00FE00000FE00000FE00FE00000FE00000FE00FE00000FE00000FE00FE00000FE000 00FE00FC00000FC00000FC007C000007C000007C00452C77AB50>I<0000007FC000007C01FFF0 0000FC07FFFC0000FE1FFFFE0001FE3FFFFE0001FC7E03FF0001FCF000FF0001FDC0007F8003FF 80007F8003FF00003F8003FE00003F8003FC00003F8003FC00003F8007F800007F0007F800007F 0007F000007F0007F000007F0007F000007F000FF00000FF000FE00000FE000FE00000FE000FE0 0000FE001FE00001FE001FC00001FC001FC00001FC001FC00001FC001FC00001FC003FC00003FC 003F800003F8003F800003F8003F800003F8003F800003F8007F800007F8007F000007F0007F00 0007F0007F000007F000FF00000FF000FE00000FE000FE00000FE000FE00000FE000FE00000FE0 00FE00000FE000FC00000FC0007C000007C000292C77AB34>I<000001FE000000001FFFC00000 007FFFF0000001FFFFFC000007FFFFFE00000FFC03FF00001FE000FF00003F80003F80007F0000 1FC000FE00000FC001FC00000FE003F8000007E007F0000007E007E0000007F00FE0000007F00F C0000007F01FC0000007F01F80000007F03F80000007F03F80000007F07F00000007F07F000000 07F07F00000007F07F00000007F0FE0000000FE0FE0000000FE0FE0000000FE0FE0000001FC0FE 0000001FC0FE0000001FC0FE0000003F80FE0000003F80FE0000007F007F000000FE007F000000 FE007F000001FC003F800003F8003FC0000FF0001FE0001FE0000FF0007FC0000FFE03FF800007 FFFFFE000003FFFFFC000000FFFFF00000003FFF8000000007FC0000002C2E78AC34>I<000000 1FE000000F807FF800001F81FFFE00001FC7FFFF00003FCFFFFF80003F9F01FFC0003FBC003FE0 003FF0001FF0007FE0000FF0007F800007F8007F800007F8007F000003F8007F000003FC00FF00 0001FC00FE000001FC00FE000001FC00FE000001FC00FE000001FC01FE000001FC01FC000001FC 01FC000001FC01FC000001FC03FC000001FC03F8000003F803F8000003F803F8000003F803F800 0007F007F8000007F007F000000FF007F000000FE007F000001FC007F000001FC00FF000003F80 0FF000007F000FF00000FF000FF00001FE001FF80007FC001FF8000FF8001FDC003FF0001FDF01 FFE0001FCFFFFF80003FC7FFFF00003F83FFFC00003F81FFF000003F807F8000003F8000000000 7F80000000007F00000000007F00000000007F00000000007F0000000000FF0000000000FE0000 0000007E00000000007C00000000002E377AAB34>I<000003F803E000003FFE07E00000FFFF07 F00003FFFF87F00007FFFFCFF0000FFE03EFE0003FF000EFE0007FC0006FE000FF80007FE001FE 00003FC003FC00003FC003F800003FC007F000003FC00FF000003FC00FE000003F801FC000003F 801FC000003F803F8000003F803F8000007F807F0000007F007F0000007F007F0000007F007F00 0000FF00FE000000FE00FE000000FE00FE000000FE00FE000000FE00FE000001FE00FE000001FC 00FE000001FC00FE000001FC00FF000001FC007F000003FC007F000007F8007F800007F8003F80 000FF8003FC0001FF8001FE0003FF0001FF000F7F0000FFE03E7F00007FFFFC7F00003FFFF8FF0 0001FFFE0FE000007FFC0FE000000FE00FE0000000000FE0000000001FE0000000001FC0000000 001FC0000000001FC0000000001FC0000000003FC0000000003F80000000001F80000000001F00 002C3778AB34>I<0000001F007C00FF00FC03FF00FE07FF01FE0FFE01FC3FFE01FC7FC001FCFE 0003FDF80003F9E00003FBC00003FF800003FF000007FE000007FC000007F8000007F8000007F0 00000FF000000FE000000FE000000FE000001FE000001FC000001FC000001FC000001FC000003F C000003F8000003F8000003F8000003F8000007F8000007F0000007F0000007F000000FF000000 FE000000FE000000FE000000FE000000FE000000FC0000007C000000202C77AB22>I<00000FFE 000000FFFFC00003FFFFF0000FFFFFFC001FFFFFFE003FE003FE007F00007E00FE00003E00FC00 000C01F800000001F000000003F000000003F000000003F000000003F000000003F800000003FC 00000003FF00000001FFF0000001FFFF800000FFFFF000007FFFFC00003FFFFF00000FFFFF8000 03FFFFC000003FFFC0000001FFE00000003FE00000000FF000000007F000000007F000000003F0 00000003F000000007E000000007E000000007E02000000FC07000000FC07C00003F80FF00007F 00FFF003FE00FFFFFFFC003FFFFFF8000FFFFFE00003FFFF8000003FFC0000272E7CAC28>I<00 0F8000001FC000001FC000001FC000001FC000003FC000003F8000003F8000003F8000003F8000 007F8000007F00007FFFFFF8FFFFFFF8FFFFFFFCFFFFFFF87FFFFFF800FE000000FE000000FE00 0001FC000001FC000001FC000001FC000003F8000003F8000003F8000003F8000003F8000007F0 000007F0000007F0000007F0000007F000000FE000000FE000000FE000000FE000000FE000001F C000001FC000001FC000001FC000003F8000003F8000003F8000003F8000003F8004003F800E00 3F803E003FC1FE003FFFFC001FFFF8001FFFE0000FFF000003F800001E3875B625>I<00F80000 0F8001F800001F8001FC00001FC003FC00003FC003F800003F8003F800003F8003F800003F8007 F800007F8007F000007F0007F000007F0007F000007F0007F000007F000FF00000FF000FE00000 FE000FE00000FE000FE00000FE000FE00000FE001FE00001FE001FC00001FC001FC00001FC001F C00001FC003FC00003FC003F800003F8003F800003F8003F800003F8003F800003F8007F800007 F8007F000007F0007F000007F0007F000007F0007F00000FF000FF00000FF000FE00001FE000FE 00003FE000FE00003FE000FE0000FFE000FE0001DFC000FF00079FC000FF803F1FC0007FFFFE1F C0003FFFFC1FC0001FFFF01F80000FFFC00F800003FE000000002A2C76AA34>I<780000000FFC 0000001FFC0000003FFE0000007FFE0000007E7E000000FC7E000000FC7E000001F87F000003F0 7F000003F03F000007E03F00000FE03F00000FC03F00001F803F80001F801F80003F001F80007F 001F80007E001F8000FC001FC000FC000FC001F8000FC003F0000FC003F0000FC007E0000FE00F E0000FE00FC00007E01F800007E01F800007E03F000007F07E000007F07E000003F0FC000003F1 FC000003F1F8000003FBF0000003FBF0000001FFE0000001FFE0000001FFC0000001FF80000001 FF80000000FF000000007E000000282B75AA2E>I<78000007E000001EFC00000FE000003FFC00 001FF000007EFC00001FF000007EFC00003FF00000FCFC00003FF00000FCFC00007FF00001F8FE 00007DF00001F87E0000F9F00003F07E0001F9F00003F07E0001F1F80007E07E0003F1F80007E0 7E0003E1F8000FC07E0007E1F8001F807E0007C1F8001F807E000FC1F8003F007F000F80F8003F 003F001F80F8007E003F001F00F8007E003F003E00FC00FC003F003E00FC00FC003F007C00FC01 F8003F007C00FC01F8003F00F800FC03F0003F00F800FC03F0003F01F0007C07E0001F81F0007C 07C0001F83E0007C0FC0001F83E0007C0F80001F87C0007C1F80001F87C0007E1F00001F8F8000 7E3F00001F8F00007E3E00001F9F00007E7E00001F9E00003E7C00000FBE00003EFC00000FFC00 003FF800000FFC00003FF800000FF800003FF000000FF800003FF000000FF000003FE000000FE0 00003FC0000007C000001F800000402B75AA45>I<003E0000001F007F0000003F007F8000007F 003F800000FE001FC00001FC000FE00003F0000FE0000FE00007F0001FC00003F0003F800003F8 007F000001FC00FE000000FC01FC000000FE03F80000007F07F00000003F0FE00000003F9FC000 00001FFF000000000FFE000000000FFC0000000007F80000000003F00000000007F0000000000F F8000000001FFC000000003FFC000000007E7E00000000FC3F00000001F83F00000003F01F8000 0007E01FC000000FC00FC000003F8007E000007F0007F00000FE0003F00001FC0001F80003F800 01FC0007F00000FE000FE00000FE001FC000007F003F8000003F807F0000003F80FE0000001F80 F80000000F80302B7EAA2E>I<001E00000003C0003F00000007C0003F8000000FC0003F800000 1FC0001F8000001F80001F8000003F00001F8000007F00001FC000007E00000FC00000FC00000F C00000FC00000FC00001F800000FE00003F000000FE00003F0000007E00007E0000007E00007E0 000007E0000FC0000007F0001F80000003F0001F80000003F0003F00000003F0007E00000003F8 007E00000001F800FC00000001F800FC00000001F801F800000001F803F000000001FC03F00000 0000FC07E000000000FC07C000000000FC0FC000000000FC1F80000000007C1F80000000007E3F 00000000007E3E00000000007E7E00000000007E7C00000000003EF800000000003FF800000000 003FF000000000003FF000000000001FE000000000001FC000000000001FC000000000001F8000 000000001F0000000000001F0000000000003E0000000000007C000000000000FC000000000001 F8000000007007F000000000FFFFE000000000FFFFC000000000FFFF0000000000FFFC00000000 00FFF0000000000032377FAA2E>I<003FFFFFFFE0007FFFFFFFF0007FFFFFFFF0007FFFFFFFE0 003FFFFFFFE0000000003FC0000000007F8000000000FF0000000001FE0000000003FC00000000 07F8000000000FF0000000001FE0000000003FC0000000007F8000000000FF0000000001FE0000 000003FC0000000007F0000000000FE0000000001FC0000000003F80000000007F0000000000FE 0000000001FC0000000003F80000000007F0000000000FE0000000001FC0000000003F80000000 00FF0000000001FE0000000003FC0000000007F8000000000FF0000000001FE0000000003FC000 0000007F8000000000FFFFFFFFF000FFFFFFFFF000FFFFFFFFF800FFFFFFFFF000FFFFFFFFF000 2C2B7CAA2C>I E /Fh 62 124 df<00007FFE003FFF0007FFFE03FFFF001FFFFE0FFFFF007FFF FE3FFFFF00FFFFFE7FFFFF01FFC03EFFE01F03FF000FFF800703FF0001FF800003FF0001FF8000 03FF0001FF800003FF0001FF80007FFFFF01FFFF80FFFFFF81FFFFC0FFFFFF81FFFFC0FFFFFF81 FFFFC07FFFFF01FFFF8003FF0001FF800003FF0001FF800003FF0001FF800003FF0001FF800003 FF0001FF800003FF0001FF800003FF0001FF800003FF0001FF800003FF0001FF800003FF0001FF 800003FF0001FF800003FF0001FF800003FF0001FF800003FF0001FF800003FF0001FF800003FF 0001FF800003FF0001FF800003FF0001FF800003FF0001FF800003FF0001FF800003FF0001FF80 0003FF0001FF800003FF0001FF800003FF0001FF800003FF0001FF800003FF0001FF800003FF00 01FF800003FF0001FF800003FF0001FF800003FF0001FF800003FF0001FF800001FE0000FF0000 38307EAF37>11 D<00000000FF800001FFC1FFC0000FFFC1FFC0003FFFC1FFC0007FFFC1FFC000 FFFFC1FFC001FF83C1FFC003FF01C0FF8003FF00C0000003FF0000000003FF0000000003FF0000 00007FFFFF807F80FFFFFFC0FFC0FFFFFFC0FFC0FFFFFFC0FFC07FFFFF80FFC003FF0000FFC003 FF0000FFC003FF0000FFC003FF0000FFC003FF0000FFC003FF0000FFC003FF0000FFC003FF0000 FFC003FF0000FFC003FF0000FFC003FF0000FFC003FF0000FFC003FF0000FFC003FF0000FFC003 FF0000FFC003FF0000FFC003FF0000FFC003FF0000FFC003FF0000FFC003FF0000FFC003FF0000 FFC003FF0000FFC003FF0000FFC003FF0000FFC003FF0000FFC003FF0000FFC003FF0000FFC003 FF0000FFC003FF0000FFC003FF0000FFC003FF0000FFC001FE00007F802A317EB032>I34 D39 D<00001F00003F0000FC0001F80003F00007E0000FC0001FC0003F80007F0000FF00 01FE0001FE0003FC0007FC0007F8000FF8000FF8001FF0001FF0003FF0003FE0003FE0007FE000 7FE0007FE0007FC000FFC000FFC000FFC000FFC000FFC000FFC000FFC000FFC000FFC000FFC000 FFC000FFC000FFC0007FC0007FE0007FE0007FE0003FE0003FE0003FF0001FF0001FF0000FF800 0FF80007F80007FC0003FC0001FE0001FE0000FF00007F00003F80001FC0000FC00007E00003F0 0001F80000FC00003F00001F184379B425>II44 D<7FFFFF00FFFFFF80FFFFFF80FFFFFF807FFFFF0019057F9420>II<00000001C000000003E000000007F000000007F0000000 0FF00000000FE00000001FE00000001FC00000003FC00000003F800000007F800000007F000000 00FF00000000FE00000001FE00000001FC00000003FC00000003F800000003F800000007F80000 0007F00000000FF00000000FE00000001FE00000001FC00000003FC00000003F800000007F8000 00007F00000000FF00000000FE00000001FE00000001FC00000003FC00000003F800000007F800 000007F00000000FF00000000FE00000001FE00000001FC00000003FC00000003F800000007F80 0000007F00000000FF00000000FE00000001FE00000001FC00000001FC00000003FC00000003F8 00000007F800000007F00000000FF00000000FE00000001FE00000001FC00000003FC00000003F 800000007F800000007F00000000FF00000000FE00000000FE000000007C000000003800000000 24437BB42F>I<000FFE0000007FFFC00001FFFFF80003FFFFFC000FFFFFFE001FFFFFFF803FF8 0FFFC07FE003FFC0FFC000FFE07F80007FF03F00007FF01F00003FF00E00003FF80600003FF802 00001FF80000001FF80000001FF80000003FF80000003FF80000003FF00000003FF00000007FE0 0000007FE0000000FFC0000001FF80000003FF00000003FE00000007FC0000000FF80000003FF0 0000007FC0000000FF80000001FE00000003FC00000007F80000000FE00000003FC00000007F80 000000FE00000001FC00000003F800000007F00000000FC00000001FFFFFFFF07FFFFFFFF87FFF FFFFF87FFFFFFFF87FFFFFFFF83FFFFFFFF025317CB02F>50 D<7FC0FFC0FFC0FFC0FFC0FFC0FF C0FFC0FFC0FFC00000000000000000000000000000000000000000000000000000000000000000 0000FFC0FFC0FFC0FFC0FFC0FFC0FFC0FFC0FFC07FC00A2578A41A>58 D<003FFE000007FFFFE0 003FFFFFF8007FFFFFFE00FFFFFFFF007FF003FF807F8001FF807E0000FFC0380000FFC0300000 FFC0000000FFC0000001FFC0000003FF80000007FF0000000FFE0000003FFC0000007FF8000000 FFE0000001FF80000001FF00000003FE00000007FC00000007F800000007F80000000FF0000000 0FF00000000FF00000000FF00000000FF00000000FF000000007F0000000000000000000000000 00000000000000000000000000000000000000000000000000000FF00000001FF80000001FF800 00001FF80000001FF80000001FF80000001FF80000001FF80000001FF80000000FF0000022307B AF2D>63 D<00000FFFC0000000001FFFE0000000001FFFE0000000003FFFF0000000003FFFF000 0000003FFFF0000000007FFFF8000000007FFFF800000000FFFFFC00000000FFFFFC00000001FF DFFE00000001FF9FFE00000001FF8FFE00000003FF8FFF00000003FF0FFF00000007FF07FF8000 0007FE07FF8000000FFE03FFC000000FFC03FFC000000FFC01FFC000001FFC01FFE000001FF801 FFE000003FF800FFF000003FF000FFF000007FF0007FF800007FE0007FF80000FFE0003FFC0000 FFE0003FFC0000FFC0001FFC0001FFC0001FFE0001FF80001FFE0003FFFFFFFFFF0003FFFFFFFF FF0007FFFFFFFFFF8007FFFFFFFFFF8007FFFFFFFFFF800FFFFFFFFFFFC00FFFFFFFFFFFC01FFC 000001FFE01FF8000001FFE03FF8000000FFF03FF8000000FFF03FF00000007FF07FF00000007F F87FE00000007FF8FFE00000003FFC7FC00000001FF8362F7DAE3D>65 D<7FFFFFFC000000FFFF FFFFC00000FFFFFFFFF80000FFFFFFFFFE0000FFFFFFFFFF8000FFFFFFFFFFC000FFFFFFFFFFE0 00FFE0001FFFF000FFE00001FFF800FFE000007FF800FFE000003FFC00FFE000001FFC00FFE000 001FFC00FFE000001FFC00FFE000001FFC00FFE000003FF800FFE000007FF800FFE00000FFF000 FFE00003FFC000FFE0003FFF8000FFFFFFFFFE0000FFFFFFFFF80000FFFFFFFFE00000FFFFFFFF FE0000FFFFFFFFFF8000FFE0001FFFE000FFE00001FFF800FFE000003FFC00FFE000001FFE00FF E000000FFF00FFE0000007FF00FFE0000003FF80FFE0000003FF80FFE0000003FF80FFE0000003 FF80FFE0000003FF80FFE0000007FF00FFE000001FFF00FFE000007FFE00FFE00007FFFE00FFFF FFFFFFFC00FFFFFFFFFFF000FFFFFFFFFFE000FFFFFFFFFF8000FFFFFFFFFE0000FFFFFFFFF800 007FFFFFFF000000312F79AE3E>I<0000007FFF000000000FFFFFF80000007FFFFFFF000001FF FFFFFF000007FFFFFFFF00000FFFFFFFFF00003FFFC00FFE00007FFE0001FE0000FFF800007E00 01FFE000003E0003FFC000001E0007FF0000000E000FFE00000004000FFE00000000001FFC0000 0000003FF800000000003FF800000000007FF000000000007FF000000000007FF00000000000FF E00000000000FFE00000000000FFE00000000000FFE00000000000FFE00000000000FFE0000000 0000FFE00000000000FFE00000000000FFE000000000007FF000000000007FF000000000007FF0 00000000003FF800000000003FF800000000001FFC00000000000FFE00000000000FFE00000001 0007FF000000030003FFC00000070001FFE000001F0000FFF800003F00007FFE0000FF80003FFF C007FF80000FFFFFFFFF800007FFFFFFFF800001FFFFFFFE0000007FFFFFF80000000FFFFFC000 0000007FFE000031317BAF3C>I<7FFFFFFE000000FFFFFFFFE00000FFFFFFFFFC0000FFFFFFFF FF0000FFFFFFFFFFC000FFFFFFFFFFF000FFFFFFFFFFF800FFE00007FFFC00FFE000007FFE00FF E000001FFF00FFE0000007FF80FFE0000003FFC0FFE0000001FFE0FFE0000000FFE0FFE0000000 7FF0FFE00000007FF0FFE00000003FF8FFE00000003FF8FFE00000003FF8FFE00000001FFCFFE0 0000001FFCFFE00000001FFCFFE00000001FFCFFE00000001FFCFFE00000001FFCFFE00000001F FCFFE00000001FFCFFE00000001FFCFFE00000001FF8FFE00000003FF8FFE00000003FF8FFE000 00007FF0FFE00000007FF0FFE0000000FFE0FFE0000001FFE0FFE0000003FFC0FFE0000007FF80 FFE000001FFF00FFE000007FFF00FFE00007FFFC00FFFFFFFFFFF800FFFFFFFFFFF000FFFFFFFF FFC000FFFFFFFFFF8000FFFFFFFFFC0000FFFFFFFFF000007FFFFFFE000000362F79AE43>I<7F FFFFFFFFF8FFFFFFFFFFFCFFFFFFFFFFFCFFFFFFFFFFFCFFFFFFFFFFFCFFFFFFFFFFF8FFE00000 0000FFE000000000FFE000000000FFE000000000FFE000000000FFE000000000FFE000000000FF E000000000FFE000000000FFE000000000FFE000000000FFE000000000FFE000000000FFE00000 0000FFFFFFFFFFC0FFFFFFFFFFE0FFFFFFFFFFE0FFFFFFFFFFE0FFFFFFFFFFC0FFE000000000FF E000000000FFE000000000FFE000000000FFE000000000FFE000000000FFE000000000FFE00000 0000FFE000000000FFE000000000FFE000000000FFE000000000FFE000000000FFE000000000FF E000000000FFE000000000FFFFFFFFFFFCFFFFFFFFFFFEFFFFFFFFFFFEFFFFFFFFFFFEFFFFFFFF FFFE7FFFFFFFFFFC2F2F79AE3B>I<7FFFFFFFFFE0FFFFFFFFFFF0FFFFFFFFFFF0FFFFFFFFFFF0 FFFFFFFFFFF0FFFFFFFFFFE0FFE000000000FFE000000000FFE000000000FFE000000000FFE000 000000FFE000000000FFE000000000FFE000000000FFE000000000FFE000000000FFE000000000 FFE000000000FFE000000000FFE000000000FFE000000000FFFFFFFFFE00FFFFFFFFFF00FFFFFF FFFF00FFFFFFFFFF00FFFFFFFFFE00FFE000000000FFE000000000FFE000000000FFE000000000 FFE000000000FFE000000000FFE000000000FFE000000000FFE000000000FFE000000000FFE000 000000FFE000000000FFE000000000FFE000000000FFE000000000FFE000000000FFE000000000 FFE000000000FFE000000000FFE0000000007FC0000000002C2F79AE38>I<0000007FFE000000 0007FFFFF00000003FFFFFFF000001FFFFFFFFC00007FFFFFFFFC0000FFFFFFFFFC0003FFFC00F FFC0007FFE0000FF8000FFF800003F8001FFE000001F8003FFC000000F8007FF00000007800FFF 00000003800FFE00000001001FFC00000000003FF800000000003FF800000000007FF000000000 007FF000000000007FF00000000000FFE00000FFFFE0FFE00001FFFFE0FFE00001FFFFE0FFE000 01FFFFE0FFE00001FFFFE0FFE00000007FE0FFE00000007FE0FFE00000007FE0FFE00000007FE0 7FF00000007FE07FF00000007FE07FF00000007FE03FF80000007FE03FF80000007FE01FFC0000 007FE00FFE0000007FE00FFF0000007FE007FF0000007FE003FFC000007FE001FFE000007FE000 FFF800007FE0007FFE00007FE0003FFFC007FFE0000FFFFFFFFFE00007FFFFFFFFE00001FFFFFF FFE000003FFFFFFF00000007FFFFF8000000007FFE000033317BAF3F>I<7FC0000007FCFFE000 000FFEFFE000000FFEFFE000000FFEFFE000000FFEFFE000000FFEFFE000000FFEFFE000000FFE FFE000000FFEFFE000000FFEFFE000000FFEFFE000000FFEFFE000000FFEFFE000000FFEFFE000 000FFEFFE000000FFEFFE000000FFEFFE000000FFEFFE000000FFEFFE000000FFEFFFFFFFFFFFE FFFFFFFFFFFEFFFFFFFFFFFEFFFFFFFFFFFEFFFFFFFFFFFEFFE000000FFEFFE000000FFEFFE000 000FFEFFE000000FFEFFE000000FFEFFE000000FFEFFE000000FFEFFE000000FFEFFE000000FFE FFE000000FFEFFE000000FFEFFE000000FFEFFE000000FFEFFE000000FFEFFE000000FFEFFE000 000FFEFFE000000FFEFFE000000FFEFFE000000FFEFFE000000FFEFFE000000FFE7FC0000007FC 2F2F79AE3E>I<7FFFF8FFFFFCFFFFFCFFFFFCFFFFFC7FFFF803FF8003FF8003FF8003FF8003FF 8003FF8003FF8003FF8003FF8003FF8003FF8003FF8003FF8003FF8003FF8003FF8003FF8003FF 8003FF8003FF8003FF8003FF8003FF8003FF8003FF8003FF8003FF8003FF8003FF8003FF8003FF 8003FF8003FF8003FF8003FF807FFFF8FFFFFCFFFFFCFFFFFCFFFFFC7FFFF8162F7FAE19>I<7F C000000000FFE000000000FFE000000000FFE000000000FFE000000000FFE000000000FFE00000 0000FFE000000000FFE000000000FFE000000000FFE000000000FFE000000000FFE000000000FF E000000000FFE000000000FFE000000000FFE000000000FFE000000000FFE000000000FFE00000 0000FFE000000000FFE000000000FFE000000000FFE000000000FFE000000000FFE000000000FF E000000000FFE000000000FFE000000000FFE000000000FFE000000000FFE000000000FFE00000 0000FFE000000000FFE000000000FFE000000000FFE000000000FFE000000000FFE000000000FF E000000000FFE000000000FFFFFFFFFF80FFFFFFFFFFC0FFFFFFFFFFC0FFFFFFFFFFC0FFFFFFFF FFC07FFFFFFFFF802A2F79AE36>76 D<7FF8000000003FFCFFFC000000007FFEFFFE00000000FF FEFFFE00000000FFFEFFFF00000001FFFEFFFF00000001FFFEFFFF80000003FFFEFFFF80000003 FFFEFFFFC0000007FFFEFFFFC0000007FFFEFFBFE000000FFBFEFFBFE000000FFBFEFF9FF00000 1FF3FEFF9FF000001FF3FEFF8FF800003FE3FEFF8FF800003FE3FEFF87FC00007FC3FEFF87FC00 007FC3FEFF83FE0000FF83FEFF83FE0000FF83FEFF81FF0001FF03FEFF81FF0001FF03FEFF80FF 8003FE03FEFF80FF8003FE03FEFF80FF8003FE03FEFF807FC007FC03FEFF807FC007FC03FEFF80 3FE00FF803FEFF803FE00FF803FEFF801FF01FF003FEFF801FF01FF003FEFF800FF83FE003FEFF 800FF83FE003FEFF8007FC7FC003FEFF8007FC7FC003FEFF8003FEFF8003FEFF8003FEFF8003FE FF8001FFFF0003FEFF8001FFFF0003FEFF8000FFFE0003FEFF8000FFFE0003FEFF80007FFC0003 FEFF80007FFC0003FEFF80003FF80003FEFF80003FF80003FEFF80001FF00003FE7F0000000000 01FC3F2F79AE4E>I<7FF8000001FCFFFC000003FEFFFE000003FEFFFF000003FEFFFF000003FE FFFF800003FEFFFFC00003FEFFFFC00003FEFFBFE00003FEFFBFE00003FEFF9FF00003FEFF8FF8 0003FEFF8FF80003FEFF87FC0003FEFF87FC0003FEFF83FE0003FEFF81FF0003FEFF81FF0003FE FF80FF8003FEFF807FC003FEFF807FC003FEFF803FE003FEFF803FE003FEFF801FF003FEFF800F F803FEFF800FF803FEFF8007FC03FEFF8007FC03FEFF8003FE03FEFF8001FF03FEFF8001FF03FE FF8000FF83FEFF80007FC3FEFF80007FC3FEFF80003FE3FEFF80003FE3FEFF80001FF3FEFF8000 0FFBFEFF80000FFBFEFF800007FFFEFF800007FFFEFF800003FFFEFF800001FFFEFF800001FFFE FF800000FFFEFF8000007FFE7F0000003FFC2F2F79AE3E>I<0000007FF800000000000FFFFFC0 000000007FFFFFF800000001FFFFFFFE00000007FFFFFFFF8000001FFFC00FFFE000003FFE0001 FFF000007FF000003FF80000FFE000001FFC0001FF80000007FE0003FF00000003FF0007FE0000 0001FF800FFC00000000FFC01FFC00000000FFE01FF8000000007FE03FF8000000007FF03FF000 0000003FF07FF0000000003FF87FF0000000003FF87FE0000000001FF8FFE0000000001FFCFFE0 000000001FFCFFE0000000001FFCFFE0000000001FFCFFE0000000001FFCFFE0000000001FFCFF E0000000001FFCFFE0000000001FFCFFE0000000001FFC7FF0000000003FF87FF0000000003FF8 7FF0000000003FF83FF8000000007FF03FF8000000007FF01FFC00000000FFE01FFC00000000FF E00FFE00000001FFC007FF00000003FF8007FF80000007FF8003FFC000000FFF0001FFE000001F FE00007FF800007FF800003FFE0001FFF000001FFFC00FFFE0000007FFFFFFFF80000001FFFFFF FE000000007FFFFFF8000000000FFFFFC000000000007FF80000003E317BAF49>I<7FFFFFFC00 00FFFFFFFFC000FFFFFFFFF800FFFFFFFFFE00FFFFFFFFFF80FFFFFFFFFFC0FFFFFFFFFFE0FFE0 0007FFF0FFE00000FFF8FFE000003FF8FFE000001FFCFFE000000FFCFFE000000FFEFFE000000F FEFFE000000FFEFFE000000FFEFFE000000FFEFFE000000FFEFFE000000FFCFFE000001FFCFFE0 00003FF8FFE00000FFF0FFE00007FFE0FFFFFFFFFFC0FFFFFFFFFF80FFFFFFFFFE00FFFFFFFFF8 00FFFFFFFFE000FFFFFFFE0000FFE000000000FFE000000000FFE000000000FFE000000000FFE0 00000000FFE000000000FFE000000000FFE000000000FFE000000000FFE000000000FFE0000000 00FFE000000000FFE000000000FFE000000000FFE000000000FFE000000000FFE0000000007FC0 000000002F2F79AE3C>I<7FFFFFFE000000FFFFFFFFE00000FFFFFFFFFC0000FFFFFFFFFF8000 FFFFFFFFFFC000FFFFFFFFFFF000FFFFFFFFFFF800FFE00001FFFC00FFE000001FFE00FFE00000 0FFF00FFE0000007FF00FFE0000003FF80FFE0000003FF80FFE0000003FF80FFE0000003FF80FF E0000003FF80FFE0000003FF00FFE0000007FF00FFE000000FFE00FFE000003FFC00FFE00001FF F800FFFFFFFFFFF000FFFFFFFFFFC000FFFFFFFFFE0000FFFFFFFFF00000FFFFFFFFC00000FFE0 00FFE00000FFE0007FE00000FFE0007FF00000FFE0003FF80000FFE0001FFC0000FFE0000FFE00 00FFE00007FE0000FFE00007FF0000FFE00003FF8000FFE00001FFC000FFE00000FFE000FFE000 00FFE000FFE000007FF000FFE000003FF800FFE000001FFC00FFE000000FFE00FFE000000FFE00 FFE0000007FF00FFE0000003FF80FFE0000001FFC07FC0000000FF80322F79AE3E>82 D<0000FFFC00000007FFFFC000003FFFFFFC0000FFFFFFFF0001FFFFFFFF0003FFFFFFFF0007FF FFFFFF000FFF801FFE001FFC0003FE003FF00000FE003FE000003E007FC000001E007FC000000E 007FC0000004007FE0000000007FF0000000007FFC000000003FFFE00000003FFFFF8000003FFF FFFC00001FFFFFFF00000FFFFFFFC00007FFFFFFF00003FFFFFFF80001FFFFFFFC00007FFFFFFE 00001FFFFFFF000003FFFFFF8000003FFFFFC0000000FFFFC000000007FFE000000001FFE00000 00007FE0200000007FE0700000003FE0780000003FE07C0000003FE07E0000003FC07F8000007F C07FE00000FF80FFF80003FF80FFFF801FFF00FFFFFFFFFE00FFFFFFFFFC003FFFFFFFF8000FFF FFFFE00001FFFFFF8000003FFFFE00000001FFE000002B317CAF35>I<7FFFFFFFFFFFFFF0FFFF FFFFFFFFFFF8FFFFFFFFFFFFFFF8FFFFFFFFFFFFFFF8FFFFFFFFFFFFFFF87FFFFFFFFFFFFFF000 00007FF00000000000007FF00000000000007FF00000000000007FF00000000000007FF0000000 0000007FF00000000000007FF00000000000007FF00000000000007FF00000000000007FF00000 000000007FF00000000000007FF00000000000007FF00000000000007FF00000000000007FF000 00000000007FF00000000000007FF00000000000007FF00000000000007FF00000000000007FF0 0000000000007FF00000000000007FF00000000000007FF00000000000007FF00000000000007F F00000000000007FF00000000000007FF00000000000007FF00000000000007FF0000000000000 7FF00000000000007FF00000000000007FF00000000000007FF00000000000007FF00000000000 007FF00000000000007FF00000000000007FF00000000000007FF00000000000007FF000000000 00007FF00000000000003FE00000003D2F7DAE44>I<7FC0000003FCFFE0000007FEFFE0000007 FEFFE0000007FEFFE0000007FEFFE0000007FEFFE0000007FEFFE0000007FEFFE0000007FEFFE0 000007FEFFE0000007FEFFE0000007FEFFE0000007FEFFE0000007FEFFE0000007FEFFE0000007 FEFFE0000007FEFFE0000007FEFFE0000007FEFFE0000007FEFFE0000007FEFFE0000007FEFFE0 000007FEFFE0000007FEFFE0000007FEFFE0000007FEFFE0000007FEFFE0000007FEFFE0000007 FEFFE0000007FEFFE0000007FEFFE0000007FEFFE0000007FEFFE0000007FEFFF000000FFE7FF0 00000FFC7FF000001FFC3FF800001FF83FFC00003FF81FFF0000FFF00FFFE00FFFE007FFFFFFFF C003FFFFFFFF8000FFFFFFFF00007FFFFFFC00001FFFFFF0000003FFFFC00000007FFC00002F30 79AE3E>III89 D<07C001F007C001F00F8003E01F8007E01F0007C03F000FC03E000F807E001F80FFC03FF0FFC0 3FF0FFC03FF0FFC03FF0FFC03FF0FFC03FF0FFC03FF0FFC03FF0FFC03FF0FFC03FF01C1271AF2F >92 D<000FFF000000FFFFE00007FFFFF8000FFFFFFC001FFFFFFF001FF803FF801FC000FF800F 8000FFC00E00007FE00C00007FE00000007FE00000007FE00000007FE00000007FE000003FFFE0 000FFFFFE0007FFFFFE001FFF07FE007FF807FE00FFC007FE01FF8007FE03FF0007FE07FE0007F E0FFC0007FE0FFC0007FE0FFC0007FE0FFC0007FE0FFC0007FE0FFC000FFE07FE000FFE07FF003 FFE03FF80FFFE01FFFFF7FE00FFFFE7FE007FFF87FE003FFE07FE0007F003FC023257DA42C>97 D<7F80000000FFC0000000FFC0000000FFC0000000FFC0000000FFC0000000FFC0000000FFC000 0000FFC0000000FFC0000000FFC0000000FFC07F8000FFC3FFF000FFCFFFF800FFDFFFFE00FFFF FFFF00FFFC07FF80FFF000FFC0FFC0007FE0FFC0003FE0FFC0003FF0FFC0001FF0FFC0001FF8FF C0001FF8FFC0000FF8FFC0000FFCFFC0000FFCFFC0000FFCFFC0000FFCFFC0000FFCFFC0000FFC FFC0000FFCFFC0000FFCFFC0000FFCFFC0000FF8FFC0001FF8FFC0001FF8FFC0001FF0FFC0003F E0FFC0007FE0FFC000FFC0FFF001FF80FFFC0FFF00FFFFFFFE00FFDFFFFC00FFCFFFF000FFC3FF C0007F80FE000026307BAF2F>I<0000FFE000000FFFFC00003FFFFF80007FFFFFE001FFFFFFE0 03FF803FE007FE000FE00FF80003C01FF80001C01FF00000C03FE00000003FE00000007FE00000 007FC00000007FC0000000FFC0000000FFC0000000FFC0000000FFC0000000FFC0000000FFC000 0000FFC00000007FC00000007FE00000007FE00000003FE00000003FF00000001FF00000601FF8 0000E00FF80003E007FE000FE003FF807FE001FFFFFFE0007FFFFFE0003FFFFF80000FFFFC0000 00FFC00023257DA42A>I<00000007F80000000FFC0000000FFC0000000FFC0000000FFC000000 0FFC0000000FFC0000000FFC0000000FFC0000000FFC0000000FFC0003FC0FFC001FFF8FFC007F FFCFFC00FFFFFFFC01FFFFFFFC03FFC07FFC07FE001FFC0FF8000FFC1FF0000FFC3FF0000FFC3F E0000FFC7FE0000FFC7FE0000FFC7FC0000FFCFFC0000FFCFFC0000FFCFFC0000FFCFFC0000FFC FFC0000FFCFFC0000FFCFFC0000FFCFFC0000FFCFFC0000FFC7FC0000FFC7FE0000FFC7FE0000F FC3FE0000FFC3FF0000FFC1FF0000FFC0FF8001FFC07FE003FFC07FF80FFFC03FFFFFFFC00FFFF EFFC007FFF8FFC001FFF0FFC0003F807F826307DAF2F>I<0001FF8000000FFFF000003FFFF800 00FFFFFE0001FFFFFF0003FF83FF8007FE00FFC00FF8007FC01FF8003FE03FF0003FE03FF0003F E07FE0001FF07FE0001FF07FFFFFFFF0FFFFFFFFF0FFFFFFFFF0FFFFFFFFE0FFC0000000FFC000 0000FFC0000000FFC0000000FFC0000000FFC00000007FC00000007FE00000003FE00000003FF0 0000301FF00000701FF80000F00FFC0003F007FF000FF003FFC07FF001FFFFFFF0007FFFFFC000 3FFFFF00000FFFFC000000FFC00024257DA42B>I<0000FFFC0007FFFC003FFFFC007FFFFC00FF FFFC01FFC07C03FF001C03FF000003FF000003FF000003FF00007FFFFE00FFFFFF00FFFFFF00FF FFFF007FFFFE0003FF000003FF000003FF000003FF000003FF000003FF000003FF000003FF0000 03FF000003FF000003FF000003FF000003FF000003FF000003FF000003FF000003FF000003FF00 0003FF000003FF000003FF000003FF000003FF000003FF000003FF000003FF000003FF000003FF 000003FF000003FF000003FF000001FE00001E307EAF1D>I<0001FC07F8000FFF0FFC003FFFCF FC00FFFFEFFC01FFFFFFFC03FFC0FFFC07FF003FFC0FFC001FFC1FF8000FFC1FF8000FFC3FF000 0FFC3FF0000FFC7FE0000FFC7FE0000FFCFFC0000FFCFFC0000FFCFFC0000FFCFFC0000FFCFFC0 000FFCFFC0000FFCFFC0000FFCFFC0000FFC7FE0001FFC7FE0001FFC7FE0001FFC3FF0003FFC1F F8003FFC1FFC007FFC0FFE007FFC07FF81EFFC03FFFFCFFC01FFFF8FFC007FFF0FFC001FFE0FFC 0003F80FFC0000000FFC0000000FFC0000000FFC0000000FF80400000FF80E00001FF00F80001F F00FE0003FE00FFE00FFC00FFFFFFF8007FFFFFF0003FFFFFC00007FFFF0000003FF800026317D A42F>I<7F80000000FFC0000000FFC0000000FFC0000000FFC0000000FFC0000000FFC0000000 FFC0000000FFC0000000FFC0000000FFC0000000FFC01FF000FFC0FFFE00FFC1FFFF00FFC7FFFF 80FFCFFFFFC0FFDF01FFE0FFFC007FE0FFF0003FF0FFF0003FF0FFE0003FF0FFE0003FF0FFC000 3FF0FFC0003FF0FFC0003FF0FFC0003FF0FFC0003FF0FFC0003FF0FFC0003FF0FFC0003FF0FFC0 003FF0FFC0003FF0FFC0003FF0FFC0003FF0FFC0003FF0FFC0003FF0FFC0003FF0FFC0003FF0FF C0003FF0FFC0003FF0FFC0003FF0FFC0003FF0FFC0003FF0FFC0003FF0FFC0003FF0FFC0003FF0 FFC0003FF07F80001FE024307BAF2F>I<7FC0FFE0FFE0FFE0FFE07FC000000000000000000000 00003FC07FE07FE07FE07FE07FE07FE07FE07FE07FE07FE07FE07FE07FE07FE07FE07FE07FE07F E07FE07FE07FE07FE07FE07FE07FE07FE07FE07FE07FE07FE07FE07FE07FE07FE07FE03FC00B31 7CB015>I<0003FE0007FF0007FF0007FF0007FF0003FE00000000000000000000000000000000 00000001FE0003FF0003FF0003FF0003FF0003FF0003FF0003FF0003FF0003FF0003FF0003FF00 03FF0003FF0003FF0003FF0003FF0003FF0003FF0003FF0003FF0003FF0003FF0003FF0003FF00 03FF0003FF0003FF0003FF0003FF0003FF0003FF0003FF0003FF0003FF0003FF0003FF0003FF00 03FF0003FF700FFF7FFFFEFFFFFCFFFFF87FFFF03FFFE003FF00183B87B017>I<7F00000000FF 80000000FF80000000FF80000000FF80000000FF80000000FF80000000FF80000000FF80000000 FF80000000FF80000000FF8003FF80FF800FFF80FF801FFF00FF803FFE00FF807FFC00FF80FFF8 00FF81FFF000FF83FFE000FF87FFC000FF8FFF0000FF9FFE0000FFBFFC0000FFFFF80000FFFFF0 0000FFFFE00000FFFFF00000FFFFF80000FFFFF80000FFFFFC0000FFFFFE0000FFF7FF0000FFE7 FF0000FFC3FF8000FF81FFC000FF80FFE000FF80FFE000FF807FF000FF803FF800FF801FFC00FF 801FFC00FF800FFE00FF8007FF00FF8003FF80FF8003FF80FF8001FFC0FF8000FFE07F00007FC0 23307AAF2C>I<7F80FFC0FFC0FFC0FFC0FFC0FFC0FFC0FFC0FFC0FFC0FFC0FFC0FFC0FFC0FFC0 FFC0FFC0FFC0FFC0FFC0FFC0FFC0FFC0FFC0FFC0FFC0FFC0FFC0FFC0FFC0FFC0FFC0FFC0FFC0FF C0FFC0FFC0FFC0FFC0FFC0FFC0FFC0FFC0FFC0FFC0FFC07F800A307BAF15>I<7F801FF00007FC 00FFC0FFFE003FFF80FFC1FFFF007FFFC0FFC7FFFF81FFFFE0FFCFFFFFC3FFFFF0FFDF01FFE7C0 7FF8FFFC007FEF001FF8FFF0003FFC000FFCFFF0003FFC000FFCFFE0003FF8000FFCFFE0003FF8 000FFCFFC0003FF0000FFCFFC0003FF0000FFCFFC0003FF0000FFCFFC0003FF0000FFCFFC0003F F0000FFCFFC0003FF0000FFCFFC0003FF0000FFCFFC0003FF0000FFCFFC0003FF0000FFCFFC000 3FF0000FFCFFC0003FF0000FFCFFC0003FF0000FFCFFC0003FF0000FFCFFC0003FF0000FFCFFC0 003FF0000FFCFFC0003FF0000FFCFFC0003FF0000FFCFFC0003FF0000FFCFFC0003FF0000FFCFF C0003FF0000FFCFFC0003FF0000FFCFFC0003FF0000FFCFFC0003FF0000FFCFFC0003FF0000FFC FFC0003FF0000FFC7F80001FE00007F83E257BA449>I<7F801FF000FFC0FFFE00FFC1FFFF00FF C7FFFF80FFCFFFFFC0FFDF01FFE0FFFC007FE0FFF0003FF0FFF0003FF0FFE0003FF0FFE0003FF0 FFC0003FF0FFC0003FF0FFC0003FF0FFC0003FF0FFC0003FF0FFC0003FF0FFC0003FF0FFC0003F F0FFC0003FF0FFC0003FF0FFC0003FF0FFC0003FF0FFC0003FF0FFC0003FF0FFC0003FF0FFC000 3FF0FFC0003FF0FFC0003FF0FFC0003FF0FFC0003FF0FFC0003FF0FFC0003FF0FFC0003FF0FFC0 003FF0FFC0003FF07F80001FE024257BA42F>I<0001FF8000000FFFF000003FFFFC0000FFFFFF 0001FFFFFF8003FF00FFC007FC003FE00FF8001FF01FF0000FF81FE00007F83FE00007FC3FE000 07FC7FC00003FE7FC00003FE7FC00003FEFFC00003FFFFC00003FFFFC00003FFFFC00003FFFFC0 0003FFFFC00003FFFFC00003FFFFC00003FF7FC00003FE7FE00007FE7FE00007FE3FE00007FC3F F0000FFC1FF0000FF80FF8001FF007FE007FE003FF81FFC001FFFFFF8000FFFFFF00003FFFFC00 000FFFF0000001FF800028257DA42F>I<7F807F8000FFC3FFF000FFCFFFF800FFDFFFFE00FFFF FFFF00FFFC07FF80FFF001FFC0FFC000FFE0FFC0007FE0FFC0003FF0FFC0003FF0FFC0001FF8FF C0001FF8FFC0001FF8FFC0000FFCFFC0000FFCFFC0000FFCFFC0000FFCFFC0000FFCFFC0000FFC FFC0000FFCFFC0000FFCFFC0000FFCFFC0001FF8FFC0001FF8FFC0003FF8FFC0003FF0FFC0007F E0FFC0007FE0FFC000FFC0FFF003FF80FFFC0FFF00FFFFFFFE00FFDFFFFC00FFCFFFF000FFC3FF C000FFC0FE0000FFC0000000FFC0000000FFC0000000FFC0000000FFC0000000FFC0000000FFC0 000000FFC0000000FFC00000007F80000000262F7BA42F>I<0001FC07F8000FFF0FFC003FFFCF FC00FFFFEFFC01FFFFFFFC03FFC0FFFC07FF003FFC0FFC001FFC1FF8000FFC1FF8000FFC3FF000 0FFC3FF0000FFC7FE0000FFC7FE0000FFCFFC0000FFCFFC0000FFCFFC0000FFCFFC0000FFCFFC0 000FFCFFC0000FFCFFC0000FFCFFC0000FFCFFC0000FFC7FE0000FFC7FE0000FFC7FE0000FFC3F F0000FFC3FF0000FFC1FF8000FFC0FFC001FFC07FE007FFC03FF81FFFC01FFFFEFFC00FFFFCFFC 007FFF8FFC001FFF0FFC0003F80FFC0000000FFC0000000FFC0000000FFC0000000FFC0000000F FC0000000FFC0000000FFC0000000FFC0000000FFC00000007F8262F7DA42F>I<7F801FFFC07F FFC1FFFFC3FFFFC7FFFFCFFFFFDFFFFFDFFFFFFFC0FFFE00FFF800FFF000FFE000FFE000FFC000 FFC000FFC000FFC000FFC000FFC000FFC000FFC000FFC000FFC000FFC000FFC000FFC000FFC000 FFC000FFC000FFC000FFC000FFC000FFC000FFC000FFC0007F800018257BA41F>I<003FF00001 FFFF0007FFFFC00FFFFFF01FFFFFF03FFFFFF07FC01FF07F8003E0FF0001E0FF000060FF000000 FF800000FFE00000FFFF00007FFFF8007FFFFE003FFFFF801FFFFFC00FFFFFE007FFFFF003FFFF F8007FFFF80007FFFC00003FFC200007FC600003FC700003FC780003FC7E0003FCFF0007F8FFE0 1FF8FFFFFFF0FFFFFFE03FFFFFC00FFFFF8003FFFE00003FF0001E257DA424>I<01FE000003FF 000003FF000003FF000003FF000003FF000003FF000003FF000003FF000003FF000003FF00007F FFFFC0FFFFFFE0FFFFFFE0FFFFFFE07FFFFFC003FF000003FF000003FF000003FF000003FF0000 03FF000003FF000003FF000003FF000003FF000003FF000003FF000003FF000003FF000003FF00 0003FF000003FF000003FF000003FF000003FF000003FF000003FF000003FF000003FF000003FF 003003FF807001FF81F801FFFFF800FFFFF0007FFFE0003FFF00001FF0001D307EAF22>I<7F80 001FE0FFC0003FF0FFC0003FF0FFC0003FF0FFC0003FF0FFC0003FF0FFC0003FF0FFC0003FF0FF C0003FF0FFC0003FF0FFC0003FF0FFC0003FF0FFC0003FF0FFC0003FF0FFC0003FF0FFC0003FF0 FFC0003FF0FFC0003FF0FFC0003FF0FFC0003FF0FFC0003FF0FFC0003FF0FFC0003FF0FFC0003F F0FFC0003FF0FFC0003FF0FFC0007FF0FFC0007FF0FFC000FFF0FFC001FFF07FC003BFF07FF00F BFF03FFFFF3FF01FFFFE3FF00FFFF83FF007FFF03FF000FF801FE024257BA42F>III<7FE0001FF87FF0003FF83FF0003FF01FF8 007FF01FFC00FFE00FFE01FFC007FF01FF8003FF83FF0001FF87FE0000FFCFFC00007FEFFC0000 7FFFF800003FFFF000001FFFE000000FFFC0000007FF80000003FF80000001FF00000003FF0000 0003FF80000007FFC000000FFFE000001FFFF000003FFFF000007FCFF800007FC7FC0000FF87FE 0001FF03FF0003FF01FF8007FE00FFC00FFC00FFC00FFC007FE01FF8003FF03FF0001FF87FF000 1FFCFFE0000FFE7FC00007FC27257FA42A>II<3FFFFFFF807FFFFFFFC07FFF FFFFC07FFFFFFFC03FFFFFFF80000001FF80000003FF00000007FE0000000FFC0000001FF80000 001FF80000003FF00000007FE0000000FFC0000001FF80000003FF00000003FF00000007FE0000 000FFC0000001FF80000003FF00000003FF00000007FE0000000FFC0000001FF80000003FF0000 0007FE00000007FE0000000FFC0000001FF80000003FF00000007FE00000007FFFFFFF80FFFFFF FFC0FFFFFFFFC0FFFFFFFFC07FFFFFFF8022257DA429>I<7FFFFFFFFFF8FFFFFFFFFFFCFFFFFF FFFFFCFFFFFFFFFFFC7FFFFFFFFFF82E0580982F>I E /Fi 2 16 df<600000000300F0000000 0780F80000000F807C0000001F003E0000003E001F0000007C000F800000F80007C00001F00003 E00003E00001F00007C00000F8000F8000007C001F0000003E003E0000001F007C0000000F80F8 00000007C1F000000003E3E000000001F7C000000000FF80000000007F00000000003E00000000 003E00000000007F0000000000FF8000000001F7C000000003E3E000000007C1F00000000F80F8 0000001F007C0000003E003E0000007C001F000000F8000F800001F00007C00003E00003E00007 C00001F0000F800000F8001F0000007C003E0000003E007C0000001F00F80000000F80F0000000 0780600000000300292A73A944>2 D<0007F00000003FFE000000FFFF800001FFFFC00003FFFF E00007FFFFF0000FFFFFF8001FFFFFFC003FFFFFFE003FFFFFFE007FFFFFFF007FFFFFFF007FFF FFFF00FFFFFFFF80FFFFFFFF80FFFFFFFF80FFFFFFFF80FFFFFFFF80FFFFFFFF80FFFFFFFF80FF FFFFFF807FFFFFFF007FFFFFFF007FFFFFFF003FFFFFFE003FFFFFFE001FFFFFFC000FFFFFF800 07FFFFF00003FFFFE00001FFFFC00000FFFF8000003FFE00000007F0000021227BA52C>15 D E /Fj 50 123 df<000000007C00003FC0FE0001FFE0FE0003FFE0FE000FFFC0FE001F80C0FE 001E00007C003E000000003E000000007C000000007C000000007C000000007C0000007FFFFE00 E0FFFFFF01F0FFFFFF01F07FFFFE01F000F80001F001F80003F001F00003E001F00003E001F000 03E001F00003E003F00007E003E00007C003E00007C003E00007C007E0000FC007C0000F8007C0 000F8007C0000F8007C0000F800FC0001F800F80001F000F80001F000F80001F000F80001F001F 80003F001F00003E001F00003E001F00003E003F00007E003E00007C003E00007C003E00007C00 3E00007C007E0000FC007C0000F8003800007000273178B02D>12 D<1F801FC01FC03F803F803F 803F800F000E001E001C003C00380070007000E000C0000A1171AF18>39 D<00000078000000F8000003E0000007C000001F0000003E0000007C000000F8000001F0000003 E0000007C000000F8000001F0000001E0000003E0000007C000000F8000000F8000001F0000001 E0000003E0000007C0000007C000000F8000000F8000000F8000001F0000001F0000001E000000 3E0000003E0000003E0000007C0000007C0000007C0000007C0000007C000000F8000000F80000 00F8000000F8000000F8000000F8000000F8000000F8000000F8000000F8000000780000007C00 00007C0000007C0000007C0000003C0000003E0000003E0000001E0000001F0000000F0000000F 8000000780000003C0000001E0000001F0000000F80000007C0000003E0000000E00001D4377B4 21>I<000380000003C0000001E0000000F0000000780000007C0000003E0000001E0000001F00 00000F0000000F8000000780000007C0000003C0000003E0000003E0000003E0000001E0000001 F0000001F0000001F0000001F0000001F0000001F0000001F0000001F0000001F0000001F00000 01F0000001F0000001F0000001F0000003E0000003E0000003E0000003E0000007C0000007C000 0007C000000F8000000F8000000F8000001F0000001F0000003E0000003E0000007C0000007C00 0000F8000000F8000001F0000003E0000003C0000007C000000F8000001F0000001E0000003C00 000078000000F0000001E0000007C000000F8000001F0000007C000000F8000000E00000001C43 7DB421>I<0FC01FC01FC01FC01FC03F801F800F000F001E001C003C00380078007000E0006000 0A117A8618>44 D<7FFFF8FFFFFCFFFFFC7FFFF816047B931D>I<3F7F7F7F7FFE7E0807788618> I<0000000000700000000000F00000000001F80000000001F00000000003F00000000007E00000 000007C0000000000FC0000000000F80000000001F80000000003F00000000003E00000000007E 0000000000FC0000000000F80000000001F80000000003F00000000003E00000000007E0000000 000FC0000000000F80000000001F80000000003F00000000003E00000000007E00000000007C00 00000000FC0000000001F80000000001F00000000003F00000000007E00000000007C000000000 0FC0000000001F80000000001F00000000003F00000000007E00000000007C0000000000FC0000 000001F80000000001F00000000003F00000000007E00000000007C0000000000FC0000000000F 80000000001F80000000003F00000000003E00000000007E0000000000FC0000000000F8000000 0001F80000000003F00000000003E00000000007E0000000000FC0000000000F80000000001F80 000000003F00000000003E00000000007E00000000007C0000000000FC0000000000F800000000 00F000000000007000000000002D437DB42B>I<00003FE0000001FFFC000007FFFE00000FFFFF 00003FC03F80007E000FC000FC0007C001F80003E001F00003E003E00001E007C00001F007C000 01F00F800001F00F800001F01F000001F01F000001F01E000001F03E000001F03E000001F03E00 0001F07C000003E07C000003E07C000003E07C000003E07C000003E0F8000007C0F8000007C0F8 000007C0F8000007C0F800000F80F800000F80F800000F80F000001F00F000001F00F800003E00 F800003E00F800007C00F800007C00F80000F8007C0001F0007E0003E0003F000FC0003FC07F80 001FFFFF00000FFFFC000003FFF00000007F800000242F78AD2B>I<0000060000000F0000003F 000001FF00007FFF0000FFFF0001FFFF0000FF3E0000403E0000003E0000007E0000007C000000 7C0000007C0000007C000000FC000000F8000000F8000000F8000000F8000001F8000001F00000 01F0000001F0000003F0000003E0000003E0000003E0000003E0000007E0000007C0000007C000 0007C0000007C000000FC000000F8000000F8000000F8000001F8000001F0000001F0000001F00 007FFFFF80FFFFFFC0FFFFFFC07FFFFF801A2E77AD2B>I<00FC01FC01FC01FC01FC03F801F800 000000000000000000000000000000000000000000000000000000000000000000000000000000 000000003F007F007F007F007F00FE007E000E2478A318>58 D<007FF80007FFFF003FFFFFC07F FFFFE0FFC00FF07C0001F8700000F8400000F8000000F8000000F8000000F8000001F0000001F0 000007E000001FC000007F800000FF000003FC000007F000000FE000001F8000003F0000007E00 0000FC000000FC000001F8000003F0000003F0000003F0000007E0000007E0000007E0000007E0 000000000000000000000000000000000000000000000000000000000000000000001F0000003F 8000003F8000003F8000007F8000007F0000003E0000001D3072AF29>63 D<00000003F00000000007F0000000000FF8000000000FF8000000001FF8000000003EF8000000 003CFC000000007CFC00000000F8FC00000000F0FC00000001F0FE00000003E07E00000003C07E 00000007C07E0000000F807F0000000F003F0000001F003F0000003E003F0000003E003F800000 7C003F800000F8001F800000F8001F800001F0001FC00003E0001FC00003E0000FC00007C0000F C0000F80000FE0001F80000FE0001F000007E0003E000007E0007FFFFFFFF0007FFFFFFFF000FF FFFFFFF001FFFFFFFFF001FFFFFFFFF803E0000003F807E0000001F807C0000001F80F80000001 FC1F80000001FC1F00000000FC3E00000000FC7E00000000FC7C00000000FEF8000000007EF000 0000007EE0000000003E2F2F7CAE37>65 D<001FFFFFE000003FFFFFFE00007FFFFFFF80007FFF FFFFE0007FFFFFFFF0007E0000FFF8007E00000FFC00FE000001FE00FC000000FE00FC0000007E 00FC0000003F01FC0000003F01F80000003E01F80000007E01F80000007E01F8000000FC03F800 0001F803F0000007F003F000003FE003F00001FF8003F0007FFE0007FFFFFFF00007FFFFFFC000 07FFFFFFF80007FFFFFFFE000FE00001FF800FC000003FC00FC000000FE00FC0000007F00FC000 0003F01FC0000001F81F80000001F81F80000001F81F80000001F81F80000001F83F80000003F0 3F00000003F03F00000007E03F0000001FC07F0000007FC07E000003FF807E00003FFE007FFFFF FFFC007FFFFFFFF000FFFFFFFFC000FFFFFFFE00007FFFFFE00000302F78AE38>I<001FFFFFF8 0000003FFFFFFF0000007FFFFFFFC000007FFFFFFFF000007FFFFFFFFC00007E00003FFE00007E 000003FF0000FE000000FF0000FC0000007F8000FC0000001FC000FC0000000FC001FC0000000F E001F800000007E001F800000007F001F800000003F001F800000003F003F800000003F003F000 000003F003F000000003F003F000000001F003F000000003F007F000000003F007E000000003F0 07E000000003F007E000000003F00FE000000003F00FC000000007E00FC000000007E00FC00000 0007C00FC00000000FC01FC00000001F801F800000001F801F800000003F001F800000007F001F 80000000FE003F80000001FC003F00000003F8003F00000007F0003F0000001FE0007F0000007F C0007E000001FF80007E00001FFE00007FFFFFFFFC00007FFFFFFFF00000FFFFFFFFC00000FFFF FFFE0000007FFFFFE0000000342F78AE3D>68 D<001FFFFFFFFE003FFFFFFFFF007FFFFFFFFF00 7FFFFFFFFE007FFFFFFFFC007E00000000007E0000000000FE0000000000FC0000000000FC0000 000000FC0000000001FC0000000001F80000000001F80000000001F80000000001F80000000003 F80000000003F00000000003F00000000003F00000000003F00000000007FFFFFFFE0007FFFFFF FF0007FFFFFFFF0007FFFFFFFF000FFFFFFFFE000FC0000000000FC0000000000FC0000000000F C0000000001FC0000000001F80000000001F80000000001F80000000001F80000000003F800000 00003F00000000003F00000000003F00000000007F00000000007E00000000007E00000000007E 00000000007E0000000000FE0000000000FC0000000000780000000000302F78AE33>70 D<001E0000000F00003F0000001F80007F0000003F80007E0000003F00007E0000003F00007E00 00003F00007E0000003F0000FE0000007F0000FC0000007E0000FC0000007E0000FC0000007E00 01FC000000FE0001F8000000FC0001F8000000FC0001F8000000FC0001F8000000FC0003F80000 01FC0003F0000001F80003F0000001F80003F0000001F80003FFFFFFFFF80007FFFFFFFFF80007 FFFFFFFFF00007FFFFFFFFF00007FFFFFFFFF0000FE0000007F0000FC0000007E0000FC0000007 E0000FC0000007E0000FC0000007E0001FC000000FE0001F8000000FC0001F8000000FC0001F80 00000FC0001F8000000FC0003F8000001FC0003F0000001F80003F0000001F80003F0000001F80 007F0000003F80007E0000003F00007E0000003F00007E0000003F00007E0000003F0000FE0000 007F0000FC0000007E0000780000003C0000312F78AE38>72 D<001FFFC0003FFFE0007FFFE000 7FFFC0003FFF800001F8000001F8000003F8000003F0000003F0000003F0000007F0000007E000 0007E0000007E0000007E000000FE000000FC000000FC000000FC000000FC000001FC000001F80 00001F8000001F8000003F8000003F0000003F0000003F0000003F0000007F0000007E0000007E 0000007E0000007E000000FE000000FC000000FC000000FC000001FC000001F8000001F800003F FF80007FFFC000FFFFC000FFFF80007FFF00001B2F7EAE16>I<001FC000000001FC003FE00000 0003FE007FE000000007FE007FE00000000FFC007FF00000001FFC007FF00000001FFC007FF000 00003EFC00FFF00000007DFC00F9F80000007DF800F9F8000000F9F800F9F8000001F1F801F9F8 000001F3F801F0FC000003E3F001F0FC000007C3F001F0FC000007C3F001F0FC00000F83F003F0 7C00001F07F003E07E00001F07E003E07E00003E07E003E07E00007C07E003E07E00007C07E007 E03F0000F80FE007C03F0000F00FC007C03F0001F00FC007C03F0003E00FC00FC01F8003C01FC0 0F801F8007C01F800F801F800F801F800F801F800F001F800F800F801F001F801F800FC03E003F 801F000FC03C003F001F000FC07C003F001F0007C0F8003F001F0007E0F0003F003F0007E1F000 7F003E0007E1E0007E003E0003E3C0007E003E0003E7C0007E007E0003E78000FE007C0003EF00 00FC007C0001FF0000FC007C0001FE0000FC007C0001FC0000FC00FC0001FC0001FC00F80000F0 0001F800700000000000F0003F2F78AE46>77 D<001FFFFFF000003FFFFFFE00007FFFFFFF8000 7FFFFFFFE0007FFFFFFFF0007E00003FF8007E000007FC00FE000001FC00FC000000FE00FC0000 007E00FC0000007E01FC0000007E01F80000003E01F80000007E01F80000007E01F80000007E03 F8000000FC03F0000000FC03F0000001F803F0000003F003F000000FE007F000003FC007E00001 FF8007FFFFFFFE0007FFFFFFFC000FFFFFFFE0000FFFFFFF00000FC0000000000FC0000000000F C0000000001FC0000000001F80000000001F80000000001F80000000001F80000000003F800000 00003F00000000003F00000000003F00000000007F00000000007E00000000007E00000000007E 00000000007E0000000000FE0000000000FC00000000007800000000002F2F78AE36>80 D<001FFFFFF00000003FFFFFFF0000007FFFFFFFE000007FFFFFFFF000007FFFFFFFFC00007E00 000FFE00007E000001FF0000FE0000007F0000FC0000003F8000FC0000001F8000FC0000001F80 01FC0000000F8001F80000000F8001F80000001F8001F80000001F8001F80000003F0003F80000 003F0003F0000000FE0003F0000001FC0003F000000FF00003F00000FFE00007FFFFFFFF800007 FFFFFFFE000007FFFFFFF0000007FFFFFF0000000FE0003F0000000FC0001F8000000FC0000F80 00000FC0000FC000000FC00007E000001FC00007E000001F800003F000001F800001F000001F80 0001F800001F800000FC00003F800000FC00003F0000007E00003F0000007E00003F0000003F00 007F0000001F80007E0000001F80007E0000000FC0007E0000000FC0007E00000007E000FE0000 0003F000FC00000003F0007800000001F000312F78AE38>82 D<000001FFE00000000FFFFE0000 007FFFFF800001FFFFFFE00003FFFFFFE00007FE007FE0000FF00007C0001FC00001C0003F0000 0080007E0000000000FC0000000000FC0000000000FC0000000001F80000000001F80000000001 FC0000000001FC0000000000FE0000000000FF80000000007FE0000000007FFF000000003FFFF8 0000000FFFFF00000007FFFFC0000001FFFFE00000003FFFF000000001FFF8000000000FFC0000 000003FE0000000000FE00000000007F00000000007F00000000003F00000000003F0000000000 3F00000000003F00000000007E00000000007E0020000000FC0070000000FC007C000003F8007F 000007F000FFC0001FE0007FFC00FFC0003FFFFFFF80000FFFFFFE000003FFFFF8000000FFFFE0 00000007FE0000002B317BAF30>I<3FFFFFFFFFFFFE7FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFE7FFFFFFFFFFFFC0000007E0000000000007E000000000000FE000000000000FC000000 000000FC000000000000FC000000000001FC000000000001F8000000000001F8000000000001F8 000000000001F8000000000003F8000000000003F0000000000003F0000000000003F000000000 0003F0000000000007F0000000000007E0000000000007E0000000000007E000000000000FE000 000000000FC000000000000FC000000000000FC000000000000FC000000000001FC00000000000 1F8000000000001F8000000000001F8000000000001F8000000000003F8000000000003F000000 0000003F0000000000003F0000000000007F0000000000007E0000000000007E0000000000007E 0000000000007E000000000000FE000000000000FC0000000000007800000000382F74AE3E>I< 00F00000003801F80000007C03F8000000FC03F0000000F803F0000000F803F0000000F803F000 0000F807F0000001F807E0000001F007E0000001F007E0000001F00FE0000003F00FC0000003E0 0FC0000003E00FC0000003E00FC0000003E01FC0000007E01F80000007C01F80000007C01F8000 0007C01F80000007C03F8000000FC03F0000000F803F0000000F803F0000000F807F0000001F80 7E0000001F007E0000001F007E0000001F007E0000001F00FE0000003F00FC0000003E00FC0000 003E00FC0000007E00FC0000007C00FC000000FC00FC000000F8007E000001F8007E000003F000 7F00000FE0003F80001FC0001FE0007F80000FF807FF000007FFFFFE000003FFFFF8000001FFFF F00000007FFF800000000FFC0000002E3075AE38>I87 D<018001C00380078007000F000E001E003C003C007E007F007F00FE00FE00FE00FC000A1171AF 18>96 D<0001FF00001FFFC000FFFFF003FFFFF803FC00FC07E0007C0700003E0200003E000000 3E0000003E0000003E0000003E0000003E0000003E0000003E0000FFFC000FFFFC007FF87C01FE 007C07F0007C0FC000F81F0000F83E0000F87C0000F87C0001F0F80001F0F80001F0F80003F0F8 0003F0F80007E0FC001FE07F00FBE07FFFF3E03FFFC7E01FFF07C007F803801F2479A329>I<00 1C000000003E000000003E000000007E000000007C000000007C000000007C000000007C000000 00FC00000000F800000000F800000000F800000001F80FE00001F07FF80001F1FFFC0001F3FFFE 0001F7C07F0003FE001F8003FC000FC003F00007C003F00007C003E00003E007E00003E007C000 03E007C00003E007C00003E00FC00003E00F800003E00F800003E00F800003E00F800003E01F80 0007C01F000007C01F000007C01F00000F801F00000F803F00001F003E00001F003F00003E003F 00007C007F0000F8007F8003F0007D8007E0007DE03FC0007CFFFF8000FC7FFE0000F83FF80000 700FE00000233079AF2B>I<00007FE0000003FFFC000007FFFF00001FFFFF80003F803FC000FE 00078001F800038003F000000003E000000007C00000000F800000001F000000001F000000003E 000000003E000000003E000000007C000000007C000000007C000000007C00000000F800000000 F800000000F80000000078000000007C000000007C000000007C000000003E000008003E00001C 001F000078001F8001F8000FE01FF80007FFFFE00003FFFF800000FFFE0000003FE00000222479 A326>I<0000000038000000007C000000007C00000000FC00000000F800000000F800000000F8 00000000F800000001F800000001F000000001F000000001F000007F03F00003FFC3E0000FFFE3 E0001FFFF3E0007FC07BE000FE001FE001F8001FC003F0000FC007E0000FC007C00007C00F8000 0FC01F00000F801F00000F803E00000F803E00001F803E00001F007C00001F007C00001F007C00 001F007C00003F00F800003E00F800003E00F800003E00F800003E007C00007E007C00007C007C 0000FC007C0000FC003E0001FC003F0007F8001F800EF8000FE03CF80007FFF8F80003FFF1F800 01FFC1F000007F00E000263079AF2B>I<0000FF000007FFC0000FFFF0003FFFF8007F81F800FE 007C01F8003E03F0001E07C0001E0FC0001F0F80000F1F00000F1F00000F3E00000F3E00001F7C 00001E7FFFFFFE7FFFFFFE7FFFFFFC78000000F8000000F8000000F80000007800000078000000 7C0000007C0000007C0000003E0000101F0000701F8001F00FE01FF007FFFFC003FFFF0000FFFC 00003FE000202479A326>I<00001FFC0000FFFE0003FFFE0007FFFC000FC00C001F0000003E00 00003E0000007C0000007C0000007C0000007C00007FFFF800FFFFFC00FFFFFC007FFFF80000F8 000001F8000001F0000001F0000001F0000001F0000003F0000003E0000003E0000003E0000007 E0000007C0000007C0000007C0000007C000000FC000000F8000000F8000000F8000000F800000 1F8000001F0000001F0000001F0000003F0000003E0000003E0000003E0000003E0000007E0000 007C000000380000001F3078AF1A>I<00000FE03800007FF07C0001FFFC7C0003FFFE7C000FF8 1E7C001FC007FC003F8003F8007E0003F800FC0001F800F80001F801F00001F803F00001F003E0 0001F007C00001F007C00003F007C00003E00F800003E00F800003E00F800003E00F800007E01F 000007C01F000007C01F80000FC00F80000FC00F80001FC00F80001F800FC0003F8007C0007F80 07E000FF8003F001DF0001FC079F0000FFFF1F00007FFE1F00003FF83F00000FE03E000000003E 000000003E000000003C000000007C000000007800600000F000700001F0007E0007E000FFC01F C0007FFFFF00003FFFFE000007FFF80000007FE0000026307CA32B>I<001C000000003E000000 003E000000007E000000007C000000007C000000007C000000007C00000000FC00000000F80000 0000F800000000F800000001F80FF00001F03FFC0001F0FFFE0001F1FFFF0001F3C03F8003F700 0F8003EE000FC003F8000FC003F00007C003F00007C007E0000F8007E0000F8007C0000F8007C0 000F800FC0001F800F80001F000F80001F000F80001F000F80001F001F80003F001F00003E001F 00003E001F00003E001F00003E003F00007E003E00007C003E00007C003E00007C007E0000FC00 7C0000F8007C0000F8007C0000F8007C0000F800FC0001F800F80001F000700000E000223079AF 2B>I<007C00FE00FE00FE00FE00FE007C00000000000000000000000000E001F001F001F001F0 03F003E003E003E003E007E007C007C007C00FC00F800F800F800F801F801F001F001F001F003F 003E003E003E007E007C007C007C007C00FC00F80070000F3179B014>I<001C000000003E0000 00003E000000007E000000007C000000007C000000007C000000007C00000000FC00000000F800 000000F800000000F800000001F80001F001F00003F001F0000FE001F0001FC001F0003F8003F0 00FE0003E001FC0003E003F80003E00FE00003E01FC00007E03F800007C07E000007C1FC000007 C3F800000FC7F000000F9FF000000FBFF800000FFFF800000FFCFC00001FF87E00001FF07E0000 1FC03F00001F803F00001F001F80003F001F80003E000FC0003E0007E0003E0007E0007E0003F0 007C0003F0007C0001F8007C0001F8007C0000FC00FC0000FE00F800007E007000003E00243079 AF29>107 D<001C003E003E007E007C007C007C007C00FC00F800F800F801F801F001F001F001 F003F003E003E003E003E007E007C007C007C00FC00F800F800F800F801F801F001F001F001F00 3F003E003E003E007E007C007C007C007C00FC00F80070000F3079AF14>I<00E007F80007F800 01F03FFE003FFE0001F0FFFF00FFFF0001F1FFFF81FFFF8001F3E01FC3E01FC003F70007C70007 C003EE0007EE0007E003F80007F80007E003F80003F80003E003F00003F00003E007E00007E000 07C007E00007E00007C007C00007C00007C007C00007C00007C00FC0000FC0000FC00F80000F80 000F800F80000F80000F800F80000F80000F800F80000F80000F801F80001F80001F801F00001F 00001F001F00001F00001F001F00001F00001F001F00001F00001F003F00003F00003F003E0000 3E00003E003E00003E00003E003E00003E00003E007E00007E00007E007C00007C00007C007C00 007C00007C007C00007C00007C007C00007C00007C00FC0000FC0000FC00F80000F80000F80070 000070000070003B2479A344>I<00E00FF00001F03FFC0001F0FFFE0001F1FFFF0001F3C03F80 03F7000F8003EE000FC003F8000FC003F00007C003F00007C007E0000F8007E0000F8007C0000F 8007C0000F800FC0001F800F80001F000F80001F000F80001F000F80001F001F80003F001F0000 3E001F00003E001F00003E001F00003E003F00007E003E00007C003E00007C003E00007C007E00 00FC007C0000F8007C0000F8007C0000F8007C0000F800FC0001F800F80001F000700000E00022 2479A32B>I<00003FE0000001FFFC000007FFFE00001FFFFF80003FC03FC0007E000FC001F800 03E003F00003F003E00001F007C00000F00F800000F81F000000F81F000000F83E000000F83E00 0000F83C000000F87C000000F87C000000F87C000000F87C000001F0FC000001F0F8000001F0F8 000003E0FC000003E07C000007C07C00000FC07C00000F807E00001F003F00003E003F0000FC00 1FC001F8000FF00FF00007FFFFC00003FFFF800000FFFE0000001FE0000025247AA32B>I<0038 03F800007C1FFE00007C7FFF00007CFFFF80007DF03FC000FF800FE000FF0003F000FC0003F000 FC0001F000F80001F801F80000F801F00000F801F00000F801F00000F803F00000F803E00000F8 03E00000F803E00000F803E00000F807E00001F007C00001F007C00001F007C00003E007C00003 E00FC00007C00F80000FC00FC0000F800FC0001F001FC0007E001FE000FC001F6003F8001F781F F0001F3FFFE0003F1FFF80003E0FFE00003E03F800003E000000003E000000007E000000007C00 0000007C000000007C000000007C00000000FC00000000F8000000007000000000252E7BA32B> I<00E001E001F00FE001F03FE001F07FE001F1FFC003F3FC0003E7E00003EF800003FE000003FC 000007F8000007F0000007E0000007E000000FC000000FC000000F8000000F8000000F8000001F 8000001F0000001F0000001F0000001F0000003F0000003E0000003E0000003E0000007E000000 7C0000007C0000007C0000007C000000FC000000F8000000700000001B2479A31D>114 D<0000FFC00007FFF0001FFFFC003FFFFE007F007F00F8001E01F0000603E0000003E0000003E0 000007E0000007E0000003E0000003F0000003FE000001FFF80000FFFF00007FFF80001FFFE000 01FFF000000FF0000003F8000001F8000000F8000000F8000000F8000000F8200000F8700001F0 780003F0FE0007E07FC03FC03FFFFF801FFFFF0003FFFC00007FE00020247DA321>I<00380000 7C00007C00007C00007C00007C0000FC0000F80000F80000F8007FFFFEFFFFFFFFFFFF7FFFFE01 F00003E00003E00003E00003E00003E00007C00007C00007C00007C00007C0000F80000F80000F 80000F80000F80001F00001F00001F00001F00003E00003E00003E00003E00003E00003E00403E 01C03E0FE03FFFC03FFF801FFE0007E000182E77AD1F>I<038000070007C0000F8007C0000F80 07C0000F8007C0000F800FC0001F800F80001F000F80001F000F80001F000F80001F001F80003F 001F00003E001F00003E001F00003E003F00007E003E00007C003E00007C003E00007C003E0000 7C007E0000FC007C0000F8007C0000F8007C0000F8007C0000F800FC0001F800F80001F000F800 03F000F80003F000F80007F000F8001FE000F8003BE000FC01F3E0007FFFE3E0003FFFC7E0001F FF07C00007F8038000212477A32B>I<7800000380F800000F80FC00000F80FC00001F007C0000 1F007C00003E007C00007C007C00007C007E0000F8003E0000F8003E0001F0003E0003E0003E00 03E0003F0007C0001F0007C0001F000F80001F001F00001F001F00001F003E00001F807E00000F 807C00000F80F800000F80F800000F81F000000FC3F0000007C3E0000007C7C0000007C7C00000 07CF80000007FF00000007FF00000003FE00000003FE00000003FC00000003F800000001F00000 00212477A326>I<700000F8000070F80001F80000F8F80001F80001F0F80003FC0001F0F80007 FC0003E0FC0007BC0003E07C000F3C0007C07C000F3C000F807C001E3C000F807C001E3C001F00 7C003C3C001F007C003C3C003E007C00783E003E007C00783E007C007C00F03E007C003E00F03E 00F8003E01E03E00F8003E01E03E01F0003E03C03E01F0003E03C01E03E0003E07801E03E0003E 07801E07C0003E0F001E0780003E0F001F0F80003E1E001F0F00001E1E001F1F00001E3C001F1E 00001F38001F3E00001F78000F3C00001F70000F7C00001EF0000F7800001FE0000FF800001FE0 000FF000001FC0000FF000000FC0000FE000000F800007C00000352477A339>I<00F000001E01 F800003E00FC00007E00FC0000F8007E0001F0003F0003E0001F0007C0001F800F80000FC01F00 0007C07E000007E0FC000003E1F8000001F3F0000001FFE0000000FFC00000007F800000007F00 0000003E000000007E00000000FF00000001EF80000003CF8000000F87C000001F03E000003E03 E000007C01F00000F801F80001F000F80003E0007C0007C0007E000F80003E001F00003F003E00 001F807C00000F80F800000FC0F00000078027247EA326>I<00780000038000F800000F8000FC 00000F80007C00001F00007C00001F00007C00003E00007E00007C00003E00007C00003E0000F8 00003E0001F800003E0001F000003F0003E000001F0003E000001F0007C000001F000F8000001F 800F8000001F801F0000000F801F0000000F803E0000000F807C0000000F807C00000007C0F800 000007C0F800000007C1F000000007C1E000000007C3E000000003C7C000000003E78000000003 EF8000000003EF0000000001EF0000000001FE0000000001FC0000000001FC0000000001F80000 000000F00000000001F00000000001E00000000003E00000000003C0000000000780000000601F 000000007FFE000000007FFC00000000FFF0000000007FC000000000292E7FA326>I<003FFFFF FC007FFFFFFC007FFFFFFC003FFFFFFC00000001F800000003E000000007C00000000F80000000 1F000000003E000000007C00000001F800000003F000000007E00000000FC00000001F80000000 3F000000007E00000000FC00000001F800000003E000000007C00000000F800000001F00000000 3E000000007C00000001F800000003F000000007E00000000FC00000001F800000003F00000000 7FFFFFFC007FFFFFFE00FFFFFFFE007FFFFFFC0026247EA325>I E /Fk 1 128 df<00000000FC0000000000000001FC00000000000000018C00000000000000018C0000 0000000000018C0000000000000001FC0000000000000001FC0000000000000007070000000000 00000E03800000000000001800C0000000000000300060000000000000600030000000000000C0 001800000000000180000C00000000000300000600000000000600000300000000000C00000180 0000000018000000C00000000030000000600000000060C000003000000000C0FE000018000000 0180FFF8000C0000000301FFFFC0060000000601FFFFFE030000000C01FFFFFF818000001801FF FFFFC0C0000030003FFFFFE0600000600001FFFFE0300000C000000FFFF0180001800000003FF0 0C00030000000007F00600060000000007F003000C000000003FF001801800000000FFE000C030 00000007FFE00060600000003FFFC0003060000000FFFF800030C0000007FFFF000018C000003F FFF8000018C00000FFFFE0000018C00007FFFF0000001860000FFFF80000003060001FFFE00000 003030003FFF000000006018003FF800000000C00C007FE0000000018006007F00000000030003 007F00000000060001807FE00000000C0000C07FFF800000180000603FFFFC0000300000303FFF FFE000600000181FFFFFFC00C000000C0FFFFFFC018000000603FFFFFC0300000003001FFFFC06 000000018000FFF80C00000000C00003F818000000006000001830000000003000000060000000 0018000000C0000000000C00000180000000000600000300000000000300000600000000000180 000C000000000000C000180000000000006000300000000000003000600000000000001800C000 00000000000E038000000000000007070000000000000001FC0000000000000001FC0000000000 0000018C00000000000000018C00000000000000018C00000000000000018C0000000000000001 8C00000000000000018C00000000000000018C00000000000000018C00000000000000018C0000 0000000000018C00000000000000018C00000000000000018C00000000000000018C0000000000 0000018C00000000000000018C00000000000000018C00000000000000018C0000000000000001 8C00000000000000018C00000000000FFFFFFFFFFF8000000FFFFFFFFFFF8000455E80A645> 127 D E /Fl 78 124 df<0000FFF801FFF00003FFF807FFF0000FFFF81FFFF0001FFFF83FFFF0 003F00107E002000780000F0000000F80001F0000000F80001F0000000F80001F0000000F80001 F0000000F80001F0000000F80001F000007FFFFC01FFF800FFFFFE01FFFC00FFFFFE01FFFC007F FFFC01FFF80000F80001F0000000F80001F0000000F80001F0000000F80001F0000000F80001F0 000000F80001F0000000F80001F0000000F80001F0000000F80001F0000000F80001F0000000F8 0001F0000000F80001F0000000F80001F0000000F80001F0000000F80001F0000000F80001F000 0000F80001F0000000F80001F0000000F80001F0000000F80001F0000000F80001F0000000F800 01F0000000F80001F0000000F80001F0000000F80001F0000000F80001F0000000F80001F00000 00F80001F0000000F80001F0000000F80001F0000000F80001F0000000700000E0000034307FAF 32>11 D<00000003F00001FF07F8000FFF07F8001FFF07F8003FFF07F8007E0207F800780003F0 00F800000000F800000000F800000000F800000000F800000000F80000007FFFFE00E0FFFFFF01 F0FFFFFF01F07FFFFE01F000F80001F000F80001F000F80001F000F80001F000F80001F000F800 01F000F80001F000F80001F000F80001F000F80001F000F80001F000F80001F000F80001F000F8 0001F000F80001F000F80001F000F80001F000F80001F000F80001F000F80001F000F80001F000 F80001F000F80001F000F80001F000F80001F000F80001F000F80001F000F80001F000F80001F0 00F80001F000F80001F000700000E025317FB02D>I<0001FF00E0000FFF01F0001FFF01F0003F FF01F0007E0201F000780001F000F80001F000F80001F000F80001F000F80001F000F80001F000 F80001F07FFFFE01F0FFFFFF01F0FFFFFF01F07FFFFE01F000F80001F000F80001F000F80001F0 00F80001F000F80001F000F80001F000F80001F000F80001F000F80001F000F80001F000F80001 F000F80001F000F80001F000F80001F000F80001F000F80001F000F80001F000F80001F000F800 01F000F80001F000F80001F000F80001F000F80001F000F80001F000F80001F000F80001F000F8 0001F000F80001F000F80001F000F80001F000F80001F000700000E024307FAF2D>I<00000000 000003F00001FFC003FE07F80007FFC00FFE07F8001FFFC01FFE07F8003FFFC03FFE07F8007E00 807E0407F800780000780003F000F80000F800000000F80000F800000000F80000F800000000F8 0000F800000000F80000F800000000F80000F80000007FFFFC00FFFC00E0FFFFFE00FFFE01F0FF FFFE00FFFE01F07FFFFC00FFFC01F000F80000F80001F000F80000F80001F000F80000F80001F0 00F80000F80001F000F80000F80001F000F80000F80001F000F80000F80001F000F80000F80001 F000F80000F80001F000F80000F80001F000F80000F80001F000F80000F80001F000F80000F800 01F000F80000F80001F000F80000F80001F000F80000F80001F000F80000F80001F000F80000F8 0001F000F80000F80001F000F80000F80001F000F80000F80001F000F80000F80001F000F80000 F80001F000F80000F80001F000F80000F80001F000F80000F80001F000F80000F80001F000F800 00F80001F000F80000F80001F000F80000F80001F000F80000F80001F000700000700000E03D31 7FB045>I34 D39 D<0000780000F80001E00007C0000F80001F00003E00007C0000780000 F00001F00003E00003C00007C0000780000F80000F00001F00001F00003E00003E00003E00007C 00007C00007C00007C00007C0000F80000F80000F80000F80000F80000F80000F80000F80000F8 0000F80000F80000F80000F800007C00007C00007C00007C00007C00003E00003E00003E00001F 00001F00000F00000F800007800007C00003C00003E00001F00000F000007800007C00003E0000 1F00000F800007C00001E00000F800007815437AB421>II<0000 001C0000000000003E0000000000003E0000000000003E0000000000003E0000000000003E0000 000000003E0000000000003E0000000000003E0000000000003E0000000000003E000000000000 3E0000000000003E0000000000003E0000000000003E0000000000003E0000000000003E000000 0000003E0000000000003E0000000000003E0000000000003E0000000000003E0000000000003E 0000000000003E0000000000003E0000000000003E0000007FFFFFFFFFFFFEFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFF7FFFFFFFFFFFFE0000003E0000000000003E0000000000003E00 00000000003E0000000000003E0000000000003E0000000000003E0000000000003E0000000000 003E0000000000003E0000000000003E0000000000003E0000000000003E0000000000003E0000 000000003E0000000000003E0000000000003E0000000000003E0000000000003E000000000000 3E0000000000003E0000000000003E0000000000003E0000000000003E0000000000003E000000 0000001C00000038397BAF43>43 DI< 7FFFF8FFFFFCFFFFFC7FFFF816047F931D>II<0000000E000000 1F0000001F0000003F0000003E0000007E0000007C0000007C000000FC000000F8000001F80000 01F0000003F0000003E0000003E0000007E0000007C000000FC000000F8000001F8000001F0000 001F0000003F0000003E0000007E0000007C000000FC000000F8000001F8000001F0000001F000 0003F0000003E0000007E0000007C000000FC000000F8000000F8000001F8000001F0000003F00 00003E0000007E0000007C000000FC000000F8000000F8000001F8000001F0000003F0000003E0 000007E0000007C0000007C000000FC000000F8000001F8000001F0000003F0000003E0000003E 0000007E0000007C000000FC000000F8000000F80000007000000020437BB42B>I<0007F80000 003FFF000000FFFFC00001FFFFE00003F807F00007E001F8000F80007C001F00003E001F00003E 003E00001F003E00001F003C00000F007C00000F807C00000F8078000007807800000780F80000 07C0F8000007C0F8000007C0F8000007C0F8000007C0F8000007C0F8000007C0F8000007C0F800 0007C0F8000007C0F8000007C0F8000007C0F8000007C0F8000007C0F8000007C078000007807C 00000F807C00000F807C00000F807C00000F803E00001F003E00001F001F00003E001F80007E00 0FC000FC0007E001F80007F807F80001FFFFE00000FFFFC000003FFF00000007F80000222F7CAD 2B>I<00060000000F0000003F000000FF00007FFF0000FFFF0000FFFF0000FF9F0000401F0000 001F0000001F0000001F0000001F0000001F0000001F0000001F0000001F0000001F0000001F00 00001F0000001F0000001F0000001F0000001F0000001F0000001F0000001F0000001F0000001F 0000001F0000001F0000001F0000001F0000001F0000001F0000001F0000001F0000001F000000 1F0000001F0000001F0000001F00007FFFFFC0FFFFFFE0FFFFFFE07FFFFFC01B2E78AD2B>I<00 1FF80000007FFF000001FFFFC00003FFFFF00007FFFFF8000FE00FFC001F8001FE003E00007F00 3E00003F807C00001F807800000F80F800000FC07000000FC030000007C010000007C000000007 C00000000FC00000000FC00000000F800000001F800000001F000000003F000000003E00000000 7C00000000F800000001F000000007E00000000FC00000001F000000007E00000000FC00000001 F000000007E00000000F800000001F000000007E00000000F800000001F000000003E00000000F 800000001F000000003FFFFFFF80FFFFFFFFC0FFFFFFFFC0FFFFFFFFC07FFFFFFF80222E7CAD2B >I<0007FC0000003FFF000001FFFFC00003FFFFF00007FFFFF8001FF807FC003FC000FE007F00 007E003E00003F001800003F000000001F000000003F000000003F000000003F000000003E0000 00007E00000000FC00000001F800000007F00000003FE000003FFFC000003FFF0000003FFF8000 003FFFE000000007F800000000FC000000007E000000003F000000001F800000001F800000000F C00000000FC00000000FC00000000FC00000000FC00000000FC02000001F807000001F80780000 3F00FE00007F00FF8000FE003FF007FC001FFFFFF8000FFFFFF00003FFFFC000007FFF8000000F FC0000222F7CAD2B>I<000007E00000000FF00000000FF00000001FF00000003DF00000007DF0 00000079F0000000F1F0000001F1F0000003E1F0000007E1F0000007C1F000000F81F000001F01 F000003F01F000003E01F000007C01F00000FC01F00001F801F00001F001F00003E001F00007E0 01F0000FC001F0001F8001F0001F0001F0003E0001F0007E0001F000FC0001F000FFFFFFFFF8FF FFFFFFFCFFFFFFFFFCFFFFFFFFFC7FFFFFFFF8000001F000000001F000000001F000000001F000 000001F000000001F000000001F000000001F000000001F000000001F000000001F000000000E0 00262D7EAC2B>I<07FFFFFC000FFFFFFE000FFFFFFE000FFFFFFE000FFFFFFC000F800000000F 800000000F800000000F800000000F800000000F800000000F800000000F800000000F80000000 0F800000000F800000000F87FC00000FBFFF80000FFFFFE0000FFFFFF0000FFC03F8000FE000FC 000F80007E000F00003F000600001F000000001F800000001F800000000FC00000000FC0000000 0FC00000000FC00000000FC00000000FC00000000FC00000001F801000001F803000003F807C00 003F00FE00007E007F8001FC003FF00FF8001FFFFFF00007FFFFE00003FFFFC00000FFFF000000 0FF00000222E7CAC2B>I<00007FC00003FFF8000FFFF8003FFFF8007FFFF800FF803801FC0000 03F0000007E000000FC000000F8000001F0000001E0000003E0000003E0000007C0000007C03FC 007C0FFF00F83FFFC0F87FFFE0F8F807F0F9C001F8FB8000F8FF00007CFE00003EFC00003EFC00 003EFC00001FFC00001FFC00001FFC00001F7800001F7C00001F7C00001F7C00001F3C00003E3E 00003E3E00003E1F00007C0F8000FC0FC001F807F80FF003FFFFE001FFFFC000FFFF00003FFE00 000FF000202F7BAD2B>I<000FF000007FFC0000FFFF0003FFFF8007FFFFC00FF00FE01F8003F0 1F0001F83E0000F87C00007C7C00007C7C00003CF800003EF800003EF800003EF800001EF80000 3FF800001FF800003FF800003F7C00003F7C00003F7C00007F3E0000FF1F0001DF1F80039F0FE0 1F1F07FFFE1F03FFFC1F00FFF03E003FC03E0000003E0000003C0000007C0000007C000000F800 0000F8000001F0000003E0100007C038001FC03F00FF807FFFFF007FFFFC001FFFF80007FFE000 00FF0000202F7BAD2B>57 D<7EFEFEFEFEFEFE0000000000000000000000000000000000000000 0000FEFEFEFEFEFE7E072478A318>I<7EFEFEFEFEFEFE00000000000000000000000000000000 000000000000FEFEFEFEFEFEFE1C3C3C38787070F0E0E0072E78A318>I<00FFF00007FFFE003F FFFF807FFFFFE0FF800FF07C0001F8700000F80000007C0000007C0000007C0000007C0000007C 000000F8000001F8000007F000001FE000003FC000007F000000FE000001F8000003F0000007E0 000007E000000FC000000FC000001F8000001F8000001F8000001F8000001F8000001F8000001F 8000001F8000000000000000000000000000000000000000000000000000000000000000000000 1F0000003F8000003F8000003F8000003F8000003F8000001F00001E307BAF29>63 D<000007E0000000000FF0000000000FF0000000001FF8000000001FF8000000003EFC00000000 3EFC000000003CFC000000007C7E00000000787E00000000F83F00000000F83F00000001F01F80 000001F01F80000003E01FC0000003E00FC0000007C00FE0000007C007E000000F8007F000000F 8003F000000F8003F000001F0001F800001F0001F800003E0001FC00003E0000FC00007C0000FE 00007C00007E0000F800007F0000F800003F0001F800003F8001FFFFFFFF8001FFFFFFFF8003FF FFFFFFC003FFFFFFFFC007FFFFFFFFE007C0000007E00F80000007F00F80000003F01F00000003 F81F00000001F83E00000001FC3E00000000FC7E00000000FE7C000000007E7C000000007EF800 0000003F70000000001E302F7DAE37>65 D<7FFFFF800000FFFFFFF80000FFFFFFFF0000FFFFFF FFC000FFFFFFFFE000FC0001FFF800FC00000FFC00FC000003FC00FC000000FE00FC0000007E00 FC0000003F00FC0000003F00FC0000003F00FC0000003F00FC0000003F00FC0000007E00FC0000 00FC00FC000003FC00FC00000FF000FC00007FE000FC001FFF8000FFFFFFFE0000FFFFFFF80000 FFFFFFFF0000FFFFFFFFE000FC00003FF000FC000007FC00FC000001FE00FC0000007F00FC0000 003F80FC0000001F80FC0000000FC0FC0000000FC0FC0000000FC0FC0000000FC0FC0000000FC0 FC0000001FC0FC0000001F80FC0000007F80FC000001FF00FC000007FE00FC00007FFC00FFFFFF FFF800FFFFFFFFE000FFFFFFFFC000FFFFFFFE00007FFFFFE000002A2F78AE38>I<000007FFC0 0000007FFFFE000001FFFFFFC00007FFFFFFC0001FFFFFFFC0003FF800FFC0007FC0000F8000FF 0000018001FC0000000003F80000000007F0000000000FE0000000000FC0000000001F80000000 003F80000000003F00000000007F00000000007E00000000007E00000000007E0000000000FC00 00000000FC0000000000FC0000000000FC0000000000FC0000000000FC0000000000FC00000000 00FC0000000000FC00000000007E00000000007E00000000007E00000000007F00000000003F00 000000003F80000000001F80000000000FC0000000000FE00000000007F00000000003F8000000 0001FC0000006000FF000001E0007FC00007E0003FF8007FE0001FFFFFFFE00007FFFFFF800001 FFFFFE0000007FFFF800000007FF80002B3179AF37>I<7FFFFFE00000FFFFFFFE0000FFFFFFFF 8000FFFFFFFFE000FFFFFFFFF000FC00003FFC00FC000007FE00FC000000FF00FC0000007F80FC 0000001FC0FC0000000FE0FC00000007E0FC00000003F0FC00000003F0FC00000001F8FC000000 01F8FC00000000FCFC00000000FCFC00000000FCFC000000007EFC000000007EFC000000007EFC 000000007EFC000000007EFC000000007EFC000000007EFC000000007EFC000000007EFC000000 007CFC00000000FCFC00000000FCFC00000000FCFC00000001F8FC00000003F8FC00000003F0FC 00000007F0FC0000000FE0FC0000001FC0FC0000003F80FC000000FF00FC000007FE00FC00003F FC00FFFFFFFFF800FFFFFFFFE000FFFFFFFF8000FFFFFFFE00007FFFFFE000002F2F78AE3D>I< 7FFFFFFFFE00FFFFFFFFFF00FFFFFFFFFF00FFFFFFFFFF00FFFFFFFFFE00FC0000000000FC0000 000000FC0000000000FC0000000000FC0000000000FC0000000000FC0000000000FC0000000000 FC0000000000FC0000000000FC0000000000FC0000000000FC0000000000FC0000000000FC0000 000000FFFFFFFFF800FFFFFFFFFC00FFFFFFFFFC00FFFFFFFFFC00FFFFFFFFF800FC0000000000 FC0000000000FC0000000000FC0000000000FC0000000000FC0000000000FC0000000000FC0000 000000FC0000000000FC0000000000FC0000000000FC0000000000FC0000000000FC0000000000 FC0000000000FC0000000000FC0000000000FFFFFFFFFF00FFFFFFFFFF80FFFFFFFFFF80FFFFFF FFFF807FFFFFFFFF00292F78AE36>I<7FFFFFFFF8FFFFFFFFFCFFFFFFFFFCFFFFFFFFFCFFFFFF FFF8FC00000000FC00000000FC00000000FC00000000FC00000000FC00000000FC00000000FC00 000000FC00000000FC00000000FC00000000FC00000000FC00000000FC00000000FC00000000FC 00000000FFFFFFFFC0FFFFFFFFE0FFFFFFFFE0FFFFFFFFE0FFFFFFFFC0FC00000000FC00000000 FC00000000FC00000000FC00000000FC00000000FC00000000FC00000000FC00000000FC000000 00FC00000000FC00000000FC00000000FC00000000FC00000000FC00000000FC00000000FC0000 0000FC00000000FC000000007800000000262F78AE33>I<000007FF800000007FFFFC000001FF FFFF800007FFFFFFE0001FFFFFFFE0003FF800FFE0007FC0000FE000FF000003C001FC000000C0 03F80000000007F0000000000FE0000000001FC0000000001F80000000003F80000000003F0000 0000007F00000000007E00000000007E00000000007E0000000000FC0000000000FC0000000000 FC00001FFFE0FC00003FFFE0FC00003FFFE0FC00003FFFE0FC00003FFFE0FC00000003E0FC0000 0003E07E00000003E07E00000003E07E00000003E07F00000003E03F00000003E03F80000003E0 1F80000003E01FC0000003E00FE0000003E007F0000003E003F8000003E001FC000003E000FF00 0003E0007FC00007E0003FF800FFE0001FFFFFFFE00007FFFFFFE00001FFFFFF8000007FFFF800 000007FF80002B3179AF39>I<780000003CFC0000007EFC0000007EFC0000007EFC0000007EFC 0000007EFC0000007EFC0000007EFC0000007EFC0000007EFC0000007EFC0000007EFC0000007E FC0000007EFC0000007EFC0000007EFC0000007EFC0000007EFC0000007EFC0000007EFFFFFFFF FEFFFFFFFFFEFFFFFFFFFEFFFFFFFFFEFFFFFFFFFEFC0000007EFC0000007EFC0000007EFC0000 007EFC0000007EFC0000007EFC0000007EFC0000007EFC0000007EFC0000007EFC0000007EFC00 00007EFC0000007EFC0000007EFC0000007EFC0000007EFC0000007EFC0000007EFC0000007EFC 0000007EFC0000007E780000003C272F78AE38>I<7FFF00FFFF80FFFF80FFFF807FFF0003F000 03F00003F00003F00003F00003F00003F00003F00003F00003F00003F00003F00003F00003F000 03F00003F00003F00003F00003F00003F00003F00003F00003F00003F00003F00003F00003F000 03F00003F00003F00003F00003F00003F00003F00003F00003F00003F0007FFF00FFFF80FFFF80 FFFF807FFF00112F7EAE16>I<000001E0000003F0000003F0000003F0000003F0000003F00000 03F0000003F0000003F0000003F0000003F0000003F0000003F0000003F0000003F0000003F000 0003F0000003F0000003F0000003F0000003F0000003F0000003F0000003F0000003F0000003F0 000003F0000003F0000003F0000003F0000003F0000003F0000003F0000003F0000003F0000003 F0000003F0000003F0000003F0000003F0600007E0F0000FE0FE001FC0FFFFFFC0FFFFFF803FFF FE0007FFFC00007FE0001C307CAE28>I<7800000001F0FC00000003F0FC0000000FE0FC000000 1FC0FC0000003F80FC000000FF00FC000001FC00FC000003F800FC000007F000FC00001FC000FC 00003F8000FC00007F0000FC0001FE0000FC0003F80000FC0007F00000FC000FE00000FC003FC0 0000FC007F000000FC00FE000000FC01FC000000FC07FE000000FC0FFF000000FC1FFF800000FC 7FBF800000FCFE1FC00000FDFC0FE00000FFF807F00000FFE003F80000FFC001FC0000FF8000FE 0000FF00007F0000FC00007F8000FC00003F8000FC00001FC000FC00000FE000FC000007F000FC 000003F800FC000001FC00FC000000FE00FC0000007F00FC0000007F00FC0000003F80FC000000 1FC0FC0000000FE0FC00000007F0FC00000003F87800000001F82D2F78AE3A>I<7800000000FC 00000000FC00000000FC00000000FC00000000FC00000000FC00000000FC00000000FC00000000 FC00000000FC00000000FC00000000FC00000000FC00000000FC00000000FC00000000FC000000 00FC00000000FC00000000FC00000000FC00000000FC00000000FC00000000FC00000000FC0000 0000FC00000000FC00000000FC00000000FC00000000FC00000000FC00000000FC00000000FC00 000000FC00000000FC00000000FC00000000FC00000000FC00000000FC00000000FC00000000FC 00000000FC00000000FFFFFFFFE0FFFFFFFFF0FFFFFFFFF0FFFFFFFFF07FFFFFFFE0242F78AE31 >I<7F0000000007F0FF800000000FF8FFC00000001FF8FFC00000001FF8FFE00000003FF8FFE0 0000003FF8FFE00000003FF8FBF00000007DF8FBF00000007DF8F9F8000000F9F8F9F8000000F9 F8F8FC000001F1F8F8FC000001F1F8F87E000003E1F8F87E000003E1F8F83F000007C1F8F83F00 0007C1F8F83F000007C1F8F81F80000F81F8F81F80000F81F8F80FC0001F01F8F80FC0001F01F8 F807E0003E01F8F807E0003E01F8F803F0007C01F8F803F0007C01F8F801F0007801F8F801F800 F801F8F800F800F001F8F800FC01F001F8F800FC01F001F8F8007E03E001F8F8007E03E001F8F8 003E03C001F8F8003F07C001F8F8001F078001F8F8001F8F8001F8F8000F8F0001F8F8000F8F00 01F8F80007DE0001F8F80007DE0001F8F80007FE0001F8F80003FC0001F8F80003FC0001F8F800 01F80001F8F80000F00001F8700000000000F0352F78AE46>I<7F0000001CFF8000003EFFC000 003EFFE000003EFFE000003EFBF000003EFBF000003EF9F800003EF8FC00003EF8FC00003EF87E 00003EF87E00003EF83F00003EF81F80003EF81F80003EF80FC0003EF80FC0003EF807E0003EF8 03F0003EF803F0003EF801F8003EF801F8003EF800FC003EF800FE003EF8007E003EF8003F003E F8003F003EF8001F803EF8001F803EF8000FC03EF80007E03EF80007E03EF80003F03EF80003F0 3EF80001F83EF80000FC3EF80000FC3EF800007E3EF800007E3EF800003F3EF800001FBEF80000 1FBEF800000FFEF800000FFEF8000007FEF8000003FE70000001FC272F78AE38>I<000003FF80 000000003FFFF800000001FFFFFF00000007FFFFFFC000000FFC007FE000003FE0000FF800007F 800003FC0000FE000000FE0001F80000003F0003F00000001F8007E00000000FC00FC000000007 E00FC000000007E01F8000000003F03F0000000001F83F0000000001F83E0000000000F87E0000 000000FC7E0000000000FC7C00000000007CFC00000000007EFC00000000007EFC00000000007E FC00000000007EFC00000000007EFC00000000007EFC00000000007EFC00000000007EFE000000 0000FE7E0000000000FC7E0000000000FC7E0000000000FC7F0000000001FC3F0000000001F83F 8000000003F81F8000000003F01FC000000007F00FE00000000FE007F00000001FC003F8000000 3F8001FC0000007F0000FE000000FE00007F800003FC00003FE0000FF800000FFE00FFE0000007 FFFFFFC0000001FFFFFF000000003FFFF80000000003FF80000037317BAF42>I<7FFFFFC000FF FFFFF800FFFFFFFF00FFFFFFFF80FFFFFFFFE0FC00007FF0FC000007F8FC000001FCFC000000FC FC0000007EFC0000007EFC0000003FFC0000003FFC0000003FFC0000003FFC0000003FFC000000 3FFC0000007EFC0000007EFC000000FCFC000001FCFC000007F8FC00007FF0FFFFFFFFC0FFFFFF FF80FFFFFFFE00FFFFFFF000FC00000000FC00000000FC00000000FC00000000FC00000000FC00 000000FC00000000FC00000000FC00000000FC00000000FC00000000FC00000000FC00000000FC 00000000FC00000000FC00000000FC00000000FC00000000FC000000007800000000282F78AE36 >I<000003FF80000000003FFFF800000001FFFFFF00000007FFFFFFC000000FFE00FFE000003F E0000FF800007F800003FC0000FE000000FE0001FC0000007F0003F80000003F8007E00000000F C00FE00000000FE00FC000000007E01F8000000003F03F8000000003F83F0000000001F83F0000 000001F87E0000000000FC7E0000000000FC7E0000000000FCFC00000000007EFC00000000007E FC00000000007EFC00000000007EFC00000000007EFC00000000007EFC00000000007EFC000000 00007EFC00000000007E7E0000000000FC7E0000000000FC7E0000000000FC7F0000000001FC3F 0000000001F83F0000000001F81F80003E0003F01FC0003F0007F00FE0001F800FE007E0001FC0 0FC003F0000FE01F8001FC0007F07F0000FE0003F8FE00007F8001FFFC00003FE000FFF800000F FE00FFE0000007FFFFFFC0000001FFFFFFC00000003FFFFFE000000003FF87F0000000000003F8 000000000001FC000000000000FE0000000000007F0000000000003F8000000000001FC0000000 00001FE000000000000FE0000000000007E0373A7BAF42>I<7FFFFFC00000FFFFFFFE0000FFFF FFFF8000FFFFFFFFE000FFFFFFFFF800FC00001FFC00FC000001FE00FC0000007F00FC0000003F 80FC0000001F80FC0000000FC0FC0000000FC0FC0000000FC0FC0000000FC0FC0000000FC0FC00 00000FC0FC0000001F80FC0000003F00FC0000007F00FC000001FE00FC00001FF800FFFFFFFFF0 00FFFFFFFFC000FFFFFFFE0000FFFFFFE00000FC0003F00000FC0001F00000FC0001F80000FC00 00FC0000FC00007E0000FC00003F0000FC00001F8000FC00001F8000FC00000FC000FC000007E0 00FC000003F000FC000001F800FC000001F800FC000000FC00FC0000007E00FC0000003F00FC00 00001F80FC0000001F80FC0000000FC0FC00000007E0FC00000003F07800000001E02C2F78AE38 >I<0003FFC000001FFFFC00007FFFFF8001FFFFFFE003FFFFFFE007FE007FE00FF00007E01FC0 0001C03F800000403F000000007E000000007E000000007E000000007E000000007E000000007F 000000003F000000003FC00000001FF00000000FFC00000007FFE0000003FFFF000001FFFFF000 007FFFFC00001FFFFF000003FFFF8000001FFFC0000000FFE00000001FF000000007F000000003 F800000001F800000001FC00000000FC00000000FC00000000FC00000000FC00000000FC400000 01F870000001F8FC000003F0FF000007F0FFC0001FE0FFFC00FFC03FFFFFFF800FFFFFFE0003FF FFFC00007FFFF0000007FF000026317CAF30>I<7FFFFFFFFFFFFCFFFFFFFFFFFFFEFFFFFFFFFF FFFEFFFFFFFFFFFFFE7FFFFFFFFFFFFC0000007E0000000000007E0000000000007E0000000000 007E0000000000007E0000000000007E0000000000007E0000000000007E0000000000007E0000 000000007E0000000000007E0000000000007E0000000000007E0000000000007E000000000000 7E0000000000007E0000000000007E0000000000007E0000000000007E0000000000007E000000 0000007E0000000000007E0000000000007E0000000000007E0000000000007E0000000000007E 0000000000007E0000000000007E0000000000007E0000000000007E0000000000007E00000000 00007E0000000000007E0000000000007E0000000000007E0000000000007E0000000000007E00 00000000007E0000000000007E0000000000007E0000000000007E0000000000003C000000372F 7DAE3E>I<780000001CFC0000003EFC0000003EFC0000003EFC0000003EFC0000003EFC000000 3EFC0000003EFC0000003EFC0000003EFC0000003EFC0000003EFC0000003EFC0000003EFC0000 003EFC0000003EFC0000003EFC0000003EFC0000003EFC0000003EFC0000003EFC0000003EFC00 00003EFC0000003EFC0000003EFC0000003EFC0000003EFC0000003EFC0000003EFC0000003EFC 0000003EFC0000003EFC0000003EFC0000003EFE0000007E7E0000007C7E0000007C7F000000FC 3F800001F81F800003F01FE00007F00FF8001FE007FF00FFC003FFFFFF8000FFFFFE00007FFFFC 00001FFFF0000001FF8000273078AE38>III89 D<3FFFFFFFFF807FFFFFFFFFC07FFFFFFFFFC07FFFFFFFFFC03FFFFFFFFF80000000007F800000 00007F0000000000FE0000000001FC0000000003F80000000007F0000000000FE0000000001FC0 000000003F80000000007F80000000007F0000000000FE0000000001FC0000000003F800000000 07F0000000000FE0000000001FC0000000003F80000000007F80000000007F0000000000FE0000 000001FC0000000003F80000000007F0000000000FE0000000001FC0000000003F80000000007F 80000000007F0000000000FE0000000001FC0000000003F80000000007F0000000000FE0000000 001FC0000000003F80000000007F80000000007FFFFFFFFFC0FFFFFFFFFFE0FFFFFFFFFFE0FFFF FFFFFFE07FFFFFFFFFC02B2F7BAE35>I<0E00070E00071E000F1C000E1C000E3C001E38001C78 003C78003C700038FE007FFE007FFE007FFE007FFE007FFE007FFE007F181171AF2B>92 D<0E0E1E1C1C3C38787870FEFEFEFEFEFEFE071178AF18>96 D<007FE00003FFF8001FFFFE003F FFFF007F801F807C000FC0700007E0000003E0000001F0000001F0000001F0000001F0000001F0 000001F0000001F00007FFF0003FFFF001FFC1F007F801F00FC001F01F0001F03E0001F07C0001 F07C0001F0F80001F0F80001F0F80001F0F80001F0F80003F07C0007F07E000FF03F807DF01FFF F9F00FFFF1F007FFC1F001FC00E01C247BA329>I<70000000F8000000F8000000F8000000F800 0000F8000000F8000000F8000000F8000000F8000000F8000000F8000000F807E000F83FFC00F8 7FFE00F9FFFF80FBE03FC0FF800FE0FE0003E0FC0001F0FC0001F8F80000F8F800007CF800007C F800007CF800003EF800003EF800003EF800003EF800003EF800003EF800003EF800003EF80000 3EF800007CF800007CF800007CF80000F8FC0000F8FC0001F0FE0003F0FE0007E0FF000FC0FBC0 7F80F9FFFF00F8FFFE00F83FF800700FC0001F3079AF2B>I<0007FE00003FFFC0007FFFF001FF FFFC03F803FC07E0007C0FC0001C1F0000001F0000003E0000003E0000007C0000007C0000007C 000000F8000000F8000000F8000000F8000000F8000000F8000000F8000000F80000007C000000 7C0000007C0000003E0000003E0000001F0000061F80000E0FC0001E07E0007E03FC03FE01FFFF F8007FFFF0003FFF800007FC001F247CA326>I<0000001C0000003E0000003E0000003E000000 3E0000003E0000003E0000003E0000003E0000003E0000003E0000003E000FE03E003FFC3E00FF FE3E01FFFF3E03FC07BE07E001FE0FC000FE1F80007E1F00007E3E00003E3E00003E7C00003E7C 00003E7C00003EF800003EF800003EF800003EF800003EF800003EF800003EF800003EF800003E F800003E7C00003E7C00003E7C00003E3E00007E3F00007E1F0000FE0F8001FE07E003BE03F80F 3E01FFFE3E00FFFC3E007FF83E000FE01C1F307CAF2B>I<000FF000007FFC0000FFFF0001FFFF 8003F81FC007E007E00F8001F01F0000F03F0000F83E0000787C0000787C00007C7C00003CF800 003CF800003CF800003CFFFFFFFCFFFFFFFCFFFFFFF8F8000000F8000000F8000000F80000007C 0000007C0000007E0000003E0000001F0000001F80000C0FC0001C07E0007C03FC07FC01FFFFF0 00FFFFE0003FFF800007F8001E247CA326>I<0000FFF00007FFF0000FFFF0001FFFF0003F0020 0078000000F8000000F8000000F8000000F8000000F8000000F800007FFFF800FFFFFC00FFFFFC 007FFFF80000F8000000F8000000F8000000F8000000F8000000F8000000F8000000F8000000F8 000000F8000000F8000000F8000000F8000000F8000000F8000000F8000000F8000000F8000000 F8000000F8000000F8000000F8000000F8000000F8000000F8000000F8000000F8000000F80000 00F8000000F8000000F80000007000001C307FAF1A>I<0007E01C003FF83E00FFFE3E01FFFF3E 03FC07BE07F003BE0FC001FE1F8000FE1F00007E3E00007E3E00007E7C00003E7C00003E7C0000 3EF800003EF800003EF800003EF800003EF800003EF800003EF800003EF800003E7C00007E7C00 007E7C00007E3E0000FE3F0000FE1F0001FE0FC001BE0FE003BE07F80F3E03FFFE3E00FFFC3E00 7FF83E000FE03E0000003E0000003E0000003E0000003C0000007C100000783C0000F83F0001F0 3FF007E01FFFFFC00FFFFF8001FFFE00001FF8001F307CA32B>I<70000000F8000000F8000000 F8000000F8000000F8000000F8000000F8000000F8000000F8000000F8000000F8000000F807F8 00F81FFE00F87FFF00F8FFFF80F9F01FC0FB8007E0FF0003E0FE0003F0FE0001F0FC0001F0FC00 01F0F80001F0F80001F0F80001F0F80001F0F80001F0F80001F0F80001F0F80001F0F80001F0F8 0001F0F80001F0F80001F0F80001F0F80001F0F80001F0F80001F0F80001F0F80001F0F80001F0 F80001F0F80001F0F80001F0F80001F0F80001F0700000E01C3079AF2B>I<7CFEFEFEFEFEFC00 0000000000387C7C7C7C7C7C7C7C7C7C7C7C7C7C7C7C7C7C7C7C7C7C7C7C7C7C7C7C7C7C7C7C7C 7C3807317AB014>I<0003E00007F00007F00007F00007F00007F00003E0000000000000000000 0000000000000000000000E00001F00001F00001F00001F00001F00001F00001F00001F00001F0 0001F00001F00001F00001F00001F00001F00001F00001F00001F00001F00001F00001F00001F0 0001F00001F00001F00001F00001F00001F00001F00001F00001F00001F00001F00001F00001F0 0001F00001F00001F00001F06003E0FC1FE0FFFFC07FFF803FFE0007F800143B86B016>I<7000 0000F8000000F8000000F8000000F8000000F8000000F8000000F8000000F8000000F8000000F8 000000F8000000F80000F8F80003F8F80007F0F8000FE0F8001FC0F8003F80F8007F00F800FE00 F801FC00F803F000F80FE000F81FC000F83F8000F87F0000F8FE0000F9FF0000FBFF8000FFFFC0 00FFCFC000FF87E000FF03F000FE01F800FC01F800F800FC00F8007E00F8003F00F8001F80F800 1F80F8000FC0F80007E0F80003F0F80003F0F80001F8F80000FCF800007E7000003C1F3079AF29 >I<70F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8 F8F8F8F8F8F8F8F8F8F870053079AF14>I<7007FC0007FC00F81FFF001FFF00F83FFF803FFF80 F8FFFFC0FFFFC0F9F00FE1F00FE0FBC003F3C003F0FB0001F30001F0FE0001FE0001F8FE0000FE 0000F8FC0000FC0000F8FC0000FC0000F8F80000F80000F8F80000F80000F8F80000F80000F8F8 0000F80000F8F80000F80000F8F80000F80000F8F80000F80000F8F80000F80000F8F80000F800 00F8F80000F80000F8F80000F80000F8F80000F80000F8F80000F80000F8F80000F80000F8F800 00F80000F8F80000F80000F8F80000F80000F8F80000F80000F8F80000F80000F8F80000F80000 F8F80000F80000F8F80000F80000F8F80000F80000F8F80000F80000F870000070000070352479 A344>I<7007F800F81FFE00F87FFF00F8FFFF80F9F01FC0FB8007E0FF0003E0FE0003F0FE0001 F0FC0001F0FC0001F0F80001F0F80001F0F80001F0F80001F0F80001F0F80001F0F80001F0F800 01F0F80001F0F80001F0F80001F0F80001F0F80001F0F80001F0F80001F0F80001F0F80001F0F8 0001F0F80001F0F80001F0F80001F0F80001F0F80001F0F80001F0700000E01C2479A32B>I<00 03FC0000001FFF8000007FFFE00001FFFFF80003FC03FC0007E0007E000FC0003F001F80001F80 1F00000F803E000007C03C000003C07C000003E07C000003E078000001E0F8000001F0F8000001 F0F8000001F0F8000001F0F8000001F0F8000001F0F8000001F0F8000001F07C000003E07C0000 03E07C000003E03E000007C03E000007C01F00000F801F80001F800FC0003F0007F000FE0003FC 03FC0001FFFFF800007FFFE000001FFF80000003FC000024247DA32B>I<7007E000F83FFC00F8 7FFE00F9FFFF80FBE07FC0FF800FE0FE0007E0FC0003F0FC0001F8F80000F8F80000FCF800007C F800007CF800007EF800003EF800003EF800003EF800003EF800003EF800003EF800003EF80000 3EF800007CF800007CF800007CF80000F8FC0000F8FC0001F0FE0003F0FE0007E0FF001FC0FBC0 7F80F9FFFF00F8FFFE00F83FF800F80FC000F8000000F8000000F8000000F8000000F8000000F8 000000F8000000F8000000F8000000700000001F2E79A32B>I<0007E01C003FF83E00FFFE3E01 FFFF3E03FC07BE07F003BE0FC001FE1F8000FE1F00007E3E00007E3E00007E7C00003E7C00003E 7C00003EF800003EF800003EF800003EF800003EF800003EF800003EF800003EF800003E7C0000 3E7C00003E7C00003E7E00007E3E00007E3F0000FE1F8000FE0FC001FE07E003BE03FC0F3E01FF FE3E00FFFC3E003FF83E000FE03E0000003E0000003E0000003E0000003E0000003E0000003E00 00003E0000003E0000003E0000001C1F2E7CA32B>I<7001F0F807F0F81FF0F83FF0F87FF0F8FE 00F9F000FBC000FB8000FF0000FE0000FE0000FC0000FC0000F80000F80000F80000F80000F800 00F80000F80000F80000F80000F80000F80000F80000F80000F80000F80000F80000F80000F800 00F80000F80000F80000700000142479A31D>I<007FE00001FFFC0007FFFF000FFFFFC01FC01F C03F0007C03E0001C07C0000007C0000007C0000007C0000007E0000003E0000003F8000001FF0 00000FFF800007FFF80003FFFE0000FFFF00000FFF8000007FC000000FE0000003E0000003F000 0001F0000001F0000001F0400001F0E00001F0F80003E0FE0007E0FFC01FC03FFFFF800FFFFF00 03FFFC00003FE0001C247EA321>I<00E0000001F0000001F0000001F0000001F0000001F00000 01F0000001F0000001F0000001F000007FFFFE00FFFFFF00FFFFFF007FFFFE0001F0000001F000 0001F0000001F0000001F0000001F0000001F0000001F0000001F0000001F0000001F0000001F0 000001F0000001F0000001F0000001F0000001F0000001F0000001F0000001F0000001F0000001 F0000001F0000001F0000001F0000001F0030001F8070000F81F8000FFFF00007FFE00003FF800 001FC000192E7EAD1F>I<700000E0F80001F0F80001F0F80001F0F80001F0F80001F0F80001F0 F80001F0F80001F0F80001F0F80001F0F80001F0F80001F0F80001F0F80001F0F80001F0F80001 F0F80001F0F80001F0F80001F0F80001F0F80001F0F80001F0F80001F0F80001F0F80001F0F800 03F0F80003F0F80007F0F8000FF07C001DF07F00F9F03FFFF1F01FFFE1F00FFF81F003FC00E01C 2479A32B>III<7C00000F807E00001F803F00001F001F 00003F001F80007E000FC000FC0007E001F80003F001F00001F803E00000FC07C000007C0FC000 003E1F8000001F3F0000001FBE0000000FFC00000007F800000003F000000001F000000003F800 000007F80000000FFC0000001F3E0000001E1F0000003E0F8000007C07C00000F803E00001F003 F00003F001F00007E000F80007C0007C000F80003E001F00003F003F00001F807E00000FC0FC00 0007E078000003C023247FA326>II<1FFFFFFC3FFFFFFE3FFFFFFE1FFFFFFE000000FC00 0001F8000001F0000003E0000007C000000FC000001F8000003F0000007E0000007C000000F800 0001F0000003F0000007E000000FC000001F8000001F0000003E0000007C000000FC000001F800 0003F0000007E0000007C000000F8000001F0000003F0000007E000000FFFFFFFCFFFFFFFEFFFF FFFE7FFFFFFC1F247EA325>I<7FFFFFFFFF80FFFFFFFFFFC0FFFFFFFFFFC07FFFFFFFFF802A04 80972B>I E /Fm 2 16 df<000001800000000003C00000000003C00000000003C00000000003 C00000000003C00000000003C00000000003C00000000003C00000000003C00000000003C00000 000003C00000000003C00000000003C00000000003C00000000003C00000000003C00000000003 C00000000003C00000000003C00000000003C00000000003C00000000003C000007FFFFFFFFFFE FFFFFFFFFFFFFFFFFFFFFFFF7FFFFFFFFFFE000003C00000000003C00000000003C00000000003 C00000000003C00000000003C00000000003C00000000003C00000000003C00000000003C00000 000003C00000000003C00000000003C00000000003C00000000003C00000000003C00000000003 C00000000003C00000000003C000007FFFFFFFFFFEFFFFFFFFFFFFFFFFFFFFFFFF7FFFFFFFFFFE 30327CAF39>6 D<003FC00000FFF00003FFFC0007FFFE000FFFFF001FFFFF803FFFFFC03FFFFF C07FFFFFE07FFFFFE0FFFFFFF0FFFFFFF0FFFFFFF0FFFFFFF0FFFFFFF0FFFFFFF0FFFFFFF0FFFF FFF07FFFFFE07FFFFFE03FFFFFC03FFFFFC01FFFFF800FFFFF0007FFFE0003FFFC0000FFF00000 3FC0001C1C7C9E25>15 D E /Fn 45 123 df<000007FFC0000FFF0000007FFFF800FFFFF00001 FFFFF807FFFFF00007FFFFF81FFFFFF0000FFFFFF83FFFFFF0001FFFFFF87FFFFFF0003FFE01F8 FFF803F0007FF80079FFE000F000FFF0001BFFC0003000FFF00003FFC0000000FFF00003FFC000 0000FFF00003FFC0000000FFF00003FFC0000000FFF00003FFC000007FFFFFFC03FFFFF000FFFF FFFE03FFFFF800FFFFFFFE03FFFFF800FFFFFFFE03FFFFF800FFFFFFFE03FFFFF8007FFFFFFC03 FFFFF00000FFF00003FFC0000000FFF00003FFC0000000FFF00003FFC0000000FFF00003FFC000 0000FFF00003FFC0000000FFF00003FFC0000000FFF00003FFC0000000FFF00003FFC0000000FF F00003FFC0000000FFF00003FFC0000000FFF00003FFC0000000FFF00003FFC0000000FFF00003 FFC0000000FFF00003FFC0000000FFF00003FFC0000000FFF00003FFC0000000FFF00003FFC000 0000FFF00003FFC0000000FFF00003FFC0000000FFF00003FFC0000000FFF00003FFC0000000FF F00003FFC0000000FFF00003FFC0000000FFF00003FFC0000000FFF00003FFC0000000FFF00003 FFC0000000FFF00003FFC0000000FFF00003FFC0000000FFF00003FFC0000000FFF00003FFC000 0000FFF00003FFC0000000FFF00003FFC0000000FFF00003FFC0000000FFF00003FFC0000000FF F00003FFC0000000FFF00003FFC0000000FFF00003FFC00000007FE00001FF800000443A7EB942 >11 D<7FFFFFF8FFFFFFFCFFFFFFFCFFFFFFFCFFFFFFFC7FFFFFF81E067F9826>45 D<7FF0FFF0FFF0FFF0FFF0FFF0FFF0FFF0FFF0FFF0FFF0FFF00000000000000000000000000000 0000000000000000000000000000000000000000000000000000FFF0FFF0FFF0FFF0FFF0FFF0FF F0FFF0FFF0FFF0FFF07FF00C2C76AB20>58 D<000FFFE0000000FFFFFE000007FFFFFFC0003FFF FFFFF0007FFFFFFFF800FFFFFFFFFC007FFC003FFE007FE0000FFF007F800007FF003E000007FF 803C000007FF8038000007FF8000000007FF8000000007FF800000000FFF000000001FFF000000 007FFE00000000FFFC00000001FFF800000007FFF00000000FFFC00000001FFF000000001FFE00 0000003FF8000000007FF000000000FFE000000000FFC000000001FFC000000001FF8000000001 FF8000000003FF0000000003FF0000000003FF0000000003FF0000000003FF0000000003FF0000 000003FF0000000003FF0000000000000000000000000000000000000000000000000000000000 000000000000000000000000000000000000000000000003FF0000000007FF8000000007FF8000 000007FF8000000007FF8000000007FF8000000007FF8000000007FF8000000007FF8000000007 FF8000000007FF8000000003FF000000293A7AB936>63 D<7FFFFFFFE0000000FFFFFFFFFF0000 00FFFFFFFFFFE00000FFFFFFFFFFFC0000FFFFFFFFFFFF0000FFFFFFFFFFFF8000FFFFFFFFFFFF E000FFFFFFFFFFFFF000FFFFFFFFFFFFF800FFF80000FFFFFC00FFF8000007FFFE00FFF8000000 FFFE00FFF80000003FFF00FFF80000001FFF00FFF80000001FFF00FFF80000000FFF00FFF80000 001FFF00FFF80000001FFF00FFF80000003FFE00FFF80000003FFE00FFF8000000FFFC00FFF800 0001FFF800FFF800000FFFF000FFF800007FFFC000FFFFFFFFFFFF0000FFFFFFFFFFFC0000FFFF FFFFFFE00000FFFFFFFFFFE00000FFFFFFFFFFFC0000FFFFFFFFFFFF8000FFF80003FFFFE000FF F800000FFFF800FFF8000001FFFC00FFF80000007FFE00FFF80000001FFF80FFF80000000FFF80 FFF800000007FFC0FFF800000003FFC0FFF800000003FFE0FFF800000003FFE0FFF800000003FF E0FFF800000003FFE0FFF800000003FFE0FFF800000007FFE0FFF80000000FFFC0FFF80000003F FFC0FFF8000001FFFF80FFF800001FFFFF00FFFFFFFFFFFFFE00FFFFFFFFFFFFFC00FFFFFFFFFF FFF800FFFFFFFFFFFFF000FFFFFFFFFFFFC000FFFFFFFFFFFF0000FFFFFFFFFFFC0000FFFFFFFF FFE000007FFFFFFFFC0000003B3977B84B>66 D<00000001FFFE00000000003FFFFFF000000001 FFFFFFFF0000000FFFFFFFFFE000003FFFFFFFFFE00000FFFFFFFFFFE00003FFFFFFFFFFE00007 FFFF800FFFC0000FFFF80001FFC0003FFFC000007FC0007FFF0000001FC000FFFE00000007C001 FFF800000003C003FFF0000000018003FFE0000000008007FFC000000000000FFF800000000000 1FFF8000000000001FFF0000000000003FFE0000000000003FFE0000000000007FFE0000000000 007FFC0000000000007FFC0000000000007FFC000000000000FFF8000000000000FFF800000000 0000FFF8000000000000FFF8000000000000FFF8000000000000FFF8000000000000FFF8000000 000000FFF8000000000000FFF80000000000007FFC0000000000007FFC0000000000007FFC0000 000000007FFE0000000000003FFE0000000000003FFE0000000000001FFF0000000000001FFF80 00000000000FFF80000000000007FFC0000000000003FFE0000000006003FFF000000000E001FF F800000001E000FFFE00000003E0007FFF00000007E0003FFFC000001FF0000FFFF800007FF000 07FFFF8007FFF00003FFFFFFFFFFF00000FFFFFFFFFFF000003FFFFFFFFFC000000FFFFFFFFF00 000001FFFFFFFC000000003FFFFFE00000000001FFFC00003C3B7AB949>I<7FFFFFFFF8000000 00FFFFFFFFFFC0000000FFFFFFFFFFF8000000FFFFFFFFFFFE000000FFFFFFFFFFFF800000FFFF FFFFFFFFE00000FFFFFFFFFFFFF00000FFFFFFFFFFFFFC0000FFFFFFFFFFFFFE0000FFF800001F FFFF0000FFF8000001FFFF8000FFF80000003FFFC000FFF80000000FFFE000FFF800000007FFF0 00FFF800000003FFF000FFF800000001FFF800FFF800000000FFFC00FFF8000000007FFC00FFF8 000000003FFE00FFF8000000003FFE00FFF8000000001FFE00FFF8000000001FFF00FFF8000000 001FFF00FFF8000000000FFF00FFF8000000000FFF80FFF8000000000FFF80FFF8000000000FFF 80FFF8000000000FFF80FFF8000000000FFF80FFF8000000000FFF80FFF8000000000FFF80FFF8 000000000FFF80FFF8000000000FFF80FFF8000000000FFF80FFF8000000001FFF00FFF8000000 001FFF00FFF8000000001FFF00FFF8000000003FFE00FFF8000000003FFE00FFF8000000007FFC 00FFF8000000007FFC00FFF800000000FFF800FFF800000001FFF800FFF800000003FFF000FFF8 0000000FFFE000FFF80000003FFFC000FFF8000001FFFF8000FFF800001FFFFF0000FFFFFFFFFF FFFE0000FFFFFFFFFFFFFC0000FFFFFFFFFFFFF80000FFFFFFFFFFFFE00000FFFFFFFFFFFF8000 00FFFFFFFFFFFE000000FFFFFFFFFFF8000000FFFFFFFFFFC00000007FFFFFFFF8000000004139 77B851>I<7FFFFFFFFFFFFCFFFFFFFFFFFFFEFFFFFFFFFFFFFEFFFFFFFFFFFFFEFFFFFFFFFFFF FEFFFFFFFFFFFFFEFFFFFFFFFFFFFCFFF80000000000FFF80000000000FFF80000000000FFF800 00000000FFF80000000000FFF80000000000FFF80000000000FFF80000000000FFF80000000000 FFF80000000000FFF80000000000FFF80000000000FFF80000000000FFF80000000000FFF80000 000000FFF80000000000FFF80000000000FFFFFFFFFFFFE0FFFFFFFFFFFFF0FFFFFFFFFFFFF0FF FFFFFFFFFFF0FFFFFFFFFFFFF0FFFFFFFFFFFFF0FFFFFFFFFFFFE0FFF80000000000FFF8000000 0000FFF80000000000FFF80000000000FFF80000000000FFF80000000000FFF80000000000FFF8 0000000000FFF80000000000FFF80000000000FFF80000000000FFF80000000000FFF800000000 00FFF80000000000FFF80000000000FFF80000000000FFF80000000000FFF80000000000FFF800 00000000FFFFFFFFFFFFFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFF7FFFFFFFFFFFFE383977B847>I<7FFFFFFFFFFFE0FFFFFFFFFFFFF0FFFFFFFF FFFFF0FFFFFFFFFFFFF0FFFFFFFFFFFFF0FFFFFFFFFFFFF0FFFFFFFFFFFFE0FFF80000000000FF F80000000000FFF80000000000FFF80000000000FFF80000000000FFF80000000000FFF8000000 0000FFF80000000000FFF80000000000FFF80000000000FFF80000000000FFF80000000000FFF8 0000000000FFF80000000000FFF80000000000FFF80000000000FFF80000000000FFF800000000 00FFFFFFFFFFFE00FFFFFFFFFFFF00FFFFFFFFFFFF00FFFFFFFFFFFF00FFFFFFFFFFFF00FFFFFF FFFFFF00FFFFFFFFFFFE00FFF80000000000FFF80000000000FFF80000000000FFF80000000000 FFF80000000000FFF80000000000FFF80000000000FFF80000000000FFF80000000000FFF80000 000000FFF80000000000FFF80000000000FFF80000000000FFF80000000000FFF80000000000FF F80000000000FFF80000000000FFF80000000000FFF80000000000FFF80000000000FFF8000000 0000FFF80000000000FFF80000000000FFF800000000007FF00000000000343977B843>I<0000 0001FFFC00000000003FFFFFE000000001FFFFFFFE0000000FFFFFFFFFC000003FFFFFFFFFF000 00FFFFFFFFFFF00003FFFFFFFFFFF00007FFFF000FFFF0000FFFF80001FFE0003FFFC000007FE0 007FFF0000001FE000FFFE00000007E001FFF800000003E003FFF000000001E003FFE000000000 C007FFC000000000400FFF8000000000001FFF8000000000001FFF0000000000003FFE00000000 00003FFE0000000000007FFE0000000000007FFC0000000000007FFC0000000000007FFC000000 000000FFF8000001FFFFF8FFF8000003FFFFF8FFF8000003FFFFF8FFF8000003FFFFF8FFF80000 03FFFFF8FFF8000003FFFFF8FFF8000003FFFFF8FFF8000000007FF8FFF8000000007FF87FFC00 0000007FF87FFC000000007FF87FFC000000007FF87FFE000000007FF83FFE000000007FF83FFE 000000007FF81FFF000000007FF81FFF800000007FF80FFF800000007FF807FFC00000007FF803 FFE00000007FF803FFF00000007FF801FFF80000007FF800FFFE0000007FF8007FFF0000007FF8 003FFFC000007FF8000FFFF80000FFF80007FFFF000FFFF80003FFFFFFFFFFF80000FFFFFFFFFF F800003FFFFFFFFFF800000FFFFFFFFFE0000001FFFFFFFE000000003FFFFFF00000000001FFFC 00003D3B7AB94C>I<7FF00000001FFCFFF80000003FFEFFF80000003FFEFFF80000003FFEFFF8 0000003FFEFFF80000003FFEFFF80000003FFEFFF80000003FFEFFF80000003FFEFFF80000003F FEFFF80000003FFEFFF80000003FFEFFF80000003FFEFFF80000003FFEFFF80000003FFEFFF800 00003FFEFFF80000003FFEFFF80000003FFEFFF80000003FFEFFF80000003FFEFFF80000003FFE FFF80000003FFEFFF80000003FFEFFF80000003FFEFFFFFFFFFFFFFEFFFFFFFFFFFFFEFFFFFFFF FFFFFEFFFFFFFFFFFFFEFFFFFFFFFFFFFEFFFFFFFFFFFFFEFFFFFFFFFFFFFEFFF80000003FFEFF F80000003FFEFFF80000003FFEFFF80000003FFEFFF80000003FFEFFF80000003FFEFFF8000000 3FFEFFF80000003FFEFFF80000003FFEFFF80000003FFEFFF80000003FFEFFF80000003FFEFFF8 0000003FFEFFF80000003FFEFFF80000003FFEFFF80000003FFEFFF80000003FFEFFF80000003F FEFFF80000003FFEFFF80000003FFEFFF80000003FFEFFF80000003FFEFFF80000003FFEFFF800 00003FFEFFF80000003FFE7FF00000001FFC373977B84A>I<7FFFFF00FFFFFF80FFFFFF80FFFF FF80FFFFFF80FFFFFF807FFFFF0003FFE00003FFE00003FFE00003FFE00003FFE00003FFE00003 FFE00003FFE00003FFE00003FFE00003FFE00003FFE00003FFE00003FFE00003FFE00003FFE000 03FFE00003FFE00003FFE00003FFE00003FFE00003FFE00003FFE00003FFE00003FFE00003FFE0 0003FFE00003FFE00003FFE00003FFE00003FFE00003FFE00003FFE00003FFE00003FFE00003FF E00003FFE00003FFE00003FFE00003FFE00003FFE00003FFE00003FFE0007FFFFF00FFFFFF80FF FFFF80FFFFFF80FFFFFF80FFFFFF807FFFFF0019397EB81E>I<7FFC00000000001FFF80FFFF00 000000007FFFC0FFFF00000000007FFFC0FFFF8000000000FFFFC0FFFF8000000000FFFFC0FFFF C000000001FFFFC0FFFFC000000001FFFFC0FFFFE000000003FFFFC0FFFFE000000003FFFFC0FF FFE000000003FFFFC0FFFFF000000007FFFFC0FFFFF000000007FFFFC0FFDFF80000000FFDFFC0 FFDFF80000000FFDFFC0FFCFFC0000001FF9FFC0FFCFFC0000001FF9FFC0FFC7FE0000003FF1FF C0FFC7FE0000003FF1FFC0FFC3FF0000007FE1FFC0FFC3FF0000007FE1FFC0FFC1FF800000FFC1 FFC0FFC1FF800000FFC1FFC0FFC0FFC00001FF81FFC0FFC0FFC00001FF81FFC0FFC07FE00003FF 01FFC0FFC07FE00003FF01FFC0FFC03FF00007FE01FFC0FFC03FF00007FE01FFC0FFC03FF00007 FE01FFC0FFC01FF8000FFC01FFC0FFC01FF8000FFC01FFC0FFC00FFC001FF801FFC0FFC00FFC00 1FF801FFC0FFC007FE003FF001FFC0FFC007FE003FF001FFC0FFC003FF007FE001FFC0FFC003FF 007FE001FFC0FFC001FF80FFC001FFC0FFC001FF80FFC001FFC0FFC000FFC1FF8001FFC0FFC000 FFC1FF8001FFC0FFC0007FE3FF0001FFC0FFC0007FE3FF0001FFC0FFC0003FF7FE0001FFC0FFC0 003FF7FE0001FFC0FFC0001FFFFC0001FFC0FFC0001FFFFC0001FFC0FFC0001FFFFC0001FFC0FF C0000FFFF80001FFC0FFC0000FFFF80001FFC0FFC00007FFF00001FFC0FFC00007FFF00001FFC0 FFC00003FFE00001FFC0FFC00003FFE00001FFC0FFC00001FFC00001FFC0FFC00000FF800001FF C07F80000000000000FF804A3977B85D>77 D<00000001FFF0000000000000003FFFFF80000000 000003FFFFFFF800000000000FFFFFFFFE00000000003FFFFFFFFF8000000000FFFFFFFFFFE000 000003FFFF001FFFF800000007FFF00001FFFC0000001FFF8000003FFF0000003FFF0000001FFF 8000007FFC00000007FFC00000FFF800000003FFE00001FFE000000000FFF00003FFC000000000 7FF80007FFC0000000007FFC0007FF80000000003FFC000FFF00000000001FFE001FFF00000000 001FFF001FFE00000000000FFF003FFE00000000000FFF803FFC000000000007FF807FFC000000 000007FFC07FFC000000000007FFC07FF8000000000003FFC07FF8000000000003FFC0FFF80000 00000003FFE0FFF8000000000003FFE0FFF8000000000003FFE0FFF8000000000003FFE0FFF800 0000000003FFE0FFF8000000000003FFE0FFF8000000000003FFE0FFF8000000000003FFE0FFF8 000000000003FFE0FFFC000000000007FFE07FFC000000000007FFC07FFC000000000007FFC07F FC000000000007FFC03FFE00000000000FFF803FFE00000000000FFF801FFF00000000001FFF00 1FFF00000000001FFF000FFF80000000003FFE000FFFC0000000007FFE0007FFC0000000007FFC 0003FFE000000000FFF80001FFF000000001FFF00000FFF800000003FFE000007FFE0000000FFF C000003FFF0000001FFF8000001FFFC000007FFF0000000FFFF00001FFFE00000003FFFF001FFF F800000000FFFFFFFFFFE0000000007FFFFFFFFFC0000000000FFFFFFFFE000000000003FFFFFF F80000000000003FFFFF8000000000000003FFF8000000004B3B7AB958>79 D<7FFFFFFFE00000FFFFFFFFFE0000FFFFFFFFFFC000FFFFFFFFFFF000FFFFFFFFFFFC00FFFFFF FFFFFE00FFFFFFFFFFFF80FFFFFFFFFFFFC0FFFFFFFFFFFFE0FFF800003FFFF0FFF8000007FFF0 FFF8000001FFF8FFF8000000FFFCFFF80000007FFCFFF80000003FFCFFF80000003FFEFFF80000 003FFEFFF80000003FFEFFF80000003FFEFFF80000003FFEFFF80000003FFEFFF80000003FFEFF F80000003FFCFFF80000007FFCFFF8000000FFF8FFF8000001FFF8FFF8000007FFF0FFF800003F FFE0FFFFFFFFFFFFC0FFFFFFFFFFFF80FFFFFFFFFFFE00FFFFFFFFFFFC00FFFFFFFFFFF000FFFF FFFFFF8000FFFFFFFFFC0000FFF80000000000FFF80000000000FFF80000000000FFF800000000 00FFF80000000000FFF80000000000FFF80000000000FFF80000000000FFF80000000000FFF800 00000000FFF80000000000FFF80000000000FFF80000000000FFF80000000000FFF80000000000 FFF80000000000FFF80000000000FFF80000000000FFF80000000000FFF80000000000FFF80000 0000007FF00000000000373977B847>I<7FFFFFFFF0000000FFFFFFFFFF800000FFFFFFFFFFF0 0000FFFFFFFFFFFE0000FFFFFFFFFFFF8000FFFFFFFFFFFFC000FFFFFFFFFFFFF000FFFFFFFFFF FFF800FFFFFFFFFFFFFC00FFF8000007FFFE00FFF80000007FFF00FFF80000001FFF00FFF80000 000FFF80FFF80000000FFF80FFF800000007FFC0FFF800000007FFC0FFF800000007FFC0FFF800 000007FFC0FFF800000007FFC0FFF800000007FFC0FFF80000000FFF80FFF80000001FFF80FFF8 0000003FFF00FFF8000000FFFE00FFF800000FFFFC00FFFFFFFFFFFFF000FFFFFFFFFFFFC000FF FFFFFFFFFF0000FFFFFFFFFFF80000FFFFFFFFFFC00000FFFFFFFFFF000000FFF8000FFF800000 FFF80007FFC00000FFF80003FFC00000FFF80001FFE00000FFF80001FFF00000FFF80000FFF800 00FFF800007FFC0000FFF800003FFC0000FFF800003FFE0000FFF800001FFF0000FFF800000FFF 8000FFF8000007FFC000FFF8000003FFC000FFF8000003FFE000FFF8000001FFF000FFF8000000 FFF800FFF80000007FFC00FFF80000007FFC00FFF80000003FFE00FFF80000001FFF00FFF80000 000FFF80FFF800000007FF80FFF800000007FFC0FFF800000003FFE0FFF800000001FFE07FF000 000000FFE03B3977B84A>82 D<00000FFFC000000000FFFFFE00000007FFFFFFC000001FFFFFFF F800007FFFFFFFFE0000FFFFFFFFFE0001FFFFFFFFFE0003FFFFFFFFFE0007FFF800FFFC000FFF 80001FFC001FFE000007FC001FF8000001FC003FF80000007C003FF00000003C007FF000000018 007FF000000008007FF000000000007FF800000000007FFC00000000007FFF00000000007FFFE0 000000003FFFFF800000003FFFFFFC0000001FFFFFFFE000001FFFFFFFFC00000FFFFFFFFF0000 07FFFFFFFFC00003FFFFFFFFE00001FFFFFFFFF800007FFFFFFFFC00003FFFFFFFFE00000FFFFF FFFF000001FFFFFFFF0000003FFFFFFF80000000FFFFFFC000000007FFFFC0000000007FFFC000 0000000FFFE00000000003FFE00000000001FFE00000000001FFE02000000000FFE03000000000 FFE07800000000FFE07E00000000FFC07F00000001FFC07FC0000001FFC07FE0000003FF807FFC 00000FFF00FFFF00003FFF00FFFFF001FFFE00FFFFFFFFFFFC00FFFFFFFFFFF8003FFFFFFFFFF0 000FFFFFFFFFC00001FFFFFFFF0000003FFFFFFC00000007FFFFF0000000001FFF000000333B7B B93F>I<7FFFFFFFFFFFFFFFFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF7FFFFFFFFFFFFFFFFE00000003FFE00000000000 0003FFE000000000000003FFE000000000000003FFE000000000000003FFE000000000000003FF E000000000000003FFE000000000000003FFE000000000000003FFE000000000000003FFE00000 0000000003FFE000000000000003FFE000000000000003FFE000000000000003FFE00000000000 0003FFE000000000000003FFE000000000000003FFE000000000000003FFE000000000000003FF E000000000000003FFE000000000000003FFE000000000000003FFE000000000000003FFE00000 0000000003FFE000000000000003FFE000000000000003FFE000000000000003FFE00000000000 0003FFE000000000000003FFE000000000000003FFE000000000000003FFE000000000000003FF E000000000000003FFE000000000000003FFE000000000000003FFE000000000000003FFE00000 0000000003FFE000000000000003FFE000000000000003FFE000000000000003FFE00000000000 0003FFE000000000000003FFE000000000000003FFE000000000000003FFE000000000000003FF E000000000000003FFE000000000000003FFE000000000000003FFE000000000000003FFE00000 0000000001FFC000000048397CB851>I86 D<7FC00000001FFFC00000001FE0FFE00000003FFFE00000003FF0FFF00000003FFFE00000007F F07FF00000007FFFF00000007FE07FF80000007FFFF00000007FE07FF80000007FFFF0000000FF E03FF8000000FFFFF8000000FFC03FFC000000FFFFF8000000FFC03FFC000000FFFFF8000001FF C01FFC000001FFBFFC000001FF801FFE000001FF9FFC000001FF801FFE000001FF9FFC000003FF 800FFE000003FF1FFE000003FF000FFF000003FF0FFE000003FF000FFF000003FF0FFE000007FE 0007FF000007FE0FFF000007FE0007FF800007FE07FF000007FE0003FF800007FE07FF00000FFC 0003FF80000FFC07FF80000FFC0003FFC0000FFC03FF80000FFC0001FFC0000FFC03FF80001FF8 0001FFC0001FF803FFC0001FF80001FFE0001FF801FFC0001FF80000FFE0001FF801FFC0003FF0 0000FFE0003FF001FFE0003FF00000FFF0003FF000FFE0007FF000007FF0003FF000FFE0007FE0 00007FF0007FE000FFF0007FE000007FF8007FE0007FF000FFE000003FF8007FE0007FF000FFC0 00003FF800FFC0007FF800FFC000003FFC00FFC0003FF801FFC000001FFC00FFC0003FF801FF80 00001FFC01FF80001FFC01FF8000001FFE01FF80001FFC03FF8000000FFE01FF80001FFC03FF00 00000FFE03FF00000FFE03FF0000000FFF03FF00000FFE07FF00000007FF03FE00000FFE07FE00 000007FF07FE000007FF07FE00000007FF87FE000007FF0FFE00000003FF8FFC000007FF0FFC00 000003FF8FFC000003FF8FFC00000003FFCFFC000003FF9FFC00000001FFDFF8000003FF9FF800 000001FFFFF8000001FFDFF800000001FFFFF8000001FFFFF800000000FFFFF0000001FFFFF000 000000FFFFF0000000FFFFF000000000FFFFF0000000FFFFF0000000007FFFE0000000FFFFE000 0000007FFFE00000007FFFE0000000007FFFE00000007FFFE0000000003FFFC00000007FFFC000 0000003FFFC00000003FFFC0000000001FFFC00000003FFF80000000000FFF000000001FFF0000 0064397EB869>I<0000FFF00000000FFFFE0000007FFFFF800003FFFFFFE00007FFFFFFF0000F FFFFFFF8000FFF001FFC000FF8000FFE0007E0000FFF0007C00007FF8007000007FF8006000003 FF8000000003FFC000000003FFC000000003FFC000000003FFC000000003FFC000000003FFC000 000003FFC000000FFFFFC00001FFFFFFC0000FFFFFFFC0007FFF83FFC001FFF803FFC003FFE003 FFC007FF8003FFC01FFE0003FFC01FFC0003FFC03FFC0003FFC07FF80003FFC07FF80003FFC0FF F00003FFC0FFF00003FFC0FFF00003FFC0FFF00003FFC0FFF00007FFC0FFF80007FFC07FF8000F FFC07FFC001FFFC03FFE003FFFC03FFF81FBFFC01FFFFFF3FFC00FFFFFE3FFC007FFFFC3FFC001 FFFF03FFC000FFFC01FF80001FE00000002A2F7DAD35>97 D<7FE000000000FFF000000000FFF0 00000000FFF000000000FFF000000000FFF000000000FFF000000000FFF000000000FFF0000000 00FFF000000000FFF000000000FFF000000000FFF00FF80000FFF07FFE0000FFF0FFFF8000FFF3 FFFFE000FFF7FFFFF000FFFFFFFFF800FFFF80FFFC00FFFC003FFE00FFF8000FFE00FFF00007FF 00FFF00003FF80FFF00003FF80FFF00001FFC0FFF00001FFC0FFF00001FFE0FFF00001FFE0FFF0 0000FFE0FFF00000FFE0FFF00000FFF0FFF00000FFF0FFF00000FFF0FFF00000FFF0FFF00000FF F0FFF00000FFF0FFF00000FFF0FFF00000FFF0FFF00000FFF0FFF00000FFF0FFF00000FFE0FFF0 0000FFE0FFF00001FFE0FFF00001FFC0FFF00001FFC0FFF00003FF80FFF00003FF80FFF00007FF 00FFF0000FFF00FFF8001FFE00FFFC003FFC00FFFF01FFF800FFFFFFFFF000FFF7FFFFE000FFF3 FFFF8000FFF1FFFF00007FE0FFFC000000001FE000002C3A79B838>I<00001FFE00000000FFFF E0000007FFFFF800000FFFFFFE00003FFFFFFF80007FFFFFFF8000FFF003FF8001FFC0007F8003 FF80003F0007FF00000F000FFE000007000FFC000003001FFC000000003FFC000000003FF80000 00003FF8000000007FF8000000007FF0000000007FF000000000FFF000000000FFF000000000FF F000000000FFF000000000FFF000000000FFF000000000FFF000000000FFF000000000FFF00000 0000FFF0000000007FF0000000007FF8000000007FF8000000003FF8000000003FFC000000001F FC000000801FFC000003800FFE0000078007FF00000F8003FF80003FC001FFC000FFC000FFF007 FFC0007FFFFFFFC0003FFFFFFF00001FFFFFFC000007FFFFF0000001FFFFC00000001FFC00002A 2F7CAD32>I<000000007FE000000000FFF000000000FFF000000000FFF000000000FFF0000000 00FFF000000000FFF000000000FFF000000000FFF000000000FFF000000000FFF000000000FFF0 00007F80FFF00003FFE0FFF0000FFFF8FFF0003FFFFEFFF0007FFFFFFFF000FFFFFFFFF001FFF8 0FFFF003FFC003FFF007FF8000FFF00FFF0000FFF00FFE0000FFF01FFC0000FFF03FFC0000FFF0 3FF80000FFF03FF80000FFF07FF80000FFF07FF00000FFF07FF00000FFF0FFF00000FFF0FFF000 00FFF0FFF00000FFF0FFF00000FFF0FFF00000FFF0FFF00000FFF0FFF00000FFF0FFF00000FFF0 FFF00000FFF0FFF00000FFF07FF00000FFF07FF00000FFF07FF80000FFF07FF80000FFF03FF800 00FFF03FF80000FFF01FFC0000FFF01FFC0000FFF00FFE0000FFF007FF0001FFF003FFC007FFF0 01FFF01FFFF000FFFFFFFFF0007FFFFEFFF0003FFFFCFFF0001FFFF0FFF00007FFE07FE00000FF 0000002C3A7CB838>I<00001FF800000000FFFF80000007FFFFE000001FFFFFF800003FFFFFFC 00007FFFFFFE0001FFF80FFF0003FFE007FF8003FFC001FFC007FF8000FFC00FFF0000FFE00FFE 00007FE01FFC00007FF03FFC00007FF03FF800003FF07FF800003FF87FF800003FF87FF000003F F87FF000003FF8FFFFFFFFFFF8FFFFFFFFFFF8FFFFFFFFFFF8FFFFFFFFFFF0FFF000000000FFF0 00000000FFF000000000FFF000000000FFF0000000007FF0000000007FF0000000007FF8000000 003FF8000000003FFC000000001FFC000000201FFE000000600FFE000000E00FFF000001E007FF 800007F003FFC0000FF001FFF0007FF000FFFC03FFF0007FFFFFFFC0001FFFFFFF80000FFFFFFE 000003FFFFF80000007FFFE000000007FE00002D2F7DAD34>I<000007FFC000007FFFF80001FF FFF80007FFFFF8000FFFFFF8001FFFFFF8003FFE01F8007FF8007800FFF0001800FFF0000000FF F0000000FFF0000000FFF0000000FFF000007FFFFFF800FFFFFFFC00FFFFFFFC00FFFFFFFC00FF FFFFFC007FFFFFF80000FFF0000000FFF0000000FFF0000000FFF0000000FFF0000000FFF00000 00FFF0000000FFF0000000FFF0000000FFF0000000FFF0000000FFF0000000FFF0000000FFF000 0000FFF0000000FFF0000000FFF0000000FFF0000000FFF0000000FFF0000000FFF0000000FFF0 000000FFF0000000FFF0000000FFF0000000FFF0000000FFF0000000FFF0000000FFF0000000FF F0000000FFF0000000FFF0000000FFF0000000FFF0000000FFF0000000FFF0000000FFF0000000 7FE00000253A7EB923>I<00003F807FE00003FFE0FFF0000FFFF8FFF0001FFFFCFFF0007FFFFE FFF000FFFFFFFFF001FFFC0FFFF003FFE007FFF007FFC001FFF00FFF8001FFF00FFF0000FFF01F FE0000FFF01FFE0000FFF03FFC0000FFF03FFC0000FFF07FF80000FFF07FF80000FFF07FF80000 FFF0FFF00000FFF0FFF00000FFF0FFF00000FFF0FFF00000FFF0FFF00000FFF0FFF00000FFF0FF F00000FFF0FFF00000FFF0FFF00000FFF07FF80001FFF07FF80001FFF07FF80001FFF03FFC0001 FFF03FFC0003FFF01FFE0003FFF01FFF0007FFF00FFF8007FFF007FFC00EFFF003FFF03EFFF001 FFFFFCFFF000FFFFFCFFF0003FFFF8FFF0001FFFF0FFF00007FFC0FFF000007F80FFF000000000 FFF000000000FFF000000000FFF000000000FFE004000000FFE00F000001FFC00FC00001FFC00F F80007FF800FFF801FFF000FFFFFFFFE000FFFFFFFFC0007FFFFFFF80001FFFFFFE000003FFFFF 80000000FFF800002C3A7CAC38>I<7FE000000000FFF000000000FFF000000000FFF000000000 FFF000000000FFF000000000FFF000000000FFF000000000FFF000000000FFF000000000FFF000 000000FFF000000000FFF001FF0000FFF00FFFE000FFF03FFFF000FFF07FFFF800FFF0FFFFFC00 FFF1FFFFFE00FFF3E03FFF00FFF7800FFF00FFFE000FFF00FFFE0007FF80FFFC0007FF80FFF800 07FF80FFF80007FF80FFF00007FF80FFF00007FF80FFF00007FF80FFF00007FF80FFF00007FF80 FFF00007FF80FFF00007FF80FFF00007FF80FFF00007FF80FFF00007FF80FFF00007FF80FFF000 07FF80FFF00007FF80FFF00007FF80FFF00007FF80FFF00007FF80FFF00007FF80FFF00007FF80 FFF00007FF80FFF00007FF80FFF00007FF80FFF00007FF80FFF00007FF80FFF00007FF80FFF000 07FF80FFF00007FF80FFF00007FF80FFF00007FF80FFF00007FF80FFF00007FF80FFF00007FF80 7FE00003FF00293979B838>I<7FF0FFF8FFF8FFF8FFF8FFF87FF0000000000000000000000000 00003FF07FF87FF87FF87FF87FF87FF87FF87FF87FF87FF87FF87FF87FF87FF87FF87FF87FF87F F87FF87FF87FF87FF87FF87FF87FF87FF87FF87FF87FF87FF87FF87FF87FF87FF87FF87FF87FF8 7FF87FF87FF87FF87FF83FF00D3A7BB919>I<00007FF00000FFF80000FFF80000FFF80000FFF8 0000FFF800007FF00000000000000000000000000000000000000000000000000000000000003F F000007FF800007FF800007FF800007FF800007FF800007FF800007FF800007FF800007FF80000 7FF800007FF800007FF800007FF800007FF800007FF800007FF800007FF800007FF800007FF800 007FF800007FF800007FF800007FF800007FF800007FF800007FF800007FF800007FF800007FF8 00007FF800007FF800007FF800007FF800007FF800007FF800007FF800007FF800007FF800007F F800007FF800007FF800007FF800007FF800007FF800007FF800007FF800007FF83803FFF07FFF FFF07FFFFFE07FFFFFC0FFFFFF807FFFFE001FFFFC0000FFE0001D4688B91C>I<7F8000000000 FFC000000000FFC000000000FFC000000000FFC000000000FFC000000000FFC000000000FFC000 000000FFC000000000FFC000000000FFC000000000FFC000000000FFC000000000FFC0000FFF00 FFC0001FFF00FFC0007FFE00FFC000FFFC00FFC001FFF800FFC003FFF000FFC007FFE000FFC00F FF8000FFC03FFF0000FFC07FFE0000FFC0FFFC0000FFC1FFF80000FFC3FFF00000FFC7FFC00000 FFDFFF800000FFFFFF000000FFFFFE000000FFFFFC000000FFFFFE000000FFFFFF000000FFFFFF 800000FFFFFF800000FFFFFFC00000FFFFFFE00000FFFDFFF00000FFF0FFF00000FFE07FF80000 FFC03FFC0000FFC03FFE0000FFC01FFE0000FFC00FFF0000FFC007FF8000FFC007FFC000FFC003 FFC000FFC001FFE000FFC000FFF000FFC000FFF800FFC0007FF800FFC0003FFC00FFC0001FFE00 FFC0001FFF00FFC0000FFF80FFC00007FF807F800003FF00293978B835>I<7FE0FFF0FFF0FFF0 FFF0FFF0FFF0FFF0FFF0FFF0FFF0FFF0FFF0FFF0FFF0FFF0FFF0FFF0FFF0FFF0FFF0FFF0FFF0FF F0FFF0FFF0FFF0FFF0FFF0FFF0FFF0FFF0FFF0FFF0FFF0FFF0FFF0FFF0FFF0FFF0FFF0FFF0FFF0 FFF0FFF0FFF0FFF0FFF0FFF0FFF0FFF0FFF0FFF0FFF0FFF0FFF07FE00C397AB819>I<000001FF 800003FF00007FE007FFF0000FFFE000FFF01FFFFC003FFFF800FFF07FFFFE00FFFFFC00FFF0FF FFFF01FFFFFE00FFF1FFFFFF83FFFFFF00FFF3F01FFFC7E03FFF80FFF78007FFCF000FFF80FFFF 0003FFDE0007FF80FFFE0003FFFC0007FFC0FFFC0001FFF80003FFC0FFF80001FFF00003FFC0FF F80001FFF00003FFC0FFF80001FFF00003FFC0FFF00001FFE00003FFC0FFF00001FFE00003FFC0 FFF00001FFE00003FFC0FFF00001FFE00003FFC0FFF00001FFE00003FFC0FFF00001FFE00003FF C0FFF00001FFE00003FFC0FFF00001FFE00003FFC0FFF00001FFE00003FFC0FFF00001FFE00003 FFC0FFF00001FFE00003FFC0FFF00001FFE00003FFC0FFF00001FFE00003FFC0FFF00001FFE000 03FFC0FFF00001FFE00003FFC0FFF00001FFE00003FFC0FFF00001FFE00003FFC0FFF00001FFE0 0003FFC0FFF00001FFE00003FFC0FFF00001FFE00003FFC0FFF00001FFE00003FFC0FFF00001FF E00003FFC0FFF00001FFE00003FFC0FFF00001FFE00003FFC0FFF00001FFE00003FFC0FFF00001 FFE00003FFC0FFF00001FFE00003FFC0FFF00001FFE00003FFC0FFF00001FFE00003FFC0FFF000 01FFE00003FFC07FE00000FFC00001FF804A2D79AC59>I<000001FF00007FE00FFFE000FFF03F FFF000FFF07FFFF800FFF0FFFFFC00FFF1FFFFFE00FFF3E03FFF00FFF7800FFF00FFFE000FFF00 FFFE0007FF80FFFC0007FF80FFF80007FF80FFF80007FF80FFF00007FF80FFF00007FF80FFF000 07FF80FFF00007FF80FFF00007FF80FFF00007FF80FFF00007FF80FFF00007FF80FFF00007FF80 FFF00007FF80FFF00007FF80FFF00007FF80FFF00007FF80FFF00007FF80FFF00007FF80FFF000 07FF80FFF00007FF80FFF00007FF80FFF00007FF80FFF00007FF80FFF00007FF80FFF00007FF80 FFF00007FF80FFF00007FF80FFF00007FF80FFF00007FF80FFF00007FF80FFF00007FF80FFF000 07FF80FFF00007FF80FFF00007FF807FE00003FF00292D79AC38>I<00000FFC0000000000FFFF C000000003FFFFF00000000FFFFFFC0000001FFFFFFE0000007FFFFFFF800000FFF807FFC00001 FFE001FFE00003FF80007FF00007FF00003FF8000FFE00001FFC000FFC00000FFC001FFC00000F FE001FF8000007FE003FF8000007FF003FF8000007FF007FF0000003FF807FF0000003FF807FF0 000003FF80FFF0000003FFC0FFF0000003FFC0FFF0000003FFC0FFF0000003FFC0FFF0000003FF C0FFF0000003FFC0FFF0000003FFC0FFF0000003FFC0FFF0000003FFC0FFF0000003FFC07FF000 0003FF807FF8000007FF807FF8000007FF803FF8000007FF003FF8000007FF001FFC00000FFE00 1FFC00000FFE000FFE00001FFC0007FF00003FF80003FF80007FF00003FFE001FFF00001FFF807 FFE000007FFFFFFF8000003FFFFFFF0000000FFFFFFC00000003FFFFF000000000FFFFC0000000 000FFC000000322F7DAD39>I<00000FF800007FE07FFE0000FFF0FFFF8000FFF3FFFFE000FFF7 FFFFF000FFFFFFFFF800FFFF81FFFC00FFFC007FFE00FFF8001FFE00FFF0000FFF00FFF0000FFF 80FFF00007FF80FFF00003FFC0FFF00003FFC0FFF00001FFE0FFF00001FFE0FFF00001FFE0FFF0 0001FFE0FFF00000FFF0FFF00000FFF0FFF00000FFF0FFF00000FFF0FFF00000FFF0FFF00000FF F0FFF00000FFF0FFF00000FFF0FFF00000FFF0FFF00000FFF0FFF00001FFE0FFF00001FFE0FFF0 0001FFE0FFF00003FFC0FFF00003FFC0FFF00007FF80FFF00007FF80FFF0000FFF00FFF0001FFF 00FFF8003FFE00FFFC007FFC00FFFF03FFF800FFFFFFFFF000FFF7FFFFE000FFF3FFFF8000FFF1 FFFF0000FFF0FFFC0000FFF01FE00000FFF000000000FFF000000000FFF000000000FFF0000000 00FFF000000000FFF000000000FFF000000000FFF000000000FFF0000000007FE0000000002C38 79AC38>I<000001F07FE007F0FFF01FF0FFF03FF0FFF07FF0FFF0FFF0FFF1FFF0FFF3FFF0FFF7 FFF0FFF7FC00FFFFE000FFFF8000FFFF0000FFFC0000FFFC0000FFF80000FFF80000FFF00000FF F00000FFF00000FFF00000FFF00000FFF00000FFF00000FFF00000FFF00000FFF00000FFF00000 FFF00000FFF00000FFF00000FFF00000FFF00000FFF00000FFF00000FFF00000FFF00000FFF000 00FFF00000FFF00000FFF00000FFF00000FFF00000FFF000007FE000001C2D79AC26>114 D<0007FF8000003FFFF80000FFFFFE0003FFFFFF8007FFFFFFE00FFFFFFFE01FFFFFFFE01FFC00 FFE03FE0001FC03FE00007C03FC00003C07FC00000C07FC00000007FC00000007FE00000007FF0 0000007FFE0000003FFFF800003FFFFF80003FFFFFF0001FFFFFFC000FFFFFFE0007FFFFFF0003 FFFFFF8001FFFFFFC000FFFFFFE0003FFFFFE00007FFFFF000007FFFF0000001FFF80000007FF8 0000001FF80000000FF82000000FF87000000FF87800000FF87E00000FF07F00001FF07FE0003F F0FFFC00FFE0FFFFFFFFC0FFFFFFFFC0FFFFFFFF803FFFFFFE0007FFFFFC0000FFFFF000000FFF 8000252F7DAD2C>I<007FE0000000FFF0000000FFF0000000FFF0000000FFF0000000FFF00000 00FFF0000000FFF0000000FFF0000000FFF0000000FFF0000000FFF0000000FFF000007FFFFFFF 00FFFFFFFF80FFFFFFFF80FFFFFFFF80FFFFFFFF807FFFFFFF0000FFF0000000FFF0000000FFF0 000000FFF0000000FFF0000000FFF0000000FFF0000000FFF0000000FFF0000000FFF0000000FF F0000000FFF0000000FFF0000000FFF0000000FFF0000000FFF0000000FFF0000000FFF0000000 FFF0000000FFF0000000FFF0000000FFF0000000FFF0000000FFF0000000FFF0000000FFF00000 00FFF0000000FFF0000000FFF0000000FFF80040007FF801C0007FF803C0007FFC1FE0003FFFFF E0003FFFFFC0001FFFFF80000FFFFE000007FFF0000001FF0000233A7EB829>I<7FE00003FF00 FFF00007FF80FFF00007FF80FFF00007FF80FFF00007FF80FFF00007FF80FFF00007FF80FFF000 07FF80FFF00007FF80FFF00007FF80FFF00007FF80FFF00007FF80FFF00007FF80FFF00007FF80 FFF00007FF80FFF00007FF80FFF00007FF80FFF00007FF80FFF00007FF80FFF00007FF80FFF000 07FF80FFF00007FF80FFF00007FF80FFF00007FF80FFF00007FF80FFF00007FF80FFF00007FF80 FFF00007FF80FFF00007FF80FFF00007FF80FFF00007FF80FFF0000FFF80FFF0000FFF80FFF000 0FFF80FFF0001FFF807FF0001FFF807FF0003FFF807FF00077FF803FF800F7FF803FFC03E7FF80 1FFFFFC7FF800FFFFF87FF8003FFFF07FF8001FFFC03FF00001FF0000000292D79AB38>I<7F80 00000FF0FFC000001FF8FFE000003FF87FE000003FF07FF000003FF03FF000007FE03FF000007F E03FF80000FFE01FF80000FFC01FF80000FFC01FFC0001FFC00FFC0001FF800FFC0001FF800FFE 0003FF8007FE0003FF0007FF0003FF0007FF0007FF0003FF0007FE0003FF8007FE0003FF800FFE 0001FF800FFC0001FFC01FFC0000FFC01FF80000FFC01FF80000FFE03FF800007FE03FF000007F E03FF000007FF07FF000003FF07FE000003FF87FE000003FF8FFE000001FF8FFC000001FFCFFC0 00001FFDFFC000000FFDFF8000000FFFFF80000007FFFF00000007FFFF00000007FFFF00000003 FFFE00000003FFFE00000003FFFE00000001FFFC00000000FFF800002D2C7EAB32>I<7F800001 FC000007F8FFC00003FE00000FFCFFE00003FF00000FFC7FE00003FF00001FF87FE00007FF0000 1FF87FF00007FF80001FF83FF00007FF80003FF03FF0000FFF80003FF03FF0000FFFC0003FF03F F8000FFFC0007FF01FF8001FFFC0007FE01FF8001FFFE0007FE01FFC001FFFE000FFE00FFC003F FFE000FFC00FFC003FBFF000FFC00FFE003FBFF000FFC007FE003F3FF001FF8007FE007F1FF001 FF8007FE007F1FF801FF8007FF007E1FF803FF8003FF00FE1FF803FF0003FF00FE0FFC03FF0003 FF80FC0FFC07FF0001FF81FC0FFC07FE0001FF81FC07FE07FE0001FFC1FC07FE07FE0000FFC1F8 07FE0FFC0000FFC3F803FE0FFC0000FFE3F803FF0FFC00007FE3F003FF1FF800007FE7F001FF1F F800007FE7F001FF9FF800007FF7E001FFBFF800003FFFE001FFBFF000003FFFE000FFFFF00000 3FFFC000FFFFF000001FFFC000FFFFE000001FFFC0007FFFE000001FFFC0007FFFE000000FFF80 007FFFC000000FFF80003FFFC000000FFF80003FFFC0000007FF00003FFF80000003FE00001FFF 0000462C7EAB4B>I<7FE000007FE0FFF00000FFE07FF80001FFE03FFC0003FFC01FFE0007FF80 1FFE0007FF000FFF000FFF0007FF801FFE0003FFC03FFC0001FFE07FF80000FFF07FF000007FF0 FFE000003FF9FFC000001FFFFFC000001FFFFF8000000FFFFF00000007FFFE00000003FFFC0000 0001FFF800000000FFF0000000007FF0000000007FE000000000FFF000000001FFF800000001FF FC00000003FFFE00000007FFFF0000000FFFFF8000001FF9FF8000003FF8FFC000007FF07FE000 007FE07FF00000FFC03FF80001FFC01FFC0003FF800FFE0007FF000FFF000FFE0007FF000FFE00 03FF801FFC0001FFC03FF80001FFE07FF80000FFF0FFF000007FF8FFE000003FF8FFC000001FF8 2D2C7EAB32>II<1F FFFFFFFF803FFFFFFFFFC03FFFFFFFFFC03FFFFFFFFFC03FFFFFFFFFC01FFFFFFFFF800000000F FF800000001FFF000000003FFE000000007FFC000000007FF800000000FFF000000001FFE00000 0003FFE000000007FFC00000000FFF800000001FFF000000001FFE000000003FFC000000007FF8 00000000FFF800000001FFF000000003FFE000000007FFC000000007FF800000000FFF00000000 1FFE000000003FFE000000007FFC00000000FFF800000001FFF000000001FFE000000003FFC000 000007FF800000000FFF800000001FFF000000003FFE000000007FFC000000007FFFFFFFFF80FF FFFFFFFFC0FFFFFFFFFFC0FFFFFFFFFFC0FFFFFFFFFFC07FFFFFFFFF802A2C7DAB31>I E /Fo 10 58 df<07C018303018701C600C600CE00EE00EE00EE00EE00EE00EE00EE00EE00E60 0C600C701C30181C7007C00F157F9412>48 D<03000700FF000700070007000700070007000700 07000700070007000700070007000700070007007FF00C157E9412>I<0F8030E040708030C038 E0384038003800700070006000C00180030006000C08080810183FF07FF0FFF00D157E9412>I< 0FE030306018701C701C001C00180038006007E000300018000C000E000EE00EE00EC00C401830 300FE00F157F9412>I<00300030007000F001F001700270047008701870107020704070C070FF FE0070007000700070007003FE0F157F9412>I<20303FE03FC0240020002000200020002F8030 E020700030003800384038E038E0388030406020C01F000D157E9412>I<01F00608080C181C30 1C70006000E000E3E0EC30F018F00CE00EE00EE00E600E600E300C3018183007C00F157F9412> I<40007FFE7FFC7FF8C008801080200040008000800100010003000200060006000E000E000E00 0E000E0004000F167E9512>I<07E018302018600C600C700C78183E101F600FC00FF018F8607C 601EC00EC006C006C004600C38300FE00F157F9412>I<07C0183030186018E00CE00CE00EE00E E00E601E301E186E0F8E000E000C001C70187018603020C01F800F157F9412>I E /Fp 78 125 df<00000FFE0001FFC000007FFFC00FFFF80001FFFFC03FFFF80007FFFFC0FFFF F8000FFFFFC1FFFFF8001FF003C3FE0078003F800087F00010003F000007E00000007F00000FE0 0000007F00000FE00000007F00000FE00000007F00000FE00000007F00000FE00000007F00000F E00000007F00000FE000007FFFFFE00FFFFC00FFFFFFF00FFFFE00FFFFFFF00FFFFE00FFFFFFF0 0FFFFE007FFFFFE00FFFFC00007F00000FE00000007F00000FE00000007F00000FE00000007F00 000FE00000007F00000FE00000007F00000FE00000007F00000FE00000007F00000FE00000007F 00000FE00000007F00000FE00000007F00000FE00000007F00000FE00000007F00000FE0000000 7F00000FE00000007F00000FE00000007F00000FE00000007F00000FE00000007F00000FE00000 007F00000FE00000007F00000FE00000007F00000FE00000007F00000FE00000007F00000FE000 00007F00000FE00000007F00000FE00000007F00000FE00000007F00000FE00000007F00000FE0 0000007F00000FE00000007F00000FE00000007F00000FE00000007F00000FE00000007F00000F E00000007F00000FE00000007F00000FE00000007F00000FE00000007F00000FE00000003E0000 07C000003D3A7EB93C>11 D<00003F8007E00001FFF00FF00003FFF00FF00007FFF00FF0000FFF F00FF0001FC0F00FF0003F80200FF0003F000007E0007F00000000007F00000000007F00000000 007F00000000007F00000000007F00000000007F000000007FFFFFE003E0FFFFFFF007F0FFFFFF F007F0FFFFFFF007F07FFFFFE007F0007F000007F0007F000007F0007F000007F0007F000007F0 007F000007F0007F000007F0007F000007F0007F000007F0007F000007F0007F000007F0007F00 0007F0007F000007F0007F000007F0007F000007F0007F000007F0007F000007F0007F000007F0 007F000007F0007F000007F0007F000007F0007F000007F0007F000007F0007F000007F0007F00 0007F0007F000007F0007F000007F0007F000007F0007F000007F0007F000007F0007F000007F0 007F000007F0007F000007F0007F000007F0007F000007F0007F000007F0007F000007F0007F00 0007F0003E000003E02C3A7EB937>I<00003F8000000001FFF003E00003FFF007F00007FFF007 F0000FFFF007F0001FC07007F0003F800007F0003F000007F0007F000007F0007F000007F0007F 000007F0007F000007F0007F000007F0007F000007F0007F000007F07FFFFFE007F0FFFFFFF007 F0FFFFFFF007F0FFFFFFF007F07FFFFFE007F0007F000007F0007F000007F0007F000007F0007F 000007F0007F000007F0007F000007F0007F000007F0007F000007F0007F000007F0007F000007 F0007F000007F0007F000007F0007F000007F0007F000007F0007F000007F0007F000007F0007F 000007F0007F000007F0007F000007F0007F000007F0007F000007F0007F000007F0007F000007 F0007F000007F0007F000007F0007F000007F0007F000007F0007F000007F0007F000007F0007F 000007F0007F000007F0007F000007F0007F000007F0007F000007F0007F000007F0007F000007 F0007F000007F0003E000003E02C3A7EB937>I<00001FF00003FC007E0000FFFE001FFF80FF00 03FFFE003FFF80FF0007FFFE007FFF80FF000FFFFE00FFFF80FF001FE01E01FE0780FF003F8000 03F80000FF003F000003F000007E007F000007F0000000007F000007F0000000007F000007F000 0000007F000007F0000000007F000007F0000000007F000007F0000000007F000007F00000007F FFFFF007FFFF003EFFFFFFF807FFFF807FFFFFFFF807FFFF807FFFFFFFF807FFFF807F7FFFFFF0 07FFFF007F007F000007F000007F007F000007F000007F007F000007F000007F007F000007F000 007F007F000007F000007F007F000007F000007F007F000007F000007F007F000007F000007F00 7F000007F000007F007F000007F000007F007F000007F000007F007F000007F000007F007F0000 07F000007F007F000007F000007F007F000007F000007F007F000007F000007F007F000007F000 007F007F000007F000007F007F000007F000007F007F000007F000007F007F000007F000007F00 7F000007F000007F007F000007F000007F007F000007F000007F007F000007F000007F007F0000 07F000007F007F000007F000007F007F000007F000007F007F000007F000007F007F000007F000 007F007F000007F000007F007F000007F000007F007F000007F000007F007F000007F000007F00 7F000007F000007F007F000007F000007F007F000007F000007F003E000003E000003E483A7EB9 53>I34 D39 D<00000F8000001F8000003E000000FC000001F8000003F0000007E000000FC000001F8000001F 0000003F0000007E000000FC000000FC000001F8000003F8000003F0000007F0000007E000000F E000000FC000001FC000001FC000001F8000003F8000003F8000003F8000003F0000007F000000 7F0000007F0000007F0000007E000000FE000000FE000000FE000000FE000000FE000000FE0000 00FE000000FE000000FE000000FE000000FE000000FE000000FE000000FE0000007E0000007F00 00007F0000007F0000007F0000003F0000003F8000003F8000003F8000001F8000001FC000001F C000000FC000000FE0000007E0000007F0000003F0000003F8000001F8000000FC000000FC0000 007E0000003F0000001F0000001F8000000FC0000007E0000003F0000001F8000000FC0000003E 0000001F8000000F80195078BE28>II44 D<7FFFFF80FFFFFFC0FFFFFFC0FFFFFFC07FFFFF801A05 7F9722>II<000000001C000000003E000000007E000000007E 00000000FE00000000FC00000001FC00000001F800000003F800000003F000000007F000000007 E000000007E00000000FE00000000FC00000001FC00000001F800000003F800000003F00000000 7F000000007E000000007E00000000FE00000000FC00000001FC00000001F800000003F8000000 03F000000007F000000007E000000007E00000000FE00000000FC00000001FC00000001F800000 003F800000003F000000007F000000007E00000000FE00000000FC00000000FC00000001FC0000 0001F800000003F800000003F000000007F000000007E00000000FE00000000FC00000000FC000 00001FC00000001F800000003F800000003F000000007F000000007E00000000FE00000000FC00 000000FC00000001FC00000001F800000003F800000003F000000007F000000007E00000000FE0 0000000FC00000000FC00000001FC00000001F800000003F800000003F000000007F000000007E 00000000FE00000000FC00000000FC00000000F800000000780000000027507ABE34>I<0000FF 8000000007FFF00000003FFFFE0000007FFFFF000000FFFFFF800001FF80FFC00003FC001FE000 07F00007F0000FE00003F8000FC00001F8001FC00001FC001F800000FC003F800000FE003F0000 007E003F0000007E007F0000007F007F0000007F007E0000003F007E0000003F007E0000003F00 FE0000003F80FE0000003F80FE0000003F80FE0000003F80FE0000003F80FE0000003F80FE0000 003F80FE0000003F80FE0000003F80FE0000003F80FE0000003F80FE0000003F80FE0000003F80 FE0000003F80FE0000003F80FE0000003F80FE0000003F807E0000003F007F0000007F007F0000 007F007F0000007F007F0000007F003F0000007E003F800000FE003F800000FE001FC00001FC00 1FC00001FC000FE00003F8000FF00007F80007F8000FF00003FC001FE00001FF80FFC00000FFFF FF8000007FFFFF0000003FFFFE00000007FFF000000000FF80000029397BB734>I<0000E00000 0003F000000007F00000000FF00000003FF000003FFFF00000FFFFF00000FFFFF00000FFFFF000 00FFC7F000000007F000000007F000000007F000000007F000000007F000000007F000000007F0 00000007F000000007F000000007F000000007F000000007F000000007F000000007F000000007 F000000007F000000007F000000007F000000007F000000007F000000007F000000007F0000000 07F000000007F000000007F000000007F000000007F000000007F000000007F000000007F00000 0007F000000007F000000007F000000007F000000007F000000007F000000007F000000007F000 000007F000000007F000000007F000007FFFFFFF00FFFFFFFF80FFFFFFFF80FFFFFFFF807FFFFF FF00213876B734>I<0001FFC00000000FFFFC0000007FFFFF000000FFFFFFC00001FFFFFFE000 03FE00FFF00007F0001FF8000FC00007FC001F800001FE003F000000FF003F0000007F007E0000 007F807E0000003F80FC0000003FC07C0000003FC0380000003FC0180000001FC0080000001FC0 000000001FC0000000003FC0000000003FC0000000003F80000000003F80000000007F80000000 007F0000000000FF0000000000FE0000000001FC0000000003F80000000007F0000000000FE000 0000001FC0000000003F80000000007F0000000000FE0000000003FC0000000007F0000000000F E0000000001FC0000000007F0000000000FE0000000001FC0000000003F00000000007E0000000 001FC0000000003F80000000007E0000000000FC0000000001F80000000003F0000000000FC000 0000001FFFFFFFFF803FFFFFFFFFC07FFFFFFFFFC07FFFFFFFFFC03FFFFFFFFF802A387CB734> I<00007FE000000007FFFC0000001FFFFF8000007FFFFFC00000FFFFFFE00003FF803FF80007FC 0007F8000FF00003FC001FC00001FE003F800000FE003F000000FF001E000000FF000C0000007F 0000000000FF0000000000FF0000000000FF0000000000FE0000000001FE0000000001FC000000 0003FC0000000007F8000000001FF0000000007FE000000007FFC0000007FFFF80000007FFFE00 000007FFF800000007FFFE00000007FFFFC0000000003FE00000000007F80000000001FC000000 0000FE00000000007F00000000007F80000000003FC0000000003FC0000000001FC0000000001F E0000000001FE0000000001FE0000000001FE0000000001FE0000000001FE0600000003FC07000 00003FC0FC0000007F80FE0000007F807F800000FF001FE00001FE000FF80007FC0007FF803FF8 0003FFFFFFF00000FFFFFFE000003FFFFF80000007FFFE00000000FFE000002B397CB734>I<00 00003F80000000007FC000000000FFC000000000FFC000000001FFC000000003EFC000000007EF C000000007CFC00000000F8FC00000001F8FC00000003F0FC00000003F0FC00000007E0FC00000 00FC0FC0000001FC0FC0000001F80FC0000003F00FC0000007F00FC000000FE00FC000000FC00F C000001F800FC000003F800FC000007F000FC000007E000FC00000FE000FC00001FC000FC00003 F8000FC00003F0000FC00007F0000FC0000FE0000FC0001FC0000FC0001F80000FC0003F80000F C0007F00000FC000FE00000FC000FFFFFFFFFFF0FFFFFFFFFFF8FFFFFFFFFFF8FFFFFFFFFFF87F FFFFFFFFF00000000FC0000000000FC0000000000FC0000000000FC0000000000FC0000000000F C0000000000FC0000000000FC0000000000FC0000000000FC0000000000FC0000000000FC00000 00000FC0000000000FC0000000000780002D377DB634>I<03FFFFFFF80007FFFFFFFC0007FFFF FFFC0007FFFFFFFC0007FFFFFFF80007F00000000007F00000000007F00000000007F000000000 07F00000000007F00000000007F00000000007F00000000007F00000000007F00000000007F000 00000007F00000000007F00000000007F00000000007F00000000007F03FE0000007F3FFFC0000 07FFFFFF000007FFFFFFC00007FFFFFFE00007FFC01FF00007FE0007F80007F80003FC0007F000 01FE0007C00000FF0003C000007F00000000007F80000000007F80000000003F80000000003FC0 000000003FC0000000003FC0000000003FC0000000003FC0000000003FC0000000003FC0000000 003FC0000000007F80100000007F80300000007F0078000000FF00FE000001FE00FF000001FC00 7FC00007F8001FF0001FF0000FFE00FFE00007FFFFFFC00001FFFFFF8000007FFFFE0000001FFF F800000001FF8000002A387CB634>I<000007FE000000003FFFE0000000FFFFF8000003FFFFF8 00000FFFFFF800001FFC01F800003FE0001800007F8000000000FE0000000001FC0000000003F8 0000000007F00000000007E0000000000FE0000000000FC0000000001FC0000000001F80000000 003F80000000003F00000000007F00000000007F003FFC00007F01FFFF00007E03FFFF8000FE0F FFFFC000FE1FFFFFE000FE3E001FF000FE780007F800FEF00001FC00FEE00001FC00FFC00000FE 00FF8000007F00FF8000007F00FF0000007F00FF0000003F80FF0000003F80FF0000003F807F00 00003F807F0000003F807F0000003F807F0000003F807F0000003F803F0000003F803F0000003F 803F8000007F001F8000007F001F8000007E000FC00000FE000FE00000FC0007E00001FC0003F8 0003F80001FC000FF00001FF807FE000007FFFFF8000003FFFFF0000001FFFFE00000007FFF800 000000FFC0000029397BB734>I<7FFFFFFFFFC0FFFFFFFFFFE0FFFFFFFFFFE0FFFFFFFFFFE07F FFFFFFFFC0000000007F8000000000FF0000000001FE0000000003FC0000000007F8000000000F F0000000001FE0000000001FC0000000003FC0000000007F8000000000FF0000000000FE000000 0001FE0000000003FC0000000003F80000000007F8000000000FF0000000000FF0000000001FE0 000000001FE0000000003FC0000000003FC0000000007F80000000007F80000000007F80000000 00FF0000000000FF0000000001FE0000000001FE0000000001FE0000000003FE0000000003FC00 00000003FC0000000003FC0000000007FC0000000007F80000000007F80000000007F800000000 07F80000000007F8000000000FF8000000000FF0000000000FF0000000000FF0000000000FF000 0000000FF0000000000FF0000000000FF0000000000FF0000000000FF00000000007E00000002B 387CB634>I<0000FFE000000007FFFC0000003FFFFF8000007FFFFFC00001FFFFFFF00003FF00 1FF80007FC0007FC000FF00001FE000FE00000FE001FC000007F001FC000007F003F8000003F80 3F8000003F803F8000003F803F8000003F803F8000003F803F8000003F801FC000007F001FC000 007F000FC000007E0007E00000FC0003F00001F80001FC0007F00000FFC07FE000003FFFFF8000 0007FFFC00000001FFF00000001FFFFF0000007FFFFFC00001FF001FF00003F80003F8000FE000 00FE001FC000007F001F8000003F003F8000003F807F0000001FC07F0000001FC0FE0000000FE0 FE0000000FE0FE0000000FE0FE0000000FE0FE0000000FE0FE0000000FE0FE0000000FE07F0000 001FC07F0000001FC03F8000003F803F8000003F801FC000007F000FE00000FE000FF80003FE00 03FF001FF80001FFFFFFF00000FFFFFFE000003FFFFF80000007FFFC00000000FFE000002B397C B734>I<0000FF8000000007FFF00000001FFFFC0000007FFFFF000000FFFFFF800001FF007FC0 0003F8001FE00007F00007F0000FC00003F0001FC00001F8003F800001F8003F000000FC007F00 0000FC007F000000FE00FE0000007E00FE0000007E00FE0000007F00FE0000007F00FE0000007F 00FE0000007F00FE0000007F00FE0000007F80FE0000007F80FE0000007F807F0000007F807F00 0000FF807F000000FF803F800001FF801FC00003BF801FC00007BF800FF0000F3F8007FC003E3F 8003FFFFFC3F8001FFFFF83F8000FFFFE03F00007FFFC07F00001FFE007F00000000007F000000 00007E0000000000FE0000000000FE0000000000FC0000000001FC0000000001F80000000003F8 0000000007F00000000007E0000000000FC0000800001FC0001C00007F80001F0001FF00003FE0 0FFC00003FFFFFF800000FFFFFF0000007FFFFC0000000FFFF000000001FF800000029397BB734 >I<7FFFFFFFFFFFFFFF000000000000000000000000000000000000000000000000000000FFFF FFFFFFFFFF7F082B76AA1D>I<7FFFFFFFFFFFFFFF000000000000000000000000000000000000 000000000000000000FFFFFFFFFFFFFFFF1E3E3E3C7C7C7878F8F0F0083676AA1D>I<001FFF00 0001FFFFE0000FFFFFFC003FFFFFFE007FFFFFFF00FFF001FF807F00003FC07C00000FE0700000 0FE020000007F000000007F000000007F000000007F000000007F00000000FF00000000FE00000 001FE00000003FC0000000FF80000001FF00000003FE00000007FC0000000FF00000001FE00000 003FC00000007F800000007F00000000FE00000000FC00000001FC00000001F800000001F80000 0003F800000003F000000003F000000003F000000003F000000003F000000003F000000003F000 000003F00000000000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000003F000000007F800000007F800000007F800000007F800000007 F800000007F800000003F00000243A7AB931>63 D<0000001FFE0000000001FFFFC00000000FFF FFF80000003FFFFFFC000000FFFFFFFF000003FFF003FF800007FF00007FC0000FF800001FC000 3FE000000FE0007F80000007F000FF00000003F001FC00003FC1F803F80001FFF9F803F00007FF FEFC07E0000FFFFFFC0FE0001FFFFFFC0FC0003FE07FFE1F80007F000FFE1F8000FE0007FE3F00 01FC0003FE3F0003F80001FF7E0003F00000FF7E0007F00000FF7E0007E000007F7E0007E00000 7FFC000FC000003FFC000FC000003FFC000FC000003FFC000FC000003FFC000FC000003FFC000F C000003FFC000FC000003FFC000FC000003FFC000FC000003F7E0007E000007E7E0007E000007E 7E0007F00000FE7E0003F00000FC3F0003F80001FC3F0001FC0003F81F8000FE0007F01F80007F 000FE00FC0003FE07FC00FE0001FFFFF8007E0000FFFFF0003F00007FFFE0003F80001FFF80001 FC00003FC00000FF0000000000007F8000000000003FE000000000000FF80000003F0007FF0000 03FF0003FFF0007FFC0000FFFFFFFFF000003FFFFFFFC000000FFFFFFF00000001FFFFF8000000 001FFF0000383B7AB945>I<0000003F00000000000000FFC0000000000000FFC0000000000001 FFE0000000000001FFE0000000000003FFF0000000000003FFF0000000000007F7F80000000000 07E7F800000000000FE3FC00000000000FE3FC00000000000FC3FC00000000001FC1FE00000000 001F81FE00000000003F80FF00000000003F80FF00000000007F00FF80000000007F007F800000 0000FE007FC000000000FE003FC000000001FC003FE000000001FC001FE000000001FC001FE000 000003F8001FF000000003F8000FF000000007F0000FF800000007F00007F80000000FE00007FC 0000000FE00003FC0000001FE00003FE0000001FC00001FE0000003FC00001FF0000003F800001 FF0000003F800000FF0000007F000000FF8000007F0000007F800000FFFFFFFFFFC00000FFFFFF FFFFC00001FFFFFFFFFFE00001FFFFFFFFFFE00003FFFFFFFFFFF00003F80000001FF00007F800 00000FF80007F00000000FF80007F000000007F8000FE000000007FC000FE000000003FC001FC0 00000003FE001FC000000001FE003FC000000001FF003F8000000000FF007F8000000000FF807F 0000000000FF80FF00000000007FC0FE00000000007FC0FE00000000003FC0F800000000001FC0 3A397CB843>I<7FFFFFFE000000FFFFFFFFE00000FFFFFFFFFC0000FFFFFFFFFF0000FFFFFFFF FFC000FF00000FFFF000FF000000FFF800FF0000001FFC00FF00000007FE00FF00000001FE00FF 00000000FF00FF000000007F00FF000000007F80FF000000007F80FF000000003F80FF00000000 7F80FF000000007F80FF000000007F00FF00000000FF00FF00000001FE00FF00000003FE00FF00 00000FFC00FF0000003FF000FF000001FFE000FF00001FFF8000FFFFFFFFFE0000FFFFFFFFF800 00FFFFFFFFF80000FFFFFFFFFF0000FFFFFFFFFFC000FF000003FFF000FF0000003FFC00FF0000 000FFE00FF00000001FF00FF00000000FF80FF000000007FC0FF000000003FE0FF000000001FE0 FF000000000FF0FF000000000FF0FF000000000FF0FF000000000FF0FF000000000FF0FF000000 000FF0FF000000000FE0FF000000001FE0FF000000003FE0FF000000007FC0FF00000001FF80FF 00000007FF00FF0000003FFE00FF000003FFFC00FFFFFFFFFFF000FFFFFFFFFFE000FFFFFFFFFF 0000FFFFFFFFFC00007FFFFFFF800000343977B844>I<0000001FFF8000000003FFFFFC000000 0FFFFFFF8000007FFFFFFFF00000FFFFFFFFF00003FFF001FFF00007FF00001FF0001FFC000007 E0003FF0000001E0007FC00000006000FF800000000001FF000000000003FE000000000007FC00 0000000007F800000000000FF000000000001FF000000000001FE000000000003FE00000000000 3FC000000000003FC000000000007F8000000000007F8000000000007F800000000000FF000000 000000FF000000000000FF000000000000FF000000000000FF000000000000FF000000000000FF 000000000000FF000000000000FF000000000000FF000000000000FF0000000000007F80000000 00007F8000000000007F8000000000003FC000000000003FC000000000003FE000000000001FE0 00000000001FF000000000000FF0000000000007F8000000000007FC000000000003FE00000000 0001FF000000000000FF8000000018007FC000000038003FF0000000F8001FFC000003F80007FF 00000FF80003FFF000FFF80000FFFFFFFFE000007FFFFFFF8000000FFFFFFE00000003FFFFF800 0000001FFF8000353B79B942>I<7FFFFFFF00000000FFFFFFFFF0000000FFFFFFFFFE000000FF FFFFFFFF800000FFFFFFFFFFE00000FF000003FFF00000FF0000003FFC0000FF0000000FFE0000 FF00000003FF0000FF00000000FF8000FF000000007FC000FF000000003FE000FF000000001FF0 00FF000000000FF000FF0000000007F800FF0000000003F800FF0000000003FC00FF0000000001 FC00FF0000000001FE00FF0000000000FE00FF0000000000FF00FF0000000000FF00FF00000000 00FF00FF00000000007F00FF00000000007F80FF00000000007F80FF00000000007F80FF000000 00007F80FF00000000007F80FF00000000007F80FF00000000007F80FF00000000007F80FF0000 0000007F80FF00000000007F80FF00000000007F00FF0000000000FF00FF0000000000FF00FF00 00000000FF00FF0000000001FE00FF0000000001FE00FF0000000003FC00FF0000000003FC00FF 0000000007F800FF000000000FF800FF000000000FF000FF000000001FE000FF000000003FC000 FF00000000FF8000FF00000001FF0000FF00000007FE0000FF0000003FFC0000FF000003FFF800 00FFFFFFFFFFE00000FFFFFFFFFF800000FFFFFFFFFE000000FFFFFFFFF00000007FFFFFFF0000 0000393977B849>I<7FFFFFFFFFFE00FFFFFFFFFFFF00FFFFFFFFFFFF00FFFFFFFFFFFF00FFFF FFFFFFFE00FF000000000000FF000000000000FF000000000000FF000000000000FF0000000000 00FF000000000000FF000000000000FF000000000000FF000000000000FF000000000000FF0000 00000000FF000000000000FF000000000000FF000000000000FF000000000000FF000000000000 FF000000000000FF000000000000FF000000000000FF000000000000FFFFFFFFFFF000FFFFFFFF FFF800FFFFFFFFFFF800FFFFFFFFFFF800FFFFFFFFFFF000FF000000000000FF000000000000FF 000000000000FF000000000000FF000000000000FF000000000000FF000000000000FF00000000 0000FF000000000000FF000000000000FF000000000000FF000000000000FF000000000000FF00 0000000000FF000000000000FF000000000000FF000000000000FF000000000000FF0000000000 00FF000000000000FF000000000000FF000000000000FFFFFFFFFFFF80FFFFFFFFFFFFC0FFFFFF FFFFFFC0FFFFFFFFFFFFC07FFFFFFFFFFF80323977B840>I<7FFFFFFFFFFCFFFFFFFFFFFEFFFF FFFFFFFEFFFFFFFFFFFEFFFFFFFFFFFCFF0000000000FF0000000000FF0000000000FF00000000 00FF0000000000FF0000000000FF0000000000FF0000000000FF0000000000FF0000000000FF00 00000000FF0000000000FF0000000000FF0000000000FF0000000000FF0000000000FF00000000 00FF0000000000FF0000000000FF0000000000FF0000000000FFFFFFFFFF80FFFFFFFFFFC0FFFF FFFFFFC0FFFFFFFFFFC0FFFFFFFFFF80FF0000000000FF0000000000FF0000000000FF00000000 00FF0000000000FF0000000000FF0000000000FF0000000000FF0000000000FF0000000000FF00 00000000FF0000000000FF0000000000FF0000000000FF0000000000FF0000000000FF00000000 00FF0000000000FF0000000000FF0000000000FF0000000000FF0000000000FF0000000000FF00 00000000FF00000000007E00000000002F3977B83D>I<0000001FFF0000000001FFFFF8000000 0FFFFFFF0000007FFFFFFFE00000FFFFFFFFF80003FFF001FFF80007FF00001FF8001FFC000007 F8003FF0000001F0007FC00000007000FF800000003001FF000000000003FE000000000007FC00 0000000007F800000000000FF000000000000FF000000000001FE000000000003FE00000000000 3FC000000000003FC000000000007F8000000000007F8000000000007F800000000000FF800000 000000FF000000000000FF000000000000FF0000003FFFFCFF0000007FFFFCFF0000007FFFFCFF 0000007FFFFCFF0000007FFFFCFF0000000001FCFF0000000001FCFF8000000001FC7F80000000 01FC7F8000000001FC7F8000000001FC3FC000000001FC3FC000000001FC3FE000000001FC1FE0 00000001FC0FF000000001FC0FF000000001FC07F800000001FC07FC00000001FC03FE00000001 FC01FF00000001FC00FF80000001FC007FC0000001FC003FF0000001FC001FFC000001FC0007FF 00000FFC0003FFF001FFFC0000FFFFFFFFFC00007FFFFFFFF000000FFFFFFF80000001FFFFF800 0000001FFF0000363B79B945>I<7E000000007EFF00000000FFFF00000000FFFF00000000FFFF 00000000FFFF00000000FFFF00000000FFFF00000000FFFF00000000FFFF00000000FFFF000000 00FFFF00000000FFFF00000000FFFF00000000FFFF00000000FFFF00000000FFFF00000000FFFF 00000000FFFF00000000FFFF00000000FFFF00000000FFFF00000000FFFF00000000FFFF000000 00FFFF00000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF 00000000FFFF00000000FFFF00000000FFFF00000000FFFF00000000FFFF00000000FFFF000000 00FFFF00000000FFFF00000000FFFF00000000FFFF00000000FFFF00000000FFFF00000000FFFF 00000000FFFF00000000FFFF00000000FFFF00000000FFFF00000000FFFF00000000FFFF000000 00FFFF00000000FFFF00000000FFFF00000000FFFF00000000FFFF00000000FFFF00000000FF7E 000000007E303977B843>I<7FFFF0FFFFF8FFFFF8FFFFF87FFFF001FE0001FE0001FE0001FE00 01FE0001FE0001FE0001FE0001FE0001FE0001FE0001FE0001FE0001FE0001FE0001FE0001FE00 01FE0001FE0001FE0001FE0001FE0001FE0001FE0001FE0001FE0001FE0001FE0001FE0001FE00 01FE0001FE0001FE0001FE0001FE0001FE0001FE0001FE0001FE0001FE0001FE0001FE0001FE00 01FE0001FE0001FE0001FE007FFFF0FFFFF8FFFFF8FFFFF87FFFF015397EB81A>I<7C00000000 07F0FE000000000FF0FE000000001FE0FE000000007FC0FE00000000FF80FE00000001FF00FE00 000003FE00FE00000007F800FE0000001FF000FE0000003FE000FE0000007FC000FE000000FF00 00FE000003FE0000FE000007FC0000FE00000FF80000FE00001FF00000FE00007FC00000FE0000 FF800000FE0001FF000000FE0003FE000000FE0007F8000000FE001FF0000000FE003FE0000000 FE007FC0000000FE00FFE0000000FE03FFF0000000FE07FFF8000000FE0FFFF8000000FE1FF3FC 000000FE3FC1FE000000FEFF81FF000000FFFF00FF800000FFFE007FC00000FFF8003FE00000FF F0001FE00000FFE0000FF00000FFC00007F80000FF800007FC0000FE000003FE0000FE000001FF 0000FE000000FF8000FE0000007F8000FE0000003FC000FE0000001FE000FE0000000FF000FE00 00000FF800FE00000007FC00FE00000003FE00FE00000001FF00FE00000000FF00FE000000007F 80FE000000003FC0FE000000003FE0FE000000001FF0FE000000000FF8FE0000000007F87C0000 000003F8353976B845>75 D<7E0000000000FF0000000000FF0000000000FF0000000000FF0000 000000FF0000000000FF0000000000FF0000000000FF0000000000FF0000000000FF0000000000 FF0000000000FF0000000000FF0000000000FF0000000000FF0000000000FF0000000000FF0000 000000FF0000000000FF0000000000FF0000000000FF0000000000FF0000000000FF0000000000 FF0000000000FF0000000000FF0000000000FF0000000000FF0000000000FF0000000000FF0000 000000FF0000000000FF0000000000FF0000000000FF0000000000FF0000000000FF0000000000 FF0000000000FF0000000000FF0000000000FF0000000000FF0000000000FF0000000000FF0000 000000FF0000000000FF0000000000FF0000000000FF0000000000FF0000000000FF0000000000 FF0000000000FF0000000000FFFFFFFFFFF0FFFFFFFFFFF8FFFFFFFFFFF8FFFFFFFFFFF87FFFFF FFFFF02D3977B83B>I<7F000000000003FCFF800000000007FEFFC0000000000FFEFFE0000000 001FFEFFE0000000001FFEFFE0000000001FFEFFF0000000003FFEFDF0000000003EFEFCF80000 00007CFEFCF8000000007CFEFCFC00000000FCFEFC7C00000000F8FEFC7E00000001F8FEFC7E00 000001F8FEFC3E00000001F0FEFC3F00000003F0FEFC1F00000003E0FEFC1F80000007E0FEFC0F 80000007C0FEFC0FC000000FC0FEFC0FC000000FC0FEFC07E000001F80FEFC07E000001F80FEFC 03E000001F00FEFC03F000003F00FEFC01F000003E00FEFC01F800007E00FEFC01F800007E00FE FC00FC0000FC00FEFC00FC0000FC00FEFC007E0001F800FEFC007E0001F800FEFC003E0001F000 FEFC003F0003F000FEFC003F0003F000FEFC001F8007E000FEFC001F8007E000FEFC000FC00FC0 00FEFC000FC00FC000FEFC0007C00F8000FEFC0007E01F8000FEFC0003E01F0000FEFC0003F03F 0000FEFC0003F03F0000FEFC0001F87E0000FEFC0001F87E0000FEFC0000F87C0000FEFC0000FC FC0000FEFC00007CF80000FEFC00007FF80000FEFC00003FF00000FEFC00003FF00000FEFC0000 3FF00000FEFC00001FE00000FEFC00000FC00000FEFC000007800000FE780000000000007C3F39 76B854>I<7F8000000078FFE0000000FCFFE0000000FCFFF0000000FCFFF8000000FCFFF80000 00FCFDFC000000FCFDFC000000FCFCFE000000FCFC7F000000FCFC7F000000FCFC3F800000FCFC 3F800000FCFC1FC00000FCFC1FC00000FCFC0FE00000FCFC07F00000FCFC07F00000FCFC03F800 00FCFC03F80000FCFC01FC0000FCFC01FC0000FCFC00FE0000FCFC007F0000FCFC007F0000FCFC 003F8000FCFC003F8000FCFC001FC000FCFC001FE000FCFC000FE000FCFC0007F000FCFC0007F0 00FCFC0003F800FCFC0003F800FCFC0001FC00FCFC0000FE00FCFC0000FE00FCFC00007F00FCFC 00007F00FCFC00003F80FCFC00003F80FCFC00001FC0FCFC00000FE0FCFC00000FE0FCFC000007 F0FCFC000007F0FCFC000003F8FCFC000003F8FCFC000001FCFCFC000000FEFCFC000000FEFCFC 0000007FFCFC0000007FFCFC0000003FFCFC0000001FFCFC0000001FFC7800000007F82E3976B8 43>I<0000001FFF00000000000001FFFFF000000000000FFFFFFE00000000003FFFFFFF800000 0000FFFFFFFFE000000003FFF001FFF800000007FF00001FFC0000001FFC000007FF0000003FF0 000001FF8000007FC00000007FC00000FF800000003FE00001FE000000000FF00003FC00000000 07F80007F80000000003FC0007F80000000003FC000FF00000000001FE001FE00000000000FF00 1FE00000000000FF003FC000000000007F803FC000000000007F803F8000000000003F807F8000 000000003FC07F8000000000003FC07F8000000000003FC07F0000000000001FC0FF0000000000 001FE0FF0000000000001FE0FF0000000000001FE0FF0000000000001FE0FF0000000000001FE0 FF0000000000001FE0FF0000000000001FE0FF0000000000001FE0FF0000000000001FE0FF8000 000000003FE07F8000000000003FC07F8000000000003FC07FC000000000007FC03FC000000000 007F803FC000000000007F803FE00000000000FF801FE00000000000FF001FF00000000001FF00 0FF80000000003FE0007F80000000003FC0007FC0000000007FC0003FE000000000FF80001FF00 0000001FF00000FF800000003FE000007FE0000000FFC000003FF0000001FF8000001FFC000007 FF0000000FFF80003FFE00000003FFF001FFF800000000FFFFFFFFE0000000003FFFFFFF800000 00000FFFFFFE000000000001FFFFF00000000000001FFF00000000433B7AB950>I<7FFFFFFE00 0000FFFFFFFFE00000FFFFFFFFFC0000FFFFFFFFFF0000FFFFFFFFFFC000FF000003FFE000FF00 00003FF000FF0000000FF800FF00000007FC00FF00000001FE00FF00000001FE00FF00000000FF 00FF000000007F00FF000000007F80FF000000007F80FF000000007F80FF000000007F80FF0000 00007F80FF000000007F80FF000000007F80FF000000007F00FF00000000FF00FF00000001FE00 FF00000001FE00FF00000007FC00FF0000000FF800FF0000003FF000FF000003FFE000FFFFFFFF FFC000FFFFFFFFFF0000FFFFFFFFFC0000FFFFFFFFE00000FFFFFFFE000000FF000000000000FF 000000000000FF000000000000FF000000000000FF000000000000FF000000000000FF00000000 0000FF000000000000FF000000000000FF000000000000FF000000000000FF000000000000FF00 0000000000FF000000000000FF000000000000FF000000000000FF000000000000FF0000000000 00FF000000000000FF000000000000FF000000000000FF000000000000FF0000000000007E0000 00000000313977B841>I<0000001FFF00000000000001FFFFF000000000000FFFFFFE00000000 003FFFFFFF8000000000FFFFFFFFE000000003FFF001FFF800000007FF00001FFC0000001FFC00 0007FF0000003FF0000001FF8000007FC00000007FC00000FF800000003FE00001FF000000001F F00003FE000000000FF80007FC0000000007FC0007F80000000003FC000FF00000000001FE001F F00000000001FF001FE00000000000FF003FE00000000000FF803FC000000000007F803FC00000 0000007F807F8000000000003FC07F8000000000003FC07F8000000000003FC07F800000000000 3FC0FF0000000000001FE0FF0000000000001FE0FF0000000000001FE0FF0000000000001FE0FF 0000000000001FE0FF0000000000001FE0FF0000000000001FE0FF0000000000001FE0FF000000 0000001FE0FF0000000000001FE07F8000000000003FC07F8000000000003FC07F800000000000 3FC03FC000000000007F803FC000000000007F803FC000000000007F801FE00000000000FF001F F00000FC0001FF000FF00000FE0001FE0007F80000FF0003FC0007FC00007F8007FC0003FE0000 3FC00FF80001FF00001FE01FF00000FF80000FF03FE000007FC0000FF87FC000003FF00007FDFF 8000001FFC0003FFFF0000000FFF0001FFFE00000003FFF001FFF800000000FFFFFFFFE0000000 003FFFFFFFE0000000000FFFFFFFF00000000001FFFFFFF800000000001FFF07FC000000000000 0003FE0000000000000001FF0000000000000000FF8000000000000000FFC0000000000000007F E0000000000000003FF0000000000000001FF8000000000000000FFC0000000000000007FC0000 000000000003FC0043457AB950>I<7FFFFFFF000000FFFFFFFFF00000FFFFFFFFFE0000FFFFFF FFFF8000FFFFFFFFFFE000FF000001FFF800FF0000001FFC00FF00000003FE00FF00000000FF00 FF000000007F80FF000000003FC0FF000000003FC0FF000000001FE0FF000000001FE0FF000000 001FE0FF000000001FE0FF000000001FE0FF000000001FE0FF000000001FE0FF000000003FC0FF 000000003FC0FF000000007F80FF00000000FF00FF00000003FE00FF0000001FFC00FF000001FF F800FFFFFFFFFFE000FFFFFFFFFF8000FFFFFFFFFE0000FFFFFFFFF00000FFFFFFFF800000FF00 003FC00000FF00001FE00000FF00000FF00000FF000007F00000FF000007F80000FF000003FC00 00FF000001FE0000FF000000FE0000FF000000FF0000FF0000007F8000FF0000003FC000FF0000 001FE000FF0000000FE000FF0000000FF000FF00000007F800FF00000003FC00FF00000001FE00 FF00000001FE00FF00000000FF00FF000000007F80FF000000003FC0FF000000001FC0FF000000 001FE0FF000000000FF0FF0000000007F07E0000000003F0343977B843>I<00007FFC00000003 FFFFC000001FFFFFF800007FFFFFFE0000FFFFFFFF8001FFFFFFFF8003FFC007FF8007FC0000FF 800FF000001F001FE0000007003FC0000003003F80000000003F00000000007F00000000007F00 000000007F00000000007F00000000007F00000000007F80000000003FC0000000003FE0000000 003FF8000000001FFE000000000FFFE000000007FFFF00000003FFFFF8000001FFFFFF000000FF FFFFE000003FFFFFF000000FFFFFFC000003FFFFFE0000003FFFFF00000001FFFF800000000FFF C000000001FFE0000000007FE0000000001FF0000000000FF00000000007F80000000007F80000 000003F80000000003F80000000003F80000000003F80000000003F80000000003F06000000007 F07000000007F07C0000000FE0FF0000001FE0FFC000007FC0FFF80001FF80FFFF800FFF003FFF FFFFFE000FFFFFFFFC0003FFFFFFF00000FFFFFFC000000FFFFF00000000FFF000002D3B7BB939 >I<7FFFFFFFFFFFFFFF00FFFFFFFFFFFFFFFF80FFFFFFFFFFFFFFFF80FFFFFFFFFFFFFFFF807F FFFFFFFFFFFFFF0000000007F80000000000000007F80000000000000007F80000000000000007 F80000000000000007F80000000000000007F80000000000000007F80000000000000007F80000 000000000007F80000000000000007F80000000000000007F80000000000000007F80000000000 000007F80000000000000007F80000000000000007F80000000000000007F80000000000000007 F80000000000000007F80000000000000007F80000000000000007F80000000000000007F80000 000000000007F80000000000000007F80000000000000007F80000000000000007F80000000000 000007F80000000000000007F80000000000000007F80000000000000007F80000000000000007 F80000000000000007F80000000000000007F80000000000000007F80000000000000007F80000 000000000007F80000000000000007F80000000000000007F80000000000000007F80000000000 000007F80000000000000007F80000000000000007F80000000000000007F80000000000000007 F80000000000000007F80000000000000007F80000000000000007F80000000000000007F80000 000000000007F80000000000000007F80000000000000007F80000000000000007F80000000000 000003F00000000041397CB84A>I<7E000000003EFF000000007FFF000000007FFF000000007F FF000000007FFF000000007FFF000000007FFF000000007FFF000000007FFF000000007FFF0000 00007FFF000000007FFF000000007FFF000000007FFF000000007FFF000000007FFF000000007F FF000000007FFF000000007FFF000000007FFF000000007FFF000000007FFF000000007FFF0000 00007FFF000000007FFF000000007FFF000000007FFF000000007FFF000000007FFF000000007F FF000000007FFF000000007FFF000000007FFF000000007FFF000000007FFF000000007FFF0000 00007FFF000000007FFF000000007FFF000000007FFF000000007FFF000000007F7F80000000FE 7F80000000FE7F80000001FE3FC0000001FC3FE0000003FC1FE0000007F80FF000000FF00FFC00 001FF007FE00003FE003FF8000FFC000FFF007FF80007FFFFFFE00001FFFFFFC000007FFFFF000 0001FFFF800000001FF80000303A77B843>I<7E000000000000F8FF800000000001FC7F800000 000003F87FC00000000007F83FC00000000007F03FE0000000000FF01FE0000000000FE01FF000 0000000FE00FF0000000001FC00FF8000000001FC00FF8000000003FC007FC000000003F8007FC 000000007F8003FE000000007F0003FE00000000FF0001FF00000000FE0001FF00000001FE0000 FF00000001FC0000FF80000003FC00007F80000003F800007FC0000007F800003FC0000007F000 003FE000000FF000001FE000000FE000001FF000001FE000000FF000001FC000000FF800001FC0 000007F800003F80000007FC00003F80000003FC00007F00000003FE00007F00000001FE0000FE 00000001FF0000FE00000001FF0001FE00000000FF0001FC00000000FF8003FC000000007F8003 F8000000007FC007F8000000003FC007F0000000003FE007F0000000001FE00FE0000000001FF0 0FE0000000000FF01FC0000000000FF81FC00000000007F83F800000000007F83F800000000003 FC7F000000000003FC7F000000000001FE7E000000000001FEFE000000000000FFFC0000000000 00FFFC0000000000007FF80000000000007FF80000000000003FF00000000000003FF000000000 00001FE00000003E397EB843>I<7C000000003F800000000780FE000000007FC00000000FC0FF 000000007FC00000000FC07F00000000FFE00000001F807F00000000FFE00000001F807F800000 01FFE00000001F803F80000001FFF00000003F003F80000001FFF00000003F003FC0000003F3F8 0000007F001FC0000003F3F80000007E001FC0000003E3F80000007E000FE0000007E1FC000000 FC000FE0000007E1FC000000FC000FF0000007C1FC000000FC0007F000000FC0FE000001F80007 F000000FC0FE000001F80007F800000F80FE000001F80003F800001F807F000003F00003F80000 1F807F000003F00003FC00003F007F000003F00001FC00003F003F800007E00001FC00003F003F 800007E00001FE00007E001F80000FE00000FE00007E001FC0000FC00000FE00007C001FC0000F C000007F0000FC000FE0001F8000007F0000FC000FE0001F8000007F0000F8000FE0001F800000 3F8001F80007F0003F0000003F8001F80007F0003F0000003FC001F00007F0003F0000001FC003 F00003F8007E0000001FC003F00003F8007E0000001FE003E00003F8007E0000000FE007E00001 FC00FC0000000FE007C00001FC00FC00000007F007C00000FC00F800000007F00FC00000FE01F8 00000007F00F800000FE01F800000003F80F8000007E01F000000003F81F8000007F03F0000000 03F81F0000007F03F000000001FC1F0000003F03E000000001FC3F0000003F87E000000001FC3E 0000003F87E000000000FC3E0000001F87C000000000FE7E0000001FCFC000000000FE7C000000 0FCFC0000000007E7C0000000FCF80000000007E780000000FCF80000000003FF800000007FF00 000000003FF800000007FF00000000003FF000000007FF00000000001FF000000003FE00000000 001FF000000003FE00000000000FE000000001FC000000000007C000000000F80000005A397EB8 5F>I89 D<0F0000F00F0000F01F0001F01E0001E01E0001E03E0003E03E0003E03C0003C07C0007C07C00 07C078000780FF000FF0FF000FF0FF000FF0FF000FF0FF000FF0FF000FF0FF000FF0FF000FF01C 136CB834>92 D<0F0F1F1E1E3E3E3C7C7C78FFFFFFFFFFFFFFFF081376B81D>96 D<0007FE0000007FFFC00001FFFFF00007FFFFF8000FFFFFFC001FF001FE001F80007F001E0000 3F801C00003F800000001FC00000001FC00000001FC00000000FE00000000FE00000000FE00000 000FE00000000FE00000000FE00000000FE00000000FE000003FFFE00007FFFFE0003FFFFFE000 FFE00FE003FF000FE007F8000FE00FE0000FE01FC0000FE03F80000FE07F00000FE07F00000FE0 FE00000FE0FE00000FE0FE00000FE0FE00000FE0FE00001FE0FF00001FE07F00003FE07F80007F E03FC001EFE03FF80FCFE01FFFFF8FE00FFFFF0FE007FFFC0FE001FFF007C0007F800000232E7B AC31>I<7C00000000FE00000000FE00000000FE00000000FE00000000FE00000000FE00000000 FE00000000FE00000000FE00000000FE00000000FE00000000FE00000000FE00FF0000FE03FFE0 00FE0FFFF000FE1FFFFC00FE3FFFFE00FE7C07FF00FEF000FF80FFC0003FC0FF80001FE0FF0000 0FE0FF000007F0FE000007F0FE000003F8FE000003F8FE000001FCFE000001FCFE000001FCFE00 0000FEFE000000FEFE000000FEFE000000FEFE000000FEFE000000FEFE000000FEFE000000FEFE 000000FEFE000000FEFE000000FCFE000001FCFE000001FCFE000001FCFE000003F8FE000003F8 FE000007F0FF000007F0FF00000FE0FF80001FC0FFC0007F80FFE001FF00FEF80FFE00FE7FFFFC 00FE3FFFF800FE1FFFF0007C07FFC0000001FE0000273A78B834>I<00007FF0000003FFFF0000 0FFFFFC0003FFFFFF0007FFFFFFC00FFC00FFC01FE0001FC03FC00007C07F00000180FE0000000 0FE00000001FC00000001F800000003F800000003F800000007F000000007F000000007F000000 007E00000000FE00000000FE00000000FE00000000FE00000000FE00000000FE00000000FE0000 0000FE00000000FE000000007F000000007F000000007F000000007F000000003F800000003F80 0000001FC00000041FC000000C0FE000003C07F000007C03F80000FC01FE0007FC00FFC03FF000 7FFFFFE0003FFFFFC0000FFFFF000003FFFC0000007FC000262E7CAC2E>I<000000007C000000 00FE00000000FE00000000FE00000000FE00000000FE00000000FE00000000FE00000000FE0000 0000FE00000000FE00000000FE00000000FE0000FF00FE0007FFC0FE001FFFF0FE003FFFF8FE00 FFFFFCFE01FFE03EFE03FF000FFE07FC0003FE07F00003FE0FE00001FE1FC00000FE1FC00000FE 3F800000FE3F800000FE7F000000FE7F000000FE7F000000FE7E000000FEFE000000FEFE000000 FEFE000000FEFE000000FEFE000000FEFE000000FEFE000000FEFE000000FEFE000000FEFE0000 00FE7F000000FE7F000000FE7F000000FE3F800000FE3F800000FE1FC00001FE1FC00001FE0FE0 0003FE0FF00003FE07F80007FE03FE001EFE01FFC07CFE00FFFFF8FE007FFFF0FE001FFFE0FE00 07FF807C0001FE0000273A7CB834>I<0000FF00000007FFE000001FFFF800007FFFFE0000FFFF FF0001FF80FF8003FE003F8007F8001FC007F0000FE00FE00007E01FC00003F01FC00003F03F80 0001F83F800001F87F000001F87F000000F87F000000FC7E000000FCFE000000FCFE000000FCFE 000000FCFFFFFFFFFCFFFFFFFFFCFFFFFFFFFCFFFFFFFFF8FE00000000FE00000000FE00000000 7E000000007F000000007F000000007F000000003F800000003F800000001FC00000000FE00000 0C0FF000001C07F800003C03FC0000FC01FE0003FC00FFC03FF0007FFFFFE0003FFFFFC0000FFF FF000003FFFC0000007FC000262E7CAC2E>I<00000FFC0000007FFF800001FFFF800007FFFF80 000FFFFF80001FF00780003F800000003F000000007F000000007F000000007F000000007F0000 00007F000000007F000000007F0000007FFFFFC000FFFFFFE000FFFFFFE000FFFFFFE0007FFFFF C000007F000000007F000000007F000000007F000000007F000000007F000000007F000000007F 000000007F000000007F000000007F000000007F000000007F000000007F000000007F00000000 7F000000007F000000007F000000007F000000007F000000007F000000007F000000007F000000 007F000000007F000000007F000000007F000000007F000000007F000000007F000000007F0000 00007F000000007F000000007F000000007F000000007F000000007F000000003E000000213A7E B920>I<00007F007C0003FFC0FE000FFFF0FE003FFFF8FE007FFFFCFE00FFE03CFE01FF000EFE 03FC0007FE07F80003FE0FF00003FE1FE00001FE1FC00001FE3FC00000FE3F800000FE7F800000 FE7F000000FE7F000000FE7F000000FEFE000000FEFE000000FEFE000000FEFE000000FEFE0000 00FEFE000000FEFE000000FEFE000000FEFF000001FE7F000001FE7F000001FE7F800001FE3F80 0003FE3FC00003FE1FE00007FE0FF00006FE0FF8000EFE07FE001CFE03FFC078FE01FFFFF8FE00 7FFFF0FE003FFFC0FE000FFF80FE0001FE00FE00000000FE00000000FE00000000FE00000000FC 00000000FC00000001FC08000003F81E000003F01FC0000FF01FFE003FE01FFFFFFFC00FFFFFFF 0007FFFFFE00007FFFF8000003FFC00027397CAB34>I<7C00000000FE00000000FE00000000FE 00000000FE00000000FE00000000FE00000000FE00000000FE00000000FE00000000FE00000000 FE00000000FE00000000FE007FC000FE01FFF000FE07FFFC00FE0FFFFE00FE1FFFFF00FE3E01FF 80FE78007F80FEE0003FC0FEC0001FC0FFC0001FE0FF80000FE0FF80000FE0FF00000FE0FF0000 0FE0FE00000FE0FE00000FE0FE00000FE0FE00000FE0FE00000FE0FE00000FE0FE00000FE0FE00 000FE0FE00000FE0FE00000FE0FE00000FE0FE00000FE0FE00000FE0FE00000FE0FE00000FE0FE 00000FE0FE00000FE0FE00000FE0FE00000FE0FE00000FE0FE00000FE0FE00000FE0FE00000FE0 FE00000FE0FE00000FE0FE00000FE0FE00000FE0FE00000FE0FE00000FE07C000007C0233978B8 34>I<7EFFFFFFFFFFFF7E000000000000003E7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F 7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F3E083A7AB916>I<00007E0000FF0000FF00 00FF0000FF0000FF0000FF00007E00000000000000000000000000000000000000000000003E00 007F00007F00007F00007F00007F00007F00007F00007F00007F00007F00007F00007F00007F00 007F00007F00007F00007F00007F00007F00007F00007F00007F00007F00007F00007F00007F00 007F00007F00007F00007F00007F00007F00007F00007F00007F00007F00007F00007F00007F00 007F00007F00007F00007F00007F00007F00007F0000FE6001FE7F0FFCFFFFF8FFFFF07FFFE03F FFC003FE00184687B91A>I<7800000000FC00000000FC00000000FC00000000FC00000000FC00 000000FC00000000FC00000000FC00000000FC00000000FC00000000FC00000000FC00000000FC 00000000FC000003E0FC000007F0FC00000FE0FC00003FC0FC00007F80FC0000FF00FC0001FE00 FC0003FC00FC0007F000FC000FE000FC003FC000FC007F8000FC00FF0000FC01FE0000FC03F800 00FC07F00000FC1FE00000FC3FC00000FC7FE00000FCFFF00000FDFFF80000FFFBFC0000FFF1FC 0000FFE0FE0000FFC07F0000FF807F8000FE003FC000FC001FC000FC000FE000FC0007F000FC00 07F800FC0003F800FC0001FC00FC0000FE00FC0000FF00FC00007F80FC00003F80FC00001FC0FC 00000FE0FC00000FF0FC000007F8FC000003F878000001F0253978B831>I<7CFEFEFEFEFEFEFE FEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFE FEFEFEFEFEFEFEFEFE7C073979B816>I<00007FC00007FC007C01FFF0001FFF00FE07FFFC007F FFC0FE0FFFFE00FFFFE0FE1FFFFF01FFFFF0FE3E01FF83E01FF8FE78007F878007F8FEE0003FCE 0003FCFEC0001FCC0001FCFFC0001FFC0001FEFF80000FF80000FEFF80000FF80000FEFF00000F F00000FEFF00000FF00000FEFE00000FE00000FEFE00000FE00000FEFE00000FE00000FEFE0000 0FE00000FEFE00000FE00000FEFE00000FE00000FEFE00000FE00000FEFE00000FE00000FEFE00 000FE00000FEFE00000FE00000FEFE00000FE00000FEFE00000FE00000FEFE00000FE00000FEFE 00000FE00000FEFE00000FE00000FEFE00000FE00000FEFE00000FE00000FEFE00000FE00000FE FE00000FE00000FEFE00000FE00000FEFE00000FE00000FEFE00000FE00000FEFE00000FE00000 FEFE00000FE00000FEFE00000FE00000FEFE00000FE00000FEFE00000FE00000FEFE00000FE000 00FEFE00000FE00000FE7C000007C000007C3F2C78AB50>I<00007FC0007C01FFF000FE07FFFC 00FE0FFFFE00FE1FFFFF00FE3E01FF80FE78007F80FEE0003FC0FEC0001FC0FFC0001FE0FF8000 0FE0FF80000FE0FF00000FE0FF00000FE0FE00000FE0FE00000FE0FE00000FE0FE00000FE0FE00 000FE0FE00000FE0FE00000FE0FE00000FE0FE00000FE0FE00000FE0FE00000FE0FE00000FE0FE 00000FE0FE00000FE0FE00000FE0FE00000FE0FE00000FE0FE00000FE0FE00000FE0FE00000FE0 FE00000FE0FE00000FE0FE00000FE0FE00000FE0FE00000FE0FE00000FE0FE00000FE0FE00000F E0FE00000FE07C000007C0232C78AB34>I<00007FC000000003FFF80000000FFFFE0000003FFF FF8000007FFFFFC00000FFC07FE00001FE000FF00003F80003F80007F00001FC000FE00000FE00 0FC000007E001FC000007F001F8000003F003F8000003F803F0000001F807F0000001FC07F0000 001FC07E0000000FC07E0000000FC0FE0000000FE0FE0000000FE0FE0000000FE0FE0000000FE0 FE0000000FE0FE0000000FE0FE0000000FE0FE0000000FE0FE0000000FE07F0000001FC07F0000 001FC07F0000001FC07F0000001FC03F8000003F803F8000003F801FC000007F001FC000007F00 0FE00000FE0007F00001FC0007F80003FC0003FE000FF80001FFC07FF000007FFFFFC000003FFF FF8000000FFFFE00000003FFF8000000007FC000002B2E7CAC34>I<0000FF00007C03FFE000FE 0FFFF000FE1FFFFC00FE3FFFFE00FE7C07FF00FEF000FF80FFC0007FC0FF80001FE0FF00000FE0 FF00000FF0FE000007F0FE000003F8FE000003F8FE000003FCFE000001FCFE000001FCFE000001 FEFE000000FEFE000000FEFE000000FEFE000000FEFE000000FEFE000000FEFE000000FEFE0000 00FEFE000000FEFE000001FCFE000001FCFE000001FCFE000003FCFE000003F8FE000007F8FE00 0007F0FF00000FF0FF00001FE0FF80003FC0FFC0007F80FFE001FF00FEF80FFE00FE7FFFFC00FE 3FFFF800FE1FFFF000FE07FFC000FE01FE0000FE00000000FE00000000FE00000000FE00000000 FE00000000FE00000000FE00000000FE00000000FE000000007C00000000273778AB34>I<0000 7F007C0003FFC0FE000FFFF0FE003FFFF8FE007FFFFCFE00FFE03CFE01FF000EFE03FC0007FE07 F80003FE0FF00003FE1FE00001FE1FC00001FE3FC00000FE3F800000FE7F800000FE7F000000FE 7F000000FE7F000000FEFE000000FEFE000000FEFE000000FEFE000000FEFE000000FEFE000000 FEFE000000FEFE000000FEFE000000FE7F000000FE7F000000FE7F000000FE7F800000FE3F8000 00FE3F800000FE1FC00001FE1FE00001FE0FE00003FE0FF00007FE07FC000FFE03FE001EFE01FF C07CFE00FFFFF8FE007FFFF0FE001FFFE0FE0007FF80FE0000FE00FE00000000FE00000000FE00 000000FE00000000FE00000000FE00000000FE00000000FE00000000FE00000000FE000000007C 27377CAB34>I<00001F7C007FFE01FFFE07FFFE0FFFFE1FFFFE3FE0FE3F00FE7C00FEF800FEE0 00FFE000FFC000FF8000FF8000FF0000FF0000FF0000FE0000FE0000FE0000FE0000FE0000FE00 00FE0000FE0000FE0000FE0000FE0000FE0000FE0000FE0000FE0000FE0000FE0000FE0000FE00 00FE0000FE0000FE0000FE0000FE0000FE00007C0000182C78AB22>I<001FFE000000FFFFC000 03FFFFF00007FFFFFC000FFFFFFF001FE003FF003F80007F007E00001F007E00000600FC000000 00FC00000000FC00000000FC00000000FC00000000FE00000000FE000000007F800000007FE000 00003FFE0000001FFFF800000FFFFF000007FFFFC00003FFFFF00000FFFFF800003FFFFC000001 FFFE0000000FFF00000001FF800000007F800000001FC00000001FC00000000FC00000000FC000 00000FC00000000FC00000000FC04000001F807000001F80FC00003F80FF00007F00FFF003FE00 FFFFFFFC003FFFFFF8000FFFFFF00001FFFFC000001FFE0000222E7DAC28>I<003E0000007F00 00007F0000007F0000007F0000007F0000007F0000007F0000007F0000007F0000007F0000007F 00007FFFFFF8FFFFFFFCFFFFFFFCFFFFFFFC7FFFFFF8007F0000007F0000007F0000007F000000 7F0000007F0000007F0000007F0000007F0000007F0000007F0000007F0000007F0000007F0000 007F0000007F0000007F0000007F0000007F0000007F0000007F0000007F0000007F0000007F00 00007F0000007F0000007F0000007F0000007F0000007F0000007F0004007F801C003F803E003F C1FE003FFFFC001FFFF8000FFFE00007FF800003FC001F387EB625>I<7C000007C0FE00000FE0 FE00000FE0FE00000FE0FE00000FE0FE00000FE0FE00000FE0FE00000FE0FE00000FE0FE00000F E0FE00000FE0FE00000FE0FE00000FE0FE00000FE0FE00000FE0FE00000FE0FE00000FE0FE0000 0FE0FE00000FE0FE00000FE0FE00000FE0FE00000FE0FE00000FE0FE00000FE0FE00000FE0FE00 000FE0FE00000FE0FE00000FE0FE00000FE0FE00000FE0FE00000FE0FE00001FE0FE00001FE0FE 00003FE0FE00003FE0FE00007FE07F0000EFE07F0003CFE03FE00F8FE03FFFFF0FE01FFFFE0FE0 0FFFFC0FE003FFF007C000FF800000232C78AA34>I<780000000F00FC0000001F80FE0000003F 807E0000003F007F0000003F003F0000007E003F0000007E003F800000FE001F800000FC001FC0 0000FC000FC00001F8000FC00001F8000FE00003F80007E00003F00007F00003F00003F00007E0 0003F00007E00001F8000FC00001F8000FC00001FC000FC00000FC001F800000FC001F8000007E 003F0000007E003F0000007F007F0000003F007E0000003F007E0000001F80FC0000001F80FC00 00001FC1FC0000000FC1F80000000FE1F800000007E3F000000007E3F000000007F7F000000003 F7E000000003FFE000000001FFC000000001FFC000000001FFC000000000FF8000000000FF8000 0000003E000000292B7EAA2E>I<78000007C000001EFC00000FF000003FFC00000FF000003F7E 00001FF000007E7E00001FF800007E7E00001FF800007E3F00003FF80000FC3F00003EFC0000FC 3F00003EFC0000FC1F80007E7C0001F81F80007C7E0001F81F80007C7E0001F81FC000FC3E0001 F80FC000F83F0003F00FC000F83F0003F00FE001F81F0003F007E001F01F8007E007E001F01F80 07E007F003F00F8007E003F003E00FC00FC003F003E00FC00FC003F003E007C00FC001F807C007 C01F8001F807C007E01F8001F807C007E01F8000FC0FC003E03F0000FC0F8003F03F0000FC0F80 03F03F00007E1F8001F07E00007E1F0001F87E00007E1F0001F87E00003E1F0000F87C00003F3E 0000F8FC00003F3E0000FCFC00001F3E00007CF800001F3C00007CF800001FFC00007FF800000F FC00003FF000000FF800003FF000000FF800003FF0000007F800001FE0000007F000001FE00000 03E000000FC000402B7EAA45>I<7C0000003E00FE0000007E007F000000FE003F800001FC001F C00003F8000FE00003F0000FE00007F00007F0000FE00003F8001FC00001FC003F800000FE007F 0000007F007E0000003F80FC0000001F81F80000000FC3F800000007E7F000000007FFE0000000 03FFC000000001FF8000000000FF00000000007E00000000007F0000000000FF8000000001FF80 00000003FFC000000007E7E00000000FC3F00000000FC1F80000001F80FC0000003F007E000000 7E007F000000FC003F800001FC001FC00003F8000FC00007F00007E00007E00003F0000FC00003 F8001FC00001FC003F800000FE007F0000007F00FE0000003F80FC0000001F80F80000000F8029 2B7EAA2E>I<780000000F00FC0000001F807E0000003F807E0000003F007F0000003F003F0000 007E003F8000007E001F800000FC001FC00000FC000FC00001FC000FC00001F80007E00001F800 07E00003F00007F00003F00003F00007F00003F80007E00001F80007E00001FC000FC00000FC00 0FC00000FC001F800000FE001F8000007E001F8000007F003F0000003F003F0000003F007E0000 001F807E0000001F807E0000000FC0FC0000000FC0FC0000000FC0F800000007E1F800000007E1 F000000003F1F000000003F3F000000001F3E000000001F3E000000000FFC000000000FFC00000 0000FFC0000000007F80000000007F80000000003F00000000003F00000000003E00000000003E 00000000007E00000000007C0000000000FC0000000001F80000003007F00000007FFFF0000000 7FFFE00000007FFF800000007FFF000000003FF80000000029377EAA2E>I<3FFFFFFFE07FFFFF FFF07FFFFFFFF07FFFFFFFF03FFFFFFFF00000001FE00000003FC00000007F800000007F000000 00FF00000001FE00000003FC00000007F800000007F00000000FF00000001FE00000003FC00000 007F800000007F00000000FF00000001FE00000003FC00000007F80000000FF00000000FE00000 001FE00000003FC00000007F80000000FF00000000FE00000001FE00000003FC00000007F80000 000FF00000000FE00000001FE00000003FC00000007F80000000FFFFFFFFF0FFFFFFFFF8FFFFFF FFF8FFFFFFFFF87FFFFFFFF0252B7DAA2C>I<7FFFFFFFFFFFFFFFFFFFFFFFF8FFFFFFFFFFFFFF FFFFFFFFFFFCFFFFFFFFFFFFFFFFFFFFFFFFFCFFFFFFFFFFFFFFFFFFFFFFFFFC7FFFFFFFFFFFFF FFFFFFFFFFF86605809C67>124 D E /Fq 20 118 df<3FFFFFFFFF807FFFFFFFFFC0FFFFFFFF FFE0FFFFFFFFFFE0FFFFFFFFFFE0FFFFFFFFFFE0FFFFFFFFFFE07FFFFFFFFFC03FFFFFFFFF802B 097EA437>45 D<7FFF80FFFF80FFFF80FFFF80FFFF80FFFF80FFFF80FFFF80FFFF80FFFF80FFFF 80FFFF80FFFF80FFFF80FFFF80FFFF80FFFF800000000000000000000000000000000000000000 000000000000000000000000000000000000000000000000000000000000000000000000000000 00000000000000000000000000000000000000000000000000000000000000FFFF80FFFF80FFFF 80FFFF80FFFF80FFFF80FFFF80FFFF80FFFF80FFFF80FFFF80FFFF80FFFF80FFFF80FFFF80FFFF 807FFF80114072BF2D>58 D<3FFFFFFFC07FFFFFFFE0FFFFFFFFF0FFFFFFFFF0FFFFFFFFF0FFFF FFFFF0FFFFFFFFF0FFFFFFFFF07FFFFFFFE03FFFFFFFC0007FFFF000007FFFF000007FFFF00000 7FFFF000007FFFF000007FFFF000007FFFF000007FFFF000007FFFF000007FFFF000007FFFF000 007FFFF000007FFFF000007FFFF000007FFFF000007FFFF000007FFFF000007FFFF000007FFFF0 00007FFFF000007FFFF000007FFFF000007FFFF000007FFFF000007FFFF000007FFFF000007FFF F000007FFFF000007FFFF000007FFFF000007FFFF000007FFFF000007FFFF000007FFFF000007F FFF000007FFFF000007FFFF000007FFFF000007FFFF000007FFFF000007FFFF000007FFFF00000 7FFFF000007FFFF000007FFFF000007FFFF000007FFFF000007FFFF000007FFFF000007FFFF000 007FFFF000007FFFF000007FFFF000007FFFF000007FFFF000007FFFF000007FFFF000007FFFF0 00007FFFF000007FFFF000007FFFF0003FFFFFFFC07FFFFFFFE0FFFFFFFFF0FFFFFFFFF0FFFFFF FFF0FFFFFFFFF0FFFFFFFFF0FFFFFFFFF07FFFFFFFE03FFFFFFFC024517DD02B>73 D<3FFFF8000000000000000FFFFE007FFFFE000000000000003FFFFF00FFFFFF00000000000000 7FFFFF80FFFFFF000000000000007FFFFF80FFFFFF80000000000000FFFFFF80FFFFFF80000000 000000FFFFFF80FFFFFFC0000000000001FFFFFF80FFFFFFC0000000000001FFFFFF80FFFFFFC0 000000000001FFFFFF80FFFFFFE0000000000003FFFFFF80FFFFFFE0000000000003FFFFFF80FF FFFFF0000000000007FFFFFF80FFFFFFF0000000000007FFFFFF80FFFFFFF800000000000FFFFF FF80FFFFFFF800000000000FFFFFFF80FFFFFFFC00000000001FFFFFFF80FFFFFFFC0000000000 1FFFFFFF80FFFEFFFE00000000003FFFBFFF80FFFEFFFE00000000003FFFBFFF80FFFE7FFF0000 0000007FFF3FFF80FFFE7FFF00000000007FFF3FFF80FFFE3FFF8000000000FFFE3FFF80FFFE3F FF8000000000FFFE3FFF80FFFE1FFFC000000001FFFC3FFF80FFFE1FFFC000000001FFFC3FFF80 FFFE1FFFC000000001FFFC3FFF80FFFE0FFFE000000003FFF83FFF80FFFE0FFFE000000003FFF8 3FFF80FFFE07FFF000000007FFF03FFF80FFFE07FFF000000007FFF03FFF80FFFE03FFF8000000 0FFFE03FFF80FFFE03FFF80000000FFFE03FFF80FFFE01FFFC0000001FFFC03FFF80FFFE01FFFC 0000001FFFC03FFF80FFFE00FFFE0000003FFF803FFF80FFFE00FFFE0000003FFF803FFF80FFFE 007FFF0000007FFF003FFF80FFFE007FFF0000007FFF003FFF80FFFE003FFF800000FFFE003FFF 80FFFE003FFF800000FFFE003FFF80FFFE003FFF800000FFFE003FFF80FFFE001FFFC00001FFFC 003FFF80FFFE001FFFC00001FFFC003FFF80FFFE000FFFE00003FFF8003FFF80FFFE000FFFE000 03FFF8003FFF80FFFE0007FFF00007FFF0003FFF80FFFE0007FFF00007FFF0003FFF80FFFE0003 FFF8000FFFE0003FFF80FFFE0003FFF8000FFFE0003FFF80FFFE0001FFFC001FFFC0003FFF80FF FE0001FFFC001FFFC0003FFF80FFFE0000FFFE003FFF80003FFF80FFFE0000FFFE003FFF80003F FF80FFFE00007FFF007FFF00003FFF80FFFE00007FFF007FFF00003FFF80FFFE00003FFF80FFFE 00003FFF80FFFE00003FFF80FFFE00003FFF80FFFE00003FFF80FFFE00003FFF80FFFE00001FFF C1FFFC00003FFF80FFFE00001FFFC1FFFC00003FFF80FFFE00000FFFE3FFF800003FFF80FFFE00 000FFFE3FFF800003FFF80FFFE000007FFF7FFF000003FFF80FFFE000007FFF7FFF000003FFF80 FFFE000003FFFFFFE000003FFF80FFFE000003FFFFFFE000003FFF80FFFE000001FFFFFFC00000 3FFF80FFFE000001FFFFFFC000003FFF80FFFE000000FFFFFF8000003FFF80FFFE000000FFFFFF 8000003FFF80FFFE0000007FFFFF0000003FFF80FFFE0000007FFFFF0000003FFF80FFFE000000 7FFFFF0000003FFF80FFFE0000003FFFFE0000003FFF80FFFE0000003FFFFE0000003FFF80FFFE 0000001FFFFC0000003FFF80FFFE0000001FFFFC0000003FFF80FFFE0000000FFFF80000003FFF 80FFFE00000007FFF00000003FFF807FFC00000003FFE00000001FFF003FF80000000000000000 000FFE00695172D086>77 D<3FFFFFFFFFFFC0000000007FFFFFFFFFFFFF00000000FFFFFFFFFF FFFFE0000000FFFFFFFFFFFFFFFC000000FFFFFFFFFFFFFFFF000000FFFFFFFFFFFFFFFFC00000 FFFFFFFFFFFFFFFFF00000FFFFFFFFFFFFFFFFFC0000FFFFFFFFFFFFFFFFFE0000FFFFFFFFFFFF FFFFFF0000FFFFFFFFFFFFFFFFFF8000FFFFFFFFFFFFFFFFFFC000FFFFE00000007FFFFFE000FF FFE000000007FFFFF000FFFFE000000000FFFFF800FFFFE0000000003FFFFC00FFFFE000000000 1FFFFC00FFFFE0000000000FFFFE00FFFFE00000000007FFFE00FFFFE00000000007FFFF00FFFF E00000000003FFFF00FFFFE00000000003FFFF00FFFFE00000000003FFFF80FFFFE00000000003 FFFF80FFFFE00000000001FFFF80FFFFE00000000001FFFF80FFFFE00000000001FFFF80FFFFE0 0000000001FFFF80FFFFE00000000003FFFF80FFFFE00000000003FFFF80FFFFE00000000003FF FF00FFFFE00000000003FFFF00FFFFE00000000007FFFF00FFFFE0000000000FFFFE00FFFFE000 0000000FFFFE00FFFFE0000000001FFFFC00FFFFE0000000007FFFF800FFFFE000000000FFFFF8 00FFFFE000000007FFFFF000FFFFE0000000FFFFFFE000FFFFFFFFFFFFFFFFFFC000FFFFFFFFFF FFFFFFFF0000FFFFFFFFFFFFFFFFFE0000FFFFFFFFFFFFFFFFFC0000FFFFFFFFFFFFFFFFF00000 FFFFFFFFFFFFFFFFC00000FFFFFFFFFFFFFFFF000000FFFFFFFFFFFFFFF8000000FFFFFFFFFFFF FFC0000000FFFFFFFFFFFFFC00000000FFFFE00000000000000000FFFFE00000000000000000FF FFE00000000000000000FFFFE00000000000000000FFFFE00000000000000000FFFFE000000000 00000000FFFFE00000000000000000FFFFE00000000000000000FFFFE00000000000000000FFFF E00000000000000000FFFFE00000000000000000FFFFE00000000000000000FFFFE00000000000 000000FFFFE00000000000000000FFFFE00000000000000000FFFFE00000000000000000FFFFE0 0000000000000000FFFFE00000000000000000FFFFE00000000000000000FFFFE0000000000000 0000FFFFE00000000000000000FFFFE00000000000000000FFFFE00000000000000000FFFFE000 00000000000000FFFFE00000000000000000FFFFE00000000000000000FFFFE000000000000000 00FFFFE00000000000000000FFFFE000000000000000007FFFC000000000000000003FFF800000 000000000000515174D067>80 D<3FFFFFFFFFFFFFFFFFFFFFFFFC7FFFFFFFFFFFFFFFFFFFFFFF FEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FF7FFFFFFFFFFFFFFFFFFFFFFFFE3FFFFFFFFFFFFFFFFFFFFFFFFC00000000001FFFFC00000000 0000000000001FFFFC000000000000000000001FFFFC000000000000000000001FFFFC00000000 0000000000001FFFFC000000000000000000001FFFFC000000000000000000001FFFFC00000000 0000000000001FFFFC000000000000000000001FFFFC000000000000000000001FFFFC00000000 0000000000001FFFFC000000000000000000001FFFFC000000000000000000001FFFFC00000000 0000000000001FFFFC000000000000000000001FFFFC000000000000000000001FFFFC00000000 0000000000001FFFFC000000000000000000001FFFFC000000000000000000001FFFFC00000000 0000000000001FFFFC000000000000000000001FFFFC000000000000000000001FFFFC00000000 0000000000001FFFFC000000000000000000001FFFFC000000000000000000001FFFFC00000000 0000000000001FFFFC000000000000000000001FFFFC000000000000000000001FFFFC00000000 0000000000001FFFFC000000000000000000001FFFFC000000000000000000001FFFFC00000000 0000000000001FFFFC000000000000000000001FFFFC000000000000000000001FFFFC00000000 0000000000001FFFFC000000000000000000001FFFFC000000000000000000001FFFFC00000000 0000000000001FFFFC000000000000000000001FFFFC000000000000000000001FFFFC00000000 0000000000001FFFFC000000000000000000001FFFFC000000000000000000001FFFFC00000000 0000000000001FFFFC000000000000000000001FFFFC000000000000000000001FFFFC00000000 0000000000001FFFFC000000000000000000001FFFFC000000000000000000001FFFFC00000000 0000000000001FFFFC000000000000000000001FFFFC000000000000000000001FFFFC00000000 0000000000001FFFFC000000000000000000001FFFFC000000000000000000001FFFFC00000000 0000000000001FFFFC000000000000000000001FFFFC000000000000000000001FFFFC00000000 0000000000001FFFFC000000000000000000001FFFFC000000000000000000001FFFFC00000000 0000000000001FFFFC000000000000000000001FFFFC000000000000000000001FFFFC00000000 0000000000001FFFFC000000000000000000001FFFFC000000000000000000001FFFFC00000000 0000000000001FFFFC000000000000000000001FFFFC000000000000000000000FFFF800000000 00000000000007FFF0000000000068517AD075>84 D<000000FFFF00000000001FFFFFF0000000 01FFFFFFFE0000000FFFFFFFFF8000007FFFFFFFFFE00001FFFFFFFFFFF80003FFFFFFFFFFFC00 03FFFFFFFFFFFE0003FFFFF80FFFFF0003FFFE0001FFFF8003FFF00000FFFFC003FFC000007FFF E001FF0000003FFFE001FE0000001FFFF001F80000000FFFF801F00000000FFFF801E00000000F FFF801C000000007FFFC000000000007FFFC000000000007FFFC000000000007FFFC0000000000 07FFFC000000000007FFFC000000000007FFFC000000000007FFFC000000000007FFFC00000000 003FFFFC00000001FFFFFFFC0000007FFFFFFFFC000007FFFFFFFFFC00003FFFFFFFFFFC0001FF FFFFE7FFFC0007FFFFF007FFFC001FFFFE0007FFFC007FFFF00007FFFC01FFFFC00007FFFC03FF FF000007FFFC07FFFE000007FFFC0FFFF8000007FFFC1FFFF0000007FFFC3FFFF0000007FFFC3F FFE0000007FFFC7FFFC0000007FFFC7FFFC0000007FFFCFFFF80000007FFFCFFFF80000007FFFC FFFF80000007FFFCFFFF80000007FFFCFFFF80000007FFFCFFFF80000007FFFCFFFF8000000FFF FCFFFFC000000FFFFC7FFFC000001FFFFC7FFFE000003FFFFC3FFFF000007FFFFC3FFFF80001FF FFFC3FFFFC0007FFFFFC1FFFFF803FF7FFFC0FFFFFFFFFE7FFFC0FFFFFFFFFC7FFFC07FFFFFFFF 87FFFC03FFFFFFFE07FFFC00FFFFFFFC07FFFC007FFFFFF007FFFC001FFFFFC003FFF80007FFFE 0001FFF00000FFE0000000003E437BC14D>97 D<00000003FFFC00000000007FFFFFE000000003 FFFFFFFC0000000FFFFFFFFF8000003FFFFFFFFFE00000FFFFFFFFFFFC0001FFFFFFFFFFFC0007 FFFFFFFFFFFC000FFFFFFFFFFFFC001FFFFE000FFFF8003FFFF00000FFF8007FFFC000003FF800 FFFF8000000FF801FFFF00000003F801FFFE00000001F803FFFC00000000F007FFF80000000030 07FFF800000000000FFFF000000000000FFFE000000000001FFFE000000000001FFFE000000000 003FFFC000000000003FFFC000000000007FFFC000000000007FFFC000000000007FFFC0000000 00007FFF800000000000FFFF800000000000FFFF800000000000FFFF800000000000FFFF800000 000000FFFF800000000000FFFF800000000000FFFF800000000000FFFF800000000000FFFF8000 00000000FFFF800000000000FFFF8000000000007FFF8000000000007FFF8000000000007FFFC0 00000000007FFFC000000000003FFFC000000000003FFFC000000000003FFFE000000000001FFF E000000000001FFFE000000000180FFFF000000000380FFFF8000000007807FFF800000000F803 FFFC00000001F803FFFE00000007F801FFFF0000000FF800FFFF8000003FFC007FFFC00000FFFC 003FFFF00003FFFC001FFFFE003FFFFC000FFFFFFFFFFFFC0007FFFFFFFFFFF80001FFFFFFFFFF F00000FFFFFFFFFFC000003FFFFFFFFF0000000FFFFFFFFC00000003FFFFFFE0000000007FFFFF 000000000007FFE000003E437BC149>99 D<0000000FFF800000000000FFFFF80000000007FFFF FF000000001FFFFFFFC00000007FFFFFFFF0000000FFFFFFFFF8000003FFFFFFFFFE000007FFFF FFFFFF00000FFFFFFFFFFF80001FFFFE03FFFFC0003FFFF0007FFFC0007FFFC0001FFFE000FFFF 80000FFFF001FFFF000007FFF003FFFE000003FFF803FFFC000003FFF807FFF8000001FFFC0FFF F8000001FFFC0FFFF0000001FFFE1FFFE0000000FFFE1FFFE0000000FFFE3FFFE0000000FFFE3F FFC0000000FFFF3FFFC00000007FFF7FFFC00000007FFF7FFFFFFFFFFFFFFF7FFFFFFFFFFFFFFF 7FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFFFFFFFFFFFFFF FCFFFF000000000000FFFF000000000000FFFF000000000000FFFF000000000000FFFF80000000 0000FFFF800000000000FFFF8000000000007FFF8000000000007FFF8000000000007FFF800000 0000007FFFC000000000003FFFC000000000003FFFC000000000001FFFE000000000001FFFE000 000000000FFFF000000000000FFFF0000000000607FFF8000000001E07FFFC000000003E03FFFE 000000007E01FFFE00000001FE00FFFF80000003FE00FFFFC000000FFF007FFFE000003FFF003F FFF80001FFFF001FFFFF801FFFFF0007FFFFFFFFFFFF0003FFFFFFFFFFFE0001FFFFFFFFFFFC00 007FFFFFFFFFF000001FFFFFFFFFC0000007FFFFFFFE00000001FFFFFFF0000000003FFFFF8000 00000003FFF0000040437BC14B>101 D<00000003FFFE000000003FFFFFF0000003FFFFFFF000 000FFFFFFFF000003FFFFFFFF00000FFFFFFFFF00001FFFFFFFFF00003FFFFFFFFF00007FFFFFF FFF0000FFFFF003FF0001FFFF80007F0001FFFE00001F0003FFFE00000F0003FFFE0000070003F FFE0000000003FFFE0000000003FFFE0000000003FFFE0000000003FFFE0000000003FFFE00000 003FFFFFFFFF00007FFFFFFFFF8000FFFFFFFFFFC000FFFFFFFFFFC000FFFFFFFFFFC000FFFFFF FFFFC000FFFFFFFFFFC0007FFFFFFFFF80003FFFFFFFFF0000003FFFE0000000003FFFE0000000 003FFFE0000000003FFFE0000000003FFFE0000000003FFFE0000000003FFFE0000000003FFFE0 000000003FFFE0000000003FFFE0000000003FFFE0000000003FFFE0000000003FFFE000000000 3FFFE0000000003FFFE0000000003FFFE0000000003FFFE0000000003FFFE0000000003FFFE000 0000003FFFE0000000003FFFE0000000003FFFE0000000003FFFE0000000003FFFE0000000003F FFE0000000003FFFE0000000003FFFE0000000003FFFE0000000003FFFE0000000003FFFE00000 00003FFFE0000000003FFFE0000000003FFFE0000000003FFFE0000000003FFFE0000000003FFF E0000000003FFFE0000000003FFFE0000000003FFFE0000000003FFFE0000000003FFFE0000000 003FFFE0000000003FFFE0000000003FFFE0000000003FFFE0000000003FFFE0000000003FFFE0 000000003FFFE0000000003FFFE0000000003FFFE0000000003FFFE0000000003FFFE000000000 3FFFE0000000001FFFC0000000000FFF8000000034547CD332>I<0000001FF8001FFF00000001 FFFF003FFF8000000FFFFFC07FFFC000003FFFFFE07FFFC00000FFFFFFF87FFFC00001FFFFFFFC 7FFFC00007FFFFFFFE7FFFC0000FFFFFFFFF7FFFC0001FFFFFFFFF7FFFC0003FFFFF807FFFFFC0 007FFFFC001FFFFFC000FFFFF00007FFFFC001FFFFE00003FFFFC003FFFF800001FFFFC003FFFF 000001FFFFC007FFFE000000FFFFC007FFFC0000007FFFC00FFFFC0000007FFFC01FFFF8000000 7FFFC01FFFF00000007FFFC01FFFF00000007FFFC03FFFE00000007FFFC03FFFE00000007FFFC0 7FFFE00000007FFFC07FFFC00000007FFFC07FFFC00000007FFFC07FFFC00000007FFFC0FFFFC0 0000007FFFC0FFFF800000007FFFC0FFFF800000007FFFC0FFFF800000007FFFC0FFFF80000000 7FFFC0FFFF800000007FFFC0FFFF800000007FFFC0FFFF800000007FFFC0FFFF800000007FFFC0 FFFF80000000FFFFC0FFFF80000000FFFFC07FFFC0000000FFFFC07FFFC0000000FFFFC07FFFC0 000000FFFFC07FFFE0000001FFFFC03FFFE0000001FFFFC03FFFF0000001FFFFC01FFFF0000003 FFFFC01FFFF8000003FFFFC00FFFFC000007FFFFC00FFFFE000007FFFFC007FFFF00000FFFFFC0 03FFFF80001F7FFFC001FFFFC0003F7FFFC001FFFFF0007E7FFFC000FFFFFE01FE7FFFC0007FFF FFFFFC7FFFC0001FFFFFFFFC7FFFC0000FFFFFFFF87FFFC00007FFFFFFF07FFFC00001FFFFFFE0 7FFFC000007FFFFFC07FFFC000001FFFFF007FFFC0000003FFFC007FFFC00000003FF0007FFFC0 0000000000007FFFC00000000000007FFFC00000000000007FFFC00000000000007FFF80000000 0000007FFF800000000000007FFF80000000000000FFFF00018000000000FFFF0003E000000001 FFFE0003FC00000003FFFE0003FF80000007FFFC0003FFF800001FFFF80003FFFFE000FFFFF000 03FFFFFFFFFFFFE00003FFFFFFFFFFFFC00003FFFFFFFFFFFF800003FFFFFFFFFFFE000003FFFF FFFFFFFC000001FFFFFFFFFFF00000003FFFFFFFFFC000000001FFFFFFFE000000000001FFFFC0 00000042547BC051>I<3FFE0000000000007FFF000000000000FFFF800000000000FFFF800000 000000FFFF800000000000FFFF800000000000FFFF800000000000FFFF800000000000FFFF8000 00000000FFFF800000000000FFFF800000000000FFFF800000000000FFFF800000000000FFFF80 0000000000FFFF800000000000FFFF800000000000FFFF800000000000FFFF800000000000FFFF 80001FFE0000FFFF8001FFFFE000FFFF8007FFFFF800FFFF801FFFFFFE00FFFF807FFFFFFF00FF FF80FFFFFFFF80FFFF83FFFFFFFFC0FFFF87FFFFFFFFE0FFFF8FFFFFFFFFE0FFFF9FF801FFFFF0 FFFF9FC0007FFFF0FFFFBF00001FFFF8FFFFFE00001FFFF8FFFFFC00000FFFF8FFFFF800000FFF FCFFFFF0000007FFFCFFFFE0000007FFFCFFFFE0000007FFFCFFFFC0000007FFFCFFFFC0000007 FFFCFFFF80000007FFFCFFFF80000007FFFCFFFF80000007FFFCFFFF80000007FFFCFFFF800000 07FFFCFFFF80000007FFFCFFFF80000007FFFCFFFF80000007FFFCFFFF80000007FFFCFFFF8000 0007FFFCFFFF80000007FFFCFFFF80000007FFFCFFFF80000007FFFCFFFF80000007FFFCFFFF80 000007FFFCFFFF80000007FFFCFFFF80000007FFFCFFFF80000007FFFCFFFF80000007FFFCFFFF 80000007FFFCFFFF80000007FFFCFFFF80000007FFFCFFFF80000007FFFCFFFF80000007FFFCFF FF80000007FFFCFFFF80000007FFFCFFFF80000007FFFCFFFF80000007FFFCFFFF80000007FFFC FFFF80000007FFFCFFFF80000007FFFCFFFF80000007FFFCFFFF80000007FFFCFFFF80000007FF FCFFFF80000007FFFCFFFF80000007FFFCFFFF80000007FFFCFFFF80000007FFFCFFFF80000007 FFFCFFFF80000007FFFCFFFF80000007FFFCFFFF80000007FFFCFFFF80000007FFFC7FFF000000 03FFF83FFE00000001FFF03E5377D251>I<3FFF807FFFC0FFFFC0FFFFE0FFFFE0FFFFE0FFFFE0 FFFFC0FFFFC07FFF80000000000000000000000000000000000000000000000000000000000000 1FFF003FFF807FFFC07FFFC07FFFC07FFFC07FFFC07FFFC07FFFC07FFFC07FFFC07FFFC07FFFC0 7FFFC07FFFC07FFFC07FFFC07FFFC07FFFC07FFFC07FFFC07FFFC07FFFC07FFFC07FFFC07FFFC0 7FFFC07FFFC07FFFC07FFFC07FFFC07FFFC07FFFC07FFFC07FFFC07FFFC07FFFC07FFFC07FFFC0 7FFFC07FFFC07FFFC07FFFC07FFFC07FFFC07FFFC07FFFC07FFFC07FFFC07FFFC07FFFC07FFFC0 7FFFC07FFFC07FFFC07FFFC07FFFC07FFFC07FFFC07FFFC07FFFC07FFFC03FFF801FFF00135478 D324>I<3FFE007FFF00FFFF80FFFF80FFFF80FFFF80FFFF80FFFF80FFFF80FFFF80FFFF80FFFF 80FFFF80FFFF80FFFF80FFFF80FFFF80FFFF80FFFF80FFFF80FFFF80FFFF80FFFF80FFFF80FFFF 80FFFF80FFFF80FFFF80FFFF80FFFF80FFFF80FFFF80FFFF80FFFF80FFFF80FFFF80FFFF80FFFF 80FFFF80FFFF80FFFF80FFFF80FFFF80FFFF80FFFF80FFFF80FFFF80FFFF80FFFF80FFFF80FFFF 80FFFF80FFFF80FFFF80FFFF80FFFF80FFFF80FFFF80FFFF80FFFF80FFFF80FFFF80FFFF80FFFF 80FFFF80FFFF80FFFF80FFFF80FFFF80FFFF80FFFF80FFFF80FFFF80FFFF80FFFF80FFFF80FFFF 80FFFF80FFFF80FFFF80FFFF807FFF003FFE00115377D224>108 D<000000001FFE00003FFE00 01FFFFE0007FFF0007FFFFF800FFFF801FFFFFFE00FFFF807FFFFFFF00FFFF80FFFFFFFF80FFFF 83FFFFFFFFC0FFFF87FFFFFFFFE0FFFF8FFFFFFFFFE0FFFF9FF801FFFFF0FFFF9FC0007FFFF0FF FFBF00001FFFF8FFFFFE00001FFFF8FFFFFC00000FFFF8FFFFF800000FFFFCFFFFF0000007FFFC FFFFE0000007FFFCFFFFE0000007FFFCFFFFC0000007FFFCFFFFC0000007FFFCFFFF80000007FF FCFFFF80000007FFFCFFFF80000007FFFCFFFF80000007FFFCFFFF80000007FFFCFFFF80000007 FFFCFFFF80000007FFFCFFFF80000007FFFCFFFF80000007FFFCFFFF80000007FFFCFFFF800000 07FFFCFFFF80000007FFFCFFFF80000007FFFCFFFF80000007FFFCFFFF80000007FFFCFFFF8000 0007FFFCFFFF80000007FFFCFFFF80000007FFFCFFFF80000007FFFCFFFF80000007FFFCFFFF80 000007FFFCFFFF80000007FFFCFFFF80000007FFFCFFFF80000007FFFCFFFF80000007FFFCFFFF 80000007FFFCFFFF80000007FFFCFFFF80000007FFFCFFFF80000007FFFCFFFF80000007FFFCFF FF80000007FFFCFFFF80000007FFFCFFFF80000007FFFCFFFF80000007FFFCFFFF80000007FFFC FFFF80000007FFFCFFFF80000007FFFCFFFF80000007FFFCFFFF80000007FFFCFFFF80000007FF FCFFFF80000007FFFCFFFF80000007FFFCFFFF80000007FFFC7FFF00000003FFF83FFE00000001 FFF03E4177C051>110 D<00000007FFC00000000000007FFFFC000000000003FFFFFF80000000 000FFFFFFFE0000000003FFFFFFFF800000000FFFFFFFFFE00000001FFFFFFFFFF00000007FFFF FFFFFFC000000FFFFFFFFFFFE000001FFFFE00FFFFF000003FFFF0001FFFF800007FFF800003FF FC0000FFFF000001FFFE0001FFFE000000FFFF0001FFFC0000007FFF0003FFF80000003FFF8007 FFF00000001FFFC007FFF00000001FFFC00FFFE00000000FFFE00FFFE00000000FFFE01FFFC000 000007FFF01FFFC000000007FFF03FFFC000000007FFF83FFFC000000007FFF83FFF8000000003 FFF87FFF8000000003FFFC7FFF8000000003FFFC7FFF8000000003FFFC7FFF8000000003FFFCFF FF8000000003FFFEFFFF8000000003FFFEFFFF8000000003FFFEFFFF8000000003FFFEFFFF8000 000003FFFEFFFF8000000003FFFEFFFF8000000003FFFEFFFF8000000003FFFEFFFF8000000003 FFFEFFFF8000000003FFFEFFFF8000000003FFFE7FFF8000000003FFFC7FFF8000000003FFFC7F FFC000000007FFFC7FFFC000000007FFFC3FFFC000000007FFF83FFFC000000007FFF81FFFE000 00000FFFF01FFFE00000000FFFF00FFFE00000000FFFE00FFFF00000001FFFE007FFF00000001F FFC007FFF80000003FFFC003FFFC0000007FFF8001FFFE000000FFFF0000FFFF000001FFFE0000 FFFFC00007FFFE00007FFFF0001FFFFC00003FFFFE00FFFFF800000FFFFFFFFFFFE0000007FFFF FFFFFFC0000003FFFFFFFFFF80000000FFFFFFFFFE000000007FFFFFFFFC000000001FFFFFFFF0 0000000003FFFFFF8000000000007FFFFC00000000000007FFC000000047437BC152>I<000000 000FC03FFC0000FFC07FFE0003FFC0FFFF000FFFC0FFFF003FFFC0FFFF007FFFC0FFFF00FFFFC0 FFFF01FFFFC0FFFF03FFFFC0FFFF07FFFFC0FFFF0FFFFFC0FFFF0FFFFFC0FFFF1FFFFFC0FFFF3F FFC000FFFF3FFC0000FFFF7FE00000FFFF7F800000FFFFFF000000FFFFFC000000FFFFF8000000 FFFFF0000000FFFFE0000000FFFFE0000000FFFFC0000000FFFFC0000000FFFF80000000FFFF80 000000FFFF80000000FFFF80000000FFFF80000000FFFF80000000FFFF80000000FFFF80000000 FFFF80000000FFFF80000000FFFF80000000FFFF80000000FFFF80000000FFFF80000000FFFF80 000000FFFF80000000FFFF80000000FFFF80000000FFFF80000000FFFF80000000FFFF80000000 FFFF80000000FFFF80000000FFFF80000000FFFF80000000FFFF80000000FFFF80000000FFFF80 000000FFFF80000000FFFF80000000FFFF80000000FFFF80000000FFFF80000000FFFF80000000 FFFF80000000FFFF80000000FFFF80000000FFFF800000007FFF000000003FFE000000002A4177 C036>114 D<00000FFFE000000001FFFFFF0000000FFFFFFFE000003FFFFFFFFC00007FFFFFFF FF0001FFFFFFFFFFE003FFFFFFFFFFE007FFFFFFFFFFE00FFFFFFFFFFFE01FFFFFFFFFFFC01FFF E0007FFFC03FFF000007FFC03FFE000000FFC07FFC0000007FC07FF80000001FC07FF800000007 80FFF80000000380FFF80000000100FFF80000000000FFFC0000000000FFFC0000000000FFFF00 00000000FFFFC000000000FFFFF8000000007FFFFFE00000007FFFFFFF0000007FFFFFFFF80000 3FFFFFFFFE00003FFFFFFFFF80001FFFFFFFFFE0000FFFFFFFFFF80007FFFFFFFFFC0003FFFFFF FFFF0001FFFFFFFFFF8000FFFFFFFFFFC0007FFFFFFFFFC0001FFFFFFFFFE00007FFFFFFFFF000 00FFFFFFFFF000001FFFFFFFF8000000FFFFFFF800000003FFFFF8000000001FFFFC0000000007 FFFC0000000001FFFC0000000000FFFC1000000000FFFC38000000007FFC3C000000007FFC3E00 0000007FFC3F000000007FFC7FC00000007FF87FE0000000FFF87FF8000001FFF87FFE000003FF F07FFFC00007FFF07FFFF8007FFFE0FFFFFFFFFFFFC0FFFFFFFFFFFFC0FFFFFFFFFFFF80FFFFFF FFFFFF001FFFFFFFFFFE0007FFFFFFFFF80001FFFFFFFFE000003FFFFFFF80000003FFFFFE0000 00001FFFC0000036437BC13F>I<0007FFC0000000000FFFE0000000001FFFF0000000001FFFF0 000000001FFFF0000000001FFFF0000000001FFFF0000000001FFFF0000000001FFFF000000000 1FFFF0000000001FFFF0000000001FFFF0000000001FFFF0000000001FFFF0000000001FFFF000 0000001FFFF0000000001FFFF0000000001FFFF00000003FFFFFFFFFFC007FFFFFFFFFFE00FFFF FFFFFFFF00FFFFFFFFFFFF00FFFFFFFFFFFF00FFFFFFFFFFFF00FFFFFFFFFFFF007FFFFFFFFFFE 003FFFFFFFFFFC00001FFFF0000000001FFFF0000000001FFFF0000000001FFFF0000000001FFF F0000000001FFFF0000000001FFFF0000000001FFFF0000000001FFFF0000000001FFFF0000000 001FFFF0000000001FFFF0000000001FFFF0000000001FFFF0000000001FFFF0000000001FFFF0 000000001FFFF0000000001FFFF0000000001FFFF0000000001FFFF0000000001FFFF000000000 1FFFF0000000001FFFF0000000001FFFF0000000001FFFF0000000001FFFF0000000001FFFF000 0000001FFFF0000000001FFFF0000000001FFFF0000000001FFFF0000000001FFFF0000000001F FFF0000000001FFFF0000000001FFFF0000000001FFFF0000000001FFFF0000000001FFFF00000 00001FFFF0000000001FFFF0000000001FFFF0000000001FFFF8000180001FFFF8000780000FFF F8000F80000FFFFC001FC0000FFFFC007FC00007FFFF03FFC00007FFFFFFFFE00007FFFFFFFFE0 0003FFFFFFFFC00001FFFFFFFF000001FFFFFFFC000000FFFFFFF00000007FFFFF800000001FFF FC0000000003FF00000033537DD13B>I<3FFE00000001FFF07FFF00000003FFF8FFFF80000007 FFFCFFFF80000007FFFCFFFF80000007FFFCFFFF80000007FFFCFFFF80000007FFFCFFFF800000 07FFFCFFFF80000007FFFCFFFF80000007FFFCFFFF80000007FFFCFFFF80000007FFFCFFFF8000 0007FFFCFFFF80000007FFFCFFFF80000007FFFCFFFF80000007FFFCFFFF80000007FFFCFFFF80 000007FFFCFFFF80000007FFFCFFFF80000007FFFCFFFF80000007FFFCFFFF80000007FFFCFFFF 80000007FFFCFFFF80000007FFFCFFFF80000007FFFCFFFF80000007FFFCFFFF80000007FFFCFF FF80000007FFFCFFFF80000007FFFCFFFF80000007FFFCFFFF80000007FFFCFFFF80000007FFFC FFFF80000007FFFCFFFF80000007FFFCFFFF80000007FFFCFFFF80000007FFFCFFFF80000007FF FCFFFF80000007FFFCFFFF80000007FFFCFFFF80000007FFFCFFFF80000007FFFCFFFF80000007 FFFCFFFF80000007FFFCFFFF80000007FFFCFFFF8000000FFFFCFFFF8000000FFFFCFFFF800000 0FFFFCFFFF8000001FFFFCFFFF8000001FFFFCFFFF8000003FFFFC7FFF8000007FFFFC7FFF8000 007FFFFC7FFF800000F7FFFC7FFFC00001F7FFFC3FFFC00007E7FFFC3FFFE0000FE7FFFC1FFFFC 007FC7FFFC0FFFFFFFFF87FFFC0FFFFFFFFF07FFFC07FFFFFFFE07FFFC03FFFFFFF807FFFC00FF FFFFF007FFFC003FFFFFC003FFF8000FFFFF0001FFF00000FFF8000000003E4177BF51>I E end TeXDict begin @letter /letter where {pop letter} if bop 71 120 a @beginspecial @setspecial /$F2psDict 32 dict def $F2psDict begin $F2psDict /mtrx matrix put end /$F2psBegin {$F2psDict begin /$F2psEnteredState save def} def /$F2psEnd {$F2psEnteredState restore end} def $F2psBegin 0.900000 -0.900000 scale 90 rotate 0 -612 translate -36 36 translate 4.000 setlinewidth .2 setgray newpath 34 19 moveto 19 19 19 604 15 arcto 4 {pop} repeat 19 619 764 619 15 arcto 4 {pop} repeat 779 619 779 34 15 arcto 4 {pop} repeat 779 19 34 19 15 arcto 4 {pop} repeat closepath stroke showpage $F2psEnd @endspecial 302 617 a Fq(T)-14 b(uto)-5 b(rial)54 b(on)g(MPI:)h(The)145 741 y(Message-P)-5 b(assing)52 b(Interface)721 990 y Fp(Willi)q(am)38 b(Gropp)71 1345 y @beginspecial -70 @hoffset -500 @voffset 100 @hscale 100 @vscale @setspecial /circtextdict 16 dict def circtextdict begin % return half the angle spanned by a string /findhalfangle { % string => angle stringwidth pop 2 div 2 xradius mul pi mul div 360 mul } def % draw one character and then rotate to next position (text reads cw) /cwplacechar { % char => - /char exch def /halfangle char findhalfangle def gsave halfangle neg rotate radius 0 translate -90 rotate char stringwidth pop 2 div neg 0 moveto char show grestore halfangle 2 mul neg rotate } def % draw one character and then rotate to next position (text reads ccw) /ccwplacechar { % char => - /char exch def /halfangle char findhalfangle def gsave halfangle rotate radius ptsize fudge sub add 0 translate 90 rotate char stringwidth pop 2 div neg 0 moveto char show grestore halfangle 2 mul rotate } def /pi 3.1415923 def end /cwcircletext { % string fontsize centerangle radius => - circtextdict begin /radius exch def /centerangle exch def /ptsize exch def /str exch def /xradius radius ptsize 4 div add def gsave centerangle str findhalfangle add rotate str { /charcode exch def ( ) dup 0 charcode put cwplacechar } forall grestore end } def /ccwcircletext { % string fontsize fudge centerangle radius => - circtextdict begin /radius exch def /centerangle exch def /fudge exch def % fudge factor; set to zero and then adjust /ptsize exch def /str exch def /xradius radius ptsize 4 div add def gsave centerangle str findhalfangle sub rotate str { /charcode exch def ( ) dup 0 charcode put ccwplacechar } forall grestore end } def /drawcenter { % side width outsider insider circrad circdy => - gsave 30 dict begin /circdy exch def % vertical offset for circle /circrad exch def % radius of circle /insider exch def % radius of turn for inside line (in arrow) /outsider exch def % radius of turn for outside line (in arrow) /width exch def % distance between inside and outside lines /side exch def % length of one (out)side of the arrow /root3 3 sqrt def /y0 root3 6 div side mul neg def /y1 y0 width add def /y2 y1 2 mul neg def /y3 y2 width 3 mul 4 div add def /y4 y0 2 mul neg def /dx0 root3 4 div width mul def /dx1 side 2 div width root3 mul sub def /dx2 dx1 width root3 div add def /dx3 side width root3 mul sub 2 div def /dx4 side 2 div def % inside line width 2 div neg y1 moveto dx1 neg y1 0 y2 insider arcto pop pop pop pop 0 y2 dx1 y1 insider arcto pop pop pop pop dx1 y1 width 2 div y1 insider arcto pop pop pop pop width 2 div y1 lineto % outside line width 2 div y0 lineto dx4 y0 0 y4 outsider arcto pop pop pop pop 0 y4 dx3 neg y1 outsider arcto pop pop pop pop dx4 neg y0 dx2 y0 outsider arcto pop pop pop pop width 2 div neg y0 lineto closepath stroke % circle 0 circdy circrad 0 360 arc closepath stroke end grestore } def /Helvetica-Bold findfont 10 scalefont setfont 306 448 translate (ARGONNE NATIONAL LABORATORY) 10 90 55 cwcircletext (UNIVERSITY OF CHICAGO) 10 3 -90 55 ccwcircletext /Symbol findfont 10 scalefont setfont (\267 \267) 10 3 -90 55 ccwcircletext 104 18 10 1 10 -2 drawcenter @endspecial 77 2184 a(Mathematics)d(and)e(Computer)h(Science)h(Division)409 2309 y(Argonne)d(National)k(Lab)s(o)m(rato)m(ry)628 2434 y(Argonne,)d(IL)h (60439)623 2558 y(gropp@mcs.anl.gov)2065 2770 y Fo(1)p eop bop 71 120 a @beginspecial @setspecial /$F2psDict 32 dict def $F2psDict begin $F2psDict /mtrx matrix put end /$F2psBegin {$F2psDict begin /$F2psEnteredState save def} def /$F2psEnd {$F2psEnteredState restore end} def $F2psBegin 0.900000 -0.900000 scale 90 rotate 0 -612 translate -36 36 translate 4.000 setlinewidth .2 setgray newpath 34 19 moveto 19 19 19 604 15 arcto 4 {pop} repeat 19 619 764 619 15 arcto 4 {pop} repeat 779 619 779 34 15 arcto 4 {pop} repeat 779 19 34 19 15 arcto 4 {pop} repeat closepath stroke showpage $F2psEnd @endspecial 249 x Fn(Course)36 b(Outline)p 71 419 1910 19 v 71 434 1910 7 v 150 655 a Fm(\017)41 b Fl(Background)29 b(on)g(P)n(a)n (rall)o(el)c(Computing)150 828 y Fm(\017)41 b Fl(Getting)29 b(Sta)n(rted)150 1000 y Fm(\017)41 b Fl(MPI)29 b(Basics)150 1172 y Fm(\017)41 b Fl(Intermediate)28 b(MPI)150 1345 y Fm(\017)41 b Fl(T)-7 b(o)r(ols)28 b(fo)n(r)h(writing)e(lib)n(ra)n(r)o(i)o(es)150 1517 y Fm(\017)41 b Fl(Final)27 b(comments)71 1689 y(Thanks)f(to)i(Rust)n(y)g (Lusk)f(fo)n(r)h(some)f(of)h(the)g(material)c(in)j(this)71 1768 y(tuto)n(rial.)71 1909 y(This)32 b(tuto)n(rial)e(ma)n(y)i(b)r(e)i(used)g (in)e(conjunction)h(with)71 1988 y(the)g(b)r(o)r(ok)g(\\Using)f(MPI")h(which) g(contains)f(detailed)71 2067 y(descriptions)27 b(of)i(the)g(use)g(of)g(the)g (MPI)g(routines.)71 2254 y Fk(\177)g Fj(Material)d(that)j(b)r(eings)g(with)f (this)g(symb)r(ol)g(is)g(`advanced')71 2378 y(and)g(ma)n(y)f(b)r(e)j(skipp)r (ed)e(on)h(a)f(\014rst)h(reading.)2065 2770 y Fo(2)p eop bop 71 120 a @beginspecial @setspecial /$F2psDict 32 dict def $F2psDict begin $F2psDict /mtrx matrix put end /$F2psBegin {$F2psDict begin /$F2psEnteredState save def} def /$F2psEnd {$F2psEnteredState restore end} def $F2psBegin 0.900000 -0.900000 scale 90 rotate 0 -612 translate -36 36 translate 4.000 setlinewidth .2 setgray newpath 34 19 moveto 19 19 19 604 15 arcto 4 {pop} repeat 19 619 764 619 15 arcto 4 {pop} repeat 779 619 779 34 15 arcto 4 {pop} repeat 779 19 34 19 15 arcto 4 {pop} repeat closepath stroke showpage $F2psEnd @endspecial 249 x Fn(Background)p 71 419 1910 19 v 71 434 1910 7 v 143 992 a Fi(\017)41 b Fp(P)m(a)m(rallel)d(Computing)143 1167 y Fi(\017)j Fp(Communicating)35 b(with)h(other)e(p)m(ro)s(cesses)143 1341 y Fi(\017)41 b Fp(Co)s(op)s(erative)35 b(op)s(erations)143 1515 y Fi(\017)41 b Fp(One-sided)34 b(op)s(erations)143 1690 y Fi(\017)41 b Fp(The)34 b(MPI)h(p)m(ro)s(cess)2065 2770 y Fo(3)p eop bop 71 120 a @beginspecial @setspecial /$F2psDict 32 dict def $F2psDict begin $F2psDict /mtrx matrix put end /$F2psBegin {$F2psDict begin /$F2psEnteredState save def} def /$F2psEnd {$F2psEnteredState restore end} def $F2psBegin 0.900000 -0.900000 scale 90 rotate 0 -612 translate -36 36 translate 4.000 setlinewidth .2 setgray newpath 34 19 moveto 19 19 19 604 15 arcto 4 {pop} repeat 19 619 764 619 15 arcto 4 {pop} repeat 779 619 779 34 15 arcto 4 {pop} repeat 779 19 34 19 15 arcto 4 {pop} repeat closepath stroke showpage $F2psEnd @endspecial 187 x Fh(P)m(a)m(rallel)32 b(Computing)p 71 357 1910 19 v 71 372 1910 7 v 143 1125 a Fi(\017)41 b Fp(Sepa)m(rate)35 b(w)m(o)m(rk)m(ers)f(o)m(r)h(p)m(ro)s(cesses)143 1300 y Fi(\017)41 b Fp(Interact)35 b(b)m(y)f(exchanging)g(info)m(rmation)2065 2770 y Fo(4)p eop bop 71 120 a @beginspecial @setspecial /$F2psDict 32 dict def $F2psDict begin $F2psDict /mtrx matrix put end /$F2psBegin {$F2psDict begin /$F2psEnteredState save def} def /$F2psEnd {$F2psEnteredState restore end} def $F2psBegin 0.900000 -0.900000 scale 90 rotate 0 -612 translate -36 36 translate 4.000 setlinewidth .2 setgray newpath 34 19 moveto 19 19 19 604 15 arcto 4 {pop} repeat 19 619 764 619 15 arcto 4 {pop} repeat 779 619 779 34 15 arcto 4 {pop} repeat 779 19 34 19 15 arcto 4 {pop} repeat closepath stroke showpage $F2psEnd @endspecial 187 x Fh(T)-8 b(yp)s(es)31 b(of)g(pa)m(rallel)h(computing)p 71 357 1910 19 v 71 372 1910 7 v 71 674 a Fp(All)j(use)f(di\013erent)h(data)f (fo)m(r)h(each)e(w)m(o)m(rk)m(er)71 849 y Fn(Data-pa)m(rallel)41 b Fp(Same)35 b(op)s(erations)e(on)h(di\013erent)228 973 y(data.)45 b(Also)35 b(called)g(SIMD)71 1147 y Fn(SPMD)42 b Fp(Same)35 b(p)m(rogram,)f(di\013erent)h(data)71 1322 y Fn(MIMD)41 b Fp(Di\013erent)c(p) m(rograms,)c(di\013erent)j(data)71 1496 y(SPMD)h(and)e(MIMD)j(a)m(re)f (essentially)h(the)e(same)71 1621 y(b)s(ecause)c(any)i(MIMD)i(can)e(b)s(e)f (made)i(SPMD)71 1778 y(SIMD)42 b(is)f(also)f(equivalent,)i(but)f(in)g(a)f (less)71 1903 y(p)m(ractical)c(sense.)71 2061 y(MPI)h(is)f(p)m(rima)m(ril)q (y)k(fo)m(r)c(SPMD/MIMD.)i(HPF)f(is)71 2185 y(an)c(example)i(of)f(a)g(SIMD)i (interface.)2065 2770 y Fo(5)p eop bop 71 120 a @beginspecial @setspecial /$F2psDict 32 dict def $F2psDict begin $F2psDict /mtrx matrix put end /$F2psBegin {$F2psDict begin /$F2psEnteredState save def} def /$F2psEnd {$F2psEnteredState restore end} def $F2psBegin 0.900000 -0.900000 scale 90 rotate 0 -612 translate -36 36 translate 4.000 setlinewidth .2 setgray newpath 34 19 moveto 19 19 19 604 15 arcto 4 {pop} repeat 19 619 764 619 15 arcto 4 {pop} repeat 779 619 779 34 15 arcto 4 {pop} repeat 779 19 34 19 15 arcto 4 {pop} repeat closepath stroke showpage $F2psEnd @endspecial 187 x Fh(Communicating)32 b(with)f(other)h(p)m(ro)s(cesses)p 71 357 1910 19 v 71 372 1910 7 v 71 977 a Fp(Data)i(must)h(b)s(e)e(exchanged) g(with)i(other)f(w)m(o)m(rk)m(ers)143 1151 y Fi(\017)41 b Fp(Co)s(op)s (erative)35 b(|)f(all)i(pa)m(rties)f(agree)g(to)228 1276 y(transfer)f(data) 143 1450 y Fi(\017)41 b Fp(One)34 b(sided)g(|)h(one)e(w)m(o)m(rk)m(er)i(p)s (erfo)m(rms)228 1575 y(transfer)f(of)g(data)2065 2770 y Fo(6)p eop bop 71 120 a @beginspecial @setspecial /$F2psDict 32 dict def $F2psDict begin $F2psDict /mtrx matrix put end /$F2psBegin {$F2psDict begin /$F2psEnteredState save def} def /$F2psEnd {$F2psEnteredState restore end} def $F2psBegin 0.900000 -0.900000 scale 90 rotate 0 -612 translate -36 36 translate 4.000 setlinewidth .2 setgray newpath 34 19 moveto 19 19 19 604 15 arcto 4 {pop} repeat 19 619 764 619 15 arcto 4 {pop} repeat 779 619 779 34 15 arcto 4 {pop} repeat 779 19 34 19 15 arcto 4 {pop} repeat closepath stroke showpage $F2psEnd @endspecial 187 x Fh(Co)s(op)s(erative)32 b(op)s(erations)p 71 357 1910 19 v 71 372 1910 7 v 71 705 a Fp(Message-passing)h(is)j(an)f(app) m(roach)f(that)i(mak)m(es)71 830 y(the)e(exchange)f(of)g(data)h(co)s(op)s (erative.)71 988 y(Data)40 b(must)g(b)s(oth)f(b)s(e)g(explicitl)q(y)j(sent)e (and)71 1112 y(received.)71 1270 y(An)d(advantage)g(is)j(that)e(any)g(change) f(in)i(the)71 1394 y Fg(receiver's)32 b Fp(memo)m(ry)g(is)g(made)g(with)g (the)f(receiver's)71 1519 y(pa)m(rticipation.)375 2134 y @beginspecial 0 @llx 0 @lly 312 @urx 137 @ury 3120 @rwi @setspecial /$F2psDict 200 dict def $F2psDict begin $F2psDict /mtrx matrix put /l {lineto} bind def /m {moveto} bind def /s {stroke} bind def /n {newpath} bind def /gs {gsave} bind def /gr {grestore} bind def /clp {closepath} bind def /graycol {dup dup currentrgbcolor 4 -2 roll mul 4 -2 roll mul 4 -2 roll mul setrgbcolor} bind def /col-1 {} def /col0 {0 0 0 setrgbcolor} bind def /col1 {0 0 1 setrgbcolor} bind def /col2 {0 1 0 setrgbcolor} bind def /col3 {0 1 1 setrgbcolor} bind def /col4 {1 0 0 setrgbcolor} bind def /col5 {1 0 1 setrgbcolor} bind def /col6 {1 1 0 setrgbcolor} bind def /col7 {1 1 1 setrgbcolor} bind def /col8 {.68 .85 .9 setrgbcolor} bind def /col9 {0 .39 0 setrgbcolor} bind def /col10 {.65 .17 .17 setrgbcolor} bind def /col11 {1 .51 0 setrgbcolor} bind def /col12 {.63 .13 .94 setrgbcolor} bind def /col13 {1 .75 .8 setrgbcolor} bind def /col14 {.7 .13 .13 setrgbcolor} bind def /col15 {1 .84 0 setrgbcolor} bind def end /$F2psBegin {$F2psDict begin /$F2psEnteredState save def} def /$F2psEnd {$F2psEnteredState restore end} def $F2psBegin 0 setlinecap 0 setlinejoin -72.0 166.0 translate 0.900 -0.900 scale 1.000 setlinewidth n 259 59 m 259 184 l gs col-1 s gr n 184 94 m 314 139 l gs col-1 s gr n 300.189 129.986 m 314.000 139.000 l 297.572 137.546 l gs 2 setlinejoin col-1 s gr /Helvetica-Bold findfont 17.00 scalefont setfont 79 99 m gs 1 -1 scale (SEND\( data \)) col-1 show gr /Helvetica findfont 17.00 scalefont setfont 124 44 m gs 1 -1 scale (Process 0) dup stringwidth pop 2 div neg 0 rmoveto col-1 show gr /Helvetica findfont 17.00 scalefont setfont 369 44 m gs 1 -1 scale (Process 1) dup stringwidth pop 2 div neg 0 rmoveto col-1 show gr /Helvetica-Bold findfont 17.00 scalefont setfont 324 144 m gs 1 -1 scale (RECV\( data \)) col-1 show gr $F2psEnd @endspecial 2065 2770 a Fo(7)p eop bop 71 120 a @beginspecial @setspecial /$F2psDict 32 dict def $F2psDict begin $F2psDict /mtrx matrix put end /$F2psBegin {$F2psDict begin /$F2psEnteredState save def} def /$F2psEnd {$F2psEnteredState restore end} def $F2psBegin 0.900000 -0.900000 scale 90 rotate 0 -612 translate -36 36 translate 4.000 setlinewidth .2 setgray newpath 34 19 moveto 19 19 19 604 15 arcto 4 {pop} repeat 19 619 764 619 15 arcto 4 {pop} repeat 779 619 779 34 15 arcto 4 {pop} repeat 779 19 34 19 15 arcto 4 {pop} repeat closepath stroke showpage $F2psEnd @endspecial 187 x Fh(One-sided)30 b(op)s(erations)p 71 357 1910 19 v 71 372 1910 7 v 71 502 a Fp(One-sided)39 b(op)s(erations)h(b)s(et)m (w)m(een)g(pa)m(rallel)71 627 y(p)m(ro)s(cesses)33 b(include)j(remote)g(memo) m(ry)g(reads)e(and)71 751 y(writes.)71 909 y(An)h(advantage)f(is)j(that)f (data)f(can)g(b)s(e)h(accessed)71 1034 y(without)e(w)m(aiting)i(fo)m(r)e (another)g(p)m(ro)s(cess)452 2541 y @beginspecial 0 @llx 0 @lly 275 @urx 351 @ury 2750 @rwi @setspecial /$F2psDict 200 dict def $F2psDict begin $F2psDict /mtrx matrix put /l {lineto} bind def /m {moveto} bind def /s {stroke} bind def /n {newpath} bind def /gs {gsave} bind def /gr {grestore} bind def /clp {closepath} bind def /graycol {dup dup currentrgbcolor 4 -2 roll mul 4 -2 roll mul 4 -2 roll mul setrgbcolor} bind def /col-1 {} def /col0 {0 0 0 setrgbcolor} bind def /col1 {0 0 1 setrgbcolor} bind def /col2 {0 1 0 setrgbcolor} bind def /col3 {0 1 1 setrgbcolor} bind def /col4 {1 0 0 setrgbcolor} bind def /col5 {1 0 1 setrgbcolor} bind def /col6 {1 1 0 setrgbcolor} bind def /col7 {1 1 1 setrgbcolor} bind def /col8 {.68 .85 .9 setrgbcolor} bind def /col9 {0 .39 0 setrgbcolor} bind def /col10 {.65 .17 .17 setrgbcolor} bind def /col11 {1 .51 0 setrgbcolor} bind def /col12 {.63 .13 .94 setrgbcolor} bind def /col13 {1 .75 .8 setrgbcolor} bind def /col14 {.7 .13 .13 setrgbcolor} bind def /col15 {1 .84 0 setrgbcolor} bind def end /$F2psBegin {$F2psDict begin /$F2psEnteredState save def} def /$F2psEnd {$F2psEnteredState restore end} def $F2psBegin 0 setlinecap 0 setlinejoin -58.0 369.0 translate 0.900 -0.900 scale 1.000 setlinewidth n 219 229 m 219 409 l gs col-1 s gr n 159 299 m 269 344 l gs col-1 s gr n 255.706 334.240 m 269.000 344.000 l 252.677 341.644 l gs 2 setlinejoin col-1 s gr n 219 19 m 219 199 l gs col-1 s gr n 159 89 m 269 134 l gs col-1 s gr n 255.706 124.240 m 269.000 134.000 l 252.677 131.644 l gs 2 setlinejoin col-1 s gr /Helvetica findfont 17.00 scalefont setfont 109 249 m gs 1 -1 scale (Process 0) dup stringwidth pop 2 div neg 0 rmoveto col-1 show gr /Helvetica findfont 17.00 scalefont setfont 319 249 m gs 1 -1 scale (Process 1) dup stringwidth pop 2 div neg 0 rmoveto col-1 show gr /Helvetica findfont 17.00 scalefont setfont 109 39 m gs 1 -1 scale (Process 0) dup stringwidth pop 2 div neg 0 rmoveto col-1 show gr /Helvetica findfont 17.00 scalefont setfont 319 39 m gs 1 -1 scale (Process 1) dup stringwidth pop 2 div neg 0 rmoveto col-1 show gr /Helvetica-Bold findfont 17.00 scalefont setfont 314 139 m gs 1 -1 scale (\(Memory\)) dup stringwidth pop 2 div neg 0 rmoveto col-1 show gr /Helvetica-Bold findfont 17.00 scalefont setfont 109 94 m gs 1 -1 scale (PUT\( data \)) dup stringwidth pop 2 div neg 0 rmoveto col-1 show gr /Helvetica-Bold findfont 17.00 scalefont setfont 114 299 m gs 1 -1 scale (\(Memory\)) dup stringwidth pop 2 div neg 0 rmoveto col-1 show gr /Helvetica-Bold findfont 17.00 scalefont setfont 279 354 m gs 1 -1 scale (GET\( data \)) col-1 show gr $F2psEnd @endspecial 2065 2770 a Fo(8)p eop bop 71 120 a @beginspecial @setspecial /$F2psDict 32 dict def $F2psDict begin $F2psDict /mtrx matrix put end /$F2psBegin {$F2psDict begin /$F2psEnteredState save def} def /$F2psEnd {$F2psEnteredState restore end} def $F2psBegin 0.900000 -0.900000 scale 90 rotate 0 -612 translate -36 36 translate 4.000 setlinewidth .2 setgray newpath 34 19 moveto 19 19 19 604 15 arcto 4 {pop} repeat 19 619 764 619 15 arcto 4 {pop} repeat 779 619 779 34 15 arcto 4 {pop} repeat 779 19 34 19 15 arcto 4 {pop} repeat closepath stroke showpage $F2psEnd @endspecial 187 x Fh(Class)32 b(Example)p 71 357 1910 19 v 71 372 1910 7 v 71 707 a Fl(T)-7 b(ak)n(e)29 b(a)h(pad)g(of)g(pap)r(er.)43 b(Algo)n(rithm:)c(Initiali)o(ze)28 b(with)i(the)71 786 y(numb)r(er)e(of)h (neighb)r(o)n(rs)f(y)n(ou)g(have)150 958 y Fm(\017)41 b Fl(Compute)28 b(average)h(of)g(y)n(our)f(neighb)r(o)n(r's)g(values)g(and)228 1037 y(subtract)h(from)f(y)n(our)g(value.)38 b(Mak)n(e)28 b(that)g(y)n(our)h (new)228 1116 y(value.)150 1288 y Fm(\017)41 b Fl(Rep)r(eat)30 b(until)d(done)71 1461 y(Questions)120 1633 y(1.)41 b(Ho)n(w)29 b(do)g(y)n(ou)f(get)i(values)e(from)f(y)n(our)i(neighb)r(o)n(rs?)120 1805 y(2.)41 b(Which)29 b(step)g(o)n(r)f(iteration)f(do)i(they)g(co)n(rresp)r (ond)g(to?)228 1884 y(Do)g(y)n(ou)g(kno)n(w?)38 b(Do)29 b(y)n(ou)f(ca)n(re?) 120 2056 y(3.)41 b(Ho)n(w)29 b(do)g(y)n(ou)f(decide)h(when)h(y)n(ou)e(a)n(re) g(done?)2065 2770 y Fo(9)p eop bop 71 120 a @beginspecial @setspecial /$F2psDict 32 dict def $F2psDict begin $F2psDict /mtrx matrix put end /$F2psBegin {$F2psDict begin /$F2psEnteredState save def} def /$F2psEnd {$F2psEnteredState restore end} def $F2psBegin 0.900000 -0.900000 scale 90 rotate 0 -612 translate -36 36 translate 4.000 setlinewidth .2 setgray newpath 34 19 moveto 19 19 19 604 15 arcto 4 {pop} repeat 19 619 764 619 15 arcto 4 {pop} repeat 779 619 779 34 15 arcto 4 {pop} repeat 779 19 34 19 15 arcto 4 {pop} repeat closepath stroke showpage $F2psEnd @endspecial 187 x Fh(Ha)m(rdw)m(a)m(re)34 b(mo)s(dels)p 71 357 1910 19 v 71 372 1910 7 v 71 743 a Fp(The)41 b(p)m(revious)g(example)i (illustrates)h(the)71 868 y(ha)m(rdw)m(a)m(re)35 b(mo)s(dels)h(b)m(y)g(ho)m (w)f(data)g(is)i(exchanged)71 992 y(among)c(w)m(o)m(rk)m(ers.)143 1167 y Fi(\017)41 b Fp(Distributed)c(memo)m(ry)e(\(e.g.,)e(P)m(a)m(ragon,)g (IBM)228 1291 y(SPx,)i(w)m(o)m(rkstation)f(net)m(w)m(o)m(rk\))143 1466 y Fi(\017)41 b Fp(Sha)m(red)35 b(memo)m(ry)g(\(e.g.,)e(SGI)i(P)m(o)m(w)m (er)228 1590 y(Challenge,)g(Cra)m(y)f(T3D\))71 1765 y(Either)39 b(ma)m(y)e(b)s(e)h(used)e(with)i(SIMD)h(o)m(r)f(MIMD)71 1889 y(soft)m(w)m(a)m(re)33 b(mo)s(dels.)71 2047 y Fk(\177)h Fg(All)i(memo)m(ry)f (is)g(distributed.)2065 2770 y Fo(10)p eop bop 71 120 a @beginspecial @setspecial /$F2psDict 32 dict def $F2psDict begin $F2psDict /mtrx matrix put end /$F2psBegin {$F2psDict begin /$F2psEnteredState save def} def /$F2psEnd {$F2psEnteredState restore end} def $F2psBegin 0.900000 -0.900000 scale 90 rotate 0 -612 translate -36 36 translate 4.000 setlinewidth .2 setgray newpath 34 19 moveto 19 19 19 604 15 arcto 4 {pop} repeat 19 619 764 619 15 arcto 4 {pop} repeat 779 619 779 34 15 arcto 4 {pop} repeat 779 19 34 19 15 arcto 4 {pop} repeat closepath stroke showpage $F2psEnd @endspecial 187 x Fh(What)31 b(is)h(MPI?)p 71 357 1910 19 v 71 372 1910 7 v 82 618 a Fm(\017)42 b Fl(A)29 b Fj(message-passing)d(lib)n (ra)n(ry)g(sp)r(eci\014cation)181 744 y Fl({)42 b(message-passing)26 b(mo)r(del)181 869 y({)42 b(not)28 b(a)h(compiler)d(sp)r(eci\014cation)181 995 y({)42 b(not)28 b(a)h(sp)r(eci\014c)g(p)n(ro)r(duct)82 1167 y Fm(\017)42 b Fl(F)n(o)n(r)27 b(pa)n(rallel)e(computers,)j(clusters,)h (and)f(heterogeneous)161 1246 y(net)n(w)n(o)n(rks)82 1418 y Fm(\017)42 b Fl(F)n(ull-featured)82 1590 y Fm(\017)g Fl(Designed)28 b(to)h(p)r(ermit)e(\(unleash?\))38 b(the)30 b(development)e(of)161 1669 y(pa)n(rall)o(el)e(soft)n(w)n(a)n(re)i(lib)n(ra)m(ri)o(es)82 1842 y Fm(\017)42 b Fl(Designed)28 b(to)h(p)n(rovide)f(access)h(to)g (advanced)g(pa)n(rallel)161 1921 y(ha)n(rdw)n(a)n(re)e(fo)n(r)181 2046 y({)42 b(end)29 b(users)181 2172 y({)42 b(lib)n(ra)m(ry)26 b(writers)181 2297 y({)42 b(to)r(ol)28 b(develop)r(ers)2065 2770 y Fo(11)p eop bop 71 120 a @beginspecial @setspecial /$F2psDict 32 dict def $F2psDict begin $F2psDict /mtrx matrix put end /$F2psBegin {$F2psDict begin /$F2psEnteredState save def} def /$F2psEnd {$F2psEnteredState restore end} def $F2psBegin 0.900000 -0.900000 scale 90 rotate 0 -612 translate -36 36 translate 4.000 setlinewidth .2 setgray newpath 34 19 moveto 19 19 19 604 15 arcto 4 {pop} repeat 19 619 764 619 15 arcto 4 {pop} repeat 779 619 779 34 15 arcto 4 {pop} repeat 779 19 34 19 15 arcto 4 {pop} repeat closepath stroke showpage $F2psEnd @endspecial 187 x Fh(Motivation)31 b(fo)m(r)i(a)f(New)f(Design)p 71 357 1910 19 v 71 372 1910 7 v 82 789 a Fm(\017)42 b Fl(Message)29 b(P)n(assing)e(no)n(w)i(mature)e(as)i(p)n(rogramm)o(i)o(ng)161 868 y(pa)n(radigm)181 993 y({)42 b(w)n(ell)27 b(understo)r(o)r(d)181 1119 y({)42 b(e\016cient)29 b(match)e(to)i(ha)n(rdw)n(a)n(re)181 1244 y({)42 b(many)27 b(applications)82 1417 y Fm(\017)42 b Fl(V)n(endo)n(r)28 b(systems)g(not)h(p)r(o)n(rtable)82 1589 y Fm(\017)42 b Fl(P)n(o)n(rtable)26 b(systems)j(a)n(re)f(mostly)f(resea)n (rch)h(p)n(rojects)181 1714 y({)42 b(incomplete)181 1840 y({)g(lack)27 b(vendo)n(r)i(supp)r(o)n(rt)181 1966 y({)42 b(not)28 b(at)h(most)f (e\016cient)h(level)2065 2770 y Fo(12)p eop bop 71 120 a @beginspecial @setspecial /$F2psDict 32 dict def $F2psDict begin $F2psDict /mtrx matrix put end /$F2psBegin {$F2psDict begin /$F2psEnteredState save def} def /$F2psEnd {$F2psEnteredState restore end} def $F2psBegin 0.900000 -0.900000 scale 90 rotate 0 -612 translate -36 36 translate 4.000 setlinewidth .2 setgray newpath 34 19 moveto 19 19 19 604 15 arcto 4 {pop} repeat 19 619 764 619 15 arcto 4 {pop} repeat 779 619 779 34 15 arcto 4 {pop} repeat 779 19 34 19 15 arcto 4 {pop} repeat closepath stroke showpage $F2psEnd @endspecial 187 x Fh(Motivation)31 b(\(cont.\))p 71 357 1910 19 v 71 372 1910 7 v 71 755 a Fl(F)n(ew)e(systems)f(o\013er)h(the)g(full)e (range)i(of)g(desired)f(features.)82 927 y Fm(\017)42 b Fl(mo)r(dula)n(ri)o (t)n(y)26 b(\(fo)n(r)j(lib)n(ra)n(r)o(ies\))82 1100 y Fm(\017)42 b Fl(access)29 b(to)g(p)r(eak)f(p)r(erfo)n(rmance)82 1272 y Fm(\017)42 b Fl(p)r(o)n(rtabilit)m(y)82 1444 y Fm(\017)g Fl(heterogeneit)n(y) 82 1616 y Fm(\017)g Fl(subgroups)82 1789 y Fm(\017)g Fl(top)r(ologies)82 1961 y Fm(\017)g Fl(p)r(erfo)n(rmance)28 b(measurement)e(to)r(ols)2065 2770 y Fo(13)p eop bop 71 120 a @beginspecial @setspecial /$F2psDict 32 dict def $F2psDict begin $F2psDict /mtrx matrix put end /$F2psBegin {$F2psDict begin /$F2psEnteredState save def} def /$F2psEnd {$F2psEnteredState restore end} def $F2psBegin 0.900000 -0.900000 scale 90 rotate 0 -612 translate -36 36 translate 4.000 setlinewidth .2 setgray newpath 34 19 moveto 19 19 19 604 15 arcto 4 {pop} repeat 19 619 764 619 15 arcto 4 {pop} repeat 779 619 779 34 15 arcto 4 {pop} repeat 779 19 34 19 15 arcto 4 {pop} repeat closepath stroke showpage $F2psEnd @endspecial 187 x Fh(The)31 b(MPI)g(Pro)s(cess)p 71 357 1910 19 v 71 372 1910 7 v 82 520 a Fm(\017)42 b Fl(Began)29 b(at)f(William)o (sburg)d(W)n(o)n(rkshop)j(in)g(Ap)n(ril,)f(1992)82 692 y Fm(\017)42 b Fl(Organized)28 b(at)g(Sup)r(ercomputing)g('92)h(\(Novemb)r(er\))82 864 y Fm(\017)42 b Fl(F)n(ollo)n(w)n(ed)26 b(HPF)j(fo)n(rmat)e(and)i(p)n(ro)r (cess)82 1037 y Fm(\017)42 b Fl(Met)29 b(every)g(six)f(w)n(eeks)h(fo)n(r)g(t) n(w)n(o)f(da)n(ys)82 1209 y Fm(\017)42 b Fl(Extensive,)28 b(op)r(en)i(email) 25 b(discussions)82 1381 y Fm(\017)42 b Fl(Drafts,)28 b(readings,)g(votes)82 1553 y Fm(\017)42 b Fl(Pre-\014nal)27 b(draft)i(distributed)e(at)h(Sup)r (ercomputing)g('93)82 1726 y Fm(\017)42 b Fl(Tw)n(o-month)27 b(public)g(comment)h(p)r(erio)r(d)82 1898 y Fm(\017)42 b Fl(Final)26 b(version)j(of)g(draft)f(in)g(Ma)n(y)-7 b(,)28 b(1994)82 2070 y Fm(\017)42 b Fl(Widely)28 b(availabl)o(e)e(no)n(w)j(on)g(the)g(W)n(eb,)g (ftp)g(sites,)f(netlib)161 2149 y(\()p Ff(http://ww)o(w.m)o(cs)o(.a)o(nl.)o (go)o(v/m)o(pi)o(/in)o(de)o(x.h)o(tm)o(l)p Fl(\))82 2321 y Fm(\017)42 b Fl(Public)27 b(implem)o(entations)f(availabl)o(e)82 2494 y Fm(\017)42 b Fl(V)n(endo)n(r)28 b(implementati)o(ons)e(coming)h(so)r (on)2065 2770 y Fo(14)p eop bop 71 120 a @beginspecial @setspecial /$F2psDict 32 dict def $F2psDict begin $F2psDict /mtrx matrix put end /$F2psBegin {$F2psDict begin /$F2psEnteredState save def} def /$F2psEnd {$F2psEnteredState restore end} def $F2psBegin 0.900000 -0.900000 scale 90 rotate 0 -612 translate -36 36 translate 4.000 setlinewidth .2 setgray newpath 34 19 moveto 19 19 19 604 15 arcto 4 {pop} repeat 19 619 764 619 15 arcto 4 {pop} repeat 779 619 779 34 15 arcto 4 {pop} repeat 779 19 34 19 15 arcto 4 {pop} repeat closepath stroke showpage $F2psEnd @endspecial 187 x Fh(Who)31 b(Designed)h(MPI?)p 71 357 1910 19 v 71 372 1910 7 v 82 541 a Fm(\017)42 b Fl(Broad)28 b(pa)n(rticipation)82 713 y Fm(\017)42 b Fl(V)n(endo)n(rs)181 839 y({)g(IBM,)29 b(Intel,)f(TMC,)h (Meik)n(o,)e(Cra)n(y)-7 b(,)28 b(Convex,)i(Ncub)r(e)82 1011 y Fm(\017)42 b Fl(Lib)n(ra)n(ry)26 b(writers)181 1137 y({)42 b(PVM,)29 b(p4,)g(Zip)r(co)r(de,)g(TCGMSG,)g(Chameleon,)266 1216 y(Exp)n(ress,)f(Linda)82 1376 y Fm(\017)42 b Fl(Application)26 b(sp)r(ecialists)h(and)i(consultants)365 1512 y Fe(Companies)83 b(Lab)r(o)n(rato)n(ries)f(Universities)p 324 1531 1494 3 v 365 1572 a(ARCO)208 b(ANL)312 b(UC)24 b(Santa)f(Ba)n(rba)n(ra)365 1630 y(Convex)188 b(GMD)288 b(Syracuse)23 b(U)365 1689 y(Cra)n(y)h(Res)138 b(LANL)271 b(Michigan)22 b(State)i(U)365 1747 y(IBM)278 b(LLNL)e(Oregon)23 b(Grad)h(Inst)365 1805 y(Intel)274 b(NO)n(AA)254 b(U)24 b(of)g(New)f(Mexico) 365 1863 y(KAI)290 b(NSF)316 b(Miss.)32 b(State)23 b(U.)365 1921 y(Meik)n(o)227 b(ORNL)256 b(U)24 b(of)g(Southampton)365 1979 y(NA)n(G)263 b(PNL)313 b(U)24 b(of)g(Colo)n(rado)365 2037 y(nCUBE)182 b(Sandia)250 b(Y)-6 b(ale)23 b(U)365 2095 y(P)n(a)n(raSoft)145 b(SDSC)269 b(U)24 b(of)g(T)-6 b(ennessee)365 2153 y(Shell)262 b(SRC)313 b(U)24 b(of)g(Ma)n(ryland)365 2212 y(TMC)692 b(W)n(estern)24 b(Mich)f(U)1213 2270 y(U)h(of)g(Edinburgh)1213 2328 y(Co)n(rnell)f(U.)1213 2386 y(Rice)g(U.)1213 2444 y(U)h(of)g(San)f(F)n(rancisco)2065 2770 y Fo(15)p eop bop 71 120 a @beginspecial @setspecial /$F2psDict 32 dict def $F2psDict begin $F2psDict /mtrx matrix put end /$F2psBegin {$F2psDict begin /$F2psEnteredState save def} def /$F2psEnd {$F2psEnteredState restore end} def $F2psBegin 0.900000 -0.900000 scale 90 rotate 0 -612 translate -36 36 translate 4.000 setlinewidth .2 setgray newpath 34 19 moveto 19 19 19 604 15 arcto 4 {pop} repeat 19 619 764 619 15 arcto 4 {pop} repeat 779 619 779 34 15 arcto 4 {pop} repeat 779 19 34 19 15 arcto 4 {pop} repeat closepath stroke showpage $F2psEnd @endspecial 187 x Fh(F)m(eatures)33 b(of)f(MPI)p 71 357 1910 19 v 71 372 1910 7 v 82 639 a Fm(\017)42 b Fl(General)181 764 y({)g(Communicato)m(rs)26 b(combine)h(context)j(and)f(group)f(fo)n(r)266 843 y(message)f(securit)n(y)181 969 y({)42 b(Thread)28 b(safet)n(y)82 1141 y Fm(\017)42 b Fl(P)n(oint-to-p)r(oint)27 b(communicati)o(on)181 1266 y({)42 b(Structured)28 b(bu\013ers)h(and)g(derived)f(datat)n(yp)r(es,) 266 1345 y(heterogeneit)n(y)181 1471 y({)42 b(Mo)r(des:)d(no)n(rmal)26 b(\(blo)r(cking)i(and)g(non-blo)r(cking\),)266 1550 y(synchronous,)h(ready)f (\(to)i(allo)n(w)c(access)j(to)g(fast)266 1629 y(p)n(roto)r(cols\),)f (bu\013ered)82 1801 y Fm(\017)42 b Fl(Collective)181 1926 y({)g(Both)29 b(built-in)d(and)i(user-de\014ned)i(collective)266 2005 y(op)r(erations)181 2131 y({)42 b(La)n(rge)27 b(numb)r(er)h(of)i(data)e(movement)f(routines)181 2256 y({)42 b(Subgroups)28 b(de\014ned)i(directly)d(o)n(r)i(b)n(y)f(top)r (ology)2065 2770 y Fo(16)p eop bop 71 120 a @beginspecial @setspecial /$F2psDict 32 dict def $F2psDict begin $F2psDict /mtrx matrix put end /$F2psBegin {$F2psDict begin /$F2psEnteredState save def} def /$F2psEnd {$F2psEnteredState restore end} def $F2psBegin 0.900000 -0.900000 scale 90 rotate 0 -612 translate -36 36 translate 4.000 setlinewidth .2 setgray newpath 34 19 moveto 19 19 19 604 15 arcto 4 {pop} repeat 19 619 764 619 15 arcto 4 {pop} repeat 779 619 779 34 15 arcto 4 {pop} repeat 779 19 34 19 15 arcto 4 {pop} repeat closepath stroke showpage $F2psEnd @endspecial 187 x Fh(F)m(eatures)33 b(of)f(MPI)f(\(cont.\))p 71 357 1910 19 v 71 372 1910 7 v 82 846 a Fm(\017)42 b Fl(Application-o)n(ri) o(ented)26 b(p)n(ro)r(cess)j(top)r(ologies)181 972 y({)42 b(Built-in)26 b(supp)r(o)n(rt)j(fo)n(r)f(grids)g(and)g(graphs)g(\(uses)266 1051 y(groups\))82 1223 y Fm(\017)42 b Fl(Pro\014ling)181 1348 y({)g(Ho)r(oks)28 b(allo)n(w)f(users)i(to)g(intercept)f(MPI)h(calls)e(to)266 1427 y(install)e(their)j(o)n(wn)h(to)r(ols)82 1600 y Fm(\017)42 b Fl(Environmental)181 1725 y({)g(inquiry)181 1851 y({)g(erro)n(r)27 b(control)2065 2770 y Fo(17)p eop bop 71 120 a @beginspecial @setspecial /$F2psDict 32 dict def $F2psDict begin $F2psDict /mtrx matrix put end /$F2psBegin {$F2psDict begin /$F2psEnteredState save def} def /$F2psEnd {$F2psEnteredState restore end} def $F2psBegin 0.900000 -0.900000 scale 90 rotate 0 -612 translate -36 36 translate 4.000 setlinewidth .2 setgray newpath 34 19 moveto 19 19 19 604 15 arcto 4 {pop} repeat 19 619 764 619 15 arcto 4 {pop} repeat 779 619 779 34 15 arcto 4 {pop} repeat 779 19 34 19 15 arcto 4 {pop} repeat closepath stroke showpage $F2psEnd @endspecial 187 x Fh(F)m(eatures)33 b(not)f(in)f(MPI)p 71 357 1910 19 v 71 372 1910 7 v 82 857 a Fm(\017)42 b Fl(Non-message-passing)26 b(concepts)k(not)e(included:)181 982 y({)42 b(p)n(ro)r(cess)29 b(management)181 1108 y({)42 b(remote)28 b(memo)n(ry)e(transfers)181 1234 y({)42 b(active)28 b(messages)181 1359 y({)42 b(threads)181 1485 y({)g(virtual)26 b(sha)n(red)i(memo)n(ry)82 1657 y Fm(\017)42 b Fl(MPI)29 b(do)r(es)g(not)g(address)f(these)i(issues,)e(but)h(has)f(tried)g (to)161 1736 y(remain)e(compatible)g(with)j(these)g(ideas)f(\(e.g.)39 b(thread)161 1815 y(safet)n(y)28 b(as)h(a)f(goal,)g(intercommuni)o(cato)n (rs\))2065 2770 y Fo(18)p eop bop 71 120 a @beginspecial @setspecial /$F2psDict 32 dict def $F2psDict begin $F2psDict /mtrx matrix put end /$F2psBegin {$F2psDict begin /$F2psEnteredState save def} def /$F2psEnd {$F2psEnteredState restore end} def $F2psBegin 0.900000 -0.900000 scale 90 rotate 0 -612 translate -36 36 translate 4.000 setlinewidth .2 setgray newpath 34 19 moveto 19 19 19 604 15 arcto 4 {pop} repeat 19 619 764 619 15 arcto 4 {pop} repeat 779 619 779 34 15 arcto 4 {pop} repeat 779 19 34 19 15 arcto 4 {pop} repeat closepath stroke showpage $F2psEnd @endspecial 187 x Fh(Is)31 b(MPI)g(La)m(rge)h(o)m(r)h(Small?)p 71 357 1910 19 v 71 372 1910 7 v 82 775 a Fm(\017)42 b Fl(MPI)29 b(is)e(la)n(rge)h(\(125)h(functions\))181 900 y({)42 b(MPI's)29 b(extensive)g(functionalit)n(y)d(requires)i(many)266 979 y(functions)181 1105 y({)42 b(Numb)r(er)28 b(of)h(functions)f(not)h(necessa)n(rily)e(a)i (measure)266 1184 y(of)g(complexit)n(y)82 1356 y Fm(\017)42 b Fl(MPI)29 b(is)e(small)f(\(6)j(functions\))181 1482 y({)42 b(Many)29 b(pa)n(rall)o(el)d(p)n(rograms)g(can)j(b)r(e)g(written)g(with)f (just)266 1560 y(6)g(basic)g(functions.)82 1733 y Fm(\017)42 b Fl(MPI)29 b(is)e(just)i(right)181 1858 y({)42 b(One)29 b(can)g(access)g (\015exibilit)n(y)d(when)k(it)d(is)h(required.)181 1984 y({)42 b(One)29 b(need)g(not)g(master)f(all)e(pa)n(rts)i(of)h(MPI)g(to)g(use)g(it.) 2065 2770 y Fo(19)p eop bop 71 120 a @beginspecial @setspecial /$F2psDict 32 dict def $F2psDict begin $F2psDict /mtrx matrix put end /$F2psBegin {$F2psDict begin /$F2psEnteredState save def} def /$F2psEnd {$F2psEnteredState restore end} def $F2psBegin 0.900000 -0.900000 scale 90 rotate 0 -612 translate -36 36 translate 4.000 setlinewidth .2 setgray newpath 34 19 moveto 19 19 19 604 15 arcto 4 {pop} repeat 19 619 764 619 15 arcto 4 {pop} repeat 779 619 779 34 15 arcto 4 {pop} repeat 779 19 34 19 15 arcto 4 {pop} repeat closepath stroke showpage $F2psEnd @endspecial 187 x Fh(Where)31 b(to)h(use)g(MPI?)p 71 357 1910 19 v 71 372 1910 7 v 143 708 a Fi(\017)41 b Fp(Y)-9 b(ou)34 b(need)f(a)i(p)s(o)m(rtable)f(pa)m(rallel)j(p)m(rogram)143 883 y Fi(\017)k Fp(Y)-9 b(ou)34 b(a)m(re)h(writing)h(a)e(pa)m(rallel)j(lib)m (ra)m(ry)143 1057 y Fi(\017)k Fp(Y)-9 b(ou)34 b(have)g(irregula)m(r)i(o)m(r)f (dynamic)f(data)228 1181 y(relationships)i(that)e(do)g(not)g(\014t)g(a)g (data)228 1306 y(pa)m(rallel)j(mo)s(del)71 1480 y(Where)d Fg(not)g Fp(to)g(use)g(MPI:)143 1655 y Fi(\017)41 b Fp(Y)-9 b(ou)33 b(can)g(use)g(HPF)h(o)m(r)g(a)f(pa)m(rallel)j(F)m(o)m(rtran)f(90)143 1829 y Fi(\017)41 b Fp(Y)-9 b(ou)34 b(don't)f(need)h(pa)m(rallelism)k(at)c (all)143 2003 y Fi(\017)41 b Fp(Y)-9 b(ou)34 b(can)g(use)f(lib)m(ra)m(ri)q (es)k(\(which)d(ma)m(y)h(b)s(e)228 2128 y(written)h(in)f(MPI\))2065 2770 y Fo(20)p eop bop 71 120 a @beginspecial @setspecial /$F2psDict 32 dict def $F2psDict begin $F2psDict /mtrx matrix put end /$F2psBegin {$F2psDict begin /$F2psEnteredState save def} def /$F2psEnd {$F2psEnteredState restore end} def $F2psBegin 0.900000 -0.900000 scale 90 rotate 0 -612 translate -36 36 translate 4.000 setlinewidth .2 setgray newpath 34 19 moveto 19 19 19 604 15 arcto 4 {pop} repeat 19 619 764 619 15 arcto 4 {pop} repeat 779 619 779 34 15 arcto 4 {pop} repeat 779 19 34 19 15 arcto 4 {pop} repeat closepath stroke showpage $F2psEnd @endspecial 187 x Fh(Why)30 b(lea)m(rn)j(MPI?)p 71 357 1910 19 v 71 372 1910 7 v 143 1026 a Fi(\017)41 b Fp(P)m(o)m(rtable)143 1200 y Fi(\017)g Fp(Exp)m(ressive)143 1374 y Fi(\017)g Fp(Go)s(o)s(d)33 b(w)m(a)m(y)h(to)h(lea)m(rn)g(ab)s(out)e(subtle)i(issues)e(in)228 1499 y(pa)m(rallel)k(computing)2065 2770 y Fo(21)p eop bop 71 120 a @beginspecial @setspecial /$F2psDict 32 dict def $F2psDict begin $F2psDict /mtrx matrix put end /$F2psBegin {$F2psDict begin /$F2psEnteredState save def} def /$F2psEnd {$F2psEnteredState restore end} def $F2psBegin 0.900000 -0.900000 scale 90 rotate 0 -612 translate -36 36 translate 4.000 setlinewidth .2 setgray newpath 34 19 moveto 19 19 19 604 15 arcto 4 {pop} repeat 19 619 764 619 15 arcto 4 {pop} repeat 779 619 779 34 15 arcto 4 {pop} repeat 779 19 34 19 15 arcto 4 {pop} repeat closepath stroke showpage $F2psEnd @endspecial 249 x Fn(Getting)37 b(sta)m(rted)p 71 419 1910 19 v 71 434 1910 7 v 150 654 a Fm(\017)k Fl(W)n(riting)27 b(MPI)i(p)n (rograms)150 826 y Fm(\017)41 b Fl(Compiling)26 b(and)i(linking)150 998 y Fm(\017)41 b Fl(Running)29 b(MPI)g(p)n(rograms)150 1171 y Fm(\017)41 b Fl(Mo)n(re)29 b(info)n(rmation)264 1296 y Fh({)42 b Fj(Using)27 b(MPI)j Fl(b)n(y)e(William)c(Gropp,)29 b(Ewing)f(Lusk,)353 1375 y(and)g(Anthony)i(Skjellum,)264 1501 y Fh({)42 b Fl(The)29 b(LAM)g(companion)e(to)i(\\Using)e(MPI...")39 b(b)n(y)353 1579 y(Zdzisla)n(w)26 b(Meglicki)264 1705 y Fh({)42 b Fj(Designing)27 b(and)i(Building)e(P)n(a)n(rall)o(el)e(Programs)i Fl(b)n(y)353 1784 y(Ian)h(F)n(oster.)264 1909 y Fh({)42 b Fl(A)29 b(T)-7 b(uto)n(rial/User's)25 b(Guide)k(fo)n(r)f(MPI)h(b)n(y)g(P)n(eter)353 1988 y(P)n(acheco)353 2067 y(\(ftp://math.usfca.edu/pub/MPI/mpi.guide.ps\)) 264 2193 y Fh({)42 b Fl(The)29 b(MPI)g(standa)n(rd)e(and)i(other)f(info)n (rmation)e(is)353 2272 y(available)f(at)k Ff(http://ww)o(w.)o(mcs)o(.a)o(nl.) o(go)o(v/m)o(pi)o Fl(.)35 b(Also)353 2350 y(the)29 b(source)g(fo)n(r)f (several)g(implementati)o(ons.)2065 2770 y Fo(22)p eop bop 71 120 a @beginspecial @setspecial /$F2psDict 32 dict def $F2psDict begin $F2psDict /mtrx matrix put end /$F2psBegin {$F2psDict begin /$F2psEnteredState save def} def /$F2psEnd {$F2psEnteredState restore end} def $F2psBegin 0.900000 -0.900000 scale 90 rotate 0 -612 translate -36 36 translate 4.000 setlinewidth .2 setgray newpath 34 19 moveto 19 19 19 604 15 arcto 4 {pop} repeat 19 619 764 619 15 arcto 4 {pop} repeat 779 619 779 34 15 arcto 4 {pop} repeat 779 19 34 19 15 arcto 4 {pop} repeat closepath stroke showpage $F2psEnd @endspecial 187 x Fh(W)m(riting)30 b(MPI)h(p)m(rograms)p 71 357 1910 19 v 71 372 1910 7 v 71 701 a Fd(#include)43 b("mpi.h")71 825 y(#include)g()71 1074 y(int)g(main\()h(argc,)f(argv)g(\))71 1199 y(int)g(argc;)71 1323 y(char)g(**argv;)71 1448 y({)71 1572 y(MPI_Init\()g(&argc,)g(&argv)g(\);)71 1697 y(printf\()g("Hello)g (world\\n")g(\);)71 1821 y(MPI_Finalize\(\);)71 1946 y(return)g(0;)71 2070 y(})2065 2770 y Fo(23)p eop bop 71 120 a @beginspecial @setspecial /$F2psDict 32 dict def $F2psDict begin $F2psDict /mtrx matrix put end /$F2psBegin {$F2psDict begin /$F2psEnteredState save def} def /$F2psEnd {$F2psEnteredState restore end} def $F2psBegin 0.900000 -0.900000 scale 90 rotate 0 -612 translate -36 36 translate 4.000 setlinewidth .2 setgray newpath 34 19 moveto 19 19 19 604 15 arcto 4 {pop} repeat 19 619 764 619 15 arcto 4 {pop} repeat 779 619 779 34 15 arcto 4 {pop} repeat 779 19 34 19 15 arcto 4 {pop} repeat closepath stroke showpage $F2psEnd @endspecial 187 x Fh(Commenta)m(ry)p 71 357 1910 19 v 71 372 1910 7 v 143 924 a Fi(\017)41 b Fd(#include)i("mpi.h")34 b Fp(p)m(rovides)g(basic)h(MPI)228 1048 y(de\014nitions)f(and)g(t)m(yp)s(es)143 1223 y Fi(\017)41 b Fd(MPI_Init)34 b Fp(sta)m(rts)g(MPI)143 1397 y Fi(\017)41 b Fd(MPI_Finalize)33 b Fp(exits)j(MPI)143 1571 y Fi(\017)41 b Fp(Note)35 b(that)f(all)i(non-MPI)f(routines)f(a)m(re)h (lo)s(cal;)228 1696 y(thus)f(the)g Fd(printf)g Fp(run)g(on)g(each)f(p)m(ro)s (cess)2065 2770 y Fo(24)p eop bop 71 120 a @beginspecial @setspecial /$F2psDict 32 dict def $F2psDict begin $F2psDict /mtrx matrix put end /$F2psBegin {$F2psDict begin /$F2psEnteredState save def} def /$F2psEnd {$F2psEnteredState restore end} def $F2psBegin 0.900000 -0.900000 scale 90 rotate 0 -612 translate -36 36 translate 4.000 setlinewidth .2 setgray newpath 34 19 moveto 19 19 19 604 15 arcto 4 {pop} repeat 19 619 764 619 15 arcto 4 {pop} repeat 779 619 779 34 15 arcto 4 {pop} repeat 779 19 34 19 15 arcto 4 {pop} repeat closepath stroke showpage $F2psEnd @endspecial 187 x Fh(Compiling)30 b(and)i(linking)p 71 357 1910 19 v 71 372 1910 7 v 71 915 a Fp(F)m(o)m(r)41 b(simple)g(p)m(rograms,)h (sp)s(ecial)f(compiler)71 1040 y(commands)34 b(can)h(b)s(e)h(used.)48 b(F)m(o)m(r)37 b(la)m(rge)f(p)m(rojects,)71 1164 y(it)f(is)g(b)s(est)f(to)g (use)g(a)g(standa)m(rd)f(Mak)m(e\014le.)71 1322 y(The)40 b(MPICH)i (implementation)h(p)m(rovides)71 1447 y(the)h(commands)g Fd(mpicc)h Fp(and)f Fd(mpif77)71 1571 y Fp(as)g(w)m(ell)i(as)e(`)p Fd(Makefile)p Fp(')f(examples)i(in)71 1696 y(`)p Fd(/usr/local/mpi/examples/Mak)o(efile.in) p Fp(')2065 2770 y Fo(25)p eop bop 71 120 a @beginspecial @setspecial /$F2psDict 32 dict def $F2psDict begin $F2psDict /mtrx matrix put end /$F2psBegin {$F2psDict begin /$F2psEnteredState save def} def /$F2psEnd {$F2psEnteredState restore end} def $F2psBegin 0.900000 -0.900000 scale 90 rotate 0 -612 translate -36 36 translate 4.000 setlinewidth .2 setgray newpath 34 19 moveto 19 19 19 604 15 arcto 4 {pop} repeat 19 619 764 619 15 arcto 4 {pop} repeat 779 619 779 34 15 arcto 4 {pop} repeat 779 19 34 19 15 arcto 4 {pop} repeat closepath stroke showpage $F2psEnd @endspecial 187 x Fh(Sp)s(ecial)30 b(compilation)i(commands)p 71 357 1910 19 v 71 372 1910 7 v 71 591 a Fl(The)c(commands)71 732 y Ff(mpicc)34 b(-o)i(first)e(first.c)71 811 y(mpif77)g(-o)h(firstf)g (firstf.f)71 952 y Fl(ma)n(y)29 b(b)r(e)j(used)f(to)g(build)e(simple)g(p)n (rograms)f(when)k(using)71 1031 y(MPICH.)71 1172 y(These)26 b(p)n(rovide)f(sp)r(ecial)g(options)g(that)h(exploit)f(the)i(p)n(ro\014ling) 71 1251 y(features)i(of)g(MPI)71 1424 y Fh(-mpilog)40 b Fl(Generate)29 b(log)f(\014les)h(of)g(MPI)g(calls)71 1596 y Fh(-mpitrace)42 b Fl(T)-7 b(race)28 b(execution)h(of)g(MPI)g(calls)71 1768 y Fh(-mpianim)40 b Fl(Real-time)26 b(animation)g(of)j(MPI)g(\(not)g (available)228 1847 y(on)g(all)e(systems\))71 2065 y(There)k(a)n(re)f(sp)r (eci\014c)i(to)f(the)h(MPICH)f(implementati)o(on;)71 2189 y(other)e(implem)o (entati)o(ons)d(ma)n(y)i(p)n(rovide)g(simil)o(a)m(r)e(commands)71 2314 y(\(e.g.,)j Ff(mpcc)e Fl(and)h Ff(mpxlf)f Fl(on)i(IBM)g(SP2\).)2065 2770 y Fo(26)p eop bop 71 120 a @beginspecial @setspecial /$F2psDict 32 dict def $F2psDict begin $F2psDict /mtrx matrix put end /$F2psBegin {$F2psDict begin /$F2psEnteredState save def} def /$F2psEnd {$F2psEnteredState restore end} def $F2psBegin 0.900000 -0.900000 scale 90 rotate 0 -612 translate -36 36 translate 4.000 setlinewidth .2 setgray newpath 34 19 moveto 19 19 19 604 15 arcto 4 {pop} repeat 19 619 764 619 15 arcto 4 {pop} repeat 779 619 779 34 15 arcto 4 {pop} repeat 779 19 34 19 15 arcto 4 {pop} repeat closepath stroke showpage $F2psEnd @endspecial 187 x Fh(Using)30 b(Mak)m(e\014les)p 71 357 1910 19 v 71 372 1910 7 v 71 741 a Fp(The)k(\014le)h(`)p Fd(Makefile.in)p Fp(')e(is)i(a)f Fg(template)i Fp(Mak)m(e\014le.)71 865 y(The)31 b(p)m(rogram)i(\(script\))g(`)p Fd(mpireconfig)p Fp(')e(translates)71 990 y(this)37 b(to)h(a)f(Mak)m(e\014le)g(fo)m(r)g(a)g(pa)m(rticula)m(r)j (system.)71 1114 y(This)34 b(allo)m(ws)i(y)m(ou)e(to)g(use)g(the)g(same)h (Mak)m(e\014le)f(fo)m(r)71 1239 y(a)i(net)m(w)m(o)m(rk)h(of)e(w)m(o)m (rkstations)i(and)f(a)g(massively)71 1363 y(pa)m(rallel)42 b(computer,)f(even)e(when)g(they)g(use)71 1488 y(di\013erent)h(compilers,)i (lib)m(ra)m(ri)q(es,)h(and)c(link)m(er)71 1612 y(options.)71 1770 y Fd(mpireconfig)j(Makefile)71 1928 y Fp(Note)37 b(that)g(y)m(ou)g(must) h(have)e(`)p Fd(mpireconfig)p Fp(')g(in)71 2052 y(y)m(our)e Fd(PATH)p Fp(.)2065 2770 y Fo(27)p eop bop 71 120 a @beginspecial @setspecial /$F2psDict 32 dict def $F2psDict begin $F2psDict /mtrx matrix put end /$F2psBegin {$F2psDict begin /$F2psEnteredState save def} def /$F2psEnd {$F2psEnteredState restore end} def $F2psBegin 0.900000 -0.900000 scale 90 rotate 0 -612 translate -36 36 translate 4.000 setlinewidth .2 setgray newpath 34 19 moveto 19 19 19 604 15 arcto 4 {pop} repeat 19 619 764 619 15 arcto 4 {pop} repeat 779 619 779 34 15 arcto 4 {pop} repeat 779 19 34 19 15 arcto 4 {pop} repeat closepath stroke showpage $F2psEnd @endspecial 187 x Fh(Sample)31 b(Mak)m(e\014le.in)p 71 357 1910 19 v 71 372 1910 7 v 71 700 a Fc(#####)h(User)h(configur)q(ab)q(le)h (options)g(#####)71 833 y(ARCH)245 b(=)31 b(@ARCH@)71 899 y(COMM)245 b(=)31 b(@COMM@)71 966 y(INSTALL_D)q(IR)j(=)d(@INSTAL)q(L_)q(DI)q(R@)71 1032 y(CC)305 b(=)31 b(@CC@)71 1099 y(F77)275 b(=)31 b(@F77@)71 1165 y(CLINKER)155 b(=)31 b(@CLINKE)q(R@)71 1231 y(FLINKER)155 b(=)31 b(@FLINKE)q(R@)71 1298 y(OPTFLAGS)125 b(=)31 b(@OPTFLA)q(GS)q(@)71 1364 y(#)71 1431 y(LIB_PATH)125 b(=)31 b(-L$\(INS)q(TA)q(LL)q(_D)q(IR)q(\)/)q (li)q(b/)q($\()q(AR)q(CH\))q(/$)q(\(C)q(OM)q(M\))71 1497 y(FLIB_PATH)95 b(=)71 1564 y(@FLIB_PAT)q(H_)q(LE)q(AD)q(ER)q(@$)q(\(I)q(NS)q(TA)q(LL)q(_D)q (IR)q(\)/)q(li)q(b/)q($\()q(ARC)q(H\))q(/$)q(\(C)q(OM)q(M\))71 1630 y(LIB_LIST)125 b(=)31 b(@LIB_LI)q(ST)q(@)71 1696 y(#)71 1763 y(INCLUDE_D)q(IR)j(=)d(@INCLUD)q(E_)q(PA)q(TH)q(@)j(-I$\(INST)q(AL)q (L_D)q(IR)q(\)/)q(in)q(cl)q(ud)q(e)71 1896 y(###)e(End)f(User)i(configur)q (ab)q(le)h(options)g(###)2065 2770 y Fo(28)p eop bop 71 120 a @beginspecial @setspecial /$F2psDict 32 dict def $F2psDict begin $F2psDict /mtrx matrix put end /$F2psBegin {$F2psDict begin /$F2psEnteredState save def} def /$F2psEnd {$F2psEnteredState restore end} def $F2psBegin 0.900000 -0.900000 scale 90 rotate 0 -612 translate -36 36 translate 4.000 setlinewidth .2 setgray newpath 34 19 moveto 19 19 19 604 15 arcto 4 {pop} repeat 19 619 764 619 15 arcto 4 {pop} repeat 779 619 779 34 15 arcto 4 {pop} repeat 779 19 34 19 15 arcto 4 {pop} repeat closepath stroke showpage $F2psEnd @endspecial 187 x Fh(Sample)31 b(Mak)m(e\014le.in)h(\(con't\))p 71 357 1910 19 v 71 372 1910 7 v 71 656 a Fc(CFLAGS)63 b(=)31 b(@CFLAGS)q(@)j($\(OPTFLA)q(GS)q(\))g($\(INCLUD)q(E_D)q(IR)q(\))g(-DMPI_$\()q (AR)q(CH)q(\))71 722 y(FFLAGS)f(=)e(@FFLAGS@)j($\(INCLU)q(DE)q(_D)q(IR)q(\))g ($\(OPTFLAG)q(S\))71 789 y(LIBS)e(=)f($\(LIB_PA)q(TH)q(\))j($\(LIB_LI)q(ST)q (\))71 855 y(FLIBS)e(=)f($\(FLIB_)q(PA)q(TH)q(\))j($\(LIB_LI)q(ST)q(\))71 922 y(EXECS)e(=)f(hello)71 1054 y(default:)j(hello)71 1187 y(all:)e($\(EXECS\))71 1320 y(hello:)h(hello.o)h($\(INSTAL)q(L_)q(DI)q(R\))q (/i)q(nc)q(lu)q(de)q(/m)q(pi.)q(h)314 1386 y($\(CLINK)q(ER)q(\))g($\(OPTFLA)q (GS)q(\))g(-o)d(hello)i(hello.o)h(\\)314 1453 y($\(LIB_P)q(AT)q(H\))g ($\(LIB_L)q(IS)q(T\))g(-lm)71 1586 y(clean:)314 1652 y(/bin/rm)g(-f)e(*.o)g (*~)f(PI*)h($\(EXECS)q(\))71 1785 y(.c.o:)314 1851 y($\(CC\))h($\(CFLAG)q (S\))h(-c)e($*.c)71 1918 y(.f.o:)314 1984 y($\(F77\))i($\(FFLAGS)q(\))g(-c)d ($*.f)2065 2770 y Fo(29)p eop bop 71 120 a @beginspecial @setspecial /$F2psDict 32 dict def $F2psDict begin $F2psDict /mtrx matrix put end /$F2psBegin {$F2psDict begin /$F2psEnteredState save def} def /$F2psEnd {$F2psEnteredState restore end} def $F2psBegin 0.900000 -0.900000 scale 90 rotate 0 -612 translate -36 36 translate 4.000 setlinewidth .2 setgray newpath 34 19 moveto 19 19 19 604 15 arcto 4 {pop} repeat 19 619 764 619 15 arcto 4 {pop} repeat 779 619 779 34 15 arcto 4 {pop} repeat 779 19 34 19 15 arcto 4 {pop} repeat closepath stroke showpage $F2psEnd @endspecial 187 x Fh(Running)30 b(MPI)h(p)m(rograms)p 71 357 1910 19 v 71 372 1910 7 v 71 603 a Fd(mpirun)43 b(-np)g(2)h(hello)71 760 y Fp(`)p Fd(mpirun)p Fp(')37 b(is)i(not)f(pa)m(rt)h(of)f(the)g(standa)m (rd,)g(but)71 885 y(some)e(version)h(of)f(it)h(is)h(common)e(with)h(several) 71 1010 y(MPI)g(implementations.)55 b(The)37 b(version)g(sho)m(wn)71 1134 y(here)g(is)h(fo)m(r)f(the)h(MPICH)g(implementation)i(of)71 1259 y(MPI.)71 1416 y Fk(\177)e Fg(Just)g(as)g(F)m(o)m(rtran)i(do)s(es)d(not) h(sp)s(ecify)g(ho)m(w)71 1541 y(F)m(o)m(rtran)e(p)m(rograms)f(a)m(re)g(sta)m (rted,)g(MPI)h(do)s(es)e(not)71 1665 y(sp)s(ecify)f(ho)m(w)h(MPI)h(p)m (rograms)f(a)m(re)h(sta)m(rted.)71 1823 y Fk(\177)g Fg(The)h(option)f Fd(-t)g Fg(sho)m(ws)f(the)i(commands)e(that)71 1948 y Fd(mpirun)i Fg(w)m(ould)h(execute;)g(y)m(ou)g(can)f(use)g(this)i(to)71 2072 y(\014nd)c(out)i(ho)m(w)f Fd(mpirun)g Fg(sta)m(rts)h(p)m(rograms)g(on)f (y)m(o)m(r)71 2197 y(system.)48 b(The)36 b(option)f Fd(-help)g Fg(sho)m(ws)f(all)j(options)71 2321 y(to)d Fd(mpirun)p Fg(.)2065 2770 y Fo(30)p eop bop 71 120 a @beginspecial @setspecial /$F2psDict 32 dict def $F2psDict begin $F2psDict /mtrx matrix put end /$F2psBegin {$F2psDict begin /$F2psEnteredState save def} def /$F2psEnd {$F2psEnteredState restore end} def $F2psBegin 0.900000 -0.900000 scale 90 rotate 0 -612 translate -36 36 translate 4.000 setlinewidth .2 setgray newpath 34 19 moveto 19 19 19 604 15 arcto 4 {pop} repeat 19 619 764 619 15 arcto 4 {pop} repeat 779 619 779 34 15 arcto 4 {pop} repeat 779 19 34 19 15 arcto 4 {pop} repeat closepath stroke showpage $F2psEnd @endspecial 187 x Fh(Finding)30 b(out)i(ab)s(out)g(the)g(environment)p 71 357 1910 19 v 71 372 1910 7 v 71 910 a Fp(Tw)m(o)i(of)g(the)g(\014rst)h (questions)f(ask)m(ed)f(in)i(a)g(pa)m(rallel)71 1035 y(p)m(rogram)d(a)m(re:) 45 b(Ho)m(w)33 b(many)f(p)m(ro)s(cesses)f(a)m(re)i(there?)71 1160 y(and)g(Who)h(am)h(I?)71 1317 y(Ho)m(w)h(many)h(is)g(answ)m(ered)f(with) h Fd(MPI_Comm_size)71 1442 y Fp(and)28 b(who)g(am)h(I)g(is)h(answ)m(ered)e (with)i Fd(MPI_Comm_rank)p Fp(.)71 1600 y(The)37 b(rank)h(is)h(a)f(numb)s(er) g(b)s(et)m(w)m(een)f(zero)i(and)71 1724 y Fd(size)p Fp(-1.)2065 2770 y Fo(31)p eop bop 71 120 a @beginspecial @setspecial /$F2psDict 32 dict def $F2psDict begin $F2psDict /mtrx matrix put end /$F2psBegin {$F2psDict begin /$F2psEnteredState save def} def /$F2psEnd {$F2psEnteredState restore end} def $F2psBegin 0.900000 -0.900000 scale 90 rotate 0 -612 translate -36 36 translate 4.000 setlinewidth .2 setgray newpath 34 19 moveto 19 19 19 604 15 arcto 4 {pop} repeat 19 619 764 619 15 arcto 4 {pop} repeat 779 619 779 34 15 arcto 4 {pop} repeat 779 19 34 19 15 arcto 4 {pop} repeat closepath stroke showpage $F2psEnd @endspecial 187 x Fh(A)31 b(simple)h(p)m(rogram)p 71 357 1910 19 v 71 372 1910 7 v 71 733 a Ff(#include)h("mpi.h")71 812 y(#include)g()71 969 y(int)i(main\()f(argc,)h(argv)g(\))71 1048 y(int)g(argc;)71 1127 y(char)g(**argv;)71 1206 y({)71 1285 y(int)g(rank,)f(size;)71 1364 y(MPI_Init)o(\()f(&argc,)i(&argv)f(\);)71 1443 y(MPI_Comm)o(_r)o(ank)o(\()f(MPI_COMM_W)o(ORL)o(D,)g(&rank)h(\);)71 1522 y(MPI_Comm)o(_s)o(ize)o(\()f(MPI_COMM_W)o(ORL)o(D,)g(&size)h(\);)71 1600 y(printf\()f("Hello)h(world!)h(I'm)g(\045d)h(of)f(\045d\\n",)363 1679 y(rank,)g(size)g(\);)71 1758 y(MPI_Fina)o(li)o(ze\()o(\);)71 1837 y(return)f(0;)71 1916 y(})2065 2770 y Fo(32)p eop bop 71 120 a @beginspecial @setspecial /$F2psDict 32 dict def $F2psDict begin $F2psDict /mtrx matrix put end /$F2psBegin {$F2psDict begin /$F2psEnteredState save def} def /$F2psEnd {$F2psEnteredState restore end} def $F2psBegin 0.900000 -0.900000 scale 90 rotate 0 -612 translate -36 36 translate 4.000 setlinewidth .2 setgray newpath 34 19 moveto 19 19 19 604 15 arcto 4 {pop} repeat 19 619 764 619 15 arcto 4 {pop} repeat 779 619 779 34 15 arcto 4 {pop} repeat 779 19 34 19 15 arcto 4 {pop} repeat closepath stroke showpage $F2psEnd @endspecial 187 x Fh(Caveats)p 71 357 1910 19 v 71 372 1910 7 v 71 1012 a Fk(\177)37 b Fg(These)e(sample)i(p)m(rograms)g(have)f(b)s(een)f (k)m(ept)71 1136 y(as)h(simple)j(as)d(p)s(ossible)h(b)m(y)g(assuming)f(that)h (all)71 1261 y(p)m(ro)s(cesses)f(can)h(do)g(output.)55 b(Not)38 b(all)h(pa)m(rallel)71 1385 y(systems)g(p)m(rovide)h(this)h(feature,)g(and)e (MPI)71 1510 y(p)m(rovides)34 b(a)g(w)m(a)m(y)g(to)h(handle)f(this)g(case.) 2065 2770 y Fo(33)p eop bop 71 120 a @beginspecial @setspecial /$F2psDict 32 dict def $F2psDict begin $F2psDict /mtrx matrix put end /$F2psBegin {$F2psDict begin /$F2psEnteredState save def} def /$F2psEnd {$F2psEnteredState restore end} def $F2psBegin 0.900000 -0.900000 scale 90 rotate 0 -612 translate -36 36 translate 4.000 setlinewidth .2 setgray newpath 34 19 moveto 19 19 19 604 15 arcto 4 {pop} repeat 19 619 764 619 15 arcto 4 {pop} repeat 779 619 779 34 15 arcto 4 {pop} repeat 779 19 34 19 15 arcto 4 {pop} repeat closepath stroke showpage $F2psEnd @endspecial 187 x Fh(Exercise)31 b(-)g(Getting)h(Sta)m(rted)p 71 357 1910 19 v 71 372 1910 7 v 71 1001 a Fp(Objective:)58 b(Lea)m(rn)40 b(ho)m(w)f(to)i(login,)i(write,)71 1125 y(compile,)35 b(and)e(run)i(a)f(simple)i(MPI)f(p)m(rogram.)71 1283 y(Run)h(the)h(\\Hello)h (w)m(o)m(rld")f(p)m(rograms.)52 b(T)-9 b(ry)38 b(t)m(w)m(o)71 1408 y(di\013erent)e(pa)m(rallel)i(computers.)48 b(What)35 b(do)s(es)f(the)71 1532 y(output)f(lo)s(ok)h(lik)m(e?)2065 2770 y Fo(34)p eop bop 71 120 a @beginspecial @setspecial /$F2psDict 32 dict def $F2psDict begin $F2psDict /mtrx matrix put end /$F2psBegin {$F2psDict begin /$F2psEnteredState save def} def /$F2psEnd {$F2psEnteredState restore end} def $F2psBegin 0.900000 -0.900000 scale 90 rotate 0 -612 translate -36 36 translate 4.000 setlinewidth .2 setgray newpath 34 19 moveto 19 19 19 604 15 arcto 4 {pop} repeat 19 619 764 619 15 arcto 4 {pop} repeat 779 619 779 34 15 arcto 4 {pop} repeat 779 19 34 19 15 arcto 4 {pop} repeat closepath stroke showpage $F2psEnd @endspecial 249 x Fn(Sending)38 b(and)h(Receiving)e(messages)p 71 419 1910 19 v 71 434 1910 7 v 354 1337 a @beginspecial 0 @llx 0 @lly 322 @urx 162 @ury 3220 @rwi @setspecial /$F2psDict 200 dict def $F2psDict begin $F2psDict /mtrx matrix put /l {lineto} bind def /m {moveto} bind def /s {stroke} bind def /n {newpath} bind def /gs {gsave} bind def /gr {grestore} bind def /clp {closepath} bind def /graycol {dup dup currentrgbcolor 4 -2 roll mul 4 -2 roll mul 4 -2 roll mul setrgbcolor} bind def /col-1 {} def /col0 {0 0 0 setrgbcolor} bind def /col1 {0 0 1 setrgbcolor} bind def /col2 {0 1 0 setrgbcolor} bind def /col3 {0 1 1 setrgbcolor} bind def /col4 {1 0 0 setrgbcolor} bind def /col5 {1 0 1 setrgbcolor} bind def /col6 {1 1 0 setrgbcolor} bind def /col7 {1 1 1 setrgbcolor} bind def /col8 {.68 .85 .9 setrgbcolor} bind def /col9 {0 .39 0 setrgbcolor} bind def /col10 {.65 .17 .17 setrgbcolor} bind def /col11 {1 .51 0 setrgbcolor} bind def /col12 {.63 .13 .94 setrgbcolor} bind def /col13 {1 .75 .8 setrgbcolor} bind def /col14 {.7 .13 .13 setrgbcolor} bind def /col15 {1 .84 0 setrgbcolor} bind def end /$F2psBegin {$F2psDict begin /$F2psEnteredState save def} def /$F2psEnd {$F2psEnteredState restore end} def $F2psBegin 0 setlinecap 0 setlinejoin -16.0 180.0 translate 0.900 -0.900 scale 1.000 setlinewidth n 229 19 m 229 199 l gs col-1 s gr n 129 99 m 129 79 l 39 79 l 39 99 l clp gs col-1 s gr n 369 159 m 369 139 l 279 139 l 279 159 l clp gs col-1 s gr n 59 99 m 59 119 l 74 119 l gs col-1 s gr n 58.000 115.000 m 74.000 119.000 l 58.000 123.000 l gs 2 setlinejoin col-1 s gr n 124 119 m 234 119 l gs col-1 s gr n 218.000 115.000 m 234.000 119.000 l 218.000 123.000 l gs 2 setlinejoin col-1 s gr n 284 119 m 319 119 l 319 139 l gs col-1 s gr n 323.000 123.000 m 319.000 139.000 l 315.000 123.000 l gs 2 setlinejoin col-1 s gr /Helvetica findfont 17.00 scalefont setfont 119 39 m gs 1 -1 scale (Process 0) dup stringwidth pop 2 div neg 0 rmoveto col-1 show gr /Helvetica findfont 17.00 scalefont setfont 339 39 m gs 1 -1 scale (Process 1) dup stringwidth pop 2 div neg 0 rmoveto col-1 show gr /Helvetica-Bold findfont 17.00 scalefont setfont 34 99 m gs 1 -1 scale (A:) dup stringwidth pop neg 0 rmoveto col-1 show gr /Helvetica-Bold findfont 17.00 scalefont setfont 274 159 m gs 1 -1 scale (B:) dup stringwidth pop neg 0 rmoveto col-1 show gr /Helvetica-Bold findfont 17.00 scalefont setfont 99 124 m gs 1 -1 scale (Send) dup stringwidth pop 2 div neg 0 rmoveto col-1 show gr /Helvetica-Bold findfont 17.00 scalefont setfont 259 124 m gs 1 -1 scale (Recv) dup stringwidth pop 2 div neg 0 rmoveto col-1 show gr $F2psEnd @endspecial 71 1495 a Fp(Questions:)143 1669 y Fi(\017)k Fp(T)-9 b(o)35 b(whom)f(is)h(data)f(sent?)143 1844 y Fi(\017)41 b Fp(What)35 b(is)g(sent?)143 2018 y Fi(\017)41 b Fp(Ho)m(w)34 b(do)s(es)g(the)g(receiver) i(identify)f(it?)2065 2770 y Fo(35)p eop bop 71 120 a @beginspecial @setspecial /$F2psDict 32 dict def $F2psDict begin $F2psDict /mtrx matrix put end /$F2psBegin {$F2psDict begin /$F2psEnteredState save def} def /$F2psEnd {$F2psEnteredState restore end} def $F2psBegin 0.900000 -0.900000 scale 90 rotate 0 -612 translate -36 36 translate 4.000 setlinewidth .2 setgray newpath 34 19 moveto 19 19 19 604 15 arcto 4 {pop} repeat 19 619 764 619 15 arcto 4 {pop} repeat 779 619 779 34 15 arcto 4 {pop} repeat 779 19 34 19 15 arcto 4 {pop} repeat closepath stroke showpage $F2psEnd @endspecial 187 x Fh(Current)32 b(Message-P)m(assing)p 71 357 1910 19 v 71 372 1910 7 v 82 570 a Fm(\017)42 b Fl(A)29 b(t)n(ypical)e(blo)r(cking)g(send)i(lo)r(oks)f(lik)n(e)307 711 y Ff(send\()34 b(dest,)h(type,)g(address,)e(length)h(\))161 932 y Fl(where)181 1057 y({)42 b Ff(dest)27 b Fl(is)g(an)i(integer)f (identi\014er)g(rep)n(resenting)g(the)266 1136 y(p)n(ro)r(cess)h(to)f (receive)h(the)g(message.)181 1262 y({)42 b Ff(type)27 b Fl(is)g(a)i (nonnegative)f(integer)h(that)f(the)266 1340 y(destination)f(can)h(use)h(to)g (selectively)f(screen)266 1419 y(messages.)181 1545 y({)42 b(\()p Ff(address,)33 b(length)p Fl(\))27 b(describ)r(es)i(a)f(contiguous)h (a)n(rea)e(in)266 1624 y(memo)n(ry)f(containing)h(the)i(message)f(to)h(b)r(e) h(sent.)161 1749 y(and)82 1922 y Fm(\017)42 b Fl(A)29 b(t)n(ypical)e(global)f (op)r(eration)j(lo)r(oks)e(lik)n(e:)344 2063 y Ff(broadcas)o(t\()33 b(type,)i(address,)e(length)h(\))82 2314 y Fm(\017)42 b Fl(All)27 b(of)i(these)g(sp)r(eci\014cations)g(a)n(re)f(a)g(go)r(o)r(d)i(match)e(to)161 2393 y(ha)n(rdw)n(a)n(re,)e(easy)j(to)g(understand,)g(but)g(to)r(o)g (in\015exible.)2065 2770 y Fo(36)p eop bop 71 120 a @beginspecial @setspecial /$F2psDict 32 dict def $F2psDict begin $F2psDict /mtrx matrix put end /$F2psBegin {$F2psDict begin /$F2psEnteredState save def} def /$F2psEnd {$F2psEnteredState restore end} def $F2psBegin 0.900000 -0.900000 scale 90 rotate 0 -612 translate -36 36 translate 4.000 setlinewidth .2 setgray newpath 34 19 moveto 19 19 19 604 15 arcto 4 {pop} repeat 19 619 764 619 15 arcto 4 {pop} repeat 779 619 779 34 15 arcto 4 {pop} repeat 779 19 34 19 15 arcto 4 {pop} repeat closepath stroke showpage $F2psEnd @endspecial 187 x Fh(The)31 b(Bu\013er)p 71 357 1910 19 v 71 372 1910 7 v 71 796 a Fl(Sending)g(and)g(receiving)g(only)g(a)g (contiguous)h(a)n(rra)n(y)e(of)71 875 y(b)n(ytes:)82 1047 y Fm(\017)42 b Fl(hides)28 b(the)h(real)e(data)h(structure)h(from)f(ha)n(rdw)n (a)n(re)f(which)161 1126 y(might)g(b)r(e)i(able)f(to)h(handle)e(it)h (directly)82 1298 y Fm(\017)42 b Fl(requires)27 b(p)n(re-packing)g(disp)r (ersed)i(data)181 1424 y({)42 b(ro)n(ws)28 b(of)h(a)f(matrix)f(sto)n(red)h (columnwise)181 1549 y({)42 b(general)27 b(collections)g(of)j(structures)82 1722 y Fm(\017)42 b Fl(p)n(revents)29 b(communicati)o(ons)d(b)r(et)n(w)n(een) k(machines)d(with)161 1800 y(di\013erent)h(rep)n(resentations)g(\(even)i (lengths\))f(fo)n(r)f(same)161 1879 y(data)g(t)n(yp)r(e)2065 2770 y Fo(37)p eop bop 71 120 a @beginspecial @setspecial /$F2psDict 32 dict def $F2psDict begin $F2psDict /mtrx matrix put end /$F2psBegin {$F2psDict begin /$F2psEnteredState save def} def /$F2psEnd {$F2psEnteredState restore end} def $F2psBegin 0.900000 -0.900000 scale 90 rotate 0 -612 translate -36 36 translate 4.000 setlinewidth .2 setgray newpath 34 19 moveto 19 19 19 604 15 arcto 4 {pop} repeat 19 619 764 619 15 arcto 4 {pop} repeat 779 619 779 34 15 arcto 4 {pop} repeat 779 19 34 19 15 arcto 4 {pop} repeat closepath stroke showpage $F2psEnd @endspecial 187 x Fh(Generalizing)30 b(the)i(Bu\013er)h(Description)p 71 357 1910 19 v 71 372 1910 7 v 82 660 a Fm(\017)42 b Fl(Sp)r(eci\014ed)28 b(in)g(MPI)g(b)n(y)g Fj(sta)n(rting)f(address)6 b Fl(,)28 b Fj(datat)n(yp)r(e)5 b Fl(,)28 b(and)161 739 y Fj(count)6 b Fl(,)28 b(where)i(datat)n(yp)r(e)f(is:)181 864 y({)42 b(elementa)n(ry)27 b(\(all)g(C)h(and)h(F)n(o)n(rtran)e(datat)n(yp)r(es\))181 990 y({)42 b(contiguous)28 b(a)n(rra)n(y)f(of)i(datat)n(yp)r(es)181 1116 y({)42 b(strided)28 b(blo)r(cks)g(of)h(datat)n(yp)r(es)181 1241 y({)42 b(indexed)28 b(a)n(rra)n(y)f(of)i(blo)r(cks)g(of)g(datat)n(yp)r (es)181 1367 y({)42 b(general)27 b(structure)82 1539 y Fm(\017)42 b Fl(Datat)n(yp)r(es)29 b(a)n(re)e(constructed)j(recursively)-7 b(.)82 1711 y Fm(\017)42 b Fl(Sp)r(eci\014cations)28 b(of)h(elementa)n(ry)e (datat)n(yp)r(es)i(allo)n(ws)161 1790 y(heterogeneous)g(communication.)82 1962 y Fm(\017)42 b Fl(Elim)o(i)o(nati)o(on)26 b(of)j(length)g(in)e(favo)n(r) i(of)g(count)g(is)f(clea)n(rer.)82 2135 y Fm(\017)42 b Fl(Sp)r(ecifying)28 b(application-o)n(r)o(i)o(ented)f(la)n(y)n(out)g(of)i(data)161 2213 y(allo)n(ws)d(maximal)f(use)k(of)g(sp)r(ecial)e(ha)n(rdw)n(a)n(re.)2065 2770 y Fo(38)p eop bop 71 120 a @beginspecial @setspecial /$F2psDict 32 dict def $F2psDict begin $F2psDict /mtrx matrix put end /$F2psBegin {$F2psDict begin /$F2psEnteredState save def} def /$F2psEnd {$F2psEnteredState restore end} def $F2psBegin 0.900000 -0.900000 scale 90 rotate 0 -612 translate -36 36 translate 4.000 setlinewidth .2 setgray newpath 34 19 moveto 19 19 19 604 15 arcto 4 {pop} repeat 19 619 764 619 15 arcto 4 {pop} repeat 779 619 779 34 15 arcto 4 {pop} repeat 779 19 34 19 15 arcto 4 {pop} repeat closepath stroke showpage $F2psEnd @endspecial 187 x Fh(Generalizing)30 b(the)i(T)-8 b(yp)s(e)p 71 357 1910 19 v 71 372 1910 7 v 82 945 a Fm(\017)42 b Fl(A)29 b(single)e(t)n(yp)r(e)i(\014eld)g(is)f(to)r(o)h(constraining.)37 b(Often)161 1024 y(overloaded)28 b(to)h(p)n(rovide)e(needed)j(\015exibilit)n (y)-7 b(.)82 1197 y Fm(\017)42 b Fl(Problems:)181 1322 y({)g(under)28 b(user)h(control)181 1448 y({)42 b(wild)27 b(ca)n(rds)h(allo)n(w)n(ed)f(\()p Ff(MPI_ANY_T)o(AG)p Fl(\))181 1573 y({)42 b(lib)n(ra)m(ry)26 b(use)j(con\015icts)g(with)f(user)h(and)g(with)f(other)266 1652 y(lib)n(ra)m(ri)o(es)2065 2770 y Fo(39)p eop bop 71 120 a @beginspecial @setspecial /$F2psDict 32 dict def $F2psDict begin $F2psDict /mtrx matrix put end /$F2psBegin {$F2psDict begin /$F2psEnteredState save def} def /$F2psEnd {$F2psEnteredState restore end} def $F2psBegin 0.900000 -0.900000 scale 90 rotate 0 -612 translate -36 36 translate 4.000 setlinewidth .2 setgray newpath 34 19 moveto 19 19 19 604 15 arcto 4 {pop} repeat 19 619 764 619 15 arcto 4 {pop} repeat 779 619 779 34 15 arcto 4 {pop} repeat 779 19 34 19 15 arcto 4 {pop} repeat closepath stroke showpage $F2psEnd @endspecial 187 x Fh(Sample)31 b(Program)i(using)e(Lib)m(ra)m(ry)h(Calls)p 71 357 1910 19 v 71 372 1910 7 v 71 885 a Ff(Sub1)27 b Fl(and)h Ff(Sub2)f Fl(a)n(re)h(from)g(di\013erent)g(lib)n(ra)n(ri)o(es.)71 1026 y Ff(Sub1\(\);)71 1105 y(Sub2\(\);)71 1246 y(Sub1a)e Fl(and)j Ff(Sub1b)d Fl(a)n(re)i(from)g(the)h(same)f(lib)n(ra)n(r)o(y)71 1387 y Ff(Sub1a\(\);)71 1466 y(Sub2\(\);)71 1545 y(Sub1b\(\);)71 1732 y Fl(Thanks)f(to)i(Ma)n(rc)f(Snir)g(fo)n(r)g(the)h(follo)n(wing)e(four)i (examples)2065 2770 y Fo(40)p eop bop 71 120 a @beginspecial @setspecial /$F2psDict 32 dict def $F2psDict begin $F2psDict /mtrx matrix put end /$F2psBegin {$F2psDict begin /$F2psEnteredState save def} def /$F2psEnd {$F2psEnteredState restore end} def $F2psBegin 0.900000 -0.900000 scale 90 rotate 0 -612 translate -36 36 translate 4.000 setlinewidth .2 setgray newpath 34 19 moveto 19 19 19 604 15 arcto 4 {pop} repeat 19 619 764 619 15 arcto 4 {pop} repeat 779 619 779 34 15 arcto 4 {pop} repeat 779 19 34 19 15 arcto 4 {pop} repeat closepath stroke showpage $F2psEnd @endspecial 187 x Fh(Co)m(rrect)33 b(Execution)f(of)f(Lib)m(ra)m(ry)i(Calls) p 71 357 1910 19 v 71 372 1910 7 v 160 1982 a @beginspecial 103 @llx 343 @lly 491 @urx 612 @ury 4154 @rwi @setspecial /arrowhead { 0 begin transform originalCTM itransform /taily exch def /tailx exch def transform originalCTM itransform /tipy exch def /tipx exch def /dy tipy taily sub def /dx tipx tailx sub def /angle dx 0 ne dy 0 ne or { dy dx atan } { 90 } ifelse def gsave originalCTM setmatrix tipx tipy translate angle rotate newpath arrowHeight neg arrowWidth 2 div moveto 0 0 lineto arrowHeight neg arrowWidth 2 div neg lineto patternNone not { originalCTM setmatrix /padtip arrowHeight 2 exp 0.25 arrowWidth 2 exp mul add sqrt brushWidth mul arrowWidth div def /padtail brushWidth 2 div def tipx tipy translate angle rotate padtip 0 translate arrowHeight padtip add padtail add arrowHeight div dup scale arrowheadpath ifill } if brushNone not { originalCTM setmatrix tipx tipy translate angle rotate arrowheadpath istroke } if grestore end } dup 0 9 dict put def /arrowheadpath { newpath arrowHeight neg arrowWidth 2 div moveto 0 0 lineto arrowHeight neg arrowWidth 2 div neg lineto } def /leftarrow { 0 begin y exch get /taily exch def x exch get /tailx exch def y exch get /tipy exch def x exch get /tipx exch def brushLeftArrow { tipx tipy tailx taily arrowhead } if end } dup 0 4 dict put def /rightarrow { 0 begin y exch get /tipy exch def x exch get /tipx exch def y exch get /taily exch def x exch get /tailx exch def brushRightArrow { tipx tipy tailx taily arrowhead } if end } dup 0 4 dict put def /arrowHeight 8 def /arrowWidth 4 def /IdrawDict 52 dict def IdrawDict begin /reencodeISO { dup dup findfont dup length dict begin { 1 index /FID ne { def }{ pop pop } ifelse } forall /Encoding ISOLatin1Encoding def currentdict end definefont } def /ISOLatin1Encoding [ /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef /space/exclam/quotedbl/numbersign/dollar/percent/ampersand/quoteright /parenleft/parenright/asterisk/plus/comma/minus/period/slash /zero/one/two/three/four/five/six/seven/eight/nine/colon/semicolon /less/equal/greater/question/at/A/B/C/D/E/F/G/H/I/J/K/L/M/N /O/P/Q/R/S/T/U/V/W/X/Y/Z/bracketleft/backslash/bracketright /asciicircum/underscore/quoteleft/a/b/c/d/e/f/g/h/i/j/k/l/m /n/o/p/q/r/s/t/u/v/w/x/y/z/braceleft/bar/braceright/asciitilde /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef /.notdef/dotlessi/grave/acute/circumflex/tilde/macron/breve /dotaccent/dieresis/.notdef/ring/cedilla/.notdef/hungarumlaut /ogonek/caron/space/exclamdown/cent/sterling/currency/yen/brokenbar /section/dieresis/copyright/ordfeminine/guillemotleft/logicalnot /hyphen/registered/macron/degree/plusminus/twosuperior/threesuperior /acute/mu/paragraph/periodcentered/cedilla/onesuperior/ordmasculine /guillemotright/onequarter/onehalf/threequarters/questiondown /Agrave/Aacute/Acircumflex/Atilde/Adieresis/Aring/AE/Ccedilla /Egrave/Eacute/Ecircumflex/Edieresis/Igrave/Iacute/Icircumflex /Idieresis/Eth/Ntilde/Ograve/Oacute/Ocircumflex/Otilde/Odieresis /multiply/Oslash/Ugrave/Uacute/Ucircumflex/Udieresis/Yacute /Thorn/germandbls/agrave/aacute/acircumflex/atilde/adieresis /aring/ae/ccedilla/egrave/eacute/ecircumflex/edieresis/igrave /iacute/icircumflex/idieresis/eth/ntilde/ograve/oacute/ocircumflex /otilde/odieresis/divide/oslash/ugrave/uacute/ucircumflex/udieresis /yacute/thorn/ydieresis ] def /Helvetica-Bold reencodeISO def /Helvetica reencodeISO def /none null def /numGraphicParameters 17 def /stringLimit 65535 def /Begin { save numGraphicParameters dict begin } def /End { end restore } def /SetB { dup type /nulltype eq { pop false /brushRightArrow idef false /brushLeftArrow idef true /brushNone idef } { /brushDashOffset idef /brushDashArray idef 0 ne /brushRightArrow idef 0 ne /brushLeftArrow idef /brushWidth idef false /brushNone idef } ifelse } def /SetCFg { /fgblue idef /fggreen idef /fgred idef } def /SetCBg { /bgblue idef /bggreen idef /bgred idef } def /SetF { /printSize idef /printFont idef } def /SetP { dup type /nulltype eq { pop true /patternNone idef } { dup -1 eq { /patternGrayLevel idef /patternString idef } { /patternGrayLevel idef } ifelse false /patternNone idef } ifelse } def /BSpl { 0 begin storexyn newpath n 1 gt { 0 0 0 0 0 0 1 1 true subspline n 2 gt { 0 0 0 0 1 1 2 2 false subspline 1 1 n 3 sub { /i exch def i 1 sub dup i dup i 1 add dup i 2 add dup false subspline } for n 3 sub dup n 2 sub dup n 1 sub dup 2 copy false subspline } if n 2 sub dup n 1 sub dup 2 copy 2 copy false subspline patternNone not brushLeftArrow not brushRightArrow not and and { ifill } if brushNone not { istroke } if 0 0 1 1 leftarrow n 2 sub dup n 1 sub dup rightarrow } if end } dup 0 4 dict put def /Circ { newpath 0 360 arc patternNone not { ifill } if brushNone not { istroke } if } def /CBSpl { 0 begin dup 2 gt { storexyn newpath n 1 sub dup 0 0 1 1 2 2 true subspline 1 1 n 3 sub { /i exch def i 1 sub dup i dup i 1 add dup i 2 add dup false subspline } for n 3 sub dup n 2 sub dup n 1 sub dup 0 0 false subspline n 2 sub dup n 1 sub dup 0 0 1 1 false subspline patternNone not { ifill } if brushNone not { istroke } if } { Poly } ifelse end } dup 0 4 dict put def /Elli { 0 begin newpath 4 2 roll translate scale 0 0 1 0 360 arc patternNone not { ifill } if brushNone not { istroke } if end } dup 0 1 dict put def /Line { 0 begin 2 storexyn newpath x 0 get y 0 get moveto x 1 get y 1 get lineto brushNone not { istroke } if 0 0 1 1 leftarrow 0 0 1 1 rightarrow end } dup 0 4 dict put def /MLine { 0 begin storexyn newpath n 1 gt { x 0 get y 0 get moveto 1 1 n 1 sub { /i exch def x i get y i get lineto } for patternNone not brushLeftArrow not brushRightArrow not and and { ifill } if brushNone not { istroke } if 0 0 1 1 leftarrow n 2 sub dup n 1 sub dup rightarrow } if end } dup 0 4 dict put def /Poly { 3 1 roll newpath moveto -1 add { lineto } repeat closepath patternNone not { ifill } if brushNone not { istroke } if } def /Rect { 0 begin /t exch def /r exch def /b exch def /l exch def newpath l b moveto l t lineto r t lineto r b lineto closepath patternNone not { ifill } if brushNone not { istroke } if end } dup 0 4 dict put def /Text { ishow } def /idef { dup where { pop pop pop } { exch def } ifelse } def /ifill { 0 begin gsave patternGrayLevel -1 ne { fgred bgred fgred sub patternGrayLevel mul add fggreen bggreen fggreen sub patternGrayLevel mul add fgblue bgblue fgblue sub patternGrayLevel mul add setrgbcolor eofill } { eoclip originalCTM setmatrix pathbbox /t exch def /r exch def /b exch def /l exch def /w r l sub ceiling cvi def /h t b sub ceiling cvi def /imageByteWidth w 8 div ceiling cvi def /imageHeight h def bgred bggreen bgblue setrgbcolor eofill fgred fggreen fgblue setrgbcolor w 0 gt h 0 gt and { l w add b translate w neg h scale w h true [w 0 0 h neg 0 h] { patternproc } imagemask } if } ifelse grestore end } dup 0 8 dict put def /istroke { gsave brushDashOffset -1 eq { [] 0 setdash 1 setgray } { brushDashArray brushDashOffset setdash fgred fggreen fgblue setrgbcolor } ifelse brushWidth setlinewidth originalCTM setmatrix stroke grestore } def /ishow { 0 begin gsave fgred fggreen fgblue setrgbcolor /fontDict printFont printSize scalefont dup setfont def /descender fontDict begin 0 [FontBBox] 1 get FontMatrix end transform exch pop def /vertoffset 1 printSize sub descender sub def { 0 vertoffset moveto show /vertoffset vertoffset printSize sub def } forall grestore end } dup 0 3 dict put def /patternproc { 0 begin /patternByteLength patternString length def /patternHeight patternByteLength 8 mul sqrt cvi def /patternWidth patternHeight def /patternByteWidth patternWidth 8 idiv def /imageByteMaxLength imageByteWidth imageHeight mul stringLimit patternByteWidth sub min def /imageMaxHeight imageByteMaxLength imageByteWidth idiv patternHeight idiv patternHeight mul patternHeight max def /imageHeight imageHeight imageMaxHeight sub store /imageString imageByteWidth imageMaxHeight mul patternByteWidth add string def 0 1 imageMaxHeight 1 sub { /y exch def /patternRow y patternByteWidth mul patternByteLength mod def /patternRowString patternString patternRow patternByteWidth getinterval def /imageRow y imageByteWidth mul def 0 patternByteWidth imageByteWidth 1 sub { /x exch def imageString imageRow x add patternRowString putinterval } for } for imageString end } dup 0 12 dict put def /min { dup 3 2 roll dup 4 3 roll lt { exch } if pop } def /max { dup 3 2 roll dup 4 3 roll gt { exch } if pop } def /midpoint { 0 begin /y1 exch def /x1 exch def /y0 exch def /x0 exch def x0 x1 add 2 div y0 y1 add 2 div end } dup 0 4 dict put def /thirdpoint { 0 begin /y1 exch def /x1 exch def /y0 exch def /x0 exch def x0 2 mul x1 add 3 div y0 2 mul y1 add 3 div end } dup 0 4 dict put def /subspline { 0 begin /movetoNeeded exch def y exch get /y3 exch def x exch get /x3 exch def y exch get /y2 exch def x exch get /x2 exch def y exch get /y1 exch def x exch get /x1 exch def y exch get /y0 exch def x exch get /x0 exch def x1 y1 x2 y2 thirdpoint /p1y exch def /p1x exch def x2 y2 x1 y1 thirdpoint /p2y exch def /p2x exch def x1 y1 x0 y0 thirdpoint p1x p1y midpoint /p0y exch def /p0x exch def x2 y2 x3 y3 thirdpoint p2x p2y midpoint /p3y exch def /p3x exch def movetoNeeded { p0x p0y moveto } if p1x p1y p2x p2y p3x p3y curveto end } dup 0 17 dict put def /storexyn { /n exch def /y n array def /x n array def n 1 sub -1 0 { /i exch def y i 3 2 roll put x i 3 2 roll put } for } def /SSten { fgred fggreen fgblue setrgbcolor dup true exch 1 0 0 -1 0 6 -1 roll matrix astore } def /FSten { dup 3 -1 roll dup 4 1 roll exch newpath 0 0 moveto dup 0 exch lineto exch dup 3 1 roll exch lineto 0 lineto closepath bgred bggreen bgblue setrgbcolor eofill SSten } def /Rast { exch dup 3 1 roll 1 0 0 -1 0 6 -1 roll matrix astore } def Begin [ 0.796717 0 0 0.796717 0 0 ] concat /originalCTM matrix currentmatrix def Begin %I Rect 0 0 0 [] 0 SetB 0 0 0 SetCFg 1 1 1 SetCBg none SetP %I p n [ 1 -0 -0 1 178 209 ] concat 46 399 150 527 Rect End Begin %I Rect 0 0 0 [] 0 SetB 0 0 0 SetCFg 1 1 1 SetCBg none SetP %I p n [ 1 -0 -0 1 450 209 ] concat 46 399 150 527 Rect End Begin %I Rect 0 0 0 [] 0 SetB 0 0 0 SetCFg 1 1 1 SetCBg none SetP %I p n [ 1 -0 -0 1 314 209 ] concat 46 399 150 527 Rect End Begin %I Rect 0 0 0 [] 0 SetB 0 0 0 SetCFg 1 1 1 SetCBg 0.75 SetP [ 1 0 0 1 178 33 ] concat 46 399 150 527 Rect End Begin %I Rect 0 0 0 [] 0 SetB 0 0 0 SetCFg 1 1 1 SetCBg 0.75 SetP [ 1 0 0 1 450 33 ] concat 46 399 150 527 Rect End Begin %I Rect 0 0 0 [] 0 SetB 0 0 0 SetCFg 1 1 1 SetCBg 0.75 SetP [ 1 0 0 1 314 33 ] concat 46 399 150 527 Rect End Begin %I Text 0 0 0 SetCFg Helvetica-Bold 14 SetF [ 1 0 0 1 248 765 ] concat [ (Process 0) ] Text End Begin %I Text 0 0 0 SetCFg Helvetica-Bold 14 SetF [ 1 0 0 1 376 765 ] concat [ (Process 1) ] Text End Begin %I Text 0 0 0 SetCFg Helvetica-Bold 14 SetF [ 1 0 0 1 512 765 ] concat [ (Process 2) ] Text End Begin %I Text 0 0 0 SetCFg Helvetica-Bold 14 SetF [ 1 0 0 1 384 717 ] concat [ (recv\(any\)) ] Text End Begin %I Text 0 0 0 SetCFg Helvetica-Bold 14 SetF [ 1 0 0 1 520 717 ] concat [ (send\(1\)) ] Text End Begin %I Text 0 0 0 SetCFg Helvetica-Bold 14 SetF [ 1 0 0 1 240 637 ] concat [ (recv\(any\)) ] Text End Begin %I Text 0 0 0 SetCFg Helvetica-Bold 14 SetF [ 1 0 0 1 520 637 ] concat [ (send\(0\)) ] Text End Begin %I Text 0 0 0 SetCFg Helvetica-Bold 14 SetF [ 1 0 0 1 240 541 ] concat [ (recv\(1\)) ] Text End Begin %I Text 0 0 0 SetCFg Helvetica-Bold 14 SetF [ 1 0 0 1 384 541 ] concat [ (send\(0\)) ] Text End Begin %I Text 0 0 0 SetCFg Helvetica-Bold 14 SetF [ 1 0 0 1 384 509 ] concat [ (recv\(2\)) ] Text End Begin %I Text 0 0 0 SetCFg Helvetica-Bold 14 SetF [ 1 0 0 1 520 509 ] concat [ (send\(1\)) ] Text End Begin %I Text 0 0 0 SetCFg Helvetica-Bold 14 SetF [ 1 0 0 1 240 469 ] concat [ (send\(2\)) ] Text End Begin %I Text 0 0 0 SetCFg Helvetica-Bold 14 SetF [ 1 0 0 1 520 469 ] concat [ (recv\(0\)) ] Text End Begin %I Line 0 0 1 [] 0 SetB 0 0 0 SetCFg 1 1 1 SetCBg none SetP %I p n [ 1 -0 -0 1 82 209 ] concat 430 503 374 503 Line End Begin %I Line 0 0 1 [] 0 SetB 0 0 0 SetCFg 1 1 1 SetCBg none SetP %I p n [ 1 -0 -0 1 82 209 ] concat 430 423 230 423 Line End Begin %I Line 0 0 1 [] 0 SetB 0 0 0 SetCFg 1 1 1 SetCBg none SetP %I p n [ 1 -0 -0 1 82 209 ] concat 294 327 214 327 Line End Begin %I Line 0 0 1 [] 0 SetB 0 0 0 SetCFg 1 1 1 SetCBg none SetP %I p n [ 1 -0 -0 1 82 209 ] concat 430 295 358 295 Line End Begin %I Line 0 0 1 [] 0 SetB 0 0 0 SetCFg 1 1 1 SetCBg none SetP %I p n [ 1 -0 -0 1 82 209 ] concat 222 255 430 255 Line End Begin %I Line 0 0 0 [12 4] 0 SetB 0 0 0 SetCFg 1 1 1 SetCBg 0.75 SetP [ 1 -0 -0 1 82 209 ] concat 534 375 118 375 Line End Begin %I Text 0 0 0 SetCFg Helvetica 14 SetF [ 1 0 0 1 131.6 694.8 ] concat [ (Sub1) ] Text End Begin %I Text 0 0 0 SetCFg Helvetica 14 SetF [ 1 0 0 1 131.6 523.2 ] concat [ (Sub2) ] Text End End %I eop showpage end @endspecial 2065 2770 a Fo(41)p eop bop 71 120 a @beginspecial @setspecial /$F2psDict 32 dict def $F2psDict begin $F2psDict /mtrx matrix put end /$F2psBegin {$F2psDict begin /$F2psEnteredState save def} def /$F2psEnd {$F2psEnteredState restore end} def $F2psBegin 0.900000 -0.900000 scale 90 rotate 0 -612 translate -36 36 translate 4.000 setlinewidth .2 setgray newpath 34 19 moveto 19 19 19 604 15 arcto 4 {pop} repeat 19 619 764 619 15 arcto 4 {pop} repeat 779 619 779 34 15 arcto 4 {pop} repeat 779 19 34 19 15 arcto 4 {pop} repeat closepath stroke showpage $F2psEnd @endspecial 187 x Fh(Inco)m(rrect)33 b(Execution)e(of)h(Lib)m(ra)m(ry)g (Calls)p 71 357 1910 19 v 71 372 1910 7 v 162 1982 a @beginspecial 102 @llx 342 @lly 492 @urx 613 @ury 4144 @rwi @setspecial /arrowhead { 0 begin transform originalCTM itransform /taily exch def /tailx exch def transform originalCTM itransform /tipy exch def /tipx exch def /dy tipy taily sub def /dx tipx tailx sub def /angle dx 0 ne dy 0 ne or { dy dx atan } { 90 } ifelse def gsave originalCTM setmatrix tipx tipy translate angle rotate newpath arrowHeight neg arrowWidth 2 div moveto 0 0 lineto arrowHeight neg arrowWidth 2 div neg lineto patternNone not { originalCTM setmatrix /padtip arrowHeight 2 exp 0.25 arrowWidth 2 exp mul add sqrt brushWidth mul arrowWidth div def /padtail brushWidth 2 div def tipx tipy translate angle rotate padtip 0 translate arrowHeight padtip add padtail add arrowHeight div dup scale arrowheadpath ifill } if brushNone not { originalCTM setmatrix tipx tipy translate angle rotate arrowheadpath istroke } if grestore end } dup 0 9 dict put def /arrowheadpath { newpath arrowHeight neg arrowWidth 2 div moveto 0 0 lineto arrowHeight neg arrowWidth 2 div neg lineto } def /leftarrow { 0 begin y exch get /taily exch def x exch get /tailx exch def y exch get /tipy exch def x exch get /tipx exch def brushLeftArrow { tipx tipy tailx taily arrowhead } if end } dup 0 4 dict put def /rightarrow { 0 begin y exch get /tipy exch def x exch get /tipx exch def y exch get /taily exch def x exch get /tailx exch def brushRightArrow { tipx tipy tailx taily arrowhead } if end } dup 0 4 dict put def /arrowHeight 8 def /arrowWidth 4 def /IdrawDict 52 dict def IdrawDict begin /reencodeISO { dup dup findfont dup length dict begin { 1 index /FID ne { def }{ pop pop } ifelse } forall /Encoding ISOLatin1Encoding def currentdict end definefont } def /ISOLatin1Encoding [ /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef /space/exclam/quotedbl/numbersign/dollar/percent/ampersand/quoteright /parenleft/parenright/asterisk/plus/comma/minus/period/slash /zero/one/two/three/four/five/six/seven/eight/nine/colon/semicolon /less/equal/greater/question/at/A/B/C/D/E/F/G/H/I/J/K/L/M/N /O/P/Q/R/S/T/U/V/W/X/Y/Z/bracketleft/backslash/bracketright /asciicircum/underscore/quoteleft/a/b/c/d/e/f/g/h/i/j/k/l/m /n/o/p/q/r/s/t/u/v/w/x/y/z/braceleft/bar/braceright/asciitilde /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef /.notdef/dotlessi/grave/acute/circumflex/tilde/macron/breve /dotaccent/dieresis/.notdef/ring/cedilla/.notdef/hungarumlaut /ogonek/caron/space/exclamdown/cent/sterling/currency/yen/brokenbar /section/dieresis/copyright/ordfeminine/guillemotleft/logicalnot /hyphen/registered/macron/degree/plusminus/twosuperior/threesuperior /acute/mu/paragraph/periodcentered/cedilla/onesuperior/ordmasculine /guillemotright/onequarter/onehalf/threequarters/questiondown /Agrave/Aacute/Acircumflex/Atilde/Adieresis/Aring/AE/Ccedilla /Egrave/Eacute/Ecircumflex/Edieresis/Igrave/Iacute/Icircumflex /Idieresis/Eth/Ntilde/Ograve/Oacute/Ocircumflex/Otilde/Odieresis /multiply/Oslash/Ugrave/Uacute/Ucircumflex/Udieresis/Yacute /Thorn/germandbls/agrave/aacute/acircumflex/atilde/adieresis /aring/ae/ccedilla/egrave/eacute/ecircumflex/edieresis/igrave /iacute/icircumflex/idieresis/eth/ntilde/ograve/oacute/ocircumflex /otilde/odieresis/divide/oslash/ugrave/uacute/ucircumflex/udieresis /yacute/thorn/ydieresis ] def /Helvetica-Bold reencodeISO def /Helvetica reencodeISO def /none null def /numGraphicParameters 17 def /stringLimit 65535 def /Begin { save numGraphicParameters dict begin } def /End { end restore } def /SetB { dup type /nulltype eq { pop false /brushRightArrow idef false /brushLeftArrow idef true /brushNone idef } { /brushDashOffset idef /brushDashArray idef 0 ne /brushRightArrow idef 0 ne /brushLeftArrow idef /brushWidth idef false /brushNone idef } ifelse } def /SetCFg { /fgblue idef /fggreen idef /fgred idef } def /SetCBg { /bgblue idef /bggreen idef /bgred idef } def /SetF { /printSize idef /printFont idef } def /SetP { dup type /nulltype eq { pop true /patternNone idef } { dup -1 eq { /patternGrayLevel idef /patternString idef } { /patternGrayLevel idef } ifelse false /patternNone idef } ifelse } def /BSpl { 0 begin storexyn newpath n 1 gt { 0 0 0 0 0 0 1 1 true subspline n 2 gt { 0 0 0 0 1 1 2 2 false subspline 1 1 n 3 sub { /i exch def i 1 sub dup i dup i 1 add dup i 2 add dup false subspline } for n 3 sub dup n 2 sub dup n 1 sub dup 2 copy false subspline } if n 2 sub dup n 1 sub dup 2 copy 2 copy false subspline patternNone not brushLeftArrow not brushRightArrow not and and { ifill } if brushNone not { istroke } if 0 0 1 1 leftarrow n 2 sub dup n 1 sub dup rightarrow } if end } dup 0 4 dict put def /Circ { newpath 0 360 arc patternNone not { ifill } if brushNone not { istroke } if } def /CBSpl { 0 begin dup 2 gt { storexyn newpath n 1 sub dup 0 0 1 1 2 2 true subspline 1 1 n 3 sub { /i exch def i 1 sub dup i dup i 1 add dup i 2 add dup false subspline } for n 3 sub dup n 2 sub dup n 1 sub dup 0 0 false subspline n 2 sub dup n 1 sub dup 0 0 1 1 false subspline patternNone not { ifill } if brushNone not { istroke } if } { Poly } ifelse end } dup 0 4 dict put def /Elli { 0 begin newpath 4 2 roll translate scale 0 0 1 0 360 arc patternNone not { ifill } if brushNone not { istroke } if end } dup 0 1 dict put def /Line { 0 begin 2 storexyn newpath x 0 get y 0 get moveto x 1 get y 1 get lineto brushNone not { istroke } if 0 0 1 1 leftarrow 0 0 1 1 rightarrow end } dup 0 4 dict put def /MLine { 0 begin storexyn newpath n 1 gt { x 0 get y 0 get moveto 1 1 n 1 sub { /i exch def x i get y i get lineto } for patternNone not brushLeftArrow not brushRightArrow not and and { ifill } if brushNone not { istroke } if 0 0 1 1 leftarrow n 2 sub dup n 1 sub dup rightarrow } if end } dup 0 4 dict put def /Poly { 3 1 roll newpath moveto -1 add { lineto } repeat closepath patternNone not { ifill } if brushNone not { istroke } if } def /Rect { 0 begin /t exch def /r exch def /b exch def /l exch def newpath l b moveto l t lineto r t lineto r b lineto closepath patternNone not { ifill } if brushNone not { istroke } if end } dup 0 4 dict put def /Text { ishow } def /idef { dup where { pop pop pop } { exch def } ifelse } def /ifill { 0 begin gsave patternGrayLevel -1 ne { fgred bgred fgred sub patternGrayLevel mul add fggreen bggreen fggreen sub patternGrayLevel mul add fgblue bgblue fgblue sub patternGrayLevel mul add setrgbcolor eofill } { eoclip originalCTM setmatrix pathbbox /t exch def /r exch def /b exch def /l exch def /w r l sub ceiling cvi def /h t b sub ceiling cvi def /imageByteWidth w 8 div ceiling cvi def /imageHeight h def bgred bggreen bgblue setrgbcolor eofill fgred fggreen fgblue setrgbcolor w 0 gt h 0 gt and { l w add b translate w neg h scale w h true [w 0 0 h neg 0 h] { patternproc } imagemask } if } ifelse grestore end } dup 0 8 dict put def /istroke { gsave brushDashOffset -1 eq { [] 0 setdash 1 setgray } { brushDashArray brushDashOffset setdash fgred fggreen fgblue setrgbcolor } ifelse brushWidth setlinewidth originalCTM setmatrix stroke grestore } def /ishow { 0 begin gsave fgred fggreen fgblue setrgbcolor /fontDict printFont printSize scalefont dup setfont def /descender fontDict begin 0 [FontBBox] 1 get FontMatrix end transform exch pop def /vertoffset 1 printSize sub descender sub def { 0 vertoffset moveto show /vertoffset vertoffset printSize sub def } forall grestore end } dup 0 3 dict put def /patternproc { 0 begin /patternByteLength patternString length def /patternHeight patternByteLength 8 mul sqrt cvi def /patternWidth patternHeight def /patternByteWidth patternWidth 8 idiv def /imageByteMaxLength imageByteWidth imageHeight mul stringLimit patternByteWidth sub min def /imageMaxHeight imageByteMaxLength imageByteWidth idiv patternHeight idiv patternHeight mul patternHeight max def /imageHeight imageHeight imageMaxHeight sub store /imageString imageByteWidth imageMaxHeight mul patternByteWidth add string def 0 1 imageMaxHeight 1 sub { /y exch def /patternRow y patternByteWidth mul patternByteLength mod def /patternRowString patternString patternRow patternByteWidth getinterval def /imageRow y imageByteWidth mul def 0 patternByteWidth imageByteWidth 1 sub { /x exch def imageString imageRow x add patternRowString putinterval } for } for imageString end } dup 0 12 dict put def /min { dup 3 2 roll dup 4 3 roll lt { exch } if pop } def /max { dup 3 2 roll dup 4 3 roll gt { exch } if pop } def /midpoint { 0 begin /y1 exch def /x1 exch def /y0 exch def /x0 exch def x0 x1 add 2 div y0 y1 add 2 div end } dup 0 4 dict put def /thirdpoint { 0 begin /y1 exch def /x1 exch def /y0 exch def /x0 exch def x0 2 mul x1 add 3 div y0 2 mul y1 add 3 div end } dup 0 4 dict put def /subspline { 0 begin /movetoNeeded exch def y exch get /y3 exch def x exch get /x3 exch def y exch get /y2 exch def x exch get /x2 exch def y exch get /y1 exch def x exch get /x1 exch def y exch get /y0 exch def x exch get /x0 exch def x1 y1 x2 y2 thirdpoint /p1y exch def /p1x exch def x2 y2 x1 y1 thirdpoint /p2y exch def /p2x exch def x1 y1 x0 y0 thirdpoint p1x p1y midpoint /p0y exch def /p0x exch def x2 y2 x3 y3 thirdpoint p2x p2y midpoint /p3y exch def /p3x exch def movetoNeeded { p0x p0y moveto } if p1x p1y p2x p2y p3x p3y curveto end } dup 0 17 dict put def /storexyn { /n exch def /y n array def /x n array def n 1 sub -1 0 { /i exch def y i 3 2 roll put x i 3 2 roll put } for } def /SSten { fgred fggreen fgblue setrgbcolor dup true exch 1 0 0 -1 0 6 -1 roll matrix astore } def /FSten { dup 3 -1 roll dup 4 1 roll exch newpath 0 0 moveto dup 0 exch lineto exch dup 3 1 roll exch lineto 0 lineto closepath bgred bggreen bgblue setrgbcolor eofill SSten } def /Rast { exch dup 3 1 roll 1 0 0 -1 0 6 -1 roll matrix astore } def Begin [ 0.796717 0 0 0.796717 0 0 ] concat /originalCTM matrix currentmatrix def Begin %I Rect 0 0 0 [] 0 SetB 0 0 0 SetCFg 1 1 1 SetCBg none SetP %I p n [ 1 -0 -0 1 178 209 ] concat 46 399 150 527 Rect End Begin %I Rect 0 0 0 [] 0 SetB 0 0 0 SetCFg 1 1 1 SetCBg none SetP %I p n [ 1 -0 -0 1 450 209 ] concat 46 399 150 527 Rect End Begin %I Rect 0 0 0 [] 0 SetB 0 0 0 SetCFg 1 1 1 SetCBg none SetP %I p n [ 1 -0 -0 1 314 209 ] concat 46 399 150 527 Rect End Begin %I Rect 0 0 0 [] 0 SetB 0 0 0 SetCFg 1 1 1 SetCBg 0.75 SetP [ 1 0 0 1 178 33 ] concat 46 399 150 527 Rect End Begin %I Rect 0 0 0 [12 4] 0 SetB 0 0 0 SetCFg 1 1 1 SetCBg 0.75 SetP [ 1 0 0 1 450 33 ] concat 46 399 150 527 Rect End Begin %I Rect 0 0 0 [] 0 SetB 0 0 0 SetCFg 1 1 1 SetCBg 0.75 SetP [ 1 0 0 1 314 33 ] concat 46 399 150 527 Rect End Begin %I Text 0 0 0 SetCFg Helvetica-Bold 14 SetF [ 1 0 0 1 248 765 ] concat [ (Process 0) ] Text End Begin %I Text 0 0 0 SetCFg Helvetica-Bold 14 SetF [ 1 0 0 1 376 765 ] concat [ (Process 1) ] Text End Begin %I Text 0 0 0 SetCFg Helvetica-Bold 14 SetF [ 1 0 0 1 512 765 ] concat [ (Process 2) ] Text End Begin %I Text 0 0 0 SetCFg Helvetica-Bold 14 SetF [ 1 0 0 1 384 717 ] concat [ (recv\(any\)) ] Text End Begin %I Text 0 0 0 SetCFg Helvetica-Bold 14 SetF [ 1 0 0 1 520 717 ] concat [ (send\(1\)) ] Text End Begin %I Text 0 0 0 SetCFg Helvetica-Bold 14 SetF [ 1 0 0 1 240 637 ] concat [ (recv\(any\)) ] Text End Begin %I Text 0 0 0 SetCFg Helvetica-Bold 14 SetF [ 1 0 0 1 520 637 ] concat [ (send\(0\)) ] Text End Begin %I Text 0 0 0 SetCFg Helvetica-Bold 14 SetF [ 1 0 0 1 240 541 ] concat [ (recv\(1\)) ] Text End Begin %I Text 0 0 0 SetCFg Helvetica-Bold 14 SetF [ 1 0 0 1 384 541 ] concat [ (send\(0\)) ] Text End Begin %I Text 0 0 0 SetCFg Helvetica-Bold 14 SetF [ 1 0 0 1 384 509 ] concat [ (recv\(2\)) ] Text End Begin %I Text 0 0 0 SetCFg Helvetica-Bold 14 SetF [ 1 0 0 1 520 509 ] concat [ (send\(1\)) ] Text End Begin %I Text 0 0 0 SetCFg Helvetica-Bold 14 SetF [ 1 0 0 1 240 469 ] concat [ (send\(2\)) ] Text End Begin %I Text 0 0 0 SetCFg Helvetica-Bold 14 SetF [ 1 0 0 1 520 469 ] concat [ (recv\(0\)) ] Text End Begin %I Line 0 0 1 [] 0 SetB 0 0 0 SetCFg 1 1 1 SetCBg none SetP %I p n [ 1 -0 -0 1 82 209 ] concat 430 503 374 503 Line End Begin %I Line 0 0 1 [] 0 SetB 0 0 0 SetCFg 1 1 1 SetCBg none SetP %I p n [ 1 -0 -0 1 82 209 ] concat 430 295 358 295 Line End Begin %I Line 0 0 1 [] 0 SetB 0 0 0 SetCFg 1 1 1 SetCBg none SetP %I p n [ 1 -0 -0 1 82 209 ] concat 222 255 430 255 Line End Begin %I Line 2 1 0 [] 0 SetB 0 0 0 SetCFg 1 1 1 SetCBg 0.75 SetP [ 1 -0 -0 1 82 209 ] concat 230 407 294 335 Line End Begin %I BSpl 0 1 0 [12 4] 0 SetB 0 0 0 SetCFg 1 1 1 SetCBg 0.75 SetP [ 1 -0 -0 1 82 209 ] concat 534 447 478 447 406 423 390 367 366 319 342 311 278 311 246 335 246 335 206 375 118 375 11 BSpl End Begin %I Text 0 0 0 SetCFg Helvetica 14 SetF [ 1 0 0 1 131 704 ] concat [ (Sub1) ] Text End Begin %I Text 0 0 0 SetCFg Helvetica 14 SetF [ 1 0 0 1 132 512 ] concat [ (Sub2) ] Text End End %I eop showpage end @endspecial 2065 2770 a Fo(42)p eop bop 71 120 a @beginspecial @setspecial /$F2psDict 32 dict def $F2psDict begin $F2psDict /mtrx matrix put end /$F2psBegin {$F2psDict begin /$F2psEnteredState save def} def /$F2psEnd {$F2psEnteredState restore end} def $F2psBegin 0.900000 -0.900000 scale 90 rotate 0 -612 translate -36 36 translate 4.000 setlinewidth .2 setgray newpath 34 19 moveto 19 19 19 604 15 arcto 4 {pop} repeat 19 619 764 619 15 arcto 4 {pop} repeat 779 619 779 34 15 arcto 4 {pop} repeat 779 19 34 19 15 arcto 4 {pop} repeat closepath stroke showpage $F2psEnd @endspecial 187 x Fh(Co)m(rrect)34 b(Execution)f(of)f(Lib)m(ra)m(ry)h(Calls) g(with)f(P)m(ending)71 432 y(Communcication)p 71 482 1910 19 v 71 496 1910 7 v 128 2465 a @beginspecial 102 @llx 209 @lly 504 @urx 612 @ury 4309 @rwi @setspecial /arrowhead { 0 begin transform originalCTM itransform /taily exch def /tailx exch def transform originalCTM itransform /tipy exch def /tipx exch def /dy tipy taily sub def /dx tipx tailx sub def /angle dx 0 ne dy 0 ne or { dy dx atan } { 90 } ifelse def gsave originalCTM setmatrix tipx tipy translate angle rotate newpath arrowHeight neg arrowWidth 2 div moveto 0 0 lineto arrowHeight neg arrowWidth 2 div neg lineto patternNone not { originalCTM setmatrix /padtip arrowHeight 2 exp 0.25 arrowWidth 2 exp mul add sqrt brushWidth mul arrowWidth div def /padtail brushWidth 2 div def tipx tipy translate angle rotate padtip 0 translate arrowHeight padtip add padtail add arrowHeight div dup scale arrowheadpath ifill } if brushNone not { originalCTM setmatrix tipx tipy translate angle rotate arrowheadpath istroke } if grestore end } dup 0 9 dict put def /arrowheadpath { newpath arrowHeight neg arrowWidth 2 div moveto 0 0 lineto arrowHeight neg arrowWidth 2 div neg lineto } def /leftarrow { 0 begin y exch get /taily exch def x exch get /tailx exch def y exch get /tipy exch def x exch get /tipx exch def brushLeftArrow { tipx tipy tailx taily arrowhead } if end } dup 0 4 dict put def /rightarrow { 0 begin y exch get /tipy exch def x exch get /tipx exch def y exch get /taily exch def x exch get /tailx exch def brushRightArrow { tipx tipy tailx taily arrowhead } if end } dup 0 4 dict put def /arrowHeight 8 def /arrowWidth 4 def /IdrawDict 52 dict def IdrawDict begin /reencodeISO { dup dup findfont dup length dict begin { 1 index /FID ne { def }{ pop pop } ifelse } forall /Encoding ISOLatin1Encoding def currentdict end definefont } def /ISOLatin1Encoding [ /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef /space/exclam/quotedbl/numbersign/dollar/percent/ampersand/quoteright /parenleft/parenright/asterisk/plus/comma/minus/period/slash /zero/one/two/three/four/five/six/seven/eight/nine/colon/semicolon /less/equal/greater/question/at/A/B/C/D/E/F/G/H/I/J/K/L/M/N /O/P/Q/R/S/T/U/V/W/X/Y/Z/bracketleft/backslash/bracketright /asciicircum/underscore/quoteleft/a/b/c/d/e/f/g/h/i/j/k/l/m /n/o/p/q/r/s/t/u/v/w/x/y/z/braceleft/bar/braceright/asciitilde /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef /.notdef/dotlessi/grave/acute/circumflex/tilde/macron/breve /dotaccent/dieresis/.notdef/ring/cedilla/.notdef/hungarumlaut /ogonek/caron/space/exclamdown/cent/sterling/currency/yen/brokenbar /section/dieresis/copyright/ordfeminine/guillemotleft/logicalnot /hyphen/registered/macron/degree/plusminus/twosuperior/threesuperior /acute/mu/paragraph/periodcentered/cedilla/onesuperior/ordmasculine /guillemotright/onequarter/onehalf/threequarters/questiondown /Agrave/Aacute/Acircumflex/Atilde/Adieresis/Aring/AE/Ccedilla /Egrave/Eacute/Ecircumflex/Edieresis/Igrave/Iacute/Icircumflex /Idieresis/Eth/Ntilde/Ograve/Oacute/Ocircumflex/Otilde/Odieresis /multiply/Oslash/Ugrave/Uacute/Ucircumflex/Udieresis/Yacute /Thorn/germandbls/agrave/aacute/acircumflex/atilde/adieresis /aring/ae/ccedilla/egrave/eacute/ecircumflex/edieresis/igrave /iacute/icircumflex/idieresis/eth/ntilde/ograve/oacute/ocircumflex /otilde/odieresis/divide/oslash/ugrave/uacute/ucircumflex/udieresis /yacute/thorn/ydieresis ] def /Helvetica-Bold reencodeISO def /Helvetica reencodeISO def /none null def /numGraphicParameters 17 def /stringLimit 65535 def /Begin { save numGraphicParameters dict begin } def /End { end restore } def /SetB { dup type /nulltype eq { pop false /brushRightArrow idef false /brushLeftArrow idef true /brushNone idef } { /brushDashOffset idef /brushDashArray idef 0 ne /brushRightArrow idef 0 ne /brushLeftArrow idef /brushWidth idef false /brushNone idef } ifelse } def /SetCFg { /fgblue idef /fggreen idef /fgred idef } def /SetCBg { /bgblue idef /bggreen idef /bgred idef } def /SetF { /printSize idef /printFont idef } def /SetP { dup type /nulltype eq { pop true /patternNone idef } { dup -1 eq { /patternGrayLevel idef /patternString idef } { /patternGrayLevel idef } ifelse false /patternNone idef } ifelse } def /BSpl { 0 begin storexyn newpath n 1 gt { 0 0 0 0 0 0 1 1 true subspline n 2 gt { 0 0 0 0 1 1 2 2 false subspline 1 1 n 3 sub { /i exch def i 1 sub dup i dup i 1 add dup i 2 add dup false subspline } for n 3 sub dup n 2 sub dup n 1 sub dup 2 copy false subspline } if n 2 sub dup n 1 sub dup 2 copy 2 copy false subspline patternNone not brushLeftArrow not brushRightArrow not and and { ifill } if brushNone not { istroke } if 0 0 1 1 leftarrow n 2 sub dup n 1 sub dup rightarrow } if end } dup 0 4 dict put def /Circ { newpath 0 360 arc patternNone not { ifill } if brushNone not { istroke } if } def /CBSpl { 0 begin dup 2 gt { storexyn newpath n 1 sub dup 0 0 1 1 2 2 true subspline 1 1 n 3 sub { /i exch def i 1 sub dup i dup i 1 add dup i 2 add dup false subspline } for n 3 sub dup n 2 sub dup n 1 sub dup 0 0 false subspline n 2 sub dup n 1 sub dup 0 0 1 1 false subspline patternNone not { ifill } if brushNone not { istroke } if } { Poly } ifelse end } dup 0 4 dict put def /Elli { 0 begin newpath 4 2 roll translate scale 0 0 1 0 360 arc patternNone not { ifill } if brushNone not { istroke } if end } dup 0 1 dict put def /Line { 0 begin 2 storexyn newpath x 0 get y 0 get moveto x 1 get y 1 get lineto brushNone not { istroke } if 0 0 1 1 leftarrow 0 0 1 1 rightarrow end } dup 0 4 dict put def /MLine { 0 begin storexyn newpath n 1 gt { x 0 get y 0 get moveto 1 1 n 1 sub { /i exch def x i get y i get lineto } for patternNone not brushLeftArrow not brushRightArrow not and and { ifill } if brushNone not { istroke } if 0 0 1 1 leftarrow n 2 sub dup n 1 sub dup rightarrow } if end } dup 0 4 dict put def /Poly { 3 1 roll newpath moveto -1 add { lineto } repeat closepath patternNone not { ifill } if brushNone not { istroke } if } def /Rect { 0 begin /t exch def /r exch def /b exch def /l exch def newpath l b moveto l t lineto r t lineto r b lineto closepath patternNone not { ifill } if brushNone not { istroke } if end } dup 0 4 dict put def /Text { ishow } def /idef { dup where { pop pop pop } { exch def } ifelse } def /ifill { 0 begin gsave patternGrayLevel -1 ne { fgred bgred fgred sub patternGrayLevel mul add fggreen bggreen fggreen sub patternGrayLevel mul add fgblue bgblue fgblue sub patternGrayLevel mul add setrgbcolor eofill } { eoclip originalCTM setmatrix pathbbox /t exch def /r exch def /b exch def /l exch def /w r l sub ceiling cvi def /h t b sub ceiling cvi def /imageByteWidth w 8 div ceiling cvi def /imageHeight h def bgred bggreen bgblue setrgbcolor eofill fgred fggreen fgblue setrgbcolor w 0 gt h 0 gt and { l w add b translate w neg h scale w h true [w 0 0 h neg 0 h] { patternproc } imagemask } if } ifelse grestore end } dup 0 8 dict put def /istroke { gsave brushDashOffset -1 eq { [] 0 setdash 1 setgray } { brushDashArray brushDashOffset setdash fgred fggreen fgblue setrgbcolor } ifelse brushWidth setlinewidth originalCTM setmatrix stroke grestore } def /ishow { 0 begin gsave fgred fggreen fgblue setrgbcolor /fontDict printFont printSize scalefont dup setfont def /descender fontDict begin 0 [FontBBox] 1 get FontMatrix end transform exch pop def /vertoffset 1 printSize sub descender sub def { 0 vertoffset moveto show /vertoffset vertoffset printSize sub def } forall grestore end } dup 0 3 dict put def /patternproc { 0 begin /patternByteLength patternString length def /patternHeight patternByteLength 8 mul sqrt cvi def /patternWidth patternHeight def /patternByteWidth patternWidth 8 idiv def /imageByteMaxLength imageByteWidth imageHeight mul stringLimit patternByteWidth sub min def /imageMaxHeight imageByteMaxLength imageByteWidth idiv patternHeight idiv patternHeight mul patternHeight max def /imageHeight imageHeight imageMaxHeight sub store /imageString imageByteWidth imageMaxHeight mul patternByteWidth add string def 0 1 imageMaxHeight 1 sub { /y exch def /patternRow y patternByteWidth mul patternByteLength mod def /patternRowString patternString patternRow patternByteWidth getinterval def /imageRow y imageByteWidth mul def 0 patternByteWidth imageByteWidth 1 sub { /x exch def imageString imageRow x add patternRowString putinterval } for } for imageString end } dup 0 12 dict put def /min { dup 3 2 roll dup 4 3 roll lt { exch } if pop } def /max { dup 3 2 roll dup 4 3 roll gt { exch } if pop } def /midpoint { 0 begin /y1 exch def /x1 exch def /y0 exch def /x0 exch def x0 x1 add 2 div y0 y1 add 2 div end } dup 0 4 dict put def /thirdpoint { 0 begin /y1 exch def /x1 exch def /y0 exch def /x0 exch def x0 2 mul x1 add 3 div y0 2 mul y1 add 3 div end } dup 0 4 dict put def /subspline { 0 begin /movetoNeeded exch def y exch get /y3 exch def x exch get /x3 exch def y exch get /y2 exch def x exch get /x2 exch def y exch get /y1 exch def x exch get /x1 exch def y exch get /y0 exch def x exch get /x0 exch def x1 y1 x2 y2 thirdpoint /p1y exch def /p1x exch def x2 y2 x1 y1 thirdpoint /p2y exch def /p2x exch def x1 y1 x0 y0 thirdpoint p1x p1y midpoint /p0y exch def /p0x exch def x2 y2 x3 y3 thirdpoint p2x p2y midpoint /p3y exch def /p3x exch def movetoNeeded { p0x p0y moveto } if p1x p1y p2x p2y p3x p3y curveto end } dup 0 17 dict put def /storexyn { /n exch def /y n array def /x n array def n 1 sub -1 0 { /i exch def y i 3 2 roll put x i 3 2 roll put } for } def /SSten { fgred fggreen fgblue setrgbcolor dup true exch 1 0 0 -1 0 6 -1 roll matrix astore } def /FSten { dup 3 -1 roll dup 4 1 roll exch newpath 0 0 moveto dup 0 exch lineto exch dup 3 1 roll exch lineto 0 lineto closepath bgred bggreen bgblue setrgbcolor eofill SSten } def /Rast { exch dup 3 1 roll 1 0 0 -1 0 6 -1 roll matrix astore } def Begin [ 0.796717 0 0 0.796717 0 0 ] concat /originalCTM matrix currentmatrix def Begin %I Rect 0 0 0 [] 0 SetB 0 0 0 SetCFg 1 1 1 SetCBg none SetP %I p n [ 1 -0 -0 1 178 -135 ] concat 46 399 150 527 Rect End Begin %I Rect 0 0 0 [] 0 SetB 0 0 0 SetCFg 1 1 1 SetCBg none SetP %I p n [ 1 -0 -0 1 450 209 ] concat 46 399 150 527 Rect End Begin %I Rect 0 0 0 [] 0 SetB 0 0 0 SetCFg 1 1 1 SetCBg none SetP %I p n [ 1 -0 -0 1 314 209 ] concat 46 399 150 527 Rect End Begin %I Rect 0 0 0 [] 0 SetB 0 0 0 SetCFg 1 1 1 SetCBg 0.75 SetP [ 1 0 0 1 178 33 ] concat 46 399 150 527 Rect End Begin %I Rect 0 0 0 [12 4] 0 SetB 0 0 0 SetCFg 1 1 1 SetCBg 0.75 SetP [ 1 0 0 1 450 33 ] concat 46 399 150 527 Rect End Begin %I Rect 0 0 0 [] 0 SetB 0 0 0 SetCFg 1 1 1 SetCBg 0.75 SetP [ 1 0 0 1 314 33 ] concat 46 399 150 527 Rect End Begin %I Text 0 0 0 SetCFg Helvetica-Bold 14 SetF [ 1 0 0 1 248 765 ] concat [ (Process 0) ] Text End Begin %I Text 0 0 0 SetCFg Helvetica-Bold 14 SetF [ 1 0 0 1 376 765 ] concat [ (Process 1) ] Text End Begin %I Text 0 0 0 SetCFg Helvetica-Bold 14 SetF [ 1 0 0 1 512 765 ] concat [ (Process 2) ] Text End Begin %I Text 0 0 0 SetCFg Helvetica-Bold 14 SetF [ 1 0 0 1 384 717 ] concat [ (recv\(any\)) ] Text End Begin %I Text 0 0 0 SetCFg Helvetica-Bold 14 SetF [ 1 0 0 1 520 717 ] concat [ (send\(1\)) ] Text End Begin %I Text 0 0 0 SetCFg Helvetica-Bold 14 SetF [ 1 0 0 1 520 637 ] concat [ (send\(0\)) ] Text End Begin %I Text 0 0 0 SetCFg Helvetica-Bold 14 SetF [ 1 0 0 1 520 541 ] concat [ (send\(0\)) ] Text End Begin %I Text 0 0 0 SetCFg Helvetica-Bold 14 SetF [ 1 0 0 1 384 469 ] concat [ (recv\(0\)) ] Text End Begin %I Line 0 0 1 [] 0 SetB 0 0 0 SetCFg 1 1 1 SetCBg none SetP %I p n [ 1 -0 -0 1 82 209 ] concat 430 503 374 503 Line End Begin %I Text 0 0 0 SetCFg Helvetica-Bold 14 SetF [ 1 0 0 1 240 349 ] concat [ (recv\(any\)) ] Text End Begin %I Text 0 0 0 SetCFg Helvetica-Bold 14 SetF [ 1 0 0 1 240 469 ] concat [ (send\(1\)) ] Text End Begin %I Text 0 0 0 SetCFg Helvetica-Bold 14 SetF [ 1 0 0 1 384 509 ] concat [ (send\(2\)) ] Text End Begin %I Text 0 0 0 SetCFg Helvetica-Bold 14 SetF [ 1 0 0 1 520 509 ] concat [ (recv\(1\)) ] Text End Begin %I Text 0 0 0 SetCFg Helvetica-Bold 14 SetF [ 1 0 0 1 240 541 ] concat [ (recv\(2\)) ] Text End Begin %I Line 0 0 1 [] 0 SetB 0 0 0 SetCFg 1 1 1 SetCBg 0.75 SetP [ 1 -0 -0 1 82 209 ] concat 430 327 214 327 Line End Begin %I Line 0 0 1 [] 0 SetB 0 0 0 SetCFg 1 1 1 SetCBg 0.75 SetP [ 1 -0 -0 1 82 209 ] concat 358 295 430 295 Line End Begin %I Line 0 0 1 [] 0 SetB 0 0 0 SetCFg 1 1 1 SetCBg 0.75 SetP [ 1 -0 -0 1 82 209 ] concat 222 255 294 255 Line End Begin %I Line 0 0 0 [12 4] 0 SetB 0 0 0 SetCFg 1 1 1 SetCBg none SetP %I p n [ 1 -0 -0 1 82 209 ] concat 110 375 550 375 Line End Begin %I BSpl 1 1 0 [] 0 SetB 0 0 0 SetCFg 1 1 1 SetCBg none SetP %I p n [ 1 -0 -0 1 82 209 ] concat 238 135 286 127 366 135 478 151 518 175 534 215 550 279 542 319 526 367 494 407 486 415 11 BSpl End Begin %I Text 0 0 0 SetCFg Helvetica 14 SetF [ 1 0 0 1 132 704 ] concat [ (Sub1a) ] Text End Begin %I Text 0 0 0 SetCFg Helvetica 14 SetF [ 1 0 0 1 130 512 ] concat [ (Sub2) ] Text End Begin %I Text 0 0 0 SetCFg Helvetica 14 SetF [ 1 0 0 1 131 330 ] concat [ (Sub1b) ] Text End End %I eop showpage end @endspecial 2065 2770 a Fo(43)p eop bop 71 120 a @beginspecial @setspecial /$F2psDict 32 dict def $F2psDict begin $F2psDict /mtrx matrix put end /$F2psBegin {$F2psDict begin /$F2psEnteredState save def} def /$F2psEnd {$F2psEnteredState restore end} def $F2psBegin 0.900000 -0.900000 scale 90 rotate 0 -612 translate -36 36 translate 4.000 setlinewidth .2 setgray newpath 34 19 moveto 19 19 19 604 15 arcto 4 {pop} repeat 19 619 764 619 15 arcto 4 {pop} repeat 779 619 779 34 15 arcto 4 {pop} repeat 779 19 34 19 15 arcto 4 {pop} repeat closepath stroke showpage $F2psEnd @endspecial 187 x Fh(Inco)m(rrect)33 b(Execution)e(of)h(Lib)m(ra)m(ry)g (Calls)g(with)f(P)m(ending)71 432 y(Communication)p 71 482 1910 19 v 71 496 1910 7 v 128 2465 a @beginspecial 101 @llx 208 @lly 505 @urx 613 @ury 4309 @rwi @setspecial /arrowhead { 0 begin transform originalCTM itransform /taily exch def /tailx exch def transform originalCTM itransform /tipy exch def /tipx exch def /dy tipy taily sub def /dx tipx tailx sub def /angle dx 0 ne dy 0 ne or { dy dx atan } { 90 } ifelse def gsave originalCTM setmatrix tipx tipy translate angle rotate newpath arrowHeight neg arrowWidth 2 div moveto 0 0 lineto arrowHeight neg arrowWidth 2 div neg lineto patternNone not { originalCTM setmatrix /padtip arrowHeight 2 exp 0.25 arrowWidth 2 exp mul add sqrt brushWidth mul arrowWidth div def /padtail brushWidth 2 div def tipx tipy translate angle rotate padtip 0 translate arrowHeight padtip add padtail add arrowHeight div dup scale arrowheadpath ifill } if brushNone not { originalCTM setmatrix tipx tipy translate angle rotate arrowheadpath istroke } if grestore end } dup 0 9 dict put def /arrowheadpath { newpath arrowHeight neg arrowWidth 2 div moveto 0 0 lineto arrowHeight neg arrowWidth 2 div neg lineto } def /leftarrow { 0 begin y exch get /taily exch def x exch get /tailx exch def y exch get /tipy exch def x exch get /tipx exch def brushLeftArrow { tipx tipy tailx taily arrowhead } if end } dup 0 4 dict put def /rightarrow { 0 begin y exch get /tipy exch def x exch get /tipx exch def y exch get /taily exch def x exch get /tailx exch def brushRightArrow { tipx tipy tailx taily arrowhead } if end } dup 0 4 dict put def /arrowHeight 8 def /arrowWidth 4 def /IdrawDict 52 dict def IdrawDict begin /reencodeISO { dup dup findfont dup length dict begin { 1 index /FID ne { def }{ pop pop } ifelse } forall /Encoding ISOLatin1Encoding def currentdict end definefont } def /ISOLatin1Encoding [ /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef /space/exclam/quotedbl/numbersign/dollar/percent/ampersand/quoteright /parenleft/parenright/asterisk/plus/comma/minus/period/slash /zero/one/two/three/four/five/six/seven/eight/nine/colon/semicolon /less/equal/greater/question/at/A/B/C/D/E/F/G/H/I/J/K/L/M/N /O/P/Q/R/S/T/U/V/W/X/Y/Z/bracketleft/backslash/bracketright /asciicircum/underscore/quoteleft/a/b/c/d/e/f/g/h/i/j/k/l/m /n/o/p/q/r/s/t/u/v/w/x/y/z/braceleft/bar/braceright/asciitilde /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef /.notdef/dotlessi/grave/acute/circumflex/tilde/macron/breve /dotaccent/dieresis/.notdef/ring/cedilla/.notdef/hungarumlaut /ogonek/caron/space/exclamdown/cent/sterling/currency/yen/brokenbar /section/dieresis/copyright/ordfeminine/guillemotleft/logicalnot /hyphen/registered/macron/degree/plusminus/twosuperior/threesuperior /acute/mu/paragraph/periodcentered/cedilla/onesuperior/ordmasculine /guillemotright/onequarter/onehalf/threequarters/questiondown /Agrave/Aacute/Acircumflex/Atilde/Adieresis/Aring/AE/Ccedilla /Egrave/Eacute/Ecircumflex/Edieresis/Igrave/Iacute/Icircumflex /Idieresis/Eth/Ntilde/Ograve/Oacute/Ocircumflex/Otilde/Odieresis /multiply/Oslash/Ugrave/Uacute/Ucircumflex/Udieresis/Yacute /Thorn/germandbls/agrave/aacute/acircumflex/atilde/adieresis /aring/ae/ccedilla/egrave/eacute/ecircumflex/edieresis/igrave /iacute/icircumflex/idieresis/eth/ntilde/ograve/oacute/ocircumflex /otilde/odieresis/divide/oslash/ugrave/uacute/ucircumflex/udieresis /yacute/thorn/ydieresis ] def /Helvetica-Bold reencodeISO def /Helvetica reencodeISO def /none null def /numGraphicParameters 17 def /stringLimit 65535 def /Begin { save numGraphicParameters dict begin } def /End { end restore } def /SetB { dup type /nulltype eq { pop false /brushRightArrow idef false /brushLeftArrow idef true /brushNone idef } { /brushDashOffset idef /brushDashArray idef 0 ne /brushRightArrow idef 0 ne /brushLeftArrow idef /brushWidth idef false /brushNone idef } ifelse } def /SetCFg { /fgblue idef /fggreen idef /fgred idef } def /SetCBg { /bgblue idef /bggreen idef /bgred idef } def /SetF { /printSize idef /printFont idef } def /SetP { dup type /nulltype eq { pop true /patternNone idef } { dup -1 eq { /patternGrayLevel idef /patternString idef } { /patternGrayLevel idef } ifelse false /patternNone idef } ifelse } def /BSpl { 0 begin storexyn newpath n 1 gt { 0 0 0 0 0 0 1 1 true subspline n 2 gt { 0 0 0 0 1 1 2 2 false subspline 1 1 n 3 sub { /i exch def i 1 sub dup i dup i 1 add dup i 2 add dup false subspline } for n 3 sub dup n 2 sub dup n 1 sub dup 2 copy false subspline } if n 2 sub dup n 1 sub dup 2 copy 2 copy false subspline patternNone not brushLeftArrow not brushRightArrow not and and { ifill } if brushNone not { istroke } if 0 0 1 1 leftarrow n 2 sub dup n 1 sub dup rightarrow } if end } dup 0 4 dict put def /Circ { newpath 0 360 arc patternNone not { ifill } if brushNone not { istroke } if } def /CBSpl { 0 begin dup 2 gt { storexyn newpath n 1 sub dup 0 0 1 1 2 2 true subspline 1 1 n 3 sub { /i exch def i 1 sub dup i dup i 1 add dup i 2 add dup false subspline } for n 3 sub dup n 2 sub dup n 1 sub dup 0 0 false subspline n 2 sub dup n 1 sub dup 0 0 1 1 false subspline patternNone not { ifill } if brushNone not { istroke } if } { Poly } ifelse end } dup 0 4 dict put def /Elli { 0 begin newpath 4 2 roll translate scale 0 0 1 0 360 arc patternNone not { ifill } if brushNone not { istroke } if end } dup 0 1 dict put def /Line { 0 begin 2 storexyn newpath x 0 get y 0 get moveto x 1 get y 1 get lineto brushNone not { istroke } if 0 0 1 1 leftarrow 0 0 1 1 rightarrow end } dup 0 4 dict put def /MLine { 0 begin storexyn newpath n 1 gt { x 0 get y 0 get moveto 1 1 n 1 sub { /i exch def x i get y i get lineto } for patternNone not brushLeftArrow not brushRightArrow not and and { ifill } if brushNone not { istroke } if 0 0 1 1 leftarrow n 2 sub dup n 1 sub dup rightarrow } if end } dup 0 4 dict put def /Poly { 3 1 roll newpath moveto -1 add { lineto } repeat closepath patternNone not { ifill } if brushNone not { istroke } if } def /Rect { 0 begin /t exch def /r exch def /b exch def /l exch def newpath l b moveto l t lineto r t lineto r b lineto closepath patternNone not { ifill } if brushNone not { istroke } if end } dup 0 4 dict put def /Text { ishow } def /idef { dup where { pop pop pop } { exch def } ifelse } def /ifill { 0 begin gsave patternGrayLevel -1 ne { fgred bgred fgred sub patternGrayLevel mul add fggreen bggreen fggreen sub patternGrayLevel mul add fgblue bgblue fgblue sub patternGrayLevel mul add setrgbcolor eofill } { eoclip originalCTM setmatrix pathbbox /t exch def /r exch def /b exch def /l exch def /w r l sub ceiling cvi def /h t b sub ceiling cvi def /imageByteWidth w 8 div ceiling cvi def /imageHeight h def bgred bggreen bgblue setrgbcolor eofill fgred fggreen fgblue setrgbcolor w 0 gt h 0 gt and { l w add b translate w neg h scale w h true [w 0 0 h neg 0 h] { patternproc } imagemask } if } ifelse grestore end } dup 0 8 dict put def /istroke { gsave brushDashOffset -1 eq { [] 0 setdash 1 setgray } { brushDashArray brushDashOffset setdash fgred fggreen fgblue setrgbcolor } ifelse brushWidth setlinewidth originalCTM setmatrix stroke grestore } def /ishow { 0 begin gsave fgred fggreen fgblue setrgbcolor /fontDict printFont printSize scalefont dup setfont def /descender fontDict begin 0 [FontBBox] 1 get FontMatrix end transform exch pop def /vertoffset 1 printSize sub descender sub def { 0 vertoffset moveto show /vertoffset vertoffset printSize sub def } forall grestore end } dup 0 3 dict put def /patternproc { 0 begin /patternByteLength patternString length def /patternHeight patternByteLength 8 mul sqrt cvi def /patternWidth patternHeight def /patternByteWidth patternWidth 8 idiv def /imageByteMaxLength imageByteWidth imageHeight mul stringLimit patternByteWidth sub min def /imageMaxHeight imageByteMaxLength imageByteWidth idiv patternHeight idiv patternHeight mul patternHeight max def /imageHeight imageHeight imageMaxHeight sub store /imageString imageByteWidth imageMaxHeight mul patternByteWidth add string def 0 1 imageMaxHeight 1 sub { /y exch def /patternRow y patternByteWidth mul patternByteLength mod def /patternRowString patternString patternRow patternByteWidth getinterval def /imageRow y imageByteWidth mul def 0 patternByteWidth imageByteWidth 1 sub { /x exch def imageString imageRow x add patternRowString putinterval } for } for imageString end } dup 0 12 dict put def /min { dup 3 2 roll dup 4 3 roll lt { exch } if pop } def /max { dup 3 2 roll dup 4 3 roll gt { exch } if pop } def /midpoint { 0 begin /y1 exch def /x1 exch def /y0 exch def /x0 exch def x0 x1 add 2 div y0 y1 add 2 div end } dup 0 4 dict put def /thirdpoint { 0 begin /y1 exch def /x1 exch def /y0 exch def /x0 exch def x0 2 mul x1 add 3 div y0 2 mul y1 add 3 div end } dup 0 4 dict put def /subspline { 0 begin /movetoNeeded exch def y exch get /y3 exch def x exch get /x3 exch def y exch get /y2 exch def x exch get /x2 exch def y exch get /y1 exch def x exch get /x1 exch def y exch get /y0 exch def x exch get /x0 exch def x1 y1 x2 y2 thirdpoint /p1y exch def /p1x exch def x2 y2 x1 y1 thirdpoint /p2y exch def /p2x exch def x1 y1 x0 y0 thirdpoint p1x p1y midpoint /p0y exch def /p0x exch def x2 y2 x3 y3 thirdpoint p2x p2y midpoint /p3y exch def /p3x exch def movetoNeeded { p0x p0y moveto } if p1x p1y p2x p2y p3x p3y curveto end } dup 0 17 dict put def /storexyn { /n exch def /y n array def /x n array def n 1 sub -1 0 { /i exch def y i 3 2 roll put x i 3 2 roll put } for } def /SSten { fgred fggreen fgblue setrgbcolor dup true exch 1 0 0 -1 0 6 -1 roll matrix astore } def /FSten { dup 3 -1 roll dup 4 1 roll exch newpath 0 0 moveto dup 0 exch lineto exch dup 3 1 roll exch lineto 0 lineto closepath bgred bggreen bgblue setrgbcolor eofill SSten } def /Rast { exch dup 3 1 roll 1 0 0 -1 0 6 -1 roll matrix astore } def Begin [ 0.796717 0 0 0.796717 0 0 ] concat /originalCTM matrix currentmatrix def Begin %I Rect 0 0 0 [] 0 SetB 0 0 0 SetCFg 1 1 1 SetCBg none SetP %I p n [ 1 -0 -0 1 178 -135 ] concat 46 399 150 527 Rect End Begin %I Rect 0 0 0 [] 0 SetB 0 0 0 SetCFg 1 1 1 SetCBg none SetP %I p n [ 1 -0 -0 1 450 209 ] concat 46 399 150 527 Rect End Begin %I Rect 0 0 0 [] 0 SetB 0 0 0 SetCFg 1 1 1 SetCBg none SetP %I p n [ 1 -0 -0 1 314 209 ] concat 46 399 150 527 Rect End Begin %I Rect 0 0 0 [] 0 SetB 0 0 0 SetCFg 1 1 1 SetCBg 0.75 SetP [ 1 0 0 1 178 33 ] concat 46 399 150 527 Rect End Begin %I Rect 0 0 0 [12 4] 0 SetB 0 0 0 SetCFg 1 1 1 SetCBg 0.75 SetP [ 1 0 0 1 450 33 ] concat 46 399 150 527 Rect End Begin %I Rect 0 0 0 [] 0 SetB 0 0 0 SetCFg 1 1 1 SetCBg 0.75 SetP [ 1 0 0 1 314 33 ] concat 46 399 150 527 Rect End Begin %I Text 0 0 0 SetCFg Helvetica-Bold 14 SetF [ 1 0 0 1 248 765 ] concat [ (Process 0) ] Text End Begin %I Text 0 0 0 SetCFg Helvetica-Bold 14 SetF [ 1 0 0 1 376 765 ] concat [ (Process 1) ] Text End Begin %I Text 0 0 0 SetCFg Helvetica-Bold 14 SetF [ 1 0 0 1 512 765 ] concat [ (Process 2) ] Text End Begin %I Text 0 0 0 SetCFg Helvetica-Bold 14 SetF [ 1 0 0 1 384 717 ] concat [ (recv\(any\)) ] Text End Begin %I Text 0 0 0 SetCFg Helvetica-Bold 14 SetF [ 1 0 0 1 520 717 ] concat [ (send\(1\)) ] Text End Begin %I Text 0 0 0 SetCFg Helvetica-Bold 14 SetF [ 1 0 0 1 520 637 ] concat [ (send\(0\)) ] Text End Begin %I Text 0 0 0 SetCFg Helvetica-Bold 14 SetF [ 1 0 0 1 520 541 ] concat [ (send\(0\)) ] Text End Begin %I Text 0 0 0 SetCFg Helvetica-Bold 14 SetF [ 1 0 0 1 384 469 ] concat [ (recv\(0\)) ] Text End Begin %I Line 0 0 1 [] 0 SetB 0 0 0 SetCFg 1 1 1 SetCBg none SetP %I p n [ 1 -0 -0 1 82 209 ] concat 430 503 374 503 Line End Begin %I Text 0 0 0 SetCFg Helvetica-Bold 14 SetF [ 1 0 0 1 240 349 ] concat [ (recv\(any\)) ] Text End Begin %I Text 0 0 0 SetCFg Helvetica-Bold 14 SetF [ 1 0 0 1 240 469 ] concat [ (send\(1\)) ] Text End Begin %I Text 0 0 0 SetCFg Helvetica-Bold 14 SetF [ 1 0 0 1 384 509 ] concat [ (send\(2\)) ] Text End Begin %I Text 0 0 0 SetCFg Helvetica-Bold 14 SetF [ 1 0 0 1 520 509 ] concat [ (recv\(1\)) ] Text End Begin %I Text 0 0 0 SetCFg Helvetica-Bold 14 SetF [ 1 0 0 1 240 541 ] concat [ (recv\(2\)) ] Text End Begin %I Line 0 0 1 [] 0 SetB 0 0 0 SetCFg 1 1 1 SetCBg 0.75 SetP [ 1 -0 -0 1 82 209 ] concat 358 295 430 295 Line End Begin %I Line 0 0 1 [] 0 SetB 0 0 0 SetCFg 1 1 1 SetCBg 0.75 SetP [ 1 -0 -0 1 82 209 ] concat 222 255 294 255 Line End Begin %I Line 2 0 1 [] 0 SetB 0 0 0 SetCFg 1 1 1 SetCBg 0.75 SetP [ 1 -0 -0 1 82 209 ] concat 430 415 222 335 Line End Begin %I BSpl 0 0 0 [12 4] 0 SetB 0 0 0 SetCFg 1 1 1 SetCBg none SetP %I p n [ 1 -0 -0 1 82 209 ] concat 550 375 446 375 350 367 262 319 182 295 110 295 110 295 7 BSpl End Begin %I Text 0 0 0 SetCFg Helvetica 14 SetF [ 1 0 0 1 130 705 ] concat [ (Sub1a) ] Text End Begin %I Text 0 0 0 SetCFg Helvetica 14 SetF [ 1 0 0 1 131 512 ] concat [ (Sub2) ] Text End Begin %I Text 0 0 0 SetCFg Helvetica 14 SetF [ 1 0 0 1 132 321 ] concat [ (Sub1b) ] Text End End %I eop showpage end @endspecial 2065 2770 a Fo(44)p eop bop 71 120 a @beginspecial @setspecial /$F2psDict 32 dict def $F2psDict begin $F2psDict /mtrx matrix put end /$F2psBegin {$F2psDict begin /$F2psEnteredState save def} def /$F2psEnd {$F2psEnteredState restore end} def $F2psBegin 0.900000 -0.900000 scale 90 rotate 0 -612 translate -36 36 translate 4.000 setlinewidth .2 setgray newpath 34 19 moveto 19 19 19 604 15 arcto 4 {pop} repeat 19 619 764 619 15 arcto 4 {pop} repeat 779 619 779 34 15 arcto 4 {pop} repeat 779 19 34 19 15 arcto 4 {pop} repeat closepath stroke showpage $F2psEnd @endspecial 187 x Fh(Solution)31 b(to)h(the)f(t)m(yp)s(e)h(p)m(roblem)p 71 357 1910 19 v 71 372 1910 7 v 82 899 a Fm(\017)42 b Fl(A)29 b(sepa)n(rate)f(communicati)o(on)e Fj(context)36 b Fl(fo)n(r)28 b(each)h(family)161 978 y(of)g(messages,)e(used)i(fo)n(r)g(queueing)f(and)h (matching.)161 1057 y(\(This)f(has)g(often)h(b)r(een)h(simulated)c(in)i(the)h (past)g(b)n(y)161 1135 y(overloading)e(the)i(tag)f(\014eld.\))82 1308 y Fm(\017)42 b Fl(No)28 b(wild)g(ca)n(rds)g(allo)n(w)n(ed,)e(fo)n(r)j (securit)n(y)82 1480 y Fm(\017)42 b Fl(Allo)r(cated)28 b(b)n(y)g(the)h (system,)g(fo)n(r)f(securit)n(y)82 1652 y Fm(\017)42 b Fl(T)-7 b(yp)r(es)29 b(\()p Fj(tags)6 b Fl(,)29 b(in)f(MPI\))h(retained)f(fo)n(r)h (no)n(rmal)c(use)k(\(wild)161 1731 y(ca)n(rds)f(OK\))2065 2770 y Fo(45)p eop bop 71 120 a @beginspecial @setspecial /$F2psDict 32 dict def $F2psDict begin $F2psDict /mtrx matrix put end /$F2psBegin {$F2psDict begin /$F2psEnteredState save def} def /$F2psEnd {$F2psEnteredState restore end} def $F2psBegin 0.900000 -0.900000 scale 90 rotate 0 -612 translate -36 36 translate 4.000 setlinewidth .2 setgray newpath 34 19 moveto 19 19 19 604 15 arcto 4 {pop} repeat 19 619 764 619 15 arcto 4 {pop} repeat 779 619 779 34 15 arcto 4 {pop} repeat 779 19 34 19 15 arcto 4 {pop} repeat closepath stroke showpage $F2psEnd @endspecial 187 x Fh(Delimiting)30 b(Scop)s(e)h(of)h(Communication)p 71 357 1910 19 v 71 372 1910 7 v 82 783 a Fm(\017)42 b Fl(Sepa)n(rate)27 b(groups)i(of)g(p)n(ro)r(cesses)g(w)n(o)n(rking)e(on)161 862 y(subp)n(roblems)181 987 y({)42 b(Merging)28 b(of)h(p)n(ro)r(cess)g(name)f (space)g(interferes)h(with)266 1066 y(mo)r(dula)n(ri)o(t)n(y)181 1192 y({)42 b(\\Lo)r(cal")28 b(p)n(ro)r(cess)h(identi\014ers)e(desirable)82 1364 y Fm(\017)42 b Fl(P)n(a)n(rall)o(el)25 b(invo)r(cation)j(of)h(pa)n (rallel)c(lib)n(ra)n(ri)o(es)181 1490 y({)42 b(Messages)29 b(from)f(application)d(must)j(b)r(e)i(k)n(ept)266 1568 y(sepa)n(rate)e(from)f (messages)h(internal)f(to)i(lib)n(ra)n(r)o(y)-7 b(.)181 1694 y({)42 b(Kno)n(wledge)28 b(of)h(lib)n(ra)n(ry)d(message)h(t)n(yp)r(es)j (interferes)266 1773 y(with)e(mo)r(dula)n(rit)m(y)-7 b(.)181 1898 y({)42 b(Synchronizing)27 b(b)r(efo)n(re)i(and)g(after)f(lib)n(ra)n(ry)e (calls)h(is)266 1977 y(undesirable.)2065 2770 y Fo(46)p eop bop 71 120 a @beginspecial @setspecial /$F2psDict 32 dict def $F2psDict begin $F2psDict /mtrx matrix put end /$F2psBegin {$F2psDict begin /$F2psEnteredState save def} def /$F2psEnd {$F2psEnteredState restore end} def $F2psBegin 0.900000 -0.900000 scale 90 rotate 0 -612 translate -36 36 translate 4.000 setlinewidth .2 setgray newpath 34 19 moveto 19 19 19 604 15 arcto 4 {pop} repeat 19 619 764 619 15 arcto 4 {pop} repeat 779 619 779 34 15 arcto 4 {pop} repeat 779 19 34 19 15 arcto 4 {pop} repeat closepath stroke showpage $F2psEnd @endspecial 187 x Fh(Generalizing)30 b(the)i(Pro)s(cess)g(Identi\014er)p 71 357 1910 19 v 71 372 1910 7 v 82 574 a Fm(\017)42 b Fl(Collective)27 b(op)r(erations)h(t)n(ypically)e(op)r(erated)j(on)g(all)161 652 y(p)n(ro)r(cesses)g(\(although)f(some)g(systems)g(p)n(rovide)161 731 y(subgroups\).)82 904 y Fm(\017)42 b Fl(This)27 b(is)h(to)r(o)h (restrictive)f(\(e.g.,)h(need)g(minimum)24 b(over)29 b(a)161 982 y(column)e(o)n(r)h(a)g(sum)g(across)g(a)h(ro)n(w,)f(of)h(p)n(ro)r (cesses\))82 1155 y Fm(\017)42 b Fl(MPI)29 b(p)n(rovides)e Fj(groups)35 b Fl(of)29 b(p)n(ro)r(cesses)181 1280 y({)42 b(initial)25 b(\\all")h(group)181 1406 y({)42 b(group)28 b(management)f(routines)h (\(build,)f(delete)266 1485 y(groups\))82 1657 y Fm(\017)42 b Fl(All)27 b(communication)e(\(not)30 b(just)e(collective)g(op)r(erations\)) 161 1736 y(tak)n(es)g(place)g(in)f(groups.)82 1908 y Fm(\017)42 b Fl(A)29 b(group)f(and)h(a)f(context)i(a)n(re)e(combined)f(in)h(a)161 1987 y Fj(communicato)n(r)o Fl(.)82 2159 y Fm(\017)42 b Fl (Source/destination)27 b(in)h(send/receive)h(op)r(erations)f(refer)161 2238 y(to)g Fj(rank)35 b Fl(in)28 b(group)g(asso)r(ciated)h(with)f(a)g(given) 161 2317 y(communicato)n(r)o(.)36 b Ff(MPI_ANY_)o(SO)o(URC)o(E)26 b Fl(p)r(ermitted)h(in)h(a)161 2396 y(receive.)2065 2770 y Fo(47)p eop bop 71 120 a @beginspecial @setspecial /$F2psDict 32 dict def $F2psDict begin $F2psDict /mtrx matrix put end /$F2psBegin {$F2psDict begin /$F2psEnteredState save def} def /$F2psEnd {$F2psEnteredState restore end} def $F2psBegin 0.900000 -0.900000 scale 90 rotate 0 -612 translate -36 36 translate 4.000 setlinewidth .2 setgray newpath 34 19 moveto 19 19 19 604 15 arcto 4 {pop} repeat 19 619 764 619 15 arcto 4 {pop} repeat 779 619 779 34 15 arcto 4 {pop} repeat 779 19 34 19 15 arcto 4 {pop} repeat closepath stroke showpage $F2psEnd @endspecial 187 x Fh(MPI)30 b(Basic)i(Send/Receive)p 71 357 1910 19 v 71 372 1910 7 v 71 752 a Fl(Thus)c(the)h(basic)f(\(blo)r(cking\))g (send)h(has)g(b)r(ecome:)180 893 y Ff(MPI_Send\()k(start,)h(count,)h (datatype)o(,)e(dest,)i(tag,)693 972 y(comm)g(\))71 1113 y Fl(and)28 b(the)h(receive:)180 1254 y Ff(MPI_Recv\(s)o(ta)o(rt,)k(count,)h (datatype,)f(source,)h(tag,)693 1333 y(comm,)g(status\))71 1474 y Fl(The)29 b(source,)i(tag,)f(and)f(count)i(of)f(the)g(message)g (actually)71 1553 y(received)e(can)h(b)r(e)h(retrieved)e(from)g Ff(status)p Fl(.)71 1694 y(Tw)n(o)g(simple)e(collective)i(op)r(erations:)180 1835 y Ff(MPI_Bcast\()o(st)o(art)o(,)33 b(count,)i(datatype)o(,)e(root,)i (comm\))180 1914 y(MPI_Reduce)o(\(s)o(tar)o(t,)e(result,)h(count,)g (datatype,)583 1993 y(operation)o(,)f(root,)i(comm\))2065 2770 y Fo(48)p eop bop 71 120 a @beginspecial @setspecial /$F2psDict 32 dict def $F2psDict begin $F2psDict /mtrx matrix put end /$F2psBegin {$F2psDict begin /$F2psEnteredState save def} def /$F2psEnd {$F2psEnteredState restore end} def $F2psBegin 0.900000 -0.900000 scale 90 rotate 0 -612 translate -36 36 translate 4.000 setlinewidth .2 setgray newpath 34 19 moveto 19 19 19 604 15 arcto 4 {pop} repeat 19 619 764 619 15 arcto 4 {pop} repeat 779 619 779 34 15 arcto 4 {pop} repeat 779 19 34 19 15 arcto 4 {pop} repeat closepath stroke showpage $F2psEnd @endspecial 187 x Fh(Getting)31 b(info)m(rmation)i(ab)s(out)f(a)g(message)p 71 357 1910 19 v 71 372 1910 7 v 71 916 a Ff(MPI_Stat)o(us)h(status;)71 994 y(MPI_Recv)o(\()g(...,)i(&status)f(\);)71 1073 y(...)h(status.MP)o(I_)o (TAG)o(;)71 1152 y(...)g(status.MP)o(I_)o(SOU)o(RC)o(E;)71 1231 y(MPI_Get_)o(co)o(unt)o(\()e(&status,)h(datatype)o(,)g(&count)g(\);)71 1372 y(MPI_TAG)c Fl(and)k Ff(MPI_SOURC)o(E)d Fl(p)n(rima)m(ri)o(l)o(y)g(of)k (use)f(when)71 1451 y Ff(MPI_ANY_)o(TA)o(G)26 b Fl(and/o)n(r)i Ff(MPI_ANY_)o(SOU)o(RC)o(E)e Fl(in)h(the)j(receive.)71 1592 y Ff(MPI_Get_)o(co)o(unt)c Fl(ma)n(y)j(b)r(e)i(used)f(to)h(determine)e(ho)n (w)h(much)71 1671 y(data)e(of)h(a)f(pa)n(rticula)n(r)d(t)n(yp)r(e)30 b(w)n(as)e(received.)2065 2770 y Fo(49)p eop bop 71 120 a @beginspecial @setspecial /$F2psDict 32 dict def $F2psDict begin $F2psDict /mtrx matrix put end /$F2psBegin {$F2psDict begin /$F2psEnteredState save def} def /$F2psEnd {$F2psEnteredState restore end} def $F2psBegin 0.900000 -0.900000 scale 90 rotate 0 -612 translate -36 36 translate 4.000 setlinewidth .2 setgray newpath 34 19 moveto 19 19 19 604 15 arcto 4 {pop} repeat 19 619 764 619 15 arcto 4 {pop} repeat 779 619 779 34 15 arcto 4 {pop} repeat 779 19 34 19 15 arcto 4 {pop} repeat closepath stroke showpage $F2psEnd @endspecial 187 x Fh(Simple)30 b(F)m(o)m(rtran)k(example)p 71 357 1910 19 v 71 372 1910 7 v 253 505 a Fc(program)g(main)253 571 y(include)g('mpif.h)q(')253 704 y(integer)g(rank,)f(size,)g(to,)f(from,)h (tag,)f(count,)i(i,)d(ierr)253 771 y(integer)j(src,)f(dest)253 837 y(integer)h(st_sour)q(ce)q(,)g(st_tag,)g(st_count)253 903 y(integer)g(status\()q(MP)q(I_)q(ST)q(AT)q(US)q(_S)q(IZ)q(E\))253 970 y(double)g(precisio)q(n)g(data\(100)q(\))253 1103 y(call)f(MPI_INIT)q(\() h(ierr)e(\))253 1169 y(call)h(MPI_COMM)q(_R)q(AN)q(K\()h(MPI_COM)q(M_)q(WO)q (RL)q(D,)g(rank,)f(ierr)f(\))253 1236 y(call)h(MPI_COMM)q(_S)q(IZ)q(E\()h (MPI_COM)q(M_)q(WO)q(RL)q(D,)g(size,)f(ierr)f(\))253 1302 y(print)h(*,)f ('Process)i(',)e(rank,)h(')e(of)g(',)g(size,)i(')e(is)h(alive')253 1368 y(dest)h(=)e(size)h(-)f(1)253 1435 y(src)h(=)f(0)71 1501 y(C)253 1568 y(if)h(\(rank)h(.eq.)f(src\))h(then)345 1634 y(to)153 b(=)31 b(dest)345 1700 y(count)63 b(=)31 b(10)345 1767 y(tag)123 b(=)31 b(2001)345 1833 y(do)g(10)h(i=1,)g(10)101 1900 y(10)275 b(data\(i\))34 b(=)d(i)345 1966 y(call)h(MPI_SEN)q(D\()i(data,)f(count,)h (MPI_DOUBL)q(E_)q(PR)q(EC)q(IS)q(IO)q(N,)g(to,)223 2033 y(+)580 b(tag,)32 b(MPI_COM)q(M_)q(WOR)q(LD)q(,)i(ierr)e(\))253 2099 y(else)h(if)e(\(rank)i(.eq.)g(dest\))g(then)345 2165 y(tag)93 b(=)31 b(MPI_ANY_)q(TA)q(G)345 2232 y(count)i(=)e(10)345 2298 y(from)63 b(=)31 b(MPI_ANY_)q(SO)q(UR)q(CE)345 2365 y(call)h(MPI_REC)q(V\()q (da)q(ta)q(,)i(count,)f(MPI_DOUB)q(LE)q(_P)q(RE)q(CI)q(SI)q(ON)q(,)h(from,) 223 2431 y(+)549 b(tag,)33 b(MPI_COMM)q(_W)q(ORL)q(D,)h(status,)g(ierr)f(\)) 2065 2770 y Fo(50)p eop bop 71 120 a @beginspecial @setspecial /$F2psDict 32 dict def $F2psDict begin $F2psDict /mtrx matrix put end /$F2psBegin {$F2psDict begin /$F2psEnteredState save def} def /$F2psEnd {$F2psEnteredState restore end} def $F2psBegin 0.900000 -0.900000 scale 90 rotate 0 -612 translate -36 36 translate 4.000 setlinewidth .2 setgray newpath 34 19 moveto 19 19 19 604 15 arcto 4 {pop} repeat 19 619 764 619 15 arcto 4 {pop} repeat 779 619 779 34 15 arcto 4 {pop} repeat 779 19 34 19 15 arcto 4 {pop} repeat closepath stroke showpage $F2psEnd @endspecial 187 x Fh(Simple)30 b(F)m(o)m(rtran)k(example)e(\(cont.\))p 71 357 1910 19 v 71 372 1910 7 v 345 908 a Fc(call)g(MPI_GET)q(_C)q(OU)q(NT)q (\()i(status,)g(MPI_DOUBL)q(E_)q(PR)q(EC)q(IS)q(IO)q(N,)223 974 y(+)702 b(st_count)q(,)34 b(ierr)e(\))345 1041 y(st_sourc)q(e)i(=)d (status\(M)q(PI)q(_S)q(OU)q(RC)q(E\))345 1107 y(st_tag)125 b(=)31 b(status\(M)q(PI)q(_T)q(AG)q(\))71 1173 y(C)345 1240 y(print)i(*,)e('Status)j(info:)f(source)h(=)c(',)i(st_sourc)q(e,)223 1306 y(+)397 b(')31 b(tag)h(=)f(',)g(st_tag,)j(')d(count)i(=)e(',)g(st_coun)q (t)345 1373 y(print)i(*,)e(rank,)i(')e(receive)q(d')q(,)j(\(data\(i\),)q(i=)q (1,)q(10)q(\))253 1439 y(endif)253 1572 y(call)f(MPI_FINA)q(LI)q(ZE)q(\()h (ierr)e(\))253 1638 y(end)2065 2770 y Fo(51)p eop bop 71 120 a @beginspecial @setspecial /$F2psDict 32 dict def $F2psDict begin $F2psDict /mtrx matrix put end /$F2psBegin {$F2psDict begin /$F2psEnteredState save def} def /$F2psEnd {$F2psEnteredState restore end} def $F2psBegin 0.900000 -0.900000 scale 90 rotate 0 -612 translate -36 36 translate 4.000 setlinewidth .2 setgray newpath 34 19 moveto 19 19 19 604 15 arcto 4 {pop} repeat 19 619 764 619 15 arcto 4 {pop} repeat 779 619 779 34 15 arcto 4 {pop} repeat 779 19 34 19 15 arcto 4 {pop} repeat closepath stroke showpage $F2psEnd @endspecial 187 x Fh(Six)30 b(F)m(unction)i(MPI)p 71 357 1910 19 v 71 372 1910 7 v 71 786 a Fp(MPI)h(is)h(very)g(simple.)46 b(These)33 b(six)h(functions)e(allo)m(w)71 910 y(y)m(ou)h(to)i(write)h(many)e (p)m(rograms:)71 1085 y Fn(MPI)p 272 1085 35 2 v 41 w(Init)71 1259 y(MPI)p 272 1259 V 41 w(Finalize)71 1434 y(MPI)p 272 1434 V 41 w(Comm)p 621 1434 V 38 w(size)71 1608 y(MPI)p 272 1608 V 41 w(Comm)p 621 1608 V 38 w(rank)71 1782 y(MPI)p 272 1782 V 41 w(Send)71 1957 y(MPI)p 272 1957 V 41 w(Recv)2065 2770 y Fo(52)p eop bop 71 120 a @beginspecial @setspecial /$F2psDict 32 dict def $F2psDict begin $F2psDict /mtrx matrix put end /$F2psBegin {$F2psDict begin /$F2psEnteredState save def} def /$F2psEnd {$F2psEnteredState restore end} def $F2psBegin 0.900000 -0.900000 scale 90 rotate 0 -612 translate -36 36 translate 4.000 setlinewidth .2 setgray newpath 34 19 moveto 19 19 19 604 15 arcto 4 {pop} repeat 19 619 764 619 15 arcto 4 {pop} repeat 779 619 779 34 15 arcto 4 {pop} repeat 779 19 34 19 15 arcto 4 {pop} repeat closepath stroke showpage $F2psEnd @endspecial 187 x Fh(A)31 b(taste)i(of)f(things)f(to)i(come)p 71 357 1910 19 v 71 372 1910 7 v 71 526 a Fp(The)39 b(follo)m(wing)i (examples)f(sho)m(w)f(a)h(C)g(and)71 650 y(F)m(o)m(rtran)35 b(version)f(of)g(the)g(same)g(p)m(rogram.)71 808 y(This)k(p)m(rogram)h (computes)f(PI)h(\(with)g(a)f(very)71 933 y(simple)g(metho)s(d\))e(but)g(do)s (es)f(not)h(use)g Fd(MPI_Send)71 1057 y Fp(and)h Fd(MPI_Recv)p Fp(.)58 b(Instead,)39 b(it)h(uses)d Fg(collective)71 1182 y Fp(op)s(erations)e(to)i(send)e(data)h(to)g(and)g(from)g(all)j(of)71 1306 y(the)34 b(running)h(p)m(ro)s(cesses.)45 b(This)35 b(gives)g(a)f Fg(di\013erent)71 1431 y Fp(six-function)g(MPI)h(set:)71 1605 y Fn(MPI)p 272 1605 35 2 v 41 w(Init)71 1779 y(MPI)p 272 1779 V 41 w(Finalize)71 1954 y(MPI)p 272 1954 V 41 w(Comm)p 621 1954 V 38 w(size)71 2128 y(MPI)p 272 2128 V 41 w(Comm)p 621 2128 V 38 w(rank)71 2302 y(MPI)p 272 2302 V 41 w(Bcast)71 2477 y(MPI)p 272 2477 V 41 w(Reduce)2065 2770 y Fo(53)p eop bop 71 120 a @beginspecial @setspecial /$F2psDict 32 dict def $F2psDict begin $F2psDict /mtrx matrix put end /$F2psBegin {$F2psDict begin /$F2psEnteredState save def} def /$F2psEnd {$F2psEnteredState restore end} def $F2psBegin 0.900000 -0.900000 scale 90 rotate 0 -612 translate -36 36 translate 4.000 setlinewidth .2 setgray newpath 34 19 moveto 19 19 19 604 15 arcto 4 {pop} repeat 19 619 764 619 15 arcto 4 {pop} repeat 779 619 779 34 15 arcto 4 {pop} repeat 779 19 34 19 15 arcto 4 {pop} repeat closepath stroke showpage $F2psEnd @endspecial 187 x Fh(Broadcast)33 b(and)f(Reduction)p 71 357 1910 19 v 71 372 1910 7 v 71 1001 a Fp(The)j(routine)h Fd(MPI_Bcast)f Fp(sends)g(data)g(from)h(one)71 1125 y(p)m(ro)s(cess)d(to)h(all)i(others.)71 1283 y(The)f(routine)h Fd(MPI_Reduce)e Fp(combines)h(data)g(from)71 1408 y(all)i(p)m(ro)s(cesses)d(\(b)m(y)i(adding)f(them)h(in)g(this)g(case\),) 71 1532 y(and)d(returning)i(the)f(result)i(to)e(a)g(single)h(p)m(ro)s(cess.) 2065 2770 y Fo(54)p eop bop 71 120 a @beginspecial @setspecial /$F2psDict 32 dict def $F2psDict begin $F2psDict /mtrx matrix put end /$F2psBegin {$F2psDict begin /$F2psEnteredState save def} def /$F2psEnd {$F2psEnteredState restore end} def $F2psBegin 0.900000 -0.900000 scale 90 rotate 0 -612 translate -36 36 translate 4.000 setlinewidth .2 setgray newpath 34 19 moveto 19 19 19 604 15 arcto 4 {pop} repeat 19 619 764 619 15 arcto 4 {pop} repeat 779 619 779 34 15 arcto 4 {pop} repeat 779 19 34 19 15 arcto 4 {pop} repeat closepath stroke showpage $F2psEnd @endspecial 187 x Fh(F)m(o)m(rtran)34 b(example:)42 b(PI)p 71 357 1910 19 v 71 372 1910 7 v 253 639 a Fc(program)34 b(main)253 772 y(include)g("mpif.h)q(")253 905 y(double)g(precisio)q(n)64 b(PI25DT)253 971 y(paramet)q(er)248 b(\(PI25DT)34 b(=)d(3.1415926)q(53)q(58)q (97)q(93)q(23)q(84)q(62)q(64)q(3d)q(0\))253 1104 y(double)j(precisio)q(n)64 b(mypi,)33 b(pi,)f(h,)g(sum,)g(x,)f(f,)h(a)253 1171 y(integer)i(n,)e(myid,)h (numprocs)q(,)h(i,)d(rc)71 1237 y(c)1006 b(function)34 b(to)e(integrat)q(e) 253 1304 y(f\(a\))h(=)e(4.d0)h(/)f(\(1.d0)i(+)e(a*a\))253 1436 y(call)i(MPI_INIT)q(\()h(ierr)e(\))253 1503 y(call)h(MPI_COMM)q(_R)q(AN)q (K\()h(MPI_COM)q(M_)q(WO)q(RL)q(D,)g(myid,)f(ierr)f(\))253 1569 y(call)h(MPI_COMM)q(_S)q(IZ)q(E\()h(MPI_COM)q(M_)q(WO)q(RL)q(D,)g (numprocs)q(,)g(ierr)e(\))101 1702 y(10)92 b(if)32 b(\()f(myid)h(.eq.)h(0)e (\))g(then)345 1768 y(write\(6,)q(98)q(\))101 1835 y(98)184 b(format\(')q(En)q(te)q(r)34 b(the)e(number)h(of)f(intervals)q(:)i(\(0)d (quits\)')q(\))345 1901 y(read\(5,9)q(9\))j(n)101 1968 y(99)184 b(format\(i)q(10)q(\))253 2034 y(endif)253 2167 y(call)33 b(MPI_BCAS)q(T\()q (n,)q(1,)q(MP)q(I_)q(IN)q(TE)q(GE)q(R,)q(0,)q(MPI)q(_C)q(OM)q(M_)q(WO)q(RL)q (D,)q(ie)q(rr)q(\))2065 2770 y Fo(55)p eop bop 71 120 a @beginspecial @setspecial /$F2psDict 32 dict def $F2psDict begin $F2psDict /mtrx matrix put end /$F2psBegin {$F2psDict begin /$F2psEnteredState save def} def /$F2psEnd {$F2psEnteredState restore end} def $F2psBegin 0.900000 -0.900000 scale 90 rotate 0 -612 translate -36 36 translate 4.000 setlinewidth .2 setgray newpath 34 19 moveto 19 19 19 604 15 arcto 4 {pop} repeat 19 619 764 619 15 arcto 4 {pop} repeat 779 619 779 34 15 arcto 4 {pop} repeat 779 19 34 19 15 arcto 4 {pop} repeat closepath stroke showpage $F2psEnd @endspecial 187 x Fh(F)m(o)m(rtran)34 b(example)d(\(cont.\))p 71 357 1910 19 v 71 372 1910 7 v 71 531 a Fc(c)976 b(check)33 b(for)e(quit)i(signal)223 598 y(if)e(\()g(n)g(.le.)i(0)e(\))g(goto)h(30)71 731 y(c)976 b(calculate)34 b(the)e(interva)q(l)i(size)223 797 y(h)d(=)g(1.0d0/n)223 930 y(sum)62 b(=)31 b(0.0d0)223 996 y(do)g(20)h(i)f(=)g (myid+1,)j(n,)d(numproc)q(s)314 1063 y(x)92 b(=)31 b(h)g(*)g(\(dble\(i)q(\))j (-)d(0.5d0\))314 1129 y(sum)h(=)f(sum)h(+)f(f\(x\))101 1196 y(20)62 b(continue)223 1262 y(mypi)32 b(=)f(h)g(*)g(sum)71 1395 y(c)976 b(collect)33 b(all)f(the)g(partial)i(sums)223 1461 y(call)e(MPI_RED)q(UC)q(E\()q(my)q(pi)q(,p)q(i,)q(1,)q(MP)q(I_)q(DO)q (UB)q(LE_)q(PR)q(EC)q(IS)q(IO)q(N,)q(MP)q(I_)q(SU)q(M,)q(0,)193 1528 y($)152 b(MPI_COM)q(M_)q(WO)q(RL)q(D,)q(ie)q(rr)q(\))71 1660 y(c)976 b(node)32 b(0)f(prints)i(the)f(answer.)223 1727 y(if)f(\(myid)i(.eq.)g(0\))e(then)314 1793 y(write\(6)q(,)j(97\))e(pi,)g (abs\(pi)h(-)e(PI25DT\))101 1860 y(97)153 b(format\()q(')64 b(pi)32 b(is)f(approxi)q(ma)q(te)q(ly)q(:)j(',)d(F18.16,)193 1926 y(+)305 b(')61 b(Error)33 b(is:)f(',)g(F18.16\))223 1993 y(endif)223 2125 y(goto)g(10)101 2258 y(30)62 b(call)32 b(MPI_FIN)q(AL)q(IZ)q (E\()q(rc)q(\))223 2325 y(stop)223 2391 y(end)2065 2770 y Fo(56)p eop bop 71 120 a @beginspecial @setspecial /$F2psDict 32 dict def $F2psDict begin $F2psDict /mtrx matrix put end /$F2psBegin {$F2psDict begin /$F2psEnteredState save def} def /$F2psEnd {$F2psEnteredState restore end} def $F2psBegin 0.900000 -0.900000 scale 90 rotate 0 -612 translate -36 36 translate 4.000 setlinewidth .2 setgray newpath 34 19 moveto 19 19 19 604 15 arcto 4 {pop} repeat 19 619 764 619 15 arcto 4 {pop} repeat 779 619 779 34 15 arcto 4 {pop} repeat 779 19 34 19 15 arcto 4 {pop} repeat closepath stroke showpage $F2psEnd @endspecial 187 x Fh(C)32 b(example:)42 b(PI)p 71 357 1910 19 v 71 372 1910 7 v 71 859 a Fc(#include)34 b("mpi.h")71 926 y(#include)g()71 1058 y(int)e(main\(argc)q(,a)q(rg)q(v\))71 1125 y(int)g(argc;)71 1191 y(char)g(*argv[];)71 1258 y({)132 1324 y(int)f(done)i(=)e(0,)g(n,)h(myid,)h(numprocs)q(,)h(i,)d(rc;)132 1391 y(double)i(PI25DT)g(=)e(3.14159)q(26)q(53)q(58)q(97)q(93)q(23)q(84)q (626)q(43)q(;)132 1457 y(double)i(mypi,)g(pi,)f(h,)f(sum,)i(x,)e(a;)132 1590 y(MPI_Init\()q(&a)q(rg)q(c,)q(&a)q(rg)q(v\))q(;)132 1656 y(MPI_Comm_)q(si)q(ze)q(\(M)q(PI)q(_C)q(OM)q(M_)q(WO)q(RL)q(D,)q(&n)q(um)q (pr)q(oc)q(s\);)132 1723 y(MPI_Comm_)q(ra)q(nk)q(\(M)q(PI)q(_C)q(OM)q(M_)q (WO)q(RL)q(D,)q(&m)q(yi)q(d\))q(;)2065 2770 y Fo(57)p eop bop 71 120 a @beginspecial @setspecial /$F2psDict 32 dict def $F2psDict begin $F2psDict /mtrx matrix put end /$F2psBegin {$F2psDict begin /$F2psEnteredState save def} def /$F2psEnd {$F2psEnteredState restore end} def $F2psBegin 0.900000 -0.900000 scale 90 rotate 0 -612 translate -36 36 translate 4.000 setlinewidth .2 setgray newpath 34 19 moveto 19 19 19 604 15 arcto 4 {pop} repeat 19 619 764 619 15 arcto 4 {pop} repeat 779 619 779 34 15 arcto 4 {pop} repeat 779 19 34 19 15 arcto 4 {pop} repeat closepath stroke showpage $F2psEnd @endspecial 187 x Fh(C)32 b(example)f(\(cont.\))p 71 357 1910 19 v 71 372 1910 7 v 132 596 a Fc(while)h(\(!done\))132 663 y({)193 729 y(if)f(\(myid)i(==)e(0\))h({)314 795 y(printf\()q("E)q(nt)q(er)i (the)e(number)i(of)d(interval)q(s:)j(\(0)e(quits\))h("\);)314 862 y(scanf\(")q(\045d)q(",)q(&n)q(\);)193 928 y(})193 995 y(MPI_Bcast)q(\(&)q(n,)h(1,)e(MPI_INT,)i(0,)e(MPI_COMM_)q(WO)q(RL)q(D\))q(;) 193 1061 y(if)f(\(n)g(==)h(0\))f(break;)193 1194 y(h)91 b(=)31 b(1.0)h(/)f(\(double)q(\))j(n;)193 1260 y(sum)d(=)g(0.0;)193 1327 y(for)g(\(i)h(=)f(myid)h(+)f(1;)h(i)f(<=)g(n;)h(i)f(+=)g(numprocs)q(\))j ({)314 1393 y(x)d(=)g(h)g(*)g(\(\(doubl)q(e\))q(i)j(-)d(0.5\);)314 1460 y(sum)h(+=)g(4.0)g(/)f(\(1.0)h(+)f(x*x\);)193 1526 y(})193 1592 y(mypi)h(=)f(h)g(*)g(sum;)193 1725 y(MPI_Reduc)q(e\()q(&m)q(yp)q(i,)j (&pi,)f(1,)e(MPI_DOU)q(BL)q(E,)j(MPI_SUM,)g(0,)558 1792 y(MPI_COM)q(M_)q(WO)q (RL)q(D\))q(;)193 1925 y(if)d(\(myid)i(==)e(0\))314 1991 y(printf\()q("p)q(i) j(is)d(approxi)q(ma)q(te)q(ly)j(\045.16f,)f(Error)g(is)f(\045.16f\\n")q(,)528 2057 y(pi,)g(fabs\(pi)i(-)d(PI25DT\)\))q(;)132 2124 y(})132 2190 y(MPI_Final)q(iz)q(e\()q(\);)71 2257 y(})2065 2770 y Fo(58)p eop bop 71 120 a @beginspecial @setspecial /$F2psDict 32 dict def $F2psDict begin $F2psDict /mtrx matrix put end /$F2psBegin {$F2psDict begin /$F2psEnteredState save def} def /$F2psEnd {$F2psEnteredState restore end} def $F2psBegin 0.900000 -0.900000 scale 90 rotate 0 -612 translate -36 36 translate 4.000 setlinewidth .2 setgray newpath 34 19 moveto 19 19 19 604 15 arcto 4 {pop} repeat 19 619 764 619 15 arcto 4 {pop} repeat 779 619 779 34 15 arcto 4 {pop} repeat 779 19 34 19 15 arcto 4 {pop} repeat closepath stroke showpage $F2psEnd @endspecial 187 x Fh(Exercise)31 b(-)g(PI)p 71 357 1910 19 v 71 372 1910 7 v 71 824 a Fp(Objective:)45 b(Exp)s(eriment)36 b(with)f(send/receive)71 981 y(Run)k(either)j(p)m(rogram)e(fo)m(r)g(PI.)g(W)m (rite)i(new)71 1106 y(versions)36 b(that)g(replace)h(the)f(calls)h(to)g Fd(MPI_Bcast)71 1230 y Fp(and)c Fd(MPI_Reduce)g Fp(with)j Fd(MPI_Send)d Fp(and)h Fd(MPI_Recv)p Fp(.)71 1388 y Fk(\177)g Fg(The)h(MPI)g(b)m(roadcast)e (and)h(reduce)g(op)s(erations)71 1513 y(use)d(at)h(most)h Fp(log)14 b Fb(p)33 b Fg(send)e(and)g(receive)j(op)s(erations)71 1637 y(on)39 b(each)g(p)m(ro)s(cess)f(where)i Fb(p)g Fg(is)h(the)e(size)i(of)71 1762 y Fd(MPI)p 208 1762 27 2 v 31 w(COMM)p 415 1762 V 31 w(WORLD)p Fg(.)c(Ho)m(w)i(many)e(op)s(erations)h(do)71 1886 y(y)m(our)c(versions)g (use?)2065 2770 y Fo(59)p eop bop 71 120 a @beginspecial @setspecial /$F2psDict 32 dict def $F2psDict begin $F2psDict /mtrx matrix put end /$F2psBegin {$F2psDict begin /$F2psEnteredState save def} def /$F2psEnd {$F2psEnteredState restore end} def $F2psBegin 0.900000 -0.900000 scale 90 rotate 0 -612 translate -36 36 translate 4.000 setlinewidth .2 setgray newpath 34 19 moveto 19 19 19 604 15 arcto 4 {pop} repeat 19 619 764 619 15 arcto 4 {pop} repeat 779 619 779 34 15 arcto 4 {pop} repeat 779 19 34 19 15 arcto 4 {pop} repeat closepath stroke showpage $F2psEnd @endspecial 187 x Fh(Exercise)31 b(-)g(Ring)p 71 357 1910 19 v 71 372 1910 7 v 71 717 a Fp(Objective:)45 b(Exp)s(eriment)36 b(with)f(send/receive)71 874 y(W)m(rite)g(a)d(p)m(rogram)h(to)g(send)f(a)h (message)e(a)m(round)h(a)71 999 y(ring)f(of)f(p)m(ro)s(cesso)m(rs.)43 b(That)31 b(is,)g(p)m(ro)s(cesso)m(r)f(0)h(sends)71 1123 y(to)37 b(p)m(ro)s(cesso)m(r)f(1,)h(who)f(sends)f(to)i(p)m(ro)s(cesso)m(r)f(2,)71 1248 y(etc.)47 b(The)35 b(last)h(p)m(ro)s(cesso)m(r)e(returns)h(the)g (message)71 1372 y(to)f(p)m(ro)s(cesso)m(r)f(0.)71 1530 y Fk(\177)i Fg(Y)-9 b(ou)34 b(can)g(use)g(the)h(routine)h Fd(MPI)p 1362 1530 27 2 v 31 w(Wtime)e Fg(to)h(time)71 1655 y(co)s(de)e(in)i(MPI.)g(The)f (statement)71 1812 y Fd(t)43 b(=)h(MPI)p 383 1812 V 31 w(Wtime\(\);)71 1970 y Fg(returns)d(the)g(time)i(as)e(a)h Fd(double)e Fg(\()p Fd(DOUBLE)71 2095 y(PRECISION)33 b Fg(in)i(F)m(o)m(rtran\).)2065 2770 y Fo(60)p eop bop 71 120 a @beginspecial @setspecial /$F2psDict 32 dict def $F2psDict begin $F2psDict /mtrx matrix put end /$F2psBegin {$F2psDict begin /$F2psEnteredState save def} def /$F2psEnd {$F2psEnteredState restore end} def $F2psBegin 0.900000 -0.900000 scale 90 rotate 0 -612 translate -36 36 translate 4.000 setlinewidth .2 setgray newpath 34 19 moveto 19 19 19 604 15 arcto 4 {pop} repeat 19 619 764 619 15 arcto 4 {pop} repeat 779 619 779 34 15 arcto 4 {pop} repeat 779 19 34 19 15 arcto 4 {pop} repeat closepath stroke showpage $F2psEnd @endspecial 249 x Fn(T)-9 b(op)s(ologies)p 71 419 1910 19 v 71 434 1910 7 v 71 1073 a Fp(MPI)34 b(p)m(rovides)f(routines)g(to)h(p)m (rovide)g(structure)f(to)71 1197 y(collections)i(of)f(p)m(ro)s(cesses)71 1355 y(This)g(helps)g(to)h(answ)m(er)e(the)i(question:)71 1513 y Fn(Who)i(a)m(re)h(my)e(neighb)s(o)m(rs?)2065 2770 y Fo(61)p eop bop 71 120 a @beginspecial @setspecial /$F2psDict 32 dict def $F2psDict begin $F2psDict /mtrx matrix put end /$F2psBegin {$F2psDict begin /$F2psEnteredState save def} def /$F2psEnd {$F2psEnteredState restore end} def $F2psBegin 0.900000 -0.900000 scale 90 rotate 0 -612 translate -36 36 translate 4.000 setlinewidth .2 setgray newpath 34 19 moveto 19 19 19 604 15 arcto 4 {pop} repeat 19 619 764 619 15 arcto 4 {pop} repeat 779 619 779 34 15 arcto 4 {pop} repeat 779 19 34 19 15 arcto 4 {pop} repeat closepath stroke showpage $F2psEnd @endspecial 187 x Fh(Ca)m(rtesian)33 b(T)-8 b(op)s(ologies)p 71 357 1910 19 v 71 372 1910 7 v 71 798 a Fp(A)34 b(Ca)m(rtesian)g(top)s (ology)g(is)h(a)f(mesh)71 955 y(Example)f(of)g(3)16 b Fi(\002)i Fp(4)32 b(Ca)m(rtesian)i(mesh)e(with)i(a)m(rro)m(ws)71 1080 y(p)s(ointing)g(at)h(the)f Fg(right)h Fp(neighb)s(o)m(rs:)313 1950 y @beginspecial 0 @llx 0 @lly 342 @urx 198 @ury 3420 @rwi @setspecial /$F2psDict 200 dict def $F2psDict begin $F2psDict /mtrx matrix put /l {lineto} bind def /m {moveto} bind def /s {stroke} bind def /n {newpath} bind def /gs {gsave} bind def /gr {grestore} bind def /clp {closepath} bind def /graycol {dup dup currentrgbcolor 4 -2 roll mul 4 -2 roll mul 4 -2 roll mul setrgbcolor} bind def /col-1 {} def /col0 {0 0 0 setrgbcolor} bind def /col1 {0 0 1 setrgbcolor} bind def /col2 {0 1 0 setrgbcolor} bind def /col3 {0 1 1 setrgbcolor} bind def /col4 {1 0 0 setrgbcolor} bind def /col5 {1 0 1 setrgbcolor} bind def /col6 {1 1 0 setrgbcolor} bind def /col7 {1 1 1 setrgbcolor} bind def /col8 {.68 .85 .9 setrgbcolor} bind def /col9 {0 .39 0 setrgbcolor} bind def /col10 {.65 .17 .17 setrgbcolor} bind def /col11 {1 .51 0 setrgbcolor} bind def /col12 {.63 .13 .94 setrgbcolor} bind def /col13 {1 .75 .8 setrgbcolor} bind def /col14 {.7 .13 .13 setrgbcolor} bind def /col15 {1 .84 0 setrgbcolor} bind def end /$F2psBegin {$F2psDict begin /$F2psEnteredState save def} def /$F2psEnd {$F2psEnteredState restore end} def $F2psBegin 0 setlinecap 0 setlinejoin -36.0 216.0 translate 0.900 -0.900 scale 0.500 setlinewidth n 119 79 m 119 19 l 39 19 l 39 79 l clp gs col-1 s gr n 219 79 m 219 19 l 139 19 l 139 79 l clp gs col-1 s gr n 319 79 m 319 19 l 239 19 l 239 79 l clp gs col-1 s gr n 419 79 m 419 19 l 339 19 l 339 79 l clp gs col-1 s gr n 119 159 m 119 99 l 39 99 l 39 159 l clp gs col-1 s gr n 219 159 m 219 99 l 139 99 l 139 159 l clp gs col-1 s gr n 319 159 m 319 99 l 239 99 l 239 159 l clp gs col-1 s gr n 419 159 m 419 99 l 339 99 l 339 159 l clp gs col-1 s gr n 119 239 m 119 179 l 39 179 l 39 239 l clp gs col-1 s gr n 219 239 m 219 179 l 139 179 l 139 239 l clp gs col-1 s gr n 319 239 m 319 179 l 239 179 l 239 239 l clp gs col-1 s gr n 419 239 m 419 179 l 339 179 l 339 239 l clp gs col-1 s gr 1.000 setlinewidth n 99 49 m 159 49 l gs col0 s gr n 143.000 45.000 m 159.000 49.000 l 143.000 53.000 l gs 2 setlinejoin col0 s gr n 99 129 m 159 129 l gs col0 s gr n 143.000 125.000 m 159.000 129.000 l 143.000 133.000 l gs 2 setlinejoin col0 s gr n 99 209 m 159 209 l gs col0 s gr n 143.000 205.000 m 159.000 209.000 l 143.000 213.000 l gs 2 setlinejoin col0 s gr n 199 49 m 259 49 l gs col0 s gr n 243.000 45.000 m 259.000 49.000 l 243.000 53.000 l gs 2 setlinejoin col0 s gr n 199 129 m 259 129 l gs col0 s gr n 243.000 125.000 m 259.000 129.000 l 243.000 133.000 l gs 2 setlinejoin col0 s gr n 199 209 m 259 209 l gs col0 s gr n 243.000 205.000 m 259.000 209.000 l 243.000 213.000 l gs 2 setlinejoin col0 s gr n 299 49 m 359 49 l gs col0 s gr n 343.000 45.000 m 359.000 49.000 l 343.000 53.000 l gs 2 setlinejoin col0 s gr n 299 129 m 359 129 l gs col0 s gr n 343.000 125.000 m 359.000 129.000 l 343.000 133.000 l gs 2 setlinejoin col0 s gr n 299 209 m 359 209 l gs col0 s gr n 343.000 205.000 m 359.000 209.000 l 343.000 213.000 l gs 2 setlinejoin col0 s gr /Helvetica findfont 12.00 scalefont setfont 79 234 m gs 1 -1 scale (\(0,0\)) dup stringwidth pop 2 div neg 0 rmoveto col0 show gr /Helvetica findfont 12.00 scalefont setfont 179 234 m gs 1 -1 scale (\(1,0\)) dup stringwidth pop 2 div neg 0 rmoveto col0 show gr /Helvetica findfont 12.00 scalefont setfont 279 234 m gs 1 -1 scale (\(2,0\)) dup stringwidth pop 2 div neg 0 rmoveto col0 show gr /Helvetica findfont 12.00 scalefont setfont 379 234 m gs 1 -1 scale (\(3,0\)) dup stringwidth pop 2 div neg 0 rmoveto col0 show gr /Helvetica findfont 12.00 scalefont setfont 79 154 m gs 1 -1 scale (\(0,1\)) dup stringwidth pop 2 div neg 0 rmoveto col0 show gr /Helvetica findfont 12.00 scalefont setfont 179 154 m gs 1 -1 scale (\(1,1\)) dup stringwidth pop 2 div neg 0 rmoveto col0 show gr /Helvetica findfont 12.00 scalefont setfont 279 154 m gs 1 -1 scale (\(2,1\)) dup stringwidth pop 2 div neg 0 rmoveto col0 show gr /Helvetica findfont 12.00 scalefont setfont 379 154 m gs 1 -1 scale (\(3,1\)) dup stringwidth pop 2 div neg 0 rmoveto col0 show gr /Helvetica findfont 12.00 scalefont setfont 79 74 m gs 1 -1 scale (\(0,2\)) dup stringwidth pop 2 div neg 0 rmoveto col0 show gr /Helvetica findfont 12.00 scalefont setfont 179 74 m gs 1 -1 scale (\(1,2\)) dup stringwidth pop 2 div neg 0 rmoveto col0 show gr /Helvetica findfont 12.00 scalefont setfont 279 74 m gs 1 -1 scale (\(2,2\)) dup stringwidth pop 2 div neg 0 rmoveto col0 show gr /Helvetica findfont 12.00 scalefont setfont 379 74 m gs 1 -1 scale (\(3,2\)) dup stringwidth pop 2 div neg 0 rmoveto col0 show gr $F2psEnd @endspecial 2065 2770 a Fo(62)p eop bop 71 120 a @beginspecial @setspecial /$F2psDict 32 dict def $F2psDict begin $F2psDict /mtrx matrix put end /$F2psBegin {$F2psDict begin /$F2psEnteredState save def} def /$F2psEnd {$F2psEnteredState restore end} def $F2psBegin 0.900000 -0.900000 scale 90 rotate 0 -612 translate -36 36 translate 4.000 setlinewidth .2 setgray newpath 34 19 moveto 19 19 19 604 15 arcto 4 {pop} repeat 19 619 764 619 15 arcto 4 {pop} repeat 779 619 779 34 15 arcto 4 {pop} repeat 779 19 34 19 15 arcto 4 {pop} repeat closepath stroke showpage $F2psEnd @endspecial 187 x Fh(De\014ning)31 b(a)h(Ca)m(rtesian)i(T)-8 b(op)s(ology)p 71 357 1910 19 v 71 372 1910 7 v 71 882 a Fl(The)32 b(routine)f Ff(MPI_Cart_)o(cre)o(at)o(e)e Fl(creates)j(a)g(Ca)n(rtesian)71 961 y(decomp)r(osition)c(of)i(the)g(p)n(ro)r(cesses,)h(with)e(the)h(numb)r (er)g(of)71 1040 y(dimensions)c(given)i(b)n(y)h(the)g Ff(ndim)e Fl(a)n(rgument.)180 1181 y Ff(dims\(1\))144 b(=)36 b(4)180 1260 y(dims\(2\))144 b(=)36 b(3)180 1338 y(periods\(1\))d(=)j(.false.)180 1417 y(periods\(2\))d(=)j(.false.)180 1496 y(reorder)144 b(=)36 b(.true.)180 1575 y(ndim)255 b(=)36 b(2)180 1654 y(call)f(MPI_CART_C)o(RE)o (ATE)o(\()e(MPI_COMM_W)o(OR)o(LD,)g(ndim,)h(dims,)144 1733 y($)804 b(periods,)34 b(reorder,)f(comm2d,)h(ierr)h(\))2065 2770 y Fo(63)p eop bop 71 120 a @beginspecial @setspecial /$F2psDict 32 dict def $F2psDict begin $F2psDict /mtrx matrix put end /$F2psBegin {$F2psDict begin /$F2psEnteredState save def} def /$F2psEnd {$F2psEnteredState restore end} def $F2psBegin 0.900000 -0.900000 scale 90 rotate 0 -612 translate -36 36 translate 4.000 setlinewidth .2 setgray newpath 34 19 moveto 19 19 19 604 15 arcto 4 {pop} repeat 19 619 764 619 15 arcto 4 {pop} repeat 779 619 779 34 15 arcto 4 {pop} repeat 779 19 34 19 15 arcto 4 {pop} repeat closepath stroke showpage $F2psEnd @endspecial 187 x Fh(Finding)30 b(neighb)s(o)m(rs)p 71 357 1910 19 v 71 372 1910 7 v 71 773 a Ff(MPI_Cart)o(_c)o(rea)o(te)25 b Fl(creates)j(a)g(new)h Fj(communicato)n(r)d Fl(with)i(the)71 852 y(same)g(p)n(ro)r(cesses)i(as)f(the)h(input)e(communicato)n(r,)f(but)i (with)71 931 y(the)g(sp)r(eci\014ed)g(top)r(ology)-7 b(.)71 1072 y(The)30 b(question,)h(Who)h(a)n(re)e(my)g(neighb)r(o)n(rs,)g(can)h(no)n (w)g(b)r(e)71 1151 y(answ)n(ered)d(with)h Ff(MPI_Cart)o(_sh)o(if)o(t)p Fl(:)71 1292 y Ff(call)35 b(MPI_CART)o(_S)o(HIF)o(T\()e(comm2d,)h(0,)72 b(1,)839 1371 y(nbrleft,)33 b(nbrright,)g(ierr)i(\))71 1450 y(call)g(MPI_CART)o(_S)o(HIF)o(T\()e(comm2d,)h(1,)72 b(1,)839 1529 y(nbrbottom)o(,)33 b(nbrtop,)h(ierr)h(\))71 1716 y Fl(The)g(values)g (returned)h(a)n(re)f(the)h(ranks,)h(in)e(the)71 1840 y(communicato)n(r)26 b Ff(comm2d)p Fl(,)h(of)i(the)h(neighb)r(o)n(rs)e(shifted)i(b)n(y)f Fm(\006)p Fl(1)71 1965 y(in)e(the)j(t)n(w)n(o)e(dimensions.)2065 2770 y Fo(64)p eop bop 71 120 a @beginspecial @setspecial /$F2psDict 32 dict def $F2psDict begin $F2psDict /mtrx matrix put end /$F2psBegin {$F2psDict begin /$F2psEnteredState save def} def /$F2psEnd {$F2psEnteredState restore end} def $F2psBegin 0.900000 -0.900000 scale 90 rotate 0 -612 translate -36 36 translate 4.000 setlinewidth .2 setgray newpath 34 19 moveto 19 19 19 604 15 arcto 4 {pop} repeat 19 619 764 619 15 arcto 4 {pop} repeat 779 619 779 34 15 arcto 4 {pop} repeat 779 19 34 19 15 arcto 4 {pop} repeat closepath stroke showpage $F2psEnd @endspecial 187 x Fh(Who)31 b(am)h(I?)p 71 357 1910 19 v 71 372 1910 7 v 71 918 a Fp(Can)h(b)s(e)h(answ)m(ered)g(with)144 1059 y Ff(integer)f(coords\(2\))144 1138 y(call)i(MPI_COMM)o(_RA)o(NK)o(\()f (comm1d,)f(myrank,)h(ierr)h(\))144 1217 y(call)g(MPI_CART)o(_CO)o(OR)o(DS\()e (comm1d,)g(myrank,)h(2,)107 1296 y($)805 b(coords,)33 b(ierr)i(\))71 1483 y Fl(Returns)d(the)h(Ca)n(rtesian)d(co)r(o)n(rdinates)h(of)i(the)f (calling)71 1607 y(p)n(ro)r(cess)d(in)e Ff(coords)p Fl(.)2065 2770 y Fo(65)p eop bop 71 120 a @beginspecial @setspecial /$F2psDict 32 dict def $F2psDict begin $F2psDict /mtrx matrix put end /$F2psBegin {$F2psDict begin /$F2psEnteredState save def} def /$F2psEnd {$F2psEnteredState restore end} def $F2psBegin 0.900000 -0.900000 scale 90 rotate 0 -612 translate -36 36 translate 4.000 setlinewidth .2 setgray newpath 34 19 moveto 19 19 19 604 15 arcto 4 {pop} repeat 19 619 764 619 15 arcto 4 {pop} repeat 779 619 779 34 15 arcto 4 {pop} repeat 779 19 34 19 15 arcto 4 {pop} repeat closepath stroke showpage $F2psEnd @endspecial 187 x Fh(P)m(a)m(rtitioning)p 71 357 1910 19 v 71 372 1910 7 v 71 916 a Fl(When)30 b(creating)f(a)g(Ca)n(rtesian)f(top)r (ology)-7 b(,)30 b(one)g(question)f(is)71 994 y(\\What)g(is)f(a)h(go)r(o)r(d) h(choice)f(fo)n(r)g(the)g(decomp)r(osition)f(of)i(the)71 1073 y(p)n(ro)r(cesso)n(rs?")71 1214 y(This)d(question)i(can)f(b)r(e)i(answ)n (ered)e(with)h Ff(MPI_Dims)o(_cr)o(ea)o(te)o Fl(:)144 1356 y Ff(integer)k(dims\(2\))144 1434 y(dims\(1\))g(=)k(0)144 1513 y(dims\(2\))c(=)k(0)144 1592 y(call)e(MPI_COMM)o(_SI)o(ZE)o(\()f(MPI_COMM)o (_W)o(ORL)o(D,)f(size,)i(ierr)f(\))144 1671 y(call)h(MPI_DIMS)o(_CR)o(EA)o (TE\()e(size,)h(2,)i(dims,)f(ierr)g(\))2065 2770 y Fo(66)p eop bop 71 120 a @beginspecial @setspecial /$F2psDict 32 dict def $F2psDict begin $F2psDict /mtrx matrix put end /$F2psBegin {$F2psDict begin /$F2psEnteredState save def} def /$F2psEnd {$F2psEnteredState restore end} def $F2psBegin 0.900000 -0.900000 scale 90 rotate 0 -612 translate -36 36 translate 4.000 setlinewidth .2 setgray newpath 34 19 moveto 19 19 19 604 15 arcto 4 {pop} repeat 19 619 764 619 15 arcto 4 {pop} repeat 779 619 779 34 15 arcto 4 {pop} repeat 779 19 34 19 15 arcto 4 {pop} repeat closepath stroke showpage $F2psEnd @endspecial 187 x Fh(Other)32 b(T)-8 b(op)s(ology)31 b(Routines)p 71 357 1910 19 v 71 372 1910 7 v 71 959 a Fp(MPI)36 b(contains)f(routines)h (to)g(translate)h(b)s(et)m(w)m(een)71 1084 y(Ca)m(rtesian)k(co)s(o)m (rdinates)g(and)f(ranks)h(in)h(a)71 1208 y(communicato)m(r,)36 b(and)e(to)h(access)f(the)i(p)m(rop)s(erties)71 1333 y(of)d(a)h(Ca)m(rtesian) h(top)s(ology)-9 b(.)71 1491 y(The)38 b(routine)h Fd(MPI_Graph_create)e Fp(allo)m(ws)i(the)71 1615 y(creation)c(of)e(a)h(general)h(graph)f(top)s (ology)-9 b(.)2065 2770 y Fo(67)p eop bop 71 120 a @beginspecial @setspecial /$F2psDict 32 dict def $F2psDict begin $F2psDict /mtrx matrix put end /$F2psBegin {$F2psDict begin /$F2psEnteredState save def} def /$F2psEnd {$F2psEnteredState restore end} def $F2psBegin 0.900000 -0.900000 scale 90 rotate 0 -612 translate -36 36 translate 4.000 setlinewidth .2 setgray newpath 34 19 moveto 19 19 19 604 15 arcto 4 {pop} repeat 19 619 764 619 15 arcto 4 {pop} repeat 779 619 779 34 15 arcto 4 {pop} repeat 779 19 34 19 15 arcto 4 {pop} repeat closepath stroke showpage $F2psEnd @endspecial 187 x Fh(Why)30 b(a)m(re)j(these)f(routines)h(in)e(MPI?)p 71 357 1910 19 v 71 372 1910 7 v 71 503 a Fp(In)38 b(many)f(pa)m(rallel)k (computer)c(interconnects,)71 627 y(some)42 b(p)m(ro)s(cesso)m(rs)f(a)m(re)i (closer)g(to)g(than)71 752 y(others.)62 b(These)40 b(routines)g(allo)m(w)h (the)g(MPI)71 876 y(implementation)e(to)f(p)m(rovide)g(an)f(o)m(rdering)h(of) 71 1001 y(p)m(ro)s(cesses)c(in)j(a)g(top)s(ology)f(that)g(mak)m(es)g(logical) 71 1125 y(neighb)s(o)m(rs)d(close)h(in)h(the)g(physical)g(interconnect.)71 1283 y Fk(\177)e Fg(Some)g(pa)m(rallel)j(p)m(rogrammers)d(ma)m(y)g(rememb)s (er)71 1408 y(hyp)s(ercub)s(es)i(and)i(the)h(e\013o)m(rt)g(that)g(w)m(ent)f (into)71 1532 y(assigning)g(no)s(des)g(in)i(a)f(mesh)g(to)h(p)m(ro)s(cesso)m (rs)71 1657 y(in)g(a)f(hyp)s(ercub)s(e)f(through)h(the)g(use)g(of)g(Grey)71 1781 y(co)s(des.)54 b(Many)38 b(new)f(systems)g(have)g(di\013erent)71 1906 y(interconnects;)j(ones)e(with)i(multiple)i(paths)71 2030 y(ma)m(y)c(have)f(notions)g(of)h(nea)m(r)g(neighb)s(o)m(rs)f(that)71 2155 y(changes)g(with)i(time.)61 b(These)38 b(routines)g(free)71 2279 y(the)j(p)m(rogrammer)h(from)f(many)g(of)f(these)71 2404 y(considerations.)56 b(The)37 b Fd(reorder)h Fg(a)m(rgument)f(is)71 2528 y(used)c(to)h(request)g(the)g(b)s(est)g(o)m(rdering.)2065 2770 y Fo(68)p eop bop 71 120 a @beginspecial @setspecial /$F2psDict 32 dict def $F2psDict begin $F2psDict /mtrx matrix put end /$F2psBegin {$F2psDict begin /$F2psEnteredState save def} def /$F2psEnd {$F2psEnteredState restore end} def $F2psBegin 0.900000 -0.900000 scale 90 rotate 0 -612 translate -36 36 translate 4.000 setlinewidth .2 setgray newpath 34 19 moveto 19 19 19 604 15 arcto 4 {pop} repeat 19 619 764 619 15 arcto 4 {pop} repeat 779 619 779 34 15 arcto 4 {pop} repeat 779 19 34 19 15 arcto 4 {pop} repeat closepath stroke showpage $F2psEnd @endspecial 187 x Fh(The)31 b(p)s(erio)s(ds)g(a)m(rgument)p 71 357 1910 19 v 71 372 1910 7 v 71 1008 a Fp(Who)j(a)m(re)g(my)h(neighb)s(o) m(rs)f(if)h(I)g(am)f(at)h(the)f(edge)g(of)71 1133 y(a)g(Ca)m(rtesian)h(Mesh?) 688 1528 y @beginspecial 0 @llx 0 @lly 162 @urx 81 @ury 1620 @rwi @setspecial /$F2psDict 200 dict def $F2psDict begin $F2psDict /mtrx matrix put /l {lineto} bind def /m {moveto} bind def /s {stroke} bind def /n {newpath} bind def /gs {gsave} bind def /gr {grestore} bind def /clp {closepath} bind def /graycol {dup dup currentrgbcolor 4 -2 roll mul 4 -2 roll mul 4 -2 roll mul setrgbcolor} bind def /col-1 {} def /col0 {0 0 0 setrgbcolor} bind def /col1 {0 0 1 setrgbcolor} bind def /col2 {0 1 0 setrgbcolor} bind def /col3 {0 1 1 setrgbcolor} bind def /col4 {1 0 0 setrgbcolor} bind def /col5 {1 0 1 setrgbcolor} bind def /col6 {1 1 0 setrgbcolor} bind def /col7 {1 1 1 setrgbcolor} bind def /col8 {.68 .85 .9 setrgbcolor} bind def /col9 {0 .39 0 setrgbcolor} bind def /col10 {.65 .17 .17 setrgbcolor} bind def /col11 {1 .51 0 setrgbcolor} bind def /col12 {.63 .13 .94 setrgbcolor} bind def /col13 {1 .75 .8 setrgbcolor} bind def /col14 {.7 .13 .13 setrgbcolor} bind def /col15 {1 .84 0 setrgbcolor} bind def /DrawEllipse { /endangle exch def /startangle exch def /yrad exch def /xrad exch def /y exch def /x exch def /savematrix mtrx currentmatrix def x y translate xrad yrad scale 0 0 1 startangle endangle arc savematrix setmatrix } def end /$F2psBegin {$F2psDict begin /$F2psEnteredState save def} def /$F2psEnd {$F2psEnteredState restore end} def $F2psBegin 0 setlinecap 0 setlinejoin -67.0 112.0 translate 0.900 -0.900 scale 0.500 setlinewidth n 79 39 5 5 0 360 DrawEllipse gs 0.00 setgray fill gr gs col-1 s gr n 119 39 5 5 0 360 DrawEllipse gs 0.00 setgray fill gr gs col-1 s gr n 159 39 5 5 0 360 DrawEllipse gs 0.00 setgray fill gr gs col-1 s gr n 199 39 5 5 0 360 DrawEllipse gs 0.00 setgray fill gr gs col-1 s gr n 79 79 5 5 0 360 DrawEllipse gs 0.00 setgray fill gr gs col-1 s gr n 119 79 5 5 0 360 DrawEllipse gs 0.00 setgray fill gr gs col-1 s gr n 159 79 5 5 0 360 DrawEllipse gs 0.00 setgray fill gr gs col-1 s gr n 199 79 5 5 0 360 DrawEllipse gs 0.00 setgray fill gr gs col-1 s gr n 79 119 5 5 0 360 DrawEllipse gs 0.00 setgray fill gr gs col-1 s gr n 119 119 5 5 0 360 DrawEllipse gs 0.00 setgray fill gr gs col-1 s gr n 159 119 5 5 0 360 DrawEllipse gs 0.00 setgray fill gr gs col-1 s gr n 199 119 5 5 0 360 DrawEllipse gs 0.00 setgray fill gr gs col-1 s gr n 199 79 m 164 79 l gs 0.00 setgray fill gr gs col-1 s gr n 172.000 81.000 m 164.000 79.000 l 172.000 77.000 l gs 2 setlinejoin col-1 s gr n 199 79 m 199 44 l gs 0.00 setgray fill gr gs col-1 s gr n 197.000 52.000 m 199.000 44.000 l 201.000 52.000 l gs 2 setlinejoin col-1 s gr n 199 79 m 199 114 l gs 0.00 setgray fill gr gs col-1 s gr n 201.000 106.000 m 199.000 114.000 l 197.000 106.000 l gs 2 setlinejoin col-1 s gr n 204 79 m 239 79 l gs 0.00 setgray fill gr gs col-1 s gr n 231.000 77.000 m 239.000 79.000 l 231.000 81.000 l gs 2 setlinejoin col-1 s gr /Helvetica-Bold findfont 17.00 scalefont setfont 244 84 m gs 1 -1 scale (?) col-1 show gr $F2psEnd @endspecial 2065 2770 a Fo(69)p eop bop 71 120 a @beginspecial @setspecial /$F2psDict 32 dict def $F2psDict begin $F2psDict /mtrx matrix put end /$F2psBegin {$F2psDict begin /$F2psEnteredState save def} def /$F2psEnd {$F2psEnteredState restore end} def $F2psBegin 0.900000 -0.900000 scale 90 rotate 0 -612 translate -36 36 translate 4.000 setlinewidth .2 setgray newpath 34 19 moveto 19 19 19 604 15 arcto 4 {pop} repeat 19 619 764 619 15 arcto 4 {pop} repeat 779 619 779 34 15 arcto 4 {pop} repeat 779 19 34 19 15 arcto 4 {pop} repeat closepath stroke showpage $F2psEnd @endspecial 187 x Fh(P)m(erio)s(dic)31 b(Grids)p 71 357 1910 19 v 71 372 1910 7 v 644 1090 a @beginspecial 0 @llx 0 @lly 183 @urx 105 @ury 1830 @rwi @setspecial /$F2psDict 200 dict def $F2psDict begin $F2psDict /mtrx matrix put /l {lineto} bind def /m {moveto} bind def /s {stroke} bind def /n {newpath} bind def /gs {gsave} bind def /gr {grestore} bind def /clp {closepath} bind def /graycol {dup dup currentrgbcolor 4 -2 roll mul 4 -2 roll mul 4 -2 roll mul setrgbcolor} bind def /col-1 {} def /col0 {0 0 0 setrgbcolor} bind def /col1 {0 0 1 setrgbcolor} bind def /col2 {0 1 0 setrgbcolor} bind def /col3 {0 1 1 setrgbcolor} bind def /col4 {1 0 0 setrgbcolor} bind def /col5 {1 0 1 setrgbcolor} bind def /col6 {1 1 0 setrgbcolor} bind def /col7 {1 1 1 setrgbcolor} bind def /col8 {.68 .85 .9 setrgbcolor} bind def /col9 {0 .39 0 setrgbcolor} bind def /col10 {.65 .17 .17 setrgbcolor} bind def /col11 {1 .51 0 setrgbcolor} bind def /col12 {.63 .13 .94 setrgbcolor} bind def /col13 {1 .75 .8 setrgbcolor} bind def /col14 {.7 .13 .13 setrgbcolor} bind def /col15 {1 .84 0 setrgbcolor} bind def /DrawEllipse { /endangle exch def /startangle exch def /yrad exch def /xrad exch def /y exch def /x exch def /savematrix mtrx currentmatrix def x y translate xrad yrad scale 0 0 1 startangle endangle arc savematrix setmatrix } def end /$F2psBegin {$F2psDict begin /$F2psEnteredState save def} def /$F2psEnd {$F2psEnteredState restore end} def $F2psBegin 0 setlinecap 0 setlinejoin -34.0 136.0 translate 0.900 -0.900 scale 0.500 setlinewidth n 79 39 5 5 0 360 DrawEllipse gs 0.00 setgray fill gr gs col-1 s gr n 119 39 5 5 0 360 DrawEllipse gs 0.00 setgray fill gr gs col-1 s gr n 159 39 5 5 0 360 DrawEllipse gs 0.00 setgray fill gr gs col-1 s gr n 199 39 5 5 0 360 DrawEllipse gs 0.00 setgray fill gr gs col-1 s gr n 79 79 5 5 0 360 DrawEllipse gs 0.00 setgray fill gr gs col-1 s gr n 119 79 5 5 0 360 DrawEllipse gs 0.00 setgray fill gr gs col-1 s gr n 159 79 5 5 0 360 DrawEllipse gs 0.00 setgray fill gr gs col-1 s gr n 199 79 5 5 0 360 DrawEllipse gs 0.00 setgray fill gr gs col-1 s gr n 79 119 5 5 0 360 DrawEllipse gs 0.00 setgray fill gr gs col-1 s gr n 119 119 5 5 0 360 DrawEllipse gs 0.00 setgray fill gr gs col-1 s gr n 159 119 5 5 0 360 DrawEllipse gs 0.00 setgray fill gr gs col-1 s gr n 199 119 5 5 0 360 DrawEllipse gs 0.00 setgray fill gr gs col-1 s gr n 199 79 m 164 79 l gs 0.00 setgray fill gr gs col-1 s gr n 172.000 81.000 m 164.000 79.000 l 172.000 77.000 l gs 2 setlinejoin col-1 s gr n 199 79 m 199 44 l gs 0.00 setgray fill gr gs col-1 s gr n 197.000 52.000 m 199.000 44.000 l 201.000 52.000 l gs 2 setlinejoin col-1 s gr n 199 79 m 199 114 l gs 0.00 setgray fill gr gs col-1 s gr n 201.000 106.000 m 199.000 114.000 l 197.000 106.000 l gs 2 setlinejoin col-1 s gr n 204 79 m 212.447 77.839 216.197 77.839 219 79 curveto 226.047 81.919 236.081 91.953 239 99 curveto 241.064 103.983 241.064 114.017 239 119 curveto 236.081 126.047 226.047 136.081 219 139 curveto 179.136 155.512 98.864 155.512 59 139 curveto 51.953 136.081 41.919 126.047 39 119 curveto 36.936 114.017 36.936 103.983 39 99 curveto 41.919 91.953 51.953 81.919 59 79 curveto 61.803 77.839 65.553 77.839 74 79 curveto gs col-1 s gr n 66.347 75.929 m 74.000 79.000 l 65.802 79.892 l gs 2 setlinejoin col-1 s gr $F2psEnd @endspecial 71 1232 a Fl(Sp)r(ecify)e(this)f(in)g Ff(MPI_Cart)o(_cr)o(ea)o (te)d Fl(with)180 1373 y Ff(dims\(1\))144 b(=)36 b(4)180 1452 y(dims\(2\))144 b(=)36 b(3)180 1531 y(periods\(1\))d(=)j(.TRUE.)180 1609 y(periods\(2\))d(=)j(.TRUE.)180 1688 y(reorder)144 b(=)36 b(.true.)180 1767 y(ndim)255 b(=)36 b(2)180 1846 y(call)f(MPI_CART_C)o(RE)o (ATE)o(\()e(MPI_COMM_W)o(OR)o(LD,)g(ndim,)h(dims,)144 1925 y($)585 b(periods,)33 b(reorder,)g(comm2d,)h(ierr)h(\))2065 2770 y Fo(70)p eop bop 71 120 a @beginspecial @setspecial /$F2psDict 32 dict def $F2psDict begin $F2psDict /mtrx matrix put end /$F2psBegin {$F2psDict begin /$F2psEnteredState save def} def /$F2psEnd {$F2psEnteredState restore end} def $F2psBegin 0.900000 -0.900000 scale 90 rotate 0 -612 translate -36 36 translate 4.000 setlinewidth .2 setgray newpath 34 19 moveto 19 19 19 604 15 arcto 4 {pop} repeat 19 619 764 619 15 arcto 4 {pop} repeat 779 619 779 34 15 arcto 4 {pop} repeat 779 19 34 19 15 arcto 4 {pop} repeat closepath stroke showpage $F2psEnd @endspecial 187 x Fh(Nonp)s(erio)s(dic)30 b(Grids)p 71 357 1910 19 v 71 372 1910 7 v 71 963 a Fp(In)38 b(the)g(nonp)s(erio)s(dic)g (case,)g(a)g(neighb)s(o)m(r)g(ma)m(y)71 1088 y(not)f(exist.)58 b(This)39 b(is)f(indicated)h(b)m(y)f(a)g(rank)g(of)71 1212 y Fd(MPI_PROC_NULL)p Fp(.)71 1370 y(This)e(rank)g Fg(ma)m(y)g(b)s(e)g(used)f Fp(in)h(send)f(and)h(receive)71 1494 y(calls)d(in)h(MPI.)e(The)h(action)f(in) h(b)s(oth)f(cases)f(is)j(as)e(if)71 1619 y(the)i(call)i(w)m(as)e(not)g(made.) 2065 2770 y Fo(71)p eop bop 71 120 a @beginspecial @setspecial /$F2psDict 32 dict def $F2psDict begin $F2psDict /mtrx matrix put end /$F2psBegin {$F2psDict begin /$F2psEnteredState save def} def /$F2psEnd {$F2psEnteredState restore end} def $F2psBegin 0.900000 -0.900000 scale 90 rotate 0 -612 translate -36 36 translate 4.000 setlinewidth .2 setgray newpath 34 19 moveto 19 19 19 604 15 arcto 4 {pop} repeat 19 619 764 619 15 arcto 4 {pop} repeat 779 619 779 34 15 arcto 4 {pop} repeat 779 19 34 19 15 arcto 4 {pop} repeat closepath stroke showpage $F2psEnd @endspecial 249 x Fn(Collective)36 b(Communications)f(in)j(MPI)p 71 419 1910 19 v 71 434 1910 7 v 83 759 a Fm(\017)j Fl(Communicati)o(on)26 b(is)i(co)r(o)n(rdinated)g(among)f(a)h(group)h(of)161 838 y(p)n(ro)r(cesses.) 82 1010 y Fm(\017)42 b Fl(Groups)29 b(can)f(b)r(e)i(constructed)f(\\b)n(y)g (hand")f(with)h(MPI)161 1089 y(group-manipul)o(ati)o(on)d(routines)i(o)n(r)g (b)n(y)h(using)f(MPI)161 1168 y(top)r(ology-de\014nition)f(routines.)82 1340 y Fm(\017)42 b Fl(Message)29 b(tags)f(a)n(re)g(not)h(used.)39 b(Di\013erent)161 1419 y(communicato)n(r)o(s)26 b(a)n(re)i(used)h(instead.)82 1591 y Fm(\017)42 b Fl(No)28 b(non-blo)r(cking)g(collective)f(op)r(erations.) 82 1763 y Fm(\017)42 b Fl(Three)28 b(classes)g(of)h(collective)f(op)r (erations:)181 1889 y({)42 b(synchronization)181 2015 y({)g(data)28 b(movement)181 2140 y({)42 b(collective)27 b(computation)2065 2770 y Fo(72)p eop bop 71 120 a @beginspecial @setspecial /$F2psDict 32 dict def $F2psDict begin $F2psDict /mtrx matrix put end /$F2psBegin {$F2psDict begin /$F2psEnteredState save def} def /$F2psEnd {$F2psEnteredState restore end} def $F2psBegin 0.900000 -0.900000 scale 90 rotate 0 -612 translate -36 36 translate 4.000 setlinewidth .2 setgray newpath 34 19 moveto 19 19 19 604 15 arcto 4 {pop} repeat 19 619 764 619 15 arcto 4 {pop} repeat 779 619 779 34 15 arcto 4 {pop} repeat 779 19 34 19 15 arcto 4 {pop} repeat closepath stroke showpage $F2psEnd @endspecial 187 x Fh(Synchronization)p 71 357 1910 19 v 71 372 1910 7 v 143 1088 a Fi(\017)41 b Fd(MPI_Barrier\(comm\))143 1262 y Fi(\017)g Fp(F)m(unction)35 b(blo)s(cks)f(untill)j(all)f(p)m(ro)s (cesses)c(in)228 1386 y Fd(comm)i Fp(call)i(it.)2065 2770 y Fo(73)p eop bop 71 120 a @beginspecial @setspecial /$F2psDict 32 dict def $F2psDict begin $F2psDict /mtrx matrix put end /$F2psBegin {$F2psDict begin /$F2psEnteredState save def} def /$F2psEnd {$F2psEnteredState restore end} def $F2psBegin 0.900000 -0.900000 scale 90 rotate 0 -612 translate -36 36 translate 4.000 setlinewidth .2 setgray newpath 34 19 moveto 19 19 19 604 15 arcto 4 {pop} repeat 19 619 764 619 15 arcto 4 {pop} repeat 779 619 779 34 15 arcto 4 {pop} repeat 779 19 34 19 15 arcto 4 {pop} repeat closepath stroke showpage $F2psEnd @endspecial 187 x Fh(Available)31 b(Collective)g(P)m(atterns)p 71 357 1910 19 v 71 372 1910 7 v 388 2124 a @beginspecial 0 @llx 0 @lly 306 @urx 409 @ury 3060 @rwi @setspecial /$F2psDict 200 dict def $F2psDict begin $F2psDict /mtrx matrix put /l {lineto} bind def /m {moveto} bind def /s {stroke} bind def /n {newpath} bind def /gs {gsave} bind def /gr {grestore} bind def /clp {closepath} bind def /graycol {dup dup currentrgbcolor 4 -2 roll mul 4 -2 roll mul 4 -2 roll mul setrgbcolor} bind def /col-1 {} def /col0 {0 0 0 setrgbcolor} bind def /col1 {0 0 1 setrgbcolor} bind def /col2 {0 1 0 setrgbcolor} bind def /col3 {0 1 1 setrgbcolor} bind def /col4 {1 0 0 setrgbcolor} bind def /col5 {1 0 1 setrgbcolor} bind def /col6 {1 1 0 setrgbcolor} bind def /col7 {1 1 1 setrgbcolor} bind def /col8 {.68 .85 .9 setrgbcolor} bind def /col9 {0 .39 0 setrgbcolor} bind def /col10 {.65 .17 .17 setrgbcolor} bind def /col11 {1 .51 0 setrgbcolor} bind def /col12 {.63 .13 .94 setrgbcolor} bind def /col13 {1 .75 .8 setrgbcolor} bind def /col14 {.7 .13 .13 setrgbcolor} bind def /col15 {1 .84 0 setrgbcolor} bind def end /$F2psBegin {$F2psDict begin /$F2psEnteredState save def} def /$F2psEnd {$F2psEnteredState restore end} def $F2psBegin 0 setlinecap 0 setlinejoin -36.0 445.0 translate 0.900 -0.900 scale 0.500 setlinewidth n 79 59 m 79 39 l 59 39 l 59 59 l clp gs col-1 s gr n 99 59 m 99 39 l 79 39 l 79 59 l clp gs col-1 s gr n 119 59 m 119 39 l 99 39 l 99 59 l clp gs col-1 s gr n 139 59 m 139 39 l 119 39 l 119 59 l clp gs col-1 s gr n 79 84 m 79 64 l 59 64 l 59 84 l clp gs col-1 s gr n 99 84 m 99 64 l 79 64 l 79 84 l clp gs col-1 s gr n 119 84 m 119 64 l 99 64 l 99 84 l clp gs col-1 s gr n 139 84 m 139 64 l 119 64 l 119 84 l clp gs col-1 s gr n 79 109 m 79 89 l 59 89 l 59 109 l clp gs col-1 s gr n 99 109 m 99 89 l 79 89 l 79 109 l clp gs col-1 s gr n 119 109 m 119 89 l 99 89 l 99 109 l clp gs col-1 s gr n 139 109 m 139 89 l 119 89 l 119 109 l clp gs col-1 s gr n 79 134 m 79 114 l 59 114 l 59 134 l clp gs col-1 s gr n 99 134 m 99 114 l 79 114 l 79 134 l clp gs col-1 s gr n 119 134 m 119 114 l 99 114 l 99 134 l clp gs col-1 s gr n 139 134 m 139 114 l 119 114 l 119 134 l clp gs col-1 s gr /Helvetica findfont 12.00 scalefont setfont 39 54 m gs 1 -1 scale (P0) col-1 show gr /Helvetica findfont 12.00 scalefont setfont 39 79 m gs 1 -1 scale (P1) col-1 show gr /Helvetica findfont 12.00 scalefont setfont 39 104 m gs 1 -1 scale (P2) col-1 show gr /Helvetica findfont 12.00 scalefont setfont 39 129 m gs 1 -1 scale (P3) col-1 show gr n 79 179 m 79 159 l 59 159 l 59 179 l clp gs col-1 s gr n 99 179 m 99 159 l 79 159 l 79 179 l clp gs col-1 s gr n 119 179 m 119 159 l 99 159 l 99 179 l clp gs col-1 s gr n 139 179 m 139 159 l 119 159 l 119 179 l clp gs col-1 s gr n 79 204 m 79 184 l 59 184 l 59 204 l clp gs col-1 s gr n 99 204 m 99 184 l 79 184 l 79 204 l clp gs col-1 s gr n 119 204 m 119 184 l 99 184 l 99 204 l clp gs col-1 s gr n 139 204 m 139 184 l 119 184 l 119 204 l clp gs col-1 s gr n 79 229 m 79 209 l 59 209 l 59 229 l clp gs col-1 s gr n 99 229 m 99 209 l 79 209 l 79 229 l clp gs col-1 s gr n 119 229 m 119 209 l 99 209 l 99 229 l clp gs col-1 s gr n 139 229 m 139 209 l 119 209 l 119 229 l clp gs col-1 s gr n 79 254 m 79 234 l 59 234 l 59 254 l clp gs col-1 s gr n 99 254 m 99 234 l 79 234 l 79 254 l clp gs col-1 s gr n 119 254 m 119 234 l 99 234 l 99 254 l clp gs col-1 s gr n 139 254 m 139 234 l 119 234 l 119 254 l clp gs col-1 s gr /Helvetica findfont 12.00 scalefont setfont 39 174 m gs 1 -1 scale (P0) col-1 show gr /Helvetica findfont 12.00 scalefont setfont 39 199 m gs 1 -1 scale (P1) col-1 show gr /Helvetica findfont 12.00 scalefont setfont 39 224 m gs 1 -1 scale (P2) col-1 show gr /Helvetica findfont 12.00 scalefont setfont 39 249 m gs 1 -1 scale (P3) col-1 show gr n 79 299 m 79 279 l 59 279 l 59 299 l clp gs col-1 s gr n 99 299 m 99 279 l 79 279 l 79 299 l clp gs col-1 s gr n 119 299 m 119 279 l 99 279 l 99 299 l clp gs col-1 s gr n 139 299 m 139 279 l 119 279 l 119 299 l clp gs col-1 s gr n 79 324 m 79 304 l 59 304 l 59 324 l clp gs col-1 s gr n 99 324 m 99 304 l 79 304 l 79 324 l clp gs col-1 s gr n 119 324 m 119 304 l 99 304 l 99 324 l clp gs col-1 s gr n 139 324 m 139 304 l 119 304 l 119 324 l clp gs col-1 s gr n 79 349 m 79 329 l 59 329 l 59 349 l clp gs col-1 s gr n 99 349 m 99 329 l 79 329 l 79 349 l clp gs col-1 s gr n 119 349 m 119 329 l 99 329 l 99 349 l clp gs col-1 s gr n 139 349 m 139 329 l 119 329 l 119 349 l clp gs col-1 s gr n 79 374 m 79 354 l 59 354 l 59 374 l clp gs col-1 s gr n 99 374 m 99 354 l 79 354 l 79 374 l clp gs col-1 s gr n 119 374 m 119 354 l 99 354 l 99 374 l clp gs col-1 s gr n 139 374 m 139 354 l 119 354 l 119 374 l clp gs col-1 s gr /Helvetica findfont 12.00 scalefont setfont 39 294 m gs 1 -1 scale (P0) col-1 show gr /Helvetica findfont 12.00 scalefont setfont 39 319 m gs 1 -1 scale (P1) col-1 show gr /Helvetica findfont 12.00 scalefont setfont 39 344 m gs 1 -1 scale (P2) col-1 show gr /Helvetica findfont 12.00 scalefont setfont 39 369 m gs 1 -1 scale (P3) col-1 show gr n 79 419 m 79 399 l 59 399 l 59 419 l clp gs col-1 s gr n 99 419 m 99 399 l 79 399 l 79 419 l clp gs col-1 s gr n 119 419 m 119 399 l 99 399 l 99 419 l clp gs col-1 s gr n 139 419 m 139 399 l 119 399 l 119 419 l clp gs col-1 s gr n 79 444 m 79 424 l 59 424 l 59 444 l clp gs col-1 s gr n 99 444 m 99 424 l 79 424 l 79 444 l clp gs col-1 s gr n 119 444 m 119 424 l 99 424 l 99 444 l clp gs col-1 s gr n 139 444 m 139 424 l 119 424 l 119 444 l clp gs col-1 s gr n 79 469 m 79 449 l 59 449 l 59 469 l clp gs col-1 s gr n 99 469 m 99 449 l 79 449 l 79 469 l clp gs col-1 s gr n 119 469 m 119 449 l 99 449 l 99 469 l clp gs col-1 s gr n 139 469 m 139 449 l 119 449 l 119 469 l clp gs col-1 s gr n 79 494 m 79 474 l 59 474 l 59 494 l clp gs col-1 s gr n 99 494 m 99 474 l 79 474 l 79 494 l clp gs col-1 s gr n 119 494 m 119 474 l 99 474 l 99 494 l clp gs col-1 s gr n 139 494 m 139 474 l 119 474 l 119 494 l clp gs col-1 s gr /Helvetica findfont 12.00 scalefont setfont 39 414 m gs 1 -1 scale (P0) col-1 show gr /Helvetica findfont 12.00 scalefont setfont 39 439 m gs 1 -1 scale (P1) col-1 show gr /Helvetica findfont 12.00 scalefont setfont 39 464 m gs 1 -1 scale (P2) col-1 show gr /Helvetica findfont 12.00 scalefont setfont 39 489 m gs 1 -1 scale (P3) col-1 show gr n 319 59 m 319 39 l 299 39 l 299 59 l clp gs col-1 s gr n 339 59 m 339 39 l 319 39 l 319 59 l clp gs col-1 s gr n 359 59 m 359 39 l 339 39 l 339 59 l clp gs col-1 s gr n 379 59 m 379 39 l 359 39 l 359 59 l clp gs col-1 s gr n 319 84 m 319 64 l 299 64 l 299 84 l clp gs col-1 s gr n 339 84 m 339 64 l 319 64 l 319 84 l clp gs col-1 s gr n 359 84 m 359 64 l 339 64 l 339 84 l clp gs col-1 s gr n 379 84 m 379 64 l 359 64 l 359 84 l clp gs col-1 s gr n 319 109 m 319 89 l 299 89 l 299 109 l clp gs col-1 s gr n 339 109 m 339 89 l 319 89 l 319 109 l clp gs col-1 s gr n 359 109 m 359 89 l 339 89 l 339 109 l clp gs col-1 s gr n 379 109 m 379 89 l 359 89 l 359 109 l clp gs col-1 s gr n 319 134 m 319 114 l 299 114 l 299 134 l clp gs col-1 s gr n 339 134 m 339 114 l 319 114 l 319 134 l clp gs col-1 s gr n 359 134 m 359 114 l 339 114 l 339 134 l clp gs col-1 s gr n 379 134 m 379 114 l 359 114 l 359 134 l clp gs col-1 s gr /Helvetica findfont 12.00 scalefont setfont 279 54 m gs 1 -1 scale (P0) col-1 show gr /Helvetica findfont 12.00 scalefont setfont 279 79 m gs 1 -1 scale (P1) col-1 show gr /Helvetica findfont 12.00 scalefont setfont 279 104 m gs 1 -1 scale (P2) col-1 show gr /Helvetica findfont 12.00 scalefont setfont 279 129 m gs 1 -1 scale (P3) col-1 show gr n 319 179 m 319 159 l 299 159 l 299 179 l clp gs col-1 s gr n 339 179 m 339 159 l 319 159 l 319 179 l clp gs col-1 s gr n 359 179 m 359 159 l 339 159 l 339 179 l clp gs col-1 s gr n 379 179 m 379 159 l 359 159 l 359 179 l clp gs col-1 s gr n 319 204 m 319 184 l 299 184 l 299 204 l clp gs col-1 s gr n 339 204 m 339 184 l 319 184 l 319 204 l clp gs col-1 s gr n 359 204 m 359 184 l 339 184 l 339 204 l clp gs col-1 s gr n 379 204 m 379 184 l 359 184 l 359 204 l clp gs col-1 s gr n 319 229 m 319 209 l 299 209 l 299 229 l clp gs col-1 s gr n 339 229 m 339 209 l 319 209 l 319 229 l clp gs col-1 s gr n 359 229 m 359 209 l 339 209 l 339 229 l clp gs col-1 s gr n 379 229 m 379 209 l 359 209 l 359 229 l clp gs col-1 s gr n 319 254 m 319 234 l 299 234 l 299 254 l clp gs col-1 s gr n 339 254 m 339 234 l 319 234 l 319 254 l clp gs col-1 s gr n 359 254 m 359 234 l 339 234 l 339 254 l clp gs col-1 s gr n 379 254 m 379 234 l 359 234 l 359 254 l clp gs col-1 s gr /Helvetica findfont 12.00 scalefont setfont 279 174 m gs 1 -1 scale (P0) col-1 show gr /Helvetica findfont 12.00 scalefont setfont 279 199 m gs 1 -1 scale (P1) col-1 show gr /Helvetica findfont 12.00 scalefont setfont 279 224 m gs 1 -1 scale (P2) col-1 show gr /Helvetica findfont 12.00 scalefont setfont 279 249 m gs 1 -1 scale (P3) col-1 show gr n 319 299 m 319 279 l 299 279 l 299 299 l clp gs col-1 s gr n 339 299 m 339 279 l 319 279 l 319 299 l clp gs col-1 s gr n 359 299 m 359 279 l 339 279 l 339 299 l clp gs col-1 s gr n 379 299 m 379 279 l 359 279 l 359 299 l clp gs col-1 s gr n 319 324 m 319 304 l 299 304 l 299 324 l clp gs col-1 s gr n 339 324 m 339 304 l 319 304 l 319 324 l clp gs col-1 s gr n 359 324 m 359 304 l 339 304 l 339 324 l clp gs col-1 s gr n 379 324 m 379 304 l 359 304 l 359 324 l clp gs col-1 s gr n 319 349 m 319 329 l 299 329 l 299 349 l clp gs col-1 s gr n 339 349 m 339 329 l 319 329 l 319 349 l clp gs col-1 s gr n 359 349 m 359 329 l 339 329 l 339 349 l clp gs col-1 s gr n 379 349 m 379 329 l 359 329 l 359 349 l clp gs col-1 s gr n 319 374 m 319 354 l 299 354 l 299 374 l clp gs col-1 s gr n 339 374 m 339 354 l 319 354 l 319 374 l clp gs col-1 s gr n 359 374 m 359 354 l 339 354 l 339 374 l clp gs col-1 s gr n 379 374 m 379 354 l 359 354 l 359 374 l clp gs col-1 s gr /Helvetica findfont 12.00 scalefont setfont 279 294 m gs 1 -1 scale (P0) col-1 show gr /Helvetica findfont 12.00 scalefont setfont 279 319 m gs 1 -1 scale (P1) col-1 show gr /Helvetica findfont 12.00 scalefont setfont 279 344 m gs 1 -1 scale (P2) col-1 show gr /Helvetica findfont 12.00 scalefont setfont 279 369 m gs 1 -1 scale (P3) col-1 show gr n 319 419 m 319 399 l 299 399 l 299 419 l clp gs col-1 s gr n 339 419 m 339 399 l 319 399 l 319 419 l clp gs col-1 s gr n 359 419 m 359 399 l 339 399 l 339 419 l clp gs col-1 s gr n 379 419 m 379 399 l 359 399 l 359 419 l clp gs col-1 s gr n 319 444 m 319 424 l 299 424 l 299 444 l clp gs col-1 s gr n 339 444 m 339 424 l 319 424 l 319 444 l clp gs col-1 s gr n 359 444 m 359 424 l 339 424 l 339 444 l clp gs col-1 s gr n 379 444 m 379 424 l 359 424 l 359 444 l clp gs col-1 s gr n 319 469 m 319 449 l 299 449 l 299 469 l clp gs col-1 s gr n 339 469 m 339 449 l 319 449 l 319 469 l clp gs col-1 s gr n 359 469 m 359 449 l 339 449 l 339 469 l clp gs col-1 s gr n 379 469 m 379 449 l 359 449 l 359 469 l clp gs col-1 s gr n 319 494 m 319 474 l 299 474 l 299 494 l clp gs col-1 s gr n 339 494 m 339 474 l 319 474 l 319 494 l clp gs col-1 s gr n 359 494 m 359 474 l 339 474 l 339 494 l clp gs col-1 s gr n 379 494 m 379 474 l 359 474 l 359 494 l clp gs col-1 s gr /Helvetica findfont 12.00 scalefont setfont 279 414 m gs 1 -1 scale (P0) col-1 show gr /Helvetica findfont 12.00 scalefont setfont 279 439 m gs 1 -1 scale (P1) col-1 show gr /Helvetica findfont 12.00 scalefont setfont 279 464 m gs 1 -1 scale (P2) col-1 show gr /Helvetica findfont 12.00 scalefont setfont 279 489 m gs 1 -1 scale (P3) col-1 show gr 2.000 setlinewidth n 159 89 m 269 89 l gs col-1 s gr n 245.000 83.000 m 269.000 89.000 l 245.000 95.000 l gs 2 setlinejoin col-1 s gr n 159 194 m 269 194 l gs col-1 s gr n 245.000 188.000 m 269.000 194.000 l 245.000 200.000 l gs 2 setlinejoin col-1 s gr n 159 334 m 269 334 l gs col-1 s gr n 245.000 328.000 m 269.000 334.000 l 245.000 340.000 l gs 2 setlinejoin col-1 s gr n 159 449 m 269 449 l gs col-1 s gr n 245.000 443.000 m 269.000 449.000 l 245.000 455.000 l gs 2 setlinejoin col-1 s gr n 269 244 m 159 244 l gs col-1 s gr n 183.000 250.000 m 159.000 244.000 l 183.000 238.000 l gs 2 setlinejoin col-1 s gr /Helvetica findfont 12.00 scalefont setfont 69 54 m gs 1 -1 scale (A) dup stringwidth pop 2 div neg 0 rmoveto col-1 show gr /Helvetica findfont 12.00 scalefont setfont 309 54 m gs 1 -1 scale (A) dup stringwidth pop 2 div neg 0 rmoveto col-1 show gr /Helvetica findfont 12.00 scalefont setfont 309 79 m gs 1 -1 scale (A) dup stringwidth pop 2 div neg 0 rmoveto col-1 show gr /Helvetica findfont 12.00 scalefont setfont 309 104 m gs 1 -1 scale (A) dup stringwidth pop 2 div neg 0 rmoveto col-1 show gr /Helvetica findfont 12.00 scalefont setfont 309 129 m gs 1 -1 scale (A) dup stringwidth pop 2 div neg 0 rmoveto col-1 show gr /Helvetica findfont 12.00 scalefont setfont 69 174 m gs 1 -1 scale (A) dup stringwidth pop 2 div neg 0 rmoveto col-1 show gr /Helvetica findfont 12.00 scalefont setfont 89 174 m gs 1 -1 scale (B) dup stringwidth pop 2 div neg 0 rmoveto col-1 show gr /Helvetica findfont 12.00 scalefont setfont 109 174 m gs 1 -1 scale (C) dup stringwidth pop 2 div neg 0 rmoveto col-1 show gr /Helvetica findfont 12.00 scalefont setfont 129 174 m gs 1 -1 scale (D) dup stringwidth pop 2 div neg 0 rmoveto col-1 show gr /Helvetica findfont 12.00 scalefont setfont 309 174 m gs 1 -1 scale (A) dup stringwidth pop 2 div neg 0 rmoveto col-1 show gr /Helvetica findfont 12.00 scalefont setfont 309 199 m gs 1 -1 scale (B) dup stringwidth pop 2 div neg 0 rmoveto col-1 show gr /Helvetica findfont 12.00 scalefont setfont 309 224 m gs 1 -1 scale (C) dup stringwidth pop 2 div neg 0 rmoveto col-1 show gr /Helvetica findfont 12.00 scalefont setfont 309 249 m gs 1 -1 scale (D) dup stringwidth pop 2 div neg 0 rmoveto col-1 show gr /Helvetica findfont 12.00 scalefont setfont 69 294 m gs 1 -1 scale (A) dup stringwidth pop 2 div neg 0 rmoveto col-1 show gr /Helvetica findfont 12.00 scalefont setfont 69 319 m gs 1 -1 scale (B) dup stringwidth pop 2 div neg 0 rmoveto col-1 show gr /Helvetica findfont 12.00 scalefont setfont 69 344 m gs 1 -1 scale (C) dup stringwidth pop 2 div neg 0 rmoveto col-1 show gr /Helvetica findfont 12.00 scalefont setfont 69 369 m gs 1 -1 scale (D) dup stringwidth pop 2 div neg 0 rmoveto col-1 show gr /Helvetica findfont 12.00 scalefont setfont 309 294 m gs 1 -1 scale (A) dup stringwidth pop 2 div neg 0 rmoveto col-1 show gr /Helvetica findfont 12.00 scalefont setfont 329 294 m gs 1 -1 scale (B) dup stringwidth pop 2 div neg 0 rmoveto col-1 show gr /Helvetica findfont 12.00 scalefont setfont 349 294 m gs 1 -1 scale (C) dup stringwidth pop 2 div neg 0 rmoveto col-1 show gr /Helvetica findfont 12.00 scalefont setfont 369 294 m gs 1 -1 scale (D) dup stringwidth pop 2 div neg 0 rmoveto col-1 show gr /Helvetica findfont 12.00 scalefont setfont 309 319 m gs 1 -1 scale (A) dup stringwidth pop 2 div neg 0 rmoveto col-1 show gr /Helvetica findfont 12.00 scalefont setfont 329 319 m gs 1 -1 scale (B) dup stringwidth pop 2 div neg 0 rmoveto col-1 show gr /Helvetica findfont 12.00 scalefont setfont 349 319 m gs 1 -1 scale (C) dup stringwidth pop 2 div neg 0 rmoveto col-1 show gr /Helvetica findfont 12.00 scalefont setfont 369 319 m gs 1 -1 scale (D) dup stringwidth pop 2 div neg 0 rmoveto col-1 show gr /Helvetica findfont 12.00 scalefont setfont 309 344 m gs 1 -1 scale (A) dup stringwidth pop 2 div neg 0 rmoveto col-1 show gr /Helvetica findfont 12.00 scalefont setfont 329 344 m gs 1 -1 scale (B) dup stringwidth pop 2 div neg 0 rmoveto col-1 show gr /Helvetica findfont 12.00 scalefont setfont 349 344 m gs 1 -1 scale (C) dup stringwidth pop 2 div neg 0 rmoveto col-1 show gr /Helvetica findfont 12.00 scalefont setfont 369 344 m gs 1 -1 scale (D) dup stringwidth pop 2 div neg 0 rmoveto col-1 show gr /Helvetica findfont 12.00 scalefont setfont 309 369 m gs 1 -1 scale (A) dup stringwidth pop 2 div neg 0 rmoveto col-1 show gr /Helvetica findfont 12.00 scalefont setfont 329 369 m gs 1 -1 scale (B) dup stringwidth pop 2 div neg 0 rmoveto col-1 show gr /Helvetica findfont 12.00 scalefont setfont 349 369 m gs 1 -1 scale (C) dup stringwidth pop 2 div neg 0 rmoveto col-1 show gr /Helvetica findfont 12.00 scalefont setfont 369 369 m gs 1 -1 scale (D) dup stringwidth pop 2 div neg 0 rmoveto col-1 show gr /Helvetica findfont 12.00 scalefont setfont 69 414 m gs 1 -1 scale (A0) dup stringwidth pop 2 div neg 0 rmoveto col-1 show gr /Helvetica findfont 12.00 scalefont setfont 89 414 m gs 1 -1 scale (A1) dup stringwidth pop 2 div neg 0 rmoveto col-1 show gr /Helvetica findfont 12.00 scalefont setfont 109 414 m gs 1 -1 scale (A2) dup stringwidth pop 2 div neg 0 rmoveto col-1 show gr /Helvetica findfont 12.00 scalefont setfont 129 414 m gs 1 -1 scale (A3) dup stringwidth pop 2 div neg 0 rmoveto col-1 show gr /Helvetica findfont 12.00 scalefont setfont 69 439 m gs 1 -1 scale (B0) dup stringwidth pop 2 div neg 0 rmoveto col-1 show gr /Helvetica findfont 12.00 scalefont setfont 89 439 m gs 1 -1 scale (B1) dup stringwidth pop 2 div neg 0 rmoveto col-1 show gr /Helvetica findfont 12.00 scalefont setfont 109 439 m gs 1 -1 scale (B2) dup stringwidth pop 2 div neg 0 rmoveto col-1 show gr /Helvetica findfont 12.00 scalefont setfont 129 439 m gs 1 -1 scale (B3) dup stringwidth pop 2 div neg 0 rmoveto col-1 show gr /Helvetica findfont 12.00 scalefont setfont 69 464 m gs 1 -1 scale (C0) dup stringwidth pop 2 div neg 0 rmoveto col-1 show gr /Helvetica findfont 12.00 scalefont setfont 89 464 m gs 1 -1 scale (C1) dup stringwidth pop 2 div neg 0 rmoveto col-1 show gr /Helvetica findfont 12.00 scalefont setfont 109 464 m gs 1 -1 scale (C2) dup stringwidth pop 2 div neg 0 rmoveto col-1 show gr /Helvetica findfont 12.00 scalefont setfont 129 464 m gs 1 -1 scale (C3) dup stringwidth pop 2 div neg 0 rmoveto col-1 show gr /Helvetica findfont 12.00 scalefont setfont 69 489 m gs 1 -1 scale (D0) dup stringwidth pop 2 div neg 0 rmoveto col-1 show gr /Helvetica findfont 12.00 scalefont setfont 89 489 m gs 1 -1 scale (D1) dup stringwidth pop 2 div neg 0 rmoveto col-1 show gr /Helvetica findfont 12.00 scalefont setfont 109 489 m gs 1 -1 scale (D2) dup stringwidth pop 2 div neg 0 rmoveto col-1 show gr /Helvetica findfont 12.00 scalefont setfont 129 489 m gs 1 -1 scale (D3) dup stringwidth pop 2 div neg 0 rmoveto col-1 show gr /Helvetica findfont 12.00 scalefont setfont 309 414 m gs 1 -1 scale (A0) dup stringwidth pop 2 div neg 0 rmoveto col-1 show gr /Helvetica findfont 12.00 scalefont setfont 329 414 m gs 1 -1 scale (B0) dup stringwidth pop 2 div neg 0 rmoveto col-1 show gr /Helvetica findfont 12.00 scalefont setfont 349 414 m gs 1 -1 scale (C0) dup stringwidth pop 2 div neg 0 rmoveto col-1 show gr /Helvetica findfont 12.00 scalefont setfont 369 414 m gs 1 -1 scale (D0) dup stringwidth pop 2 div neg 0 rmoveto col-1 show gr /Helvetica findfont 12.00 scalefont setfont 309 439 m gs 1 -1 scale (A1) dup stringwidth pop 2 div neg 0 rmoveto col-1 show gr /Helvetica findfont 12.00 scalefont setfont 329 439 m gs 1 -1 scale (B1) dup stringwidth pop 2 div neg 0 rmoveto col-1 show gr /Helvetica findfont 12.00 scalefont setfont 349 439 m gs 1 -1 scale (C1) dup stringwidth pop 2 div neg 0 rmoveto col-1 show gr /Helvetica findfont 12.00 scalefont setfont 369 439 m gs 1 -1 scale (D1) dup stringwidth pop 2 div neg 0 rmoveto col-1 show gr /Helvetica findfont 12.00 scalefont setfont 309 464 m gs 1 -1 scale (A2) dup stringwidth pop 2 div neg 0 rmoveto col-1 show gr /Helvetica findfont 12.00 scalefont setfont 329 464 m gs 1 -1 scale (B2) dup stringwidth pop 2 div neg 0 rmoveto col-1 show gr /Helvetica findfont 12.00 scalefont setfont 349 464 m gs 1 -1 scale (C2) dup stringwidth pop 2 div neg 0 rmoveto col-1 show gr /Helvetica findfont 12.00 scalefont setfont 369 464 m gs 1 -1 scale (D2) dup stringwidth pop 2 div neg 0 rmoveto col-1 show gr /Helvetica findfont 12.00 scalefont setfont 309 489 m gs 1 -1 scale (A3) dup stringwidth pop 2 div neg 0 rmoveto col-1 show gr /Helvetica findfont 12.00 scalefont setfont 329 489 m gs 1 -1 scale (B3) dup stringwidth pop 2 div neg 0 rmoveto col-1 show gr /Helvetica findfont 12.00 scalefont setfont 349 489 m gs 1 -1 scale (C3) dup stringwidth pop 2 div neg 0 rmoveto col-1 show gr /Helvetica findfont 12.00 scalefont setfont 369 489 m gs 1 -1 scale (D3) dup stringwidth pop 2 div neg 0 rmoveto col-1 show gr /Helvetica findfont 12.00 scalefont setfont 214 439 m gs 1 -1 scale (All to All) dup stringwidth pop 2 div neg 0 rmoveto col-1 show gr /Helvetica findfont 12.00 scalefont setfont 214 324 m gs 1 -1 scale (All gather) dup stringwidth pop 2 div neg 0 rmoveto col-1 show gr /Helvetica findfont 12.00 scalefont setfont 214 184 m gs 1 -1 scale (Scatter) dup stringwidth pop 2 div neg 0 rmoveto col-1 show gr /Helvetica findfont 12.00 scalefont setfont 214 234 m gs 1 -1 scale (Gather) dup stringwidth pop 2 div neg 0 rmoveto col-1 show gr /Helvetica findfont 12.00 scalefont setfont 214 84 m gs 1 -1 scale (Broadcast) dup stringwidth pop 2 div neg 0 rmoveto col-1 show gr $F2psEnd @endspecial 71 2282 a Fp(Schematic)37 b(rep)m(resentation)f(of)f(collective) j(data)71 2406 y(movement)c(in)h(MPI)2065 2770 y Fo(74)p eop bop 71 120 a @beginspecial @setspecial /$F2psDict 32 dict def $F2psDict begin $F2psDict /mtrx matrix put end /$F2psBegin {$F2psDict begin /$F2psEnteredState save def} def /$F2psEnd {$F2psEnteredState restore end} def $F2psBegin 0.900000 -0.900000 scale 90 rotate 0 -612 translate -36 36 translate 4.000 setlinewidth .2 setgray newpath 34 19 moveto 19 19 19 604 15 arcto 4 {pop} repeat 19 619 764 619 15 arcto 4 {pop} repeat 779 619 779 34 15 arcto 4 {pop} repeat 779 19 34 19 15 arcto 4 {pop} repeat closepath stroke showpage $F2psEnd @endspecial 187 x Fh(Available)31 b(Collective)g(Computation)i(P)m(atterns)p 71 357 1910 19 v 71 372 1910 7 v 575 1549 a @beginspecial 0 @llx 0 @lly 216 @urx 202 @ury 2160 @rwi @setspecial /$F2psDict 200 dict def $F2psDict begin $F2psDict /mtrx matrix put /l {lineto} bind def /m {moveto} bind def /s {stroke} bind def /n {newpath} bind def /gs {gsave} bind def /gr {grestore} bind def /clp {closepath} bind def /graycol {dup dup currentrgbcolor 4 -2 roll mul 4 -2 roll mul 4 -2 roll mul setrgbcolor} bind def /col-1 {} def /col0 {0 0 0 setrgbcolor} bind def /col1 {0 0 1 setrgbcolor} bind def /col2 {0 1 0 setrgbcolor} bind def /col3 {0 1 1 setrgbcolor} bind def /col4 {1 0 0 setrgbcolor} bind def /col5 {1 0 1 setrgbcolor} bind def /col6 {1 1 0 setrgbcolor} bind def /col7 {1 1 1 setrgbcolor} bind def /col8 {.68 .85 .9 setrgbcolor} bind def /col9 {0 .39 0 setrgbcolor} bind def /col10 {.65 .17 .17 setrgbcolor} bind def /col11 {1 .51 0 setrgbcolor} bind def /col12 {.63 .13 .94 setrgbcolor} bind def /col13 {1 .75 .8 setrgbcolor} bind def /col14 {.7 .13 .13 setrgbcolor} bind def /col15 {1 .84 0 setrgbcolor} bind def end /$F2psBegin {$F2psDict begin /$F2psEnteredState save def} def /$F2psEnd {$F2psEnteredState restore end} def $F2psBegin 0 setlinecap 0 setlinejoin -36.0 337.0 translate 0.900 -0.900 scale /Helvetica findfont 12.00 scalefont setfont 256 343 m gs 1 -1 scale (ABC) dup stringwidth pop 2 div neg 0 rmoveto col-1 show gr 0.500 setlinewidth n 279 349 m 279 329 l 234 329 l 234 349 l clp gs col-1 s gr n 279 374 m 279 354 l 234 354 l 234 374 l clp gs col-1 s gr /Helvetica findfont 12.00 scalefont setfont 256 368 m gs 1 -1 scale (ABCD) dup stringwidth pop 2 div neg 0 rmoveto col-1 show gr n 279 324 m 279 304 l 234 304 l 234 324 l clp gs col-1 s gr /Helvetica findfont 12.00 scalefont setfont 256 318 m gs 1 -1 scale (AB) dup stringwidth pop 2 div neg 0 rmoveto col-1 show gr n 279 299 m 279 279 l 234 279 l 234 299 l clp gs col-1 s gr /Helvetica findfont 12.00 scalefont setfont 256 293 m gs 1 -1 scale (A) dup stringwidth pop 2 div neg 0 rmoveto col-1 show gr n 279 169 m 279 149 l 234 149 l 234 169 l clp gs col-1 s gr /Helvetica findfont 12.00 scalefont setfont 256 163 m gs 1 -1 scale (ABCD) dup stringwidth pop 2 div neg 0 rmoveto col-1 show gr 2.000 setlinewidth n 94 194 m 204 194 l gs col-1 s gr n 180.000 188.000 m 204.000 194.000 l 180.000 200.000 l gs 2 setlinejoin col-1 s gr n 94 334 m 204 334 l gs col-1 s gr n 180.000 328.000 m 204.000 334.000 l 180.000 340.000 l gs 2 setlinejoin col-1 s gr 0.500 setlinewidth n 279 194 m 279 174 l 234 174 l 234 194 l clp gs col-1 s gr n 279 219 m 279 199 l 234 199 l 234 219 l clp gs col-1 s gr n 279 244 m 279 224 l 234 224 l 234 244 l clp gs col-1 s gr /Helvetica findfont 12.00 scalefont setfont 149 184 m gs 1 -1 scale (Reduce) dup stringwidth pop 2 div neg 0 rmoveto col-1 show gr /Helvetica findfont 12.00 scalefont setfont 149 324 m gs 1 -1 scale (Scan) dup stringwidth pop 2 div neg 0 rmoveto col-1 show gr /Helvetica findfont 12.00 scalefont setfont 214 239 m gs 1 -1 scale (P3) col-1 show gr /Helvetica findfont 12.00 scalefont setfont 214 369 m gs 1 -1 scale (P3) col-1 show gr /Helvetica findfont 12.00 scalefont setfont 214 164 m gs 1 -1 scale (P0) col-1 show gr /Helvetica findfont 12.00 scalefont setfont 214 189 m gs 1 -1 scale (P1) col-1 show gr /Helvetica findfont 12.00 scalefont setfont 214 214 m gs 1 -1 scale (P2) col-1 show gr /Helvetica findfont 12.00 scalefont setfont 214 294 m gs 1 -1 scale (P0) col-1 show gr /Helvetica findfont 12.00 scalefont setfont 214 319 m gs 1 -1 scale (P1) col-1 show gr /Helvetica findfont 12.00 scalefont setfont 214 344 m gs 1 -1 scale (P2) col-1 show gr n 79 169 m 79 149 l 59 149 l 59 169 l clp gs col-1 s gr n 79 194 m 79 174 l 59 174 l 59 194 l clp gs col-1 s gr n 79 219 m 79 199 l 59 199 l 59 219 l clp gs col-1 s gr n 79 244 m 79 224 l 59 224 l 59 244 l clp gs col-1 s gr n 79 299 m 79 279 l 59 279 l 59 299 l clp gs col-1 s gr n 79 324 m 79 304 l 59 304 l 59 324 l clp gs col-1 s gr n 79 349 m 79 329 l 59 329 l 59 349 l clp gs col-1 s gr n 79 374 m 79 354 l 59 354 l 59 374 l clp gs col-1 s gr /Helvetica findfont 12.00 scalefont setfont 69 164 m gs 1 -1 scale (A) dup stringwidth pop 2 div neg 0 rmoveto col-1 show gr /Helvetica findfont 12.00 scalefont setfont 69 189 m gs 1 -1 scale (B) dup stringwidth pop 2 div neg 0 rmoveto col-1 show gr /Helvetica findfont 12.00 scalefont setfont 69 214 m gs 1 -1 scale (C) dup stringwidth pop 2 div neg 0 rmoveto col-1 show gr /Helvetica findfont 12.00 scalefont setfont 69 239 m gs 1 -1 scale (D) dup stringwidth pop 2 div neg 0 rmoveto col-1 show gr /Helvetica findfont 12.00 scalefont setfont 39 239 m gs 1 -1 scale (P3) col-1 show gr /Helvetica findfont 12.00 scalefont setfont 69 294 m gs 1 -1 scale (A) dup stringwidth pop 2 div neg 0 rmoveto col-1 show gr /Helvetica findfont 12.00 scalefont setfont 69 319 m gs 1 -1 scale (B) dup stringwidth pop 2 div neg 0 rmoveto col-1 show gr /Helvetica findfont 12.00 scalefont setfont 69 344 m gs 1 -1 scale (C) dup stringwidth pop 2 div neg 0 rmoveto col-1 show gr /Helvetica findfont 12.00 scalefont setfont 69 369 m gs 1 -1 scale (D) dup stringwidth pop 2 div neg 0 rmoveto col-1 show gr /Helvetica findfont 12.00 scalefont setfont 39 369 m gs 1 -1 scale (P3) col-1 show gr /Helvetica findfont 12.00 scalefont setfont 39 294 m gs 1 -1 scale (P0) col-1 show gr /Helvetica findfont 12.00 scalefont setfont 39 319 m gs 1 -1 scale (P1) col-1 show gr /Helvetica findfont 12.00 scalefont setfont 39 344 m gs 1 -1 scale (P2) col-1 show gr /Helvetica findfont 12.00 scalefont setfont 39 164 m gs 1 -1 scale (P0) col-1 show gr /Helvetica findfont 12.00 scalefont setfont 39 189 m gs 1 -1 scale (P1) col-1 show gr /Helvetica findfont 12.00 scalefont setfont 39 214 m gs 1 -1 scale (P2) col-1 show gr $F2psEnd @endspecial 71 1707 a Fp(Schematic)k(rep)m(resentation)f(of)f(collective)j (data)71 1831 y(movement)c(in)h(MPI)2065 2770 y Fo(75)p eop bop 71 120 a @beginspecial @setspecial /$F2psDict 32 dict def $F2psDict begin $F2psDict /mtrx matrix put end /$F2psBegin {$F2psDict begin /$F2psEnteredState save def} def /$F2psEnd {$F2psEnteredState restore end} def $F2psBegin 0.900000 -0.900000 scale 90 rotate 0 -612 translate -36 36 translate 4.000 setlinewidth .2 setgray newpath 34 19 moveto 19 19 19 604 15 arcto 4 {pop} repeat 19 619 764 619 15 arcto 4 {pop} repeat 779 619 779 34 15 arcto 4 {pop} repeat 779 19 34 19 15 arcto 4 {pop} repeat closepath stroke showpage $F2psEnd @endspecial 187 x Fh(MPI)30 b(Collective)i(Routines)p 71 357 1910 19 v 71 372 1910 7 v 82 779 a Fm(\017)42 b Fl(Many)29 b(routines:)391 915 y(Allgather)276 b(Allgatherv)82 b(Allreduce)391 994 y(Alltoall)346 b(Alltoallv)152 b(Bcast)391 1073 y(Gather)357 b(Gatherv)163 b(Reduce)391 1153 y(ReduceScatter)84 b(Scan)270 b(Scatter)391 1232 y(Scatterv)82 1405 y Fm(\017)42 b Ff(All)27 b Fl(versions)h(deliver)g(results)g(to)g(all)f(pa)n(rticipating)161 1484 y(p)n(ro)r(cesses.)82 1656 y Fm(\017)42 b Ff(V)28 b Fl(versions)g(allo)n (w)f(the)i(chunks)g(to)f(have)h(di\013erent)g(sizes.)82 1828 y Fm(\017)42 b Fl(Allreduce,)28 b(Reduce,)h(ReduceScatter,)h(and)e(Scan)h (tak)n(e)161 1907 y(b)r(oth)g(built-in)d(and)i(user-de\014ned)i(combination) 161 1986 y(functions.)2065 2770 y Fo(76)p eop bop 71 120 a @beginspecial @setspecial /$F2psDict 32 dict def $F2psDict begin $F2psDict /mtrx matrix put end /$F2psBegin {$F2psDict begin /$F2psEnteredState save def} def /$F2psEnd {$F2psEnteredState restore end} def $F2psBegin 0.900000 -0.900000 scale 90 rotate 0 -612 translate -36 36 translate 4.000 setlinewidth .2 setgray newpath 34 19 moveto 19 19 19 604 15 arcto 4 {pop} repeat 19 619 764 619 15 arcto 4 {pop} repeat 779 619 779 34 15 arcto 4 {pop} repeat 779 19 34 19 15 arcto 4 {pop} repeat closepath stroke showpage $F2psEnd @endspecial 187 x Fh(Built-in)30 b(Collective)h(Computation)i(Op)s(erations) p 71 357 1910 19 v 71 372 1910 7 v 245 778 1561 3 v 244 857 3 80 v 287 834 a Fl(MPI)c(Name)p 704 857 V 82 w(Op)r(eration)p 1804 857 V 245 859 1561 3 v 244 939 3 80 v 287 915 a Ff(MPI)p 402 915 22 2 v 25 w(MAX)p 704 939 3 80 v 213 w Fl(Maximum)p 1804 939 V 244 1018 V 287 995 a Ff(MPI)p 402 995 22 2 v 25 w(MIN)p 704 1018 3 80 v 213 w Fl(Minimum)p 1804 1018 V 244 1097 V 287 1074 a Ff(MPI)p 402 1074 22 2 v 25 w(PROD)p 704 1097 3 80 v 176 w Fl(Pro)r(duct)p 1804 1097 V 244 1176 V 287 1153 a Ff(MPI)p 402 1153 22 2 v 25 w(SUM)p 704 1176 3 80 v 213 w Fl(Sum)p 1804 1176 V 245 1179 1561 3 v 244 1258 3 80 v 287 1235 a Ff(MPI)p 402 1235 22 2 v 25 w(LAND)p 704 1258 3 80 v 176 w Fl(Logical)d(and)p 1804 1258 V 244 1337 V 287 1314 a Ff(MPI)p 402 1314 22 2 v 25 w(LOR)p 704 1337 3 80 v 213 w Fl(Logical)g(o)n(r)p 1804 1337 V 244 1417 V 287 1394 a Ff(MPI)p 402 1394 22 2 v 25 w(LXOR)p 704 1417 3 80 v 176 w Fl(Logical)g(exclusive)j(o)n(r)f(\(xo)n(r\))p 1804 1417 V 245 1419 1561 3 v 244 1499 3 80 v 287 1475 a Ff(MPI)p 402 1475 22 2 v 25 w(BAND)p 704 1499 3 80 v 176 w Fl(Bit)n(wise)f(and)p 1804 1499 V 244 1578 V 287 1555 a Ff(MPI)p 402 1555 22 2 v 25 w(BOR)p 704 1578 3 80 v 213 w Fl(Bit)n(wise)g(o)n(r)p 1804 1578 V 244 1657 V 287 1634 a Ff(MPI)p 402 1634 22 2 v 25 w(BXOR)p 704 1657 3 80 v 176 w Fl(Bit)n(wise)g(xo)n(r)p 1804 1657 V 245 1660 1561 3 v 244 1739 3 80 v 287 1716 a Ff(MPI)p 402 1716 22 2 v 25 w(MAXLOC)p 704 1739 3 80 v 102 w Fl(Maximum)f(value)i(and)g(lo)r (cation)p 1804 1739 V 244 1818 V 287 1795 a Ff(MPI)p 402 1795 22 2 v 25 w(MINLOC)p 704 1818 3 80 v 102 w Fl(Minimum)d(value)j(and)g(lo)r (cation)p 1804 1818 V 245 1821 1561 3 v 2065 2770 a Fo(77)p eop bop 71 120 a @beginspecial @setspecial /$F2psDict 32 dict def $F2psDict begin $F2psDict /mtrx matrix put end /$F2psBegin {$F2psDict begin /$F2psEnteredState save def} def /$F2psEnd {$F2psEnteredState restore end} def $F2psBegin 0.900000 -0.900000 scale 90 rotate 0 -612 translate -36 36 translate 4.000 setlinewidth .2 setgray newpath 34 19 moveto 19 19 19 604 15 arcto 4 {pop} repeat 19 619 764 619 15 arcto 4 {pop} repeat 779 619 779 34 15 arcto 4 {pop} repeat 779 19 34 19 15 arcto 4 {pop} repeat closepath stroke showpage $F2psEnd @endspecial 187 x Fh(De\014ning)31 b(Y)-8 b(our)32 b(Own)f(Collective)h(Op)s (erations)p 71 357 1910 19 v 71 372 1910 7 v 71 842 a Ff(MPI_Op_c)o(re)o(ate) o(\(u)o(ser)o(_f)o(unc)o(ti)o(on,)h(commute,)g(op\))71 921 y(MPI_Op_f)o(re)o(e\(o)o(p\))71 1079 y(user_fun)o(ct)o(ion)o(\(i)o(nve)o(c,)g (inoutvec,)g(len,)i(datatype\))71 1220 y Fl(The)28 b(user)h(function)g (should)f(p)r(erfo)n(rm)71 1361 y Ff(inoutvec)o([i)o(])34 b(=)i(invec[i])d (op)j(inoutvec[)o(i])o(;)71 1502 y Fl(fo)n(r)28 b Ff(i)g Fl(from)g Ff(0)g Fl(to)h Ff(len-1)p Fl(.)71 1689 y Ff(user_fun)o(ct)o(ion)d Fl(can)j(b)r(e)i(non-commutative)c(\(e.g.,)j(matrix)71 1813 y(multipl)o(y\).)2065 2770 y Fo(78)p eop bop 71 120 a @beginspecial @setspecial /$F2psDict 32 dict def $F2psDict begin $F2psDict /mtrx matrix put end /$F2psBegin {$F2psDict begin /$F2psEnteredState save def} def /$F2psEnd {$F2psEnteredState restore end} def $F2psBegin 0.900000 -0.900000 scale 90 rotate 0 -612 translate -36 36 translate 4.000 setlinewidth .2 setgray newpath 34 19 moveto 19 19 19 604 15 arcto 4 {pop} repeat 19 619 764 619 15 arcto 4 {pop} repeat 779 619 779 34 15 arcto 4 {pop} repeat 779 19 34 19 15 arcto 4 {pop} repeat closepath stroke showpage $F2psEnd @endspecial 187 x Fh(Sample)31 b(user)h(function)p 71 357 1910 19 v 71 372 1910 7 v 71 607 a Fl(F)n(o)n(r)e(example,)h(to)g(create)h (an)f(op)r(eration)f(that)i(has)f(the)71 686 y(same)e(e\013ect)j(as)e Ff(MPI_SUM)e Fl(on)i(F)n(o)n(rtran)g(double)g(p)n(recision)71 765 y(values,)e(use)71 985 y Ff(subrouti)o(ne)33 b(myfunc\()h(invec,)g (inoutvec,)f(len,)i(datatype)e(\))180 1064 y(integer)h(len,)h(datatype)180 1143 y(double)f(precision)f(invec\(len\))o(,)g(inoutvec\(l)o(en\))180 1221 y(integer)h(i)180 1300 y(do)i(10)g(i=1,len)71 1379 y(10)109 b(inoutvec)o(\(i)o(\))34 b(=)i(invec\(i\))d(+)j(inoutvec\(i)o(\))180 1458 y(return)180 1537 y(end)71 1678 y Fl(T)-7 b(o)28 b(use,)h(just)71 1819 y Ff(integer)k(myop)71 1898 y(call)i(MPI_Op_c)o(re)o(ate)o(\()e(myfunc,) h(.true.,)g(myop,)g(ierr)h(\))71 1977 y(call)g(MPI_Redu)o(ce)o(\()f(a,)h(b,)h (1,)g(MPI_DOUBL)o(E_)o(PRE)o(CI)o(SON)o(,)d(myop,)i(...)g(\))71 2164 y Fl(The)29 b(routine)f Ff(MPI_Op_f)o(ree)d Fl(destro)n(ys)k (user-functions)g(when)71 2288 y(they)g(a)n(re)f(no)h(longer)f(needed.)2065 2770 y Fo(79)p eop bop 71 120 a @beginspecial @setspecial /$F2psDict 32 dict def $F2psDict begin $F2psDict /mtrx matrix put end /$F2psBegin {$F2psDict begin /$F2psEnteredState save def} def /$F2psEnd {$F2psEnteredState restore end} def $F2psBegin 0.900000 -0.900000 scale 90 rotate 0 -612 translate -36 36 translate 4.000 setlinewidth .2 setgray newpath 34 19 moveto 19 19 19 604 15 arcto 4 {pop} repeat 19 619 764 619 15 arcto 4 {pop} repeat 779 619 779 34 15 arcto 4 {pop} repeat 779 19 34 19 15 arcto 4 {pop} repeat closepath stroke showpage $F2psEnd @endspecial 187 x Fh(De\014ning)31 b(groups)p 71 357 1910 19 v 71 372 1910 7 v 71 1053 a Fp(All)40 b(MPI)g(communication)g(is)g (relative)i(to)d(a)71 1178 y Fg(communicato)m(r)g Fp(which)f(contains)g(a)h Fg(context)71 1302 y Fp(and)e(a)h Fg(group)p Fp(.)57 b(The)38 b(group)f(is)i(just)f(a)g(set)g(of)71 1427 y(p)m(ro)s(cesses.)2065 2770 y Fo(80)p eop bop 71 120 a @beginspecial @setspecial /$F2psDict 32 dict def $F2psDict begin $F2psDict /mtrx matrix put end /$F2psBegin {$F2psDict begin /$F2psEnteredState save def} def /$F2psEnd {$F2psEnteredState restore end} def $F2psBegin 0.900000 -0.900000 scale 90 rotate 0 -612 translate -36 36 translate 4.000 setlinewidth .2 setgray newpath 34 19 moveto 19 19 19 604 15 arcto 4 {pop} repeat 19 619 764 619 15 arcto 4 {pop} repeat 779 619 779 34 15 arcto 4 {pop} repeat 779 19 34 19 15 arcto 4 {pop} repeat closepath stroke showpage $F2psEnd @endspecial 187 x Fh(Sub)s(dividin)o(g)29 b(a)j(communicato)m(r)p 71 357 1910 19 v 71 372 1910 7 v 71 683 a Fl(The)e(easiest)f(w)n(a)n(y)h(to)g (create)g(communicato)n(rs)d(with)j(new)71 762 y(groups)e(is)g(with)g Ff(MPI_COMM_S)o(PL)o(IT)p Fl(.)71 903 y(F)n(o)n(r)f(example,)h(to)g(fo)n(rm)g (groups)g(of)h(ro)n(ws)g(of)g(p)n(ro)r(cesses)542 1487 y @beginspecial 0 @llx 0 @lly 232 @urx 124 @ury 2320 @rwi @setspecial /$F2psDict 200 dict def $F2psDict begin $F2psDict /mtrx matrix put /l {lineto} bind def /m {moveto} bind def /s {stroke} bind def /n {newpath} bind def /gs {gsave} bind def /gr {grestore} bind def /clp {closepath} bind def /graycol {dup dup currentrgbcolor 4 -2 roll mul 4 -2 roll mul 4 -2 roll mul setrgbcolor} bind def /col-1 {} def /col0 {0 0 0 setrgbcolor} bind def /col1 {0 0 1 setrgbcolor} bind def /col2 {0 1 0 setrgbcolor} bind def /col3 {0 1 1 setrgbcolor} bind def /col4 {1 0 0 setrgbcolor} bind def /col5 {1 0 1 setrgbcolor} bind def /col6 {1 1 0 setrgbcolor} bind def /col7 {1 1 1 setrgbcolor} bind def /col8 {.68 .85 .9 setrgbcolor} bind def /col9 {0 .39 0 setrgbcolor} bind def /col10 {.65 .17 .17 setrgbcolor} bind def /col11 {1 .51 0 setrgbcolor} bind def /col12 {.63 .13 .94 setrgbcolor} bind def /col13 {1 .75 .8 setrgbcolor} bind def /col14 {.7 .13 .13 setrgbcolor} bind def /col15 {1 .84 0 setrgbcolor} bind def end /$F2psBegin {$F2psDict begin /$F2psEnteredState save def} def /$F2psEnd {$F2psEnteredState restore end} def $F2psBegin 0 setlinecap 0 setlinejoin -24.0 144.0 translate 0.900 -0.900 scale 0.500 setlinewidth n 119 79 m 119 59 l 99 59 l 99 79 l clp gs col-1 s gr n 159 79 m 159 59 l 139 59 l 139 79 l clp gs col-1 s gr n 199 79 m 199 59 l 179 59 l 179 79 l clp gs col-1 s gr n 239 79 m 239 59 l 219 59 l 219 79 l clp gs col-1 s gr n 279 79 m 279 59 l 259 59 l 259 79 l clp gs col-1 s gr n 119 119 m 119 99 l 99 99 l 99 119 l clp gs col-1 s gr n 159 119 m 159 99 l 139 99 l 139 119 l clp gs col-1 s gr n 199 119 m 199 99 l 179 99 l 179 119 l clp gs col-1 s gr n 239 119 m 239 99 l 219 99 l 219 119 l clp gs col-1 s gr n 279 119 m 279 99 l 259 99 l 259 119 l clp gs col-1 s gr n 119 159 m 119 139 l 99 139 l 99 159 l clp gs col-1 s gr n 159 159 m 159 139 l 139 139 l 139 159 l clp gs col-1 s gr n 199 159 m 199 139 l 179 139 l 179 159 l clp gs col-1 s gr n 239 159 m 239 139 l 219 139 l 219 159 l clp gs col-1 s gr n 279 159 m 279 139 l 259 139 l 259 159 l clp gs col-1 s gr 0.000 setlinewidth n 101 64 m 94 64 94 67 7 arcto 4 {pop} repeat 94 74 277 74 7 arcto 4 {pop} repeat 284 74 284 71 7 arcto 4 {pop} repeat 284 64 101 64 7 arcto 4 {pop} repeat clp gs 0.50 setgray fill gr n 101 104 m 94 104 94 107 7 arcto 4 {pop} repeat 94 114 277 114 7 arcto 4 {pop} repeat 284 114 284 111 7 arcto 4 {pop} repeat 284 104 101 104 7 arcto 4 {pop} repeat clp gs 0.50 setgray fill gr n 101 144 m 94 144 94 147 7 arcto 4 {pop} repeat 94 154 277 154 7 arcto 4 {pop} repeat 284 154 284 151 7 arcto 4 {pop} repeat 284 144 101 144 7 arcto 4 {pop} repeat clp gs 0.50 setgray fill gr /Helvetica findfont 17.00 scalefont setfont 79 119 m gs 1 -1 scale (1) dup stringwidth pop 2 div neg 0 rmoveto col-1 show gr /Helvetica findfont 17.00 scalefont setfont 79 159 m gs 1 -1 scale (2) dup stringwidth pop 2 div neg 0 rmoveto col-1 show gr /Helvetica findfont 17.00 scalefont setfont 79 79 m gs 1 -1 scale (0) dup stringwidth pop 2 div neg 0 rmoveto col-1 show gr /Helvetica findfont 17.00 scalefont setfont 109 54 m gs 1 -1 scale (0) dup stringwidth pop 2 div neg 0 rmoveto col-1 show gr /Helvetica findfont 17.00 scalefont setfont 149 54 m gs 1 -1 scale (1) dup stringwidth pop 2 div neg 0 rmoveto col-1 show gr /Helvetica findfont 17.00 scalefont setfont 189 54 m gs 1 -1 scale (2) dup stringwidth pop 2 div neg 0 rmoveto col-1 show gr /Helvetica findfont 17.00 scalefont setfont 229 54 m gs 1 -1 scale (3) dup stringwidth pop 2 div neg 0 rmoveto col-1 show gr /Helvetica findfont 17.00 scalefont setfont 269 54 m gs 1 -1 scale (4) dup stringwidth pop 2 div neg 0 rmoveto col-1 show gr /Helvetica findfont 17.00 scalefont setfont 189 34 m gs 1 -1 scale (Column) dup stringwidth pop 2 div neg 0 rmoveto col-1 show gr /Helvetica findfont 17.00 scalefont setfont 59 119 m gs 1 -1 scale (Row) dup stringwidth pop neg 0 rmoveto col-1 show gr $F2psEnd @endspecial 71 1628 a(use)71 1770 y Ff(MPI_Comm)o(_s)o(pli)o(t\()k(oldcomm,) g(row,)i(0,)h(&newcomm)d(\);)71 1911 y Fl(T)-7 b(o)28 b(maintain)d(the)k(o)n (rder)f(b)n(y)h(rank,)f(use)71 2052 y Ff(MPI_Comm)o(_r)o(ank)o(\()33 b(oldcomm,)h(&rank)g(\);)71 2131 y(MPI_Comm)o(_s)o(pli)o(t\()f(oldcomm,)g (row,)i(rank,)g(&newcomm)e(\);)2065 2770 y Fo(81)p eop bop 71 120 a @beginspecial @setspecial /$F2psDict 32 dict def $F2psDict begin $F2psDict /mtrx matrix put end /$F2psBegin {$F2psDict begin /$F2psEnteredState save def} def /$F2psEnd {$F2psEnteredState restore end} def $F2psBegin 0.900000 -0.900000 scale 90 rotate 0 -612 translate -36 36 translate 4.000 setlinewidth .2 setgray newpath 34 19 moveto 19 19 19 604 15 arcto 4 {pop} repeat 19 619 764 619 15 arcto 4 {pop} repeat 779 619 779 34 15 arcto 4 {pop} repeat 779 19 34 19 15 arcto 4 {pop} repeat closepath stroke showpage $F2psEnd @endspecial 187 x Fh(Sub)s(dividin)o(g)29 b(\(con't\))p 71 357 1910 19 v 71 372 1910 7 v 71 752 a Fl(Simil)o(a)m(rl)o(y)-7 b(,)26 b(to)i(fo)n(rm)g(groups)g(of)h(columns,)550 1349 y @beginspecial 0 @llx 0 @lly 228 @urx 133 @ury 2280 @rwi @setspecial /$F2psDict 200 dict def $F2psDict begin $F2psDict /mtrx matrix put /l {lineto} bind def /m {moveto} bind def /s {stroke} bind def /n {newpath} bind def /gs {gsave} bind def /gr {grestore} bind def /clp {closepath} bind def /graycol {dup dup currentrgbcolor 4 -2 roll mul 4 -2 roll mul 4 -2 roll mul setrgbcolor} bind def /col-1 {} def /col0 {0 0 0 setrgbcolor} bind def /col1 {0 0 1 setrgbcolor} bind def /col2 {0 1 0 setrgbcolor} bind def /col3 {0 1 1 setrgbcolor} bind def /col4 {1 0 0 setrgbcolor} bind def /col5 {1 0 1 setrgbcolor} bind def /col6 {1 1 0 setrgbcolor} bind def /col7 {1 1 1 setrgbcolor} bind def /col8 {.68 .85 .9 setrgbcolor} bind def /col9 {0 .39 0 setrgbcolor} bind def /col10 {.65 .17 .17 setrgbcolor} bind def /col11 {1 .51 0 setrgbcolor} bind def /col12 {.63 .13 .94 setrgbcolor} bind def /col13 {1 .75 .8 setrgbcolor} bind def /col14 {.7 .13 .13 setrgbcolor} bind def /col15 {1 .84 0 setrgbcolor} bind def end /$F2psBegin {$F2psDict begin /$F2psEnteredState save def} def /$F2psEnd {$F2psEnteredState restore end} def $F2psBegin 0 setlinecap 0 setlinejoin -24.0 153.0 translate 0.900 -0.900 scale 0.500 setlinewidth n 119 79 m 119 59 l 99 59 l 99 79 l clp gs col-1 s gr n 159 79 m 159 59 l 139 59 l 139 79 l clp gs col-1 s gr n 199 79 m 199 59 l 179 59 l 179 79 l clp gs col-1 s gr n 239 79 m 239 59 l 219 59 l 219 79 l clp gs col-1 s gr n 279 79 m 279 59 l 259 59 l 259 79 l clp gs col-1 s gr n 119 119 m 119 99 l 99 99 l 99 119 l clp gs col-1 s gr n 159 119 m 159 99 l 139 99 l 139 119 l clp gs col-1 s gr n 199 119 m 199 99 l 179 99 l 179 119 l clp gs col-1 s gr n 239 119 m 239 99 l 219 99 l 219 119 l clp gs col-1 s gr n 279 119 m 279 99 l 259 99 l 259 119 l clp gs col-1 s gr n 119 159 m 119 139 l 99 139 l 99 159 l clp gs col-1 s gr n 159 159 m 159 139 l 139 139 l 139 159 l clp gs col-1 s gr n 199 159 m 199 139 l 179 139 l 179 159 l clp gs col-1 s gr n 239 159 m 239 139 l 219 139 l 219 159 l clp gs col-1 s gr n 279 159 m 279 139 l 259 139 l 259 159 l clp gs col-1 s gr 0.000 setlinewidth n 111 54 m 104 54 104 157 7 arcto 4 {pop} repeat 104 164 107 164 7 arcto 4 {pop} repeat 114 164 114 61 7 arcto 4 {pop} repeat 114 54 111 54 7 arcto 4 {pop} repeat clp gs 0.50 setgray fill gr n 151 54 m 144 54 144 157 7 arcto 4 {pop} repeat 144 164 147 164 7 arcto 4 {pop} repeat 154 164 154 61 7 arcto 4 {pop} repeat 154 54 151 54 7 arcto 4 {pop} repeat clp gs 0.50 setgray fill gr n 191 54 m 184 54 184 157 7 arcto 4 {pop} repeat 184 164 187 164 7 arcto 4 {pop} repeat 194 164 194 61 7 arcto 4 {pop} repeat 194 54 191 54 7 arcto 4 {pop} repeat clp gs 0.50 setgray fill gr n 231 59 m 224 59 224 162 7 arcto 4 {pop} repeat 224 169 227 169 7 arcto 4 {pop} repeat 234 169 234 66 7 arcto 4 {pop} repeat 234 59 231 59 7 arcto 4 {pop} repeat clp gs 0.50 setgray fill gr n 271 59 m 264 59 264 162 7 arcto 4 {pop} repeat 264 169 267 169 7 arcto 4 {pop} repeat 274 169 274 66 7 arcto 4 {pop} repeat 274 59 271 59 7 arcto 4 {pop} repeat clp gs 0.50 setgray fill gr /Helvetica findfont 17.00 scalefont setfont 79 119 m gs 1 -1 scale (1) dup stringwidth pop 2 div neg 0 rmoveto col-1 show gr /Helvetica findfont 17.00 scalefont setfont 79 159 m gs 1 -1 scale (2) dup stringwidth pop 2 div neg 0 rmoveto col-1 show gr /Helvetica findfont 17.00 scalefont setfont 79 79 m gs 1 -1 scale (0) dup stringwidth pop 2 div neg 0 rmoveto col-1 show gr /Helvetica findfont 17.00 scalefont setfont 109 54 m gs 1 -1 scale (0) dup stringwidth pop 2 div neg 0 rmoveto col-1 show gr /Helvetica findfont 17.00 scalefont setfont 149 54 m gs 1 -1 scale (1) dup stringwidth pop 2 div neg 0 rmoveto col-1 show gr /Helvetica findfont 17.00 scalefont setfont 189 54 m gs 1 -1 scale (2) dup stringwidth pop 2 div neg 0 rmoveto col-1 show gr /Helvetica findfont 17.00 scalefont setfont 229 54 m gs 1 -1 scale (3) dup stringwidth pop 2 div neg 0 rmoveto col-1 show gr /Helvetica findfont 17.00 scalefont setfont 269 54 m gs 1 -1 scale (4) dup stringwidth pop 2 div neg 0 rmoveto col-1 show gr /Helvetica findfont 17.00 scalefont setfont 189 34 m gs 1 -1 scale (Column) dup stringwidth pop 2 div neg 0 rmoveto col-1 show gr /Helvetica findfont 17.00 scalefont setfont 59 119 m gs 1 -1 scale (Row) dup stringwidth pop neg 0 rmoveto col-1 show gr $F2psEnd @endspecial 71 1490 a(use)71 1631 y Ff(MPI_Comm)o(_s)o(pli)o(t\()k(oldcomm,) g(column,)h(0,)i(&newcomm2)d(\);)71 1772 y Fl(T)-7 b(o)28 b(maintain)d(the)k (o)n(rder)f(b)n(y)h(rank,)f(use)71 1914 y Ff(MPI_Comm)o(_r)o(ank)o(\()33 b(oldcomm,)h(&rank)g(\);)71 1992 y(MPI_Comm)o(_s)o(pli)o(t\()f(oldcomm,)g (column,)h(rank,)h(&newcomm)o(2)e(\);)2065 2770 y Fo(82)p eop bop 71 120 a @beginspecial @setspecial /$F2psDict 32 dict def $F2psDict begin $F2psDict /mtrx matrix put end /$F2psBegin {$F2psDict begin /$F2psEnteredState save def} def /$F2psEnd {$F2psEnteredState restore end} def $F2psBegin 0.900000 -0.900000 scale 90 rotate 0 -612 translate -36 36 translate 4.000 setlinewidth .2 setgray newpath 34 19 moveto 19 19 19 604 15 arcto 4 {pop} repeat 19 619 764 619 15 arcto 4 {pop} repeat 779 619 779 34 15 arcto 4 {pop} repeat 779 19 34 19 15 arcto 4 {pop} repeat closepath stroke showpage $F2psEnd @endspecial 187 x Fh(Manipulating)30 b(Groups)p 71 357 1910 19 v 71 372 1910 7 v 71 1032 a Fl(Another)g(w)n(a)n(y)f(to)h(create)f(a)h (communicato)n(r)c(with)j(sp)r(eci\014c)71 1111 y(memb)r(ers)e(is)h(to)h(use) g Ff(MPI_Comm)o(_c)o(rea)o(te)o Fl(.)71 1252 y Ff(MPI_Comm)o(_c)o(rea)o(te)o (\()34 b(oldcomm,)f(group,)h(&newcomm)f(\);)71 1439 y Fl(The)28 b(group)h(can)g(b)r(e)g(created)g(in)f(many)f(w)n(a)n(ys:)2065 2770 y Fo(83)p eop bop 71 120 a @beginspecial @setspecial /$F2psDict 32 dict def $F2psDict begin $F2psDict /mtrx matrix put end /$F2psBegin {$F2psDict begin /$F2psEnteredState save def} def /$F2psEnd {$F2psEnteredState restore end} def $F2psBegin 0.900000 -0.900000 scale 90 rotate 0 -612 translate -36 36 translate 4.000 setlinewidth .2 setgray newpath 34 19 moveto 19 19 19 604 15 arcto 4 {pop} repeat 19 619 764 619 15 arcto 4 {pop} repeat 779 619 779 34 15 arcto 4 {pop} repeat 779 19 34 19 15 arcto 4 {pop} repeat closepath stroke showpage $F2psEnd @endspecial 187 x Fh(Creating)32 b(Groups)p 71 357 1910 19 v 71 372 1910 7 v 71 632 a Fl(All)g(group)h(creation)g(routines)g(create)h(a) f(group)h(b)n(y)71 711 y(sp)r(ecifying)d(the)h(memb)r(ers)f(to)h(tak)n(e)f (from)g(an)g(existing)71 790 y(group.)150 962 y Fm(\017)41 b Ff(MPI_Group_)o(in)o(cl)25 b Fl(sp)r(eci\014es)30 b(sp)r(eci\014c)f(memb)r (ers)150 1134 y Fm(\017)41 b Ff(MPI_Group_)o(ex)o(cl)25 b Fl(excludes)k(sp)r (eci\014c)h(memb)r(ers)150 1307 y Fm(\017)41 b Ff(MPI_Group_)o(ra)o(nge)o(_i) o(ncl)25 b Fl(and)j Ff(MPI_Group_)o(ra)o(nge)o(_e)o(xc)o(l)228 1386 y Fl(use)h(ranges)g(of)g(memb)r(ers)150 1558 y Fm(\017)41 b Ff(MPI_Group_)o(un)o(ion)25 b Fl(and)j Ff(MPI_Group_)o(in)o(ter)o(se)o(cti) o(on)228 1637 y Fl(creates)h(a)g(new)g(group)g(from)e(t)n(w)n(o)i(existing)e (groups.)71 1809 y(T)-7 b(o)28 b(get)h(an)f(existing)g(group,)h(use)71 1950 y Ff(MPI_Comm)o(_g)o(rou)o(p\()k(oldcomm,)g(&group)h(\);)71 2091 y Fl(F)n(ree)28 b(a)h(group)f(with)71 2232 y Ff(MPI_Grou)o(p_)o(fre)o (e\()33 b(&group)h(\);)2065 2770 y Fo(84)p eop bop 71 120 a @beginspecial @setspecial /$F2psDict 32 dict def $F2psDict begin $F2psDict /mtrx matrix put end /$F2psBegin {$F2psDict begin /$F2psEnteredState save def} def /$F2psEnd {$F2psEnteredState restore end} def $F2psBegin 0.900000 -0.900000 scale 90 rotate 0 -612 translate -36 36 translate 4.000 setlinewidth .2 setgray newpath 34 19 moveto 19 19 19 604 15 arcto 4 {pop} repeat 19 619 764 619 15 arcto 4 {pop} repeat 779 619 779 34 15 arcto 4 {pop} repeat 779 19 34 19 15 arcto 4 {pop} repeat closepath stroke showpage $F2psEnd @endspecial 249 x Fn(Bu\013ering)37 b(issues)p 71 419 1910 19 v 71 434 1910 7 v 71 907 a Fp(Where)e(do)s(es)e(data)i(go)f(when)g(y)m(ou) g(send)g(it?)48 b(One)71 1032 y(p)s(ossibilit)m(y)36 b(is:)82 1855 y @beginspecial 0 @llx 0 @lly 453 @urx 187 @ury 4530 @rwi @setspecial /$F2psDict 200 dict def $F2psDict begin $F2psDict /mtrx matrix put /l {lineto} bind def /m {moveto} bind def /s {stroke} bind def /n {newpath} bind def /gs {gsave} bind def /gr {grestore} bind def /clp {closepath} bind def /graycol {dup dup currentrgbcolor 4 -2 roll mul 4 -2 roll mul 4 -2 roll mul setrgbcolor} bind def /col-1 {} def /col0 {0 0 0 setrgbcolor} bind def /col1 {0 0 1 setrgbcolor} bind def /col2 {0 1 0 setrgbcolor} bind def /col3 {0 1 1 setrgbcolor} bind def /col4 {1 0 0 setrgbcolor} bind def /col5 {1 0 1 setrgbcolor} bind def /col6 {1 1 0 setrgbcolor} bind def /col7 {1 1 1 setrgbcolor} bind def /col8 {.68 .85 .9 setrgbcolor} bind def /col9 {0 .39 0 setrgbcolor} bind def /col10 {.65 .17 .17 setrgbcolor} bind def /col11 {1 .51 0 setrgbcolor} bind def /col12 {.63 .13 .94 setrgbcolor} bind def /col13 {1 .75 .8 setrgbcolor} bind def /col14 {.7 .13 .13 setrgbcolor} bind def /col15 {1 .84 0 setrgbcolor} bind def end /$F2psBegin {$F2psDict begin /$F2psEnteredState save def} def /$F2psEnd {$F2psEnteredState restore end} def $F2psBegin 0 setlinecap 0 setlinejoin -16.0 198.0 translate 0.900 -0.900 scale 1.000 setlinewidth n 194 99 m 194 74 l 94 74 l 94 99 l clp gs col-1 s gr /Helvetica findfont 17.00 scalefont setfont 143 92 m gs 1 -1 scale (Local Buffer) dup stringwidth pop 2 div neg 0 rmoveto col-1 show gr n 414 154 m 414 129 l 314 129 l 314 154 l clp gs col-1 s gr /Helvetica findfont 17.00 scalefont setfont 363 147 m gs 1 -1 scale (Local Buffer) dup stringwidth pop 2 div neg 0 rmoveto col-1 show gr n 99 59 m 99 39 l 39 39 l 39 59 l clp gs col-1 s gr n 499 199 m 499 179 l 439 179 l 439 199 l clp gs col-1 s gr n 139 99 m 139 119 l 179 119 l gs col-1 s gr n 163.000 115.000 m 179.000 119.000 l 163.000 123.000 l gs 2 setlinejoin col-1 s gr n 299 119 m 359 119 l 359 129 l gs col-1 s gr n 363.000 113.000 m 359.000 129.000 l 355.000 113.000 l gs 2 setlinejoin col-1 s gr n 359 154 m 359 189 l 439 189 l gs col-1 s gr n 423.000 185.000 m 439.000 189.000 l 423.000 193.000 l gs 2 setlinejoin col-1 s gr n 64 59 m 64 84 l 94 84 l gs col-1 s gr n 78.000 80.000 m 94.000 84.000 l 78.000 88.000 l gs 2 setlinejoin col-1 s gr 0.500 setlinewidth n 239 14 m 239 219 l gs col-1 s gr 1.000 setlinewidth n 299 124 m 179 124 l 179 114 l 299 114 l clp gs 0.50 setgray fill gr gs col-1 s gr n 139 179 m 199 124 l gs col-1 s gr n 191.751 127.931 m 199.000 124.000 l 194.454 130.880 l gs 2 setlinejoin col-1 s gr /Helvetica-Bold findfont 17.00 scalefont setfont 34 54 m gs 1 -1 scale (A:) dup stringwidth pop neg 0 rmoveto col-1 show gr /Helvetica-Bold findfont 17.00 scalefont setfont 504 194 m gs 1 -1 scale (B:) col-1 show gr /Helvetica findfont 17.00 scalefont setfont 124 24 m gs 1 -1 scale (Process 1) dup stringwidth pop 2 div neg 0 rmoveto col-1 show gr /Helvetica findfont 17.00 scalefont setfont 364 24 m gs 1 -1 scale (Process 2) dup stringwidth pop 2 div neg 0 rmoveto col-1 show gr /Helvetica findfont 17.00 scalefont setfont 139 199 m gs 1 -1 scale (The Network) dup stringwidth pop 2 div neg 0 rmoveto col-1 show gr $F2psEnd @endspecial 2065 2770 a Fo(85)p eop bop 71 120 a @beginspecial @setspecial /$F2psDict 32 dict def $F2psDict begin $F2psDict /mtrx matrix put end /$F2psBegin {$F2psDict begin /$F2psEnteredState save def} def /$F2psEnd {$F2psEnteredState restore end} def $F2psBegin 0.900000 -0.900000 scale 90 rotate 0 -612 translate -36 36 translate 4.000 setlinewidth .2 setgray newpath 34 19 moveto 19 19 19 604 15 arcto 4 {pop} repeat 19 619 764 619 15 arcto 4 {pop} repeat 779 619 779 34 15 arcto 4 {pop} repeat 779 19 34 19 15 arcto 4 {pop} repeat closepath stroke showpage $F2psEnd @endspecial 187 x Fh(Better)32 b(bu\013ering)p 71 357 1910 19 v 71 372 1910 7 v 71 702 a Fp(This)37 b(is)g(not)f(very)h(e\016cient.)54 b(There)37 b(a)m(re)g(three)71 826 y(copies)f(in)h(addition)g(to)f(the)h (exchange)e(of)g(data)71 951 y(b)s(et)m(w)m(een)e(p)m(ro)s(cesses.)44 b(W)m(e)35 b(p)m(refer)282 1475 y @beginspecial 0 @llx 0 @lly 357 @urx 115 @ury 3570 @rwi @setspecial /$F2psDict 200 dict def $F2psDict begin $F2psDict /mtrx matrix put /l {lineto} bind def /m {moveto} bind def /s {stroke} bind def /n {newpath} bind def /gs {gsave} bind def /gr {grestore} bind def /clp {closepath} bind def /graycol {dup dup currentrgbcolor 4 -2 roll mul 4 -2 roll mul 4 -2 roll mul setrgbcolor} bind def /col-1 {} def /col0 {0 0 0 setrgbcolor} bind def /col1 {0 0 1 setrgbcolor} bind def /col2 {0 1 0 setrgbcolor} bind def /col3 {0 1 1 setrgbcolor} bind def /col4 {1 0 0 setrgbcolor} bind def /col5 {1 0 1 setrgbcolor} bind def /col6 {1 1 0 setrgbcolor} bind def /col7 {1 1 1 setrgbcolor} bind def /col8 {.68 .85 .9 setrgbcolor} bind def /col9 {0 .39 0 setrgbcolor} bind def /col10 {.65 .17 .17 setrgbcolor} bind def /col11 {1 .51 0 setrgbcolor} bind def /col12 {.63 .13 .94 setrgbcolor} bind def /col13 {1 .75 .8 setrgbcolor} bind def /col14 {.7 .13 .13 setrgbcolor} bind def /col15 {1 .84 0 setrgbcolor} bind def end /$F2psBegin {$F2psDict begin /$F2psEnteredState save def} def /$F2psEnd {$F2psEnteredState restore end} def $F2psBegin 0 setlinecap 0 setlinejoin -16.0 126.0 translate 0.900 -0.900 scale 1.000 setlinewidth n 409 119 m 409 99 l 349 99 l 349 119 l clp gs col-1 s gr /Helvetica-Bold findfont 17.00 scalefont setfont 414 114 m gs 1 -1 scale (B:) col-1 show gr n 99 59 m 99 39 l 39 39 l 39 59 l clp gs col-1 s gr 0.500 setlinewidth n 239 14 m 239 139 l gs col-1 s gr 1.000 setlinewidth n 64 59 m 64 74 l 179 74 l gs col-1 s gr n 163.000 70.000 m 179.000 74.000 l 163.000 78.000 l gs 2 setlinejoin col-1 s gr n 299 74 m 319 74 l 319 109 l 349 109 l gs col-1 s gr n 333.000 105.000 m 349.000 109.000 l 333.000 113.000 l gs 2 setlinejoin col-1 s gr n 299 79 m 179 79 l 179 69 l 299 69 l clp gs 0.50 setgray fill gr gs col-1 s gr /Helvetica-Bold findfont 17.00 scalefont setfont 34 54 m gs 1 -1 scale (A:) dup stringwidth pop neg 0 rmoveto col-1 show gr /Helvetica findfont 17.00 scalefont setfont 124 24 m gs 1 -1 scale (Process 1) dup stringwidth pop 2 div neg 0 rmoveto col-1 show gr /Helvetica findfont 17.00 scalefont setfont 364 24 m gs 1 -1 scale (Process 2) dup stringwidth pop 2 div neg 0 rmoveto col-1 show gr $F2psEnd @endspecial 71 1632 a(But)h(this)h(requires)h(that)e(either)i(that)f Fd(MPI_Send)71 1757 y Fp(not)e(return)g(until)i(the)f(data)f(has)f(b)s(een)h (delivered)71 1881 y Fg(o)m(r)g Fp(that)h(w)m(e)g(allo)m(w)h(a)e(send)g(op)s (eration)g(to)h(return)71 2006 y(b)s(efo)m(re)e(completing)i(the)f(transfer.) 47 b(In)36 b(this)f(case,)71 2130 y(w)m(e)f(need)f(to)i(test)f(fo)m(r)g (completion)i(later.)2065 2770 y Fo(86)p eop bop 71 120 a @beginspecial @setspecial /$F2psDict 32 dict def $F2psDict begin $F2psDict /mtrx matrix put end /$F2psBegin {$F2psDict begin /$F2psEnteredState save def} def /$F2psEnd {$F2psEnteredState restore end} def $F2psBegin 0.900000 -0.900000 scale 90 rotate 0 -612 translate -36 36 translate 4.000 setlinewidth .2 setgray newpath 34 19 moveto 19 19 19 604 15 arcto 4 {pop} repeat 19 619 764 619 15 arcto 4 {pop} repeat 779 619 779 34 15 arcto 4 {pop} repeat 779 19 34 19 15 arcto 4 {pop} repeat closepath stroke showpage $F2psEnd @endspecial 187 x Fh(Blo)s(cking)31 b(and)g(Non-Blo)s(cking)g(communication) p 71 357 1910 19 v 71 372 1910 7 v 82 666 a Fm(\017)42 b Fl(So)28 b(fa)n(r)g(w)n(e)h(have)g(used)g Ff(blocking)c Fl(communication:)181 792 y({)42 b Ff(MPI)p 381 792 22 2 v 25 w(Send)27 b Fl(do)r(es)i(not)g (complete)f(until)f(bu\013er)i(is)f(empt)n(y)266 871 y(\(available)e(fo)n(r)i (reuse\).)181 996 y({)42 b Ff(MPI)p 381 996 V 25 w(Recv)27 b Fl(do)r(es)i(not)g(complete)f(until)f(bu\013er)i(is)f(full)266 1075 y(\(available)e(fo)n(r)i(use\).)82 1247 y Fm(\017)42 b Fl(Simple,)26 b(but)i(can)h(b)r(e)g(\\unsafe":)686 1384 y(Pro)r(cess)h(0)83 b(Pro)r(cess)29 b(1)p 645 1409 851 3 v 686 1465 a(Send\(1\))145 b(Send\(0\))686 1545 y(Recv\(1\))i(Recv\(0\))161 1686 y(Completion)26 b(dep)r(ends)k(in)e(general)g(on)g(size)g(of)i(message)161 1765 y(and)e(amount)g(of)h(system)f(bu\013ering.)71 1983 y Fk(\177)i Fj(Send)h(w)n(o)n(rks)f(fo)n(r)g(small)e(enough)j(messages)f(but)h (fails)71 2108 y(when)f(messages)e(get)i(to)r(o)f(la)n(rge.)39 b(T)-7 b(o)r(o)29 b(la)n(rge)f(ranges)h(from)71 2232 y(zero)f(b)n(ytes)h(to)g (100's)g(of)g(Megab)n(ytes.)2065 2770 y Fo(87)p eop bop 71 120 a @beginspecial @setspecial /$F2psDict 32 dict def $F2psDict begin $F2psDict /mtrx matrix put end /$F2psBegin {$F2psDict begin /$F2psEnteredState save def} def /$F2psEnd {$F2psEnteredState restore end} def $F2psBegin 0.900000 -0.900000 scale 90 rotate 0 -612 translate -36 36 translate 4.000 setlinewidth .2 setgray newpath 34 19 moveto 19 19 19 604 15 arcto 4 {pop} repeat 19 619 764 619 15 arcto 4 {pop} repeat 779 619 779 34 15 arcto 4 {pop} repeat 779 19 34 19 15 arcto 4 {pop} repeat closepath stroke showpage $F2psEnd @endspecial 187 x Fh(Some)31 b(Solutions)h(to)g(the)g(\\Unsafe")g(Problem)p 71 357 1910 19 v 71 372 1910 7 v 82 686 a Fm(\017)42 b Fl(Order)28 b(the)i(op)r(erations)e(mo)n(re)f(ca)n(refully:)686 822 y(Pro)r(cess)j(0)83 b(Pro)r(cess)29 b(1)p 645 848 851 3 v 686 904 a(Send\(1\))145 b(Recv\(0\))686 983 y(Recv\(1\))i(Send\(0\))82 1156 y Fm(\017)42 b Fl(Supply)28 b(receive)g(bu\013er)h(at)g(same)e(time)h(as)g(send,)h(with) 161 1235 y Ff(MPI)p 276 1235 22 2 v 25 w(Sendrecv)o Fl(:)603 1361 y(Pro)r(cess)h(0)166 b(Pro)r(cess)29 b(1)p 562 1387 1018 3 v 603 1443 a(Sendrecv\(1\))85 b(Sendrecv\(0\))82 1616 y Fm(\017)42 b Fl(Use)28 b(non-blo)r(cking)g(op)r(erations:)686 1752 y(Pro)r(cess)i(0)83 b(Pro)r(cess)29 b(1)p 645 1778 851 3 v 686 1834 a(Isend\(1\))138 b(Isend\(0\))686 1913 y(Irecv\(1\))152 b(Irecv\(0\))686 1992 y(W)n(aitall)176 b(W)n(aitall)82 2164 y Fm(\017)42 b Fl(Use)28 b Ff(MPI_Bsend)2065 2770 y Fo(88)p eop bop 71 120 a @beginspecial @setspecial /$F2psDict 32 dict def $F2psDict begin $F2psDict /mtrx matrix put end /$F2psBegin {$F2psDict begin /$F2psEnteredState save def} def /$F2psEnd {$F2psEnteredState restore end} def $F2psBegin 0.900000 -0.900000 scale 90 rotate 0 -612 translate -36 36 translate 4.000 setlinewidth .2 setgray newpath 34 19 moveto 19 19 19 604 15 arcto 4 {pop} repeat 19 619 764 619 15 arcto 4 {pop} repeat 779 619 779 34 15 arcto 4 {pop} repeat 779 19 34 19 15 arcto 4 {pop} repeat closepath stroke showpage $F2psEnd @endspecial 187 x Fh(MPI's)31 b(Non-Blo)s(cking)g(Op)s(erations)p 71 357 1910 19 v 71 372 1910 7 v 71 800 a Fl(Non-blo)r(cking)h(op)r(erations) h(return)g(\(immediatel)o(y\))71 879 y(\\request)c(handles")f(that)g(can)h(b) r(e)g(w)n(aited)f(on)h(and)f(queried:)82 1051 y Fm(\017)42 b Ff(MPI)p 276 1051 22 2 v 25 w(Isend\(st)o(art)o(,)33 b(count,)h(datatype,)f (dest,)i(tag,)g(comm,)161 1130 y(request\))82 1302 y Fm(\017)42 b Ff(MPI)p 276 1302 V 25 w(Irecv\(st)o(art)o(,)33 b(count,)h(datatype,)f (dest,)i(tag,)g(comm,)161 1381 y(request\))82 1554 y Fm(\017)42 b Ff(MPI)p 276 1554 V 25 w(Wait\(req)o(ues)o(t,)33 b(status\))71 1772 y Fl(One)27 b(can)f(also)f(test)i(without)f(w)n(aiting:)35 b Ff(MPI_Test\()e(request,)71 1896 y(flag,)h(status\))2065 2770 y Fo(89)p eop bop 71 120 a @beginspecial @setspecial /$F2psDict 32 dict def $F2psDict begin $F2psDict /mtrx matrix put end /$F2psBegin {$F2psDict begin /$F2psEnteredState save def} def /$F2psEnd {$F2psEnteredState restore end} def $F2psBegin 0.900000 -0.900000 scale 90 rotate 0 -612 translate -36 36 translate 4.000 setlinewidth .2 setgray newpath 34 19 moveto 19 19 19 604 15 arcto 4 {pop} repeat 19 619 764 619 15 arcto 4 {pop} repeat 779 619 779 34 15 arcto 4 {pop} repeat 779 19 34 19 15 arcto 4 {pop} repeat closepath stroke showpage $F2psEnd @endspecial 187 x Fh(Multiple)30 b(completions)p 71 357 1910 19 v 71 372 1910 7 v 71 635 a Fl(It)f(is)g(often)h(desirable)e(to)h(w)n(ait)g (on)g(multiple)e(requests.)41 b(An)71 714 y(example)27 b(is)h(a)g (master/slave)f(p)n(rogram,)g(where)i(the)g(master)71 792 y(w)n(aits)e(fo)n (r)i(one)g(o)n(r)f(mo)n(re)f(slaves)h(to)h(send)g(it)f(a)g(message.)82 965 y Fm(\017)42 b Ff(MPI)p 276 965 22 2 v 25 w(Waitall\()o(cou)o(nt)o(,)34 b(array)p 1035 965 V 24 w(of)p 1133 965 V 25 w(requests,)161 1044 y(array)p 350 1044 V 24 w(of)p 448 1044 V 25 w(statuses\))82 1216 y Fm(\017)42 b Ff(MPI)p 276 1216 V 25 w(Waitany\()o(cou)o(nt)o(,)34 b(array)p 1035 1216 V 24 w(of)p 1133 1216 V 25 w(requests,)f(index,)161 1295 y(status\))82 1467 y Fm(\017)42 b Ff(MPI)p 276 1467 V 25 w(Waitsome)o(\(in)o(co)o(unt)o(,)33 b(array)p 1144 1467 V 25 w(of)p 1243 1467 V 25 w(requests,)g(outcount,)161 1546 y(array)p 350 1546 V 24 w(of)p 448 1546 V 25 w(indices,)h(array)p 988 1546 V 24 w(of)p 1086 1546 V 26 w(statuses)o(\))71 1718 y Fl(There)29 b(a)n(re)g(co)n(rresp)r(onding)h(versions)f(of)h(test)g(fo)n(r) g(each)g(of)71 1797 y(these.)71 1984 y Fk(\177)f Fj(The)g Ff(MPI)p 456 1984 V 25 w(WAITSOME)d Fj(and)j Ff(MPI)p 1070 1984 V 25 w(TESTSOME)d Fj(ma)n(y)h(b)r(e)j(used)f(to)71 2108 y(implem)o(ent)e (master/slave)h(algo)n(rithms)e(that)k(p)n(rovide)f(fair)71 2233 y(access)g(to)g(the)g(master)e(b)n(y)i(the)g(slaves.)2065 2770 y Fo(90)p eop bop 71 120 a @beginspecial @setspecial /$F2psDict 32 dict def $F2psDict begin $F2psDict /mtrx matrix put end /$F2psBegin {$F2psDict begin /$F2psEnteredState save def} def /$F2psEnd {$F2psEnteredState restore end} def $F2psBegin 0.900000 -0.900000 scale 90 rotate 0 -612 translate -36 36 translate 4.000 setlinewidth .2 setgray newpath 34 19 moveto 19 19 19 604 15 arcto 4 {pop} repeat 19 619 764 619 15 arcto 4 {pop} repeat 779 619 779 34 15 arcto 4 {pop} repeat 779 19 34 19 15 arcto 4 {pop} repeat closepath stroke showpage $F2psEnd @endspecial 187 x Fh(F)m(airness)p 71 357 1910 19 v 71 372 1910 7 v 71 544 a Fe(What)23 b(happ)r(ens)h(with)f(this)h(p)n(rogram:)71 635 y Fc(#include)34 b("mpi.h")71 701 y(#include)g()71 768 y(int)e(main\(argc)q(,)i(argv\))71 834 y(int)e(argc;)71 901 y(char)g(**argv;)71 967 y({)71 1033 y(int)g(rank,)g(size,)h(i,)f(buf[1];) 71 1100 y(MPI_Statu)q(s)i(status;)71 1233 y(MPI_Init\()g(&argc,)g(&argv)f (\);)71 1299 y(MPI_Comm_)q(ra)q(nk)q(\()h(MPI_COMM)q(_W)q(OR)q(LD)q(,)g (&rank)f(\);)71 1366 y(MPI_Comm_)q(si)q(ze)q(\()h(MPI_COMM)q(_W)q(OR)q(LD)q (,)g(&size)f(\);)71 1432 y(if)e(\(rank)i(==)e(0\))h({)193 1498 y(for)f(\(i=0;)i(i<100*\()q(si)q(ze)q(-1)q(\);)h(i++\))f({)314 1565 y(MPI_Rec)q(v\()h(buf,)f(1,)e(MPI_INT)q(,)j(MPI_ANY_S)q(OU)q(RC)q(E,)589 1631 y(MPI_ANY_)q(TA)q(G,)g(MPI_COM)q(M_)q(WOR)q(LD)q(,)g(&status)g(\);)314 1698 y(printf\()g("Msg)f(from)f(\045d)g(with)g(tag)g(\045d\\n",)558 1764 y(status.)q(MP)q(I_)q(SO)q(UR)q(CE)q(,)i(status.MP)q(I_)q(TA)q(G)g(\);) 314 1830 y(})193 1897 y(})71 1963 y(else)e({)193 2030 y(for)f(\(i=0;)i (i<100;)h(i++\))314 2096 y(MPI_Sen)q(d\()g(buf,)f(1,)e(MPI_INT)q(,)j(0,)d(i,) g(MPI_COM)q(M_)q(WO)q(RL)q(D)j(\);)193 2163 y(})71 2229 y(MPI_Final)q(iz)q (e\()q(\);)71 2295 y(return)f(0;)71 2362 y(})2065 2770 y Fo(91)p eop bop 71 120 a @beginspecial @setspecial /$F2psDict 32 dict def $F2psDict begin $F2psDict /mtrx matrix put end /$F2psBegin {$F2psDict begin /$F2psEnteredState save def} def /$F2psEnd {$F2psEnteredState restore end} def $F2psBegin 0.900000 -0.900000 scale 90 rotate 0 -612 translate -36 36 translate 4.000 setlinewidth .2 setgray newpath 34 19 moveto 19 19 19 604 15 arcto 4 {pop} repeat 19 619 764 619 15 arcto 4 {pop} repeat 779 619 779 34 15 arcto 4 {pop} repeat 779 19 34 19 15 arcto 4 {pop} repeat closepath stroke showpage $F2psEnd @endspecial 187 x Fh(F)m(airness)33 b(in)e(message-passing)p 71 357 1910 19 v 71 372 1910 7 v 71 876 a Fp(An)37 b(pa)m(rallel)j(algo)m (rithm)g(is)e Fg(fair)h Fp(if)f(no)f(p)m(ro)s(cess)71 1001 y(is)i(e\013ectively)i(igno)m(red.)59 b(In)39 b(the)g(p)m(receeding)71 1125 y(p)m(rogram,)h(p)m(ro)s(cesses)e(with)j(lo)m(w)f(rank)f(\(lik)m(e)71 1250 y(p)m(ro)s(cess)d(zero\))h(ma)m(y)h(b)s(e)f(the)g(only)g(one)g(whose)71 1374 y(messages)32 b(a)m(re)j(received.)71 1532 y(MPI)j(mak)m(es)f(no)f(gua)m (rentees)h(ab)s(out)f(fairness.)71 1657 y(Ho)m(w)m(ever,)i(MPI)h(mak)m(es)e (it)j(p)s(ossible)e(to)g(write)71 1781 y(e\016cient,)c(fair)i(p)m(rograms.) 2065 2770 y Fo(92)p eop bop 71 120 a @beginspecial @setspecial /$F2psDict 32 dict def $F2psDict begin $F2psDict /mtrx matrix put end /$F2psBegin {$F2psDict begin /$F2psEnteredState save def} def /$F2psEnd {$F2psEnteredState restore end} def $F2psBegin 0.900000 -0.900000 scale 90 rotate 0 -612 translate -36 36 translate 4.000 setlinewidth .2 setgray newpath 34 19 moveto 19 19 19 604 15 arcto 4 {pop} repeat 19 619 764 619 15 arcto 4 {pop} repeat 779 619 779 34 15 arcto 4 {pop} repeat 779 19 34 19 15 arcto 4 {pop} repeat closepath stroke showpage $F2psEnd @endspecial 187 x Fh(Providing)30 b(F)m(airness)p 71 357 1910 19 v 71 372 1910 7 v 71 744 a Fp(One)j(alternative)k(is)71 856 y Fc(#define)c(large)g(128)71 923 y(MPI_Reque)q(st)h(request)q(s[)q(la)q (rg)q(e])q(;)71 989 y(MPI_Statu)q(s)64 b(statuse)q(s[)q(la)q(rg)q(e])q(;)71 1056 y(int)275 b(indices)q([l)q(ar)q(ge)q(];)71 1122 y(int)g(buf[lar)q(ge)q (];)71 1188 y(for)32 b(\(i=1;)g(i=)h(0;)f(i--\))193 2196 y(displs[i])j(-=)e (displs[0)q(];)71 2262 y(MPI_Type_)q(st)q(ru)q(ct)q(\()i(4,)d(blockco)q(un)q (ts)q(,)j(displs,)f(types,)h(&cmdtype)g(\);)71 2329 y(MPI_Type_)q(co)q(mm)q (it)q(\()g(&cmdtype)g(\);)2065 2770 y Fo(107)p eop bop 71 120 a @beginspecial @setspecial /$F2psDict 32 dict def $F2psDict begin $F2psDict /mtrx matrix put end /$F2psBegin {$F2psDict begin /$F2psEnteredState save def} def /$F2psEnd {$F2psEnteredState restore end} def $F2psBegin 0.900000 -0.900000 scale 90 rotate 0 -612 translate -36 36 translate 4.000 setlinewidth .2 setgray newpath 34 19 moveto 19 19 19 604 15 arcto 4 {pop} repeat 19 619 764 619 15 arcto 4 {pop} repeat 779 619 779 34 15 arcto 4 {pop} repeat 779 19 34 19 15 arcto 4 {pop} repeat closepath stroke showpage $F2psEnd @endspecial 187 x Fh(Strides)p 71 357 1910 19 v 71 372 1910 7 v 71 837 a Fp(The)35 b(extent)i(of)e(a)h(datat)m(yp)s(e)g(is)g(\(no)m (rmally\))j(the)71 962 y(distance)34 b(b)s(et)m(w)m(een)f(the)i(\014rst)f (and)f(last)i(memb)s(er.)350 1570 y @beginspecial 0 @llx 0 @lly 324 @urx 132 @ury 3240 @rwi @setspecial /$F2psDict 200 dict def $F2psDict begin $F2psDict /mtrx matrix put /l {lineto} bind def /m {moveto} bind def /s {stroke} bind def /n {newpath} bind def /gs {gsave} bind def /gr {grestore} bind def /clp {closepath} bind def /graycol {dup dup currentrgbcolor 4 -2 roll mul 4 -2 roll mul 4 -2 roll mul setrgbcolor} bind def /col-1 {} def /col0 {0 0 0 setrgbcolor} bind def /col1 {0 0 1 setrgbcolor} bind def /col2 {0 1 0 setrgbcolor} bind def /col3 {0 1 1 setrgbcolor} bind def /col4 {1 0 0 setrgbcolor} bind def /col5 {1 0 1 setrgbcolor} bind def /col6 {1 1 0 setrgbcolor} bind def /col7 {1 1 1 setrgbcolor} bind def /col8 {.68 .85 .9 setrgbcolor} bind def /col9 {0 .39 0 setrgbcolor} bind def /col10 {.65 .17 .17 setrgbcolor} bind def /col11 {1 .51 0 setrgbcolor} bind def /col12 {.63 .13 .94 setrgbcolor} bind def /col13 {1 .75 .8 setrgbcolor} bind def /col14 {.7 .13 .13 setrgbcolor} bind def /col15 {1 .84 0 setrgbcolor} bind def end /$F2psBegin {$F2psDict begin /$F2psEnteredState save def} def /$F2psEnd {$F2psEnteredState restore end} def $F2psBegin 0 setlinecap 0 setlinejoin -45.0 144.0 translate 0.900 -0.900 scale 0.500 setlinewidth n 79 79 m 79 59 l 59 59 l 59 79 l clp gs col-1 s gr n 159 79 m 159 59 l 139 59 l 139 79 l clp gs col-1 s gr n 239 79 m 239 59 l 219 59 l 219 79 l clp gs col-1 s gr n 319 79 m 319 59 l 299 59 l 299 79 l clp gs col-1 s gr n 399 79 m 399 59 l 379 59 l 379 79 l clp gs col-1 s gr n 59 139 m 59 84 l gs col-1 s gr n 57.000 92.000 m 59.000 84.000 l 61.000 92.000 l gs 2 setlinejoin col-1 s gr n 399 139 m 399 84 l gs col-1 s gr n 397.000 92.000 m 399.000 84.000 l 401.000 92.000 l gs 2 setlinejoin col-1 s gr n 194 124 m 59 124 l gs col-1 s gr n 67.000 126.000 m 59.000 124.000 l 67.000 122.000 l gs 2 setlinejoin col-1 s gr n 264 124 m 399 124 l gs col-1 s gr n 391.000 122.000 m 399.000 124.000 l 391.000 126.000 l gs 2 setlinejoin col-1 s gr n 214 29 m 79 59 l gs col-1 s gr n 87.243 59.217 m 79.000 59.000 l 86.376 55.312 l gs 2 setlinejoin col-1 s gr n 214 29 m 159 59 l gs col-1 s gr n 166.981 56.925 m 159.000 59.000 l 165.065 53.413 l gs 2 setlinejoin col-1 s gr n 214 29 m 229 59 l gs col-1 s gr n 227.211 50.950 m 229.000 59.000 l 223.633 52.739 l gs 2 setlinejoin col-1 s gr n 214 29 m 309 59 l gs col-1 s gr n 301.974 54.684 m 309.000 59.000 l 300.769 58.498 l gs 2 setlinejoin col-1 s gr n 214 29 m 379 59 l gs col-1 s gr n 371.487 55.601 m 379.000 59.000 l 370.771 59.537 l gs 2 setlinejoin col-1 s gr /Helvetica findfont 17.00 scalefont setfont 59 159 m gs 1 -1 scale (LB) dup stringwidth pop 2 div neg 0 rmoveto col-1 show gr /Helvetica findfont 17.00 scalefont setfont 399 159 m gs 1 -1 scale (UB) dup stringwidth pop 2 div neg 0 rmoveto col-1 show gr /Helvetica findfont 17.00 scalefont setfont 229 129 m gs 1 -1 scale (EXTENT) dup stringwidth pop 2 div neg 0 rmoveto col-1 show gr /Helvetica findfont 17.00 scalefont setfont 229 29 m gs 1 -1 scale (Memory locations specified by datatype) dup stringwidth pop 2 div neg 0 rmoveto col-1 show gr $F2psEnd @endspecial 71 1728 a(Y)-9 b(ou)37 b(can)h(set)h(an)e(a)m(rti\014cial)42 b(extent)c(b)m(y)g(using)71 1852 y Fd(MPI_UB)33 b Fp(and)h Fd(MPI_LB)g Fp(in)h Fd(MPI_Type_struct)p Fp(.)2065 2770 y Fo(108)p eop bop 71 120 a @beginspecial @setspecial /$F2psDict 32 dict def $F2psDict begin $F2psDict /mtrx matrix put end /$F2psBegin {$F2psDict begin /$F2psEnteredState save def} def /$F2psEnd {$F2psEnteredState restore end} def $F2psBegin 0.900000 -0.900000 scale 90 rotate 0 -612 translate -36 36 translate 4.000 setlinewidth .2 setgray newpath 34 19 moveto 19 19 19 604 15 arcto 4 {pop} repeat 19 619 764 619 15 arcto 4 {pop} repeat 779 619 779 34 15 arcto 4 {pop} repeat 779 19 34 19 15 arcto 4 {pop} repeat closepath stroke showpage $F2psEnd @endspecial 187 x Fh(V)m(ecto)m(rs)34 b(revisited)p 71 357 1910 19 v 71 372 1910 7 v 71 716 a Fp(This)g(co)s(de)g(creates)g(a)g(datat)m (yp)s(e)g(fo)m(r)g(an)g(a)m(rbitra)m(ry)71 840 y(numb)s(er)k(of)g(element)h (in)g(a)g(ro)m(w)f(of)g(an)g(a)m(rra)m(y)71 965 y(sto)m(red)c(in)h(F)m(o)m (rtran)g(o)m(rder)g(\(column)f(\014rst\).)71 1106 y Ff(int)h(blens[2],)e (displs[2])o(;)71 1185 y(MPI_Data)o(ty)o(pe)g(types[2],)g(rowtype;)71 1264 y(blens[0])69 b(=)37 b(1;)71 1343 y(blens[1])69 b(=)37 b(1;)71 1421 y(displs[0)o(])c(=)k(0;)71 1500 y(displs[1)o(])c(=)k(number_i)o (n_c)o(ol)o(umn)c(*)j(sizeof\(do)o(ub)o(le\))o(;)71 1579 y(types[0])69 b(=)37 b(MPI_DOUB)o(LE;)71 1658 y(types[1])69 b(=)37 b(MPI_UB;)71 1737 y(MPI_Type)o(_s)o(tru)o(ct)o(\()d(2,)h(blens,)g(displs,)e(types,)h (&rowtype)g(\);)71 1816 y(MPI_Type)o(_c)o(omm)o(it)o(\()g(&rowtype)f(\);)71 1957 y Fl(T)-7 b(o)28 b(send)h Fa(n)g Fl(elements,)f(y)n(ou)g(can)h(use)71 2098 y Ff(MPI_Send)o(\()k(buf,)i(n,)h(rowtype,)e(...)h(\);)2065 2770 y Fo(109)p eop bop 71 120 a @beginspecial @setspecial /$F2psDict 32 dict def $F2psDict begin $F2psDict /mtrx matrix put end /$F2psBegin {$F2psDict begin /$F2psEnteredState save def} def /$F2psEnd {$F2psEnteredState restore end} def $F2psBegin 0.900000 -0.900000 scale 90 rotate 0 -612 translate -36 36 translate 4.000 setlinewidth .2 setgray newpath 34 19 moveto 19 19 19 604 15 arcto 4 {pop} repeat 19 619 764 619 15 arcto 4 {pop} repeat 779 619 779 34 15 arcto 4 {pop} repeat 779 19 34 19 15 arcto 4 {pop} repeat closepath stroke showpage $F2psEnd @endspecial 187 x Fh(Structures)32 b(revisited)p 71 357 1910 19 v 71 372 1910 7 v 71 700 a Fl(When)d(sending)g(an)g(a)n(rra)n(y)e(of)j(a)f (structure,)g(it)g(is)f(imp)r(o)n(rtant)71 766 y(to)j(ensure)h(that)g(MPI)g (and)f(the)h(C)g(compiler)d(have)j(the)71 833 y(same)c(value)h(fo)n(r)g(the)h (size)f(of)h(each)g(structure.)41 b(The)30 b(most)71 899 y(p)r(o)n(rtable)f (w)n(a)n(y)i(to)g(do)g(this)f(is)g(to)h(add)f(an)h Ff(MPI_UB)d Fl(to)j(the)71 966 y(structure)f(de\014nition)g(fo)n(r)g(the)g(end)h(of)g (the)g(structure.)43 b(In)71 1032 y(the)29 b(p)n(revious)e(example,)h(this)g (is)71 1144 y Fc(/*)j(initiali)q(ze)j(types)f(and)f(displs)i(with)e(addresse) q(s)i(of)d(items)i(*/)71 1211 y(MPI_Addre)q(ss)q(\()h(&cmdline)q(.d)q(is)q (pl)q(ay)q(,)g(&displs[)q(0])g(\);)71 1277 y(MPI_Addre)q(ss)q(\()g(&cmdline)q (.m)q(ax)q(it)q(er)q(,)g(&displs[)q(1])g(\);)71 1343 y(MPI_Addre)q(ss)q(\()g (&cmdline)q(.x)q(mi)q(n,)126 b(&displs[)q(2])34 b(\);)71 1410 y(MPI_Addre)q(ss)q(\()g(&cmdline)q(.w)q(id)q(th)q(,)95 b(&displs[)q(3])34 b(\);)71 1476 y(MPI_Addre)q(ss)q(\()g(&cmdline)q(+1)q(,)217 b(&displs[)q(4])34 b(\);)71 1543 y(types[0])g(=)d(MPI_CHAR)q(;)71 1609 y(types[1])j(=)d(MPI_INT;)71 1676 y(types[2])j(=)d(MPI_DOUB)q(LE)q(;)71 1742 y(types[3])j(=)d(MPI_INT;)71 1808 y(types[4])j(=)d(MPI_UB;)71 1875 y(for)h(\(i)f(=)g(4;)g(i)g(>=)h(0;)f(i--\))193 1941 y(displs[i])j(-=)e (displs[0)q(];)71 2008 y(MPI_Type_)q(st)q(ru)q(ct)q(\()i(5,)d(blockco)q(un)q (ts)q(,)j(displs,)f(types,)h(&cmdtype)g(\);)71 2074 y(MPI_Type_)q(co)q(mm)q (it)q(\()g(&cmdtype)g(\);)2065 2770 y Fo(110)p eop bop 71 120 a @beginspecial @setspecial /$F2psDict 32 dict def $F2psDict begin $F2psDict /mtrx matrix put end /$F2psBegin {$F2psDict begin /$F2psEnteredState save def} def /$F2psEnd {$F2psEnteredState restore end} def $F2psBegin 0.900000 -0.900000 scale 90 rotate 0 -612 translate -36 36 translate 4.000 setlinewidth .2 setgray newpath 34 19 moveto 19 19 19 604 15 arcto 4 {pop} repeat 19 619 764 619 15 arcto 4 {pop} repeat 779 619 779 34 15 arcto 4 {pop} repeat 779 19 34 19 15 arcto 4 {pop} repeat closepath stroke showpage $F2psEnd @endspecial 187 x Fh(Interleaving)31 b(data)p 71 357 1910 19 v 71 372 1910 7 v 71 688 a Fp(By)k(moving)h(the)f(UB)g(inside)i(the)e (data,)g(y)m(ou)g(can)71 813 y(interleave)h(data.)71 971 y(Consider)e(the)g (matrix)725 1629 y @beginspecial 0 @llx 0 @lly 144 @urx 144 @ury 1440 @rwi @setspecial /$F2psDict 200 dict def $F2psDict begin $F2psDict /mtrx matrix put /l {lineto} bind def /m {moveto} bind def /s {stroke} bind def /n {newpath} bind def /gs {gsave} bind def /gr {grestore} bind def /clp {closepath} bind def /graycol {dup dup currentrgbcolor 4 -2 roll mul 4 -2 roll mul 4 -2 roll mul setrgbcolor} bind def /col-1 {} def /col0 {0 0 0 setrgbcolor} bind def /col1 {0 0 1 setrgbcolor} bind def /col2 {0 1 0 setrgbcolor} bind def /col3 {0 1 1 setrgbcolor} bind def /col4 {1 0 0 setrgbcolor} bind def /col5 {1 0 1 setrgbcolor} bind def /col6 {1 1 0 setrgbcolor} bind def /col7 {1 1 1 setrgbcolor} bind def /col8 {.68 .85 .9 setrgbcolor} bind def /col9 {0 .39 0 setrgbcolor} bind def /col10 {.65 .17 .17 setrgbcolor} bind def /col11 {1 .51 0 setrgbcolor} bind def /col12 {.63 .13 .94 setrgbcolor} bind def /col13 {1 .75 .8 setrgbcolor} bind def /col14 {.7 .13 .13 setrgbcolor} bind def /col15 {1 .84 0 setrgbcolor} bind def end /$F2psBegin {$F2psDict begin /$F2psEnteredState save def} def /$F2psEnd {$F2psEnteredState restore end} def $F2psBegin 0 setlinecap 0 setlinejoin -72.0 162.0 translate 0.900 -0.900 scale 1.000 setlinewidth n 239 179 m 159 179 l 159 99 l 239 99 l clp gs col-1 s gr n 239 99 m 159 99 l 159 19 l 239 19 l clp gs col-1 s gr n 159 99 m 79 99 l 79 19 l 159 19 l clp gs col-1 s gr n 159 179 m 79 179 l 79 99 l 159 99 l clp gs col-1 s gr /Helvetica findfont 14.00 scalefont setfont 89 34 m gs 1 -1 scale (0) dup stringwidth pop 2 div neg 0 rmoveto col-1 show gr /Helvetica findfont 14.00 scalefont setfont 89 54 m gs 1 -1 scale (1) dup stringwidth pop 2 div neg 0 rmoveto col-1 show gr /Helvetica findfont 14.00 scalefont setfont 89 74 m gs 1 -1 scale (2) dup stringwidth pop 2 div neg 0 rmoveto col-1 show gr /Helvetica findfont 14.00 scalefont setfont 89 94 m gs 1 -1 scale (3) dup stringwidth pop 2 div neg 0 rmoveto col-1 show gr /Helvetica findfont 14.00 scalefont setfont 89 114 m gs 1 -1 scale (4) dup stringwidth pop 2 div neg 0 rmoveto col-1 show gr /Helvetica findfont 14.00 scalefont setfont 89 134 m gs 1 -1 scale (5) dup stringwidth pop 2 div neg 0 rmoveto col-1 show gr /Helvetica findfont 14.00 scalefont setfont 89 154 m gs 1 -1 scale (6) dup stringwidth pop 2 div neg 0 rmoveto col-1 show gr /Helvetica findfont 14.00 scalefont setfont 89 174 m gs 1 -1 scale (7) dup stringwidth pop 2 div neg 0 rmoveto col-1 show gr /Helvetica findfont 14.00 scalefont setfont 109 34 m gs 1 -1 scale (8) dup stringwidth pop 2 div neg 0 rmoveto col-1 show gr /Helvetica findfont 14.00 scalefont setfont 109 54 m gs 1 -1 scale (9) dup stringwidth pop 2 div neg 0 rmoveto col-1 show gr /Helvetica findfont 14.00 scalefont setfont 109 74 m gs 1 -1 scale (10) dup stringwidth pop 2 div neg 0 rmoveto col-1 show gr /Helvetica findfont 14.00 scalefont setfont 109 94 m gs 1 -1 scale (11) dup stringwidth pop 2 div neg 0 rmoveto col-1 show gr /Helvetica findfont 14.00 scalefont setfont 109 114 m gs 1 -1 scale (12) dup stringwidth pop 2 div neg 0 rmoveto col-1 show gr /Helvetica findfont 14.00 scalefont setfont 109 154 m gs 1 -1 scale (14) dup stringwidth pop 2 div neg 0 rmoveto col-1 show gr /Helvetica findfont 14.00 scalefont setfont 109 174 m gs 1 -1 scale (15) dup stringwidth pop 2 div neg 0 rmoveto col-1 show gr /Helvetica findfont 14.00 scalefont setfont 129 34 m gs 1 -1 scale (16) dup stringwidth pop 2 div neg 0 rmoveto col-1 show gr /Helvetica findfont 14.00 scalefont setfont 129 54 m gs 1 -1 scale (17) dup stringwidth pop 2 div neg 0 rmoveto col-1 show gr /Helvetica findfont 14.00 scalefont setfont 129 74 m gs 1 -1 scale (18) dup stringwidth pop 2 div neg 0 rmoveto col-1 show gr /Helvetica findfont 14.00 scalefont setfont 129 94 m gs 1 -1 scale (19) dup stringwidth pop 2 div neg 0 rmoveto col-1 show gr /Helvetica findfont 14.00 scalefont setfont 129 114 m gs 1 -1 scale (20) dup stringwidth pop 2 div neg 0 rmoveto col-1 show gr /Helvetica findfont 14.00 scalefont setfont 129 134 m gs 1 -1 scale (21) dup stringwidth pop 2 div neg 0 rmoveto col-1 show gr /Helvetica findfont 14.00 scalefont setfont 129 154 m gs 1 -1 scale (22) dup stringwidth pop 2 div neg 0 rmoveto col-1 show gr /Helvetica findfont 14.00 scalefont setfont 129 174 m gs 1 -1 scale (23) dup stringwidth pop 2 div neg 0 rmoveto col-1 show gr /Helvetica findfont 14.00 scalefont setfont 149 34 m gs 1 -1 scale (24) dup stringwidth pop 2 div neg 0 rmoveto col-1 show gr /Helvetica findfont 14.00 scalefont setfont 149 54 m gs 1 -1 scale (25) dup stringwidth pop 2 div neg 0 rmoveto col-1 show gr /Helvetica findfont 14.00 scalefont setfont 149 74 m gs 1 -1 scale (26) dup stringwidth pop 2 div neg 0 rmoveto col-1 show gr /Helvetica findfont 14.00 scalefont setfont 149 94 m gs 1 -1 scale (27) dup stringwidth pop 2 div neg 0 rmoveto col-1 show gr /Helvetica findfont 14.00 scalefont setfont 149 114 m gs 1 -1 scale (28) dup stringwidth pop 2 div neg 0 rmoveto col-1 show gr /Helvetica findfont 14.00 scalefont setfont 149 134 m gs 1 -1 scale (29) dup stringwidth pop 2 div neg 0 rmoveto col-1 show gr /Helvetica findfont 14.00 scalefont setfont 149 154 m gs 1 -1 scale (30) dup stringwidth pop 2 div neg 0 rmoveto col-1 show gr /Helvetica findfont 14.00 scalefont setfont 149 174 m gs 1 -1 scale (31) dup stringwidth pop 2 div neg 0 rmoveto col-1 show gr /Helvetica findfont 14.00 scalefont setfont 169 34 m gs 1 -1 scale (32) dup stringwidth pop 2 div neg 0 rmoveto col-1 show gr /Helvetica findfont 14.00 scalefont setfont 169 54 m gs 1 -1 scale (33) dup stringwidth pop 2 div neg 0 rmoveto col-1 show gr /Helvetica findfont 14.00 scalefont setfont 169 74 m gs 1 -1 scale (34) dup stringwidth pop 2 div neg 0 rmoveto col-1 show gr /Helvetica findfont 14.00 scalefont setfont 169 94 m gs 1 -1 scale (35) dup stringwidth pop 2 div neg 0 rmoveto col-1 show gr /Helvetica findfont 14.00 scalefont setfont 169 114 m gs 1 -1 scale (36) dup stringwidth pop 2 div neg 0 rmoveto col-1 show gr /Helvetica findfont 14.00 scalefont setfont 169 134 m gs 1 -1 scale (37) dup stringwidth pop 2 div neg 0 rmoveto col-1 show gr /Helvetica findfont 14.00 scalefont setfont 169 154 m gs 1 -1 scale (38) dup stringwidth pop 2 div neg 0 rmoveto col-1 show gr /Helvetica findfont 14.00 scalefont setfont 169 174 m gs 1 -1 scale (39) dup stringwidth pop 2 div neg 0 rmoveto col-1 show gr /Helvetica findfont 14.00 scalefont setfont 109 134 m gs 1 -1 scale (13) dup stringwidth pop 2 div neg 0 rmoveto col-1 show gr $F2psEnd @endspecial 71 1787 a(W)m(e)h(wish)h(to)f(send)f(0-3,8-11,16-19,)f(and)i (24-27)71 1911 y(to)g(p)m(ro)s(cess)e(0,)i(4-7,12-15,20-23,)d(and)i(28-31)g (to)71 2036 y(p)m(ro)s(cess)i(1,)i(etc.)56 b(Ho)m(w)37 b(can)h(w)m(e)f(do)g (this)i(with)71 2160 y Fd(MPI_Scatterv)p Fp(?)2065 2770 y Fo(111)p eop bop 71 120 a @beginspecial @setspecial /$F2psDict 32 dict def $F2psDict begin $F2psDict /mtrx matrix put end /$F2psBegin {$F2psDict begin /$F2psEnteredState save def} def /$F2psEnd {$F2psEnteredState restore end} def $F2psBegin 0.900000 -0.900000 scale 90 rotate 0 -612 translate -36 36 translate 4.000 setlinewidth .2 setgray newpath 34 19 moveto 19 19 19 604 15 arcto 4 {pop} repeat 19 619 764 619 15 arcto 4 {pop} repeat 779 619 779 34 15 arcto 4 {pop} repeat 779 19 34 19 15 arcto 4 {pop} repeat closepath stroke showpage $F2psEnd @endspecial 187 x Fh(An)31 b(interleaved)h(datat)m(yp)s(e)p 71 357 1910 19 v 71 372 1910 7 v 71 932 a Ff(MPI_Type)o(_v)o(ect)o(or)o(\()i (4,)h(4,)h(8,)g(MPI_DOUBL)o(E,)d(&vec)i(\);)71 1073 y Fl(de\014nes)29 b(a)g(blo)r(ck)f(of)h(this)f(matrix.)71 1214 y Ff(blens[0])69 b(=)37 b(1;)109 b(blens[1])33 b(=)j(1;)71 1293 y(types[0])69 b(=)37 b(vec;)e(types[1])e(=)j(MPI_UB;)71 1372 y(displs[0)o(])d(=)k(0;)109 b(displs[1)o(])34 b(=)i(sizeof\(d)o(oub)o(le)o(\);)71 1451 y(MPI_Type)o(_s)o(tru)o(ct)o(\()e(2,)h(blens,)g(displs,)e(types,)h(&block)g (\);)71 1638 y Fl(de\014nes)29 b(a)g(blo)r(ck)f(whose)h(extent)h(is)e(just)g (1)h(entries.)2065 2770 y Fo(112)p eop bop 71 120 a @beginspecial @setspecial /$F2psDict 32 dict def $F2psDict begin $F2psDict /mtrx matrix put end /$F2psBegin {$F2psDict begin /$F2psEnteredState save def} def /$F2psEnd {$F2psEnteredState restore end} def $F2psBegin 0.900000 -0.900000 scale 90 rotate 0 -612 translate -36 36 translate 4.000 setlinewidth .2 setgray newpath 34 19 moveto 19 19 19 604 15 arcto 4 {pop} repeat 19 619 764 619 15 arcto 4 {pop} repeat 779 619 779 34 15 arcto 4 {pop} repeat 779 19 34 19 15 arcto 4 {pop} repeat closepath stroke showpage $F2psEnd @endspecial 187 x Fh(Scattering)32 b(a)g(Matrix)p 71 357 1910 19 v 71 372 1910 7 v 71 780 a Fl(W)n(e)g(set)h(the)f(displacements)f(fo)n(r)h (each)g(blo)r(ck)g(as)g(the)71 859 y(lo)r(cation)27 b(of)j(the)f(\014rst)h (element)e(in)g(the)i(blo)r(ck.)38 b(This)28 b(w)n(o)n(rks)71 938 y(b)r(ecause)j Ff(MPI_Scat)o(te)o(rv)c Fl(uses)j(the)h(extents)g(to)f (determine)71 1017 y(the)f(sta)n(rt)f(of)h(each)f(piece)h(to)g(send.)71 1158 y Ff(scdispls)o([0)o(])34 b(=)i(0;)71 1237 y(scdispls)o([1)o(])e(=)i(4;) 71 1315 y(scdispls)o([2)o(])e(=)i(32;)71 1394 y(scdispls)o([3)o(])e(=)i(36;) 71 1473 y(MPI_Scat)o(te)o(rv\()d(sendbuf,)g(sendcount)o(s,)g(scdispls,)g (block,)583 1552 y(recvbuf,)g(nx)j(*)g(ny,)f(MPI_DOUBLE)o(,)f(0,)619 1631 y(MPI_COMM_W)o(ORL)o(D)f(\);)71 1818 y Fk(\177)c Fj(Ho)n(w)g(w)n(ould)g (use)h(use)f(the)h(top)r(ology)f(routines)g(to)g(mak)n(e)71 1942 y(this)f(mo)n(re)f(general?)2065 2770 y Fo(113)p eop bop 71 120 a @beginspecial @setspecial /$F2psDict 32 dict def $F2psDict begin $F2psDict /mtrx matrix put end /$F2psBegin {$F2psDict begin /$F2psEnteredState save def} def /$F2psEnd {$F2psEnteredState restore end} def $F2psBegin 0.900000 -0.900000 scale 90 rotate 0 -612 translate -36 36 translate 4.000 setlinewidth .2 setgray newpath 34 19 moveto 19 19 19 604 15 arcto 4 {pop} repeat 19 619 764 619 15 arcto 4 {pop} repeat 779 619 779 34 15 arcto 4 {pop} repeat 779 19 34 19 15 arcto 4 {pop} repeat closepath stroke showpage $F2psEnd @endspecial 187 x Fh(Exercises)32 b(-)f(datat)m(yp)s(es)p 71 357 1910 19 v 71 372 1910 7 v 71 477 a Fl(Objective:)38 b(Lea)n(rn)28 b(ab)r(out)h(datat)n(yp)r(es)120 650 y(1.)41 b(W)n(rite)27 b(a)h(p)n(rogram)e(to)i(send)g(ro)n(ws)f(of)i(a)e(matrix)f (\(sto)n(red)228 728 y(in)i(column-majo)m(r)e(fo)n(rm\))h(to)i(the)g(other)g (p)n(ro)r(cesso)n(rs.)228 838 y(Let)g(p)n(ro)r(cesso)n(r)f(0)g(have)h(the)f (entire)g(matrix,)e(which)i(has)228 917 y(as)h(many)e(ro)n(ws)i(as)f(p)n(ro)r (cesso)n(rs.)228 1027 y(Pro)r(cesso)n(r)h(0)g(sends)g(ro)n(w)f(i)g(to)h(p)n (ro)r(cesso)n(r)f(i.)228 1106 y(Pro)r(cesso)n(r)h(i)f(reads)g(that)h(ro)n(w)f (into)g(a)h(lo)r(cal)e(a)n(rra)n(y)g(that)228 1185 y(holds)h(only)g(that)h (ro)n(w.)38 b(That)28 b(is,)g(p)n(ro)r(cesso)n(r)g(0)h(has)f(a)228 1264 y(matrix)f Fa(A)p Fl(\()p Fa(N)s(;)13 b(M)7 b Fl(\))29 b(while)f(the)h(other)f(p)n(ro)r(cesso)n(rs)h(have)f(a)228 1343 y(ro)n(w)h Fa(B)s Fl(\()p Fa(M)7 b Fl(\).)204 1468 y(\(a\))42 b(W)n(rite)28 b(the)h(p)n(rogram)d(to)j(handle)f(the)h(case)g(where)353 1547 y(the)g(matrix)d(is)i(squa)n(re.)201 1673 y(\(b\))43 b(W)n(rite)28 b(the)h(p)n(rogram)d(to)j(handle)f(a)g(numb)r(er)h(of)353 1752 y(columns)e(read)h(from)g(the)h(terminal.)228 1877 y(C)g(p)n(rogrammers)c(ma) n(y)j(send)h(columns)e(of)i(a)f(matrix)228 1956 y(sto)n(red)h(in)f(ro)n (w-majo)n(r)d(fo)n(rm)j(if)g(they)h(p)n(refer.)228 2066 y(If)g(y)n(ou)g(have) g(time,)e(try)i(one)g(of)g(the)g(follo)n(wing.)36 b(If)29 b(y)n(ou)228 2145 y(don't)g(have)g(time,)e(think)h(ab)r(out)h(ho)n(w)g(y)n(ou)f(w)n(ould) 228 2224 y(p)n(rogram)f(these.)120 2396 y(2.)41 b(W)n(rite)28 b(a)h(p)n(rogram)d(to)j(transp)r(ose)g(a)f(matrix,)f(where)228 2475 y(each)i(p)n(ro)r(cesso)n(r)g(has)f(a)g(pa)n(rt)g(of)h(the)g(matrix.)36 b(Use)228 2554 y(top)r(ologies)28 b(to)h(de\014ne)h(a)e(2-Dimensional)d(pa)n (rtitioning)2065 2770 y Fo(114)p eop bop 228 160 a Fl(of)29 b(the)g(matrix)e(across)h(the)h(p)n(ro)r(cesso)n(rs,)g (and)f(assume)228 239 y(that)h(all)e(p)n(ro)r(cesso)n(rs)h(have)h(the)g(same) e(size)i(submatrix.)204 365 y(\(a\))42 b(Use)29 b Ff(MPI_Send)c Fl(and)j Ff(MPI_Recv)e Fl(to)j(send)g(the)g(blo)r(ck,)353 444 y(the)g(transp)r(ose)g(the)g(blo)r(ck.)201 569 y(\(b\))43 b(Use)29 b Ff(MPI_Send)o(re)o(cv)c Fl(instead.)206 695 y(\(c\))43 b(Create)29 b(a)f(datat)n(yp)r(e)h(that)f(allo)n(ws)f(y)n(ou)i(to)f(receive)353 774 y(the)h(blo)r(ck)f(already)g(transp)r(osed.)120 946 y(3.)41 b(W)n(rite)28 b(a)h(p)n(rogram)d(to)j(send)g(the)g("ghostp)r(oints")g(of)g(a) 228 1025 y(2-Dimensional)c(mesh)j(to)h(the)g(neighb)r(o)n(ring)228 1104 y(p)n(ro)r(cesso)n(rs.)38 b(Assume)29 b(that)f(each)h(p)n(ro)r(cesso)n (r)g(has)f(the)228 1183 y(same)g(size)g(subblo)r(ck.)204 1308 y(\(a\))42 b(Use)29 b(top)r(ologies)e(to)i(\014nd)h(the)f(neighb)r(o)n(rs)201 1434 y(\(b\))43 b(De\014ne)30 b(a)e(datat)n(yp)r(e)h(fo)n(r)f(the)h(\\ro)n (ws")206 1559 y(\(c\))43 b(Use)29 b Ff(MPI_Send)o(re)o(cv)c Fl(o)n(r)j Ff(MPI_IRecv)d Fl(and)k Ff(MPI_Send)353 1638 y Fl(with)f Ff(MPI_Waital)o(l)p Fl(.)201 1764 y(\(d\))43 b(Use)29 b Ff(MPI_Isen)o(d)d Fl(and)i Ff(MPI_Irecv)d Fl(to)k(sta)n(rt)f(the)353 1843 y(communicati)o(on,)e (do)j(some)f(computation)f(on)i(the)353 1921 y(interio)n(r,)d(and)j(then)g (use)g Ff(MPI_Waita)o(ny)c Fl(to)k(p)n(ro)r(cess)353 2000 y(the)g(b)r(ounda)n (ries)f(as)g(they)h(a)n(rrive)228 2126 y(The)g(same)f(app)n(roach)f(w)n(o)n (rks)h(fo)n(r)g(general)228 2205 y(datastructures,)h(such)g(as)f (unstructured)h(meshes.)120 2377 y(4.)41 b(Do)29 b(3,)g(but)g(fo)n(r)f (3-Dimensional)d(meshes.)38 b(Y)-7 b(ou)29 b(will)228 2456 y(need)h Ff(MPI_Type)o(_Hv)o(ec)o(to)o(r)p Fl(.)p eop bop 71 120 a @beginspecial @setspecial /$F2psDict 32 dict def $F2psDict begin $F2psDict /mtrx matrix put end /$F2psBegin {$F2psDict begin /$F2psEnteredState save def} def /$F2psEnd {$F2psEnteredState restore end} def $F2psBegin 0.900000 -0.900000 scale 90 rotate 0 -612 translate -36 36 translate 4.000 setlinewidth .2 setgray newpath 34 19 moveto 19 19 19 604 15 arcto 4 {pop} repeat 19 619 764 619 15 arcto 4 {pop} repeat 779 619 779 34 15 arcto 4 {pop} repeat 779 19 34 19 15 arcto 4 {pop} repeat closepath stroke showpage $F2psEnd @endspecial 249 x Fn(T)-9 b(o)s(ols)36 b(fo)m(r)h(writing)g(lib)m(ra)m(ries) p 71 419 1910 19 v 71 434 1910 7 v 71 977 a Fp(MPI)e(is)g(sp)s(eci\014cally)g (designed)f(to)h(mak)m(e)f(it)i(easier)71 1101 y(to)e(write)i (message-passing)c(lib)m(ra)m(ri)q(es)143 1276 y Fi(\017)41 b Fp(Communicato)m(rs)35 b(solve)f(tag/source)228 1400 y(wild-ca)m(rd)i(p)m (roblem)143 1575 y Fi(\017)41 b Fp(A)m(ttributes)35 b(p)m(rovide)g(a)f(w)m(a) m(y)h(to)f(attach)228 1699 y(info)m(rmation)i(to)e(a)g(communicato)m(r)2065 2770 y Fo(115)p eop bop 71 120 a @beginspecial @setspecial /$F2psDict 32 dict def $F2psDict begin $F2psDict /mtrx matrix put end /$F2psBegin {$F2psDict begin /$F2psEnteredState save def} def /$F2psEnd {$F2psEnteredState restore end} def $F2psBegin 0.900000 -0.900000 scale 90 rotate 0 -612 translate -36 36 translate 4.000 setlinewidth .2 setgray newpath 34 19 moveto 19 19 19 604 15 arcto 4 {pop} repeat 19 619 764 619 15 arcto 4 {pop} repeat 779 619 779 34 15 arcto 4 {pop} repeat 779 19 34 19 15 arcto 4 {pop} repeat closepath stroke showpage $F2psEnd @endspecial 187 x Fh(Private)31 b(communicato)m(rs)p 71 357 1910 19 v 71 372 1910 7 v 71 998 a Fp(One)k(of)h(the)g(\014rst)g(thing)h (that)f(a)g(lib)m(ra)m(ry)j(should)71 1123 y(no)m(rmally)e(do)d(is)i(create)f (p)m(rivate)i(communicato)m(r.)71 1248 y(This)f(allo)m(ws)i(the)e(lib)m(ra)m (ry)j(to)e(send)e(and)h(receive)71 1372 y(messages)c(that)j(a)m(re)f(kno)m (wn)f(only)i(to)f(the)h(lib)m(ra)m(ry)-9 b(.)71 1530 y Fd(MPI_Comm_dup\()42 b(old_comm,)h(&new_comm)g(\);)2065 2770 y Fo(116)p eop bop 71 120 a @beginspecial @setspecial /$F2psDict 32 dict def $F2psDict begin $F2psDict /mtrx matrix put end /$F2psBegin {$F2psDict begin /$F2psEnteredState save def} def /$F2psEnd {$F2psEnteredState restore end} def $F2psBegin 0.900000 -0.900000 scale 90 rotate 0 -612 translate -36 36 translate 4.000 setlinewidth .2 setgray newpath 34 19 moveto 19 19 19 604 15 arcto 4 {pop} repeat 19 619 764 619 15 arcto 4 {pop} repeat 779 619 779 34 15 arcto 4 {pop} repeat 779 19 34 19 15 arcto 4 {pop} repeat closepath stroke showpage $F2psEnd @endspecial 187 x Fh(A)m(ttributes)p 71 357 1910 19 v 71 372 1910 7 v 71 688 a Fp(A)m(ttributes)36 b(a)m(re)f(data)g(that)h(can)f(b)s(e)f (attached)h(to)71 813 y(one)e(o)m(r)i(mo)m(re)g(communicato)m(rs.)71 970 y(A)m(ttributes)h(a)m(re)f(referenced)g(b)m(y)g Fg(k)m(eyval)p Fp(.)48 b(Keyvals)71 1095 y(a)m(re)34 b(created)g(with)i Fd (MPI_KEYVAL_CREATE)p Fp(.)71 1253 y(A)m(ttributes)g(a)m(re)h(attached)e(to)h (a)g(communicato)m(r)71 1377 y(with)g Fd(MPI_Attr_put)e Fp(and)h(their)i (values)f(accessed)71 1502 y(b)m(y)e Fd(MPI_Attr_get)p Fp(.)71 1659 y Fk(\177)i Fg(Op)s(erations)f(a)m(re)h(de\014ned)e(fo)m(r)i(what)f (happ)s(ens)71 1784 y(to)e(an)g(attribute)i(when)e(it)i(is)f(copied)f(\(b)m (y)h(creating)71 1908 y(one)g(communicato)m(r)i(from)f(another\))g(o)m(r)g (deleted)71 2033 y(\(b)m(y)j(deleting)i(a)e(communicato)m(r\))i(when)e(the)71 2158 y Fp(k)m(eyval)c Fg(is)h(created.)2065 2770 y Fo(117)p eop bop 71 120 a @beginspecial @setspecial /$F2psDict 32 dict def $F2psDict begin $F2psDict /mtrx matrix put end /$F2psBegin {$F2psDict begin /$F2psEnteredState save def} def /$F2psEnd {$F2psEnteredState restore end} def $F2psBegin 0.900000 -0.900000 scale 90 rotate 0 -612 translate -36 36 translate 4.000 setlinewidth .2 setgray newpath 34 19 moveto 19 19 19 604 15 arcto 4 {pop} repeat 19 619 764 619 15 arcto 4 {pop} repeat 779 619 779 34 15 arcto 4 {pop} repeat 779 19 34 19 15 arcto 4 {pop} repeat closepath stroke showpage $F2psEnd @endspecial 187 x Fh(What)31 b(is)h(an)g(attribute?)p 71 357 1910 19 v 71 372 1910 7 v 71 1001 a Fp(In)h(C,)h(an)f(attribute)i(is)f(a)g(p) s(ointer)g(of)f(t)m(yp)s(e)g Fd(void)43 b(*)p Fp(.)71 1125 y(Y)-9 b(ou)35 b(must)h(allo)s(cate)h(sto)m(rage)e(fo)m(r)h(the)f(attribute) 71 1250 y(to)h(p)s(oint)h(to)g(\(mak)m(e)f(sure)h(that)f(y)m(ou)g(don't)g (use)71 1374 y(the)e(address)f(of)g(a)i(lo)s(cal)g(va)m(riable\).)71 1532 y(In)f(F)m(o)m(rtran,)h(it)h(is)f(a)f(single)h Fd(INTEGER)p Fp(.)2065 2770 y Fo(118)p eop bop 71 120 a @beginspecial @setspecial /$F2psDict 32 dict def $F2psDict begin $F2psDict /mtrx matrix put end /$F2psBegin {$F2psDict begin /$F2psEnteredState save def} def /$F2psEnd {$F2psEnteredState restore end} def $F2psBegin 0.900000 -0.900000 scale 90 rotate 0 -612 translate -36 36 translate 4.000 setlinewidth .2 setgray newpath 34 19 moveto 19 19 19 604 15 arcto 4 {pop} repeat 19 619 764 619 15 arcto 4 {pop} repeat 779 619 779 34 15 arcto 4 {pop} repeat 779 19 34 19 15 arcto 4 {pop} repeat closepath stroke showpage $F2psEnd @endspecial 187 x Fh(Examples)31 b(of)h(using)f(attributes)p 71 357 1910 19 v 71 372 1910 7 v 143 1125 a Fi(\017)41 b Fp(F)m(o)m(rcing)36 b(sequential)e(op)s(eration)143 1300 y Fi(\017)41 b Fp(Managing)34 b(tags)2065 2770 y Fo(119)p eop bop 71 120 a @beginspecial @setspecial /$F2psDict 32 dict def $F2psDict begin $F2psDict /mtrx matrix put end /$F2psBegin {$F2psDict begin /$F2psEnteredState save def} def /$F2psEnd {$F2psEnteredState restore end} def $F2psBegin 0.900000 -0.900000 scale 90 rotate 0 -612 translate -36 36 translate 4.000 setlinewidth .2 setgray newpath 34 19 moveto 19 19 19 604 15 arcto 4 {pop} repeat 19 619 764 619 15 arcto 4 {pop} repeat 779 619 779 34 15 arcto 4 {pop} repeat 779 19 34 19 15 arcto 4 {pop} repeat closepath stroke showpage $F2psEnd @endspecial 187 x Fh(Sequential)31 b(Sections)p 71 357 1910 19 v 71 372 1910 7 v 71 455 a Fc(#include)j("mpi.h")71 521 y(#include)g()71 654 y(static)f(int)f(MPE_Seq_)q(ke)q(yv)q(al)i (=)d(MPI_KEY)q(VA)q(L_)q(INV)q(AL)q(ID)q(;)71 787 y(/*@)162 854 y(MPE_Seq_)q(be)q(gi)q(n)j(-)d(Begins)i(a)e(sequent)q(ia)q(l)j(section)f (of)f(code.)162 986 y(Input)h(Paramete)q(rs)q(:)71 1053 y(.)61 b(comm)32 b(-)f(Communi)q(ca)q(to)q(r)j(to)d(sequent)q(ia)q(li)q(ze)q(.)71 1119 y(.)61 b(ng)92 b(-)31 b(Number)j(in)d(group.)64 b(This)33 b(many)f(processe)q(s)i(are)e(allowed)71 1186 y(to)f(execute)162 1252 y(at)g(the)h(same)h(time.)63 b(Usually)34 b(one.)71 1385 y(@*/)71 1451 y(void)e(MPE_Seq_)q(be)q(gi)q(n\()i(comm,)f(ng)f(\))71 1518 y(MPI_Comm)i(comm;)71 1584 y(int)184 b(ng;)71 1651 y({)71 1717 y(int)245 b(lidx,)33 b(np;)71 1783 y(int)245 b(flag;)71 1850 y(MPI_Comm)95 b(local_co)q(mm)q(;)71 1916 y(MPI_Statu)q(s)34 b(status;)71 2049 y(/*)d(Get)h(the)g(private)i(communic)q(at)q(or)g(for)e (the)g(sequenti)q(al)71 2115 y(operation)q(s)i(*/)71 2182 y(if)d(\(MPE_Seq)q (_k)q(ey)q(va)q(l)j(==)d(MPI_KEY)q(VA)q(L_)q(IN)q(VA)q(LI)q(D\))j({)193 2248 y(MPI_Keyva)q(l_)q(cr)q(ea)q(te)q(\()g(MPI_NULL)q(_C)q(OP)q(Y_)q(FN)q(,) 772 2315 y(MPI_NULL)q(_D)q(EL)q(ET)q(E_)q(FN,)772 2381 y(&MPE_Seq)q(_k)q(ey)q (va)q(l,)g(NULL)e(\);)193 2448 y(})2065 2770 y Fo(120)p eop bop 71 120 a @beginspecial @setspecial /$F2psDict 32 dict def $F2psDict begin $F2psDict /mtrx matrix put end /$F2psBegin {$F2psDict begin /$F2psEnteredState save def} def /$F2psEnd {$F2psEnteredState restore end} def $F2psBegin 0.900000 -0.900000 scale 90 rotate 0 -612 translate -36 36 translate 4.000 setlinewidth .2 setgray newpath 34 19 moveto 19 19 19 604 15 arcto 4 {pop} repeat 19 619 764 619 15 arcto 4 {pop} repeat 779 619 779 34 15 arcto 4 {pop} repeat 779 19 34 19 15 arcto 4 {pop} repeat closepath stroke showpage $F2psEnd @endspecial 187 x Fh(Sequential)31 b(Sections)g(I)s(I)p 71 357 1910 19 v 71 372 1910 7 v 71 743 a Fc(MPI_Attr_)q(ge)q(t\()j(comm,)f (MPE_Seq)q(_k)q(ey)q(va)q(l,)h(\(void)f(*\)&local)q(_c)q(om)q(m,)497 809 y(&flag)g(\);)71 876 y(if)e(\(!flag\))j({)193 942 y(/*)d(This)h(expects)i (a)d(communi)q(ca)q(to)q(r)j(to)d(be)g(a)g(pointer)j(*/)193 1009 y(MPI_Comm_)q(du)q(p\()g(comm,)f(&local_)q(co)q(mm)h(\);)193 1075 y(MPI_Attr_)q(pu)q(t\()g(comm,)f(MPE_Seq)q(_k)q(ey)q(va)q(l,)619 1141 y(\(void)g(*\)local)q(_c)q(om)q(m)h(\);)193 1208 y(})71 1274 y(MPI_Comm_)q(ra)q(nk)q(\()g(comm,)f(&lidx)g(\);)71 1341 y(MPI_Comm_)q(si)q(ze)q(\()h(comm,)f(&np)f(\);)71 1407 y(if)f(\(lidx)i(!=)e (0\))h({)193 1473 y(MPI_Recv\()i(NULL,)f(0,)f(MPI_INT,)i(lidx-1,)g(0,)d (local_c)q(om)q(m,)497 1540 y(&status)j(\);)193 1606 y(})71 1673 y(/*)d(Send)h(to)g(the)g(next)g(process)i(in)e(the)g(group)g(unless)i (we)162 1739 y(are)e(the)g(last)g(process)i(in)e(the)g(processo)q(r)h(set)f (*/)71 1806 y(if)f(\()g(\(lidx)i(\045)e(ng\))h(<)f(ng)g(-)g(1)g(&&)h(lidx)g (!=)g(np)f(-)g(1\))g({)193 1872 y(MPI_Send\()j(NULL,)f(0,)f(MPI_INT,)i(lidx)f (+)e(1,)g(0,)g(local_c)q(om)q(m)j(\);)193 1938 y(})71 2005 y(})2065 2770 y Fo(121)p eop bop 71 120 a @beginspecial @setspecial /$F2psDict 32 dict def $F2psDict begin $F2psDict /mtrx matrix put end /$F2psBegin {$F2psDict begin /$F2psEnteredState save def} def /$F2psEnd {$F2psEnteredState restore end} def $F2psBegin 0.900000 -0.900000 scale 90 rotate 0 -612 translate -36 36 translate 4.000 setlinewidth .2 setgray newpath 34 19 moveto 19 19 19 604 15 arcto 4 {pop} repeat 19 619 764 619 15 arcto 4 {pop} repeat 779 619 779 34 15 arcto 4 {pop} repeat 779 19 34 19 15 arcto 4 {pop} repeat closepath stroke showpage $F2psEnd @endspecial 187 x Fh(Sequential)31 b(Sections)g(I)s(I)s(I)p 71 357 1910 19 v 71 372 1910 7 v 71 433 a Fc(/*@)162 499 y(MPE_Seq_)q(en)q(d) j(-)d(Ends)h(a)f(sequent)q(ia)q(l)j(section)f(of)f(code.)162 566 y(Input)h(Paramete)q(rs)q(:)71 632 y(.)61 b(comm)32 b(-)f(Communi)q(ca)q (to)q(r)j(to)d(sequent)q(ia)q(li)q(ze)q(.)71 699 y(.)61 b(ng)92 b(-)31 b(Number)j(in)d(group.)71 765 y(@*/)71 831 y(void)h(MPE_Seq_)q(en)q (d\()i(comm,)f(ng)f(\))71 898 y(MPI_Comm)i(comm;)71 964 y(int)184 b(ng;)71 1031 y({)71 1097 y(int)245 b(lidx,)33 b(np,)f(flag;)71 1163 y(MPI_Statu)q(s)i(status;)71 1230 y(MPI_Comm)95 b(local_co)q(mm)q(;)71 1363 y(MPI_Comm_)q(ra)q(nk)q(\()34 b(comm,)f(&lidx)g(\);)71 1429 y(MPI_Comm_)q(si)q(ze)q(\()h(comm,)f(&np)f(\);)71 1496 y(MPI_Attr_)q(ge)q(t\()i(comm,)f(MPE_Seq)q(_k)q(ey)q(va)q(l,)h(\(void)f (*\)&local)q(_c)q(om)q(m,)71 1562 y(&flag)f(\);)71 1628 y(if)f(\(!flag\))193 1695 y(MPI_Abort)q(\()j(comm,)f(MPI_ERR_)q(UN)q(KN)q(OW)q(N)h(\);)71 1761 y(/*)d(Send)h(to)g(the)g(first)h(process)h(in)d(the)h(next)g(group)h(OR) f(to)f(the)71 1828 y(first)h(process)162 1894 y(in)f(the)h(process)q(or)i (set)e(*/)71 1960 y(if)f(\()g(\(lidx)i(\045)e(ng\))h(==)f(ng)h(-)f(1)g(||)g (lidx)i(==)e(np)g(-)g(1\))h({)193 2027 y(MPI_Send\()i(NULL,)f(0,)f(MPI_INT,)i (\(lidx)f(+)e(1\))g(\045)g(np,)h(0,)71 2093 y(local_com)q(m)i(\);)193 2160 y(})71 2226 y(if)d(\(lidx)i(==)e(0\))h({)193 2293 y(MPI_Recv\()i(NULL,)f (0,)f(MPI_INT,)i(np-1,)f(0,)e(local_c)q(om)q(m,)71 2359 y(&status)i(\);)193 2425 y(})71 2492 y(})2065 2770 y Fo(122)p eop bop 71 120 a @beginspecial @setspecial /$F2psDict 32 dict def $F2psDict begin $F2psDict /mtrx matrix put end /$F2psBegin {$F2psDict begin /$F2psEnteredState save def} def /$F2psEnd {$F2psEnteredState restore end} def $F2psBegin 0.900000 -0.900000 scale 90 rotate 0 -612 translate -36 36 translate 4.000 setlinewidth .2 setgray newpath 34 19 moveto 19 19 19 604 15 arcto 4 {pop} repeat 19 619 764 619 15 arcto 4 {pop} repeat 779 619 779 34 15 arcto 4 {pop} repeat 779 19 34 19 15 arcto 4 {pop} repeat closepath stroke showpage $F2psEnd @endspecial 187 x Fh(Comments)33 b(on)f(sequential)f(sections)p 71 357 1910 19 v 71 372 1910 7 v 143 1001 a Fi(\017)41 b Fp(Note)35 b(use)e(of)h Fd(MPI_KEYVAL_INVALID)e Fp(to)228 1125 y(determine)k(to)e (create)h(a)f(k)m(eyval)143 1300 y Fi(\017)41 b Fp(Note)35 b(use)e(of)h(\015ag)f(on)h Fd(MPI_Attr_get)f Fp(to)228 1424 y(discover)i(that)f(a)g(communicato)m(r)h(has)f(no)228 1549 y(attribute)i(fo)m(r)e(the)g(k)m(eyval)2065 2770 y Fo(123)p eop bop 71 120 a @beginspecial @setspecial /$F2psDict 32 dict def $F2psDict begin $F2psDict /mtrx matrix put end /$F2psBegin {$F2psDict begin /$F2psEnteredState save def} def /$F2psEnd {$F2psEnteredState restore end} def $F2psBegin 0.900000 -0.900000 scale 90 rotate 0 -612 translate -36 36 translate 4.000 setlinewidth .2 setgray newpath 34 19 moveto 19 19 19 604 15 arcto 4 {pop} repeat 19 619 764 619 15 arcto 4 {pop} repeat 779 619 779 34 15 arcto 4 {pop} repeat 779 19 34 19 15 arcto 4 {pop} repeat closepath stroke showpage $F2psEnd @endspecial 187 x Fh(Example:)42 b(Managing)31 b(tags)p 71 357 1910 19 v 71 372 1910 7 v 71 664 a Fp(Problem:)51 b(A)37 b(lib)m(ra)m(ry)j(contains)c(many)h(objects)71 789 y(that)e(need)g(to)h (communicate)g(in)g(w)m(a)m(ys)f(that)h(a)m(re)71 913 y(not)e(kno)m(wn)f (until)j(runtime.)71 1071 y(Messages)d(b)s(et)m(w)m(een)i(objects)f(a)m(re)h (k)m(ept)g(sepa)m(rate)71 1196 y(b)m(y)i(using)f(di\013erent)j(message)d (tags.)53 b(Ho)m(w)37 b(a)m(re)71 1320 y(these)c(tags)h(chosen?)143 1494 y Fi(\017)41 b Fp(Unsafe)33 b(to)h(use)g(compile)i(time)g(values)143 1669 y Fi(\017)41 b Fp(Must)35 b(allo)s(cate)g(tag)f(values)g(at)h(runtime)71 1843 y(Solution:)71 1968 y(Use)j(a)g(p)m(rivate)i(communicato)m(r)f(and)f (use)f(an)71 2092 y(attribute)g(to)g(k)m(eep)f(track)g(of)g(available)i(tags) e(in)71 2217 y(that)e(communicato)m(r.)2065 2770 y Fo(124)p eop bop 71 120 a @beginspecial @setspecial /$F2psDict 32 dict def $F2psDict begin $F2psDict /mtrx matrix put end /$F2psBegin {$F2psDict begin /$F2psEnteredState save def} def /$F2psEnd {$F2psEnteredState restore end} def $F2psBegin 0.900000 -0.900000 scale 90 rotate 0 -612 translate -36 36 translate 4.000 setlinewidth .2 setgray newpath 34 19 moveto 19 19 19 604 15 arcto 4 {pop} repeat 19 619 764 619 15 arcto 4 {pop} repeat 779 619 779 34 15 arcto 4 {pop} repeat 779 19 34 19 15 arcto 4 {pop} repeat closepath stroke showpage $F2psEnd @endspecial 187 x Fh(Caching)31 b(tags)i(on)f(communicato)m(r)p 71 357 1910 19 v 71 372 1910 7 v 71 767 a Fc(#include)i("mpi.h")71 899 y(static)f(int)f(MPE_Tag_)q(ke)q(yv)q(al)i(=)d(MPI_KEY)q(VA)q(L_)q(INV)q (AL)q(ID)q(;)71 1032 y(/*)162 1099 y(Private)j(routine)g(to)d(delete)j (internal)g(storage)g(when)e(a)71 1165 y(communica)q(to)q(r)i(is)d(freed.)101 1231 y(*/)71 1298 y(int)h(MPE_DelTa)q(g\()i(comm,)f(keyval,)h(attr_va)q(l,)g (extra_st)q(at)q(e)g(\))71 1364 y(MPI_Comm)g(*comm;)71 1431 y(int)184 b(*keyval;)71 1497 y(void)154 b(*attr_va)q(l,)34 b(*extra_)q(st)q(at)q(e;)71 1564 y({)71 1630 y(free\()e(attr_va)q(l)i(\);)71 1696 y(return)f(MPI_SUCC)q(ES)q(S;)71 1763 y(})2065 2770 y Fo(125)p eop bop 71 120 a @beginspecial @setspecial /$F2psDict 32 dict def $F2psDict begin $F2psDict /mtrx matrix put end /$F2psBegin {$F2psDict begin /$F2psEnteredState save def} def /$F2psEnd {$F2psEnteredState restore end} def $F2psBegin 0.900000 -0.900000 scale 90 rotate 0 -612 translate -36 36 translate 4.000 setlinewidth .2 setgray newpath 34 19 moveto 19 19 19 604 15 arcto 4 {pop} repeat 19 619 764 619 15 arcto 4 {pop} repeat 779 619 779 34 15 arcto 4 {pop} repeat 779 19 34 19 15 arcto 4 {pop} repeat closepath stroke showpage $F2psEnd @endspecial 187 x Fh(Caching)31 b(tags)i(on)f(communicato)m(r)h(I)s(I)p 71 357 1910 19 v 71 372 1910 7 v 71 567 a Fc(/*@)132 634 y(MPE_GetTa)q(gs)h (-)d(Returns)j(tags)f(that)f(can)g(be)f(used)i(in)71 700 y(communica)q(ti)q (on)h(with)f(a)132 767 y(communica)q(to)q(r)132 899 y(Input)f(Paramet)q(er)q (s:)71 966 y(.)f(comm_in)i(-)e(Input)i(communi)q(ca)q(to)q(r)71 1032 y(.)e(ntags)93 b(-)31 b(Number)j(of)d(tags)132 1165 y(Output)i(Paramete) q(rs)q(:)71 1231 y(.)e(comm_out)j(-)d(Output)i(communi)q(ca)q(to)q(r.)65 b(May)32 b(be)f('comm_in)q('.)71 1298 y(.)g(first_tag)j(-)d(First)i(tag)f (availab)q(le)71 1364 y(@*/)71 1431 y(int)g(MPE_GetTa)q(gs)q(\()i(comm_in,)g (ntags,)g(comm_out,)g(first_t)q(ag)g(\))71 1497 y(MPI_Comm)g(comm_in,)g (*comm_o)q(ut)q(;)71 1564 y(int)184 b(ntags,)33 b(*first_)q(ta)q(g;)71 1630 y({)71 1696 y(int)f(mpe_errno)i(=)d(MPI_SUC)q(CE)q(SS)q(;)71 1763 y(int)h(tagval,)h(*tagval)q(p,)h(*maxval)q(,)g(flag;)71 1896 y(if)d(\(MPE_Tag)q(_k)q(ey)q(va)q(l)j(==)d(MPI_KEY)q(VA)q(L_)q(IN)q(VA)q (LI)q(D\))j({)193 1962 y(MPI_Keyva)q(l_)q(cr)q(ea)q(te)q(\()g(MPI_NULL)q(_C)q (OP)q(Y_)q(FN)q(,)f(MPE_Del)q(Ta)q(g,)772 2029 y(&MPE_Tag)q(_k)q(ey)q(va)q (l,)h(\(void)f(*\)0)f(\);)193 2095 y(})2065 2770 y Fo(126)p eop bop 71 120 a @beginspecial @setspecial /$F2psDict 32 dict def $F2psDict begin $F2psDict /mtrx matrix put end /$F2psBegin {$F2psDict begin /$F2psEnteredState save def} def /$F2psEnd {$F2psEnteredState restore end} def $F2psBegin 0.900000 -0.900000 scale 90 rotate 0 -612 translate -36 36 translate 4.000 setlinewidth .2 setgray newpath 34 19 moveto 19 19 19 604 15 arcto 4 {pop} repeat 19 619 764 619 15 arcto 4 {pop} repeat 779 619 779 34 15 arcto 4 {pop} repeat 779 19 34 19 15 arcto 4 {pop} repeat closepath stroke showpage $F2psEnd @endspecial 187 x Fh(Caching)31 b(tags)i(on)f(communicato)m(r)h(I)s(I)s(I)p 71 357 1910 19 v 71 372 1910 7 v 71 721 a Fc(if)e(\(mpe_err)q(no)j(=)d (MPI_Att)q(r_)q(ge)q(t\()j(comm_in)q(,)g(MPE_Tag_k)q(ey)q(va)q(l,)71 787 y(&tagvalp,)g(&flag)f(\)\))193 854 y(return)g(mpe_errn)q(o;)71 986 y(if)e(\(!flag\))j({)193 1053 y(/*)d(This)h(communi)q(ca)q(to)q(r)i(is)d (not)h(yet)g(known)h(to)e(this)i(system,)71 1119 y(so)e(we)284 1186 y(dup)h(it)f(and)h(setup)h(the)f(first)h(value)g(*/)193 1252 y(MPI_Comm_)q(du)q(p\()h(comm_in)q(,)g(comm_out)g(\);)193 1318 y(comm_in)f(=)e(*comm_o)q(ut)q(;)193 1385 y(MPI_Attr_)q(ge)q(t\()j (MPI_COM)q(M_)q(WO)q(RL)q(D,)g(MPI_TAG_)q(UB)q(,)g(&maxval,)71 1451 y(&flag)e(\);)193 1518 y(tagvalp)h(=)e(\(int)i(*\)malloc)q(\()h(2)d(*)g (sizeof\(in)q(t\))j(\);)193 1584 y(printf\()f("Malloc)q(in)q(g)h(address)g (\045x\\n",)f(tagvalp)h(\);)193 1651 y(if)d(\(!tagval)q(p\))j(return)g (MPI_ERR_)q(EX)q(HA)q(US)q(TED)q(;)193 1717 y(tagvalp)f(=)e(*maxval)q(;)193 1783 y(MPI_Attr_)q(pu)q(t\()j(comm_in)q(,)g(MPE_Tag_)q(ke)q(yv)q(al,)g (tagvalp)g(\);)193 1850 y(return)f(MPI_SUCC)q(ES)q(S;)193 1916 y(})2065 2770 y Fo(127)p eop bop 71 120 a @beginspecial @setspecial /$F2psDict 32 dict def $F2psDict begin $F2psDict /mtrx matrix put end /$F2psBegin {$F2psDict begin /$F2psEnteredState save def} def /$F2psEnd {$F2psEnteredState restore end} def $F2psBegin 0.900000 -0.900000 scale 90 rotate 0 -612 translate -36 36 translate 4.000 setlinewidth .2 setgray newpath 34 19 moveto 19 19 19 604 15 arcto 4 {pop} repeat 19 619 764 619 15 arcto 4 {pop} repeat 779 619 779 34 15 arcto 4 {pop} repeat 779 19 34 19 15 arcto 4 {pop} repeat closepath stroke showpage $F2psEnd @endspecial 187 x Fh(Caching)31 b(tags)i(on)f(communicato)m(r)h(IV)p 71 357 1910 19 v 71 372 1910 7 v 71 898 a Fc(*comm_out)h(=)d(comm_in)q(;)71 964 y(if)g(\(*tagval)q(p)j(<)d(ntags\))i({)193 1031 y(/*)e(Error,)i(out)f(of) g(tags.)63 b(Another)34 b(solution)g(would)f(be)f(to)f(do)284 1097 y(an)g(MPI_Com)q(m_)q(du)q(p.)j(*/)193 1163 y(return)f(MPI_ERR_)q(IN)q (TE)q(RN)q(;)193 1230 y(})71 1296 y(*first_ta)q(g)h(=)d(*tagvalp)j(-)d (ntags;)71 1363 y(*tagvalp)95 b(=)31 b(*first_t)q(ag)q(;)71 1496 y(return)i(MPI_SUCC)q(ES)q(S;)71 1562 y(})2065 2770 y Fo(128)p eop bop 71 120 a @beginspecial @setspecial /$F2psDict 32 dict def $F2psDict begin $F2psDict /mtrx matrix put end /$F2psBegin {$F2psDict begin /$F2psEnteredState save def} def /$F2psEnd {$F2psEnteredState restore end} def $F2psBegin 0.900000 -0.900000 scale 90 rotate 0 -612 translate -36 36 translate 4.000 setlinewidth .2 setgray newpath 34 19 moveto 19 19 19 604 15 arcto 4 {pop} repeat 19 619 764 619 15 arcto 4 {pop} repeat 779 619 779 34 15 arcto 4 {pop} repeat 779 19 34 19 15 arcto 4 {pop} repeat closepath stroke showpage $F2psEnd @endspecial 187 x Fh(Caching)31 b(tags)i(on)f(communicato)m(r)h(V)p 71 357 1910 19 v 71 372 1910 7 v 71 501 a Fc(/*@)132 567 y(MPE_Retur)q(nT)q (ag)q(s)h(-)d(Returns)j(tags)e(allocat)q(ed)i(with)e(MPE_Get)q(Ta)q(gs)q(.) 132 700 y(Input)g(Paramet)q(er)q(s:)71 767 y(.)f(comm)h(-)f(Communic)q(at)q (or)j(to)e(return)h(tags)g(to)71 833 y(.)e(first_tag)j(-)d(First)i(of)f(the)g (tags)g(to)g(return)71 899 y(.)f(ntags)h(-)f(Number)j(of)d(tags)i(to)e (return.)71 966 y(@*/)71 1032 y(int)h(MPE_Retur)q(nT)q(ag)q(s\()i(comm,)f (first_t)q(ag)q(,)h(ntags)e(\))71 1099 y(MPI_Comm)i(comm;)71 1165 y(int)184 b(first_ta)q(g,)34 b(ntags;)71 1231 y({)71 1298 y(int)e(*tagvalp,)i(flag,)f(mpe_err)q(no)q(;)71 1431 y(if)e(\(mpe_err)q(no)j (=)d(MPI_Att)q(r_)q(ge)q(t\()j(comm,)f(MPE_Tag_)q(ke)q(yv)q(al)q(,)71 1497 y(&tagvalp,)h(&flag)f(\)\))193 1564 y(return)g(mpe_errn)q(o;)71 1696 y(if)e(\(!flag\))j({)193 1763 y(/*)d(Error,)i(attribu)q(te)h(does)f(not) f(exist)h(in)e(this)h(communi)q(ca)q(to)q(r)71 1829 y(*/)193 1896 y(return)h(MPI_ERR_)q(OT)q(HE)q(R;)193 1962 y(})71 2029 y(if)e(\(*tagval)q(p)j(==)d(first_t)q(ag)q(\))193 2095 y(*tagvalp)j(=)d (first_ta)q(g)j(+)d(ntags;)71 2228 y(return)i(MPI_SUCC)q(ES)q(S;)71 2294 y(})2065 2770 y Fo(129)p eop bop 71 120 a @beginspecial @setspecial /$F2psDict 32 dict def $F2psDict begin $F2psDict /mtrx matrix put end /$F2psBegin {$F2psDict begin /$F2psEnteredState save def} def /$F2psEnd {$F2psEnteredState restore end} def $F2psBegin 0.900000 -0.900000 scale 90 rotate 0 -612 translate -36 36 translate 4.000 setlinewidth .2 setgray newpath 34 19 moveto 19 19 19 604 15 arcto 4 {pop} repeat 19 619 764 619 15 arcto 4 {pop} repeat 779 619 779 34 15 arcto 4 {pop} repeat 779 19 34 19 15 arcto 4 {pop} repeat closepath stroke showpage $F2psEnd @endspecial 187 x Fh(Caching)31 b(tags)i(on)f(communicato)m(r)h(VI)p 71 357 1910 19 v 71 372 1910 7 v 71 964 a Fc(/*@)132 1031 y(MPE_TagsE)q(nd)h (-)d(Returns)j(the)e(private)i(keyval.)71 1097 y(@*/)71 1163 y(int)e(MPE_TagsE)q(nd)q(\(\))71 1230 y({)71 1296 y(MPI_Keyva)q(l_)q(fr)q(ee) q(\()i(&MPE_Tag)q(_k)q(ey)q(va)q(l)g(\);)71 1363 y(MPE_Tag_k)q(ey)q(va)q(l)g (=)d(MPI_KEYV)q(AL)q(_I)q(NV)q(AL)q(ID)q(;)71 1429 y(})2065 2770 y Fo(130)p eop bop 71 120 a @beginspecial @setspecial /$F2psDict 32 dict def $F2psDict begin $F2psDict /mtrx matrix put end /$F2psBegin {$F2psDict begin /$F2psEnteredState save def} def /$F2psEnd {$F2psEnteredState restore end} def $F2psBegin 0.900000 -0.900000 scale 90 rotate 0 -612 translate -36 36 translate 4.000 setlinewidth .2 setgray newpath 34 19 moveto 19 19 19 604 15 arcto 4 {pop} repeat 19 619 764 619 15 arcto 4 {pop} repeat 779 619 779 34 15 arcto 4 {pop} repeat 779 19 34 19 15 arcto 4 {pop} repeat closepath stroke showpage $F2psEnd @endspecial 187 x Fh(Commenta)m(ry)p 71 357 1910 19 v 71 372 1910 7 v 143 1005 a Fi(\017)41 b Fp(Use)34 b Fd(MPI_KEYVAL_INVALID)f Fp(to)h(detect)g(when)228 1129 y(k)m(eyval)h(must)f(b)s(e)g(created)143 1303 y Fi(\017)41 b Fp(Use)34 b Fd(flag)g Fp(return)h(from)f Fd(MPI_ATTR_GET)f Fp(to)228 1428 y(detect)g(when)f(a)h(communicato)m(r)g (needs)f(to)h(b)s(e)228 1553 y(initial)q(i)q(zed)2065 2770 y Fo(131)p eop bop 71 120 a @beginspecial @setspecial /$F2psDict 32 dict def $F2psDict begin $F2psDict /mtrx matrix put end /$F2psBegin {$F2psDict begin /$F2psEnteredState save def} def /$F2psEnd {$F2psEnteredState restore end} def $F2psBegin 0.900000 -0.900000 scale 90 rotate 0 -612 translate -36 36 translate 4.000 setlinewidth .2 setgray newpath 34 19 moveto 19 19 19 604 15 arcto 4 {pop} repeat 19 619 764 619 15 arcto 4 {pop} repeat 779 619 779 34 15 arcto 4 {pop} repeat 779 19 34 19 15 arcto 4 {pop} repeat closepath stroke showpage $F2psEnd @endspecial 187 x Fh(Exercise)31 b(-)g(W)m(riting)g(lib)m(ra)m(ries)p 71 357 1910 19 v 71 372 1910 7 v 71 501 a Fl(Objective:)38 b(Use)29 b(p)n(rivate)e(communicato)n(rs)f(and)i(attributes)71 642 y(W)n(rite)g(a)h(routine)f(to)h(circulate)f(data)g(to)i(the)f(next)h(p)n (ro)r(cess,)71 721 y(using)e(a)g(nonblo)r(cking)f(send)j(and)e(receive)h(op)r (eration.)71 862 y Ff(void)35 b(Init_pip)o(e\()e(comm)i(\))71 941 y(void)g(ISend_pi)o(pe)o(\()f(comm,)g(bufin,)g(len,)h(datatype,)e(bufout) h(\))71 1020 y(void)h(Wait_pip)o(e\()e(comm)i(\))71 1161 y Fl(A)29 b(t)n(ypical)e(use)i(is)71 1302 y Ff(Init_pip)o(e\()k(MPI_COMM_)o (WOR)o(LD)g(\))71 1381 y(for)i(\(i=0;)f(i)71 1070 y(#include)g("mpi.h")71 1228 y({{fnall)g(fn_name}})144 1307 y({{vardec)o(l)h(int)h(llrank}})144 1386 y(PMPI_Com)o(m_r)o(an)o(k\()e(MPI_COMM_W)o(OR)o(LD)o(,)h(&llrank)f(\);) 144 1464 y(printf\()g("[\045d])i(Starting)e({{fn_name})o(}.)o(..\\)o(n")o(,) 71 1543 y(llrank)h(\);)h(fflush\()f(stdout)g(\);)144 1622 y({{callfn)o(}})144 1701 y(printf\()f("[\045d])i(Ending)f({{fn_name)o(}}\\)o(n")o(,)g(llrank)g (\);)71 1780 y(fflush\()f(stdout)h(\);)71 1859 y({{endfna)o(ll)o(}})71 2052 y Fl(The)28 b(command)71 2167 y Ff(wrapperg)o(en)33 b(-w)j(trace.w)e(-o) h(trace.c)71 2282 y Fl(converts)c(this)e(to)i(a)f(C)g(p)n(rogram.)41 b(The)30 b(complie)e(the)j(\014le)71 2361 y(`)p Ff(trace.c)p Fl(')26 b(and)j(insert)f(the)i(resulting)e(object)h(\014le)h(into)e(y)n(our) 71 2440 y(link)e(line:)71 2554 y Ff(cc)35 b(-o)h(a.out)f(a.o)g(...)g(trace.o) f(-lpmpi)g(-lmpi)2065 2770 y Fo(141)p eop bop 71 120 a @beginspecial @setspecial /$F2psDict 32 dict def $F2psDict begin $F2psDict /mtrx matrix put end /$F2psBegin {$F2psDict begin /$F2psEnteredState save def} def /$F2psEnd {$F2psEnteredState restore end} def $F2psBegin 0.900000 -0.900000 scale 90 rotate 0 -612 translate -36 36 translate 4.000 setlinewidth .2 setgray newpath 34 19 moveto 19 19 19 604 15 arcto 4 {pop} repeat 19 619 764 619 15 arcto 4 {pop} repeat 779 619 779 34 15 arcto 4 {pop} repeat 779 19 34 19 15 arcto 4 {pop} repeat closepath stroke showpage $F2psEnd @endspecial 187 x Fh(Another)32 b(p)m(ro\014ling)f(example)p 71 357 1910 19 v 71 372 1910 7 v 71 530 a Fe(This)25 b(version)f(counts)h (all)f(calls)h(and)f(the)g(numb)r(er)g(of)g(b)n(ytes)h(sent)g(with)71 596 y Fc(MPI_Send)p Fe(,)i Fc(MPI_Bse)q(nd)q Fe(,)g(o)n(r)c Fc(MPI_Ise)q(nd)q Fe(.)71 663 y Fc(#include)34 b("mpi.h")71 795 y({{foreach)q(fn)g(fn_name)g(MPI_Sen)q(d)g(MPI_Bsen)q(d)g(MPI_Isend)q(}}) 71 862 y(static)f(long)f({{fn_na)q(me)q(}})q(_n)q(by)q(te)q(s_)q({{)q(fi)q (le)q(no)q(}};)q({{)q(en)q(df)q(or)q(ea)q(ch)q(fn)q(}})71 995 y({{forallf)q(n)i(fn_name)g(MPI_Init)g(MPI_Fin)q(al)q(iz)q(e)f(MPI_Wti)q(me)q (}})q(in)q(t)71 1061 y({{fn_name)q(}})q(_n)q(ca)q(ll)q(s_)q({{)q(fi)q(le)q (no)q(}})q(;)71 1128 y({{endfora)q(ll)q(fn)q(}})71 1260 y({{fnall)g(this_fn)q (_n)q(am)q(e)h(MPI_Fina)q(li)q(ze)q(}})132 1327 y(printf\()f("{{this)q(_f)q (n_)q(na)q(me)q(}})h(is)e(being)h(called.\\n)q(")h(\);)132 1460 y({{callfn})q(})132 1592 y({{this_fn)q(_n)q(am)q(e})q(}_)q(nc)q(al)q(ls) q(_{)q({f)q(il)q(en)q(o})q(}+)q(+;)71 1659 y({{endfnal)q(l})q(})71 1792 y({{fn)e(fn_name)i(MPI_Send)g(MPI_Bse)q(nd)g(MPI_Ise)q(nd})q(})132 1858 y({{vardecl)g(int)e(typesiz)q(e})q(})132 1991 y({{callfn})q(})132 2124 y(MPI_Type_)q(si)q(ze)q(\()i({{dataty)q(pe)q(}})q(,)g(\(MPI_Ain)q(t)f (*\)&{{ty)q(pe)q(si)q(ze)q(}})h(\);)132 2190 y({{fn_name)q(}})q(_n)q(by)q(te) q(s_)q({{)q(fi)q(le)q(no)q(}})q(+=)q({{)q(ty)q(pe)q(siz)q(e})q(}*)q({{)q(co)q (un)q(t})q(})132 2257 y({{fn_name)q(}})q(_n)q(ca)q(ll)q(s_)q({{)q(fi)q(le)q (no)q(}})q(++)q(;)71 2389 y({{endfn}})2065 2770 y Fo(142)p eop bop 71 120 a @beginspecial @setspecial /$F2psDict 32 dict def $F2psDict begin $F2psDict /mtrx matrix put end /$F2psBegin {$F2psDict begin /$F2psEnteredState save def} def /$F2psEnd {$F2psEnteredState restore end} def $F2psBegin 0.900000 -0.900000 scale 90 rotate 0 -612 translate -36 36 translate 4.000 setlinewidth .2 setgray newpath 34 19 moveto 19 19 19 604 15 arcto 4 {pop} repeat 19 619 764 619 15 arcto 4 {pop} repeat 779 619 779 34 15 arcto 4 {pop} repeat 779 19 34 19 15 arcto 4 {pop} repeat closepath stroke showpage $F2psEnd @endspecial 187 x Fh(Another)32 b(p)m(ro\014ling)f(example)h(\(con't\))p 71 357 1910 19 v 71 372 1910 7 v 71 831 a Fc({{fn)g(fn_name)i(MPI_Fina)q(li)q (ze)q(}})132 898 y({{forallf)q(n)g(dis_fn}})193 964 y(if)d(\({{dis_f)q(n})q (}_)q(nc)q(al)q(ls)q(_{)q({f)q(il)q(en)q(o})q(}\))j({)253 1031 y(printf\()g("{{dis_)q(fn)q(}})q(:)g(\045d)d(calls\\n)q(",)528 1097 y({{dis_fn)q(}})q(_n)q(ca)q(ll)q(s_)q({{)q(fi)q(le)q(no})q(})j(\);)193 1163 y(})132 1230 y({{endfora)q(ll)q(fn)q(}})132 1296 y(if)d(\(MPI_Sen)q(d_)q (nc)q(al)q(ls)q(_{)q({f)q(il)q(en)q(o})q(}\))j({)284 1363 y(printf\()g ("\045d)e(bytes)h(sent)f(in)g(\045d)f(calls)i(with)f(MPI_Sen)q(d\\)q(n")q(,) 528 1429 y(MPI_Send)q(_n)q(by)q(te)q(s_)q({{)q(fi)q(le)q(no)q(}},)71 1496 y(MPI_Send_)q(nc)q(al)q(ls)q(_{)q({f)q(il)q(en)q(o})q(})i(\);)284 1562 y(})71 1628 y({{callfn})q(})71 1695 y({{endfn}})2065 2770 y Fo(143)p eop bop 71 120 a @beginspecial @setspecial /$F2psDict 32 dict def $F2psDict begin $F2psDict /mtrx matrix put end /$F2psBegin {$F2psDict begin /$F2psEnteredState save def} def /$F2psEnd {$F2psEnteredState restore end} def $F2psBegin 0.900000 -0.900000 scale 90 rotate 0 -612 translate -36 36 translate 4.000 setlinewidth .2 setgray newpath 34 19 moveto 19 19 19 604 15 arcto 4 {pop} repeat 19 619 764 619 15 arcto 4 {pop} repeat 779 619 779 34 15 arcto 4 {pop} repeat 779 19 34 19 15 arcto 4 {pop} repeat closepath stroke showpage $F2psEnd @endspecial 187 x Fh(Generating)32 b(and)g(viewing)d(log)j(\014les)p 71 357 1910 19 v 71 372 1910 7 v 71 568 a Fp(Log)40 b(\014les)i(that)f (contain)h(a)f(histo)m(ry)h(of)f(a)71 692 y(pa)m(rallel)e(computation)e(can)g (b)s(e)g(very)g(valuable)71 817 y(in)h(understanding)d(a)j(pa)m(rallel)i(p)m (rogram.)54 b(The)71 941 y(upshot)35 b(and)g(nupshot)g(p)m(rograms,)i(p)m (rovided)f(in)71 1066 y(the)h(MPICH)i(and)e(MPI-F)i(implementations,)71 1190 y(ma)m(y)34 b(b)s(e)g(used)f(to)i(view)g(log)f(\014les)460 2410 y @beginspecial 38 @llx 112 @lly 573 @urx 680 @ury 2712 @rwi @setspecial /origstate save def 20 dict begin /pix 120 string def 38 112 translate 535 568 scale 956 1014 1 [956 0 0 -1014 0 1014] {currentfile pix readhexstring pop} image 222222222222222222222222222222222222222222222222222222222222222222222222 222222222222222222222222222222222222222222222222222222222222222222222222 222222222222222222222222222222222222222222222222222222222222222222222222 222222222222222222222220 888888888888888888888888888888888888888888888888888888888888888888888888 888888888888888888888888888888888888888888888888888888888888888888888888 888888888888888888888888888888888888888888888888888888888888888888888888 888888888888888888888880 444444444444444444444444444444444444444444444444444444444444444444444444 444444444444444444444444444444444444444444444444444444444444444444444444 444444444444444444444444444444444444444444444444444444444444444444444444 444444444444444444444440 111111111111111111111111111111111111111111111111111111111111111111111111 111111111111111111111111111111111111111111111111111111111111111111111111 111111111111111111111111111111111111111111111111111111111111111111111111 111111111111111111111110 222222222222222222222222222222222222222222222222222222222222222222222222 222222222222222222222222222222222222222222222222222222222222222222222222 222222222222222222222222222222222222222222222222222222222222222222222222 222222222222222222222220 888888888888888888888888888888888888888888888888888888888888888888888888 888888888888888888888888888888888888888888888888888888888888888888888888 888888888888888888888888888888888888888888888888888888888888888888888888 888888888888888888888880 444444444444444444444444444444444444444444444444444444444444444444444444 444444444444444444444444444444444444444444444444444444444444444444444444 444444444444444444444444444444444444444444444444444444444444444444444444 444444444444444444444440 111111111111111111111111111111111111111111111111111111111111111111111111 111111111111111111111111111111111111111111111111111111111111111111111111 111111111111111111111111111111111111111111111111111111111111111111111111 111111111111111111111110 222222222222222222222222222222222222222222222222222222222222222222222222 222222222222222222222222222222222222222222222222222222222222222222222222 222222222222222222222222222222222222222222222222222222222222222222222222 222222222222222222222220 88d555555555555555555555555555555555555555555555555555555555555555555555 555555555555555555555555555555555555555555555555555555555555555555555555 555555555555555555508888888888888888888888888888888888888888888888888888 888888888888888888888880 443fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff fffffffffffffffffffc4444444444444444444444444444444444444444444444444444 444444444444444444444440 117fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff fffffffffffffffffff11111111111111111111111111111111111111111111111111111 111111111111111111111110 223fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff fffffffffffffffffffa2222222222222222222222222222222222222222222222222222 222222222222222222222220 88f80007ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffff8000708888888888888888888888888888888888888888888888888888 888888888888888888888880 443bfff7f801ffffffe7ffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffbdef7c4444444444444444444444444444444444444444444444444444 444444444444444444444440 117bfff7f801ffffffe7ffff3fffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffbdef711111111111111111111111111111111111111111111111111111 111111111111111111111110 223bfff7ff9fffffffe7ffff3fffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffbdef7a2222222222222222222222222222222222222222222222222222 222222222222222222222220 88fbe0f7ff9fc3e1e0e43e1e1fffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffbdef708888888888888888888888888888888888888888888888888888 888888888888888888888880 443bc077ff9f81c0c0601c0e1fffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffff81ef7c4444444444444444444444444444444444444444444444444444 444444444444444444444440 117b8037ff9f3c9e4e6398c73fffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffbfef711111111111111111111111111111111111111111111111111111 111111111111111111111110 223b8037ff9f008043e799e73fffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffbfef7a2222222222222222222222222222222222222222222222222222 222222222222222222222220 88fb8037ff9f008060e799e73fffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffbfef708888888888888888888888888888888888888888888888888888 888888888888888888888880 443b8037ff9f3f9ffc6799e73fffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffbfef7c4444444444444444444444444444444444444444444444444444 444444444444444444444440 117b8037ff9f188c4e6798c73fffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffff800f711111111111111111111111111111111111111111111111111111 111111111111111111111110 223bc077ff9f81c0c0679c0f1fffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffbfff7a2222222222222222222222222222222222222222222222222222 222222222222222222222220 88fbe0f7ff9fc3e1e0e79e1f9fffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffbfff708888888888888888888888888888888888888888888888888888 888888888888888888888880 443bfff7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffbfff7c4444444444444444444444444444444444444444444444444444 444444444444444444444440 117bfff7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffbfff711111111111111111111111111111111111111111111111111111 111111111111111111111110 22380007ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffff80007a2222222222222222222222222222222222222222222222222222 222222222222222222222220 88ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff fffffffffffffffffff08888888888888888888888888888888888888888888888888888 888888888888888888888880 443fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff fffffffffffffffffffc4444444444444444444444444444444444444444444444444444 444444444444444444444440 117fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff fffffffffffffffffff11111111111111111111111111111111111111111111111111111 111111111111111111111110 222aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaa2222222222222222222222222222222222222222222222222222 222222222222222222222220 88ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff fffffffffffffffffff08888888888888888888888888888888888888888888888888888 888888888888888888888880 443fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff fffffffffffffffffffc4444444444444444444444444444444444444444444444444444 444444444444444444444440 117f555555555555555555555555555555555fffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffff5555555555557ffaaaaaaaaaaaaa aaaabffaaaaaaaaaabf11111111111111111111111111111111111111111111111111111 111111111111111111111110 223eaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa9f0000000000000000000000000000000000 0000000000000000000000000000000000000000003eaaaaaaaaaaaabff5555555555555 55553ff55555555555fa2222222222222222222222222222222222222222222222222222 222222222222222222222220 88ff7fffffffffffffffffffffffffffffff9f0000000000000000000000000000000000 0000000000000000000000000000000000000000007f7fffffffffff3ffbffffffffffff ffff3ffbfffffffff9f08888888888888888888888888888888888888888888888888888 888888888888888888888880 443effffffffffffffffffffffffffffffff9f3fffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffbeffffffffffff3ff7ffffffffffff ffff3ff7fffffffff9fd5555555555555555555555555555555555555555555555555555 555555555555555555555540 117f7ffff0fffffffffffffffffe1e7c3fff9f3fffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffff7f7fffffffffff3ffbfffffff9ffff ffff3ffbfffff3fff9f7ffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffff90 223ee17ffcffffff3fff07fffffcfe7f3fff9f3ffffffffe3ffffffffe7e1ffe1fffffff ffffffffffffffffffffffffffffffffffffffffffbee17ff9ffffff3ff787ffe7f9ffff ffff3ff787fff3f3f9ffffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffff20 88ff4c7ffcffffff3fff9ffffffcffff3fff9f3fffffffff3ffffffff87cffff9fffffff ffffffffffffffffffffffffffffffffffffffffff7f4c7ff9ffffff3ffb33ffe7ffffff ffff3ffb33fffff3f9f7ffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffff80 443ece70fcfc3e1607ff9fe1e230387f3f0f9f3fffffffff3ffffffffe79ffff9fffffff ffffffffffffffffffffffffffffffffffffffffffbece70f031888f3ff67911c0e1f871 1e073ff67918c3e079ffffffffffffffffffffffffffffffffffffffffffffffffffffff fffffffffffffffff8000740 117f47e67cf99cc73fff9fcccc7cfe7f3e679f38183907ff231c08fffe793fff9f8788ff ffffffffffffffffffffffffffffffffffffffffff7f47e679f9cc673ffa798ce7f9f338 cce73ffa799cf3f3f9f7ffffffffffffffffffffffffffffffffffffffffffffffffffff fffffffffffffffffbdef790 223ee0cf3cf3c9e73fff9f9e4e7cfe7f3cf39f339f9c93ff199cc67ffe789fff9f3331ff ffffffffffffffffffffffffffffffffffffffffffbee0cf39f9cce73ff6799ce7f9e799 ccff3ff6799cf3f3f9ffffffffffffffffffffffffffffffffffffffffffffffffffffff fffffffffffffffffbdef720 88ff7c403cf009ff3fff9c9e4e7cfe7f3c039f33ff9c93ff399cce7ffe799fff9e7939ff ffffffffffffffffffffffffffffffffffffff7f7c4039f9cce73ffa799ce7f9e799ce0f 3ffa799cf3f3f9f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffff fffffffffffffffffbdef780 443ece4ffcf3f9ff3fff9c9e4e7cfe7f3cff9f38381c93ff39c9ce7ffe799fff9e7939ff ffffffffffffffffffffffffffffffffffffffffffbece4ff9f9cce73ff6799ce7f9e799 cfe73ff6799cf3f3f9ffffffffffffffffffffffffffffffffffffffffffffffffffffff fffffffffffffffffbdef740 117f46663cf98ce733ff9ccccc7cfe7f3e639f3f939c93ff39c9ce7ffe799fff9e7939ff ffffffffffffffffffffffffffffffffffffffffff7f466639998c673ffb338ce679f339 cce73ffb3398f3f339f7ffffffffffffffffffffffffffffffffffffffffffffffffffff fffffffffffffffff81ef790 223ed0f0703c1e0f87ff00e1e270381c0f079f33931c93ff39e3c679fe799f3f9f3331ff ffffffffffffffffffffffffffffffffffffffffffbed0f07c3c448f3ff78791f0e07870 840f3ff787c440f879ffffffffffffffffffffffffffffffffffffffffffffffffffffff fffffffffffffffffbfef720 88ff7ffffffffffffffffffffe7fffffffff9f30388893fe10e3c8f9f81c3f3e078789ff ffffffffffffffffffffffffffffffffffffffffff7f7ffffffffcff3ffbff9fffffffff ffff3ffbcdfffffff9f7ffffffffffffffffffffffffffffffffffffffffffffffffffff fffffffffffffffffbfef780 443efffffffffffffffffffffe7fffffffff9f3fffffffffffe7cffffffffffffffff9ff ffffffffffffffffffffffffffffffffffffffffffbefffffffffcff3ff7ff9fffffffff ffff3ff723fffffff9ffffffffffffffffffffffffffffffffffffffffffffffffffffff fffffffffffffffffbfef740 117f7fffffffffffffffffffe0ffffffffff9f3ffffffc01ffe7cffffffffffffffff9ff ffffffffffffffffffffffffffffffffffffffffff7f7ffffffff87f3ffbff0fffffffff ffff3ffbfffffffff9f7ffffffffffffffffffffffffffffffffffffffffffffffffffff fffffffffffffffffbfef790 223effffffffffffffffffffffffffffffff9f3fffffffffff8387ffffffffffffff83ff ffffffffffffffffffffffffffffffffffffffffffbeffffffffffff3ff7ffffffffffff ffff3ff7fffffffff9ffffffffffffffffffffffffffffffffffffffffffffffffffffff fffffffffffffffff800f720 88ff7fffffffffffffffffffffffffffffff9f3fffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffff7f7fffffffffff3ffbffffffffffff ffff3ffbfffffffff9f7ffffffffffffffffffffffffffffffffffffffffffffffffffff fffffffffffffffffbfff780 443effffffffffffffffffffffffffffffff9f3fffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffbeffffffffffff3ff7ffffffffffff ffff3ff7fffffffff9ffffffffffffffffffffffffffffffffffffffffffffffffffffff fffffffffffffffffbfff740 117f7fffffffffffffffffffffffffffffff9f1555555555555555555555555555555555 5555555555555555555555555555555555555555557f7fffffffffff3ffbffffffffffff ffff3ffbfffffffff9f7ffffffffffffffffffffffffffffffffffffffffffffffffffff fffffffffffffffffbfff790 223e800000000000000000000000000000001f2aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabe8000000000003ff4000000000000 00003ff40000000001ffffffffffffffffffffffffffffffffffffffffffffffffffffff fffffffffffffffffbfff720 88ff000000000000000000000000000000001fffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffff0000000000003ff8000000000000 00003ff80000000001f7ffffffffffffffffffffffffffffffffffffffffffffffffffff fffffffffffffffff8000780 443fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffff40 117fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff fffffffffffffffffff7ffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffff90 223fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffff20 88d555555555555555555555555555555555555555555555555555555555555555555555 555555555555555555555555555555555555555555555555555555555555555555555555 55555555555555555552aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaa80 44444444444444444444444444444444444444444444445aaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaa40 111111111111111111111111111111111111111111111105555555555555555555555555 555555555555555555555555555555555555555555555555555555555555555555555555 555555555555555555555555555555555555555555555555555555555555555555555555 555555555555555555555490 22222222222222222222222222222222222222222222223bffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff fffffffffffffffffffffc20 888888888888888888888888888888888888888888888887ffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff fffffffffffffffffffffc80 44444444444444444444444444444444444444444444445bffffffffffffffffffffffff ffffffffffffffffd555557ffaaaaaaaabfffffffffffffffffffffffffffffffffffffa aaaaafff555555557ffffffeaaaaaaaaaaaabffffffffffffaaaaaaaaaaaaaffffffffff ffeaaaaaaaaaaaaffffffc40 111111111111111111111111111111111111111111111107ffffffffffffffffffffffff ffffffffffffffffaaaaaabff555555553fffffffffffffffffffffffffffffffffffff5 555557feaaaaaaaa7ffffffd5555555555553ffffffffffff5555555555554ffffffffff ffd5555555555557fffffc90 22222222222222222222222222222222222222222222223bffffffffffffffffffffffff ffffffffffffffffdfffff3ffbfffffff3fffffffffffffffffffffffffffffffffffffb ffffe7ff7ffffffe7ffffffeffffffffffff3ffffffffffffbfffffffffffcffffffffff ffefffffffffffe7fffffc20 888888888888888888888888888888888888888888888887ffffffffffffffffffffffff ffffffffffffffffbfffff3ff7fffffff3fffffffffffffffffffffffffffffffffffff7 ffffe7fefffffffe7ffffffdffffffffffff3ffffffffffff7fffffffffffcffffffffff ffdfffffffffffe7fffffc80 44444444444444444444444444444444444444444444445bffffffffffffffffffffffff ffffffffffffffffdfffff3ffbfffffff3fffffffffffffffffffffffffffffffffffffb ffffe7ff7ffffffe7ffffffefffffcffffff3ffffffffffffbfffffffffffcffffffffff ffeffc3fffffffe7fffffc40 111111111111111111111111111111111111111111111107fffffffff9ffffffffffff87 ffffffffffffffffb03fff3ff787ffe7f3ffffffffffffe7fffff0fffffffffffffffff6 07ffe7fef0fffcfe7ffffffd80fffcfffe7f3ffffffffffff603fffffff9fcffffffffff ffde2f3fffffffe7fffffc90 22222222222222222222222222222222222222222222223bfe10fffff9ffffffff3fffe7 ffe03fffffffffffdcffff3ffb33ffe7f3fff087ffff9fe7fffffcfffc07fffffffffffb 9fffe7ff667ffcfe7ffffffece7ffffffe7f3ffffffffffffb39fffffff9fcffffffffff ffeccf3fffffffe7fffffc20 888888888888888888888888888888888888888888888887ff39ffffffffffffff3fffe7 ffe73fffffffffffbcf11f3ff67918c0f3fff9cfffff9ffffffffcfffce7fffffffffff7 9e23e7fecf23181e7ffffffdce6230f11c0f3ffffffffffff739c3e070f03cffffffffff ffd9cf3f0f81c3e7fffffc80 44444444444444444444444444444444444444444444445bff39c3c461f03c388e0707e7 ffe6787c39079fffdcf8cf3ffa799ce7f3fff9ce1e230387e160fcfffccf0f8720f3fffb 9f19e7ff4f339cfe7ffffffece71fcf8ce7f3ffffffffffffb3999ce6679fcffffffffff ffe9ff3e673999e7fffffc40 111111111111111111111111111111111111111111111107ff3999e3f9f7399c673ff3e7 fffcf3399c939fffbcf9cf3ff6799ce7f3fff9cccf1f9fe7cc7e7cffff9e67339273fff7 9f39e7fecf339cfe7ffffffdccf3fcf9ce7f3ffffffffffff7333ccfcf39fcffffffffff ffd9ff3cf33f3ce7fffffc90 22222222222222222222222222222222222222222222223bff013ce7f9fe73cce73ff3e7 fffce793cc93ffffdcf9cf3ffa799ce7f3fffc99e73f9fe79e7e7cffff9cf279927ffffb 9f39e7ff4f339cfe7ffffffec1f3fcf9ce7f3ffffffffffffb0700e0c039fcffffffffff ffe9ff3cf38300e7fffffc20 888888888888888888888888888888888888888888888887ff393ce7f9fcf3cce73f03e7 fff9e793cc93ffffbcf9cf3ff6799ce7f3fffc98073f9fe79fe07cffff3cf279927ffff7 9f39e7fecf339cfe7ffffffdcff3fcf9ce7f3ffffffffffff7333ffe4ff9fcffffffffff ffd9ff3cf3f93fe7fffffc80 44444444444444444444444444444444444444444444445bff393ce7f9f9f3cce73e73e7 fff32793cc93ffffdcf9cf3ffb3398e673fffc99ff3f9fe79fce7cfffe64f279927ffffb 9f39e7ff66731cce7ffffffecff3fcf9ce673ffffffffffffb3998ce66399cffffffffff ffeccf3e673998e7fffffc40 111111111111111111111111111111111111111111111107ff3999e7f9f3b99ce73263e7 ffe733399c939fffb030873ff787c470f3fffe3cc73f99e7ce4c7cfffce667339273fff6 0610e7fef0f88e1e7ffffffd83e07030870f3ffffffffffff618c1c0f07c3cffffffffff ffde1c0f0f03c1e7fffffc90 22222222222222222222222222222222222222222222223bfe10c3c0e0703c3843871181 ffe0387c38939fffdfffff3ffbfffffff3fffe3e0e07c381e0e2303ffc070f871273fffb ffffe7ff7ffffffe7ffffffeffffffffffff3ffffffffffffbfffffffffffcffffffffff ffefffffffffffe7fffffc20 888888888888888888888888888888888888888888888887ffffffffffffffffffffffff ffffffffffffffffbfffff3ff7fffffff3fffffffffffffffffffffffffffffffffffff7 ffffe7fefffffffe7ffffffdffffffffffff3ffffffffffff7fffffffffffcffffffffff ffdfffffffffffe7fffffc80 44444444444444444444444444444444444444444444445bffffffffffffffffffffffff ffffffffffffffffdfffff3ffbfffffff3fffffffffffffffffffffffffffffffffffffb ffffe7ff7ffffffe7ffffffeffffffffffff3ffffffffffffbfffffffffffcffffffffff ffefffffffffffe7fffffc40 111111111111111111111111111111111111111111111107ffffffffffffffffffffffff ffffffffffffffffbfffff3ff7fffffff3fffffffffffffffffffffffffffffffffffff7 ffffe7fefffffffe7ffffffdffffffffffff3ffffffffffff7fffffffffffcffffffffff ffdfffffffffffe7fffffc90 22222222222222222222222222222222222222222222223bffffffffffffffffffffffff ffffffffffffffffdfffff3ffbfffffff3fffffffffffffffffffffffffffffffffffffb ffffe7ff7ffffffe7ffffffeffffffffffff3ffffffffffffbfffffffffffcffffffffff ffefffffffffffe7fffffc20 888888888888888888888888888888888888888888888887ffffffffffffffffffffffff ffffffffffffffffbfffff3ff7fffffff3fffffffffffffffffffffffffffffffffffff7 ffffe7fefffffffe7ffffffdffffffffffff3ffffffffffff7fffffffffffcffffffffff ffdfffffffffffe7fffffc80 44444444444444444444444444444444444444444444445bffffffffffffffffffffffff ffffffffffffffffdfffff3ffbfffffff3fffffffffffffffffffffffffffffffffffffb ffffe7ff7ffffffe7ffffffeffffffffffff3ffffffffffffbfffffffffffcffffffffff ffefffffffffffe7fffffc40 111111111111111111111111111111111111111111111107ffffffffffffffffffffffff ffffffffffffffffa000003ff400000003fffffffffffffffffffffffffffffffffffff4 000007fe800000007ffffffd0000000000003ffffffffffff4000000000000ffffffffff ffd0000000000007fffffc90 22222222222222222222222222222222222222222222223bffffffffffffffffffffffff ffffffffffffffffc000003ff800000003fffffffffffffffffffffffffffffffffffff8 000007ff000000007ffffffe0000000000003ffffffffffff8000000000000ffffffffff ffe0000000000007fffffc20 888888888888888888888888888888888888888888888887ffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff fffffffffffffffffffffc80 44444444444444444444444444444444444444444444445bffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff fffffffffffffffffffffc40 111111111111111111111111111111111111111111111107ffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff fffffffffffffffffffffc90 222222222222222222222222222222222222222222222238000000000000000000000000 000000000000000000000000000000000000000000000000000000000000000000000000 000000000000000000000000000000000000000000000000000000000000000000000000 000000000000000000000020 888888888888888888888888888888888888888888888880000000000000000000000000 000000000000000000000000000000000000000000000000000000000000000000000000 000000000000000000000000000000000000000000000000000000000000000000000000 000000000000000000000080 44444444444444444444444444444444444444444444445fffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffff40 11111111111111111111111111111111111111111111110fffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffff90 22222222222222222222222222222222222222222222223fffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffff20 88888888888888888888888888888888888888888888888fffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffff80 44444444444444444444444444444444444444444444445fffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffff40 11111111111111111111111111111111111111111111110fffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffff90 22222222222222222222222222222222222222222222223fffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffff20 88888888888888888888888888888888888888888888888fe00000000000ffffffffe7ff fffffffff800000000003ffffffff9fffe7fffffff000000000007ffffffff3fffcfffff fffffffffffffffffffffffffffffffffffffe00000000000ffffffffe7ffffe7fffffff ffffffffffffffffffffff80 44444444444444444444444444444444444444444444445fe55555555554fff3ffffe7ff fffffffffb77777777773ffcfffff9fffe7fffffff70f0f0f0f0f7ff9fffff3fffcfffff fffff800000000003ffffffff9fffffffffffe00000000000fff3ffffe7ffffe7fffffff ffffffffffffffffffffff40 11111111111111111111111111111111111111111111110feaaaaaaaaaaafff3ffffe7ff fffffffffbffffffffffbffcfffff9fffe7fffffff76f6f6f6f6f7ff9fffff3fffcfffff fffffbbbbbbbbbbbbffcfffff9fffffffffffe00000000000fff3ffffe7ffffe7fffffff ffffffffffffffffffffff90 22222222222222222222222222222222222222222222223fe55555555554ffe1c1e0e71f fc1ffffff9ddddddddddbff8707839c7fe47ffffff76f6f6f6f6f7ff0e0f0738ffc8f23f fffffaeeeeeeeeeebffcfffff9fffffffffffe33333333332ffe1c1e0e71ffe07fffffff ffffffffffffffffffffff20 88888888888888888888888888888888888888888888888feaaaaaaaaaaaffe180c0663f f80ffffffbffffffffffbff86030198ffe03ffffff70f0f0f0f0f7ff0c060331ffc0701f fffffbbbbbbbbbbbbff8707839c7ff87fffffe33333333332ffe180c0663ffc07fffffff ffffffffffffffffffffff80 44444444444444444444444444444444444444444444445fe55555555554fff39cce647f f9cffffffb77777777773ffce733991ffe31ffffff0f0f0f0f0f07ff9ce67323ffc6318f fffffaeeeeeeeeeebff86030198fff03fffffe00000000000fff39cce647ff8c7fffffff ffffffffffffffffffffff40 11111111111111111111111111111111111111111111110feaaaaaaaaaaafff3f8c3e0ff ff8ffffffbffffffffffbffcfe30f83ffe79ffffff6f6f6f6f6f67ff9fc61f07ffcf33cf fffffbbbbbbbbbbbbffce733991ffe31fffffe00000000000fff3f8c3e0fff9e7fffffff ffffffffffffffffffffff90 22222222222222222222222222222222222222222222223fe55555555554fff3c0e0e07f fc0ffffff9ddddddddddbffcf038381ffe79ffffff6f6f6f6f6f67ff9e070703ffcf33cf fffffaeeeeeeeeeebffcfe30f83ffe7ffffffe33333333332fff3c0e0e07ff9e7fffffff ffffffffffffffffffffff20 88888888888888888888888888888888888888888888888feaaaaaaaaaaafff38cfc627f f8cffffffbffffffffffbffce33f189ffe79ffffff0f0f0f0f0f07ff9c67e313ffcf33cf fffffbbbbbbbbbbbbffcf038381ffe7ffffffe33333333332fff38cfc627ff9e7fffffff ffffffffffffffffffffff80 44444444444444444444444444444444444444444444445fe55555555554fff39cce663f f9cffffffb77777777773ffce733998ffe31ffffff70f0f0f0f0f7ff9ce67331ffc6318f fffffaeeeeeeeeeebffce33f189ffe7ffffffe00000000000fff39cce663ff8c7fffffff ffffffffffffffffffffff40 11111111111111111111111111111111111111111111110feaaaaaaaaaaafff180c0673f f80ffffffbffffffffffbffc603019cffe03ffffff76f6f6f6f6f7ff8c060339ffc0701f fffffbbbbbbbbbbbbffce733998ffe31fffffe00000000000fff180c0673ffc07fffffff ffffffffffffffffffffff90 22222222222222222222222222222222222222222222223fe55555555554fff9c460e71f fc47fffff9ddddddddddbffe711839c7fe47ffffff76f6f6f6f6f7ffce230738ffc8f23f fffffaeeeeeeeeeebffc603019cfff03fffffe33333333332fff9c460e71ffe27fffffff ffffffffffffffffffffff20 88888888888888888888888888888888888888888888888feaaaaaaaaaaaffffffffffff fffffffffbffffffffffbfffffffffffffffffffff70f0f0f0f0f7fffffffffffffff3ff fffffbbbbbbbbbbbbffe711839c7ff87fffffe33333333332fffffffffffffffffffffff ffffffffffffffffffffff80 44444444444444444444444444444444444444444444445fe55555555554ffffffffffff fffffffffb77777777773fffffffffffffffffffff0f0f0f0f0f07fffffffffffffff3ff fffffaeeeeeeeeeebffffffffffffffffffffe00000000000fffffffffffffffffffffff ffffffffffffffffffffff40 11111111111111111111111111111111111111111111110fe00000000000ffffffffffe0 0ffffffff800000000003ffffffffff803ffffffff000000000007ffffffffff007ff3ff fffffbbbbbbbbbbbbffffffffffffffffffffe00000000000ffffffffffe00ffffffffff ffffffffffffffffffffff90 22222222222222222222222222222222222222222222223fffffffffffffffffffffffff fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff3ff fffff800000000003ffffffffff803ffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffff20 88888888888888888888888888888888888888888888888fffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffff80 44444444444444444444444444444444444444444444445fffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffff40 11111111111111111111111111111111111111111111110fffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffff90 22222222222222222222222222222222222222222222223fffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffff20 88888888888888888888888888888888888888888888888fffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffff80 44444444444444444444444444444444444444444444445fffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffff40 11111111111111111111111111111111111111111111110fffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffff90 22222222222222222222222222222222222222222222223fffffffffff80000000000000 000000000000000000000000000000000000000000000000000000000000000000000000 000000000000000000000000000000000000000000000000000000000000000000000000 000000000000000000000020 88888888888888888888888888888888888888888888888fffffffffff80000000000000 000000000000000000000000000000000000000000000000000000000000000000000000 000000000000000000000000000000000000000000000000000000000000000000000000 000000000000000008000080 44444444444444444444444444444444444444444444445fffffffffff9fffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff fffffffffffffffff1fffd40 11111111111111111111111111111111111111111111110fffffffffff9fffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffe9fffe90 22222222222222222222222222222222222222222222223fffffffffff9fffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff fffffffffffffffff1fbfd20 88888888888888888888888888888888888888888888888fffffffffff9fffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffe9f7fe80 44444444444444444444444444444444444444444444445fffffffe1ff80000000000000 000000000000000000000000000000000000000000000000000000000000000000000000 00000000000000000000000000000000000000000000000000000000000000000001ffff fffffffffffffffff1f9fd40 11111111111111111111111111111111111111111111110fffffffc0ff85555555555555 45555555555554555555555554555555555555555555445555555555555555553e155555 5555555555555515555555555555555555555555455555555555555555555547fffdffff ffffffffffffffffe9f0fe90 22222222222222222222222222222222222222222222223fffffff8c7f8aaaaaaaaaaaaa 82aaaaaaaaaaaa2aaaaaaaaaaa2aaaaaaaaaaaaaaaaaa0aaaaaaaaaaaaaaaaaa3a2aaaaa aaaaaaaaaaaaaa8aaaaaaaaaaaaaaaaaaaaaaaaa8aaaaaaaaaaaaaaaaaaaaaa3bbb9ffff fffffffffffffffff1e8fd20 88888888888888888888888888888888888888888888888fffffff9e7f85555555555555 45555555555554555555555554555555555555555555445555555555555555553e155555 5555555555555515555555555555555555555555455555555555555555555547fffdffff ffffffffffffffffe9d07e80 44444444444444444444444444444444444444444444445fffffff9e7f8aaaaaaaaaaaaa 82aaaaaaaaaaaa2aaaaaaaaaaa2aaaaaaaaaaaaaaaaaa4aaaaaaaaaaaaaaaaaa2e2aaaaa aaaaaaaaaaaaaa8aaaaaaaaaaaaaaaaaaaaaaaaa8aaaaaaaaaaaaaaaaaaaaaa6eeedffff fffffffffffffffff1a03d40 11111111111111111111111111111111111111111111110fffffff9e7f85555555555555 45555555555554555555555554555555555555555555445555555555555555553e155555 5555555555555515555555555555555555555555455555555555555555555547fffdffff ffffffffffffffffe9c03e90 22222222222222222222222222222222222222222222223fffffff9e7f8aaaaaaaaaaaaa 82aaaaaaaaaaaa2aaaaaaaaaaa2aaaaaaaaaaaaaaaaaa0aaaaaaaaaaaaaaaaaa3a2aaaaa aaaaaaaaaaaaaa8aaaaaaaaaaaaaaaaaaaaaaaaa8aaaaaaaaaaaaaaaaaaaaaa3bbb9ffff fffffffffffffffff1801d20 88888888888888888888888888888888888888888888888fffffff9e7f85555555555555 45555555555554555555555554555555555555555555445555555555555555553e155555 5555555555555515555555555555555555555555455555555555555555555547fffc0000 0000000000000000097ffe80 44444444444444444444444444444444444444444444445fffffff9e7f8aaaaaaaaaaaaa 82aaaaaaaaaaaa2aaaaaaaaaaa2aaaaaaaaaaaaaaaaaa4aaaaaaaaaaaaaaaaaa2e2aaaaa aaaaaaaaaaaaaa8aaaaaaaaaaaaaaaaaaaaaaaaa8aaaaaaaaaaaaaaaaaaaaaa6eeedffff fffffffffffffffff0fffd40 11111111111111111111111111111111111111111111110fffffff8c7f85555555555555 45555555555554555555555554555555555555555555445555555555555555553e155555 5555555555555515555555555555555555555555455555555555555555555547fffdffff ffffffffffffffffe9555690 22222222222222222222222222222222222222222222223fffffffc0ff8aaaaaaaaaaaaa 82aaaaaaaaaaaa2aaaaaaaaaaa2aaaaaaaaaaaaaaaaaa0aaaaaaaaaaaaaaaaaa3a2aaaaa aaaaaaaaaaaaaa8aaaaaaaaaaaaaaaaaaaaaaaaa8aaaaaaaaaaaaaaaaaaaaaa3bbb9ffff fffffffffffffffff1aaad20 88888888888888888888888888888888888888888888888fffffffe1ff80000000000000 000000000000000000000000000000000000000000000000000000000000000000000000 00000000000000000000000000000000000000000000000000000000000000000001ffff ffffffffffffffffe9401e80 44444444444444444444444444444444444444444444445fffffffffff9fffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff fffffffffffffffff1801d40 11111111111111111111111111111111111111111111110fffffffffff9fffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffe9401e90 22222222222222222222222222222222222222222222223fffffffffff9fffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff fffffffffffffffff1801d20 88888888888888888888888888888888888888888888888fffffffffff9fffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffe9401e80 44444444444444444444444444444444444444444444445fffffffffff9fffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff fffffffffffff1801d4f1110 ffff1111111111111111111111111111111111111111110fffffffffff9fffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffe9401e90 22222222222222222222222222222222222222222222223fffffffffff9fffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff fffffffffffffffff1801d20 88888888888888888888888888888888888888888888888fffffffffff9fffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffe9401e80 44444444444444444444444444444444444444444444445fffffffffff9fffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff fffffffffffffffff1801d40 11111111111111111111111111111111111111111111110fffffffffff9fffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffe9401e90 22222222222222222222222222222222222222222222223fffffffffff9fffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff fffffffffffffffff1801d20 88888888888888888888888888888888888888888888888fffffffffff9fffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffe9401e80 44444444444444444444444444444444444444444444445fffffffffff9fffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff fffffffffffffffff1801d40 11111111111111111111111111111111111111111111110ffffffffdff9c000000000000 000000000000000000000000000000000000000000000000000000000000000000000000 000000000000000000000000000000000000000000000000000000000000000000000000 000000000000000009401e90 22222222222222222222222222222222222222222222223ffffffff9ff9caaaaaaaaaaaa 2aaaaaaaaaa2aaaaaaaaaaaaa0aaaaaaaaaaaaaaaaaa2aaaaaaaaaaaaaaaaa8aaaaaaaaa aaaaaaaaaaa2aaaaaaaaaaaaaa8aaaaaaaaaaaaaaaaaaaaaaaaaaaaa2aaaaaaaaaaaaaaa aaaaaaaaaaaaaaaab1801d20 88888888888888888888888888888888888888888888888fffffffc1ff9d555555555554 555555555551555555555555515555555555555555551555555555555555554555555555 555555555551555555555555551555555555555555555555555555551555555555555555 555555555555555549401e80 44444444444444444444444444444444444444444444445fffffffc1ff9caaaaaaaaaaaa 2aaaaaaaaaa2aaaaaaaaaaaaa0aaaaaaaaaaaaaaaaaa2aaaaaaaaaaaaaaaaa8aaaaaaaaa aaaaaaaaaaa2aaaaaaaaaaaaaa8aaaaaaaaaaaaaaaaaaaaaaaaaaaaa2aaaaaaaaaaaaaaa aaaaaaaaaaaaaaaab1801d40 11111111111111111111111111111111111111111111110ffffffff9ff9d555555555554 555555555551555555555555515555555555555555551555555555555555554555555555 555555555551555555555555551555555555555555555555555555551555555555555555 555555555555555549401e90 22222222222222222222222222222222222222222222223ffffffff9ff9caaaaaaaaaaaa 2aaaaaaaaaa2aaaaaaaaaaaaa0aaaaaaaaaaaaaaaaaa2aaaaaaaaaaaaaaaaa8aaaaaaaaa aaaaaaaaaaa2aaaaaaaaaaaaaa8aaaaaaaaaaaaaaaaaaaaaaaaaaaaa2aaaaaaaaaaaaaaa aaaaaaaaaaaaaaaab1801d20 88888888888888888888888888888888888888888888888ffffffff9ff9d555555555554 555555555551555555555555515555555555555555551555555555555555554555555555 555555555551555555555555551555555555555555555555555555551555555555555555 555555555555555549401e80 44444444444444444444444444444444444444444444445ffffffff9ff80aaaaaaaaaaaa 2aaaaaaaaaa2aaaaaaaaaaaaa0aaaaaaaaaaaaaaaaaa2aaaaaaaaaaaaaaaaa8aaaaaaaaa aaaaaaaaaaa2aaaaaaaaaaaaaa8aaaaaaaaaaaaaaaaaaaaaaaaaaaaa2aaaaaaaaaaaaaaa aaaaaaaaaaaaaaaab1801d40 11111111111111111111111111111111111111111111110ffffffff9ff9d555555555554 555555555551555555555555515555555555555555551555555555555555554555555555 555555555551555555555555551555555555555555555555555555551555555555555555 555555555555555549401e90 22222222222222222222222222222222222222222222223ffffffff9ff9caaaaaaaaaaaa 2aaaaaaaaaa2aaaaaaaaaaaaa0aaaaaaaaaaaaaaaaaa2aaaaaaaaaaaaaaaaa8aaaaaaaaa aaaaaaaaaaa2aaaaaaaaaaaaaa8aaaaaaaaaaaaaaaaaaaaaaaaaaaaa2aaaaaaaaaaaaaaa aaaaaaaaaaaaaaaab1801d20 88888888888888888888888888888888888888888888888ffffffff9ff9d555555555554 555555555551555555555555515555555555555555551555555555555555554555555555 555555555551555555555555551555555555555555555555555555551555555555555555 555555555555555549401e80 44444444444444444444444444444444444444444444445ffffffff9ff9c000000000000 000000000000000000000000000000000000000000000000000000000000000000000000 000000000000000000000000000000000000000000000000000000000000000000000000 000000000000000011801d40 11111111111111111111111111111111111111111111110fffffffffff9fffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffe9401e90 22222222222222222222222222222222222222222222223fffffffffff9fffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff fffffffffffffffff1801d20 88888888888888888888888888888888888888888888888fffffffffff9fffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffe9401e80 44444444444444444444444444444444444444444444445fffffffffff9fffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff fffffffffffffffff1801d40 11111111111111111111111111111111111111111111110fffffffffff9fffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffe9401e90 22222222222222222222222222222222222222222222223fffffffffff9fffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff fffffffffffffffff1801d20 88888888888888888888888888888888888888888888888fffffffffff9fffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffe9401e80 44444444444444444444444444444444444444444444445fffffffffff9fffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff fffffffffffffffff1801d40 11111111111111111111111111111111111111111111110fffffffffff9fffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffe9401e90 22222222222222222222222222222222222222222222223fffffffffff9fffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff fffffffffffffffff1801d20 88888888888888888888888888888888888888888888888fffffffffff9fffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffe9401e80 44444444444444444444444444444444444444444444445fffffffffff9fffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff fffffffffffffffff1801d40 11111111111111111111111111111111111111111111110fffffffffff9fffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffe9401e90 22222222222222222222222222222222222222222222223fffffffe1ff9fffffcf000000 000000000000000000000000000000000020000000000000000000000000000000000000 000000000000000000002000000000000000000000000000000000000000000000000000 0000007ffffffffff1801d20 88888888888888888888888888888888888888888888888fffffffc0ff9fffffcf555555 5555555455555555555551555555555555255555555555555547f1555555555555555554 555555555555555555542555555555555555515555555555555555545555555555555555 5555557fffffffffe9401e80 44444444444444444444444444444444444444444444445fffffff8c7f9fffffcf2aaaaa aaaaaaa8aaaaaaaaaaaaa8aaaaaaaaaaaaaaaaaaaaaaaaaaaaa6e0aaaaaaaaaaaaaaaaaa 2aaaaaaaaaaaaaaaaaaa2aaaaaaaaaaaaaaaa8aaaaaaaaaaaaaaaaaa2aaaaaaaaaaaaaaa aaaaaa7ffffffffff1801d40 11111111111111111111111111111111111111111111110fffffff9e7f9fffffcf555555 5555555455555555555551555555555555255555555555555547f1555555555555555554 555555555555555555542555555555555555515555555555555555545555555555555555 5555557fffffffffe9401e90 22222222222222222222222222222222222222222222223fffffff9e7f9fffffcf2aaaaa aaaaaaa8aaaaaaaaaaaaa8aaaaaaaaaaaaaaaaaaaaaaaaaaaaa3b0aaaaaaaaaaaaaaaaaa 2aaaaaaaaaaaaaaaaaaa2aaaaaaaaaaaaaaaa8aaaaaaaaaaaaaaaaaa2aaaaaaaaaaaaaaa aaaaaa7ffffffffff1801d20 88888888888888888888888888888888888888888888888ffffffffc7f9fffffcf555555 5555555455555555555551555555555555255555555555555547f1555555555555555554 555555555555555555542555555555555555515555555555555555545555555555555555 5555557fffffffffe9401e80 44444444444444444444444444444444444444444444445ffffffff8ff9fffffcf2aaaaa aaaaaaa8aaaaaaaaaaaaa8aaaaaaaaaaaaaaaaaaaaaaaaaaaaa6e0aaaaaaaaaaaaaaaaaa 2aaaaaaaaaaaaaaaaaaa2aaaaaaaaaaaaaaaa8aaaaaaaaaaaaaaaaaa2aaaaaaaaaaaaaaa aaaaaa7ffffffffff1801d40 11111111111111111111111111111111111111111111110ffffffff1ff80000000555555 5555555455555555555551555555555555055555555555555547f1555555555555555554 555555555555555555540555555555555555515555555555555555545555555555555555 555555000000000009401e90 22222222222222222222222222222222222222222222223fffffffe3ff9fffffcf2aaaaa aaaaaaa8aaaaaaaaaaaaa8aaaaaaaaaaaaaaaaaaaaaaaaaaaaa3b0aaaaaaaaaaaaaaaaaa 2aaaaaaaaaaaaaaaaaaa2aaaaaaaaaaaaaaaa8aaaaaaaaaaaaaaaaaa2aaaaaaaaaaaaaaa aaaaaa7ffffffffff1801d20 88888888888888888888888888888888888888888888888fffffffc7ff9fffffcf555555 5555555455555555555551555555555555255555555555555547f1555555555555555554 555555555555555555542555555555555555515555555555555555545555555555555555 5555557fffffffffe9401e80 44444444444444444444444444444444444444444444445fffffff807f9fffffcf2aaaaa aaaaaaa8aaaaaaaaaaaaa8aaaaaaaaaaaaaaaaaaaaaaaaaaaaa6e0aaaaaaaaaaaaaaaaaa 2aaaaaaaaaaaaaaaaaaa2aaaaaaaaaaaaaaaa8aaaaaaaaaaaaaaaaaa2aaaaaaaaaaaaaaa aaaaaa7ffffffffff1801d40 11111111111111111111111111111111111111111111110fffffff807f9fffffcf000000 000000000000000000000000000000000020000000000000000000000000000000000000 000000000000000000002000000000000000000000000000000000000000000000000000 0000007fffffffffe9401e90 22222222222222222222222222222222222222222222223fffffffffff9fffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff fffffffffffffffff1801d20 88888888888888888888888888888888888888888888888fffffffffff9fffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffe9401e80 44444444444444444444444444444444444444444444445fffffffffff9fffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff fffffffffffffffff1801d40 11111111111111111111111111111111111111111111110fffffffffff9fffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffe9401e90 22222222222222222222222222222222222222222222223fffffffffff9fffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff fffffffffffffffff1801d20 88888888888888888888888888888888888888888888888fffffffffff9fffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffe9401e80 44444444444444444444444444444444444444444444445fffffffffff9fffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff fffffffffffffffff1801d40 11111111111111111111111111111111111111111111110fffffffffff9fffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffe9401e90 22222222222222222222222222222222222222222222223fffffffffff9fffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff fffffffffffffffff1801d20 88888888888888888888888888888888888888888888888fffffffffff9fffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffe9401e80 44444444444444444444444444444444444444444444445fffffffffff9fffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff fffffffffffffffff1801d40 11111111111111111111111111111111111111111111110fffffffffff9fffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffe9401e90 22222222222222222222222222222222222222222222223fffffffffff9fffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff fffffffffffffffff1801d20 88888888888888888888888888888888888888888888888fffffffe1ff9fffffe0000000 000000000000000000000000000000000000000000000000000000000000000000000000 000000000000000000000000000000000000000000000000000000000020000000000000 0000000000003fffe9401e80 44444444444444444444444444444444444444444444445fffffffc0ff9fffffeaaaaaaa aaa82aaaaaaaaaaaaaa80aaaaaaaaaaaaa0aaaaaaaaaaaaa6e2aaaaaaaaaaaaaaaa88aaa aaaaaaaaaaaaaaaa2aaaaaaaaaaaaaaaaaa2aaaaaaaaaaaaaaaaaaaaa6a2aaaaaaaaaaaa aaaaaaaaaaaabffff1801d40 11111111111111111111111111111111111111111111110fffffff8c7f9fffffe5555555 5550555555555555555015555555555555055555555555547e5555555555555555548555 5555555555555554555555555555555555515555555555555555555547a5555555555555 5555555555553fffe9401e90 22222222222222222222222222222222222222222222223fffffff9e7f9fffffeaaaaaaa aaa82aaaaaaaaaaaaaa80aaaaaaaaaaaaa0aaaaaaaaaaaaa3a2aaaaaaaaaaaaaaaa88aaa aaaaaaaaaaaaaaaa2aaaaaaaaaaaaaaaaaa2aaaaaaaaaaaaaaaaaaaaa3a2aaaaaaaaaaaa aaaaaaaaaaaabffff1801d20 88888888888888888888888888888888888888888888888ffffffffc7f9fffffe5555555 5550555555555555555015555555555555055555555555547e5555555555555555548555 5555555555555554555555555555555555515555555555555555555547a5555555555555 5555555555553fffe9401e80 44444444444444444444444444444444444444444444445ffffffff0ff9fffffeaaaaaaa aaa82aaaaaaaaaaaaaa80aaaaaaaaaaaaa0aaaaaaaaaaaaa6e2aaaaaaaaaaaaaaaa88aaa aaaaaaaaaaaaaaaa2aaaaaaaaaaaaaaaaaa2aaaaaaaaaaaaaaaaaaaaa6a2aaaaaaaaaaaa aaaaaaaaaaaabffff1801d40 11111111111111111111111111111111111111111111110ffffffff0ff9fffffe5555555 5550555555555555555015555555555555055555555555547e5555555555555555548555 5555555555555554555555555555555555515555555555555555555547a5555555555555 5555555555553fffe9401e90 22222222222222222222222222222222222222222222223ffffffffc7f8000000aaaaaaa aaa82aaaaaaaaaaaaaa80aaaaaaaaaaaaa0aaaaaaaaaaaaa3a2aaaaaaaaaaaaaaaa88aaa aaaaaaaaaaaaaaaa2aaaaaaaaaaaaaaaaaa2aaaaaaaaaaaaaaaaaaaaa382aaaaaaaaaaaa aaaaaaaaaaaa800011801d20 88888888888888888888888888888888888888888888888fffffff9e7f9fffffe5555555 5550555555555555555015555555555555055555555555547e5555555555555555548555 5555555555555554555555555555555555515555555555555555555547a5555555555555 5555555555553fffe9401e80 44444444444444444444444444444444444444444444445fffffff8c7f9fffffeaaaaaaa aaa82aaaaaaaaaaaaaa80aaaaaaaaaaaaa0aaaaaaaaaaaaa6e2aaaaaaaaaaaaaaaa88aaa aaaaaaaaaaaaaaaa2aaaaaaaaaaaaaaaaaa2aaaaaaaaaaaaaaaaaaaaa6a2aaaaaaaaaaaa aaaaaaaaaaaabffff1801d40 11111111111111111111111111111111111111111111110fffffffc0ff9fffffe5555555 5550555555555555555015555555555555055555555555547e5555555555555555548555 5555555555555554555555555555555555515555555555555555555547a5555555555555 5555555555553fffe9401e90 22222222222222222222222222222222222222222222223fffffffe1ff9fffffe0000000 000000000000000000000000000000000000000000000000000000000000000000000000 000000000000000000000000000000000000000000000000000000000020000000000000 0000000000003ffff1801d20 88888888888888888888888888888888888888888888888fffffffffff9fffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffe9401e80 44444444444444444444444444444444444444444444445fffffffffff9fffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff fffffffffffffffff1801d40 11111111111111111111111111111111111111111111110fffffffffff9fffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffe9401e90 22222222222222222222222222222222222222222222223fffffffffff9fffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff fffffffffffffffff1801d20 88888888888888888888888888888888888888888888888fffffffffff9fffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffe9401e80 44444444444444444444444444444444444444444444445fffffffffff9fffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff fffffffffffffffff1801d40 11111111111111111111111111111111111111111111110fffffffffff9fffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffe9401e90 22222222222222222222222222222222222222222222223fffffffffff9fffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff fffffffffffffffff1801d20 88888888888888888888888888888888888888888888888fffffffffff9fffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffe9401e80 44444444444444444444444444444444444444444444445fffffffffff9fffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff fffffffffffffffff1801d40 11111111111111111111111111111111111111111111110fffffffffff9fffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffe9401e90 22222222222222222222222222222222222222222222223fffffffffff9fffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff fffffffffffffffff1801d20 88888888888888888888888888888888888888888888888fffffffffff9fffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffe9401e80 44444444444444444444444444444444444444444444445ffffffff8ff90000000000000 000000000000000000000000000000000000000000000000000000000000000000000000 00000000000000000000000000000000000000000000000000000000000000000000001f fffffffffffffffff1801d40 11111111111111111111111111111111111111111111110ffffffff0ff95555555555554 555555555545555555555545555555555555485555555555555555545555555555555555 555515555555555555555554ff855555555555555555555554555555555555555555555f ffffffffffffffffe9401e90 22222222222222222222222222222222222222222222223fffffffe4ff92aaaaaaaaaaaa 2aaaaaaaaaa2aaaaaaaaaaa2aaaaaaaaaaaa88aaaaaaaaaaaaaaaaaa2aaaaaaaaaaaaaaa aaaa8aaaaaaaaaaaaaaaaaa8bb8aaaaaaaaaaaaaaaaaaaaaaa2aaaaaaaaaaaaaaaaaaa9f fffffffffffffffff1801d20 88888888888888888888888888888888888888888888888fffffffe4ff95555555555554 555555555545555555555545555555555555485555555555555555545555555555555555 555515555555555555555554ff855555555555555555555554555555555555555555555f ffffffffffffffffe9401e80 44444444444444444444444444444444444444444444445fffffffccff92aaaaaaaaaaaa 2aaaaaaaaaa2aaaaaaaaaaa2aaaaaaaaaaaa88aaaaaaaaaaaaaaaaaa2aaaaaaaaaaaaaaa aaaa8aaaaaaaaaaaaaaaaaa8ee8aaaaaaaaaaaaaaaaaaaaaaa2aaaaaaaaaaaaaaaaaaa9f fffffffffffffffff1801d40 11111111111111111111111111111111111111111111110fffffffccff95555555555554 555555555545555555555545555555555555485555555555555555545555555555555555 555515555555555555555554ff855555555555555555555554555555555555555555555f ffffffffffffffffe9401e90 22222222222222222222222222222222222222222222223fffffff9cff92aaaaaaaaaaaa 2aaaaaaaaaa2aaaaaaaaaaa2aaaaaaaaaaaa88aaaaaaaaaaaaaaaaaa2aaaaaaaaaaaaaaa aaaa8aaaaaaaaaaaaaaaaaa8bb8aaaaaaaaaaaaaaaaaaaaaaa2aaaaaaaaaaaaaaaaaaa9f fffffffffffffffff1801d20 88888888888888888888888888888888888888888888888fffffff807f85555555555554 555555555545555555555545555555555555485555555555555555545555555555555555 555515555555555555555554ff8555555555555555555555545555555555555555555540 000000000000000009401e80 44444444444444444444444444444444444444444444445fffffff807f92aaaaaaaaaaaa 2aaaaaaaaaa2aaaaaaaaaaa2aaaaaaaaaaaa88aaaaaaaaaaaaaaaaaa2aaaaaaaaaaaaaaa aaaa8aaaaaaaaaaaaaaaaaa8ee8aaaaaaaaaaaaaaaaaaaaaaa2aaaaaaaaaaaaaaaaaaa9f fffffffffffffffff1801d40 11111111111111111111111111111111111111111111110ffffffffcff95555555555554 555555555545555555555545555555555555485555555555555555545555555555555555 555515555555555555555554ff855555555555555555555554555555555555555555555f ffffffffffffffffe9401e90 22222222222222222222222222222222222222222222223ffffffffcff92aaaaaaaaaaaa 2aaaaaaaaaa2aaaaaaaaaaa2aaaaaaaaaaaa88aaaaaaaaaaaaaaaaaa2aaaaaaaaaaaaaaa aaaa8aaaaaaaaaaaaaaaaaa8bb8aaaaaaaaaaaaaaaaaaaaaaa2aaaaaaaaaaaaaaaaaaa9f fffffffffffffffff1801d20 88888888888888888888888888888888888888888888888ffffffffcff90000000000000 000000000000000000000000000000000000000000000000000000000000000000000000 00000000000000000000000000000000000000000000000000000000000000000000001f ffffffffffffffffe9401e80 44444444444444444444444444444444444444444444445fffffffffff9fffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff fffffffffffffffff1801d40 11111111111111111111111111111111111111111111110fffffffffff9fffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffe9401e90 22222222222222222222222222222222222222222222223fffffffffff9fffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff fffffffffffffffff1801d20 88888888888888888888888888888888888888888888888fffffffffff9fffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffe9401e80 44444444444444444444444444444444444444444444445fffffffffff9fffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff fffffffffffffffff1801d40 11111111111111111111111111111111111111111111110fffffffffff9fffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffe9401e90 22222222222222222222222222222222222222222222223fffffffffff9fffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff fffffffffffffffff1801d20 88888888888888888888888888888888888888888888888fffffffffff9fffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffe9401e80 44444444444444444444444444444444444444444444445fffffffffff9fffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff fffffffffffffffff1801d40 11111111111111111111111111111111111111111111110fffffffffff9fffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffe9401e90 22222222222222222222222222222222222222222222223fffffffffff9fffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff fffffffffffffffff1801d20 88888888888888888888888888888888888888888888888fffffffffff9fffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffe9401e80 44444444444444444444444444444444444444444444445fffffffffff9fffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff fffffffffffffffff1801d40 11111111111111111111111111111111111111111111110fffffffe07f80000000000002 000000000000000000000000000000000000000000000000000000000000000000000000 000000000020000000000000000000000000000000000000000000000000000000000000 00000000000fffffe9401e90 22222222222222222222222222222222222222222222223fffffffe07f8aaaaaaaaaaaaa 2aaaaaaaaaa2aaaaaaaaaa8aaaaaaaaaaaaaaaaaaa0aaaaaaaaaaaaaaaaaa02aaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa3ba0aaaaaaaaaaaaaaaa92aaaaaaaaaa aaaaaaaaaaaffffff1801d20 88888888888888888888888888888888888888888888888fffffffe7ff85555555555552 555555555545555555555505555555555555555555155555555555555555445555555555 55555555552555555555555555555555555555547fe15555555555555555115555555555 55555555554fffffe9401e80 44444444444444444444444444444444444444444444445fffffffe7ff8aaaaaaaaaaaaa 2aaaaaaaaaa2aaaaaaaaaa8aaaaaaaaaaaaaaaaaaa0aaaaaaaaaaaaaaaaaa42aaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa6ee0aaaaaaaaaaaaaaaa82aaaaaaaaaa aaaaaaaaaaaffffff1801d40 11111111111111111111111111111111111111111111110fffffffc1ff85555555555552 555555555545555555555505555555555555555555155555555555555555445555555555 55555555552555555555555555555555555555547fe15555555555555555115555555555 55555555554fffffe9401e90 22222222222222222222222222222222222222222222223fffffffc0ff8aaaaaaaaaaaaa 2aaaaaaaaaa2aaaaaaaaaa8aaaaaaaaaaaaaaaaaaa0aaaaaaaaaaaaaaaaaa02aaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa3ba0aaaaaaaaaaaaaaaa92aaaaaaaaaa aaaaaaaaaaaffffff1801d20 88888888888888888888888888888888888888888888888fffffffdc7f85555555555552 555555555545555555555505555555555555555555155555555555555555445555555555 55555555552555555555555555555555555555547fe15555555555555555115555555555 55555555554fffffe9401e80 44444444444444444444444444444444444444444444445ffffffffe7f8aaaaaaaaaaaa8 2aaaaaaaaaa2aaaaaaaaaa8aaaaaaaaaaaaaaaaaaa0aaaaaaaaaaaaaaaaaa42aaaaaaaaa aaaaaaaaaa8aaaaaaaaaaaaaaaaaaaaaaaaaaaaa6ee0aaaaaaaaaaaaaaaa82aaaaaaaaaa aaaaaaaaaaa0000011801d40 11111111111111111111111111111111111111111111110ffffffffe7f85555555555552 555555555545555555555505555555555555555555155555555555555555445555555555 55555555552555555555555555555555555555547fe15555555555555555115555555555 55555555554fffffe9401e90 22222222222222222222222222222222222222222222223fffffff8c7f8aaaaaaaaaaaaa 2aaaaaaaaaa2aaaaaaaaaa8aaaaaaaaaaaaaaaaaaa0aaaaaaaaaaaaaaaaaa02aaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa3ba0aaaaaaaaaaaaaaaa92aaaaaaaaaa aaaaaaaaaaaffffff1801d20 88888888888888888888888888888888888888888888888fffffffc0ff85555555555552 555555555545555555555505555555555555555555155555555555555555445555555555 55555555552555555555555555555555555555547fe15555555555555555115555555555 55555555554fffffe9401e80 44444444444444444444444444444444444444444444445fffffffe1ff80000000000002 000000000000000000000000000000000000000000000000000000000000000000000000 000000000020000000000000000000000000000000000000000000000000000000000000 00000000000ffffff1801d40 11111111111111111111111111111111111111111111110fffffffffff9fffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffe9401e90 22222222222222222222222222222222222222222222223fffffffffff9fffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff fffffffffffffffff1801d20 88888888888888888888888888888888888888888888888fffffffffff9fffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffe9401e80 44444444444444444444444444444444444444444444445fffffffffff9fffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff fffffffffffffffff1801d40 11111111111111111111111111111111111111111111110fffffffffff9fffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffe9401e90 22222222222222222222222222222222222222222222223fffffffffff9fffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff fffffffffffffffff1801d20 88888888888888888888888888888888888888888888888fffffffffff9fffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffe9401e80 44444444444444444444444444444444444444444444445fffffffffff9fffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff fffffffffffffffff1801d40 11111111111111111111111111111111111111111111110fffffffffff9fffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffe9401e90 22222222222222222222222222222222222222222222223fffffffffff9fffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff fffffffffffffffff1801d20 88888888888888888888888888888888888888888888888fffffffffff9fffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffe9401e80 44444444444444444444444444444444444444444444445fffffffffff9fffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff fffffffffffffffff1801d40 11111111111111111111111111111111111111111111110fffffffffff9fffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffe9401e90 22222222222222222222222222222222222222222222223fffffffe1ff9fffffff500000 000000000000000000000000000000000000000000000000000000000000000000000000 000000000000000000000000000000000000000000000000000000000000000000000000 00000000fffffffff1801d20 88888888888888888888888888888888888888888888888fffffffc0ff9fffffff515555 555555515555555555555555055555555555555555555515555555555547155555555555 555555555505555555555555555551555555555555555555555555555545555555555555 55555554ffffffffe9401e80 44444444444444444444444444444444444444444444445fffffff8c7f9fffffff52aaaa aaaaaaa0aaaaaaaaaaaaaaaa8aaaaaaaaaaaaaaaaaaaaa2aaaaaaaaaaaa62aaaaaaaaaaa aaaaaaaaaa8aaaaaaaaaaaaaaaaaa8aaaaaaaaaaaaaaaaaaaaaaaaaaaaa2aaaaaaaaaaaa aaaaaaaafffffffff1801d40 11111111111111111111111111111111111111111111110fffffff9fff9fffffff515555 555555515555555555555555055555555555555555555515555555555547155555555555 555555555505555555555555555551555555555555555555555555555545555555555555 55555554ffffffffe9401e90 22222222222222222222222222222222222222222222223fffffff91ff9fffffff52aaaa aaaaaaa0aaaaaaaaaaaaaaaa8aaaaaaaaaaaaaaaaaaaaa2aaaaaaaaaaaa32aaaaaaaaaaa aaaaaaaaaa8aaaaaaaaaaaaaaaaaa8aaaaaaaaaaaaaaaaaaaaaaaaaaaaa2aaaaaaaaaaaa aaaaaaaafffffffff1801d20 88888888888888888888888888888888888888888888888fffffff80ff9fffffff515555 555555515555555555555555055555555555555555555515555555555547155555555555 555555555505555555555555555551555555555555555555555555555545555555555555 55555554ffffffffe9401e80 44444444444444444444444444444444444444444444445fffffff8c7f9fffffff52aaaa aaaaaaa0aaaaaaaaaaaaaaaa8aaaaaaaaaaaaaaaaaaaaa2aaaaaaaaaaaa62aaaaaaaaaaa aaaaaaaaaa8aaaaaaaaaaaaaaaaaa8aaaaaaaaaaaaaaaaaaaaaaaaaaaaa2aaaaaaaaaaaa aaaaaaaafffffffff1801d40 11111111111111111111111111111111111111111111110fffffff9e7f80000000015555 555555515555555555555555055555555555555555555515555555555547155555555555 555555555505555555555555555551555555555555555555555555555545555555555555 555555540000000009401e90 22222222222222222222222222222222222222222222223fffffff9e7f9fffffff52aaaa aaaaaaa0aaaaaaaaaaaaaaaa8aaaaaaaaaaaaaaaaaaaaa2aaaaaaaaaaaa32aaaaaaaaaaa aaaaaaaaaa8aaaaaaaaaaaaaaaaaa8aaaaaaaaaaaaaaaaaaaaaaaaaaaaa2aaaaaaaaaaaa aaaaaaaafffffffff1801d20 88888888888888888888888888888888888888888888888fffffff8c7f9fffffff515555 555555515555555555555555055555555555555555555515555555555547155555555555 555555555505555555555555555551555555555555555555555555555545555555555555 55555554ffffffffe9401e80 44444444444444444444444444444444444444444444445fffffffc0ff9fffffff52aaaa aaaaaaa0aaaaaaaaaaaaaaaa8aaaaaaaaaaaaaaaaaaaaa2aaaaaaaaaaaa62aaaaaaaaaaa aaaaaaaaaa8aaaaaaaaaaaaaaaaaa8aaaaaaaaaaaaaaaaaaaaaaaaaaaaa2aaaaaaaaaaaa aaaaaaaafffffffff1801d40 11111111111111111111111111111111111111111111110fffffffe1ff9fffffff500000 000000000000000000000000000000000000000000000000000000000000000000000000 000000000000000000000000000000000000000000000000000000000000000000000000 00000000ffffffffe9401e90 22222222222222222222222222222222222222222222223fffffffffff9fffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff fffffffffffffffff1801d20 88888888888888888888888888888888888888888888888fffffffffff9fffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffe9401e80 44444444444444444444444444444444444444444444445fffffffffff9fffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff fffffffffffffffff1801d40 11111111111111111111111111111111111111111111110fffffffffff9fffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffe9401e90 22222222222222222222222222222222222222222222223fffffffffff9fffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff fffffffffffffffff1801d20 88888888888888888888888888888888888888888888888fffffffffff9fffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffe9401e80 44444444444444444444444444444444444444444444445fffffffffff9fffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff fffffffffffffffff1801d40 11111111111111111111111111111111111111111111110fffffffffff9fffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffe9401e90 22222222222222222222222222222222222222222222223fffffffffff9fffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff fffffffffffffffff1801d20 88888888888888888888888888888888888888888888888fffffffffff9fffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffe9401e80 44444444444444444444444444444444444444444444445fffffffffff9fffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff fffffffffffffffff1801d40 11111111111111111111111111111111111111111111110fffffffffff9fffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffe9401e90 22222222222222222222222222222222222222222222223fffffffffff9fffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff fffffffffffffffff1801d20 88888888888888888888888888888888888888888888888fffffff807f9ffffffdc00000 000000000000000000000000000000000000000000000000000000000000000000000000 000000000000000000000000000000000000000000000000000000000000000000000000 00000001ffffffffe9401e80 44444444444444444444444444444444444444444444445fffffff807f9ffffffdcaaaaa aaaaaa0aaaaaaaaaaaaaa8aaaaaaaaaaaaaa2aaaaaaaaaaaaaaa2aaaaaaaaaaaa2aaaaaa aaaaaaaaaaaaaa2aaaaaaaaaaaaaaaa8aaaaaaaaaaaaaaaaaaaaaa2aaaaaaaaaaaaaaaaa aaaaaaa9fffffffff1801d40 11111111111111111111111111111111111111111111110ffffffffcff9ffffffdd55555 555555055555555555555055555555555555155555555555555415555555555551555555 555555555555551555555555555555515555555555555555555555155555555555555555 55555555ffffffffe9401e90 22222222222222222222222222222222222222222222223ffffffffcff9ffffffdcaaaaa aaaaaa0aaaaaaaaaaaaaa8aaaaaaaaaaaaaa2aaaaaaaaaaaaaaa2aaaaaaaaaaaa2aaaaaa aaaaaaaaaaaaaa2aaaaaaaaaaaaaaaa8aaaaaaaaaaaaaaaaaaaaaa2aaaaaaaaaaaaaaaaa aaaaaaa9fffffffff1801d20 88888888888888888888888888888888888888888888888ffffffff9ff9ffffffdd55555 555555055555555555555055555555555555155555555555555415555555555551555555 555555555555551555555555555555515555555555555555555555155555555555555555 55555555ffffffffe9401e80 44444444444444444444444444444444444444444444445ffffffff9ff9ffffffdcaaaaa aaaaaa0aaaaaaaaaaaaaa8aaaaaaaaaaaaaa2aaaaaaaaaaaaaaa2aaaaaaaaaaaa2aaaaaa aaaaaaaaaaaaaa2aaaaaaaaaaaaaaaa8aaaaaaaaaaaaaaaaaaaaaa2aaaaaaaaaaaaaaaaa aaaaaaa9fffffffff1801d40 11111111111111111111111111111111111111111111110ffffffff3ff9ffffffdd55555 555555055555555555555055555555555555155555555555555415555555555551555555 555555555555551555555555555555515555555555555555555555155555555555555555 55555555ffffffffe9401e90 22222222222222222222222222222222222222222222223ffffffff3ff800000000aaaaa aaaaaa0aaaaaaaaaaaaaa8aaaaaaaaaaaaaa2aaaaaaaaaaaaaaa2aaaaaaaaaaaa2aaaaaa aaaaaaaaaaaaaa2aaaaaaaaaaaaaaaa8aaaaaaaaaaaaaaaaaaaaaa2aaaaaaaaaaaaaaaaa aaaaaaa80000000011801d20 88888888888888888888888888888888888888888888888ffffffff3ff9ffffffdd55555 555555055555555555555055555555555555155555555555555415555555555551555555 555555555555551555555555555555515555555555555555555555155555555555555555 55555555ffffffffe9401e80 44444444444444444444444444444444444444444444445fffffffe7ff9ffffffdcaaaaa aaaaaa0aaaaaaaaaaaaaa8aaaaaaaaaaaaaa2aaaaaaaaaaaaaaa2aaaaaaaaaaaa2aaaaaa aaaaaaaaaaaaaa2aaaaaaaaaaaaaaaa8aaaaaaaaaaaaaaaaaaaaaa2aaaaaaaaaaaaaaaaa aaaaaaa9fffffffff1801d40 11111111111111111111111111111111111111111111110fffffffe7ff9ffffffdd55555 555555055555555555555055555555555555155555555555555415555555555551555555 555555555555551555555555555555515555555555555555555555155555555555555555 55555555ffffffffe9401e90 22222222222222222222222222222222222222222222223fffffffe7ff9ffffffdc00000 000000000000000000000000000000000000000000000000000000000000000000000000 000000000000000000000000000000000000000000000000000000000000000000000000 00000001fffffffff1801d20 88888888888888888888888888888888888888888888888fffffffffff9fffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffe9401e80 44444444444444444444444444444444444444444444445fffffffffff9fffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff fffffffffffffffff1801d40 11111111111111111111111111111111111111111111110fffffffffff9fffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffe9401e90 22222222222222222222222222222222222222222222223fffffffffff9fffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff fffffffffffffffff1801d20 88888888888888888888888888888888888888888888888fffffffffff9fffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffe9401e80 44444444444444444444444444444444444444444444445fffffffffff9fffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff fffffffffffffffff1801d40 11111111111111111111111111111111111111111111110fffffffffff9fffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffe9401e90 22222222222222222222222222222222222222222222223fffffffffff9fffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff fffffffffffffffff1801d20 88888888888888888888888888888888888888888888888fffffffffff9fffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffe9401e80 44444444444444444444444444444444444444444444445fffffffffff9fffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff fffffffffffffffff1801d40 11111111111111111111111111111111111111111111110fffffffffff9fffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffe9401e90 22222222222222222222222222222222222222222222223fffffffffff9fffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff fffffffffffffffff1801d20 88888888888888888888888888888888888888888888888fffffffffff9fffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffe9401e80 44444444444444444444444444444444444444444444445fffffffe1ff9ffffc00000000 000000000000000000000000000000000000000000000000000000000000000000000000 000000000000000000000000000000000000000000000000000000000000000000000000 0ffffffffffffffff1801d40 11111111111111111111111111111111111111111111110fffffffc0ff9ffffdffffffff ffffffffffffffffffffffffffffffffffe1555555555555555555115555555555555555 555545555555555555555555555555455555555555555555555549555555555555555555 4fffffffffffffffe9401e90 22222222222222222222222222222222222222222222223fffffff8c7f9ffffdbbbbbbbb bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbba2aaaaaaaaaaaaaaaaaa92aaaaaaaaaaaaaaaa aaaa8aaaaaaaaaaaaaaaaaaaaaaaaa8aaaaaaaaaaaaaaaaaaaaa88aaaaaaaaaaaaaaaaaa affffffffffffffff1801d20 88888888888888888888888888888888888888888888888fffffff9e7f9ffffdffffffff ffffffffffffffffffffffffffffffffffe1555555555555555555115555555555555555 555545555555555555555555555555455555555555555555555549555555555555555555 4fffffffffffffffe9401e80 44444444444444444444444444444444444444444444445fffffffccff9ffffceeeeeeee eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee2aaaaaaaaaaaaaaaaaa82aaaaaaaaaaaaaaaa aaaa8aaaaaaaaaaaaaaaaaaaaaaaaa8aaaaaaaaaaaaaaaaaaaaa88aaaaaaaaaaaaaaaaaa affffffffffffffff1801d40 11111111111111111111111111111111111111111111110fffffffe1ff9ffffdffffffff ffffffffffffffffffffffffffffffffffe1555555555555555555115555555555555555 555545555555555555555555555555455555555555555555555549555555555555555555 4fffffffffffffffe9401e90 22222222222222222222222222222222222222222222223fffffffc0ff9ffffdbbbbbbbb bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbba2aaaaaaaaaaaaaaaaaa92aaaaaaaaaaaaaaaa aaaa8aaaaaaaaaaaaaaaaaaaaaaaaa8aaaaaaaaaaaaaaaaaaaaa88aaaaaaaaaaaaaaaaaa affffffffffffffff1801d20 88888888888888888888888888888888888888888888888fffffff8c7f800001ffffffff ffffffffffffffffffffffffffffffffffe1555555555555555555115555555555555555 555545555555555555555555555555455555555555555555555549555555555555555555 400000000000000009401e80 44444444444444444444444444444444444444444444445fffffff9e7f9ffffceeeeeeee eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee2aaaaaaaaaaaaaaaaaa82aaaaaaaaaaaaaaaa aaaa8aaaaaaaaaaaaaaaaaaaaaaaaa8aaaaaaaaaaaaaaaaaaaaa88aaaaaaaaaaaaaaaaaa affffffffffffffff1801d40 11111111111111111111111111111111111111111111110fffffff8c7f9ffffdffffffff ffffffffffffffffffffffffffffffffffe1555555555555555555115555555555555555 555545555555555555555555555555455555555555555555555549555555555555555555 4fffffffffffffffe9401e90 22222222222222222222222222222222222222222222223fffffffc0ff9ffffdbbbbbbbb bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbba2aaaaaaaaaaaaaaaaaa92aaaaaaaaaaaaaaaa aaaa8aaaaaaaaaaaaaaaaaaaaaaaaa8aaaaaaaaaaaaaaaaaaaaa88aaaaaaaaaaaaaaaaaa affffffffffffffff1801d20 88888888888888888888888888888888888888888888888fffffffe1ff9ffffc00000000 000000000000000000000000000000000000000000000000000000000000000000000000 000000000000000000000000000000000000000000000000000000000000000000000000 0fffffffffffffffe9401e80 44444444444444444444444444444444444444444444445fffffffffff9fffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff fffffffffffffffff1801d40 11111111111111111111111111111111111111111111110fffffffffff9fffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffe9401e90 22222222222222222222222222222222222222222222223fffffffffff9fffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff fffffffffffffffff1801d20 88888888888888888888888888888888888888888888888fffffffffff9fffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffe9401e80 44444444444444444444444444444444444444444444445fffffffffff9fffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff fffffffffffffffff1801d40 11111111111111111111111111111111111111111111110fffffffffff9fffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffe9401e90 22222222222222222222222222222222222222222222223fffffffffff9fffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff fffffffffffffffff1801d20 88888888888888888888888888888888888888888888888fffffffffff9fffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffe9401e80 44444444444444444444444444444444444444444444445fffffffffff9fffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff fffffffffffffffff1801d40 11111111111111111111111111111111111111111111110fffffffffff9fffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffe9401e90 22222222222222222222222222222222222222222222223fffffffffff9fffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff fffffffffffffffff1801d20 08888888888888888888888888888888888888888888888fffffffffff9fffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffe9401e80 44444444444444444444444444444444444444444444445fffffffffff9fffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff fffffffffffffffff1801d40 11111111111111111111111111111111111111111111110fffffffe1ff80000000000000 000000000000000000000000000000000000002000000000000001000000000000000000 000000000000000000000000000000000000000000001080000000000000000000000000 0000000000001fffe9401e90 22222222222222222222222222222222222222222222223fffffffc0ff8aaaaaaaaaaaa8 2aaaaaaaaa82aaaaaaaaaaa0aaaaaaaaaaaaaaaaaaaaaaaaaaaaa92aaaaaaaaaaaaaaaa2 aaaaaaaaaaaaaaaaaaaaaaaaaa0aaaaaaaaaaaaaaaaa928aaaaaaaaaaaaaaaa8aaaaaaaa aaaaaaaaaaaa9ffff1801d20 08888888888888888888888888888888888888888888888fffffff8c7f95555555555550 555555555505555555555551555555555555552555555555555555555555555555555551 555555555555555555555555550555555555555555555695555555555555555155555555 5555555555555fffe9401e80 44444444444444444444444444444444444444444444445fffffff9e7f8aaaaaaaaaaaa8 2aaaaaaaaa82aaaaaaaaaaa0aaaaaaaaaaaaaaaaaaaaaaaaaaaaa92aaaaaaaaaaaaaaaa2 aaaaaaaaaaaaaaaaaaaaaaaaaa0aaaaaaaaaaaaaaaaa968aaaaaaaaaaaaaaaa8aaaaaaaa aaaaaaaaaaaa9ffff1801d40 11111111111111111111111111111111111111111111110fffffff9e7f95555555555550 555555555505555555555551555555555555552555555555555555555555555555555551 555555555555555555555555550555555555555555555695555555555555555155555555 5555555555555fffe9401e90 22222222222222222222222222222222222222222222223fffffff8c7f8aaaaaaaaaaaa8 2aaaaaaaaa82aaaaaaaaaaa0aaaaaaaaaaaaaaaaaaaaaaaaaaaaa92aaaaaaaaaaaaaaaa2 aaaaaaaaaaaaaaaaaaaaaaaaaa0aaaaaaaaaaaaaaaaa928aaaaaaaaaaaaaaaa8aaaaaaaa aaaaaaaaaaaa9ffff1801d20 08888888888888888888888888888888888888888888888fffffffc07f95555555555550 555555555505555555555551555555555555552555555555555555555555555555555551 555555555555555555555555550555555555555555555695555555555555555155555555 5555555555555fffe9401e80 44444444444444444444444444444444444444444444445fffffffe27f8aaaaaaaaaaaa8 2aaaaaaaaa82aaaaaaaaaaa0aaaaaaaaaaaaaa8aaaaaaaaaaaaaa82aaaaaaaaaaaaaaaa2 aaaaaaaaaaaaaaaaaaaaaaaaaa0aaaaaaaaaaaaaaaaa860aaaaaaaaaaaaaaaa8aaaaaaaa aaaaaaaaaaaa800011801d40 11111111111111111111111111111111111111111111110ffffffffe7f95555555555550 555555555505555555555551555555555555552555555555555555555555555555555551 555555555555555555555555550555555555555555555695555555555555555155555555 5555555555555fffe9401e90 22222222222222222222222222222222222222222222223fffffff8c7f8aaaaaaaaaaaa8 2aaaaaaaaa82aaaaaaaaaaa0aaaaaaaaaaaaaaaaaaaaaaaaaaaaa92aaaaaaaaaaaaaaaa2 aaaaaaaaaaaaaaaaaaaaaaaaaa0aaaaaaaaaaaaaaaaa928aaaaaaaaaaaaaaaa8aaaaaaaa aaaaaaaaaaaa9ffff1801d20 08888888888888888888888888888888888888888888888fffffffc0ff95555555555550 555555555505555555555551555555555555552555555555555555555555555555555551 555555555555555555555555550555555555555555555695555555555555555155555555 5555555555555fffe9401e80 44444444444444444444444444444444444444444444445fffffffe1ff80000000000000 000000000000000000000000000000000000002000000000000001000000000000000000 000000000000000000000000000000000000000000001080000000000000000000000000 0000000000001ffff1801d40 11111111111111111111111111111111111111111111110fffffffffff9fffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffe9401e90 22222222222222222222222222222222222222222222223fffffffffff9fffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff fffffffffffffffff1801d20 08888888888888888888888888888888888888888888888fffffffffff9fffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffe9401e80 44444444444444444444444444444444444444444444445fffffffffff9fffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff fffffffffffffffff1801d40 11111111111111111111111111111111111111111111110fffffffffff9fffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffe9401e90 22222222222222222222222222222222222222222222223fffffffffff9fffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff fffffffffffffffff1801d20 08888888888888888888888888888888888888888888888fffffffffff9fffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffe9401e80 44444444444444444444444444444444444444444444445fffffffffff9fffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff fffffffffffffffff1801d40 11111111111111111111111111111111111111111111110fffffffffff9fffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffe9401e90 22222222222222222222222222222222222222222222223fffffffffff9fffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff fffffffffffffffff1801d20 08888888888888888888888888888888888888888888888fffffffffff9fffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffe9401e80 44444444444444444444444444444444444444444444445fffffffffff9fffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff fffffffffffffffff1801d40 11111111111111111111111111111111111111111111110fffffffffff9fffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffe9401e90 22222222222222222222222222222222222222222222223ffffffbe1ff90000000000000 100000000000000000000000000000000000000000000000000000000000000000000000 000000000000000000000000000000000000000000000000000000000000000000000000 0001fffffffffffff1801d20 08888888888888888888888888888888888888888888888ffffff3c0ff95555555555555 555555555555515555555555555555505555555555545555555555555551555555555555 5555555547fffc4555555555555555555555495555555555555555545555555555555555 5555ffffffffffffe9401e80 44444444444444444444444444444444444444444444445fffff838c7f92aaaaaaaaaaaa 92aaaaaaaaaaa8aaaaaaaaaaaaaaaaa8aaaaaaaaaaaa2aaaaaaaaaaaaaa8aaaaaaaaaaaa aaaaaaaaa6eeec4aaaaaaaaaaaaaaaaaaaaa88aaaaaaaaaaaaaaaaaa2aaaaaaaaaaaaaaa aaa9fffffffffffff1801d40 11111111111111111111111111111111111111111111110fffff839e7f95555555555555 555555555555515555555555555555505555555555545555555555555551555555555555 5555555547fffc4555555555555555555555495555555555555555545555555555555555 5555ffffffffffffe9401e90 22222222222222222222222222222222222222222222223ffffff39e7f92aaaaaaaaaaaa 92aaaaaaaaaaa8aaaaaaaaaaaaaaaaa8aaaaaaaaaaaa2aaaaaaaaaaaaaa8aaaaaaaaaaaa aaaaaaaaa3bbb80aaaaaaaaaaaaaaaaaaaaa88aaaaaaaaaaaaaaaaaa2aaaaaaaaaaaaaaa aaa9fffffffffffff1801d20 08888888888888888888888888888888888888888888888ffffff39e7f95555555555555 555555555555515555555555555555505555555555545555555555555551555555555555 5555555547fffc4555555555555555555555495555555555555555545555555555555555 5555ffffffffffffe9401e80 44444444444444444444444444444444444444444444445ffffff39e7f92aaaaaaaaaaaa 92aaaaaaaaaaa8aaaaaaaaaaaaaaaaa8aaaaaaaaaaaa2aaaaaaaaaaaaaa8aaaaaaaaaaaa aaaaaaaaa6eeec4aaaaaaaaaaaaaaaaaaaaa88aaaaaaaaaaaaaaaaaa2aaaaaaaaaaaaaaa aaa9fffffffffffff1801d40 11111111111111111111111111111111111111111111110ffffff39e7f85555555555555 455555555555515555555555555555505555555555545555555555555551555555555555 5555555547fffc4555555555555555555555495555555555555555545555555555555555 555400000000000009401e90 22222222222222222222222222222222222222222222223ffffff39e7f92aaaaaaaaaaaa 92aaaaaaaaaaa8aaaaaaaaaaaaaaaaa8aaaaaaaaaaaa2aaaaaaaaaaaaaa8aaaaaaaaaaaa aaaaaaaaa3bbb80aaaaaaaaaaaaaaaaaaaaa88aaaaaaaaaaaaaaaaaa2aaaaaaaaaaaaaaa aaa9fffffffffffff1801d20 08888888888888888888888888888888888888888888888ffffff38c7f95555555555555 555555555555515555555555555555505555555555545555555555555551555555555555 5555555547fffc4555555555555555555555495555555555555555545555555555555555 5555ffffffffffffe9401e80 44444444444444444444444444444444444444444444445ffffff3c0ff92aaaaaaaaaaaa 92aaaaaaaaaaa8aaaaaaaaaaaaaaaaa8aaaaaaaaaaaa2aaaaaaaaaaaaaa8aaaaaaaaaaaa aaaaaaaaa6eeec4aaaaaaaaaaaaaaaaaaaaa88aaaaaaaaaaaaaaaaaa2aaaaaaaaaaaaaaa aaa9fffffffffffff1801d40 11111111111111111111111111111111111111111111110ffffff3e1ff90000000000000 100000000000000000000000000000000000000000000000000000000000000000000000 000000000000000000000000000000000000000000000000000000000000000000000000 0001ffffffffffffe9401e90 22222222222222222222222222222222222222222222223fffffffffff9fffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff fffffffffffffffff1801d20 08888888888888888888888888888888888888888888888fffffffffff9fffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffe9401e80 44444444444444444444444444444444444444444444445fffffffffff9fffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff fffffffffffffffff1801d40 11111111111111111111111111111111111111111111110fffffffffff9fffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffe9401e90 22222222222222222222222222222222222222222222223fffffffffff9fffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff fffffffffffffffff1801d20 08888888888888888888888888888888888888888888888fffffffffff9fffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffe9401e80 44444444444444444444444444444444444444444444445fffffffffff9fffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff fffffffffffffffff1801d40 11111111111111111111111111111111111111111111110fffffffffff9fffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffe9401e90 22222222222222222222222222222222222222222222223fffffffffff9fffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff fffffffffffffffff1801d20 08888888888888888888888888888888888888888888888fffffffffff9fffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffe9401e80 44444444444444444444444444444444444444444444445fffffffffff9fffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff fffffffffffffffff1801d40 11111111111111111111111111111111111111111111110fffffffffff9fffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffe9401e90 22222222222222222222222222222222222222222222223fffffffffff9fffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff fffffffffffffffff1801d20 08888888888888888888888888888888888888888888888ffffffbfdff9e000000000000 000000000000000000000000000000000000000000000000000000000000000000000000 000000000000000000000000000000000000000000000000000000000000000000000000 7fffffffffffffffe9401e80 4444444aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa8e8aaaaaaaaaaaaaaaaaaaaa 7ffffffffffffffff1801d40 11111117ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffff55555555555555551f8555555555555555555555 7fffffffffffffffe9401e90 2222222fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffaaaaaaaaaaaaaaaa9b8aaaaaaaaaaaaaaaaaaaaa 7ffffffffffffffff1801d20 08888887ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffff55555555555555551f8555555555555555555555 7fffffffffffffffe9401e80 4444444f0000ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff fffffffffffffffffffffffffff80007aaaaaaaaaaaaaaaa8e8aaaaaaaaaaaaaaaaaaaaa 7ffffffffffffffff1801d40 111111177ffeffffffffffffcffffffffef87f9fffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff fffffffffffffffffffffffffffbdef755555555555555551f8555555555555555555555 7fffffffffffffffe9401e90 2222222f7ffeffffffffffffcffffffffcf03f9fffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff fffffffffffffffffffffffffffbdef7aaaaaaaaaaaaaaaa9b8aaaaaaaaaaaaaaaaaaaaa 000000000000000011801d20 088888877ffeffffffffffffcfffffffe0e31f9fffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff fffffffffffffffffffffffffffbdef755555555555555551f8555555555555555555555 7fffffffffffffffe9401e80 4444444f7c1effc1e0e423ffc867991fe0e7ff9f0fc4ffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff fffffffffffffffffffffffffffbdef7aaaaaaaaaaaaaaaa8e8aaaaaaaaaaaaaaaaaaaaa 7ffffffffffffffff1801d40 11111117780eff80c06001ffc027980ffce47f9e0780ffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff fffffffffffffffffffffffffff81ef755555555555555551f8555555555555555555555 7fffffffffffffffe9401e90 2222222f7006ff9cce6319ffc73398c7fce03f9c6318ffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff fffffffffffffffffffffffffffbfef78000000000000000000000000000000000000000 7ffffffffffffffff1801d20 088888877006ff87fc6739ffcf3339e7fce31f9cf33cffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff fffffffffffffffffffffffffffbfef77fffffffffffffffffffffffffffffffffffffff ffffffffffffffffe9401e80 4444444f7006ffc1e06739ffcf3939e7fce79f9cf33cffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff fffffffffffffffffffffffbfef7ffffffffffffffffffffffffffffffffffffffffffff fffffffffffffffff1801d40 111111177006fff8c66739ffcf3939e7fce79f9cf33cffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff fffffffffffffffffffffffffffbfef77fffffffffffffffffffffffffffffffffffffff ffffffffffffffffe9401e90 2222222f7006ff9cce6739ffcf3878c7fce31f9c6318ffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff fffffffffffffffffffffffffff800f7ffffffffffffffffffffffffffffffffffffffff fffffffffffffffff1801d20 08888887780eff80c06739ffcf3c780e7cf0399e0780ffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff fffffffffffffffffffffffffffbfff77fffffffffffffffffffffffffffffffffffffff ffffffffffffffffe9401e80 4444444f7c1effc1e22739ffcf3cf91e7cf8799f0fc4ffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff fffffffffffffffffffffffffffbfff7ffffffffffffffffffffffffffffffffffffffff fffffffffffffffff1801d40 111111177ffefffffffffffffffcf9fffffffffffffcffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff fffffffffffffffffffffffffffbfff77fffffffffffffffffffffffffffffffffffffff ffffffffffffffffe9401e90 2222222f7ffefffffffffffffffcf9ffffffffffff18ffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff fffffffffffffffffffffffffffbfff7ffffffffffffffffffffffffffffffffffffffff fffffffffffffffff1801d20 088888870000ffffffffff007ff1f9ffffffffffff81ffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff fffffffffffffffffffffffffff800077fffffffffffffffffffffffffffffffffffffff ffffffffffffffffe9401e80 4444444ffffffffffffffffffff3f9ffffffffffffc3ffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff fffffffffffffffff1801d40 11111117ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffff7fffffffffffffffffffffffffffffffffffffff ffffffffffffffffe9401e90 2222222fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff fffffffffffffffff1801d20 088888855555555555555555555555555555555555555555555555555555555555555555 555555555555555555555555555555555555555555555555555555555555555555555555 555555555555555555555555555555557fffffffffffffffffffffffffffffffffffffff ffffffffffffffffe9401e80 4444444d5555555555555555555555555555555555555555555555555555555555555555 555555555555555555555555555555555555555555555555555555555555555555555555 555555555555555555555555555555558000000000000000000000000000000000000000 0000000000003ffff1801d40 11111112aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa5555555515555555555555555555545555555555 5555555555553fffe9401e90 2222222dffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff fffffffffffffffffffffffffffffffcaaaaaaaa8aaaaaaaaaaaaaaaaaaaaa2aaaaaaaaa aaaaaaaaaaaabffff1801d20 08888883ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff fffffffffffffffffffffffffffffffc5555555515555555555555555555545555555555 5555555555553fffe9401e80 4444444dffffffffffffffffffffffffffffffffffffffffeaaaaabffd55555555ffffff fffffffffffffffffffffffffffffffd555557ffaaaaaaaabfffd5555555555557ffffd5 555555555557ffffd555555555555ffcaaaaaaaa8aaaaaaaaaaaaaaaaaaaaa2aaaaaaaaa aaaaaaaaaaaabffff1801d40 11111113ffffffffffffffffffffffffffffffffffffffffd555555ffaaaaaaaa9ffffff fffffffffffffffffffffffffffffffaaaaaabff555555553fffaaaaaaaaaaaaa7ffffaa aaaaaaaaaaa7ffffaaaaaaaaaaaaaffc5555555515555555555555555555545555555555 5555555555553fffe9401e90 2222222dffffffffffffffffffffffffffffffffffffffffefffff9ffdfffffff9ffffff fffffffffffffffffffffffffffffffdfffff3ffbfffffff3fffdfffffffffffe7ffffdf ffffffffffe7ffffdfffffffffffcffcaaaaaaaa8aaaaaaaaaaaaaaaaaaaaa2aaaaaaaaa aaaaaaaaaaaabffff1801d20 08888883ffffffffffffffffffffffffffffffffffffffffdfffff9ffbfffffff9ffffff fffffffffffffffffffffffffffffffbfffff3ff7fffffff3fffbfffffffffffe7ffffbf ffffffffffe7ffffbfffffffffffcffc5555555515555555555555555555545555555555 555555555555000009401e80 4444444dffffffffffffffffffffffffffffffffffffffffefffff9ffdfffffff9ffffff fffffffffffffffffffffffffffffffdfffff3ffbfffffff3fffdfffff9fffffe7ffffdf ffffffffffe7ffffdff87fffffffcffcaaaaaaaa8aaaaaaaaaaaaaaaaaaaaa2aaaaaaaaa aaaaaaaaaaaabffff1801d40 11111113fffffffffcffffffffffffc3ffffffffffffffffd81fff9ffbc3fff3f9ffffff fffffff3fffff87ffffffffffffffffb03fff3ff787ffe7f3fffb01fff9fffcfe7ffffb0 1fffffffcfe7ffffbc5e7fffffffcffc5555555515555555555555555555545555555555 5555555555553fffe9401e90 2222222dff087ffffcffffffff9ffff3fff01fffffffffffee7fff9ffd99fff3f9fff843 ffffcff3fffffe7ffe03fffffffffffdcffff3ffb33ffe7f3fffd9cfffffffcfe7ffffd9 cfffffffcfe7ffffd99e7fffffffcffcaaaaaaaa8aaaaaaaaaaaaaaaaaaaaa2aaaaaaaaa aaaaaaaaaaaabffff1801d20 08888883ff9cffffffffffffff9ffff3fff39fffffffffffde788f9ffb3c8c6079fffce7 ffffcffffffffe7ffe73fffffffffffbcf11f3ff67918c0f3fffb9cc461e2381e7ffffb9 ce1f038781e7ffffb39e7e1f0387cffc0000000000000000000000000000000000000000 0000000000003fffe9401e80 4444444dff9ce1e230f81e1c470383f3fff33c3e1c83cfffee7c679ffd3cce73f9fffce7 0f1181c3f0b07e7ffe6787c39079fffdcf8cf3ffa799ce7f3fffd9ce3f9f19cfe7ffffd9 ccce7333cfe7ffffd3fe7cce7333cffcffffffffffffffffffffffffffffffffffffffff fffffffffffffffff1801d40 11111113ff9cccf1fcfb9cce339ff9f3fffe799cce49cfffde7ce79ffb3cce73f9fffce6 678fcff3e63f3e7fffcf3399c939fffbcf9cf3ff6799ce7f3fffb99e7f9f39cfe7ffffb9 99e67e79cfe7ffffb3fe79e67e79cffc7fffffffffffffffffffffffffffffffffffffff ffffffffffffffffe9401e90 2222222dff809e73fcff39e6739ff9f3fffe73c9e649ffffee7ce79ffd3cce73f9fffe4c f39fcff3cf3f3e7fffce793cc93ffffdcf9cf3ffa799ce7f3fffd83e7f9f39cfe7ffffd8 38070601cfe7ffffd3fe79e70601cffcffffffffffffffffffffffffffffffffffffffff fffffffffffffffff1801d20 08888883ff9c9e73fcfe79e6739f81f3fffcf3c9e649ffffde7ce79ffb3cce73f9fffe4c 039fcff3cff03e7fff9e793cc93ffffbcf9cf3ff6799ce7f3fffb9fe7f9f39cfe7ffffb9 99fff27fcfe7ffffb3fe79e7f27fcffc7fffffffffffffffffffffffffffffffffffffff ffffffffffffffffe9401e80 4444444dff9c9e73fcfcf9e6739f39f3fff993c9e649ffffee7ce79ffd99cc7339fffe4c ff9fcff3cfe73e7fff32793cc93ffffdcf9cf3ffb3398e673fffd9fe7f9f39cce7ffffd9 ccc67331cce7ffffd99e7cce7331cffcffffffffffffffffffffffffffffffffffffffff fffffffffffffffff1801d40 11111113ff9cccf3fcf9dcce739931f3fff3999cce49cfffd818439ffbc3e23879ffff1e 639fccf3e7263e7ffe733399c939fffb030873ff787c470f3fffb07c0e0610e1e7ffffb0 c60e0783e1e7ffffbc381e1e0783cffc7fffffffffffffffffffffffffffffffffffffff ffffffffffffffffe9401e90 2222222dff0861e070381e1c21c388c0fff01c3e1c49cfffefffff9ffdfffffff9ffff1f 0703e1c0f071181ffe0387c38939fffdfffff3ffbfffffff3fffdfffffffffffe7ffffdf ffffffffffe7ffffdfffffffffffcffcffffffffffffffffffffffffffffffffffffffff fffffffffffffffff1801d20 08888883ffffffffffffffffffffffffffffffffffffffffdfffff9ffbfffffff9ffffff fffffffffffffffffffffffffffffffbfffff3ff7fffffff3fffbfffffffffffe7ffffbf ffffffffffe7ffffbfffffffffffcffc7fffffffffffffffffffffffffffffffffffffff ffffffffffffffffe9401e80 4444444dffffffffffffffffffffffffffffffffffffffffefffff9ffdfffffff9ffffff fffffffffffffffffffffffffffffffdfffff3ffbfffffff3fffdfffffffffffe7ffffdf ffffffffffe7ffffdfffffffffffcffcffffffffffffffffffffffffffffffffffffffff fffffffffffffffff1801d40 11111113ffffffffffffffffffffffffffffffffffffffffdfffff9ffbfffffff9ffffff fffffffffffffffffffffffffffffffbfffff3ff7fffffff3fffbfffffffffffe7ffffbf ffffffffffe7ffffbfffffffffffcffc7fffffffffffffffffffffffffffffffffffffff ffffffffffffffffe9401e90 2222222dffffffffffffffffffffffffffffffffffffffffefffff9ffdfffffff9ffffff fffffffffffffffffffffffffffffffdfffff3ffbfffffff3fffdfffffffffffe7ffffdf ffffffffffe7ffffdfffffffffffcffcffffffffffffffffffffffffffffffffffffffff fffffffffffffffff1801d20 08888883ffffffffffffffffffffffffffffffffffffffffdfffff9ffbfffffff9ffffff fffffffffffffffffffffffffffffffbfffff3ff7fffffff3fffbfffffffffffe7ffffbf ffffffffffe7ffffbfffffffffffcffc7fffffffffffffffffffffffffffffffffffffff ffffffffffffffffe9401e80 4444444dffffffffffffffffffffffffffffffffffffffffefffff9ffdfffffff9ffffff fffffffffffffffffffffffffffffffdfffff3ffbfffffff3fffdfffffffffffe7ffffdf ffffffffffe7ffffdfffffffffffcffcffffffffffffffffffffffffffffffffffffffff fffffffffffffffff1801d40 11111113ffffffffffffffffffffffffffffffffffffffffd000001ffa00000001ffffff fffffffffffffffffffffffffffffffa000003ff400000003fffa0000000000007ffffa0 000000000007ffffa000000000000ffc0000000000000000000000000000000000000000 00000000000fffffe9401e90 2222222dffffffffffffffffffffffffffffffffffffffffe000001ffc00000001ffffff fffffffffffffffffffffffffffffffc000003ff800000003fffc0000000000007ffffc0 000000000007ffffc000000000000ffc80aaaaaaaaaaaaaaaaaaaaaaaaaaaaaa82aaaaaa aaaaaaaaaaaffffff1801d20 08888883ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff fffffffffffffffffffffffffffffffc4155555555555555555555555555555545555555 55555555554fffffe9401e80 4444444dffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff fffffffffffffffffffffffffffffffc80aaaaaaaaaaaaaaaaaaaaaaaaaaaaaa82aaaaaa aaaaaaaaaaaffffff1801d40 11111113ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff fffffffffffffffffffffffffffffffc4155555555555555555555555555555545555555 55555555554fffffe9401e90 2222222c0000000000000000000000000000000000000000000000000000000000000000 000000000000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000080aaaaaaaaaaaaaaaaaaaaaaaaaaaaaa82aaaaaa aaaaaaaaaaaffffff1801d20 088888800000000000000000000000000000000000000000000000000000000000000000 000000000000000000000000000000000000000000000000000000000000000000000000 000000000000000000000000000000004155555555555555555555555555555545555555 55555555554fffffe9401e80 4444444fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffff80aaaaaaaaaaaaaaaaaaaaaaaaaaaaaa82aaaaaa aaaaaaaaaaa0000011801d40 11111117ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffff4155555555555555555555555555555545555555 55555555554fffffe9401e90 2222222fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffff80aaaaaaaaaaaaaaaaaaaaaaaaaaaaaa82aaaaaa aaaaaaaaaaaffffff1801d20 08888887ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffff4155555555555555555555555555555545555555 55555555554fffffe9401e80 4444444fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffff8000000000000000000000000000000000000000 00000000000ffffff1801d40 11111117ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffff7fffffffffffffffffffffffffffffffffffffff ffffffffffffffffe9401e90 2222222fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff fffffffffffffffff1801d20 08888887f000000000007ffffffff3fffffffffffc00000000001ffffffffcffff3fffff ff800000000003ffffffff9fffe7ffffffffffffffffffffffffffffffffffffff000000 000007ffffffff3fffffffff3fffffff7fffffffffffffffffffffffffffffffffffffff ffffffffffffffffe9401e80 4444444ff2aaaaaaaaaa7ff9fffff3fffffffffffdbbbbbbbbbb9ffe7ffffcffff3fffff ffb8787878787bffcfffff9fffe7fffffffffc00000000001ffffffffcffffffffffff00 0000000007ff9fffff3fffff3fffffffffffffffffffffffffffffffffffffffffffffff fffffffffffffffff1801d40 11111117f555555555557ff9fffff3fffffffffffdffffffffffdffe7ffffcffff3fffff ffbb7b7b7b7b7bffcfffff9fffe7fffffffffddddddddddddffe7ffffcffffffffffff00 0000000007ff9fffff3fffff3fffffff7fffffffffffffffffffffffffffffffffffffff ffffffffffffffffe9401e90 2222222ff2aaaaaaaaaa7ff0e0f0738ffe0ffffffceeeeeeeeeedffc383c1ce3ff23ffff ffbb7b7b7b7b7bff8707839c7fe4791ffffffd77777777775ffe7ffffcffffffffffff19 9999999997ff0e0f0738fff03fffffffffffffffffffffffffffffffffffffffffffffff fffffffffffffffff1801d20 08888887f555555555557ff0c060331ffc07fffffdffffffffffdffc30180cc7ff01ffff ffb8787878787bff86030198ffe0380ffffffddddddddddddffc383c1ce3ffc3ffffff19 9999999997ff0c060331ffe03fffffff7fffffffffffffffffffffffffffffffffffffff ffffffffffffffffe9401e80 4444444ff2aaaaaaaaaa7ff9ce67323ffce7fffffdbbbbbbbbbb9ffe7399cc8fff18ffff ff878787878783ffce733991ffe318c7fffffd77777777775ffc30180cc7ff81ffffff00 0000000007ff9ce67323ffc63fffffffffffffffffffffffffffffffffffffffffffffff fffffffffffffffff1801d40 11111117f555555555557ff9fc61f07fffc7fffffdffffffffffdffe7f187c1fff3cffff ffb7b7b7b7b7b3ffcfe30f83ffe799e7fffffddddddddddddffe7399cc8fff18ffffff00 0000000007ff9fc61f07ffcf3fffffff7fffffffffffffffffffffffffffffffffffffff ffffffffffffffffe9401e90 2222222ff2aaaaaaaaaa7ff9e070703ffe07fffffceeeeeeeeeedffe781c1c0fff3cffff ffb7b7b7b7b7b3ffcf038381ffe799e7fffffd77777777775ffe7f187c1fff3fffffff19 9999999997ff9e070703ffcf3fffffffffffffffffffffffffffffffffffffffffffffff fffffffffffffffff1801d20 08888887f555555555557ff9c67e313ffc67fffffdffffffffffdffe719f8c4fff3cffff ff878787878783ffce33f189ffe799e7fffffddddddddddddffe781c1c0fff3fffffff19 9999999997ff9c67e313ffcf3fffffff7fffffffffffffffffffffffffffffffffffffff ffffffffffffffffe9401e80 4444444ff2aaaaaaaaaa7ff9ce67331ffce7fffffdbbbbbbbbbb9ffe7399ccc7ff18ffff ffb8787878787bffce733998ffe318c7fffffd77777777775ffe719f8c4fff3fffffff00 0000000007ff9ce67331ffc63fffffffffffffffffffffffffffffffffffffffffffffff fffffffffffffffff1801d40 11111117f555555555557ff8c060339ffc07fffffdffffffffffdffe30180ce7ff01ffff ffbb7b7b7b7b7bffc603019cffe0380ffffffddddddddddddffe7399ccc7ff18ffffff00 0000000007ff8c060339ffe03fffffff7fffffffffffffffffffffffffffffffffffffff ffffffffffffffffe9401e90 2222222ff2aaaaaaaaaa7ffce230738ffe23fffffceeeeeeeeeedfff388c1ce3ff23ffff ffbb7b7b7b7b7bffe711839c7fe4791ffffffd77777777775ffe30180ce7ff81ffffff19 9999999997ffce230738fff13fffffff8000000000000000000000000000000000000000 0000fffffffffffff1801d20 08888887f555555555557ffffffffffffffffffffdffffffffffdfffffffffffffffffff ffb8787878787bfffffffffffffff9fffffffddddddddddddfff388c1ce3ffc3ffffff19 9999999997ffffffffffffffffffffff5555555555555555555495555555555555555555 5554ffffffffffffe9401e80 4444444ff2aaaaaaaaaa7ffffffffffffffffffffdbbbbbbbbbb9fffffffffffffffffff ff878787878783fffffffffffffff9fffffffd77777777775fffffffffffffffffffff00 0000000007ffffffffffffffffffffffaaaaaaaaaaaaaaaaaaa88aaaaaaaaaaaaaaaaaaa aaaafffffffffffff1801d40 11111117f000000000007ffffffffff007fffffffc00000000001ffffffffffc01ffffff ff800000000003ffffffffff803ff9fffffffddddddddddddfffffffffffffffffffff00 0000000007ffffffffff007fffffffff5555555555555555555495555555555555555555 5554ffffffffffffe9401e90 2222222fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff fffffffffffffffffffffffffffff9fffffffc00000000001ffffffffffc01ffffffffff ffffffffffffffffffffffffffffffffaaaaaaaaaaaaaaaaaaa88aaaaaaaaaaaaaaaaaaa aaaafffffffffffff1801d20 08888887ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffff5555555555555555555495555555555555555555 5554ffffffffffffe9401e80 4444444fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffaaaaaaaaaaaaaaaaaaa88aaaaaaaaaaaaaaaaaaa aaaafffffffffffff1801d40 11111117ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffff5555555555555555555495555555555555555555 555400000000000009401e90 2222222fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffaaaaaaaaaaaaaaaaaaa88aaaaaaaaaaaaaaaaaaa aaaafffffffffffff1801d20 08888887ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffff5555555555555555555495555555555555555555 5554ffffffffffffe9401e80 4444444fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffaaaaaaaaaaaaaaaaaaa88aaaaaaaaaaaaaaaaaaa aaaafffffffffffff1801d40 11111117ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffff0000000000000000000000000000000000000000 0000ffffffffffffe9401e90 2222222fffffffc8ffc00000000000000000000000000000000000000000000000000000 000000000000000000000000000000000000000000000000000000000000000000000000 00000000000000000000000000000000ffffffffffffffffffffffffffffffffffffffff fffffffffffffffff1801d20 08888887ffffffc07fc00000000000000000000000000000000000000000000000000000 000000000000000000000000000000000000000000000000000000000000000000000000 000000000000000000000000000000007fffffffffffffffffffffffffffffffffffffff ffffffffffffffffe9401e80 4444444fffffffc63fc55555555555555555555555555555555555555555555555555555 555555555555555555555555555555555555555555555555555555555555555555555555 5555555555555555555555555549fffdffffffffffffffffffffffffffffffffffffffff fffffffffffffffff1801d40 11111117ffffffcf3fcaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaab1fffe7fffffffffffffffffffffffffffffffffffffff ffffffffffffffffe9401e90 2222222fffffffcf3fc55555555555555555555555555555555555555555555555555555 555555555555555555555555555555555555555555555555555555555555555555555555 5555555555555555555555555549fbfdffffffffffffffffffffffffffffffffffffffff fffffffffffffffff1801d20 08888887ffffffc63fcaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaab1f7fe7fffffffffffffffffffffffffffffffffffffff ffffffffffffffffe9401e80 4444444fffffffe07fc55555555555555555555555555555555555555555555555555555 555555555555555555555555555555555555555555555555555555555555555555555555 5555555555555555555555555549f9fdffffffffffffffffffffffffffffffffffffffff fffffffffffffffff1801d40 11111117fffffff0ffc00000000000000000000000000000000000000000000000000000 000000000000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000011f0fe7fffffffffffffffffffffffffffffffffffffff ffffffffffffffffe9401e90 2222222fffffffffffcfffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffe9e8fdffffffffffffffffffffffffffffffffffffffff fffffffffffffffff1801d20 08888887ffffffffffcfffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff fffffffffffffffffffffffffff1d07e7fffffffffffffffffffffffffffffffffffffff ffffffffffffffffe9401e80 4444444fffffffffffcfffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffe9a03dffffffffffffffffffffffffffffffffffffffff fffffffffffffffff1801d40 11111117ffffffffffcfffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff fffffffffffffffffffffffffff1c03e7fffffffffffffffffffffffffffffffffffffff ffffffffffffffffe9401e90 2222222fffffffffffcfffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffe9801dffffffffffffffffffffffffffffffffffffffff fffffffffffffffff1801d20 08888887ffffffffffcfffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff fffffffffffffffffffffffffff17ffe0000000000000000000000000000000000000000 007fffffffffffffe9401e80 4444444fffffffffffcfffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffe8fffdaaaaaaaaaaaaaaaaaa2aaaaaaaaaaaaaaaaaaaaa aa7ffffffffffffff1801d40 11111117ffffffffffcfffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff fffffffffffffffffffffffffff1fffe5555555555555555551555555555555555555555 557fffffffffffffe97ffe90 2222222fffffffffffcfffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffe9fffdaaaaaaaaaaaaaaaaaa2aaaaaaaaaaaaaaaaaaaaa aa7ffffffffffffff1fffd20 08888887ffffffffffcfffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff fffffffffffffffffffffffffff1fffe5555555555555555551555555555555555555555 557fffffffffffffe9555680 4444444fffffffffffcfffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffe9fffdaaaaaaaaaaaaaaaaaa2aaaaaaaaaaaaaaaaaaaaa aa7ffffffffffffff1aaad40 11111117ffffffffffcfffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff fffffffffffffffffffffffffff1fffe5555555555555555551555555555555555555555 557fffffffffffffe9c01e90 2222222fffffffffffcfffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffe9fffdaaaaaaaaaaaaaaaaaa2aaaaaaaaaaaaaaaaaaaaa aa0000000000000011a01d20 08888887ffffffc03fc00000000000000000000000000000000000000000000000000000 000000000000000000000000001ffc000000000000000000000000000000000000000000 0000000000000000000000000011fffe5555555555555555551555555555555555555555 557fffffffffffffe9c03e80 4444444fffffffc03fc55555555555555555555555555555555555555555555555555555 555555555555555555555555555ffd555555555555555555555555555555555555555555 5555555555555555555555555549fffdaaaaaaaaaaaaaaaaaa2aaaaaaaaaaaaaaaaaaaaa aa7ffffffffffffff1e03d40 11111117fffffffe7fcaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaa9ffcaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaab1fffe5555555555555555551555555555555555555555 557fffffffffffffe9f07e90 2222222ffffffffe7fc55555555555555555555555555555555555555555555555555555 555555555555555555555555555ffd555555555555555555555555555555555555555555 5555555555555555555555555549fffd8000000000000000000000000000000000000000 007ffffffffffffff1e8fd20 08888887fffffffcffcaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaa9ffcaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaab1fffe7fffffffffffffffffffffffffffffffffffffff ffffffffffffffffe9f0fe80 4444444ffffffffcffc55555555555555555555555555555555555555555555555555555 555555555555555555555555555ffd555555555555555555555555555555555555555555 5555555555555555555555555549fffdffffffffffffffffffffffffffffffffffffffff fffffffffffffffff1f9fd40 11111117fffffff9ffcaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaa9ffcaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaab1fffe7fffffffffffffffffffffffffffffffffffffff ffffffffffffffffe9fffe90 2222222ffffffff9ffc55555555555555555555555555555555555555555555555555555 555555555555555555555555554001555555555555555555555555555555555555555555 5555555555555555555555555549fffdffffffffffffffffffffffffffffffffffffffff fffffffffffffffff1fbfd20 08888887fffffff9ffcaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaa9ffcaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaab1fffe7fffffffffffffffffffffffffffffffffffffff ffffffffffffffffe9fffe80 4444444ffffffff3ffc55555555555555555555555555555555555555555555555555555 555555555555555555555555555ffd555555555555555555555555555555555555555555 5555555555555555555555555549fffdd555555555555555555555555555555555555555 555555555555555551555540 11111117fffffff3ffcaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaa9ffcaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaab1fffe2aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaa90 2222222ffffffff3ffc00000000000000000000000000000000000000000000000000000 000000000000000000000000001ffc000000000000000000000000000000000000000000 0000000000000000000000000009fffdffffffffffffffffffffbfffffffffffffffffff fffffdffffffffffffffff20 08888887ffffffffffcfffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff fffffffffffffffffffffffffff1fffe7fffffffffffffffffffbfffffffffffffffffff fffffdffffffffffffffff80 4444444fffffffffffcfffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffe9fffdffffffffffffffffffffbfffffffffffffffffff fffffdffffffffffffffff40 11111117ffffffffffcfffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff fffffffffffffffffffffffffff1fffe7fffffffffffffffffffbfffffffffffffffffff fffffdffffffffffffffff90 2222222fffffffffffcfffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffe9fffdffffffffffffffffffffbfffffffffffffffffff fffffdffffffffffffffff20 08888887ffffffffffcfffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff fffffffffffffffffffffffffff1fffe7fffffffffffffffffffbfffffffffffffffffff fffffdffffffffffffffff80 4444444fffffffffffcfffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffe9fffdffffffffffffffffffffbfffffffffffffffffff fffffdffffffffffffffff40 11111117ffffffffffcfffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff fffffffffffffffffffffffffff1fffe7fffffffffffffffffffbfffffffffffffffffff fffffdffffffffffffffff90 2222222fffffffffffcfffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffe9fffdffffffffffffffffffffbfffffffffffffffffff fffffdffffffffffffffff20 08888887ffffffffffcfffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff fffffffffffffffffffffffffff1fffe7fffffffffffffffffffbfffffffffffffffffff fffffdffffffffffffffff80 4444444fffffffffffcfffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffe9fffdffffffffffffffffffffbfffffffffffffffffff fffffdffffffffffffffff40 11111117ffffffffffcfffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff fffffffffffffffffffffffffff1fffe7fffffffffffffffffffbfffffffffffffffffff fffffdffffffffffffffff90 2222222fffffffffffcfffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffe9fffdffffffffffffffffffffbfffffffffffffffffff fffffdffffffffffffffff20 08888887ffffffffffcfffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff fffffffffffffffffffffffffff1fffe7fffffffffffffffffffbfffffffffffffffffff fffffdffffffffffffffff80 4444444ffffffff0ffc00000000000000000000000000000000000000000000000000000 000000000000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000009fffdffffffffffffffffffffbfffffffffffffffffff fffffdffffffffffffffff40 11111117ffffffe07fcaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaab1fffe7fffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffff90 2222222fffffffc63fc55555555555555555555555555555555555555555555555555555 555555555555555555555555555555555555555555555555555555555555555555555555 5555555555555555555555555549fffdffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffff20 08888887ffffffcf3fcaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaab1fffe7fffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffff80 4444444fffffffe67fc55555555555555555555555555555555555555555555555555555 555555555555555555555555555555555555555555555555555555555555555555555555 5555555555555555555555555549fffdffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffff40 11111117fffffff0ffcaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaab1fffe7fffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffff90 2222222fffffffe07fc55555555555555555555555555555555555555555555555555555 555555555555555555555555555555555555555555555555555555555555555555555555 5555555555555555555555555549fffdfffffffffffffffe7ffc0e07c3ffffffffffffff e7ffc0f0fe7fffffffffff20 08888887ffffffc63fcaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaab1fffe7ffffffffffffff87ffcfee79fffffffffffffff 87ffcfe6787fffffffffff80 4444444fffffffcf3fc55555555555555555555555555555555555555555555555555555 555555555555555555555555555555555555555555555555555555555555555555555555 5555555555555555555555555549fffdfffffffffffffffe7ffcffe73fffffffffffffff e7ffcfe67e7fffffffffff40 11111117ffffffc63fcaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaab1fffe7ffffffffffffffe7ffc1fcf27ffffffffffffff e7ffc1e67e7fffffffffff90 2222222fffffffe07fc55555555555555555555555555555555555555555555555555555 555555555555555555555555555555555555555555555555555555555555555555555555 5555555555555555555555555549fffdfffffffffffffffe7ffccfcf13ffffffffffffff e7ffccf0fe7fffffffffff20 08888887fffffff0ffc00000000000000000000000000000000000000000000000000000 000000000000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000011fffe7ffffffffffffffe7fffcfcf33ffffffffffffff e7fffce67e7fffffffffff80 4444444fffffffffffcfffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffe9fffdfffffffffffffffe7fffcfcf33ffffffffffffff e7fffce67e7fffffffffff40 11111117ffffffffffcfffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff fffffffffffffffffffffffffff1fffe7ffffffffffffffe7fffcf9f33ffffffffffffff e7fffce67e7fffffffffff90 2222222fffffffffffcfffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffe9fffdfffffffffffffffe7e7ccf9f33ffffffffffffff e7e7cce67e7fffffffffff20 08888887ffffffffffcfffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff fffffffffffffffffffffffffff1fffe3ffffffffffffff81e7e1f9f87ffffffffffffff 81e7e1f0f81fffffffffff80 4444444fffffffffffcfffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffe9fffdffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffff40 11111117ffffffffffcfffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff fffffffffffffffffffffffffff1fffe7fffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffff90 2222222fffffffffffcfffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffe9fffdffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffff20 08888887ffffffffffcfffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff fffffffffffffffffffffffffff1fffe7fffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffff80 4444444fffffffffffcfffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffe9fffdffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffff40 11111117ffffffffffcfffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff fffffffffffffffffffffffffff1fffe7fffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffff90 2222222fffffffffffcfffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffe9fffdffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffff20 08888887ffffffffffcfffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff fffffffffffffffffffffffffff1fffe7fffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffff80 4444444fffffffffffcfffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffe9fffd8000000000000000000000000000000000000000 000000000000000000000040 11111117fffffff0ffc00000000000000000000000000000000000000000000000000000 000000000000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000011fffe0000000000000000000000000000000000000000 000000000000000000000190 2222222fffffffe07fc55555555555555555555555555555555555555555555555555555 555555555555555555555555555555555555555555555555555555555555555555555555 5555555555555555555555555549aaadffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffdffe20 08888887ffffffc63fcaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaab1555e2aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaffd80 4444444fffffffcf3fc55555555555555555555555555555555555555555555555555555 555555555555555555555555555555555555555555555555555555555555555555555555 5555555555555555555555555549801dd555555555555555555555555555555555555555 555555555555555555d7fe40 11111117ffffffcf3fcaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaab1401e0000000000000000000000000000000000000000 000000000000000001a2fd90 2222222fffffffc63fc55555555555555555555555555555555555555555555555555555 555555555555555555555555555555555555555555555555555555555555555555555555 5555555555555555555555555549801d8000000000000000000000000000000000000000 000000000000000001c17e20 08888887ffffffe03fcaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaab1401e0000000000000000000000000000000000000000 000000000000000001a0bd80 4444444ffffffff13fc55555555555555555555555555555555555555555555555555555 555555555555555555555555555555555555555555555555555555555555555555555555 5555555555555555555555555549801d8000000000000000000000000000000000000000 000000000000000001c01640 11111117ffffffff3fcaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaab1401e0000000000000000000000000000000000000000 000000000000000001a01d90 2222222fffffffc63fc55555555555555555555555555555555555555555555555555555 555555555555555555555555555555555555555555555555555555555555555555555555 5555555555555555555555555549801d8000000000000000000000000000000000000000 000000000000000001c03e20 08888887ffffffe07fcaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaab1401e0000000000000000000000000000000000000000 000000000000000001a0fd80 4444444ffffffff0ffc00000000000000000000000000000000000000000000000000000 000000000000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000009801d8000000000000000000000000000000000000000 000000000000000001c1fe40 11111117ffffffffffcfffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff fffffffffffffffffffffffffff1401e0000000000000000000000000000000000000000 000000000000000001a7fd90 2222222fffffffffffcfffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffe9801dffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffdffe20 08888887ffffffffffcfffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff fffffffffffffffffffffffffff1401e7fffffffffffffffffffffffffffffffffffffff ffffffffffffffffffbffd80 4444444fffffffffffcfffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffe9801dffffffffffffffffffffffffffffffffffffffff fffffffffffffffffffffe40 11111117ffffffffffcfffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff fffffffffffffffffffffffffff1401e5555555555555555555555555555555555555555 555555555555555555555590 2222222fffffffffffcfffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffe9801daaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaa20 08888887ffffffffffcfffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff fffffffffffffffffffffffffff1401e7ffffeffffffffffffffffffffffffff7fffffff ffffffffffffffffffbfff80 4444444fffffffffffcfffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffe9801dfffffeffffffffffffffffffffffffff7fffffff ffffffffffffffffffbfff40 11111117ffffffffffcfffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff fffffffffffffffffffffffffff1401e7ffffeffffffffffffffffffffffffff7fffffff ffffffffffffffffffbfff90 2222222fffffffffffcfffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffe9801dfffffeffffffffffffffffffffffffff7fffffff ffffffffffffffffffbfff20 08888887ffffffffffcfffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff fffffffffffffffffffffffffff1401e7ffffeffffffffffffffffffffffffff7fffffff ffffffffffffffffffbfff80 4444444fffffffffffcfffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffe9801dfffffeffffffffffffffffffffffffff7fffffff ffffffffffffffffffbfff40 11111117ffffffffffcfffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff fffffffffffffffffffffffffff1401e7ffffeffffffffffffffffffffffffff7fffffff ffffffffffffffffffbfff90 2222222ffffffdf0ffc0000000000000000000000000000000000000f800003c00007800 01e00003c000000000000000000000000000000000000003c00000fe0000000000000000 0000000000000000000000000009801dfffffeffffffffffffffffffffffffff7fffffff ffffffffffffffffffbfff20 08888887fffff9e07fcffffffffffffffffffffffffffffffffffffefaeeeebceeee7aee edeeeeebdffffffffffffffffffffffffffffffffffffffbceeeeefeaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaab1401e7ffffeffffffffffffffffffffffffff7fffffff ffffffffffffffffffbfff80 4444444fffffc1c63fc7777777777777777777777777777777777776fbbbbbbdbbbb7bbb b9ebbbbbd777777777777777777777777777777777777773dbbbbafe5555555555555555 5555555555555555555555555549801dfffffeffffffffffffffffffffffffff7fffffff ffffffffffffffffffbfff40 11111117ffffc1cf3fcffffffffffffffffffffffffffffffffffffefaeeeebceeee7aee edeeeeebdffffffffffffffffffffffffffffffffffffffbceeeeefeaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaab1401e7ffffeffffffffffffffffffffffffff7fffffff ffffffffffffffffffbfff90 2222222ffffff9cf3fcddddddddddddddddddddddddddddddddddddcfbbbbbbdbbbb7bbb b9ebbbbbdddddddddddddddddddddddddddddddddddddddbdbbbbafe5555555555555555 5555555555555555555555555549801dfffffeffffffffffffffffffffffffff7fffffff ffffffffffffffffffbfff20 08888887fffff9cf3fcffffffffffffffffffffffffffffffffffffefaeeeebceeee7aee edeeeeebdffffffffffffffffffffffffffffffffffffffbceeeeefeaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaab1401e7ffffeffffffffffffffffffffffffff7fffffff ffffffffffffffffffbfff80 4444444ffffff9cf3fc7777777777777777777777777777777777776fbbbbbbdbbbb7bbb b9ebbbbbd777777777777777777777777777777777777773dbbbbafe5555555555555555 5555555555555555555555555549801dfffffeffffffffffffffffffffffffff7fffffff ffffffffffffffffffbfff40 11111117fffff9cf3fcffffffffffffffffffffffffffffffffffffe02eeee80eeee02ee ec0eeee81ffffffffffffffffffffffffffffffffffffff80eeeee00aaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaab1401e7fffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffff90 2222222ffffff9cf3fcddddddddddddddddddddddddddddddddddddcfbbbbbbdbbbb7bbb b9ebbbbbdddddddddddddddddddddddddddddddddddddddbdbbbbafe5555555555555555 5555555555555555555555555549801dffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffff20 08888887fffff9c63fcffffffffffffffffffffffffffffffffffffefaeeeebceeee7aee edeeeeebdffffffffffffffffffffffffffffffffffffffbceeeeefeaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaab1401e7fffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffff80 4444444ffffff9e07fc7777777777777777777777777777777777776fbbbbbbdbbbb7bbb b9ebbbbbd777777777777777777777777777777777777773dbbbbafe5555555555555555 5555555555555555555555555549801dffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffff40 11111117fffff9f0ffc0000000000000000000000000000000000000f800003c00007800 01e00003c000000000000000000000000000000000000003c00000fe0000000000000000 0000000000000000000000000011401e7fffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffff90 2222222fffffffffffcfffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffe9801dffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffff20 08888887ffffffffffcfffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff fffffffffffffffffffffffffff1401e7ffe3ffffffffffffffffffffc3fff0fffffffff fffffffffffe1fff03ffff80 4444444fffffffffffcfffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffe9801dfffc9ffffffffffffffffffff99ffe67ffffffff fffffffffffccfff73ffff40 11111117ffffffffffcfffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff fffffffffffffffffffffffffff1401e7ff9cffffffffffffffffffff99fffe7ffffffff fffffffffffccffff3ffff90 2222222fffffffffffcfffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffe9801dfff9cfffffffffffffffffffff9fffe7ffffffff ffffffffffffcfffe7ffff20 08888887ffffffffffcfffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff fffffffffffffffffffffffffff1401e7ff9cfffffffffffffffffffff9fff8fffffffff ffffffffffffcfffe7ffff80 4444444fffffffffffcfffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffe9801dfff9cfffffffffffffffffffff3fffe7ffffffff ffffffffffff9fffe7ffff40 11111117ffffffffffcfffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff fffffffffffffffffffffffffff1401e7ff9cffffffffffffffffffffe7fffe7ffffffff ffffffffffff3fffe7ffff90 2222222fffffffffffcfffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffe9801dfff9cffffffffffffffffffffcffffe7ffffffff fffffffffffe7fffcfffff20 08888887ffffffffffcfffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff fffffffffffffffffffffffffff1401e7cfc9ffffffffffffffffffff9ff3e67ffffffff fffffffffffcff9fcfffff80 4444444fffffffffffcfffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffe9801dfcfe3ffffffffffffffffffff81f3f0fffffffff fffffffffffc0f9fcfffff40 11111117ffffffffffcfffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff fffffffffffffffffffffffffff1401e7fffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffff90 2222222fffffffffffcfffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffe9801dffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffff20 08888887fffffdfeffc00000000000000000000000000000000000000000000000000000 000000000000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000011401e7fffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffff80 4444444ffffff9fcffc55555555555555555555555555555555555555555555555555555 555555555555555555555555555555555555555555555555555555555555555555555555 5555555555555555555555555549801dffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffff40 11111117ffffc1e0ffcaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaab1401e7fffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffff90 2222222fffffc1e0ffc55555555555555555555555555555555555555555555555555555 555555555555555555555555555555555555555555555555555555555555555555555555 5555555555555555555555555549801dffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffff20 08888887fffff9fcffcaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaab1401e7fffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffff80 4444444ffffff9fcffc55555555555555555555555555555555555555555555555555555 555555555555555555555555555555555555555555555555555555555555555555555555 5555555555555555555555555549801dffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffff40 11111117fffff9fcffcaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaab1401e2aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaa90 2222222ffffff9fcffc55555555555555555555555555555555555555555555555555555 555555555555555555555555555555555555555555555555555555555555555555555555 5555555555555555555555555549801da222222222222222222222222222222222222222 222222222222222222222220 08888887fffff9fcffcaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaab1401e0888888888888888888888888888888888888888 888888888888888888888880 4444444ffffff9fcffc55555555555555555555555555555555555555555555555555555 555555555555555555555555555555555555555555555555555555555555555555555555 5555555555555555555555555549801dc444444444444444444444444444444444444444 444444444444444444444440 11111117fffff9fcffcaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaab1401e1111111111111111111111111111111111111111 111111111111111111111110 2222222ffffff9fcffc00000000000000000000000000000000000000000000000000000 000000000000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000009801da222222222222222222222222222222222222222 222222222222222222222220 08888887ffffffffffcfffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff fffffffffffffffffffffffffff1401e0888888888888888888888888888888888888888 888888888888888888888880 4444444fffffffffffcfffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffe9801dc444444444444444444444444444444444444444 444444444444444444444440 11111117ffffffffffcfffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff fffffffffffffffffffffffffff1401e1111111111111111111111111111111111111111 111111111111111111111110 2222222fffffffffffcfffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffe9801da222222222222222222222222222222222222222 222222222222222222222220 08888887ffffffffffcfffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff fffffffffffffffffffffffffff1401e0888888888888888888888888888888888888888 888888888888888888888880 4444444fffffffffffcfffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffe9bffdc444444444444444444444444444444444444444 444444444444444444444440 11111117ffffffffffcfffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff fffffffffffffffffffffffffff17ffe1111111111111111111111111111111111111111 111111111111111111111110 2222222fffffffffffcfffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffe9fffda222222222222222222222222222222222222222 222222222222222222222220 08888887ffffffffffcfffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff fffffffffffffffffffffffffff1fffe0888888888888888888888888888888888888888 888888888888888888888880 4444444fffffffffffcfffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffffe9fffdc444ffff444444444444444444444444444444444444 444444444444444444444440 11111117ffffffffffcfffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff fffffffffffffffffffffffffff1fffe1111111111111111111111111111111111111111 111111111111111111111110 2222222fffffffffffcfffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffe9fffda222222222222222222222222222222222222222 222222222222222222222220 08888887ffffffffffcfffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff fffffffffffffffffffffffffff1fffe0888888888888888888888888888888888888888 888888888888888888888880 4444444ffffffdf0ffc00000000000000000000000000000000000000000000000000000 000000000000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000009fffdc444444444444444444444444444444444444444 444444444444444444444440 11111117fffff9e07fcaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaab1fffe1111111111111111111111111111111111111111 111111111111111111111110 2222222fffffc1c63fc55555555555555555555555555555555555555555555555555555 555555555555555555555555555555555555555555555555555555555555555555555555 5555555555555555555555555549fffda222222222222222222222222222222222222222 222222222222222222222220 08888887ffffc1cf3fcaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaab1fffe0888888888888888888888888888888888888888 888888888888888888888880 4444444ffffff9cf3fc55555555555555555555555555555555555555555555555555555 555555555555555555555555555555555555555555555555555555555555555555555555 5555555555555555555555555549fffdc444444444444444444444444444444444444444 444444444444444444444440 11111117fffff9fe3fcaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaab1fffe1111111111111111111111111111111111111111 111111111111111111111110 2222222ffffff9fc7fc55555555555555555555555555555555555555555555555555555 555555555555555555555555555555555555555555555555555555555555555555555555 5555555555555555555555555549fffda222222222222222222222222222222222222222 222222222222222222222220 08888887fffff9f8ffcaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaab1fffe0888888888888888888888888888888888888888 888888888888888888888880 4444444ffffff9f1ffc55555555555555555555555555555555555555555555555555555 555555555555555555555555555555555555555555555555555555555555555555555555 5555555555555555555555555549fffdc444444444444444444444444444444444444444 444444444444444444444440 11111117fffff9e3ffcaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaab1fffe1111111111111111111111111111111111111111 111111111111111111111110 2222222ffffff9c03fc55555555555555555555555555555555555555555555555555555 555555555555555555555555555555555555555555555555555555555555555555555555 5555555555555555555555555549fffda222222222222222222222222222222222222222 222222222222222222222220 08888887fffff9c03fc00000000000000000000000000000000000000000000000000000 000000000000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000011fffe0888888888888888888888888888888888888888 888888888888888888888880 4444444fffffffffffcfffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffe9fffdc444444444444444444444444444444444444444 444444444444444444444440 11111117ffffffffffcfffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff fffffffffffffffffffffffffff1fffe1111111111111111111111111111111111111111 111111111111111111111110 2222222fffffffffffcfffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffe9fffda222222222222222222222222222222222222222 222222222222222222222220 08888887ffffffffffcfffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff fffffffffffffffffffffffffff1fffe0888888888888888888888888888888888888888 888888888888888888888880 4444444fffffffffffcfffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffe8aaa9c444444444444444444444444444444444444444 444444444444444444444440 11111117ffffffffffcfffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff fffffffffffffffffffffffffff155561111111111111111111111111111111111111111 111111111111111111111110 2222222fffffffffffcfffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffe9801da222222222222222222222222222222222222222 222222222222222222222220 08888887ffffffffffcfffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff fffffffffffffffffffffffffff1c01e0888888888888888888888888888888888888888 888888888888888888888880 4444444fffffffffffcfffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffe9e03dc444444444444444444444444444444444444444 444444444444444444444440 11111117ffffffffffcfffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff fffffffffffffffffffffffffff1d03e1111111111111111111111111111111111111111 111111111111111111111110 2222222fffffffffffcfffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffe9e07da222222222222222222222222222222222222222 222222222222222222222220 08888887ffffffffffcfffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff fffffffffffffffffffffffffff1f0fe0888888888888888888888888888888888888888 888888888888888888888880 4444444fffffffffffcfffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffe9f8fdc444444444444444444444444444444444444444 444444444444444444444440 11111117fffffdf0ffc00000000000000000000000000000000000000000000000000000 000000000000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000011f5fe1111111111111111111111111111111111111111 111111111111111111111110 2222222ffffff9e07fc55555555555555555555555555555555555555555555555555555 555555555555555555555555555555555555555555555555555555555555555555555555 5555555555555555555555555549fbfda222222222222222222222222222222222222222 222222222222222222222220 08888887ffffc1c63fcaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaab1fffe0888888888888888888888888888888888888888 888888888888888888888880 4444444fffffc1cf3fc55555555555555555555555555555555555555555555555555555 555555555555555555555555555555555555555555555555555555555555555555555555 5555555555555555555555555549fffdc444444444444444444444444444444444444444 444444444444444444444440 11111117fffff9fe3fc55555555555555555555555555555555555555555555555555555 555555555555555555555555555555555555555555555555555555555555555555555555 5555555555555555555555555550aaaa1111111111111111111111111111111111111111 111111111111111111111110 2222222ffffff9f87fcaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaa95555a222222222222222222222222222222222222222 222222222222222222222220 08888887fffffffffffffffffffffbfffffffffffffffffffff7ffffffffffffffffffff f7fffffffffffffffffffff7fffffffffffffffffffff7fffffffffffffffffffff7ffff fffffffffffffffff7ffffffffffffff0888888888888888888888888888888888888888 888888888888888888888880 4444444ffffffffffffffffffffffbfffffffffffffffffffff7ffffffffffffffffffff f7fffffffffffffffffffff7fffffffffffffffffffff7fffffffffffffffffffff7ffff fffffffffffffffff7ffffffffffffffc444444444444444444444444444444444444444 444444444444444444444440 11111117fffffffffffffffffffffbfffffffffffffffffffff7ffffffffffffffffffff f7fffffffffffffffffffff7fffffffffffffffffffff7fffffffffffffffffffff7ffff fffffffffffffffff7ffffffffffffff1111111111111111111111111111111111111111 111111111111111111111110 2222222ffffffffffffffffffffffbfffffffffffffffffffff7ffffffffffffffffffff f7fffffffffffffffffffff7fffffffffffffffffffff7fffffffffffffffffffff7ffff fffffffffffffffff7ffffffffffffffa222222222222222222222222222222222222222 222222222222222222222220 08888887fffffffffffffffffffffbfffffffffffffffffffff7ffffffffffffffffffff f7fffffffffffffffffffff7fffffffffffffffffffff7fffffffffffffffffffff7ffff fffffffffffffffff7ffffffffffffff0888888888888888888888888888888888888888 888888888888888888888880 4444444ffffffffffffffffffffffbfffffffffffffffffffff7ffffffffffffffffffff f7fffffffffffffffffffff7fffffffffffffffffffff7fffffffffffffffffffff7ffff fffffffffffffffff7ffffffffffffffc444444444444444444444444444444444444444 444444444444444444444440 11111117fffffffffffffffffffffbfffffffffffffffffffff7ffffffffffffffffffff f7fffffffffffffffffffff7fffffffffffffffffffff7fffffffffffffffffffff7ffff fffffffffffffffff7ffffffffffffff1111111111111111111111111111111111111111 111111111111111111111110 2222222ffffffffffffffffffffffbfffffffffffffffffffff7ffffffffffffffffffff f7fffffffffffffffffffff7fffffffffffffffffffff7fffffffffffffffffffff7ffff fffffffffffffffff7ffffffffffffffa222222222222222222222222222222222222222 222222222222222222222220 08888887fffffffffffffffffffffbfffffffffffffffffffff7ffffffffffffffffffff f7fffffffffffffffffffff7fffffffffffffffffffff7fffffffffffffffffffff7ffff fffffffffffffffff7ffffffffffffff0888888888888888888888888888888888888888 888888888888888888888880 4444444ffffffffffffffffffffffbfffffffffffffffffffff7ffffffffffffffffffff f7fffffffffffffffffffff7fffffffffffffffffffff7fffffffffffffffffffff7ffff fffffffffffffffff7ffffffffffffffc444444444444444444444444444444444444444 444444444444444444444440 11111117fffffffffffffffffffffbfffffffffffffffffffff7ffffffffffffffffffff f7fffffffffffffffffffff7fffffffffffffffffffff7fffffffffffffffffffff7ffff fffffffffffffffff7ffffffffffffff1111111111111111111111111111111111111111 111111111111111111111110 2222222ffffffffffffffffffffffbfffffffffffffffffffff7ffffffffffffffffffff f7fffffffffffffffffffff7fffffffffffffffffffff7fffffffffffffffffffff7ffff fffffffffffffffff7ffffffffffffffa222222222222222222222222222222222222222 222222222222222222222220 08888887fffffffffffffffffffffbfffffffffffffffffffff7ffffffffffffffffffff f7fffffffffffffffffffff7fffffffffffffffffffff7fffffffffffffffffffff7ffff fffffffffffffffff7ffffffffffffff0888888888888888888888888888888888888888 888888888888888888888880 4444444ffffffffffffffffffffffbfffffffffffffffffffff7ffffffffffffffffffff f7ffffff5555555555555555555555555555555555555555555555555555555555555555 555555555555555555555555555555555555555555555555555555555555555555555555 555554444444444444444440 11111117fffffffffffffffffffffbfffffffffffffffffffff7ffffffffffffffffffff f7fffffeffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffffff111111111111111110 2222222fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff fffffc222222222222222220 08888887ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff fffffffeffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff fffffe888888888888888880 4444444fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffe0001fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff e0001c444444444444444440 11111117ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff fffffffeefffdffffffff3fffffff3fffffffff3ffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ef7bdf111111111111111110 2222222fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffefffdff9fffff3fffffff3fffffffe73ffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ef7bdc222222222222222220 08888887ffffffffffffffffe7ffc0e07c7fffffffffffe7ffc0e0703fffffffffffcfff 81f0f8feefffdff9fffff3fffffff3fffffffe73ffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ef7bde888888888888888880 4444444fffffffffffffffff87ffcfe7f93fffffffffff87ffcfe7f3ffffffffffff0fff 9fe7f27fef83dff0e0f0738fff0ff3e1c87c4c321e0fffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ef7bdc444444444444444440 11111117ffffffffffffffffe7ffcfe7f39fffffffffffe7ffcfe7f3ffffffffffffcfff 9fcfe73eef01dff0c060331ffe07f3c0c0380c300c07ffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff e07bdf111111111111111110 2222222fffffffffffffffffe7ffc1e0f39fffffffffffe7ffc1e0f07fffffffffffcfff 83c9e73fee00dff9ce67323ffc63f39e47318e71cce7ffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff effbdc222222222222222220 08888887ffffffffffffffffe7ffcce6739fffffffffffe7ffcce6733fffffffffffcfff 99c4e73eee00dff9fc61f07ffcfff3804f33ce73cc3fffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff effbde888888888888888880 4444444fffffffffffffffffe7fffcfe739fffffffffffe7fffcfe7f3fffffffffffcfff f9cce73fee00dff9e070703ffcfff3804f33ce73ce0fffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff effbdc444444444444444440 11111117ffffffffffffffffe7fffcfe739fffffffffffe7fffcfe7f3fffffffffffcfff f9cce73eee00dff9c67e313ffcfff39fcf33ce73cfc7ffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff effbdf111111111111111110 2222222fffffffffffffffffe7fffcfe739fffffffffffe7fffcfe7f3fffffffffffcfff f9cce73fee00dff9ce67331ffc63f38c4f318e73cce7ffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff e003dc222222222222222220 08888887ffffffffffffffffe7e7cce6793fffffffffffe7e7cce6733fffffffffffcfcf 99ccf27eef01dff8c060339ffe07f3c0cf380e33cc07ffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff efffde888888888888888880 4444444fffffffffffffffff81e7e1f0fc7fffffffffff81e7e1f0f87fffffffffff03cf c3e1f8ffef83dffce230738fff0ff3e1cf3c4f33ce0fffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff efffdc444444444444444440 11111117ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff fffffffeefffdfffffffffffffffffffffffcfffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff efffdf111111111111111110 2222222fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffefffdffffffffffffffffffffff18fffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff efffdc222222222222222220 08888887ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff fffffffee0001ffffffffff007fffffffff81fffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff e0001e888888888888888880 4444444fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff fffffffffffffffffffffffffffffffffffc3fffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff fffffc444444444444444440 11111117ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff fffffffeffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffffff111111111111111110 2222222fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff fffffc222222222222222220 08888887ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff fffffffeaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaa888888888888888880 4444444fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff fff000000000000000000000000000000000000000000000000000000000000000000000 000000444444444444444440 111111100000000000000000000000000000000000000000000000000000000000000000 00000000ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff fff000000000000000000000000000000000000000000000000000000000000000000000 000007111111111111111110 222222280000000000000000000000000000000000000000000000000000000000000000 00000001ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff fff3ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff fffff8222222222222222220 08888881ffefffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff fffffffeffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff fff3ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff fffff6888888888888888880 44444449ffdfffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff fff3ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff fffff8444444444444444440 11111111ffbfffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff fffffffeffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff fff3ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff fffff7111111111111111110 22222229fd3fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff fffffffffffffffe3fffffffffff0fffffffff8fffffffffffffffffffffffffffffcf87 e3f3ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff fffff8222222222222222220 08888881fa3fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff fffffffef187ffff3ffffffffffe7fff3fffffcfffffffffff3fffcfffffffffffff0f33 c9f3ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff fffff6888888888888888880 44444449f43fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff fffffffff9cfffff3ffffffffffe7fff3fffffcfffffffffff3fffcfffffffffffffcff3 9cf3ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff fffff8444444444444444440 11111111a03fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff fffffffef8c8c48323c3c47ff8781ffe0707c0cc7ff85ffe06070781e1f03cffffffcff3 9cf3ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff fffff7111111111111111110 22222229c03fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff fffffffff8cce6491999e3fff33e7fff3ff39cc9fff31ffce73ff3cfcce73cffffffcfc7 9cf3ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff fffff8222222222222222220 08888881f03fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff fffffffef94ce649393ce7ffe79e7fff3ff39fc3ffe79ffcff3ff3cf9e67ffffffffcff3 9cf3ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff fffff6888888888888888880 44444449fc3fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff fffffffff94ce6493900e7ffe79e7fff3f03c1c3ffe7fffe0f3f03cf80707fffffffcff3 9cf3ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff fffff8444444444444444440 11111111fe3fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff fffffffef98ce649393fe7ffe79e7fff3e73fcc9ffe7ffffe73e73cf9fff3fffffffcff3 9cf3ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff fffff7111111111111111110 22222229ffbfffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff fffffffff98cc6491998e7fff33e7fff32639cccfff39ffce73263cccc673cffffffcf33 c9f3ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff fffff8222222222222222220 08888881ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff fffffffef0ce204823c1c0fff8781fff8711818c7ff83ffc0f8711e1e0e07cffffff0387 e3f3ff0007ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff fffff6888888888888888880 44444449ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff fff3ff6ee7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff fffff8444444444444444440 11111111ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff fffffffeffffffffffffffffffffffffffffffffc01fffffffffffffffffffffffffffff fff3ff3bb7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff fffff7111111111111111110 22222228aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaabffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff fff3ff6ee7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff fffff8222222222222222220 888888815555555555555555555555555555555555555555555555555555555555555555 55555554ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff fff3ff3bb7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff fffff6888888888888888880 4444444fffffffffffffffffffffffffffbffffffffffffffffffffffbffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff fff3ff6ee7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff fffff8444444444444444440 11111117ffffffffffffffffffffffffffbffffffffffffffffffffffbffffffffffffff fffffffeffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff fff3ff3bb7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff fffff7111111111111111110 2222222fffffffffffffffffffffffffffbffffffffffffffffffffffbffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff fff3ff6ee7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff fffff8222222222222222220 88888887ffffffffffffffffffffffffffbffffffffffffffffffffffbffffffffffffff fffffffeffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff fff3ff3bb7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff fffff6888888888888888880 4444444fffffffffffffffffffffffffffbffffffffffffffffffffffbffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff fff3ff6ee7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff fffff8444444444444444440 11111117ffffffffffffffffffffffffffbffffffffffffffffffffffbffffffffffffff fffffffeffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff fff3ff3bb7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff fffff7111111111111111110 2222222fffffffffffffffffffffffffffbffffffffffffffffffffffbffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff fff3ff6ee7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff fffff8222222222222222220 88888887ffffffffffffffffffffffffffbffffffffffffffffffffffbffffffffffffff fffffffeffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff fff3ff3bb7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff fffff6888888888888888880 4444444fffffffffffffffffffffffffffbffffffffffffffffffffffbffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff fff3ff6ee7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff fffff8444444444444444440 11111117ffffffffffffffffffffffffffbffffffffffffffffffffffbffffffffffffff fffffffeffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff fff3ff3bb7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff fffff7111111111111111110 2222222fffffffffffffffffffffffffffbffffffffffffffffffffffbffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff fff3ff6ee7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff fffff8222222222222222220 88888887ffffffffffffffffffffffffffbffffffffffffffffffffffbffffffffffffff fffffffeffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff fff3ff3bb7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff fffff6888888888888888880 4444444fffffffffffffffffffffffffffbffffffffffffffffffffffbffffffffffffff ffffffffffffffffff87fffffcfffffffffffff1fffe781f1f8703ffffffffffffffffff fff3ff6ee7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff fffff8444444444444444440 11111117ffffffffffffffffffffffffffbffffffffffffffffffffffbffffffffffffff fffffffef00fff3fffe7fff3fcffffffffffffe4fff87b9e4f3f73ffffffffffffffffff fff3ff3bb7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff fffff7111111111111111110 2222222fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff fffffffff24fff3fffe7fff3ffffffffffffffce7ffe7f9ce67ff3ffffffffffffffffff fff3ff6ee7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff fffff8222222222222222220 88888887ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff fffffffef24e1e0707e7ffe070f20e1f9fffffce7ffe7f3ce64fe7ffe070f85fffffffff fff3ff3bb7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff fffff6888888888888888880 4444444fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff fffffffffe7ccf3ff3e7fff3fcf924cf9fffffce7ffe7f3ce627e7ffce66731fffffffff fff3ff6ee7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff fffff8444444444444444440 11111117ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff fffffffefe79e73ff3e7fff3fcf921e7ffffffce7ffe7f3ce667e7ffcfcf279fffffffff fff3ff3bb7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff fffff7111111111111111110 2222222fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff fffffffffe79e73f03e7fff3fcf92007ffffffce7ffe7f3ce667e7ffe0c027ffffffffff fff3ff6ee7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff fffff8222222222222222220 88888887ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff fffffffefe79e73e73e7fff3fcf921ffffffffce7ffe7e7ce667cffffe4fe7ffffffffff fff3ff3bb7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff fffff6888888888888888880 4444444fffffffffffffffffffff1ffff3fffffffffffffffff8fffc3fffffffffffffff ff9fff87fe7ccf3263e7fff33cf924c79fffffe4f9fe7e7e4e67cfffce66339e7fffffff fff3ff6ee7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff fffff8444444444444444440 11111117fffffffffffffffffffe4fffe3fffffffffffffffff27ff99fffffffffffffff fe1fff32fc3e1f871181fff87031260f9ffffff1f9f81e7f1f0fcfffc0f0783e7fffffff fff3ff3bb7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff fffff7111111111111111110 2222222ffffffffffffffffffffce7ffc3ffffffffffffffffe73ff99fffffffffffffff ff9fff33ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff fff3ff6ee7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff fffff8222222222222222220 88888887fffffffffffffffffffce7ffd3ffffffffffffffffe73ff99fffffffffffffff ff9ffff2ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff fff3ff3bb7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff fffff6888888888888888880 4444444ffffffffffffffffffffce7ffb3ffffffffffffffffe73ffc3fffffffffffffff ff9ffff3ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff fff3ff6ee7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff fffff8444444444444444440 11111117fffffffffffffffffffce7ff33ffffffffffffffffe73ff99fffffffffffffff ff9fffe6ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff fff3ff3bb7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff fffff7111111111111111110 2222222ffffffffffffffffffffce7ff73ffffffffffffffffe73ff99fffffffffffffff ff9fffcfffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff fff3ff6ee7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff fffff8222222222222222220 88888887fffffffffffffffffffce7ff01ffffffffffffffffe73ff99fffffffffffffff ff9fff9effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff fff3ff3bb7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff fffff6888888888888888880 4444444ffffffffffffffffffffe4f9ff3fffffffffffffffff27cf99fffffffffffffff ff9f9f3fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff fff3ff6ee7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff fffff8444444444444444440 11111117ffffffffffffffffffff1f9fe1fffffffffffffffff8fcfc3fffffffffffffff fe079f02ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff fff3ff3bb7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff fffff7111111111111111110 2222222fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff fff3ff6ee7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff fffff8222222222222222220 88888887ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff fffffffeffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff fff3ff3bb7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff fffff6888888888888888880 4444444fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff fff3ff6ee7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff fffff8444444444444444440 11111117ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff fffffffeffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff fff3ff3bb7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff fffff7111111111111111110 2222222fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff fff3ff6ee7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff fffff8222222222222222220 88888887ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff fffffffeffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff fff3ff3bb7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff fffff6888888888888888880 4444444fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff fff3ff6ee7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff fffff8444444444444444440 11111117ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff fffffffeffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff fff3ff3bb7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff fffff7111111111111111110 2222222aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaabffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff fff3ff6ee7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff fffff8222222222222222220 888888888888888888888888888888888888888888888888888888888888888888888888 88888888ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff fff3ff3bb7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff fffff6888888888888888880 444444444444444444444444444444444444444444444444444444444444444444444444 44444445ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff fff3ff6ee7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff fffff8444444444444444440 111111111111111111111111111111111111111111111111111111111111111111111111 11111110ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff fff3ff3bb7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff fffff7111111111111111110 222222222222222222222222222222222222222222222222222222222222222222222222 22222223fffffffffffffffffffffffffffffff0ffffffffff1fffffffffffffffffffff fff3ff6ee7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff fffff8222222222222222220 888888888888888888888888888888888888888888888888888888888888888888888888 88888888ffff85cffffff9ffffff3fffcffffffcffffffff9f9fffffffffffffffffffff fff3ff3bb7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff fffff6888888888888888880 444444444444444444444444444444444444444444444444444444444444444444444444 44444445ffff31cffffff9ffffff3fffcffffffcffffffff9f9fffffffffffffffffffff fff3ff6ee7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff fffff8444444444444444440 111111111111111111111111111111111111111111111111111111111111111111111111 11111110ffff3981c1e2303ffe06070781e1fffcfc388e230391ffffffffffffffffffff fff3ff3bb7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff fffff7111111111111111110 222222222222222222222222222222222222222222222222222222222222222222222222 22222223ffff1fcffcf1f9fffce73ff3cfccfffcf99c64c79f8cffffffffffffffffffff fff3ff6ee7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff fffff8222222222222222220 888888888888888888888888888888888888888888888888888888888888888888888888 88888888ffff83cffcf3f9fffcff3ff3cf9e7ffcf3cce4e79f9cffffffffffffffffffff fff3ff3bb7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff fffff6888888888888888880 444444444444444444444444444444444444444444444444444444444444444444444444 44444445fffff1cfc0f3f9fffe0f3f03cf807ffcf00ce4e79f9cffffffffffffffffffff fff3ff6ee7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff fffff8444444444444444440 111111111111111111111111111111111111111111111111111111111111111111111111 11111110ffff39cf9cf3f9ffffe73e73cf9ffffcf3fce4e79f9cffffffffffffffffffff fff3ff3bb7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff fffff7111111111111111110 222222222222222222222222222222222222222222222222222222222222222222222222 22222223ffff19cc98f3f99ffce73263cccc7ffcf98ce4c7999cffffffffffffffffffff fff3ff6ee7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff fffff8222222222222222220 888888888888888888888888888888888888888888888888888888888888888888888888 88888888ffff43e1c4607c3ffc0f8711e1e0fff03c184227c3087fffffffffffffffffff fff3ff3bb7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff fffff6888888888888888880 444444444444444444444444444444444444444444444444444444444444444444444444 44444445ffffffffffffffffffffffffffffffffffffffe7ffffffffffffffffffffffff fff3ff6ee7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff fffff8444444444444444440 111111111111111111111111111111111111111111111111111111111111111111111111 11111110ffffffffffffffffffffffffffffffffffffffe7ffffffffffffffffffffffff fff3ff3bb7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff fffff7111111111111111110 222222222222222222222222222222222222222222222222222222222222222222222222 22222223fffffffffffffffffffffffffffffffffffffe0fffffffffffffffffffffffff fff3ff6ee7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff fffff8222222222222222220 888888888888888888888888888888888888888888888888888888888888888888888888 88888888ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff fff3ff3bb7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff fffff6888888888888888880 444444444444444444444444444444444444444444444444444444444444444444444444 44444445ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff fff3ff6ee7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff fffff8444444444444444440 111111111111111111111111111111111111111111111111111111111111111111111111 11111110ffc0000000000000000000000000000000000000000000000000000000000000 3ff3ff3bb7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff fffff7111111111111111110 222222222222222222222222222222222222222222222222222222222222222222222222 22222223ffc0000000000000000000000000000000000000000000000000000000000000 3ff3ff6ee7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff fffff8222222222222222220 888888888888888888888888888888888888888888888888888888888888888888888888 88888888ffc55555557fffffffffffffffffffffffffffffffffffffffffffffffffffff 7ff3ff3bb7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff fffff6888888888888888880 444444444444444444444444444444444444444444444444444444444444444444444444 44444445ffcaaaaaaabfffffffffffffffffffffffffffffffffffffffffffffffffffff bff3ff6ee7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff fffff8444444444444444440 111111111111111111111111111111111111111111111111111111111111111111111111 11111110ffc7ffdfff3fffffffffffffffffffffffffffffffffffffffffffffffffffff 7ff3ff3bb7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff fffff7111111111111111110 222222222222222222222222222222222222222222222222222222222222222222222222 22222223ffcbffcfff3fffffffffffffffffffffffffffffffffffffffffffffffffffff bff3ff6ee7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff fffff8222222222222222220 888888888888888888888888888888888888888888888888888888888888888888888888 88888888ffc7ffdfff3fffffffffffffffffffffffffffffffffffffffffffffffffffff 7ff3ff3bb7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff fffff6888888888888888880 444444444444444444444444444444444444444444444444444444444444444444444444 44444445ffcbffcfff3fffffffffffffffffffffffffffffffffffffffffffffffffffff bff3ff6ee7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff fffff8444444444444444440 111111111111111111111111111111111111111111111111111111111111111111111111 11111110ffc7ffdfff3fffffffffffffffffffffffffffffffffffffffffffffffffffff 7ff3ff3bb7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff fffff7111111111111111110 222222222222222222222222222222222222222222222222222222222222222222222222 22222223ffcbffcfff3fffffffffffffffffffffffffffffffffffffffffffffffffffff bff3ff6ee7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff fffff8222222222222222220 888888888888888888888888888888888888888888888888888888888888888888888888 88888888ffc7ffdfff3fffffffffffffffffffffffffffffffffffffffffffffffffffff 7ff3ff3bb7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff fffff6888888888888888880 444444444444444444444444444444444444444444444444444444444444444444444444 44444445ffcbffcfff3fffffffffffffffffffffffffffffffffffffffffffffffffffff bff3ff6ee7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff fffff8444444444444444440 111111111111111111111111111111111111111111111111111111111111111111111111 11111110ffc7ffdfff3fffffffffffffffffffffffffffffffffffffffffffffffffffff 7ff3ff3bb7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff fffff7111111111111111110 222222222222222222222222222222222222222222222222222222222222222222222222 22222223ffcbffcfff3fffffffffffffffffffffffffffffffffffffffffffffffffffff bff3ff6ee7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff fffff8222222222222222220 888888888888888888888888888888888888888888888888888888888888888888888888 88888888ffc7ffdfff3fffffffffffffffffffffffffffffffffffffffffffffffffffff 7ff3ff3bb7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff fffff6888888888888888880 444444444444444444444444444444444444444444444444444444444444444444444444 44444445ffc80000003fffffffffffffffffffffffffffffffffffffffffffffffffffff bff3ff6ee7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff fffff8444444444444444440 111111111111111111111111111111111111111111111111111111111111111111111111 11111110ffc00000003fffffffffffffffffffffffffffffffffffffffffffffffffffff 7ff3ff3bb7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff fffff7111111111111111110 222222222222222222222222222222222222222222222222222222222222222222222222 22222223ffcaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa bff3ff6ee7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff fffff8222222222222222220 888888888888888888888888888888888888888888888888888888888888888888888888 88888888ffd5555555555555555555555555555555555555555555555555555555555555 7ff3ff3bb7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff fffff6888888888888888880 444444444444444444444444444444444444444444444444444444444444444444444444 44444445ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff fff3ff6ee7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff fffff8444444444444444440 111111111111111111111111111111111111111111111111111111111111111111111111 11111110ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff fff3ff3bb7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff fffff7111111111111111110 222222222222222222222222222222222222222222222222222222222222222222222222 22222223ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff fff3ff6ee7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff fffff8222222222222222220 888888888888888888888888888888888888888888888888888888888888888888888888 88888888ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff fff3ff3bb7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff fffff6888888888888888880 444444444444444444444444444444444444444444444444444444444444444444444444 44444445ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff fff3ff6ee7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff fffff8444444444444444440 111111111111111111111111111111111111111111111111111111111111111111111111 11111110ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff fff3ff3bb7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff fffff7111111111111111110 222222222222222222222222222222222222222222222222222222222222222222222222 22222223fffffffffffffffffffffffffffffffffffffffffffffffffff1fffc7e3f9f8f fff3ff6ee7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff fffff8222222222222222220 888888888888888888888888888888888888888888888888888888888888888888888888 88888888ffffffffffffffffffffffffffffffffffffffffffffffffffe4fff93c9e1f27 fff3ff3bb7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff fffff6888888888888888880 444444444444444444444444444444444444444444444444444444444444444444444444 44444445ffffffffffffffffffffffffffffffffffffffffffffffffffce7ff399cf9e73 fff3ff6ee7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff fffff8444444444444444440 111111111111111111111111111111111111111111111111111111111111111111111111 11111110ffffffffffffffffffffffffffffffffffffffffffffffffffce7ff399cf9e73 fff3ff3bb7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff fffff7111111111111111110 222222222222222222222222222222222222222222222222222222222222222222222222 22222223ffffffffffffffffffffffffffffffffffffffffffffffffffce7ff399cf9e73 fff3ff6ee7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff fffff8222222222222222220 888888888888888888888888888888888888888888888888888888888888888888888888 88888888ffffffffffffffffffffffffffffffffffffffffffffffffffce7ff399cf9e73 fff3ff3bb7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff fffff6888888888888888880 444444444444444444444444444444444444444444444444444444444444444444444444 44444445ffffffffffffffffffffffffffffffffffffffffffffffffffce7ff399cf9e73 fff3ff6ee7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff fffff8444444444444444440 111111111111111111111111111111111111111111111111111111111111111111111111 11111110ffffffffffffffffffffffffffffffffffffffffffffffffffce7ff399cf9e73 fff3ff3bb7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff fffff7111111111111111110 222222222222222222222222222222222222222222222222222222222222222222222222 22222223ffffffffffffffffffffffffffffffffffffffffffffffffffe4f9f93c9f9f27 fff3ff6ee7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff fffff8222222222222222220 888888888888888888888888888888888888888888888888888888888888888888888888 88888888fffffffffffffffffffffffffffffffffffffffffffffffffff1f9fc7e3e078f fff3ff3bb7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff fffff6888888888888888880 444444444444444444444444444444444444444444444444444444444444444444444444 44444445ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff fff3ff6ee7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff fffff8444444444444444440 111111111111111111111111111111111111111111111111111111111111111111111111 11111110ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff fff3ff3bb7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff fffff7111111111111111110 222222222222222222222222222222222222222222222222222222222222222222222222 22222223ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff fff3ff6ee7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff fffff8222222222222222220 888888888888888888888888888888888888888888888888888888888888888888888888 88888888ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff fff3ff3bb7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff fffff6888888888888888880 444444444444444444444444444444444444444444444444444444444444444444444444 44444445fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0 00eee7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff fffff8444444444444444440 111111111111111111111111111111111111111111111111111111111111111111111111 11111110ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff fff3bbbbb7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff fffff7111111111111111110 222222222222222222222222222222222222222222222222222222222222222222222222 22222223ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff fff2eeeee7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff fffff8222222222222222220 888888888888888888888888888888888888888888888888888888888888888888888888 88888888ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff fff3bbbbb7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff fffff6888888888888888880 444444444444444444444444444444444444444444444444444444444444444444444444 44444445fffffffff8ffffffffffffffffc3fffffffffc7fffffffffffffffffffffffff fff2eeeee7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff fffff8444444444444444440 111111111111111111111111111111111111111111111111111111111111111111111111 11111110fffe01fffcfffffcffff3ffffff3fffffffe7e7fffffffffffffffffffffffff fff3bbbbb7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff fffff7111111111111111110 222222222222222222222222222222222222222222222222222222222222222222222222 22222223ffff39fffcfffffcffff3ffffff3fffffffe7e7fffffffffffffffffffffffff fff2eeeee7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff fffff8222222222222222220 888888888888888888888888888888888888888888888888888888888888888888888888 88888888ffff3911c4fff8181c1e0787fff3f0e2388c0e47ffffffffffffffffffffffff fff3bbbbb7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff fffff6888888888888888880 444444444444444444444444444444444444444444444444444444444444444444444444 44444445ffff2f8c98fff39cffcf3f33fff3e671931e7e33ffffffffffffffffffffffff fff2eeeee7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff fffff8444444444444444440 111111111111111111111111111111111111111111111111111111111111111111111111 11111110ffff0f9c9cfff3fcffcf3e79fff3cf33939e7e73ffffffffffffffffffffffff fff3bbbbb7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff fffff7111111111111111110 222222222222222222222222222222222222222222222222222222222222222222222222 22222223ffff2f9c9cfff83cfc0f3e01fff3c033939e7e73ffffffffffffffffffffffff fff2eeeee7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff fffff8222222222222222220 888888888888888888888888888888888888888888888888888888888888888888888888 88888888ffff399c9cffff9cf9cf3e7ffff3cff3939e7e73ffffffffffffffffffffffff fff3bbbbb7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff fffff6888888888888888880 444444444444444444444444444444444444444444444444444444444444444444444444 44444445ffff399c98fff39cc98f3331fff3e633931e6673ffffffffffffffffffffffff fff2eeeee7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff fffff8444444444444444440 111111111111111111111111111111111111111111111111111111111111111111111111 11111110fffe0108447ff03e1c478783ffc0f061089f0c21ffffffffffffffffffffffff fff3bbbbb7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff fffff7111111111111111110 222222222222222222222222222222222222222222222222222222222222222222222222 22222223ffffffffffffffffffffffffffffffffff9fffffffffffffffffffffffffffff fff2eeeee7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff fffff8222222222222222220 888888888888888888888888888888888888888888888888888888888888888888888888 88888888ffffffffffffffffffffffffffffffffff9fffffffffffffffffffffffffffff fff3bbbbb7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff fffff6888888888888888880 444444444444444444444444444444444444444444444444444444444444444444444444 44444445fffffffffffffffffffffffffffffffff83fffffffffffffffffffffffffffff fff2eeeee7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff fffff8444444444444444440 111111111111111111111111111111111111111111111111111111111111111111111111 11111110ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff fff3bbbbb7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff fffff7111111111111111110 222222222222222222222222222222222222222222222222222222222222222222222222 22222223ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff fff2eeeee7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff fffff8222222222222222220 888888888888888888888888888888888888888888888888888888888888888888888888 88888888ffc0000000000000000000000000000000000000000000000000000000000000 3ff3bbbbb7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff fffff6888888888888888880 444444444444444444444444444444444444444444444444444444444444444444444444 44444445ffc0000000000000000000000000000000000000000000000000000000000000 3ff2eeeee7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff fffff8444444444444444440 111111111111111111111111111111111111111111111111111111111111111111111111 11111110ffcfffffffffffffffffffffffffffffffffffffffffffffffffffffd5555555 7ff3bbbbb7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff fffff7111111111111111110 222222222222222222222222222222222222222222222222222222222222222222222222 22222223ffcfffffffffffffffffffffffffffffffffffffffffffffffffffffeaaaaaaa bff2eeeee7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff fffff8222222222222222220 888888888888888888888888888888888888888888888888888888888888888888888888 88888888ffcfffffffffffffffffffffffffffffffffffffffffffffffffffffdfff7ffc 7ff3bbbbb7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff fffff6888888888888888880 444444444444444444444444444444444444444444444444444444444444444444444444 44444445ffcfffffffffffffffffffffffffffffffffffffffffffffffffffffefff3ffc bff2eeeee7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff fffff8444444444444444440 111111111111111111111111111111111111111111111111111111111111111111111111 11111110ffcfffffffffffffffffffffffffffffffffffffffffffffffffffffdfff7ffc 7ff3bbbbb7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff fffff7111111111111111110 222222222222222222222222222222222222222222222222222222222222222222222222 22222223ffcfffffffffffffffffffffffffffffffffffffffffffffffffffffefff3ffc bff2eeeee7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff fffff8222222222222222220 888888888888888888888888888888888888888888888888888888888888888888888888 88888888ffcfffffffffffffffffffffffffffffffffffffffffffffffffffffdfff7ffc 7ff3bbbbb7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff fffff6888888888888888880 444444444444444444444444444444444444444444444444444444444444444444444444 44444445ffcfffffffffffffffffffffffffffffffffffffffffffffffffffffefff3ffc bff2eeeee7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff fffff8444444444444444440 111111111111111111111111111111111111111111111111111111111111111111111111 11111110ffcfffffffffffffffffffffffffffffffffffffffffffffffffffffdfff7ffc 7ff3bbbbb7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff fffff7111111111111111110 222222222222222222222222222222222222222222222222222222222222222222222222 22222223ffcfffffffffffffffffffffffffffffffffffffffffffffffffffffefff3ffc bff2eeeee7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff fffff8222222222222222220 888888888888888888888888888888888888888888888888888888888888888888888888 88888888ffcfffffffffffffffffffffffffffffffffffffffffffffffffffffdfff7ffc 7ff3bbbbb7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff fffff6888888888888888880 444444444444444444444444444444444444444444444444444444444444444444444444 44444445ffcfffffffffffffffffffffffffffffffffffffffffffffffffffffefff3ffc bff2eeeee7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff fffff8444444444444444440 111111111111111111111111111111111111111111111111111111111111111111111111 11111110ffcfffffffffffffffffffffffffffffffffffffffffffffffffffffdfff7ffc 7ff3bbbbb7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff fffff7111111111111111110 222222222222222222222222222222222222222222222222222222222222222222222222 22222223ffcfffffffffffffffffffffffffffffffffffffffffffffffffffffe0000000 bff2eeeee7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff f822222222222222222f8880 88888888888888888888888888888888ffff888888888888888888888888888888888888 88888888ffcfffffffffffffffffffffffffffffffffffffffffffffffffffffc0000000 7ff3bbbbb7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff fffff6888888888888888880 444444444444444444444444444444444444444444444444444444444444444444444444 44444445ffcaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa bff2eeeee7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff fffff8444444444444444440 111111111111111111111111111111111111111111111111111111111111111111111111 11111110ffd5555555555555555555555555555555555555555555555555555555555555 7ff3bbbbb7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff fffff7111111111111111110 222222222222222222222222222222222222222222222222222222222222222222222222 22222223ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff fff2eeeee7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff fffff8222222222222222220 888888888888888888888888888888888888888888888888888888888888888888888888 88888888ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff fff3bbbbb7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff f6888888ffff888888888880 444444444444444444444444444444444444444444444444444444444444444444444444 44444445ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff fff2eeeee7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff fffff8444444444444444440 111111111111111111111111111111111111111111111111111111111111111111111111 11111110ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff fff3bbbbb7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff fffff7111111111111111110 222222222222222222222222222222222222222222222222222222222222222222222222 22222223ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff fff2eeeee7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff fffff8222222222222222220 888888888888888888888888888888888888888888888888888888888888888888888888 88888888ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff fff3bbbbb7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff fffff6888888888888888880 444444444444444444444444444444444444444444444444444444444444444444444444 44444445fffffffffffffffffffffffffffffffffffffffffffffffffff8fffe3f1fe787 fff2eeeee7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff fffff8444444444444444440 111111111111111111111111111111111111111111111111111111111111111111111111 11111110fffffffffffffffffffffffffffffffffffffffffffffffffff27ffc9e4fc733 fff3bbbbb7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff fffff7111111111111111110 222222222222222222222222222222222222222222222222222222222222222222222222 22222223ffffffffffffffffffffffffffffffffffffffffffffffffffe73ff9cce78733 fff2eeeee7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff fffff8222222222222222220 888888888888888888888888888888888888888888888888888888888888888888888888 88888888ffffffffffffffffffffffffffffffffffffffffffffffffffe73ff9cce7a733 fff3bbbbb7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff fffff6888888888888888880 444444444444444444444444444444444444444444444444444444444444444444444444 44444445ffffffffffffffffffffffffffffffffffffffffffffffffffe73ff9cce76733 fff2eeeee7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff fffff8444444444444444440 111111111111111111111111111111111111111111111111111111111111111111111111 11111110ffffffffffffffffffffffffffffffffffffffffffffffffffe73ff9cce66733 fff3bbbbb7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff fffff7111111111111111110 222222222222222222222222222222222222222222222222222222222222222222222222 22222223ffffffffffffffffffffffffffffffffffffffffffffffffffe73ff9cce6e783 fff2eeeee7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff fffff8222222222222222220 888888888888888888888888888888888888888888888888888888888888888888888888 88888888ffffffffffffffffffffffffffffffffffffffffffffffffffe73ff9cce603f3 fff3bbbbb7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff fffff6888888888888888880 444444444444444444444444444444444444444444444444444444444444444444444444 44444445fffffffffffffffffffffffffffffffffffffffffffffffffff27cfc9e4fe7e7 fff2eeeee7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff fffff8444444444444444440 111111111111111111111111111111111111111111111111111111111111111111111111 11111110fffffffffffffffffffffffffffffffffffffffffffffffffff8fcfe3f1fc30f fff3bbbbb7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff fffff7111111111111111110 222222222222222222222222222222222222222222222222222222222222222222222222 22222223ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff fff2eeeee7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff fffff8222222222222222220 888888888888888888888888888888888888888888888888888888888888888888888888 88888888ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff fff3bbbbb7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff fffff6888888888888888880 444444444444444444444444444444444444444444444444444444444444444444444444 44444445ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff fff2eeeee7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff fffff8444444444444444440 111111111111111111111111111111111111111111111111111111111111111111111111 11111110ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff fff3bbbbb7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff fffff7111111111111111110 222222222222222222222222222222222222222222222222222222222222222222222222 22222223ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff fff2eeeee7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff fffff8222222222222222220 888888888888888888888888888888888888888888888888888888888888888888888888 88888888ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff fff3bbbbb7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff fffff6888888888888888880 444444444444444444444444444444444444444444444444444444444444444444444444 44444445ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff fff2eeeee7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff fffff8444444444444444440 111111111111111111111111111111111111111111111111111111111111111111111111 11111110ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff fff3bbbbb7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff fffff7111111111111111110 222222222222222222222222222222222222222222222222222222222222222222222222 22222223ffffffffffc7ffffffffffe1ff8ff9ffffffffffffffffffffffffffffffffff fff2eeeee7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff fffff8222222222222222220 888888888888888888888888888888888888888888888888888888888888888888888888 88888888fffe30ffffe7ffffffffffcfffcff9ffffffffffffffffffffffffffffffffff fff3bbbbb7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff fffff6888888888888888880 444444444444444444444444444444444444444444444444444444444444444444444444 44444445ffff39ffffe7ffffffffffcfffcfffffffffffffffffffffffffffffffffffff fff2eeeee7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff fffff8444444444444444440 111111111111111111111111111111111111111111111111111111111111111111111111 11111110ffff1918906478788fff0f03ffc8e1e23c0fffffffffffffffffffffffffffff fff3bbbbb7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff fffff7111111111111111110 222222222222222222222222222222222222222222222222222222222222222222222222 22222223ffff199cc923333c7ffe67cfffc679f199cfffffffffffffffffffffffffffff fff2eeeee7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff fffff8222222222222222220 888888888888888888888888888888888888888888888888888888888888888888888888 88888888ffff299cc927279cfffcf3cfffce79f399ffffffffffffffffffffffffffffff fff3bbbbb7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff fffff6888888888888888880 444444444444444444444444444444444444444444444444444444444444444444444444 44444445ffff299cc927201cfffcf3cfffce79f39c1fffffffffffffffffffffffffffff fff2eeeee7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff fffff8444444444444444440 111111111111111111111111111111111111111111111111111111111111111111111111 11111110ffff319cc92727fcfffcf3cfffce79f39fcfffffffffffffffffffffffffffff fff3bbbbb7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff fffff7111111111111111110 222222222222222222222222222222222222222222222222222222222222222222222222 22222223ffff3198c923331cfffe67cfffc679f399cfffffffffffffffffffffffffffff fff2eeeee7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff fffff8222222222222222220 888888888888888888888888888888888888888888888888888888888888888888888888 88888888fffe19c4090478381fff0f03ff88e061081fffffffffffffffffffffffffffff fff3bbbbb7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff fffff6888888888888888880 444444444444444444444444444444444444444444444444444444444444444444444444 44444445ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff fff2eeeee7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff fffff8444444444444444440 111111111111111111111111111111111111111111111111111111111111111111111111 11111110ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff fff3bbbbb7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff fffff7111111111111111110 222222222222222222222222222222222222222222222222222222222222222222222222 22222223ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff fff2eeeee7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff fffff8222222222222222220 888888888888888888888888888888888888888888888888888888888888888888888888 88888888ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff fff3bbbbb7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff fffff6888888888888888880 444444444444444444444444444444444444444444444444444444444444444444444444 44444445ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff fff2eeeee7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff fffff8444444444444444440 111111111111111111111111111111111111111111111111111111111111111111111111 11111110ffc0000000000000000000000000000000000000000000000000000000000000 3ff3bbbbb7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff fffff7111111111111111110 222222222222222222222222222222222222222222222222222222222222222222222222 22222223ffc0000000000000000000000000000000000000000000000000000000000000 3ff2eeeee7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff fffff8222222222222222220 888888888888888888888888888888888888888888888888888888888888888888888888 88888888ffcffffffffffffffffffffffffffd5555555fffffffffffffffffffffffffff 7ff3bbbbb7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff fffff6888888888888888880 444444444444444444444444444444444444444444444444444444444444444444444444 44444445ffcffffffffffffffffffffffffffaaaaaaa9fffffffffffffffffffffffffff bff2eeeee7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff fffff8444444444444444440 111111111111111111111111111111111111111111111111111111111111111111111111 11111110ffcffffffffffffffffffffffffffdffe7ff9fffffffffffffffffffffffffff 7ff3bbbbb7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff fffff7111111111111111110 222222222222222222222222222222222222222222222222222222222222222222222222 22222223ffcffffffffffffffffffffffffffbffefff9fffffffffffffffffffffffffff bff2eeeee7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff fffff8222222222222222220 888888888888888888888888888888888888888888888888888888888888888888888888 88888888ffcffffffffffffffffffffffffffdffe7ff9fffffffffffffffffffffffffff 7ff3bbbbb7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff fffff6888888888888888880 444444444444444444444444444444444444444444444444444444444444444444444444 44444445ffcffffffffffffffffffffffffffbffefff9fffffffffffffffffffffffffff bff2eeeee7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff fffff8444444444444444440 111111111111111111111111111111111111111111111111111111111111111111111111 11111110ffcffffffffffffffffffffffffffdffe7ff9fffffffffffffffffffffffffff 7ff3bbbbb7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff fffff7111111111111111110 222222222222222222222222222222222222222222222222222222222222222222222222 22222223ffcffffffffffffffffffffffffffbffefff9fffffffffffffffffffffffffff bff2eeeee7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff fffff8222222222222222220 888888888888888888888888888888888888888888888888888888888888888888888888 88888888ffcffffffffffffffffffffffffffdffe7ff9fffffffffffffffffffffffffff 7ff3bbbbb7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff fffff6888888888888888880 444444444444444444444444444444444444444444444444444444444444444444444444 44444445ffcffffffffffffffffffffffffffbffefff9fffffffffffffffffffffffffff bff2eeeee7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff fffff8444444444444444440 111111111111111111111111111111111111111111111111111111111111111111111111 11111110ffcffffffffffffffffffffffffffdffe7ff9fffffffffffffffffffffffffff 7ff3bbbbb7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff fffff7111111111111111110 222222222222222222222222222222222222222222222222222222222222222222222222 22222223ffcffffffffffffffffffffffffffbffefff9fffffffffffffffffffffffffff bff2eeeee7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff fffff8222222222222222220 888888888888888888888888888888888888888888888888888888888888888888888888 88888888ffcffffffffffffffffffffffffffdffe7ff9fffffffffffffffffffffffffff 7ff3bbbbb7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff fffff6888888888888888880 444444444444444444444444444444444444444444444444444444444444444444444444 44444445ffcffffffffffffffffffffffffffa0008001fffffffffffffffffffffffffff bff2eeeee0007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff fffff8444444444444444440 111111111111111111111111111111111111111111111111111111111111111111111111 11111110ffcffffffffffffffffffffffffffc0000001fffffffffffffffffffffffffff 7ff3bbbbbbbb7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff fffff7111111111111111110 222222222222222222222222222222222222222222222222222222222222222222222222 22222223ffcaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa bff2eeeeeeee7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff fffff8222222222222222220 888888888888888888888888888888888888888888888888888888888888888888888888 88888888ffd5555555555555555555555555555555555555555555555555555555555555 7ff3bbbbbbbb7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff fffff6888888888888888880 444444444444444444444444444444444444444444444444444444444444444444444444 44444445ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff fff2eeeeeeee7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff fffff8444444444444444440 111111111111111111111111111111111111111111111111111111111111111111111111 11111110ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff fff3bbbbbbbb7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff fffff7111111111111111110 222222222222222222222222222222222222222222222222222222222222222222222222 22222223fffffffffffffffffffffffffffffffc3c0fffffffffffffffffffffffffffff fff2eeeeeeee7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff fffff8222222222222222220 888888888888888888888888888888888888888888888888888888888888888888888888 88888888fffffffffffffffffffffffffffffff99cffffffffffffffffffffffffffffff fff3bbbbbbbb7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff fffff6888888888888888880 444444444444444444444444444444444444444444444444444444444444444444444444 44444445fffffffffffffffffffffffffffffff99cffffffffffffffffffffffffffffff fff2eeeeeeee7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff f844444444444444444f1110 ffff11111111111111111111111111111111111111111111111111111111111111111111 11111110ffffffffffffffffffffffffffffffff9c1fffffffffffffffffffffffffffff fff3bbbbbbbb7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff fffff7111111111111111110 222222222222222222222222222222222222222222222222222222222222222222222222 22222223ffffffffffffffffffffffffffffffff9ccfffffffffffffffffffffffffffff fff2eeeeeeee7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff fffff8222222222222222220 888888888888888888888888888888888888888888888888888888888888888888888888 88888888ffffffffffffffffffffffffffffffff3fcfffffffffffffffffffffffffffff fff3bbbbbbbb7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff fffff6888888888888888880 444444444444444444444444444444444444444444444444444444444444444444444444 44444445fffffffffffffffffffffffffffffffe7fcfffffffffffffffffffffffffffff fff2eeeeeeee7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff fffff8444444444444444440 111111111111111111111111111111111111111111111111111111111111111111111111 11111110fffffffffffffffffffffffffffffffcffcfffffffffffffffffffffffffffff fff3bbbbbbbb7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff fffff7111111111111111110 222222222222222222222222222222222222222222222222222222222222222222222222 22222223fffffffffffffffffffffffffffffff9fccfffffffffffffffffffffffffffff fff2eeeeeeee7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff fffff8222222222222222220 888888888888888888888888888888888888888888888888888888888888888888888888 88888888fffffffffffffffffffffffffffffff81e1fffffffffffffffffffffffffffff fff3bbbbbbbb7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff fffff6888888888888888880 444444444444444444444444444444444444444444444444444444444444444444444444 44444445ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff fff2eeeeeeee7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff fffff8444444444444444440 111111111111111111111111111111111111111111111111111111111111111111111111 11111110ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff fff3bbbbbbbb7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff fffff7111111111111111110 222222222222222222222222222222222222222222222222222222222222222222222222 22222223ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff fff2eeeeeeee7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff fffff8222222222222222220 888888888888888888888888888888888888888888888888888888888888888888888888 88888888ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff fff3bbbbbbbb7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff fffff6888888888888888880 444444444444444444444444444444444444444444444444444444444444444444444444 44444445ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff fff2eeeeeeee7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff fffff8444444444444444440 111111111111111111111111111111111111111111111111111111111111111111111111 11111110ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff fff3bbbbbbbb7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff fffff7111111111111111110 222222222222222222222222222222222222222222222222222222222222222222222222 22222223ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff fff2eeeeeeee7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff fffff8222222222222222220 888888888888888888888888888888888888888888888888888888888888888888888888 88888888ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff fff3bbbbbbbb7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff fffff6888888888888888880 444444444444444444444444444444444444444444444444444444444444444444444444 44444445ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff fff2eeeeeeee7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff fffff8444444444444444440 111111111111111111111111111111111111111111111111111111111111111111111111 11111110ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff fff3bbbbbbbb7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff fffff7111111111111111110 222222222222222222222222222222222222222222222222222222222222222222222222 22222223ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff fff2eeeeeeee7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff fffff8222222222222222220 888888888888888888888888888888888888888888888888888888888888888888888888 88888888ffffffffffffffffffffe3fff8fc7f3e1f87ffffffffffffffffffffffffffff fff3bbbbbbbb7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff f6888888ffff888888888880 444444444444444444444444444444444444444444444444444444444444444444444444 44444445ffffffffffffffffffffc9fff2793c3ccf3fffffffffffffffffffffffffffff fff2eeeeeeee7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff fffff8444444444444444440 111111111111111111111111111111111111111111111111111111111111111111111111 11111110ffffffffffffffffffff9cffe7339f3cce7fffffffffffffffffffffffffffff fff3bbbbbbbb7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff fffff7111111111111111110 222222222222222222222222222222222222222222222222222222222222222222222222 22222223ffff0a3188e070f11e7f9cffe7339f3cce4fffffffffffffffffffffffffffff fff2eeeeeeee7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff fffff8222222222222222220 888888888888888888888888888888888888888888888888888888888888888888888888 88888888fffe6339c7ce6678fe7f9cffe7339f3cce27ffffffffffffffffffffffffffff fff3bbbbbbbb7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff fffff6888888888888888880 444444444444444444444444444444444444444444444444444444444444444444444444 44444445fffcf339cfcfcf39ffff9cffe7339f3cce67ffffffffffffffffffffffffffff fff2eeeeeeee7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff fffff8444444444444444440 111111111111111111111111111111111111111111111111111111111111111111111111 11111110fffcff39cfe0cf39ffff9cffe7339f3e0e67ffffffffffffffffffffffffffff fff3bbbbbbbb7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff fffff7111111111111111110 222222222222222222222222222222222222222222222222222222222222222222222222 22222223fffcff39cffe4f39ffff9cffe7339f3fce67ffffffffffffffffffffffffffff fff2eeeeeeee7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff fffff8222222222222222220 888888888888888888888888888888888888888888888888888888888888888888888888 88888888fffe7331cfce6679fe7fc9f3f2793f3f9e67ffffffffffffffffffffffffffff fff3bbbbbbbb7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff fffff6888888888888888880 444444444444444444444444444444444444444444444444444444444444444444444444 44444445ffff078881c0f0f03e7fe3f3f8fc7c0c3f0fffffffffffffffffffffffffffff fff2eeeeeeee7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff fffff8444444444444444440 111111111111111111111111111111111111111111111111111111111111111111111111 11111110ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff fff3bbbbbbbb7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff fffff7111111111111111110 222222222222222222222222222222222222222222222222222222222222222222222222 22222223ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff fff2eeeeeeee7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff fffff8222222222222222220 888888888888888888888888888888888888888888888888888888888888888888888888 88888888ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff fff3bbbbbbbb7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff fffff6888888888888888880 444444444444444444444444444444444444444444444444444444444444444444444444 44444445ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff fff2eeeeeeee7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff fffff8444444444444444440 111111111111111111111111111111111111111111111111111111111111111111111111 11111110ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff fff3bbbbbbbb7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff fffff7111111111111111110 222222222222222222222222222222222222222222222222222222222222222222222222 22222223ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff fff2eeeeeeee7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff fffff8222222222222222220 888888888888888888888888888888888888888888888888888888888888888888888888 88888888ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff fff3bbbbbbbb7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff fffff6888888888888888880 444444444444444444444444444444444444444444444444444444444444444444444444 44444445ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff fff2eeeeeeee7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff fffff8444444444444444440 111111111111111111111111111111111111111111111111111111111111111111111111 11111110ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff fff3bbbbbbbb7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff fffff7111111111111111110 222222222222222222222222222222222222222222222222222222222222222222222222 22222223ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff fff2eeeeeeee7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff fffff8222222222222222220 888888888888888888888888888888888888888888888888888888888888888888888888 88888888ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff fff3bbbbbbbb7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff fffff6888888888888888880 444444444444444444444444444444444444444444444444444444444444444444444444 44444445ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff fff2eeeeeeee7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff fffff8444444444444444440 111111111111111111111111111111111111111111111111111111111111111111111111 11111110ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff fff3bbbbbbbb7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff fffff7111111111111111110 222222222222222222222222222222222222222222222222222222222222222222222222 22222223ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff fff2eeeeeeee7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff fffff8222222222222222220 888888888888888888888888888888888888888888888888888888888888888888888888 88888888ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff fff3bbbbbbbb7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff fffff6888888888888888880 444444444444444444444444444444444444444444444444444444444444444444444444 44444445ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff fff2eeeeeeee7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff fffff8444444444444444440 111111111111111111111111111111111111111111111111111111111111111111111111 11111110ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff fff3bbbbbbbb7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff fffff7111111111111111110 222222222222222222222222222222222222222222222222222222222222222222222222 22222223ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff fff2eeeeeeee7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff fffff8222222222222222220 888888888888888888888888888888888888888888888888888888888888888888888888 88888888ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff fff3bbbbbbbb7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff fffff6888888888888888880 444444444444444444444444444444444444444444444444444444444444444444444444 44444445ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff fff2eeeeeeee7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff fffff8444444444444444440 111111111111111111111111111111111111111111111111111111111111111111111111 11111110ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff fff3bbbbbbbb7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff fffff7111111111111111110 222222222222222222222222222222222222222222222222222222222222222222222222 22222223ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff fff2eeeeeeee7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff fffff8222222222222222220 888888888888888888888888888888888888888888888888888888888888888888888888 88888888ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff fff3bbbbbbbb7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff fffff6888888888888888880 444444444444444444444444444444444444444444444444444444444444444444444444 44444445fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff2 eeeeeeee7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff fffff8444444444444444440 111111111111111111111111111111111111111111111111111111111111111111111111 11111110ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff fff3bbbbbbbb7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff fffff7111111111111111110 222222222222222222222222222222222222222222222222222222222222222222222222 22222223ffffffffffd5555555555557ffffffffffffffffffff5555555555557fffffff fff2eeeeeeee7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff fffff8222222222222222220 888888888888888888888888888888888888888888888888888888888888888888888888 88888888ffffffffffaaaaaaaaaaaaa7fffffffffffffffffffeaaaaaaaaaaaabfffffff fff3bbbbbbbb7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff fffff6888888888888888880 444444444444444444444444444444444444444444444444444444444444444444444444 44444445ffffffffffdfffffffffffe7ffffffffffffffffffff7fffffffffff3fffffff fff2eeeeeeee7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff fffff8444444444444444440 111111111111111111111111111111111111111111111111111111111111111111111111 11111110ffffffffffbfffffffffffe7fffffffffffffffffffeffffffffffff3fffffff fff3bbbbbbbb7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff fffff7111111111111111110 222222222222222222222222222222222222222222222222222222222222222222222222 22222223ffffffffffdfffff9fffffe7ffffffffffffffffffff7fe1ffffffff3fffffff fff2eeeeeeee7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff fffff8222222222222222220 888888888888888888888888888888888888888888888888888888888888888888888888 88888888ffffffffffb01fff9fffcfe7fffffffffffffffffffef179ffffffff3fffffff fff3bbbbbbbb7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff fffff6888888888888888880 444444444444444444444444444444444444444444444444444444444444444444444444 44444445ffffffffffd9cfffffffcfe7ffffffffffffffffffff6679ffffffff3fffffff fff2eeeeeeee7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff fffff8444444444444444440 111111111111111111111111111111111111111111111111111111111111111111111111 11111110ffffffffffb9cc461e2381e7fffffffffffffffffffece79f87c0e1f3fffffff fff3bbbbbbbb0007ffffffffffffffffffffffffffffffffffffffffffffffffffffffff fffff7111111111111111110 222222222222222222222222222222222222222222222222222222222222222222222222 22222223ffffffffffd9ce3f9f19cfe7ffffffffffffffffffff4ff9f339cccf3fffffff fff2eeeeeeeeeee7ffffffffffffffffffffffffffffffffffffffffffffffffffffffff fffff8222222222222222220 888888888888888888888888888888888888888888888888888888888888888888888888 88888888ffffffffffb99e7f9f39cfe7fffffffffffffffffffecff9e799f9e73fffffff fff3bbbbbbbbbbb7ffffffffffffffffffffffffffffffffffffffffffffffffffffffff fffff6888888888888888880 444444444444444444444444444444444444444444444444444444444444444444444444 44444445ffffffffffd83e7f9f39cfe7ffffffffffffffffffff4ff9e79c18073fffffff fff2eeeeeeeeeee7ffffffffffffffffffffffffffffffffffffffffffffffffffffffff fffff8444444444444444440 111111111111111111111111111111111111111111111111111111111111111111111111 11111110ffffffffffb9fe7f9f39cfe7fffffffffffffffffffecff9e79fc9ff3fffffff fff3bbbbbbbbbbb7ffffffffffffffffffffffffffffffffffffffffffffffffffffffff fffff7111111111111111110 222222222222222222222222222222222222222222222222222222222222222222222222 22222223ffffffffffd9fe7f9f39cce7ffffffffffffffffffff6679f339ccc73fffffff fff2eeeeeeeeeee7ffffffffffffffffffffffffffffffffffffffffffffffffffffffff fffff8222222222222222220 888888888888888888888888888888888888888888888888888888888888888888888888 88888888ffffffffffb07c0e0610e1e7fffffffffffffffffffef0e078781e0f3fffffff fff3bbbbbbbbbbb7ffffffffffffffffffffffffffffffffffffffffffffffffffffffff fffff6888888888888888880 444444444444444444444444444444444444444444444444444444444444444444444444 44444445ffffffffffdfffffffffffe7ffffffffffffffffffff7fffffffffff3fffffff fff2eeeeeeeeeee7ffffffffffffffffffffffffffffffffffffffffffffffffffffffff fffff8444444444444444440 111111111111111111111111111111111111111111111111111111111111111111111111 11111110ffffffffffbfffffffffffe7fffffffffffffffffffeffffffffffff3fffffff fff3bbbbbbbbbbb7ffffffffffffffffffffffffffffffffffffffffffffffffffffffff fffff7111111111111111110 222222222222222222222222222222222222222222222222222222222222222222222222 22222223ffffffffffdfffffffffffe7ffffffffffffffffffff7fffffffffff3fffffff fff2eeeeeeeeeee7ffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffc008222222222222222220 888888888888888888888888888888888888888888888888888888888888888888888888 88888888ffffffffffbfffffffffffe7fffffffffffffffffffeffffffffffff3fffffff fff3bbbbbbbbbbb7ffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffdbb6888888888888888880 444444444444444444444444444444444444444444444444444444444444444444444444 44444445ffffffffffdfffffffffffe7ffffffffffffffffffff7fffffffffff3fffffff fff2eeeeeeeeeee7ffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffcee8444444444444444440 111111111111111111111111111111111111111111111111111111111111111111111111 11111110ffffffffffbfffffffffffe7fffffffffffffffffffeffffffffffff3fffffff fff3bbbbbbbbbbb7ffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffdbb7111111111111111110 222222222222222222222222222222222222222222222222222222222222222222222222 22222223ffffffffffdfffffffffffe7ffffffffffffffffffff7fffffffffff3fffffff fff2eeeeeeeeeee7ffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffcee8222222222222222220 888888888888888888888888888888888888888888888888888888888888888888888888 88888888ffffffffffa0000000000007fffffffffffffffffffe8000000000003fffffff fff3bbbbbbbbbbb7ffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffdbb6888888888888888880 444444444444444444444444444444444444444444444444444444444444444444444444 44444445ffffffffffc0000000000007ffffffffffffffffffff0000000000003fffffff fff2eeeeeeeeeee7ffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffcee8444444444444444440 111111111111111111111111111111111111111111111111111111111111111111111111 11111110ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff fff3bbbbbbbbbbb7ffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffdbb7111111111111111110 222222222222222222222222222222222222222222222222222222222222222222222222 22222223ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff fff2eeeeeeeeeee7ffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffcee8222222222222222220 888888888888888888888888888888888888888888888888888888888888888888888888 88888888ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff fff3bbbbbbbbbbb7ffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffdbb6888888888888888880 444444444444444444444444444444444444444444444444444444444444444444444444 44444445ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff fff2eeeeeeeeeee7ffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffcee8444444444444444440 111111111111111111111111111111111111111111111111111111111111111111111111 11111110ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff fff3bbbbbbbbbbb7ffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffdbb7111111111111111110 222222222222222222222222222222222222222222222222222222222222222222222222 22222223ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff fff2aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaa8222222222222222220 888888888888888888888888888888888888888888888888888888888888888888888888 88888888ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff fff555555555555555555555555555555555555555555555555555555555555555555555 555556888888888888888880 444444444444444444444444444444444444444444444444444444444444444444444444 444444455555555555555555555555555555555555555555555555555555555555555555 555555555555555555555555555555555555555555555555555555555555555555555555 555554444444444444444440 111111111111111111111111111111111111111111111111111111111111111111111111 111111111111111111111111111111111111111111111111111111111111111111111111 111111111111111111111111111111111111111111111111111111111111111111111111 111111111111111111111110 222222222222222222222222222222222222222222222222222222222222222222222222 222222222222222222222222222222222222222222222222222222222222222222222222 222222222222222222222222222222222222222222222222222222222222222222222222 222222222222222222222220 888888888888888888888888888888888888888888888888888888888888888888888888 888888888888888888888888888888888888888888888888888888888888888888888888 888888888888888888888888888888888888888888888888888888888888888888888888 888888888888888888888880 444444444444444444444444444444444444444444444444444444444444444444444444 444444444444444444444444444444444444444444444444444444444444444444444444 444444444444444444444444444444444444444444444444444444444444444444444444 444444444444444444444440 111111111111111111111111111111111111111111111111111111111111111111111111 111111111111111111111111111111111111111111111111111111111111111111111111 111111111111111111111111111111111111111111111111111111111111111111111111 111111111111111111111110 222222222222222222222222222222222222222222222222222222222222222222222222 222222222222222222222222222222222222222222222222222222222222222222222222 222222222222222222222222222222222222222222222222222222222222222222222222 222222222222222222222220 888888888888888888888888888888888888888888888888888888888888888888888888 888888888888888888888888888888888888888888888888888888888888888888888888 888888888888888888888888888888888888888888888888888888888888888888888888 888888888888888888888880 showpage end origstate restore @endspecial 2065 2770 a Fo(144)p eop bop 71 120 a @beginspecial @setspecial /$F2psDict 32 dict def $F2psDict begin $F2psDict /mtrx matrix put end /$F2psBegin {$F2psDict begin /$F2psEnteredState save def} def /$F2psEnd {$F2psEnteredState restore end} def $F2psBegin 0.900000 -0.900000 scale 90 rotate 0 -612 translate -36 36 translate 4.000 setlinewidth .2 setgray newpath 34 19 moveto 19 19 19 604 15 arcto 4 {pop} repeat 19 619 764 619 15 arcto 4 {pop} repeat 779 619 779 34 15 arcto 4 {pop} repeat 779 19 34 19 15 arcto 4 {pop} repeat closepath stroke showpage $F2psEnd @endspecial 187 x Fh(Generating)32 b(a)g(log)f(\014le)p 71 357 1910 19 v 71 372 1910 7 v 71 744 a Fp(This)43 b(is)h(very)f(easy)g(with)h (the)f(MPICH)71 869 y(implementation)36 b(of)e(MPI.)h(Simply)h(replace)f Fd(-lmpi)71 993 y Fp(with)j Fd(-llmpi)43 b(-lpmpi)g(-lm)37 b Fp(in)h(the)g(link)g(line)h(fo)m(r)71 1118 y(y)m(our)34 b(p)m(rogram,)h (and)f(relink)j(y)m(our)e(p)m(rogram.)47 b(Y)-9 b(ou)71 1243 y(do)33 b(not)h(need)g(to)g(recompile.)71 1400 y(On)h(some)h(systems,)g(y)m (ou)g(can)g(get)g(a)g(real-time)71 1525 y(animation)g(b)m(y)e(using)h(the)f (lib)m(ra)m(ri)q(es)j Fd(-lampi)44 b(-lmpe)71 1649 y(-lm)f(-lX11)h(-lpmpi)p Fp(.)71 1807 y(Alternately)-9 b(,)42 b(y)m(ou)d(can)f(use)h(the)g Fd(-mpilog)g Fp(o)m(r)71 1932 y Fd(-mpianim)f Fp(options)g(to)i(the)f Fd(mpicc)f Fp(o)m(r)i Fd(mpif77)71 2056 y Fp(commands.)2065 2770 y Fo(145)p eop bop 71 120 a @beginspecial @setspecial /$F2psDict 32 dict def $F2psDict begin $F2psDict /mtrx matrix put end /$F2psBegin {$F2psDict begin /$F2psEnteredState save def} def /$F2psEnd {$F2psEnteredState restore end} def $F2psBegin 0.900000 -0.900000 scale 90 rotate 0 -612 translate -36 36 translate 4.000 setlinewidth .2 setgray newpath 34 19 moveto 19 19 19 604 15 arcto 4 {pop} repeat 19 619 764 619 15 arcto 4 {pop} repeat 779 619 779 34 15 arcto 4 {pop} repeat 779 19 34 19 15 arcto 4 {pop} repeat closepath stroke showpage $F2psEnd @endspecial 249 x Fn(Connecting)38 b(several)e(p)m(rograms)g(together)p 71 419 1910 19 v 71 434 1910 7 v 71 1140 a Fp(MPI)31 b(p)m(rovides)g(supp)s (o)m(rt)f(fo)m(r)h(connection)f(sepa)m(rate)71 1265 y(message-passing)j(p)m (rograms)i(together)f(through)71 1389 y(the)g(use)f(of)h Fg(intercommunicato) m(rs)p Fp(.)2065 2770 y Fo(146)p eop bop 71 120 a @beginspecial @setspecial /$F2psDict 32 dict def $F2psDict begin $F2psDict /mtrx matrix put end /$F2psBegin {$F2psDict begin /$F2psEnteredState save def} def /$F2psEnd {$F2psEnteredState restore end} def $F2psBegin 0.900000 -0.900000 scale 90 rotate 0 -612 translate -36 36 translate 4.000 setlinewidth .2 setgray newpath 34 19 moveto 19 19 19 604 15 arcto 4 {pop} repeat 19 619 764 619 15 arcto 4 {pop} repeat 779 619 779 34 15 arcto 4 {pop} repeat 779 19 34 19 15 arcto 4 {pop} repeat closepath stroke showpage $F2psEnd @endspecial 187 x Fh(Sending)30 b(messages)j(b)s(et)m(w)m(een)f(di\013erent) g(p)m(rograms)p 71 357 1910 19 v 71 372 1910 7 v 71 746 a Fp(Programs)i(sha)m (re)g Fd(MPI_COMM_WORLD)p Fp(.)71 904 y(Programs)41 b(have)f(sepa)m(rate)h (and)g(disjoint)71 1028 y(communicato)m(rs.)482 2053 y @beginspecial 0 @llx 0 @lly 261 @urx 238 @ury 2610 @rwi @setspecial /$F2psDict 200 dict def $F2psDict begin $F2psDict /mtrx matrix put /l {lineto} bind def /m {moveto} bind def /s {stroke} bind def /n {newpath} bind def /gs {gsave} bind def /gr {grestore} bind def /clp {closepath} bind def /graycol {dup dup currentrgbcolor 4 -2 roll mul 4 -2 roll mul 4 -2 roll mul setrgbcolor} bind def /col-1 {} def /col0 {0 0 0 setrgbcolor} bind def /col1 {0 0 1 setrgbcolor} bind def /col2 {0 1 0 setrgbcolor} bind def /col3 {0 1 1 setrgbcolor} bind def /col4 {1 0 0 setrgbcolor} bind def /col5 {1 0 1 setrgbcolor} bind def /col6 {1 1 0 setrgbcolor} bind def /col7 {1 1 1 setrgbcolor} bind def /col8 {.68 .85 .9 setrgbcolor} bind def /col9 {0 .39 0 setrgbcolor} bind def /col10 {.65 .17 .17 setrgbcolor} bind def /col11 {1 .51 0 setrgbcolor} bind def /col12 {.63 .13 .94 setrgbcolor} bind def /col13 {1 .75 .8 setrgbcolor} bind def /col14 {.7 .13 .13 setrgbcolor} bind def /col15 {1 .84 0 setrgbcolor} bind def end /$F2psBegin {$F2psDict begin /$F2psEnteredState save def} def /$F2psEnd {$F2psEnteredState restore end} def $F2psBegin 0 setlinecap 0 setlinejoin -36.0 265.0 translate 0.900 -0.900 scale 0.500 setlinewidth n 66 44 m 59 44 59 192 7 arcto 4 {pop} repeat 59 199 162 199 7 arcto 4 {pop} repeat 169 199 169 51 7 arcto 4 {pop} repeat 169 44 66 44 7 arcto 4 {pop} repeat clp gs col-1 s gr n 206 44 m 199 44 199 192 7 arcto 4 {pop} repeat 199 199 302 199 7 arcto 4 {pop} repeat 309 199 309 51 7 arcto 4 {pop} repeat 309 44 206 44 7 arcto 4 {pop} repeat clp gs col-1 s gr n 46 29 m 39 29 39 287 7 arcto 4 {pop} repeat 39 294 322 294 7 arcto 4 {pop} repeat 329 294 329 36 7 arcto 4 {pop} repeat 329 29 46 29 7 arcto 4 {pop} repeat clp gs col-1 s gr n 56 39 m 49 39 49 232 7 arcto 4 {pop} repeat 49 239 312 239 7 arcto 4 {pop} repeat 319 239 319 46 7 arcto 4 {pop} repeat 319 39 56 39 7 arcto 4 {pop} repeat clp gs col-1 s gr /Helvetica findfont 17.00 scalefont setfont 109 194 m gs 1 -1 scale (Comm1) dup stringwidth pop 2 div neg 0 rmoveto col-1 show gr /Helvetica findfont 17.00 scalefont setfont 254 194 m gs 1 -1 scale (Comm2) dup stringwidth pop 2 div neg 0 rmoveto col-1 show gr /Helvetica findfont 17.00 scalefont setfont 109 64 m gs 1 -1 scale (App1) dup stringwidth pop 2 div neg 0 rmoveto col-1 show gr /Helvetica findfont 17.00 scalefont setfont 254 64 m gs 1 -1 scale (App2) dup stringwidth pop 2 div neg 0 rmoveto col-1 show gr /Helvetica findfont 17.00 scalefont setfont 189 284 m gs 1 -1 scale (MPI_COMM_WORLD) dup stringwidth pop 2 div neg 0 rmoveto col-1 show gr /Helvetica findfont 17.00 scalefont setfont 184 234 m gs 1 -1 scale (Comm_intercomm) dup stringwidth pop 2 div neg 0 rmoveto col-1 show gr $F2psEnd @endspecial 2065 2770 a Fo(147)p eop bop 71 120 a @beginspecial @setspecial /$F2psDict 32 dict def $F2psDict begin $F2psDict /mtrx matrix put end /$F2psBegin {$F2psDict begin /$F2psEnteredState save def} def /$F2psEnd {$F2psEnteredState restore end} def $F2psBegin 0.900000 -0.900000 scale 90 rotate 0 -612 translate -36 36 translate 4.000 setlinewidth .2 setgray newpath 34 19 moveto 19 19 19 604 15 arcto 4 {pop} repeat 19 619 764 619 15 arcto 4 {pop} repeat 779 619 779 34 15 arcto 4 {pop} repeat 779 19 34 19 15 arcto 4 {pop} repeat closepath stroke showpage $F2psEnd @endspecial 187 x Fh(Exchanging)30 b(data)j(b)s(et)m(w)m(een)f(p)m(rograms)p 71 357 1910 19 v 71 372 1910 7 v 143 847 a Fi(\017)41 b Fp(F)m(o)m(rm)36 b(intercommunicato)m(r)228 971 y(\()p Fd(MPI_INTERCOMM_CREATE)p Fp(\))143 1146 y Fi(\017)41 b Fp(Send)34 b(data)228 1303 y Fd(MPI_Send\()43 b(...,)h(0,)f(intercomm)g(\))228 1461 y(MPI_Recv\()g(buf,)h (...,)f(0,)h(intercomm)f(\);)228 1586 y(MPI_Bcast\()g(buf,)h(...,)f (localcomm)g(\);)228 1743 y Fp(Mo)m(re)35 b(complex)g(p)s(oint-to-p)s(oint)g (op)s(erations)228 1868 y(can)f(also)g(b)s(e)g(used)2065 2770 y Fo(148)p eop bop 71 120 a @beginspecial @setspecial /$F2psDict 32 dict def $F2psDict begin $F2psDict /mtrx matrix put end /$F2psBegin {$F2psDict begin /$F2psEnteredState save def} def /$F2psEnd {$F2psEnteredState restore end} def $F2psBegin 0.900000 -0.900000 scale 90 rotate 0 -612 translate -36 36 translate 4.000 setlinewidth .2 setgray newpath 34 19 moveto 19 19 19 604 15 arcto 4 {pop} repeat 19 619 764 619 15 arcto 4 {pop} repeat 779 619 779 34 15 arcto 4 {pop} repeat 779 19 34 19 15 arcto 4 {pop} repeat closepath stroke showpage $F2psEnd @endspecial 187 x Fh(Collective)31 b(op)s(erations)p 71 357 1910 19 v 71 372 1910 7 v 71 1140 a Fp(Use)40 b Fd(MPI_INTERCOMM_MERGE)f Fp(to)i(create)g(an)71 1265 y(intercommunicato)m(r.)2065 2770 y Fo(149)p eop bop 71 120 a @beginspecial @setspecial /$F2psDict 32 dict def $F2psDict begin $F2psDict /mtrx matrix put end /$F2psBegin {$F2psDict begin /$F2psEnteredState save def} def /$F2psEnd {$F2psEnteredState restore end} def $F2psBegin 0.900000 -0.900000 scale 90 rotate 0 -612 translate -36 36 translate 4.000 setlinewidth .2 setgray newpath 34 19 moveto 19 19 19 604 15 arcto 4 {pop} repeat 19 619 764 619 15 arcto 4 {pop} repeat 779 619 779 34 15 arcto 4 {pop} repeat 779 19 34 19 15 arcto 4 {pop} repeat closepath stroke showpage $F2psEnd @endspecial 249 x Fn(Final)38 b(Comments)p 71 419 1910 19 v 71 434 1910 7 v 71 1056 a Fp(Additional)g(features)e(of)g(MPI)i(not)f (covered)f(in)71 1181 y(this)e(tuto)m(rial)143 1355 y Fi(\017)41 b Fp(P)m(ersistent)35 b(Communication)143 1529 y Fi(\017)41 b Fp(Erro)m(r)36 b(handling)2065 2770 y Fo(150)p eop bop 71 120 a @beginspecial @setspecial /$F2psDict 32 dict def $F2psDict begin $F2psDict /mtrx matrix put end /$F2psBegin {$F2psDict begin /$F2psEnteredState save def} def /$F2psEnd {$F2psEnteredState restore end} def $F2psBegin 0.900000 -0.900000 scale 90 rotate 0 -612 translate -36 36 translate 4.000 setlinewidth .2 setgray newpath 34 19 moveto 19 19 19 604 15 arcto 4 {pop} repeat 19 619 764 619 15 arcto 4 {pop} repeat 779 619 779 34 15 arcto 4 {pop} repeat 779 19 34 19 15 arcto 4 {pop} repeat closepath stroke showpage $F2psEnd @endspecial 187 x Fh(Sha)m(rable)32 b(MPI)f(Resources)p 71 357 1910 19 v 71 372 1910 7 v 150 533 a Fm(\017)41 b Fl(The)29 b(Standa)n(rd)e(itself:)264 659 y Fh({)42 b Fl(As)29 b(a)f(T)-7 b(echnical)27 b(rep)r(o)n(rt:)38 b(U.)29 b(of)g(T)-7 b(ennessee.)353 738 y(rep)r(o)n(rt)264 863 y Fh({)42 b Fl(As)29 b(p)r(ostscript)g(fo)n(r)f (ftp:)39 b(at)28 b Ff(info.mcs.)o(an)o(l.g)o(ov)d Fl(in)353 942 y Ff(pub/mpi/m)o(pi)o(-re)o(po)o(rt)o(.ps)o Fl(.)264 1068 y Fh({)42 b Fl(As)29 b(hyp)r(ertext)h(on)f(the)g(W)n(o)n(rld)e(Wide)i(W)n (eb:)353 1147 y Ff(http://ww)o(w.)o(mcs)o(.a)o(nl)o(.go)o(v/)o(mpi)264 1272 y Fh({)42 b Fl(As)29 b(a)f(journal)f(a)n(rticle:)36 b(in)28 b(the)h(F)n(all)e(issue)h(of)h(the)353 1351 y(Journal)e(of)i(Sup)r (ercomputing)f(Applications)150 1523 y Fm(\017)41 b Fl(MPI)29 b(F)n(o)n(rum)e(discussions)264 1649 y Fh({)42 b Fl(The)29 b(MPI)g(F)n(o)n(rum)d(email)g(discussions)i(and)g(b)r(oth)353 1728 y(current)h(and)f(ea)n(rlier)e(versions)i(of)h(the)h(Standa)n(rd)353 1807 y(a)n(re)e(availabl)o(e)e(from)i Ff(netlib)p Fl(.)150 1979 y Fm(\017)41 b Fl(Bo)r(oks:)264 2105 y Fh({)h Fj(Using)27 b(MPI:)i(P)n(o)n(rtable)e(P)n(a)n(rallel)e(Programmi)o(ng)353 2183 y(with)j(the)h(Message-P)n(assing)f(Interface)p Fl(,)h(b)n(y)353 2262 y(Gropp,)g(Lusk,)f(and)g(Skjellum,)d(MIT)k(Press,)g(1994)264 2388 y Fh({)42 b Fj(MPI)29 b(Annotated)g(Reference)i(Manual)p Fl(,)c(b)n(y)i(Otto,)353 2467 y(et)g(al.,)e(in)h(p)n(repa)n(ration.)2065 2770 y Fo(151)p eop bop 71 120 a @beginspecial @setspecial /$F2psDict 32 dict def $F2psDict begin $F2psDict /mtrx matrix put end /$F2psBegin {$F2psDict begin /$F2psEnteredState save def} def /$F2psEnd {$F2psEnteredState restore end} def $F2psBegin 0.900000 -0.900000 scale 90 rotate 0 -612 translate -36 36 translate 4.000 setlinewidth .2 setgray newpath 34 19 moveto 19 19 19 604 15 arcto 4 {pop} repeat 19 619 764 619 15 arcto 4 {pop} repeat 779 619 779 34 15 arcto 4 {pop} repeat 779 19 34 19 15 arcto 4 {pop} repeat closepath stroke showpage $F2psEnd @endspecial 187 x Fh(Sha)m(rable)32 b(MPI)f(Resources,)i(continued)p 71 357 1910 19 v 71 372 1910 7 v 150 527 a Fm(\017)41 b Fl(Newsgroup:)264 652 y Fh({)h Ff(comp.para)o(ll)o(el.)o(mp)o(i)150 824 y Fm(\017)f Fl(Mailing)26 b(lists:)264 950 y Fh({)42 b Ff(mpi-comm@)o(mc)o(s.a)o(nl)o(.g) o(ov)p Fl(:)35 b(the)29 b(MPI)g(F)n(o)n(rum)353 1029 y(discussion)e(list.)264 1154 y Fh({)42 b Ff(mpi-impl@)o(mc)o(s.a)o(nl)o(.g)o(ov)p Fl(:)35 b(the)29 b(implem)o(ento)n(rs')353 1233 y(discussion)e(list.)150 1406 y Fm(\017)41 b Fl(Implementations)26 b(availabl)o(e)g(b)n(y)j Ff(ftp)p Fl(:)264 1531 y Fh({)42 b Fl(MPICH)29 b(is)f(availabl)o(e)e(b)n(y)j (anonymous)f Ff(ftp)f Fl(from)353 1610 y Ff(info.mcs.)o(an)o(l.g)o(ov)e Fl(in)j(the)h(directo)n(ry)353 1689 y Ff(pub/mpi/m)o(pi)o(ch)p Fl(,)c(\014le)k Ff(mpich.ta)o(r.Z)o Fl(.)264 1814 y Fh({)42 b Fl(LAM)29 b(is)f(available)e(b)n(y)i(anonymous)g Ff(ftp)f Fl(from)353 1893 y Ff(tbag.osc.)o(ed)o(u)f Fl(in)i(the)h(directo)n(ry)e Ff(pub/lam)p Fl(.)264 2019 y Fh({)42 b Fl(The)29 b(CHIMP)g(version)f(of)h (MPI)g(is)f(availabl)o(e)e(b)n(y)353 2098 y(anonymous)i Ff(ftp)f Fl(from)h Ff(ftp.epcc.)o(ed)o(.ac)o(.u)o(k)e Fl(in)h(the)353 2177 y(directo)n(ry)h Ff(pub/chim)o(p/r)o(el)o(eas)o(e)p Fl(.)150 2349 y Fm(\017)41 b Fl(T)-7 b(est)29 b(co)r(de)h(rep)r(osito)n(ry:)264 2474 y Fh({)42 b Ff(ftp://inf)o(o.)o(mcs)o(.a)o(nl)o(.go)o(v/)o(pub)o(/m)o (pi/)o(mp)o(i-t)o(es)o(t)2065 2770 y Fo(152)p eop bop 71 120 a @beginspecial @setspecial /$F2psDict 32 dict def $F2psDict begin $F2psDict /mtrx matrix put end /$F2psBegin {$F2psDict begin /$F2psEnteredState save def} def /$F2psEnd {$F2psEnteredState restore end} def $F2psBegin 0.900000 -0.900000 scale 90 rotate 0 -612 translate -36 36 translate 4.000 setlinewidth .2 setgray newpath 34 19 moveto 19 19 19 604 15 arcto 4 {pop} repeat 19 619 764 619 15 arcto 4 {pop} repeat 779 619 779 34 15 arcto 4 {pop} repeat 779 19 34 19 15 arcto 4 {pop} repeat closepath stroke showpage $F2psEnd @endspecial 166 x Fh(MPI-2)p 71 335 1910 19 v 71 350 1910 7 v 82 459 a Fm(\017)42 b Fl(The)28 b(MPI)h(F)n(o)n(rum)e(\(with)i(old)f(and) g(new)i(pa)n(rticipants\))161 538 y(has)e(b)r(egun)i(a)e(follo)n(w-on)f (series)h(of)h(meetings.)82 689 y Fm(\017)42 b Fl(Goals)181 814 y({)g(cla)n(rify)26 b(existing)i(draft)181 940 y({)42 b(p)n(rovide)27 b(features)i(users)g(have)g(requested)181 1065 y({)42 b(mak)n(e)26 b(extensions,)j(not)g(changes)82 1216 y Fm(\017)42 b Fl(Majo)n(r)27 b(T)-7 b(opics)28 b(b)r(eing)g(considered)181 1341 y({)42 b(dynamic)27 b(p)n(ro)r(cess)i(management)181 1467 y({)42 b(client/server)181 1593 y({)g(real-tim)o(e)26 b(extensions)181 1718 y({)42 b(\\one-sided")28 b(communication)d(\(put/get,)30 b(active)266 1797 y(messages\))181 1923 y({)42 b(p)r(o)n(rtable)27 b(access)i(to)g(MPI)g(system)g(state)f(\(fo)n (r)266 2001 y(debuggers\))181 2127 y({)42 b(language)27 b(bindings)g(fo)n(r)i (C++)f(and)h(F)n(o)n(rtran-90)82 2278 y Fm(\017)42 b Fl(Schedule)181 2403 y({)g(Dynamic)27 b(p)n(ro)r(cesses,)i(client/server)f(b)n(y)h(SC)f('95) 181 2529 y({)42 b(MPI-2)28 b(complete)g(b)n(y)h(SC)f('96)2065 2770 y Fo(153)p eop bop 71 120 a @beginspecial @setspecial /$F2psDict 32 dict def $F2psDict begin $F2psDict /mtrx matrix put end /$F2psBegin {$F2psDict begin /$F2psEnteredState save def} def /$F2psEnd {$F2psEnteredState restore end} def $F2psBegin 0.900000 -0.900000 scale 90 rotate 0 -612 translate -36 36 translate 4.000 setlinewidth .2 setgray newpath 34 19 moveto 19 19 19 604 15 arcto 4 {pop} repeat 19 619 764 619 15 arcto 4 {pop} repeat 779 619 779 34 15 arcto 4 {pop} repeat 779 19 34 19 15 arcto 4 {pop} repeat closepath stroke showpage $F2psEnd @endspecial 187 x Fh(Summa)m(ry)p 71 357 1910 19 v 71 372 1910 7 v 82 899 a Fm(\017)42 b Fl(The)28 b(pa)n(rallel)d(computing)j (communit)n(y)e(has)i(co)r(op)r(erated)161 978 y(to)f(develop)h(a)f (full-featured)g(standa)n(rd)f(message-passing)161 1056 y(lib)n(ra)m(ry)g (interface.)82 1229 y Fm(\017)42 b Fl(Implementati)o(ons)26 b(ab)r(ound)82 1401 y Fm(\017)42 b Fl(Applications)26 b(b)r(eginning)i(to)h (b)r(e)g(develop)r(ed)h(o)n(r)e(p)r(o)n(rted)82 1573 y Fm(\017)42 b Fl(MPI-2)28 b(p)n(ro)r(cess)h(b)r(eginning)82 1746 y Fm(\017)42 b Fl(Lots)28 b(of)h(MPI)g(material)d(availabl)o(e)2065 2770 y Fo(154)p eop end userdict /end-hook known{end-hook}if .