Re: Accessing whole filetypes

Bill Nitzberg (nitzberg@nas.nasa.gov)
Wed, 16 Apr 1997 17:05:35 -0700

Now that the next MPI Forum meeting is rapidly drawing near, it is
time to remember some of the detailed issues which we were discussing
a month ago over email. We will need to look at them closely when we
get together, so it may be useful to review some of the old mail.

One such issue is whether we want to restrict all data accesses to
whole filetypes. If we do this, then etypes become superfluous and
are deleted from the standard. The issues, as framed by Bill
Nitzberg, were:

> 1. Is this a technically good idea?
> 2. How big a change is it?

The old email has ample discussion on both of these points. We are
enclosing below the modifications to the text which would be required
if this change were made. To the best of our knowledge, this is a
complete set of modifications. Please let us know if we've missed
something.

Summary of changes necessary:

Introduction / Definitions ---
eliminated etypes;
moved explanatory text from etype definition to filetype definition;
fixed view definition;
fixed offset definition.

File Views ---
eliminated etypes;
require filetypes to have the same extent.

Data Access ---
delete all but the first sentence of all data access
routines (the new `Data Access Conventions' makes this
text obselete regardless of what we do about etypes).

File Interoperability / User Defined Data Representations ---
would need to be changed.

Consistency and Semantics / Type Matching ---
changed 'etype' to 'type'.

Examples \& Figures ---
probably need to be updated.

The following references to etypes can simply be deleted
(if the reference was `etypes and/or filetypes')
or changed to `filetype' (if the reference was `etype'):
- Data Access / Positioning
- Data Access with Individual File Pointers / Introduction
- Data Access with Individual File Pointers / SEEK
- Data Access with Individual File Pointers / FILE\_GET\_POSITION
- Data Access with Shared File Pointers / Introduction
- Data Access with Shared File Pointers / MPI\_SEEK\_SHARED
- File Interoperability
- Consistency and Semantics / Random Access vs. Sequential Files
- Consistency and Semantics / Miscellaneous Clarifications
- Filetype Constructors / Distributed Array Filetype Constructors

Enjoy,

Ian (& Bill)

----- cut here ----- io-2-noetypes.ps ----- cut here -----
%!PS-Adobe-2.0
%%Creator: dvipsk 5.58f Copyright 1986, 1994 Radical Eye Software
%%Title: temp.dvi
%%Pages: 9
%%PageOrder: Ascend
%%BoundingBox: 0 0 612 792
%%EndComments
%DVIPSCommandLine: /usr/local/bin/dvips -o temp.ps temp
%DVIPSParameters: dpi=300, comments removed
%DVIPSSource: TeX output 1997.04.16:1658
%%BeginProcSet: tex.pro
/TeXDict 250 dict def TeXDict begin /N{def}def /B{bind def}N /S{exch}N
/X{S N}B /TR{translate}N /isls false N /vsize 11 72 mul N /hsize 8.5 72
mul N /landplus90{false}def /@rigin{isls{[0 landplus90{1 -1}{-1 1}
ifelse 0 0 0]concat}if 72 Resolution div 72 VResolution div neg scale
isls{landplus90{VResolution 72 div vsize mul 0 exch}{Resolution -72 div
hsize mul 0}ifelse TR}if Resolution VResolution vsize -72 div 1 add mul
TR[matrix currentmatrix{dup dup round sub abs 0.00001 lt{round}if}
forall round exch round exch]setmatrix}N /@landscape{/isls true N}B
/@manualfeed{statusdict /manualfeed true put}B /@copies{/#copies X}B
/FMat[1 0 0 -1 0 0]N /FBB[0 0 0 0]N /nn 0 N /IE 0 N /ctr 0 N /df-tail{
/nn 8 dict N nn begin /FontType 3 N /FontMatrix fntrx N /FontBBox FBB N
string /base X array /BitMaps X /BuildChar{CharBuilder}N /Encoding IE N
end dup{/foo setfont}2 array copy cvx N load 0 nn put /ctr 0 N[}B /df{
/sf 1 N /fntrx FMat N df-tail}B /dfs{div /sf X /fntrx[sf 0 0 sf neg 0 0]
N df-tail}B /E{pop nn dup definefont setfont}B /ch-width{ch-data dup
length 5 sub get}B /ch-height{ch-data dup length 4 sub get}B /ch-xoff{
128 ch-data dup length 3 sub get sub}B /ch-yoff{ch-data dup length 2 sub
get 127 sub}B /ch-dx{ch-data dup length 1 sub get}B /ch-image{ch-data
dup type /stringtype ne{ctr get /ctr ctr 1 add N}if}B /id 0 N /rw 0 N
/rc 0 N /gp 0 N /cp 0 N /G 0 N /sf 0 N /CharBuilder{save 3 1 roll S dup
/base get 2 index get S /BitMaps get S get /ch-data X pop /ctr 0 N ch-dx
0 ch-xoff ch-yoff ch-height sub ch-xoff ch-width add ch-yoff
setcachedevice ch-width ch-height true[1 0 0 -1 -.1 ch-xoff sub ch-yoff
.1 sub]{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 userdict
/eop-hook known{eop-hook}if showpage}N /@start{userdict /start-hook
known{start-hook}if pop /VResolution X /Resolution X 1000 div /DVImag X
/IE 256 array N 0 1 255{IE S 1 string dup 0 3 index put cvn put}for
65781.76 div /vsize X 65781.76 div /hsize X}N /p{show}N /RMat[1 0 0 -1 0
0]N /BDot 260 string N /rulex 0 N /ruley 0 N /v{/ruley X /rulex X V}B /V
{}B /RV statusdict begin /product where{pop product dup length 7 ge{0 7
getinterval dup(Display)eq exch 0 4 getinterval(NeXT)eq or}{pop false}
ifelse}{false}ifelse end{{gsave TR -.1 .1 TR 1 1 scale rulex ruley false
RMat{BDot}imagemask grestore}}{{gsave TR -.1 .1 TR rulex ruley scale 1 1
false RMat{BDot}imagemask grestore}}ifelse B /QV{gsave newpath transform
round exch round exch itransform moveto rulex 0 rlineto 0 ruley neg
rlineto rulex neg 0 rlineto fill grestore}B /a{moveto}B /delta 0 N /tail
{dup /delta X 0 rmoveto}B /M{S p delta add tail}B /b{S p tail}B /c{-4 M}
B /d{-3 M}B /e{-2 M}B /f{-1 M}B /g{0 M}B /h{1 M}B /i{2 M}B /j{3 M}B /k{
4 M}B /w{0 rmoveto}B /l{p -4 w}B /m{p -3 w}B /n{p -2 w}B /o{p -1 w}B /q{
p 1 w}B /r{p 2 w}B /s{p 3 w}B /t{p 4 w}B /x{0 S rmoveto}B /y{3 2 roll p
a}B /bos{/SS save N}B /eos{SS restore}B end
%%EndProcSet
%%BeginProcSet: special.pro
TeXDict begin /SDict 200 dict N SDict begin /@SpecialDefaults{/hs 612 N
/vs 792 N /ho 0 N /vo 0 N /hsc 1 N /vsc 1 N /ang 0 N /CLIP 0 N /rwiSeen
false N /rhiSeen false N /letter{}N /note{}N /a4{}N /legal{}N}B
/@scaleunit 100 N /@hscale{@scaleunit div /hsc X}B /@vscale{@scaleunit
div /vsc X}B /@hsize{/hs X /CLIP 1 N}B /@vsize{/vs X /CLIP 1 N}B /@clip{
/CLIP 2 N}B /@hoffset{/ho X}B /@voffset{/vo X}B /@angle{/ang X}B /@rwi{
10 div /rwi X /rwiSeen true N}B /@rhi{10 div /rhi X /rhiSeen true N}B
/@llx{/llx X}B /@lly{/lly X}B /@urx{/urx X}B /@ury{/ury X}B /magscale
true def end /@MacSetUp{userdict /md known{userdict /md get type
/dicttype eq{userdict begin md length 10 add md maxlength ge{/md md dup
length 20 add dict copy def}if end md begin /letter{}N /note{}N /legal{}
N /od{txpose 1 0 mtx defaultmatrix dtransform S atan/pa X newpath
clippath mark{transform{itransform moveto}}{transform{itransform lineto}
}{6 -2 roll transform 6 -2 roll transform 6 -2 roll transform{
itransform 6 2 roll itransform 6 2 roll itransform 6 2 roll curveto}}{{
closepath}}pathforall newpath counttomark array astore /gc xdf pop ct 39
0 put 10 fz 0 fs 2 F/|______Courier fnt invertflag{PaintBlack}if}N
/txpose{pxs pys scale ppr aload pop por{noflips{pop S neg S TR pop 1 -1
scale}if xflip yflip and{pop S neg S TR 180 rotate 1 -1 scale ppr 3 get
ppr 1 get neg sub neg ppr 2 get ppr 0 get neg sub neg TR}if xflip yflip
not and{pop S neg S TR pop 180 rotate ppr 3 get ppr 1 get neg sub neg 0
TR}if yflip xflip not and{ppr 1 get neg ppr 0 get neg TR}if}{noflips{TR
pop pop 270 rotate 1 -1 scale}if xflip yflip and{TR pop pop 90 rotate 1
-1 scale ppr 3 get ppr 1 get neg sub neg ppr 2 get ppr 0 get neg sub neg
TR}if xflip yflip not and{TR pop pop 90 rotate ppr 3 get ppr 1 get neg
sub neg 0 TR}if yflip xflip not and{TR pop pop 270 rotate ppr 2 get ppr
0 get neg sub neg 0 S TR}if}ifelse scaleby96{ppr aload pop 4 -1 roll add
2 div 3 1 roll add 2 div 2 copy TR .96 dup scale neg S neg S TR}if}N /cp
{pop pop showpage pm restore}N end}if}if}N /normalscale{Resolution 72
div VResolution 72 div neg scale magscale{DVImag dup scale}if 0 setgray}
N /psfts{S 65781.76 div N}N /startTexFig{/psf$SavedState save N userdict
maxlength dict begin /magscale true def normalscale currentpoint TR
/psf$ury psfts /psf$urx psfts /psf$lly psfts /psf$llx psfts /psf$y psfts
/psf$x psfts currentpoint /psf$cy X /psf$cx X /psf$sx psf$x psf$urx
psf$llx sub div N /psf$sy psf$y psf$ury psf$lly sub div N psf$sx psf$sy
scale psf$cx psf$sx div psf$llx sub psf$cy psf$sy div psf$ury sub TR
/showpage{}N /erasepage{}N /copypage{}N /p 3 def @MacSetUp}N /doclip{
psf$llx psf$lly psf$urx psf$ury currentpoint 6 2 roll newpath 4 copy 4 2
roll moveto 6 -1 roll S lineto S lineto S lineto closepath clip newpath
moveto}N /endTexFig{end psf$SavedState restore}N /@beginspecial{SDict
begin /SpecialSave save N gsave normalscale currentpoint TR
@SpecialDefaults count /ocount X /dcount countdictstack N}N /@setspecial
{CLIP 1 eq{newpath 0 0 moveto hs 0 rlineto 0 vs rlineto hs neg 0 rlineto
closepath clip}if ho vo TR hsc vsc scale ang rotate rwiSeen{rwi urx llx
sub div rhiSeen{rhi ury lly sub div}{dup}ifelse scale llx neg lly neg TR
}{rhiSeen{rhi ury lly sub div dup scale llx neg lly neg TR}if}ifelse
CLIP 2 eq{newpath llx lly moveto urx lly lineto urx ury lineto llx ury
lineto closepath clip}if /showpage{}N /erasepage{}N /copypage{}N newpath
}N /@endspecial{count ocount sub{pop}repeat countdictstack dcount sub{
end}repeat grestore SpecialSave restore end}N /@defspecial{SDict begin}
N /@fedspecial{end}B /li{lineto}B /rl{rlineto}B /rc{rcurveto}B /np{
/SaveX currentpoint /SaveY X N 1 setlinecap newpath}N /st{stroke SaveX
SaveY moveto}N /fil{fill SaveX SaveY moveto}N /ellipse{/endangle X
/startangle X /yrad X /xrad X /savematrix matrix currentmatrix N TR xrad
yrad scale 0 0 1 startangle endangle arc savematrix setmatrix}N end
%%EndProcSet
TeXDict begin 40258437 52099154 1000 300 300 (temp.dvi)
@start /Fa 13 90 df<001C0000003E0000003E0000002E0000006700000067000000E7
800000C7800000C3800001C3C0000183C0000181C0000381E0000381E0000700F0000700
F0000600F0000E0078000FFFF8000FFFF8001C003C001C003C0018003C0038001E003800
1E0070001F0070000F0070000F00E0000780191D7F9C1C>65 D<FFF800FFFF00F00F80F0
03C0F001E0F000F0F000F0F000F0F000F0F000F0F001E0F007C0FFFF80FFFE00FFFF80F0
3FC0F003E0F001F0F000F0F00078F00078F00078F00078F00078F000F0F001E0F007C0FF
FF80FFFC00151D7C9C1C>I<FFFFC0FFFFC0F00000F00000F00000F00000F00000F00000
F00000F00000F00000F00000F00000FFFF80FFFF80F00000F00000F00000F00000F00000
F00000F00000F00000F00000F00000F00000F00000FFFFC0FFFFC0121D7C9C19>69
D<F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0041D7C9C0C>
73 D<F000F000F000F000F000F000F000F000F000F000F000F000F000F000F000F000F0
00F000F000F000F000F000F000F000F000F000F000FFFEFFFE0F1D7C9C16>76
D<FC0007E0FC0007E0FC0007E0EE000DE0EE000DE0EE000DE0E70019E0E70019E0E70019
E0E78039E0E38031E0E3C071E0E3C071E0E1C061E0E1C061E0E1E0E1E0E1E0E1E0E0E0C1
E0E0F1C1E0E07181E0E07181E0E07181E0E03B01E0E03B01E0E03B01E0E01E01E0E01E01
E0E01E01E0E00001E01B1D7C9C24>I<FC0070FC0070FE0070EE0070EF0070E70070E700
70E78070E38070E3C070E3C070E1E070E1E070E0E070E0F070E07070E07870E07870E03C
70E03C70E01C70E01E70E00E70E00E70E00F70E00770E007F0E003F0E003F0141D7C9C1D
>I<FFFC00FFFF00F00F80F003C0F001E0F000F0F000F0F000F0F000F0F000F0F000F0F0
01E0F003E0F00FC0FFFF80FFFE00F00000F00000F00000F00000F00000F00000F00000F0
0000F00000F00000F00000F00000F00000141D7C9C1B>80 D<003F000001FFE00003FFF0
0007C0F8000F807C001F003E003E001F003C000F00780007807800078078000780F00003
C0F00003C0F00003C0F00003C0F00003C0F00003C0F00003C0F00003C0F00003C0780007
8078000780780E07803C0F0F003E079F001E03DE000F83FC0007C1F80003FFF00001FFF8
00003F780000003C0000003E0000001F0000000F801A237E9D1F>I<03F8000FFE001C0F
00380700700300600000E00000E00000E00000E00000F000007800007F00003FE0001FFC
0007FE0001FF00001F800007800003C00003C00001C00001C00001C00001C0C00180E003
80F007007C0E001FFC0007F000121F7E9D17>83 D<FFFFFF80FFFFFF80001E0000001E00
00001E0000001E0000001E0000001E0000001E0000001E0000001E0000001E0000001E00
00001E0000001E0000001E0000001E0000001E0000001E0000001E0000001E0000001E00
00001E0000001E0000001E0000001E0000001E0000001E0000001E0000191D7F9C1C>I<
F00070F00070F00070F00070F00070F00070F00070F00070F00070F00070F00070F00070
F00070F00070F00070F00070F00070F00070F00070F00070F00070F00070F000707800E0
7800E03C01C01E03800F078007FE0001F800141E7C9C1D>I<F80001E07C0001C03E0003
801E0007801F0007000F800E0007801E0007C01C0003E03C0001E0380001F0700000F0F0
000078E000007DC000003FC000001F8000001F0000000F0000000F0000000F0000000F00
00000F0000000F0000000F0000000F0000000F0000000F0000000F0000000F00001B1D80
9C1C>89 D E /Fb 17 123 df<00FFF83FF8000FC00F80000F80060000078004000007C0
08000003C010000003C020000003E040000001E080000001F100000000F300000000F600
000000FC0000000078000000007C000000007C000000007C00000000BE000000011E0000
00021E000000061F0000000C0F000000080F800000100780000020078000004007C00000
8003C000010003E000030003E0000F0007E000FFE01FFE00251F7F9E26>88
D<00F1800389C00707800E03801C03803C0380380700780700780700780700F00E00F00E
00F00E00F00E10F01C20F01C20703C20705C40308C400F078014147E9318>97
D<007C01C207010E0F1E0F1C0E3C04780078007800F000F000F000F000F0007001700230
0418380FC010147E9314>99 D<0000780003F80000700000700000700000700000E00000
E00000E00000E00001C00001C000F1C00389C00707800E03801C03803C03803807007807
00780700780700F00E00F00E00F00E00F00E10F01C20F01C20703C20705C40308C400F07
8015207E9F18>I<007C01C207010E011C013C013802780C7BF07C00F000F000F000F000
7000700170023004183807C010147E9315>I<00007C0000CE00019E00039E00030C0007
00000700000700000700000E00000E00000E0000FFF0000E00000E00001C00001C00001C
00001C00001C000038000038000038000038000038000070000070000070000070000070
0000E00000E00000E00000E00000C00001C000318000798000F300006200003C00001729
7E9F16>I<00E001E001E000C000000000000000000000000000000E0013002380438043
8043808700070007000E000E001C001C001C20384038403840388019000E000B1F7E9E10
>105 D<03C01FC0038003800380038007000700070007000E000E000E000E001C001C00
1C001C0038003800380038007000700070007100E200E200E200E200640038000A207E9F
0E>108 D<1E07802318C023A06043C0704380704380708700E00700E00700E00700E00E
01C00E01C00E01C00E03821C03841C07041C07081C03083803101801E017147E931B>
110 D<007C0001C3000301800E01C01E01C01C01E03C01E07801E07801E07801E0F003C0
F003C0F003C0F00780F00700700F00700E0030180018700007C00013147E9316>I<03C1
E004621804741C08781C08701E08701E10E01E00E01E00E01E00E01E01C03C01C03C01C0
3C01C0380380780380700380E003C1C0072380071E000700000700000E00000E00000E00
000E00001C00001C0000FFC000171D819317>I<007C018203010603060706060E000780
07F803FC01FE001F00077007F006F006E004400820301FC010147E9315>115
D<00C000E001C001C001C001C003800380FFF8038007000700070007000E000E000E000E
001C001C001C001C10382038203820384018800F000D1C7F9B10>I<0F00601180702180
E021C0E041C0E04380E08381C00701C00701C00701C00E03800E03800E03800E03840E07
080C07080C07080E0F1006131003E1E016147E931A>I<0F006060118070F02180E0F821
C0E07841C0E0384380E0188381C0100701C0100701C0100701C0100E0380200E0380200E
0380200E0380400E0380400E0380800E078080060781000709860001F078001D147E9321
>119 D<0F00601180702180E021C0E041C0E04380E08381C00701C00701C00701C00E03
800E03800E03800E03800E07000C07000C07000E0F00061E0003EE00000E00000E00001C
0078180078380070700060600021C0001F0000141D7E9316>121
D<01E02003F04007F8C00C1F8008010000020000040000080000100000600000C0000100
000200000400800801001003003F060061FC0040F80080700013147E9315>I
E /Fc 47 122 df<01C00007E0000FF0000E70001C38001C38001C38001C38001C73F01C
73F01CE3F00FE3800FC7000F87000F07001F0E003F0E007B8E0073DC00E1DC00E0F800E0
F800E07070E0787070FC707FFFE03FCFE00F03C0141C7F9B18>38
D<007000F001E003C007800F001E001C00380038007000700070007000E000E000E000E0
00E000E000E000E0007000700070007000380038001C001E000F00078003C001F000F000
700C24799F18>40 D<6000F00078003C001E000F000780038001C001C000E000E000E000
E00070007000700070007000700070007000E000E000E000E001C001C0038007800F001E
003C007800F00060000C247C9F18>I<01C00001C00001C00001C000C1C180F1C780F9CF
807FFF001FFC0007F00007F0001FFC007FFF00F9CF80F1C780C1C18001C00001C00001C0
0001C00011147D9718>I<1C3E7E7F3F1F070E1E7CF860080C788518>44
D<3078FCFC783000000000000000003078FCFC78300614779318>58
D<7FFFC0FFFFE0FFFFE0FFFFE0000000000000000000000000FFFFE0FFFFE0FFFFE07FFF
C0130C7E9318>61 D<00700000F80000F80000D80000D80001DC0001DC0001DC00018C00
038E00038E00038E00038E000306000707000707000707000707000FFF800FFF800FFF80
0E03800E03801C01C01C01C07F07F0FF8FF87F07F0151C7F9B18>65
D<00F8E003FEE007FFE00F07E01E03E03C01E03800E07000E07000E0700000E00000E000
00E00000E00000E00000E00000E00000E000007000007000E07000E03800E03C00E01E01
C00F07C007FF8003FE0000F800131C7E9B18>67 D<7FF800FFFE007FFF001C0F801C03C0
1C03C01C01E01C00E01C00E01C00F01C00701C00701C00701C00701C00701C00701C0070
1C00701C00F01C00E01C00E01C01E01C01C01C03C01C0F807FFF00FFFE007FF800141C7F
9B18>I<FFFFF0FFFFF0FFFFF01C00701C00701C00701C00701C00001C00001C0E001C0E
001C0E001FFE001FFE001FFE001C0E001C0E001C0E001C00001C00001C00381C00381C00
381C00381C0038FFFFF8FFFFF8FFFFF8151C7F9B18>I<FFFFE0FFFFE0FFFFE01C00E01C
00E01C00E01C00E01C00001C00001C1C001C1C001C1C001FFC001FFC001FFC001C1C001C
1C001C1C001C00001C00001C00001C00001C00001C00001C0000FFC000FFC000FFC00013
1C7E9B18>I<01F1C003FDC00FFFC01F0FC01C03C03803C03801C07001C07001C0700000
E00000E00000E00000E00000E00000E00FF0E01FF0E00FF07001C07001C07003C03803C0
3803C01C07C01F0FC00FFFC003FDC001F1C0141C7E9B18>I<7F07F0FF8FF87F07F01C01
C01C01C01C01C01C01C01C01C01C01C01C01C01C01C01C01C01FFFC01FFFC01FFFC01C01
C01C01C01C01C01C01C01C01C01C01C01C01C01C01C01C01C01C01C07F07F0FF8FF87F07
F0151C7F9B18>I<7FFF00FFFF807FFF0001C00001C00001C00001C00001C00001C00001
C00001C00001C00001C00001C00001C00001C00001C00001C00001C00001C00001C00001
C00001C00001C00001C0007FFF00FFFF807FFF00111C7D9B18>I<7F07F0FF87F87F07F0
1C03C01C07801C07001C0E001C1E001C3C001C38001C70001CF0001DF0001DF0001FB800
1FB8001F1C001E1C001C0E001C0E001C07001C07001C03801C03801C01C07F03F0FF87F8
7F03F0151C7F9B18>75 D<7FE000FFE0007FE0000E00000E00000E00000E00000E00000E
00000E00000E00000E00000E00000E00000E00000E00000E00000E00000E00000E00000E
00700E00700E00700E00700E00707FFFF0FFFFF07FFFF0141C7F9B18>I<FC01F8FE03F8
FE03F83B06E03B06E03B06E03B06E03B8EE03B8EE0398CE0398CE039DCE039DCE039DCE0
38D8E038D8E038F8E03870E03870E03800E03800E03800E03800E03800E03800E0FE03F8
FE03F8FE03F8151C7F9B18>I<7E07F0FF0FF87F07F01D81C01D81C01D81C01DC1C01CC1
C01CC1C01CE1C01CE1C01CE1C01C61C01C71C01C71C01C31C01C39C01C39C01C39C01C19
C01C19C01C1DC01C0DC01C0DC01C0DC07F07C0FF87C07F03C0151C7F9B18>I<0FF8003F
FE007FFF00780F00700700F00780E00380E00380E00380E00380E00380E00380E00380E0
0380E00380E00380E00380E00380E00380E00380E00380E00380F00780700700780F007F
FF003FFE000FF800111C7D9B18>I<FFFE00FFFF80FFFFC01C03C01C01E01C00E01C0070
1C00701C00701C00701C00701C00E01C01E01C03C01FFFC01FFF801FFE001C00001C0000
1C00001C00001C00001C00001C00001C0000FF8000FF8000FF8000141C7F9B18>I<7FF8
00FFFE007FFF001C0F801C03801C03C01C01C01C01C01C01C01C03C01C03801C0F801FFF
001FFE001FFE001C0F001C07001C03801C03801C03801C03801C03801C039C1C039C1C03
9C7F01F8FF81F87F00F0161C7F9B18>82 D<03F3801FFF803FFF807C0F80700780E00380
E00380E00380E000007000007800003F00001FF00007FE0000FF00000F800003C00001C0
0000E00000E06000E0E000E0E001E0F001C0F80780FFFF80FFFE00E7F800131C7E9B18>
I<7FFFF8FFFFF8FFFFF8E07038E07038E07038E070380070000070000070000070000070
000070000070000070000070000070000070000070000070000070000070000070000070
0000700007FF0007FF0007FF00151C7F9B18>I<FF07F8FF07F8FF07F81C01C01C01C01C
01C01C01C00E03800E03800E03800E03800F0780070700070700070700070700038E0003
8E00038E00038E00018C0001DC0001DC0001DC0000D80000F80000F800007000151C7F9B
18>86 D<FE03F8FE03F8FE03F87000707000707000703800E03800E03800E03800E03800
E038F8E038F8E039DCE039DCE019DCC019DCC019DCC0198CC01D8DC01D8DC01D8DC01D8D
C00D8D800D05800F07800F07800E0380151C7F9B18>I<FF07F8FF07F8FF07F81C01C01E
03C00E03800F0780070700070700038E00038E0001DC0001DC0001DC0000F80000F80000
700000700000700000700000700000700000700000700000700001FC0003FE0001FC0015
1C7F9B18>89 D<FFF8FFF8FFF8E000E000E000E000E000E000E000E000E000E000E000E0
00E000E000E000E000E000E000E000E000E000E000E000E000E000E000E000E000E000E0
00FFF8FFF8FFF80D24779F18>91 D<FFF8FFF8FFF8003800380038003800380038003800
380038003800380038003800380038003800380038003800380038003800380038003800
380038003800380038FFF8FFF8FFF80D247F9F18>93 D<1FE0003FF8007FFC00781E0030
0E0000070000070000FF0007FF001FFF007F0700780700E00700E00700E00700F00F0078
1F003FFFF01FFBF007E1F014147D9318>97 D<01FE0007FF001FFF803E07803803007000
00700000E00000E00000E00000E00000E00000E000007000007001C03801C03E03C01FFF
8007FF0001FC0012147D9318>99 D<001F80003F80001F80000380000380000380000380
00038003E3800FFB801FFF803C1F80380F80700780700380E00380E00380E00380E00380
E00380E00380700780700780380F803C1F801FFFF00FFBF803E3F0151C7E9B18>I<01F0
0007FC001FFE003E0F00380780700380700380E001C0E001C0FFFFC0FFFFC0FFFFC0E000
007000007001C03801C03E03C01FFF8007FF0001FC0012147D9318>I<001F80007FC000
FFE000E1E001C0C001C00001C00001C0007FFFC0FFFFC0FFFFC001C00001C00001C00001
C00001C00001C00001C00001C00001C00001C00001C00001C00001C00001C0007FFF007F
FF007FFF00131C7F9B18>I<01E1F007FFF80FFFF81E1E301C0E00380700380700380700
3807003807001C0E001E1E001FFC001FF80039E0003800001C00001FFE001FFFC03FFFE0
7801F0700070E00038E00038E00038E000387800F07E03F01FFFC00FFF8001FC00151F7F
9318>I<7E0000FE00007E00000E00000E00000E00000E00000E00000E3E000EFF800FFF
C00FC1C00F80E00F00E00E00E00E00E00E00E00E00E00E00E00E00E00E00E00E00E00E00
E00E00E00E00E07FC3FCFFE7FE7FC3FC171C809B18>I<03800007C00007C00007C00003
80000000000000000000000000007FC000FFC0007FC00001C00001C00001C00001C00001
C00001C00001C00001C00001C00001C00001C00001C00001C00001C000FFFF00FFFF80FF
FF00111D7C9C18>I<7FE000FFE0007FE00000E00000E00000E00000E00000E00000E000
00E00000E00000E00000E00000E00000E00000E00000E00000E00000E00000E00000E000
00E00000E00000E00000E0007FFFC0FFFFE07FFFC0131C7E9B18>108
D<7E3E00FEFF807FFFC00FC1C00F80E00F00E00E00E00E00E00E00E00E00E00E00E00E00
E00E00E00E00E00E00E00E00E00E00E07FC3FCFFE7FE7FC3FC1714809318>110
D<01F0000FFE001FFF003E0F803803807001C07001C0E000E0E000E0E000E0E000E0E000
E0F001E07001C07803C03C07803E0F801FFF000FFE0001F00013147E9318>I<7E3E00FE
FF807FFFC00FC1E00F80E00F00700E00700E00380E00380E00380E00380E00380E00380F
00700F00700F80E00FC1E00FFFC00EFF800E3E000E00000E00000E00000E00000E00000E
00000E00007FC000FFE0007FC000151E809318>I<7F87E0FF9FF07FBFF803F87803F030
03E00003C00003C000038000038000038000038000038000038000038000038000038000
7FFE00FFFF007FFE0015147F9318>114 D<07F7003FFF007FFF00780F00E00700E00700
E007007C00007FE0001FFC0003FE00001F00600780E00380E00380F00380F80F00FFFF00
FFFC00E7F00011147D9318>I<0180000380000380000380000380007FFFC0FFFFC0FFFF
C00380000380000380000380000380000380000380000380000380000380400380E00380
E00380E001C1C001FFC000FF80003E0013197F9818>I<7F8FF0FF8FF87F8FF01E03C00E
03800E03800E0380070700070700070700038E00038E00038E00038E0001DC0001DC0001
DC0000F80000F80000700015147F9318>118 D<FF8FF8FF8FF8FF8FF83800E03800E038
00E01C01C01C01C01C71C01CF9C01CF9C01CD9C01CD9C00DDD800DDD800DDD800D8D800F
8F800F8F8007070015147F9318>I<7F8FF0FF8FF87F8FF00E01C00E03800E0380070380
070700070700038700038600038E0001CE0001CE0000CC0000CC0000DC00007800007800
00780000700000700000700000F00000E00079E0007BC0007F80003F00001E0000151E7F
9318>121 D E /Fd 27 122 df<007E0001C1800301800703C00E03C00E01800E00000E
00000E00000E00000E0000FFFFC00E01C00E01C00E01C00E01C00E01C00E01C00E01C00E
01C00E01C00E01C00E01C00E01C00E01C00E01C00E01C00E01C07F87F8151D809C17>12
D<004000800100020006000C000C0018001800300030007000600060006000E000E000E0
00E000E000E000E000E000E000E000E000E000600060006000700030003000180018000C
000C00060002000100008000400A2A7D9E10>40 D<800040002000100018000C000C0006
00060003000300038001800180018001C001C001C001C001C001C001C001C001C001C001
C001C0018001800180038003000300060006000C000C00180010002000400080000A2A7E
9E10>I<FFF00F000F000F000F000F000F000F000F000F000F000F000F000F000F000F00
0F000F000F000F000F000F000F000F000F000F000F00FFF00C1C7F9B0F>73
D<FF007FC00F800E000F8004000BC0040009E0040009E0040008F0040008F80400087804
00083C0400083C0400081E0400080F0400080F0400080784000807C4000803C4000801E4
000801E4000800F40008007C0008007C0008003C0008003C0008001C0008000C001C000C
00FF8004001A1C7E9B1F>78 D<003F800000E0E0000380380007001C000E000E001C0007
003C00078038000380780003C0780003C0700001C0F00001E0F00001E0F00001E0F00001
E0F00001E0F00001E0F00001E0F00001E0700001C0780003C0780003C0380003803C0007
801C0007000E000E0007001C000380380000E0E000003F80001B1E7E9C20>I<7FFFFFC0
700F01C0600F00C0400F0040400F0040C00F0020800F0020800F0020800F0020000F0000
000F0000000F0000000F0000000F0000000F0000000F0000000F0000000F0000000F0000
000F0000000F0000000F0000000F0000000F0000000F0000000F0000001F800003FFFC00
1B1C7F9B1E>84 D<FFF07FC00F000E000F0004000F0004000F0004000F0004000F000400
0F0004000F0004000F0004000F0004000F0004000F0004000F0004000F0004000F000400
0F0004000F0004000F0004000F0004000F0004000F000400070008000780080003801000
0180100000C020000070C000001F00001A1D7E9B1F>I<1FC000307000783800781C0030
1C00001C00001C0001FC000F1C00381C00701C00601C00E01C40E01C40E01C40603C4030
4E801F870012127E9115>97 D<FC00001C00001C00001C00001C00001C00001C00001C00
001C00001C00001C00001C7C001D86001E03001C01801C01C01C00C01C00E01C00E01C00
E01C00E01C00E01C00E01C00C01C01C01C01801E030019060010F800131D7F9C17>I<07
E00C301878307870306000E000E000E000E000E000E00060007004300418080C3007C00E
127E9112>I<003F00000700000700000700000700000700000700000700000700000700
00070003E7000C1700180F00300700700700600700E00700E00700E00700E00700E00700
E00700600700700700300700180F000C370007C7E0131D7E9C17>I<03E00C301818300C
700E6006E006FFFEE000E000E000E00060007002300218040C1803E00F127F9112>I<00
F8018C071E061E0E0C0E000E000E000E000E000E00FFE00E000E000E000E000E000E000E
000E000E000E000E000E000E000E000E000E007FE00F1D809C0D>I<00038003C4C00C38
C01C3880181800381C00381C00381C00381C001818001C38000C300013C0001000003000
001800001FF8001FFF001FFF803003806001C0C000C0C000C0C000C06001803003001C0E
0007F800121C7F9215>I<FC00001C00001C00001C00001C00001C00001C00001C00001C
00001C00001C00001C7C001C87001D03001E03801C03801C03801C03801C03801C03801C
03801C03801C03801C03801C03801C03801C03801C0380FF9FF0141D7F9C17>I<18003C
003C0018000000000000000000000000000000FC001C001C001C001C001C001C001C001C
001C001C001C001C001C001C001C001C00FF80091D7F9C0C>I<00C001E001E000C00000
0000000000000000000000000FE000E000E000E000E000E000E000E000E000E000E000E0
00E000E000E000E000E000E000E000E000E060E0F0C0F1C061803E000B25839C0D>I<FC
001C001C001C001C001C001C001C001C001C001C001C001C001C001C001C001C001C001C
001C001C001C001C001C001C001C001C001C00FF80091D7F9C0C>108
D<FC7E07E0001C838838001D019018001E01E01C001C01C01C001C01C01C001C01C01C00
1C01C01C001C01C01C001C01C01C001C01C01C001C01C01C001C01C01C001C01C01C001C
01C01C001C01C01C001C01C01C00FF8FF8FF8021127F9124>I<FC7C001C87001D03001E
03801C03801C03801C03801C03801C03801C03801C03801C03801C03801C03801C03801C
03801C0380FF9FF014127F9117>I<03F0000E1C00180600300300700380600180E001C0
E001C0E001C0E001C0E001C0E001C06001807003803003001806000E1C0003F00012127F
9115>I<FC7C001D86001E03001C01801C01C01C00C01C00E01C00E01C00E01C00E01C00
E01C00E01C01C01C01C01C01801E03001D06001CF8001C00001C00001C00001C00001C00
001C00001C0000FF8000131A7F9117>I<FCE01D301E781E781C301C001C001C001C001C
001C001C001C001C001C001C001C00FFC00D127F9110>114 D<1F9030704030C010C010
E010F8007F803FE00FF000F880388018C018C018E010D0608FC00D127F9110>I<040004
00040004000C000C001C003C00FFE01C001C001C001C001C001C001C001C001C001C101C
101C101C101C100C100E2003C00C1A7F9910>I<FF07E03C03801C01001C01000E02000E
020007040007040007040003880003880003D80001D00001D00000E00000E00000E00000
4000004000008000008000F08000F10000F300006600003C0000131A7F9116>121
D E /Fe 31 122 df<F8F8F8F8F805057B8410>46 D<007E0001FF8007FFE00FFFF01FC3
F81F00F83E007C3E007C3C003C7C003E7C003E78001E78001EF8001FF8001FF8001FF800
1FF8001FF8001FF8001FF8001FF8001FF8001FF8001FF8001FF8001FF8001FF8001F7800
1E7C003E7C003E7C003E7C003E3E007C3F00FC1F00F81FC3F80FFFF007FFE001FF80007E
0018297EA71D>48 D<00300000700001F0000FF000FFF000FFF000F1F00001F00001F000
01F00001F00001F00001F00001F00001F00001F00001F00001F00001F00001F00001F000
01F00001F00001F00001F00001F00001F00001F00001F00001F00001F00001F00001F000
01F00001F00001F00001F000FFFFE0FFFFE0FFFFE013287BA71D>I<00FE0003FF800FFF
C01FFFE01F07F03C01F87800FC78007C70007CF0003EF0003E60003E20003E00003E0000
3E00003E00007C00007C0000780000F80001F00001E00003E00007C0000F80001F00003E
00007C0000F80001F00003E00003C0000780000F00001E00003C00007FFFFE7FFFFE7FFF
FE7FFFFE17287EA71D>I<007E0003FF8007FFE01FFFF03F83F83E00F87C007C38007C30
007C10007C00007C00007C0000F80000F80001F80003F0000FE001FFC001FF8001FFC001
FFE00001F80000FC00007C00003E00003E00001F00001F00001F00001F00001F80001FC0
003EE0003EF0007E7C00FC3F01F81FFFF00FFFE003FFC000FE0018297EA71D>I<0007E0
000FE0000BE0001BE0001BE0003BE0003BE00073E00073E000F3E000F3E001E3E001E3E0
03E3E003C3E007C3E00F83E00F83E01F03E01F03E03E03E03E03E07C03E07C03E0F803E0
FFFFFFFFFFFFFFFFFFFFFFFF0003E00003E00003E00003E00003E00003E00003E00003E0
0003E00003E018277EA61D>I<3FFFF83FFFF83FFFF83FFFF83E00003E00003E00003E00
003E00003E00003E00003E00003E00003E00003E3E003EFF803FFFE03FFFF03FC1F03F00
F83F007C3E007C00007C00003E00003E00003E00003E00003E00003E00003E40003E6000
7CE0007CF000F87801F87F07F03FFFE00FFFC007FF0001FC0017287EA61D>I<0003F000
000003F000000007F800000007F800000007780000000F3C0000000F3C0000000F3C0000
001E3E0000001E1E0000001E1E0000003E1F0000003C1F0000007C0F8000007C0F800000
780F800000F807C00000F807C00000F007C00001F003E00001F003E00001E003E00003E0
01F00003E001F00003C001F00007C000F80007FFFFF80007FFFFF8000FFFFFFC000F8000
7C000F00007C001F00003E001F00003E001E00003E003E00001F003E00001F003C00001F
007C00000F807C00000F80F800000FC0F8000007C0F8000007C0222A7EA927>65
D<0003FF00000FFFE0003FFFF800FFFFF801FE01F803F8007007E0001007C000000F8000
001F8000001F0000003E0000003E0000007C0000007C0000007C0000007C000000F80000
00F8000000F8000000F8000000F8000000F8000000F8000000F8000000F8000000F80000
007C0000007C0000007C0000007C0000003E0000003E0000001F0000001F8000000F8000
0007C0000007E0000803F8003801FE01F800FFFFF8003FFFF0000FFFC00003FE001D2C7C
AA25>67 D<FFFFE00000FFFFFC0000FFFFFF0000F8007F8000F8000FC000F80007E000F8
0001F000F80000F800F80000F800F800007C00F800003E00F800003E00F800001E00F800
001F00F800001F00F800000F00F800000F80F800000F80F800000F80F800000F80F80000
0F80F800000F80F800000F80F800000F80F800000F80F800000F80F800000F00F800001F
00F800001F00F800001F00F800003E00F800003E00F800007C00F800007C00F80000F800
F80001F000F80003E000F8000FC000F8003F8000FFFFFF0000FFFFFC0000FFFFE0000021
2A7BA92A>I<FFFFFF80FFFFFF80FFFFFF80FFFFFF80F8000000F8000000F8000000F800
0000F8000000F8000000F8000000F8000000F8000000F8000000F8000000F8000000F800
0000F8000000F8000000FFFFFC00FFFFFC00FFFFFC00FFFFFC00F8000000F8000000F800
0000F8000000F8000000F8000000F8000000F8000000F8000000F8000000F8000000F800
0000F8000000F8000000F8000000F8000000F8000000F8000000F8000000192A7BA921>
70 D<F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8
F8F8F8F8F8F8F8F8F8052A7BA910>73 D<007FC00001FFF80007FFFE000FFFFF001FC07F
003F000F007E0006007C0000007C000000F8000000F8000000F8000000F8000000F80000
00FC0000007E0000007F0000003F8000001FF800000FFF000007FFE00003FFF80000FFFC
00000FFE000000FF0000003F0000001F8000000F8000000FC0000007C0000007C0000007
C0000007C0000007C0000007C000000F8060000F80F0001F00FC003F00FF80FE007FFFFC
001FFFF80007FFE00000FF80001A2C7DAA21>83 D<F8000001F0FC000001F07C000003E0
7C000003E07E000003E03E000007C03E000007C01F00000F801F00000F801F00000F800F
80001F000F80001F000F80001F0007C0003E0007C0003E0007E0003E0003E0007C0003E0
007C0001F000780001F000F80001F000F80000F801F00000F801F00000F801F000007C03
E000007C03E000007C03E000003E07C000003E07C000001E078000001F0F8000001F0F80
00000F0F0000000F8F0000000F9F000000079E000000079E00000007DE00000003FC0000
0003FC00000001F800000001F80000242A7FA927>86 D<01FC000FFF803FFFC03FFFE03C
03F03001F00001F80000F80000F80000F80000F80001F800FFF807FFF81FFFF83FC0F87E
00F8FC00F8F800F8F800F8F800F8FC01F87E07F87FFFF83FFFF81FFCF80FE0F8151B7E9A
1C>97 D<F80000F80000F80000F80000F80000F80000F80000F80000F80000F80000F800
00F80000F80000F80000F80000F83F00F9FFC0FBFFE0FFFFF0FF07F8FC01F8F800FCF800
7CF8007CF8003EF8003EF8003EF8003EF8003EF8003EF8003EF8003EF8007EF8007CF800
7CFC00F8FC01F8FF07F0FFFFE0FBFFC0F9FF80F87E00172A7CA91E>I<007F8001FFE007
FFF80FFFF81FC0783F00103E00007C00007C00007C0000F80000F80000F80000F80000F8
0000F80000F800007C00007C00007C00003E00003F00181FC0780FFFF807FFF801FFE000
7F80151B7E9A1A>I<00003E00003E00003E00003E00003E00003E00003E00003E00003E
00003E00003E00003E00003E00003E00003E01FC3E03FF3E0FFFBE1FFFFE1FC1FE3F007E
3E003E7C003E7C003EFC003EF8003EF8003EF8003EF8003EF8003EF8003EF8003EFC003E
7C003E7C003E7E007E3F00FE1FC1FE1FFFFE0FFFBE03FE3E01F83E172A7EA91E>I<00FC
0003FF0007FF800FFFC01F87E03F01E03E00F07C00F07C0070F80078FFFFF8FFFFF8FFFF
F8FFFFF8F80000F80000F800007800007C00007C00003E00003F00181FC0F80FFFF807FF
F801FFE0007F00151B7E9A1A>I<F8F8F8F8F800000000000000000000F8F8F8F8F8F8F8
F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8052A7CA90E>105
D<F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8
F8F8F8F8F8F8F8052A7CA90E>108 D<F83F003F00F8FFC0FFC0FBFFE3FFE0FFFFF7FFF0
FF83F783F0FE01FE01F8FC00FC00F8FC00FC00F8FC00FC00F8F800F800F8F800F800F8F8
00F800F8F800F800F8F800F800F8F800F800F8F800F800F8F800F800F8F800F800F8F800
F800F8F800F800F8F800F800F8F800F800F8F800F800F8F800F800F8F800F800F8F800F8
00F8F800F800F8251B7C9A2E>I<F83F00F8FFC0FBFFE0FFFFF0FF83F0FE01F8FC00F8FC
00F8FC00F8F800F8F800F8F800F8F800F8F800F8F800F8F800F8F800F8F800F8F800F8F8
00F8F800F8F800F8F800F8F800F8F800F8F800F8F800F8151B7C9A1E>I<007E0001FF80
07FFE00FFFF01F81F83F00FC3E007C7C003E7C003E78001EF8001FF8001FF8001FF8001F
F8001FF8001FF8001F7C003E7C003E7C003E3E007C3F00FC1FC3F80FFFF007FFE003FFC0
007E00181B7E9A1D>I<F83F00F9FFC0FBFFE0FFFFF0FF07F8FC01F8F800FCF800FCF800
7CF8007EF8003EF8003EF8003EF8003EF8003EF8003EF8003EF8007EF8007CF800FCFC00
F8FC01F8FF07F0FFFFE0FBFFC0F9FF80F87E00F80000F80000F80000F80000F80000F800
00F80000F80000F80000F80000F80000F8000017277C9A1E>I<F83CF8FCF9FCFBFCFFE0
FF80FF00FE00FC00FC00FC00F800F800F800F800F800F800F800F800F800F800F800F800
F800F800F800F8000E1B7C9A14>114 D<07F8001FFF003FFF807FFF807C0780F80100F8
0000F80000F80000FC00007F00007FF0003FFC001FFE0007FF0000FF80001FC0000FC000
07C00007C04007C0E007C0FC1F80FFFF807FFF001FFE0007F800121B7E9A16>I<0F8000
0F80000F80000F80000F80000F80000F8000FFFF80FFFF80FFFF800F80000F80000F8000
0F80000F80000F80000F80000F80000F80000F80000F80000F80000F80000F80000F8000
0F80000F80000F80000F80800FC38007FFC007FFC003FF0001F80012227FA115>I<F800
F8F800F8F800F8F800F8F800F8F800F8F800F8F800F8F800F8F800F8F800F8F800F8F800
F8F800F8F800F8F800F8F800F8F800F8F800F8F800F8F801F8F803F8FC07F8FFFFF87FFE
F83FF8F81FC0F8151B7C9A1E>I<F800F800F8F801F800F8FC01FC00F87C01DC01F07C01
DC01F07C03DC01F03E039E03E03E039E03E03E079E03E03E079F03E01F078F07C01F070F
07C01F0F0F07C00F0F0F07800F8F078F800F8F078F800F8E078F80079E078F00079E03CF
00079E03CF0003DC03DE0003DC03DE0003DC01DE0003D801DE0001F801FC0001F801FC00
01F800FC00251B7F9A28>119 D<F8001FFC001F7C003E7C003E3E003E3E007C3E007C1F
007C1F00F81F80F80F80F00F81F007C1F007C1E007C3E003C3E003E3C001E3C001E7C001
E78000F78000F700007700007700007E00003E00003E00003C00003C00007C0000780000
780000F00000F00001F0007FE0007FC0007F80007F000018277F9A1B>121
D E /Ff 50 122 df<007F07F001FF1FF003FF3FF007807800070070000F00F0000F00F0
000F00F0000F00F0000F00F0000F00F0000F00F000FFF8FF80FFF8FF80FFF8FF800F00F0
000F00F0000F00F0000F00F0000F00F0000F00F0000F00F0000F00F0000F00F0000F00F0
000F00F0000F00F0000F00F0000F00F0000F00F0000F00F0000F00F0001C20809F1B>11
D<0000F000F8F001F8F003F8F00780000700000F00000F00000F00000F00000F00000F00
000F0000FFF8F0FFF8F0FFF8F00F00F00F00F00F00F00F00F00F00F00F00F00F00F00F00
F00F00F00F00F00F00F00F00F00F00F00F00F00F00F00F00F00F00F0142180A018>I<00
7000E001C00380078007000E001E001E003C003C003C0078007800780078007000F000F0
00F000F000F000F000F000F000F000F000F000F000700078007800780078003C003C003C
001E001E000E0007000780038001C000E000700C2E7EA112>40 D<E000700038001C001E
000E0007000780078003C003C003C001E001E001E001E000E000F000F000F000F000F000
F000F000F000F000F000F000F000E001E001E001E001E003C003C003C00780078007000E
001E001C0038007000E0000C2E7DA112>I<787878781830306060E0050A7D830D>44
D<001F0000001F0000003F8000003B8000003B8000007BC0000073C0000071C00000F1E0
0000E1E00000E0E00001E0F00001E0F00001C0F00003C0780003C078000380780007803C
0007803C0007003C000FFFFE000FFFFE000FFFFE001E000F001E000F003C000F803C0007
803C000780780007C0780003C0780003C0F00003E01B207F9F1E>65
D<FFF800FFFF00FFFF80F00FC0F003E0F001E0F000F0F000F0F000F0F000F0F000F0F001
E0F003C0F01F80FFFF00FFFF00FFFF80F007E0F001E0F000F0F00078F00078F00078F000
78F00078F00078F000F0F001F0F007E0FFFFC0FFFF80FFFC0015207B9F1E>I<001FC000
FFF801FFFC03E03C07800C0F00001E00003E00003C00007C0000780000780000780000F0
0000F00000F00000F00000F00000F00000F00000F000007800007800007800007C00003C
00003E00001E00000F000207800E03E03E01FFFC00FFF0001FC017227DA01D>I<FFFC00
FFFF80FFFFC0F007E0F001F0F000F8F00078F0003CF0003CF0001EF0001EF0000EF0000F
F0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0001EF0001EF0001EF0003C
F0007CF000F8F001F0F007E0FFFFC0FFFF80FFFC0018207B9F21>I<FFFFC0FFFFC0FFFF
C0F00000F00000F00000F00000F00000F00000F00000F00000F00000F00000F00000FFFF
80FFFF80FFFF80F00000F00000F00000F00000F00000F00000F00000F00000F00000F000
00F00000F00000FFFFE0FFFFE0FFFFE013207B9F1B>I<FFFFC0FFFFC0FFFFC0F00000F0
0000F00000F00000F00000F00000F00000F00000F00000F00000F00000FFFF00FFFF00FF
FF00F00000F00000F00000F00000F00000F00000F00000F00000F00000F00000F00000F0
0000F00000F00000F0000012207B9F1A>I<001FE000FFF801FFFE03E03E07800E0F0000
1E00003E00003C00007C0000780000780000780000F00000F00000F00000F00000F00000
F00000F003FEF003FE7803FE78001E78001E7C001E3C001E3E001E1E001E0F001E07801E
03E03E01FFFE00FFF8001FC017227DA01E>I<F00078F00078F00078F00078F00078F000
78F00078F00078F00078F00078F00078F00078F00078F00078FFFFF8FFFFF8FFFFF8F000
78F00078F00078F00078F00078F00078F00078F00078F00078F00078F00078F00078F000
78F00078F0007815207B9F20>I<F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0
F0F0F0F0F0F0F0F0F0F004207C9F0D>I<F0003EF0007CF000F8F001F0F003E0F007C0F0
0780F00F00F01F00F03E00F07C00F0F800F1F000F3F800F3F800F7FC00FFBC00FF1E00FE
1F00FC0F00F80780F00780F003C0F003E0F001E0F000F0F000F8F00078F0003CF0003CF0
001EF0001F18207B9F20>75 D<F00000F00000F00000F00000F00000F00000F00000F000
00F00000F00000F00000F00000F00000F00000F00000F00000F00000F00000F00000F000
00F00000F00000F00000F00000F00000F00000F00000F00000F00000FFFF80FFFF80FFFF
8011207B9F19>I<F80001F8FC0003F8FC0003F8F4000378F6000778F6000778F6000778
F3000E78F3000E78F3000E78F3801E78F3801E78F1801C78F1C03C78F1C03C78F0C03878
F0C03878F0E07878F0E07878F0607078F070F078F070F078F030E078F039E078F039E078
F019C078F019C078F019C078F00F8078F00F8078F00F8078F00000781D207B9F28>I<FC
0078FE0078FE0078F60078F70078F70078F38078F38078F38078F3C078F1C078F1E078F1
E078F0E078F0F078F07078F07078F07878F03878F03C78F03C78F01C78F01E78F00E78F0
0E78F00E78F00778F00778F00378F003F8F003F8F001F815207B9F20>I<003F000000FF
C00003FFF00007E1F8000F807C001F003E001E001E003C000F003C000F00780007807800
078078000780F00003C0F00003C0F00003C0F00003C0F00003C0F00003C0F00003C0F000
03C0F00003C0F80007C07800078078000780780007803C000F003C000F001E001E001F00
3E000F807C0007E1F80003FFF00000FFC000003F00001A227DA021>I<FFF800FFFF00FF
FF80F00FC0F003E0F001E0F000F0F000F0F000F0F000F0F000F0F000F0F000F0F001E0F0
03E0F00FC0FFFF80FFFF00FFF800F00000F00000F00000F00000F00000F00000F00000F0
0000F00000F00000F00000F00000F0000014207B9F1D>I<FFF800FFFF00FFFF80F007C0
F003E0F001E0F000F0F000F0F000F0F000F0F000F0F001E0F003E0F007C0FFFF80FFFF00
FFF800F03C00F01E00F01E00F00F00F00F00F00780F00780F003C0F001C0F001E0F000F0
F000F0F00078F00078F0003C16207B9F1D>82 D<01FC0007FF800FFFC01F03C03C00C03C
00007800007800007800007800007800007C00003C00003F00001FE0000FFC0007FE0001
FF00003F800007C00003C00003E00001E00001E00001E00001E00001E00001C0C003C0F0
07C0FC0F807FFF001FFE0003F80013227EA019>I<FFFFFFC0FFFFFFC0FFFFFFC0001E00
00001E0000001E0000001E0000001E0000001E0000001E0000001E0000001E0000001E00
00001E0000001E0000001E0000001E0000001E0000001E0000001E0000001E0000001E00
00001E0000001E0000001E0000001E0000001E0000001E0000001E0000001E0000001E00
00001E00001A207E9F1F>I<F000F0F000F0F000F0F000F0F000F0F000F0F000F0F000F0
F000F0F000F0F000F0F000F0F000F0F000F0F000F0F000F0F000F0F000F0F000F0F000F0
F000F0F000F0F000F0F000F0F000F07801E07801E03C03C03C03C01F0F800FFF0007FE00
01F80014217B9F1F>I<F00001E0F00001E0780003C0780003C0780003C03C0007803C00
07803C0007801E000F001E000F001F000F000F001E000F001E0007801C0007803C000780
3C0003C0380003C0780003C0780001E0700001E0F00001E0F00000F0E00000F1E00000F1
E0000071C000007BC000003B8000003B8000003F8000001F0000001F00001B207F9F1E>
I<F0007C000FF0007E000FF0007E000F78006E000E7800EE001E7800E7001E7800E7001E
3C00E7003C3C01E7803C3C01C7803C3C01C3803C1E01C380781E03C3C0781E0383C0780E
0381C0700F0381C0F00F0781E0F00F0701E0F0070700E0E0078700E1E0078F00E1E0078E
00F1E0038E0071C0038E0071C003CE0073C001DC00738001DC003B8001DC003B8001DC00
3B8000F8003F0000F8001F0000F8001F0028207F9F2B>I<780007807C000F003E001F00
1E001E000F003C000F807C000780780003C0F00003E1F00001F1E00000F3C000007FC000
007F8000003F0000001F0000001E0000003F0000007F8000007FC00000F3C00001F1E000
01E0F00003C0F80007C0780007803C000F003E001F001E001E000F003C000F807C0007C0
780003C0F00003E01B207F9F1E>I<F80000F87C0001F03C0001E03E0003E01F0003C00F
0007800F800F8007C00F0003C01F0003E01E0001F03C0000F07C00007878000078F00000
3CF000001CE000001FE000000FC000000780000007800000078000000780000007800000
07800000078000000780000007800000078000000780000007800000078000000780001D
20809F1E>I<07E03FF87FFC701E401F000F000F000F003F07FF1FFF7E0FF80FF00FF00F
F00FF83F7FFF3FEF1F8F10147E9316>97 D<F00000F00000F00000F00000F00000F00000
F00000F00000F00000F00000F00000F00000F1F000F7FC00FFFE00FC3E00F80F00F00F00
F00780F00780F00780F00780F00780F00780F00780F00F00F00F00F81F00FC3E00FFFC00
F7F800F1E00011207D9F17>I<03F00FFC1FFE3E0E3C0278007800F000F000F000F000F0
00F000780078003C013E0F1FFF0FFE03F010147E9314>I<000780000780000780000780
00078000078000078000078000078000078000078000078007C7800FF7801FFF803E1F80
7C0780780780F80780F00780F00780F00780F00780F00780F00780F00780780780780F80
3E1F801FFF800FF78007C78011207E9F17>I<03F0000FFC001FFE003E1F003C07007807
00700380FFFF80FFFF80FFFF80F00000F00000F000007000007800003C01003E07001FFF
0007FE0001F80011147F9314>I<007E01FE03FE078007000F000F000F000F000F000F00
0F00FFF0FFF0FFF00F000F000F000F000F000F000F000F000F000F000F000F000F000F00
0F000F000F000F20809F0E>I<03E0F00FFFF01FFFF03E3E003C1E00780F00780F00780F
00780F00780F003C1E003E3E001FFC003FF80033E0003000003800003FFE003FFF801FFF
C03FFFE07803F0F000F0F000F0F000F0F801F07E07E03FFFC00FFF0003FC00141E7F9317
>I<F000F000F000F000F000F000F000F000F000F000F000F000F1F8F3FCF7FEFC1FF80F
F80FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00F10207D9F17>
I<F0F0F0F00000000000000000F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F004207D
9F0B>I<F00000F00000F00000F00000F00000F00000F00000F00000F00000F00000F000
00F00000F01F00F01E00F03C00F07800F0F000F1E000F3C000F78000FFC000FFC000FFE0
00F9F000F8F000F0F800F07C00F07C00F03E00F01E00F01F00F00F8011207D9F16>107
D<F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F004207D
9F0B>I<F0FC07E0F3FE1FF0F7FF3FF8FE0FF07CF807C03CF807C03CF007803CF007803C
F007803CF007803CF007803CF007803CF007803CF007803CF007803CF007803CF007803C
F007803CF007803CF007803C1E147D9325>I<F1F8F3FCF7FEFC1FF80FF80FF00FF00FF0
0FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00F10147D9317>I<01F80007FE00
1FFF803F0FC03C03C07801E07801E0F000F0F000F0F000F0F000F0F000F0F000F07801E0
7801E03C03C03F0FC01FFF8007FE0001F80014147F9317>I<F1F000F7FC00FFFE00FC3E
00F81F00F00F00F00F80F00780F00780F00780F00780F00780F00780F00F00F00F00F81F
00FC3E00FFFC00F7F800F1E000F00000F00000F00000F00000F00000F00000F00000F000
00F00000111D7D9317>I<F0E0F3E0F7E0FF00FC00FC00F800F800F000F000F000F000F0
00F000F000F000F000F000F000F0000B147D9310>114 D<07F01FFC3FFC780C78007800
78007C003FC01FF00FF803F8007C003C003CC03CF07CFFF87FF00FC00E147F9311>I<1E
001E001E001E001E001E00FFF0FFF0FFF01E001E001E001E001E001E001E001E001E001E
001E001E001E001E201FF00FF007C00C1A7F9910>I<F00FF00FF00FF00FF00FF00FF00F
F00FF00FF00FF00FF00FF00FF00FF00FF01FF03FFFFF7FEF3F0F10147D9317>I<F003C0
F003C07803807807807807803C0F003C0F003C0F001E0E001E1E001E1E000F1C000F3C00
0F3C0007380007380007B80003F00003F00001E00012147F9315>I<F01F00F0F01F80F0
F01F80F0781B81E0783B81E0783BC1E07839C1E03C31C3C03C71C3C03C71E3C01C70E380
1E60E7801E60E7801EE0E7800EE077000EC077000EC0770007C07E0007C03E0007803E00
1C147F931F>I<F003C0F003C07807807807807C07803C0F003C0F001E0F001E1E000E1E
000F1C000F1C00073C0007380003B80003B80003B00001F00001F00000E00000E00001C0
0001C00001C0000380000780007F00007E00007C0000121D7F9315>121
D E /Fg 24 122 df<00003F03E00000C386700001878CF00003879CF000030318600007
00380000070038000007003800000E003800000E007000000E007000000E00700000FFFF
FF80001C007000001C00E000001C00E000001C00E000001C00E000003800E000003801C0
00003801C000003801C000003801C000007001C000007003800000700380000070038000
0070038000006003800000E007000000E007000000E007000000E007000000C006000001
C00E000001C00E000031860C0000798F180000F31E100000620C6000003C07C000002429
829F1C>11 D<00003FE00000E01000018038000380780003007800070030000700000007
000000070000000E0000000E0000000E000000FFFFE0000E00E0001C01C0001C01C0001C
01C0001C01C0001C03800038038000380380003803800038070000380700007007000070
071000700E2000700E2000700E2000E00E2000E0064000E0038000E0000000C0000001C0
000001C000003180000079800000F3000000620000003C0000001D29829F1A>I<70F8F8
F0E005057B840E>46 D<00000200000006000000060000000E0000001E0000001E000000
3F0000002F0000004F0000004F0000008F0000010F0000010F0000020F0000020F000004
0F00000C0F0000080F0000100F0000100F0000200F80003FFF800040078000C007800080
078001000780010007800200078002000780060007801E000F80FF807FF81D207E9F22>
65 D<01FFFFFE001E001C001E000C001E0004001E0004003C0004003C0004003C000400
3C00040078080800780800007808000078180000F0300000FFF00000F0300000F0300001
E0200001E0200001E0200001E0001003C0002003C0002003C0004003C000400780008007
80018007800100078007000F001F00FFFFFE001F1F7D9E1F>69 D<00F1800389C0070780
0E03801C03803C0380380700780700780700780700F00E00F00E00F00E00F00E20F01C40
F01C40703C40705C40308C800F070013147C9317>97 D<07803F8007000700070007000E
000E000E000E001C001C001CF01D0C3A0E3C0E380F380F700F700F700F700FE01EE01EE0
1EE01CE03CE038607060E031C01F0010207B9F15>I<007E0001C1000300800E07801E07
801C07003C0200780000780000780000F00000F00000F00000F00000F000007001007002
0030040018380007C00011147C9315>I<0000780003F800007000007000007000007000
00E00000E00000E00000E00001C00001C000F1C00389C00707800E03801C03803C038038
0700780700780700780700F00E00F00E00F00E00F00E20F01C40F01C40703C40705C4030
8C800F070015207C9F17>I<007C01C207010E011C013C013802780C7BF07C00F000F000
F000F0007000700170023804183807C010147C9315>I<00007800019C00033C00033C00
0718000700000700000E00000E00000E00000E00000E0001FFE0001C00001C00001C0000
1C0000380000380000380000380000380000700000700000700000700000700000700000
E00000E00000E00000E00000C00001C00001C0000180003180007B0000F300006600003C
00001629829F0E>I<00C001E001E001C000000000000000000000000000000E00330023
0043804300470087000E000E000E001C001C001C003840388030807080310033001C000B
1F7C9E0E>105 D<03C01FC0038003800380038007000700070007000E000E000E000E00
1C001C001C001C0038003800380038007000700070007100E200E200E200E20064003800
0A207C9F0C>108 D<1C0F80F0002630C318004740640C004780680E004700700E004700
700E008E00E01C000E00E01C000E00E01C000E00E01C001C01C038001C01C038001C01C0
38001C01C0708038038071003803806100380380E1003803806200700700660030030038
0021147C9325>I<1C0F802630C04740604780604700704700708E00E00E00E00E00E00E
00E01C01C01C01C01C01C01C03843803883803083807083803107003303001C016147C93
1A>I<007C0001C3000301800E01C01E01C01C01E03C01E07801E07801E07801E0F003C0
F003C0F003C0F00780F00700700F00700E0030180018700007C00013147C9317>I<01C1
E002621804741C04781C04701E04701E08E01E00E01E00E01E00E01E01C03C01C03C01C0
3C01C0380380780380700380E003C1C0072380071E000700000700000E00000E00000E00
000E00001C00001C0000FFC000171D809317>I<1C1E0026610047838047878047078047
03008E00000E00000E00000E00001C00001C00001C00001C000038000038000038000038
000070000030000011147C9313>114 D<00FC030206010C030C070C060C000F800FF007
F803FC003E000E700EF00CF00CE008401020601F8010147D9313>I<018001C003800380
0380038007000700FFF007000E000E000E000E001C001C001C001C003800380038003820
704070407080708031001E000C1C7C9B0F>I<0E00C03300E02301C04381C04301C04701
C08703800E03800E03800E03801C07001C07001C07001C07101C0E20180E20180E201C1E
200C264007C38014147C9318>I<0E03803307802307C04383C04301C04700C08700800E
00800E00800E00801C01001C01001C01001C02001C02001C04001C04001C08000E300003
C00012147C9315>I<0E00C1C03300E3C02301C3E04381C1E04301C0E04701C060870380
400E0380400E0380400E0380401C0700801C0700801C0700801C0701001C0701001C0602
001C0F02000C0F04000E13080003E1F0001B147C931E>I<0E00C03300E02301C04381C0
4301C04701C08703800E03800E03800E03801C07001C07001C07001C07001C0E00180E00
180E001C1E000C3C0007DC00001C00001C00003800F03800F07000E06000C0C000438000
3E0000131D7C9316>121 D E /Fh 31 125 df<000FF07F00007FF9FF8000F83FC7C001
E07F8FC003E07F0FC007C07F0FC007C03F078007C01F000007C01F000007C01F000007C0
1F000007C01F0000FFFFFFF800FFFFFFF80007C01F000007C01F000007C01F000007C01F
000007C01F000007C01F000007C01F000007C01F000007C01F000007C01F000007C01F00
0007C01F000007C01F000007C01F000007C01F000007C01F00003FF8FFF0003FF8FFF000
2220809F1F>11 D<000FE000007FF80000F81C0001E07C0003E07C0007C07C0007C07C00
07C0380007C0000007C0000007C0000007C1FE00FFFFFE00FFFFFE0007C03E0007C03E00
07C03E0007C03E0007C03E0007C03E0007C03E0007C03E0007C03E0007C03E0007C03E00
07C03E0007C03E0007C03E0007C03E0007C03E003FF9FFC03FF9FFC01A20809F1D>I<00
0FFE00007FFE0000F87E0001E0FE0003E0FE0007C07E0007C07E0007C03E0007C03E0007
C03E0007C03E0007C03E00FFFFFE00FFFFFE0007C03E0007C03E0007C03E0007C03E0007
C03E0007C03E0007C03E0007C03E0007C03E0007C03E0007C03E0007C03E0007C03E0007
C03E0007C03E0007C03E003FF9FFC03FF9FFC01A20809F1D>I<387CFEFFFF7F3B030306
060E0C18702008107C860F>44 D<387CFEFEFE7C3807077C860F>46
D<07F8001FFE00381F80780F80FC0FC0FC0FC0FC0FC0780FC0301F80001F00003E00007C
0000700000E00000E00000C00000C00000C00000C00000C00000C0000000000000000000
0000000001C00003E00007F00007F00007F00003E00001C00012207D9F19>63
D<FFFFFFFF07E007E007E007E007E007E007E007E007E007E007E007E007E007E007E007
E007E007E007E007E007E007E007E007E007E007E007E0FFFFFFFF101F7E9E14>73
D<7FFFFFFC7FFFFFFC7C07E07C7007E01C6007E00C6007E00CE007E00EC007E006C007E0
06C007E006C007E0060007E0000007E0000007E0000007E0000007E0000007E0000007E0
000007E0000007E0000007E0000007E0000007E0000007E0000007E0000007E0000007E0
000007E00003FFFFC003FFFFC01F1E7E9D24>84 D<07FC001FFF003F0F803F07C03F03E0
3F03E00C03E00003E0007FE007FBE01F03E03C03E07C03E0F803E0F803E0F803E0FC05E0
7E0DE03FF8FE0FE07E17147F9319>97 D<FF0000FF00001F00001F00001F00001F00001F
00001F00001F00001F00001F00001F00001F1FC01F7FF01FE0F81F807C1F007E1F003E1F
003E1F003F1F003F1F003F1F003F1F003F1F003F1F003E1F003E1F007C1F807C1EC1F81C
7FE0181F8018207E9F1D>I<01FE0007FF801F0FC03E0FC03E0FC07C0FC07C0300FC0000
FC0000FC0000FC0000FC0000FC00007C00007E00003E00603F00C01F81C007FF0001FC00
13147E9317>I<0007F80007F80000F80000F80000F80000F80000F80000F80000F80000
F80000F80000F801F8F80FFEF81F83F83E01F87E00F87C00F87C00F8FC00F8FC00F8FC00
F8FC00F8FC00F8FC00F87C00F87C00F87E00F83E01F81F07F80FFEFF03F8FF18207E9F1D
>I<01FE0007FF800F83C01E01E03E00F07C00F07C00F8FC00F8FFFFF8FFFFF8FC0000FC
0000FC00007C00007C00003E00181E00180F807007FFE000FF8015147F9318>I<001F80
00FFC001F3E003E7E003C7E007C7E007C3C007C00007C00007C00007C00007C000FFFC00
FFFC0007C00007C00007C00007C00007C00007C00007C00007C00007C00007C00007C000
07C00007C00007C00007C00007C0003FFC003FFC0013207F9F10>I<01FC3C07FFFE0F07
9E1E03DE3E03E03E03E03E03E03E03E03E03E01E03C00F07800FFF0009FC001800001800
001C00001FFF800FFFF007FFF81FFFFC3C007C70003EF0001EF0001EF0001E78003C7800
3C3F01F80FFFE001FF00171E7F931A>I<FF0000FF00001F00001F00001F00001F00001F
00001F00001F00001F00001F00001F00001F0FC01F3FE01F61F01FC0F81F80F81F00F81F
00F81F00F81F00F81F00F81F00F81F00F81F00F81F00F81F00F81F00F81F00F81F00F8FF
E3FFFFE3FF18207D9F1D>I<1C003E007F007F007F003E001C0000000000000000000000
0000FF00FF001F001F001F001F001F001F001F001F001F001F001F001F001F001F001F00
1F00FFE0FFE00B217EA00E>I<FF00FF001F001F001F001F001F001F001F001F001F001F
001F001F001F001F001F001F001F001F001F001F001F001F001F001F001F001F001F001F
00FFE0FFE00B207E9F0E>108 D<FE0FE03F80FE1FF07FC01E70F9C3E01E407D01F01E80
7E01F01F807E01F01F007C01F01F007C01F01F007C01F01F007C01F01F007C01F01F007C
01F01F007C01F01F007C01F01F007C01F01F007C01F01F007C01F01F007C01F0FFE3FF8F
FEFFE3FF8FFE27147D932C>I<FE0FC0FE3FE01E61F01EC0F81E80F81F00F81F00F81F00
F81F00F81F00F81F00F81F00F81F00F81F00F81F00F81F00F81F00F81F00F8FFE3FFFFE3
FF18147D931D>I<01FF0007FFC01F83F03E00F83E00F87C007C7C007CFC007EFC007EFC
007EFC007EFC007EFC007E7C007C7C007C3E00F83E00F81F83F007FFC001FF0017147F93
1A>I<FF1FC0FF7FF01FE1F81F80FC1F007E1F007E1F003E1F003F1F003F1F003F1F003F
1F003F1F003F1F003E1F007E1F007C1F80FC1FC1F81F7FE01F1F801F00001F00001F0000
1F00001F00001F00001F0000FFE000FFE000181D7E931D>I<FE3E00FE7F801ECFC01E8F
C01E8FC01F8FC01F03001F00001F00001F00001F00001F00001F00001F00001F00001F00
001F00001F0000FFF000FFF00012147E9316>114 D<0FE63FFE701E600EE006E006F800
FFC07FF83FFC1FFE03FE001FC007C007E007F006F81EFFFCC7F010147E9315>I<018001
80018003800380038007800F803F80FFFCFFFC0F800F800F800F800F800F800F800F800F
800F800F860F860F860F860F8607CC03F801F00F1D7F9C14>I<FF07F8FF07F81F00F81F
00F81F00F81F00F81F00F81F00F81F00F81F00F81F00F81F00F81F00F81F00F81F00F81F
01F81F01F80F06F807FCFF03F8FF18147D931D>I<FFE07F80FFE07F801F001C000F8018
000F80180007C0300007C0300003E0600003E0600001F0C00001F0C00001F9C00000F980
0000FF8000007F0000007F0000003E0000003E0000001C0000001C000019147F931C>I<
FFE7FE1FE0FFE7FE1FE01F00F003001F00F803000F80F806000F80F8060007C1BC0C0007
C1BC0C0007C1BE0C0003E31E180003E31E180001F60F300001F60F300001F60FB00000FC
07E00000FC07E000007803C000007803C000007803C000003001800023147F9326>I<FF
E1FF00FFE1FF000F80700007C0E00007E0C00003E1800001F3800000FF0000007E000000
3E0000003F0000007F8000006F800000C7C0000183E0000381F0000701F8000E00FC00FF
81FF80FF81FF8019147F931C>I<FFE07F80FFE07F801F001C000F8018000F80180007C0
300007C0300003E0600003E0600001F0C00001F0C00001F9C00000F9800000FF8000007F
0000007F0000003E0000003E0000001C0000001C0000001800000018000078300000FC30
0000FC600000C0E00000E1C000007F8000001E000000191D7F931C>I<FFFFFFFFFFFFE0
FFFFFFFFFFFFE03302808C34>124 D E /Fi 46 122 df<003F83F800FF8FF801FF9FF8
03E03E000380380007807800078078000780780007807800078078000780780007807800
07807800FFFC7FC0FFFC7FC0FFFC7FC00780780007807800078078000780780007807800
078078000780780007807800078078000780780007807800078078000780780007807800
07807800078078000780780007807800078078001D2380A21C>11
D<000078007C7800FC7801FC7803C0000380000780000780000780000780000780000780
00078000078000FFFC78FFFC78FFFC780780780780780780780780780780780780780780
780780780780780780780780780780780780780780780780780780780780780780780780
78152480A31A>I<F0F0F0F004047B830E>46 D<01F00007FC000FFE001F1F003C07803C
07807803C07803C07803C07001C0F001E0F001E0F001E0F001E0F001E0F001E0F001E0F0
01E0F001E0F001E0F001E0F001E0F001E0F001E0F001E07803C07803C07803C07803C03C
07803C07801F1F000FFE0007FC0001F00013237EA118>48 D<00C001C007C0FFC0FFC0FB
C003C003C003C003C003C003C003C003C003C003C003C003C003C003C003C003C003C003
C003C003C003C003C003C003C003C0FFFFFFFFFFFF10227CA118>I<03F0000FFC001FFE
003C1F003007807007C06003C0E003E0C001E04001E04001E00001E00001E00001E00003
C00003C0000780000780000F00001E00003C0000780000F00001E00001C0000380000700
000E00001C0000380000700000FFFFE0FFFFE0FFFFE013227EA118>I<01F00007FC001F
FF003E0F003807807003C02003C02003C00003C00003C00003C0000780000780000F0000
1E0003FC0003F80003FE00000F000007800003C00003C00001E00001E00001E00001E000
01E08001E0C003C0E003C07007803C0F801FFF000FFC0003F00013237EA118>I<001F00
001F00002F00002F00006F0000EF0000CF0001CF0001CF00038F00038F00078F00070F00
0F0F000E0F001E0F003C0F003C0F00780F00780F00F00F00FFFFF8FFFFF8FFFFF8000F00
000F00000F00000F00000F00000F00000F00000F00000F0015217FA018>I<3FFF803FFF
803FFF803C00003C00003C00003C00003C00003C00003C00003C00003C00003CF8003FFE
003FFF003F0F803E07803C03C03803C00001E00001E00001E00001E00001E00001E00001
E04003C04003C0E003C07007807C1F003FFE000FFC0003F00013227EA018>I<001F0000
001F0000003F8000003F8000003B8000007BC0000073C0000071C00000F1E00000F1E000
00E0E00001E0F00001E0F00001C0F00003C0780003C078000380780007803C0007803C00
07003C000F001E000F001E000FFFFE001FFFFF001FFFFF001C000F003C0007803C000780
38000780780003C0780003C0700003C0F00001E0F00001E0E00001E01B237EA220>65
D<000FF000007FFC0000FFFF0001F01F0003C00700078000000F0000001E0000003E0000
003C0000003C000000780000007800000078000000F0000000F0000000F0000000F00000
00F0000000F0000000F0000000F0000000F00000007800000078000000780000003C0000
003C0000003E0000001E0000000F0000000780008003C0038001F00F8000FFFF00007FFC
00000FF00019257DA31F>67 D<FFFE0000FFFFC000FFFFE000F003F000F000F800F0007C
00F0003E00F0001E00F0000F00F0000F00F0000780F0000780F0000780F00003C0F00003
C0F00003C0F00003C0F00003C0F00003C0F00003C0F00003C0F00003C0F0000380F00007
80F0000780F0000780F0000F00F0001F00F0001E00F0003C00F000FC00F003F800FFFFE0
00FFFFC000FFFE00001A237BA223>I<FFFFF0FFFFF0FFFFF0F00000F00000F00000F000
00F00000F00000F00000F00000F00000F00000F00000F00000FFFFE0FFFFE0FFFFE0F000
00F00000F00000F00000F00000F00000F00000F00000F00000F00000F00000F00000F000
00F00000FFFFF8FFFFF8FFFFF815237BA21D>I<FFFFF0FFFFF0FFFFF0F00000F00000F0
0000F00000F00000F00000F00000F00000F00000F00000F00000F00000F00000FFFFC0FF
FFC0FFFFC0F00000F00000F00000F00000F00000F00000F00000F00000F00000F00000F0
0000F00000F00000F00000F00000F0000014237BA21C>I<F0001EF0001EF0001EF0001E
F0001EF0001EF0001EF0001EF0001EF0001EF0001EF0001EF0001EF0001EF0001EFFFFFE
FFFFFEFFFFFEF0001EF0001EF0001EF0001EF0001EF0001EF0001EF0001EF0001EF0001E
F0001EF0001EF0001EF0001EF0001EF0001EF0001E17237BA222>72
D<F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0
04237CA20D>I<FC00007EFE0000FEFE0000FEFE0000FEF70001DEF70001DEF70001DEF7
8003DEF380039EF380039EF3C0079EF3C0079EF1C0071EF1C0071EF1E00F1EF0E00E1EF0
E00E1EF0F01E1EF0F01E1EF0701C1EF0783C1EF0783C1EF038381EF03C781EF03C781EF0
1C701EF01C701EF01EF01EF00EE01EF00EE01EF00FE01EF007C01EF007C01EF007C01EF0
00001E1F237BA22A>77 D<001FC000007FF00001FFFC0003F07E0007C01F000F800F801F
0007C01E0003C03C0001E03C0001E0780000F0780000F0780000F070000070F0000078F0
000078F0000078F0000078F0000078F0000078F0000078F0000078F0000078780000F078
0000F0780000F07C0001F03C0001E03E0003E01E0003C01F0007C00F800F8007C01F0003
F07E0001FFFC00007FF000001FC0001D257DA324>79 D<FFFE00FFFF80FFFFC0F003E0F0
00F0F00078F00078F0003CF0003CF0003CF0003CF0003CF0003CF00078F00078F000F0F0
03E0FFFFC0FFFF80FFFE00F00000F00000F00000F00000F00000F00000F00000F00000F0
0000F00000F00000F00000F00000F00000F0000016237BA21F>I<FFFC00FFFF80FFFFC0
F003E0F000F0F00078F00038F0003CF0003CF0003CF0003CF0003CF00038F00078F000F0
F003E0FFFFC0FFFF80FFFE00F01E00F00F00F00700F00780F00380F003C0F001E0F001E0
F000F0F000F0F00078F00038F0003CF0001EF0001EF0000F18237BA21F>82
D<00FE0003FFC007FFE00F81E01E00603C00003C00007800007800007800007800007800
007C00003C00003F00001FC0000FFC0007FF0001FF80003FC00007E00001F00000F00000
F8000078000078000078000078000078000078C000F0E000F0F801E07E07C03FFF800FFF
0001FC0015257EA31B>I<FFFFFFF0FFFFFFF0FFFFFFF0000F0000000F0000000F000000
0F0000000F0000000F0000000F0000000F0000000F0000000F0000000F0000000F000000
0F0000000F0000000F0000000F0000000F0000000F0000000F0000000F0000000F000000
0F0000000F0000000F0000000F0000000F0000000F0000000F0000000F0000000F000000
0F0000000F00001C237EA221>I<F0003CF0003CF0003CF0003CF0003CF0003CF0003CF0
003CF0003CF0003CF0003CF0003CF0003CF0003CF0003CF0003CF0003CF0003CF0003CF0
003CF0003CF0003CF0003CF0003CF0003CF0003CF0003C7800787800787800783C00F01E
01E01F87E00FFFC003FF0000FC0016247BA221>I<F0001F0001E0F0003F8001E0F0003F
8001E078003F8001C078003B8003C078007BC003C0780073C003C03C0071C007803C00F1
C007803C00F1E007803C00E1E007801E00E0E00F001E01E0E00F001E01E0F00F001E01C0
F00F000F01C0701E000F03C0701E000F03C0781E00070380781C00078380383C00078380
383C000787803C3C000387003C38000387001C380003C7001C780003CF001C780001CE00
1E700001CE000E700001CE000E700001EE000EF00000EC000EE00000FC0007E00000FC00
07E00000FC0007E00000780007C0002B237FA22E>87 D<07E01FF83FFC381E201E000F00
0F000F000F00FF07FF1FFF3E0F780FF00FF00FF00FF00FF83F7FFF3FEF1F8F10167E9517
>97 D<F00000F00000F00000F00000F00000F00000F00000F00000F00000F00000F00000
F00000F00000F1F000F7FC00FFFE00FC1F00F80F00F00780F00780F003C0F003C0F003C0
F003C0F003C0F003C0F003C0F003C0F00780F00780F80F00FC3E00FFFE00F7F800F1F000
12237CA219>I<01FC0007FF000FFF801F03803C0180780000780000700000F00000F000
00F00000F00000F00000F000007800007800007800003C00401F03C00FFFC007FF8001FC
0012167E9516>I<0003C00003C00003C00003C00003C00003C00003C00003C00003C000
03C00003C00003C00003C003E3C00FFBC01FFFC03F0FC03C07C07803C07803C0F003C0F0
03C0F003C0F003C0F003C0F003C0F003C0F003C07803C07803C03C07C03E0FC01FFFC00F
FBC003E3C012237EA219>I<03F00007FC001FFE003E0F003C0780780380780380F001C0
FFFFC0FFFFC0FFFFC0F00000F00000F000007000007800007800003C00801F07800FFF80
07FF0001F80012167E9516>I<01F07807FFF80FFFF81F1F001E0F003C07803C07803C07
803C07803C07801E0F001F1F000FFE001FFC0019F0003800003800003C00001FFE001FFF
C01FFFE03FFFF07801F07800F8F00078F00078F00078F000787800F03E03E01FFFC00FFF
8001FC0015217F9518>103 D<F000F000F000F000F000F000F000F000F000F000F000F0
00F000F1F8F3FCF7FEFE1EF80FF80FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF0
0FF00FF00FF00FF00FF00F10237CA219>I<F0F0F0F0000000000000000000F0F0F0F0F0
F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F004237DA20B>I<F0F0F0F0F0F0F0F0F0F0F0F0
F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F004237DA20B>108
D<F0F807C0F3FE1FF0F7FF3FF8FE0F7078FC0FE07CF807C03CF807C03CF007803CF00780
3CF007803CF007803CF007803CF007803CF007803CF007803CF007803CF007803CF00780
3CF007803CF007803CF007803CF007803C1E167C9527>I<F1F8F3FCF7FEFE1EF80FF80F
F00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00F10167C95
19>I<01FC0007FF000FFF801F07C03C01E07800F07800F0700070F00078F00078F00078
F00078F00078F000787800F07800F07C01F03E03E01F07C00FFF8007FF0001FC0015167F
9518>I<F1F000F7FC00FFFE00FC3F00F80F00F00780F00780F007C0F003C0F003C0F003
C0F003C0F003C0F003C0F007C0F00780F00F80F80F00FC3E00FFFE00F7F800F1F000F000
00F00000F00000F00000F00000F00000F00000F00000F00000F0000012207C9519>I<03
E3C007FBC00FFFC01F0FC03C07C07C03C07803C0F803C0F003C0F003C0F003C0F003C0F0
03C0F003C0F803C07803C07803C03C07C03F0FC01FFFC00FFBC003E3C00003C00003C000
03C00003C00003C00003C00003C00003C00003C00003C012207E9519>I<F0E0F3E0F7E0
FF00FE00FC00F800F800F000F000F000F000F000F000F000F000F000F000F000F000F000
F0000B167C9511>I<07F01FFC3FFE3C0E7806780078007C003F003FF01FF80FFC01FE00
1F000F000F000FC00FF81EFFFE3FFC0FF010167F9513>I<0F000F000F000F000F000F00
FFF8FFF8FFF80F000F000F000F000F000F000F000F000F000F000F000F000F000F000F08
0F1C07FC07F803E00E1C7F9B12>I<F00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF0
0FF00FF00FF00FF00FF00FF00FF01FF83F7FFF7FCF1F0F10167C9519>I<F001E0F001E0
7803C07803C07803C03C07803C07803C07801E07001E0F001E0F000F0E000F1E000F1E00
071C00079C0007BC0003B80003B80003F80001F00001F00013167F9516>I<F007803CF0
0FC03CF00FC03C780DC078781DC078781DE078781CE0783C18E0F03C38E0F03C38F0F01C
38F0E01E3871E01E3071E01E7079E00E7079C00E7039C00F603BC007603B8007601B8007
C01F8007C01F8003C01F001E167F9521>I<7801F07C01E03E03C01E07C00F0780078F00
07DE0003FC0001FC0000F80000700000F80001FC0003DC00039E00078F000F07801E0780
1E03C03C01E07800F0F800F81516809516>I<F001E0F001E07803C07803C07C03C03C07
803C07801E07801E07001E0F000F0F000F0E00071E00079E00039C00039C00039C000198
0001D80000F80000F00000F00000F00000E00000E00001E00001C00001C0000380007F80
007F00007E000013207F9516>I E /Fj 24 90 df<3078F8787005057C840D>46
D<00000400000C00000C0000180000180000300000300000600000600000C00000C00001
80000180000300000300000600000600000C00000C000018000018000030000030000060
0000600000C00000C0000180000180000300000300000600000600000600000C00000C00
00180000180000300000300000600000600000C00000C00000800000162D7EA117>I<00
7E0001C3000301800701C00E00C00E00E01C00E01C00E03C01E03801E07801E07801E078
01E07801E07801E0F003C0F003C0F003C0F003C0F003C0F00380F00780E00780E00700E0
0700E00E00600E00701C003038003870000FC000131F7C9D17>I<000C001C00FC0F3800
38003800380038003800700070007000700070007000E000E000E000E000E000E001C001
C001C001C001C001C0038003C0FFFE0F1E7C9D17>I<003F8000C1E00100F00200780400
780400780F007C0F807C0F807C0F00780600780000F80000F00001E00001C00003800007
00000E00001C0000380000600000C0000180000300200600200800401000403FFFC07FFF
80FFFF80161E7E9D17>I<01803001FFE003FFC003FF0003FC0002000002000002000004
0000040000040000047C000587000603800C01800801C00001C00001E00001E00001E000
01E07003C0F803C0F003C0E00380800780400700400E00201C0018700007C000141F7D9D
17>53 D<0000100000001800000038000000380000007800000078000000FC000001BC00
00013C0000033C0000023C0000063C0000043E0000081E0000081E0000101E0000101E00
00201E0000200F0000400F0000400F0000FFFF0000800F0001000F800100078002000780
0200078004000780040007800C0007C03E0007C0FF807FFC1E207E9F22>65
D<0001F808000E061800380138007000F801E0007803C0007007800030078000300F0000
301F0000301E0000303E0000203C0000007C0000007C0000007C0000007C000000F80000
00F8000000F8000000F8000000F80000007800004078000080780000803C0000803C0001
001C0002000E00020006000C000300100001C0E000003F00001D217B9F21>67
D<07FFFF00007C01E0003C00F0003C00780078003C0078003C0078001E0078001E007800
1E0078001F00F0001F00F0001F00F0001F00F0001F00F0001F00F0001F01E0001E01E000
3E01E0003E01E0003E01E0003C01E0007C03C0007803C000F003C000F003C001E003C003
C003C0078007800F0007803C00FFFFE000201F7E9E23>I<07FFFFF8007C0078003C0038
003C001800780018007800080078000800780008007800080078080800F0100000F01000
00F0100000F0300000FFF00000F0700001E0200001E0200001E0200001E0200001E00008
01E0001003C0001003C0001003C0002003C0002003C0006003C000C0078001C0078007C0
FFFFFF801D1F7E9E1F>I<07FFFFF8007C0078003C0038003C0018007800180078000800
78000800780008007800080078000800F0100000F0100000F0100000F0300000F0700000
FFF00001E0600001E0200001E0200001E0200001E0200001E0000003C0000003C0000003
C0000003C0000003C0000003C000000780000007C00000FFFE00001D1F7E9E1E>I<07FF
C7FFC0007C00F800003C007800003C007800007800F000007800F000007800F000007800
F000007800F000007800F00000F001E00000F001E00000F001E00000F001E00000FFFFE0
0000F001E00001E003C00001E003C00001E003C00001E003C00001E003C00001E003C000
03C007800003C007800003C007800003C007800003C007800003C007800007800F000007
C00F8000FFF8FFF800221F7E9E22>72 D<07FFE0007C00003C00003C0000780000780000
780000780000780000780000F00000F00000F00000F00000F00000F00001E00001E00001
E00001E00001E00001E00003C00003C00003C00003C00003C00003C00007800007C000FF
FC00131F7F9E10>I<07FFF000007E0000003C0000003C00000078000000780000007800
0000780000007800000078000000F0000000F0000000F0000000F0000000F0000000F000
0001E0000001E0000001E0000001E0000001E0008001E0010003C0010003C0010003C003
0003C0020003C0060003C0060007801E0007807C00FFFFFC00191F7E9E1C>76
D<07FC01FFC0003E003E00003E001800003E001800004F001000004F0010000047801000
00478010000043C010000043C010000083C020000081E020000081E020000080F0200000
80F020000080782000010078400001007C400001003C400001003C400001001E40000100
1E400002000F800002000F800002000F8000020007800002000780000600038000060003
00000F00010000FFE0010000221F7E9E22>78 D<0003F800001E0E000038070000E00380
01C001C003C001E0078000E00F0000F00F0000F01E0000F01E0000F83E0000F83C0000F8
7C0000F87C0000F87C0000F87C0000F8F80001F0F80001F0F80001F0F80001F0F80003E0
780003E0780003C0780007C07C0007803C000F003C001E001E001C000E0038000700F000
03C3C00000FE00001D217B9F23>I<07FFFF00007C03C0003C01E0003C00F0007800F000
7800F8007800F8007800F8007800F8007800F000F001F000F001E000F003C000F0078000
F00F0000FFF80001E0000001E0000001E0000001E0000001E0000001E0000003C0000003
C0000003C0000003C0000003C0000003C000000780000007C00000FFFC00001D1F7E9E1F
>I<07FFFC00007C0700003C03C0003C01E0007801E0007801F0007801F0007801F00078
01F0007801E000F003E000F003C000F0078000F00F0000F03C0000FFF00001E0300001E0
380001E01C0001E01C0001E01C0001E01E0003C03E0003C03E0003C03E0003C03E0003C0
3E0003C03E0207803E0407C01F04FFFC0F18000003E01F207E9E21>82
D<003F040060CC01803C03801C03001C0700180600080E00080E00080E00080E00000F00
000F80000FE00007FE0003FF8001FFC0007FE00007E00001E00000E00000F00000F04000
E04000E04000E04000E06000C0600180E00380F80300C60C0081F80016217D9F19>I<3F
FFFFF03C0780F03007803060078030400F0010400F0010C00F0010800F0010800F001080
0F0010001E0000001E0000001E0000001E0000001E0000001E0000003C0000003C000000
3C0000003C0000003C0000003C0000007800000078000000780000007800000078000000
78000000F0000001F800007FFFE0001C1F7A9E21>I<FFFC3FF80F8007C0078003000780
03000F0002000F0002000F0002000F0002000F0002000F0002001E0004001E0004001E00
04001E0004001E0004001E0004003C0008003C0008003C0008003C0008003C0008003C00
0800380010003800100038001000380020003C0040001C0040001C0080000E0100000706
000001F800001D20799E22>I<FFF003FE1F8000F80F0000600F0000400F0000400F8000
800780018007800100078002000780020007C0040003C0040003C0080003C0080003C010
0003E0100001E0200001E0200001E0400001E0400001F0800000F1000000F1000000F200
0000F2000000FC0000007C000000780000007800000070000000700000002000001F207A
9E22>I<FFF07FF81FF01F000FC007C01F00078003000F00078003000F00078002000F00
0F8002000F000F8004000F001F8004000F0017C008000F8013C00800078023C010000780
23C01000078043C02000078043C02000078083C04000078083E0400007C101E0800003C1
01E0800003C201E1000003C201E1000003C401E2000003C401E2000003C801F4000003E8
00F4000001F000FC000001F000F8000001E000F8000001E000F0000001C000F0000001C0
0060000000C0006000000080004000002C207A9E2F>I<FFF003FF1F8000F80F0000600F
8000400780008007C0018003C0010003E0020001E0040001F00C0001F0080000F0100000
F8200000786000007C4000003C8000003F0000001F0000001E0000001E0000001E000000
1C0000003C0000003C0000003C0000003C0000003C00000038000000780000007C00000F
FFC000201F7A9E22>89 D E /Fk 19 122 df<020408103020604040C0C0C0C0C0C0C0C0
404060203010080402071A7F920C>40 D<8040201018080C040406060606060606060404
0C081810204080071A7E920C>I<1F00318060C04040C060C060C060C060C060C060C060
C060404060C031801F000B107F8F0F>48 D<0C003C00CC000C000C000C000C000C000C00
0C000C000C000C000C000C00FF8009107E8F0F>I<1F00618040C08060C0600060006000
C00180030006000C00102020207FC0FFC00B107F8F0F>I<1F00218060C060C000C00080
01800F00008000400060C060C060804060801F000B107F8F0F>I<0300030007000F000B
001300330023004300C300FFE003000300030003001FE00B107F8F0F>I<20803F002C00
2000200020002F0030802040006000600060C06080C061801F000B107F8F0F>I<078018
4030C060C06000C000CF00F080E040C060C060C060406060C030801F000B107F8F0F>I<
40007FE07FC08080808001000200040004000C0008000800180018001800180018000B11
7E900F>I<1F00318060C060C060C071803F000F00338061C0C060C060C060404060801F
000B107F8F0F>I<1F00318060C0C040C060C060C06040E021E01E600060004060C06080
43003E000B107F8F0F>I<1F00318060C0C0C0FFC0C000C000C000604030801F000A0B7F
8A0E>101 D<F3C03C6030603060306030603060306030603060FCF80D0B7F8A11>110
D<1F00318060C0C060C060C060C060C06060C031801F000B0B7F8A0F>I<F7C038603030
301830183018301830183030386037803000300030003000FC000D107F8A11>I<3E0282
80783E038181C2BC080B7F8A0C>115 D<10103030FE3030303030323232321C070F7F8E
0C>I<F8F0306030403040188018800D000D000F000600060004000400CC00C80070000C
107F8A10>121 D E /Fl 4 64 df<400004C0000C6000183000301800600C00C0060180
03030001860000CC0000780000300000300000780000CC000186000303000601800C00C0
180060300030600018C0000C40000416187A9623>2 D<03C00FF01FF83FFC7FFE7FFEFF
FFFFFFFFFFFFFFFFFFFFFF7FFE7FFE3FFC1FF80FF003C010127D9317>15
D<FFFFFFE0FFFFFFE0000C0000000C0000000C0000000C0000000C0000000C0000000C00
00000C0000000C0000000C0000000C0000000C0000000C0000000C0000000C0000000C00
00000C0000000C0000000C0000000C0000000C0000000C0000000C0000000C0000000C00
00000400001B1C7C9B23>62 D<00040000000C0000000C0000000C0000000C0000000C00
00000C0000000C0000000C0000000C0000000C0000000C0000000C0000000C0000000C00
00000C0000000C0000000C0000000C0000000C0000000C0000000C0000000C0000000C00
00000C0000000C0000FFFFFFE0FFFFFFE01B1C7C9B23>I E /Fm
3 80 df<0000000000700000000000F80000000001F80000000001F80000000003F80000
000003F00000000007F00000000007E00000000007E0000000000FE0000000000FC00000
00001FC0000000001F80000000001F80000000003F80000000003F00000000007F000000
00007E00000000007E0000000000FE0000000000FC0000000001FC0000000001F8000000
0001F80000000003F80000000003F00000000007F00000000007E00000000007E0000000
000FE0000000000FC0000000001FC0000000001F80000000001F80000000003F80000000
003F00000000007F00000000007E00000000007E0000000000FE0000000000FC00000000
01FC0000000001F80000000001F80000000003F80000000003F00000000007F000000000
07E00000000007E0000000000FE0000000000FC0000000001FC0000000001F8000000000
3F80000000003F00000000003F00000000007F00000000007E0000000000FE0000000000
FC0000000000FC0000000001FC0000000001F80000000003F80000000003F00000000003
F00000000007F00000000007E0000000000FE0000000000FC0000000000FC0000000001F
C0000000001F80000000003F80000000003F00000000003F00000000007F00000000007E
0000000000FE0000000000FC0000000000FC0000000001FC0000000001F80000000003F8
0000000003F00000000003F00000000007F00000000007E0000000000FE0000000000FC0
000000000FC0000000001FC0000000001F80000000003F80000000003F00000000003F00
000000007F00000000007E0000000000FE0000000000FC0000000000FC0000000000F800
000000007800000000002D677ACC3A>47 D<FFFFFFFFF0FFFFFFFFF0FFFFFFFFF0FFFFFF
FFF0001FFF8000001FFF8000001FFF8000001FFF8000001FFF8000001FFF8000001FFF80
00001FFF8000001FFF8000001FFF8000001FFF8000001FFF8000001FFF8000001FFF8000
001FFF8000001FFF8000001FFF8000001FFF8000001FFF8000001FFF8000001FFF800000
1FFF8000001FFF8000001FFF8000001FFF8000001FFF8000001FFF8000001FFF8000001F
FF8000001FFF8000001FFF8000001FFF8000001FFF8000001FFF8000001FFF8000001FFF
8000001FFF8000001FFF8000001FFF8000001FFF8000001FFF8000001FFF8000001FFF80
00001FFF8000001FFF8000001FFF8000001FFF8000001FFF8000001FFF8000001FFF8000
001FFF8000001FFF8000001FFF8000001FFF8000001FFF8000001FFF8000001FFF800000
1FFF8000001FFF8000001FFF8000001FFF8000001FFF8000001FFF8000FFFFFFFFF0FFFF
FFFFF0FFFFFFFFF0FFFFFFFFF024477DC62B>73 D<00000003FFF0000000000000007FFF
FF80000000000003FFFFFFF000000000000FFF003FFC00000000003FF80007FF00000000
00FFE00001FFC000000003FF8000007FF000000007FF0000003FF80000000FFE0000001F
FC0000001FFC0000000FFE0000003FF800000007FF0000007FF000000003FF800000FFF0
00000003FFC00001FFE000000001FFE00003FFE000000001FFF00003FFC000000000FFF0
0007FFC000000000FFF80007FF80000000007FF8000FFF80000000007FFC000FFF800000
00007FFC001FFF00000000003FFE001FFF00000000003FFE003FFF00000000003FFF003F
FF00000000003FFF003FFF00000000003FFF007FFF00000000003FFF807FFE0000000000
1FFF807FFE00000000001FFF807FFE00000000001FFF807FFE00000000001FFF80FFFE00
000000001FFFC0FFFE00000000001FFFC0FFFE00000000001FFFC0FFFE00000000001FFF
C0FFFE00000000001FFFC0FFFE00000000001FFFC0FFFE00000000001FFFC0FFFE000000
00001FFFC0FFFE00000000001FFFC0FFFE00000000001FFFC0FFFE00000000001FFFC0FF
FE00000000001FFFC0FFFE00000000001FFFC0FFFE00000000001FFFC07FFE0000000000
1FFF807FFF00000000003FFF807FFF00000000003FFF807FFF00000000003FFF803FFF00
000000003FFF003FFF00000000003FFF003FFF00000000003FFF001FFF80000000007FFE
001FFF80000000007FFE001FFF80000000007FFE000FFFC000000000FFFC000FFFC00000
0000FFFC0007FFC000000000FFF80003FFE000000001FFF00003FFE000000001FFF00001
FFF000000003FFE00000FFF800000007FFC000007FF800000007FF8000007FFC0000000F
FF8000003FFE0000001FFF0000000FFF0000003FFC00000007FFC00000FFF800000003FF
E00001FFF000000000FFF80007FFC0000000007FFF807FFF80000000000FFFFFFFFC0000
00000003FFFFFFF00000000000007FFFFF8000000000000003FFF0000000004A497AC757
>79 D E /Fn 9 117 df<0001FF0000000FFFE000003FFFF80000FF83FE0001FE00FF00
03F8003F8007F8003FC00FF0001FE00FE0000FE01FE0000FF01FE0000FF03FE0000FF83F
E0000FF83FC00007F87FC00007FC7FC00007FC7FC00007FC7FC00007FC7FC00007FCFFC0
0007FEFFC00007FEFFC00007FEFFC00007FEFFC00007FEFFC00007FEFFC00007FEFFC000
07FEFFC00007FEFFC00007FEFFC00007FEFFC00007FEFFC00007FEFFC00007FEFFC00007
FEFFC00007FEFFC00007FEFFC00007FEFFC00007FE7FC00007FC7FC00007FC7FC00007FC
7FC00007FC7FC00007FC3FE0000FF83FE0000FF83FE0000FF81FE0000FF01FE0000FF00F
F0001FE00FF0001FE007F8003FC003FC007F8001FE00FF0000FF83FE00007FFFFC00001F
FFF0000001FF000027397CB730>48 D<00003C000000007C00000001FC00000007FC0000
003FFC0000FFFFFC0000FFFFFC0000FFFFFC0000FFCFFC0000000FFC0000000FFC000000
0FFC0000000FFC0000000FFC0000000FFC0000000FFC0000000FFC0000000FFC0000000F
FC0000000FFC0000000FFC0000000FFC0000000FFC0000000FFC0000000FFC0000000FFC
0000000FFC0000000FFC0000000FFC0000000FFC0000000FFC0000000FFC0000000FFC00
00000FFC0000000FFC0000000FFC0000000FFC0000000FFC0000000FFC0000000FFC0000
000FFC0000000FFC0000000FFC0000000FFC0000000FFC0000000FFC0000000FFC000000
0FFC0000000FFC0000000FFC0000000FFC0000000FFC00007FFFFFFF807FFFFFFF807FFF
FFFF807FFFFFFF80213879B730>I<0000001FFE000060000003FFFFE000E000001FFFFF
F801E000007FFFFFFE03E00001FFFC00FF07E00007FFC0001FCFE0000FFF000007FFE000
1FFC000001FFE0003FF0000000FFE0007FE00000007FE000FFC00000003FE001FF800000
001FE003FF000000000FE007FF000000000FE00FFE0000000007E00FFE0000000007E01F
FC0000000003E01FFC0000000003E03FF80000000003E03FF80000000001E03FF8000000
0001E07FF80000000001E07FF80000000001E07FF00000000000007FF0000000000000FF
F0000000000000FFF0000000000000FFF0000000000000FFF0000000000000FFF0000000
000000FFF0000000000000FFF0000000000000FFF0000000000000FFF0000000000000FF
F0000000000000FFF00000000000007FF00000000000007FF00000000000007FF8000000
0000007FF80000000001E03FF80000000001E03FF80000000001E03FF80000000001E01F
FC0000000001E01FFC0000000003C00FFE0000000003C00FFE0000000003C007FF000000
00078003FF00000000078001FF800000000F0000FFC00000001F00007FE00000003E0000
3FF00000007C00001FFC000000F800000FFF000003F0000007FFC0000FE0000001FFFC00
7F800000007FFFFFFF000000001FFFFFFC0000000003FFFFE000000000001FFE0000003B
3D7BBB46>67 D<003FFE00000001FFFFE0000007FFFFF800000FE007FC00000FF001FE00
001FF800FF00001FF8007F80001FF8007FC0001FF8003FC0000FF0003FE00007E0003FE0
0003C0003FE0000000003FE0000000003FE0000000003FE0000000003FE0000000FFFFE0
00001FFFFFE000007FF83FE00003FF803FE00007FC003FE0000FF0003FE0001FE0003FE0
003FE0003FE0007FC0003FE0007FC0003FE000FF80003FE000FF80003FE000FF80003FE0
00FF80003FE000FF80007FE0007FC0007FE0007FC000DFE0003FE0039FF0001FF80F0FFF
E007FFFE0FFFE001FFFC07FFE0003FE000FFE02B267DA52F>97 D<0001FF8000000FFFF0
00007FFFFC0000FF81FE0003FE007F8007F8003F800FF0001FC00FF0000FE01FE0000FE0
3FE0000FF03FE00007F07FC00007F07FC00007F87FC00007F8FFC00007F8FFC00007F8FF
FFFFFFF8FFFFFFFFF8FFFFFFFFF8FFC0000000FFC0000000FFC0000000FFC00000007FC0
0000007FC00000007FC00000003FE00000003FE00000781FE00000781FF00000780FF000
00F007F80001F003FC0003E001FE000FC000FFC07F80003FFFFE00000FFFF8000000FFC0
0025267DA52C>101 D<00FE00000000FFFE00000000FFFE00000000FFFE00000000FFFE
0000000007FE0000000003FE0000000003FE0000000003FE0000000003FE0000000003FE
0000000003FE0000000003FE0000000003FE0000000003FE0000000003FE0000000003FE
0000000003FE0000000003FE0000000003FE0000000003FE0000000003FE0000000003FE
00FF800003FE03FFF00003FE0FFFF80003FE1E03FC0003FE3801FE0003FE6001FF0003FE
C000FF0003FFC000FF8003FF8000FF8003FF0000FF8003FF0000FF8003FF0000FF8003FE
0000FF8003FE0000FF8003FE0000FF8003FE0000FF8003FE0000FF8003FE0000FF8003FE
0000FF8003FE0000FF8003FE0000FF8003FE0000FF8003FE0000FF8003FE0000FF8003FE
0000FF8003FE0000FF8003FE0000FF8003FE0000FF8003FE0000FF8003FE0000FF8003FE
0000FF8003FE0000FF8003FE0000FF8003FE0000FF80FFFFF83FFFFEFFFFF83FFFFEFFFF
F83FFFFEFFFFF83FFFFE2F3C7CBB36>104 D<00FE01FF0000FFFE1FFFF000FFFE7FFFFC
00FFFEFC07FE00FFFFF001FF0007FFC0007F8003FF00003FC003FE00003FE003FE00001F
F003FE00001FF803FE00000FF803FE00000FFC03FE00000FFC03FE000007FC03FE000007
FE03FE000007FE03FE000007FE03FE000007FE03FE000007FE03FE000007FE03FE000007
FE03FE000007FE03FE000007FE03FE000007FC03FE00000FFC03FE00000FFC03FE00000F
FC03FE00000FF803FE00001FF003FE00001FF003FF00003FE003FF80007FC003FFC000FF
8003FFE001FF0003FEFC07FE0003FE7FFFF80003FE1FFFE00003FE03FE000003FE000000
0003FE0000000003FE0000000003FE0000000003FE0000000003FE0000000003FE000000
0003FE0000000003FE0000000003FE0000000003FE0000000003FE0000000003FE000000
00FFFFF8000000FFFFF8000000FFFFF8000000FFFFF80000002F377DA536>112
D<01FC03F000FFFC0FFC00FFFC1FFF00FFFC3C3F80FFFC707F8007FCE0FFC003FCC0FFC0
03FD80FFC003FD80FFC003FF807F8003FF003F0003FF001E0003FF00000003FE00000003
FE00000003FE00000003FE00000003FE00000003FE00000003FE00000003FE00000003FE
00000003FE00000003FE00000003FE00000003FE00000003FE00000003FE00000003FE00
000003FE00000003FE00000003FE00000003FE00000003FE000000FFFFFC0000FFFFFC00
00FFFFFC0000FFFFFC000022267DA528>114 D<000F0000000F0000000F0000000F0000
000F0000001F0000001F0000001F0000001F0000003F0000003F0000007F0000007F0000
00FF000001FF000003FF000007FF00001FFFFFF0FFFFFFF0FFFFFFF0FFFFFFF001FF0000
01FF000001FF000001FF000001FF000001FF000001FF000001FF000001FF000001FF0000
01FF000001FF000001FF000001FF000001FF000001FF000001FF000001FF000001FF0000
01FF003C01FF003C01FF003C01FF003C01FF003C01FF003C01FF003C01FF003C00FF0078
00FF8078007F80F0003FC1E0001FFFC0000FFF800001FE001E377EB626>116
D E /Fo 74 125 df<001F83E000F06E3001C078780380F8780300F03007007000070070
000700700007007000070070000700700007007000FFFFFF800700700007007000070070
000700700007007000070070000700700007007000070070000700700007007000070070
000700700007007000070070000700700007007000070070007FE3FF001D20809F1B>11
D<003F0000E0C001C0C00381E00701E00701E00700000700000700000700000700000700
00FFFFE00700E00700E00700E00700E00700E00700E00700E00700E00700E00700E00700
E00700E00700E00700E00700E00700E00700E00700E07FC3FE1720809F19>I<003FE000
E0E001C1E00381E00700E00700E00700E00700E00700E00700E00700E00700E0FFFFE007
00E00700E00700E00700E00700E00700E00700E00700E00700E00700E00700E00700E007
00E00700E00700E00700E00700E00700E07FE7FE1720809F19>I<7038F87CFC7EFC7E74
3A0402040204020804080410081008201040200F0E7E9F17>34 D<007800000084000001
840000030200000702000007020000070200000702000007040000070400000708000007
0800000310000003A00FFC03C003E0038001C001C0008001C0010003E0010004E0020008
F00200187004003078080070380800701C1000F01E1000F00E2000F0074000F003C00870
03C0087801C010380670301C18386007E00F801E227EA023>38 D<70F8FCFC7404040408
0810102040060E7C9F0D>I<0020004000800100020006000C000C001800180030003000
30007000600060006000E000E000E000E000E000E000E000E000E000E000E000E0006000
600060007000300030003000180018000C000C000600020001000080004000200B2E7DA1
12>I<800040002000100008000C00060006000300030001800180018001C000C000C000
C000E000E000E000E000E000E000E000E000E000E000E000E000C000C000C001C0018001
80018003000300060006000C00080010002000400080000B2E7DA112>I<000600000006
000000060000000600000006000000060000000600000006000000060000000600000006
000000060000000600000006000000060000FFFFFFF0FFFFFFF000060000000600000006
000000060000000600000006000000060000000600000006000000060000000600000006
00000006000000060000000600001C207D9A23>43 D<70F8FCFC74040404080810102040
060E7C840D>I<FFC0FFC00A027F8A0F>I<70F8F8F87005057C840D>I<00010003000300
0600060006000C000C000C00180018001800300030003000600060006000C000C000C001
80018001800300030003000600060006000C000C000C0018001800180030003000300060
0060006000C000C000C000102D7DA117>I<03F0000E1C001C0E00180600380700700380
700380700380700380F003C0F003C0F003C0F003C0F003C0F003C0F003C0F003C0F003C0
F003C0F003C0F003C0F003C07003807003807003807807803807001806001C0E000E1C00
03F000121F7E9D17>I<018003800F80F380038003800380038003800380038003800380
03800380038003800380038003800380038003800380038003800380038007C0FFFE0F1E
7C9D17>I<03F0000C1C00100E00200700400780800780F007C0F803C0F803C0F803C020
07C00007C0000780000780000F00000E00001C0000380000700000600000C00001800003
00000600400C00401800401000803FFF807FFF80FFFF80121E7E9D17>I<03F0000C1C00
100E00200F00780F80780780780780380F80000F80000F00000F00000E00001C00003800
03F000003C00000E00000F000007800007800007C02007C0F807C0F807C0F807C0F00780
400780400F00200E001C3C0003F000121F7E9D17>I<000600000600000E00000E00001E
00002E00002E00004E00008E00008E00010E00020E00020E00040E00080E00080E00100E
00200E00200E00400E00C00E00FFFFF0000E00000E00000E00000E00000E00000E00000E
0000FFE0141E7F9D17>I<1803001FFE001FFC001FF8001FE00010000010000010000010
000010000010000011F000161C00180E001007001007800003800003800003C00003C000
03C07003C0F003C0F003C0E00380400380400700200600100E000C380003E000121F7E9D
17>I<007C000182000701000E03800C07801C0780380300380000780000700000700000
F1F000F21C00F40600F80700F80380F80380F003C0F003C0F003C0F003C0F003C07003C0
7003C07003803803803807001807000C0E00061C0001F000121F7E9D17>I<4000007FFF
C07FFF807FFF804001008002008002008004000008000008000010000020000020000040
0000400000C00000C00001C0000180000380000380000380000380000780000780000780
00078000078000078000078000030000121F7D9D17>I<70F8F8F8700000000000000000
000070F8F8F87005147C930D>58 D<70F8F8F8700000000000000000000070F0F8F87808
0808101010202040051D7C930D>I<7FFFFFE0FFFFFFF000000000000000000000000000
00000000000000000000000000000000000000FFFFFFF07FFFFFE01C0C7D9023>61
D<000100000003800000038000000380000007C0000007C0000007C0000009E0000009E0
000009E0000010F0000010F0000010F00000207800002078000020780000403C0000403C
0000403C0000801E0000801E0000FFFE0001000F0001000F0001000F0002000780020007
8002000780040003C00E0003C01F0007E0FFC03FFE1F207F9F22>65
D<000FC040007030C001C009C0038005C0070003C00E0001C01E0000C01C0000C03C0000
C07C0000407C00004078000040F8000000F8000000F8000000F8000000F8000000F80000
00F8000000F8000000F8000000780000007C0000407C0000403C0000401C0000401E0000
800E000080070001000380020001C0040000703800000FC0001A217D9F21>67
D<FFFFE0000F803C0007801E000780070007800380078003C0078001E0078001E0078001
F0078000F0078000F0078000F8078000F8078000F8078000F8078000F8078000F8078000
F8078000F8078000F8078000F0078000F0078000F0078001E0078001E0078003C0078003
800780070007800E000F803C00FFFFE0001D1F7E9E23>I<FFFFFF000F800F0007800300
078003000780010007800180078000800780008007800080078080800780800007808000
078080000781800007FF8000078180000780800007808000078080000780800007800020
0780002007800020078000400780004007800040078000C0078000C0078001800F800F80
FFFFFF801B1F7E9E1F>I<FFFFFF000F800F000780030007800300078001000780018007
800080078000800780008007800080078080000780800007808000078080000781800007
FF8000078180000780800007808000078080000780800007800000078000000780000007
800000078000000780000007800000078000000FC00000FFFE0000191F7E9E1E>I<000F
E0200078186000E004E0038002E0070001E00F0000E01E0000601E0000603C0000603C00
00207C00002078000020F8000000F8000000F8000000F8000000F8000000F8000000F800
0000F8007FFCF80003E0780001E07C0001E03C0001E03C0001E01E0001E01E0001E00F00
01E0070001E0038002E000E0046000781820000FE0001E217D9F24>I<FFF8FFF80F800F
8007800F0007800F0007800F0007800F0007800F0007800F0007800F0007800F0007800F
0007800F0007800F0007800F0007FFFF0007800F0007800F0007800F0007800F0007800F
0007800F0007800F0007800F0007800F0007800F0007800F0007800F0007800F0007800F
000F800F80FFF8FFF81D1F7E9E22>I<FFFC0FC007800780078007800780078007800780
078007800780078007800780078007800780078007800780078007800780078007800780
07800FC0FFFC0E1F7F9E10>I<FFFC0FFC0FC003E0078001800780010007800200078004
000780080007801000078020000780400007808000078100000783000007878000078F80
000793C0000791E00007A1E00007C0F0000780F0000780780007803C0007803C0007801E
0007801E0007800F000780078007800780078007C00FC007E0FFFC3FFC1E1F7E9E23>75
D<FFFE000FC0000780000780000780000780000780000780000780000780000780000780
000780000780000780000780000780000780000780000780000780020780020780020780
0207800607800407800407800C07801C0F807CFFFFFC171F7E9E1C>I<FF80001FF80F80
001F800780001F0005C0002F0005C0002F0005C0002F0004E0004F0004E0004F00047000
8F000470008F000470008F000438010F000438010F000438010F00041C020F00041C020F
00041C020F00040E040F00040E040F00040E040F000407080F000407080F000407080F00
0403900F000403900F000401E00F000401E00F000401E00F000E00C00F001F00C01F80FF
E0C1FFF8251F7E9E2A>I<FF803FF807C007C007C0038005E0010005E0010004F0010004
78010004780100043C0100043C0100041E0100040F0100040F0100040781000407810004
03C1000401E1000401E1000400F1000400F1000400790004003D0004003D0004001F0004
001F0004000F0004000700040007000E0003001F000300FFE001001D1F7E9E22>I<001F
800000F0F00001C0380007801E000F000F000E0007001E0007803C0003C03C0003C07C00
03E0780001E0780001E0F80001F0F80001F0F80001F0F80001F0F80001F0F80001F0F800
01F0F80001F0F80001F0780001E07C0003E07C0003E03C0003C03C0003C01E0007800E00
07000F000F0007801E0001C0380000F0F000001F80001C217D9F23>I<FFFFE0000F8078
0007801C0007801E0007800F0007800F8007800F8007800F8007800F8007800F8007800F
8007800F0007801E0007801C000780780007FFE000078000000780000007800000078000
000780000007800000078000000780000007800000078000000780000007800000078000
000FC00000FFFC0000191F7E9E1F>I<FFFF80000F80F0000780780007803C0007801E00
07801E0007801F0007801F0007801F0007801F0007801E0007801E0007803C0007807800
0780F00007FF80000781C0000780E0000780F00007807000078078000780780007807800
07807C0007807C0007807C0007807C0407807E0407803E040FC01E08FFFC0F10000003E0
1E207E9E21>82 D<07E0800C1980100780300380600180600180E00180E00080E00080E0
0080F00000F000007800007F00003FF0001FFC000FFE0003FF00001F800007800003C000
03C00001C08001C08001C08001C08001C0C00180C00380E00300F00600CE0C0081F80012
217D9F19>I<7FFFFFE0780F01E0600F0060400F0020400F0020C00F0030800F0010800F
0010800F0010800F0010000F0000000F0000000F0000000F0000000F0000000F0000000F
0000000F0000000F0000000F0000000F0000000F0000000F0000000F0000000F0000000F
0000000F0000000F0000000F0000001F800007FFFE001C1F7E9E21>I<FFFC3FF80FC007
C00780038007800100078001000780010007800100078001000780010007800100078001
000780010007800100078001000780010007800100078001000780010007800100078001
0007800100078001000780010007800100038002000380020001C0020001C0040000E008
000070180000382000000FC0001D207E9E22>I<FFF003FE1F8000F80F0000600F800060
078000400780004003C0008003C0008003C0008001E0010001E0010001F0010000F00200
00F0020000F806000078040000780400003C0800003C0800003C0800001E1000001E1000
001F3000000F2000000F20000007C0000007C0000007C000000380000003800000038000
000100001F207F9E22>I<FFF07FF81FF01F800FC007C00F00078003800F00078001000F
0007C00100078007C00200078007C00200078007C0020003C009E0040003C009E0040003
C009E0040003E010F00C0001E010F0080001E010F0080001F02078080000F02078100000
F02078100000F0403C10000078403C20000078403C20000078C03E2000003C801E400000
3C801E4000003C801E4000001F000F8000001F000F8000001F000F8000001E0007800000
0E00070000000E00070000000C000300000004000200002C207F9E2F>I<7FF83FF80FE0
0FC007C0070003C0020001E0040001F00C0000F0080000781000007C1000003C2000003E
4000001E4000000F8000000F8000000780000003C0000007E0000005E0000009F0000018
F8000010780000207C0000603C0000401E0000801F0001800F0001000780020007C00700
03C01F8007E0FFE01FFE1F1F7F9E22>I<080410082010201040204020804080408040B8
5CFC7EFC7E7C3E381C0F0E7B9F17>92 D<081020204040808080B8FCFC7C38060E7D9F0D
>96 D<1FE000303000781800781C00300E00000E00000E00000E0000FE00078E001E0E00
380E00780E00F00E10F00E10F00E10F01E10781E103867200F83C014147E9317>I<0E00
00FE00000E00000E00000E00000E00000E00000E00000E00000E00000E00000E00000E3E
000EC3800F01C00F00E00E00E00E00700E00700E00780E00780E00780E00780E00780E00
780E00700E00700E00E00F00E00D01C00CC300083E0015207F9F19>I<03F80E0C1C1E38
1E380C70007000F000F000F000F000F000F00070007000380138011C020E0C03F010147E
9314>I<000380003F800003800003800003800003800003800003800003800003800003
8000038003E380061B801C0780380380380380700380700380F00380F00380F00380F003
80F00380F003807003807003803803803807801C07800E1B8003E3F815207E9F19>I<03
F0000E1C001C0E00380700380700700700700380F00380F00380FFFF80F00000F00000F0
00007000007000003800801800800C010007060001F80011147F9314>I<007C00C6018F
038F07060700070007000700070007000700FFF007000700070007000700070007000700
07000700070007000700070007000700070007007FF01020809F0E>I<0000E003E3300E
3C301C1C30380E00780F00780F00780F00780F00780F00380E001C1C001E380033E00020
00002000003000003000003FFE001FFF800FFFC03001E0600070C00030C00030C00030C0
00306000603000C01C038003FC00141F7F9417>I<0E0000FE00000E00000E00000E0000
0E00000E00000E00000E00000E00000E00000E00000E3E000E43000E81800F01C00F01C0
0E01C00E01C00E01C00E01C00E01C00E01C00E01C00E01C00E01C00E01C00E01C00E01C0
0E01C00E01C0FFE7FC16207F9F19>I<1C001E003E001E001C0000000000000000000000
00000E007E000E000E000E000E000E000E000E000E000E000E000E000E000E000E000E00
0E000E00FFC00A1F809E0C>I<00E001F001F001F000E000000000000000000000000000
7007F000F000700070007000700070007000700070007000700070007000700070007000
70007000700070007000706070F060F0C061803F000C28829E0E>I<0E0000FE00000E00
000E00000E00000E00000E00000E00000E00000E00000E00000E00000E0FF00E03C00E03
000E02000E04000E08000E10000E30000E70000EF8000F38000E1C000E1E000E0E000E07
000E07800E03800E03C00E03E0FFCFF815207F9F18>I<0E00FE000E000E000E000E000E
000E000E000E000E000E000E000E000E000E000E000E000E000E000E000E000E000E000E
000E000E000E000E000E000E00FFE00B20809F0C>I<0E1F01F000FE618618000E81C81C
000F00F00E000F00F00E000E00E00E000E00E00E000E00E00E000E00E00E000E00E00E00
0E00E00E000E00E00E000E00E00E000E00E00E000E00E00E000E00E00E000E00E00E000E
00E00E000E00E00E00FFE7FE7FE023147F9326>I<0E3E00FE43000E81800F01C00F01C0
0E01C00E01C00E01C00E01C00E01C00E01C00E01C00E01C00E01C00E01C00E01C00E01C0
0E01C00E01C0FFE7FC16147F9319>I<01F800070E001C03803801C03801C07000E07000
E0F000F0F000F0F000F0F000F0F000F0F000F07000E07000E03801C03801C01C0380070E
0001F80014147F9317>I<0E3E00FEC3800F01C00F00E00E00E00E00F00E00700E00780E
00780E00780E00780E00780E00780E00700E00F00E00E00F01E00F01C00EC3000E3E000E
00000E00000E00000E00000E00000E00000E00000E0000FFE000151D7F9319>I<03E080
0619801C05803C0780380380780380700380F00380F00380F00380F00380F00380F00380
7003807803803803803807801C0B800E138003E380000380000380000380000380000380
000380000380000380003FF8151D7E9318>I<0E78FE8C0F1E0F1E0F0C0E000E000E000E
000E000E000E000E000E000E000E000E000E000E00FFE00F147F9312>I<1F9030704030
C010C010C010E00078007F803FE00FF00070803880188018C018C018E030D0608F800D14
7E9312>I<020002000200060006000E000E003E00FFF80E000E000E000E000E000E000E
000E000E000E000E000E080E080E080E080E080610031001E00D1C7F9B12>I<0E01C0FE
1FC00E01C00E01C00E01C00E01C00E01C00E01C00E01C00E01C00E01C00E01C00E01C00E
01C00E01C00E01C00E03C00603C0030DC001F1FC16147F9319>I<FF83F81E01E01C00C0
0E00800E00800E008007010007010003820003820003820001C40001C40001EC0000E800
00E80000700000700000700000200015147F9318>I<FF9FE1FC3C0780701C0300601C03
80200E0380400E0380400E03C0400707C0800704C0800704E080038861000388710003C8
730001D0320001D03A0000F03C0000E01C0000E01C0000601800004008001E147F9321>
I<7FC3FC0F01E00701C007018003810001C20000E40000EC00007800003800003C00007C
00004E000087000107000303800201C00601E01E01E0FF07FE1714809318>I<FF83F81E
01E01C00C00E00800E00800E008007010007010003820003820003820001C40001C40001
EC0000E80000E800007000007000007000002000002000004000004000004000F08000F0
8000F100006200003C0000151D7F9318>I<3FFF380E200E201C40384078407000E001E0
01C00380078007010E011E011C0338027006700EFFFE10147F9314>I<FFFFFFFFFFF02C
01808C2D>124 D E /Fp 48 122 df<00200040008001000300060004000C000C001800
18003000300030007000600060006000E000E000E000E000E000E000E000E000E000E000
E000E000E000E0006000600060007000300030003000180018000C000C00040006000300
01000080004000200B327CA413>40 D<800040002000100018000C000400060006000300
030001800180018001C000C000C000C000E000E000E000E000E000E000E000E000E000E0
00E000E000E000E000C000C000C001C0018001800180030003000600060004000C001800
10002000400080000B327DA413>I<70F8FCFC7404040404080810102040060F7C840E>
44 D<FFE0FFE00B027F8B10>I<70F8F8F87005057C840E>I<008003800F80F380038003
800380038003800380038003800380038003800380038003800380038003800380038003
80038003800380038003800380038007C0FFFE0F217CA018>49 D<03F0000C1C00100700
2007804003C04003C08003E0F003E0F801E0F801E0F801E02003E00003E00003C00003C0
000780000700000E00001C0000180000300000600000C000018000010000020020040020
0800201800603000403FFFC07FFFC0FFFFC013217EA018>I<000200000600000E00000E
00001E00001E00002E00004E00004E00008E00008E00010E00020E00020E00040E00040E
00080E00100E00100E00200E00200E00400E00800E00FFFFF8000E00000E00000E00000E
00000E00000E00000E00001F0001FFF015217FA018>52 D<1000801E07001FFF001FFE00
1FF80013E00010000010000010000010000010000010000010F800130E00140700180380
1003800001C00001C00001E00001E00001E00001E07001E0F001E0F001E0E001C08001C0
4003C04003802007001006000C1C0003F00013227EA018>I<007E0001C1000300800601
C00E03C01C03C0180180380000380000780000700000700000F0F800F30C00F40600F403
00F80380F801C0F001C0F001E0F001E0F001E0F001E0F001E07001E07001E07001E03801
C03801C01803801C03000C0600070C0001F00013227EA018>I<4000006000007FFFE07F
FFC07FFFC0400080C0010080010080020080020000040000080000080000100000300000
200000600000600000600000E00000C00000C00001C00001C00001C00001C00003C00003
C00003C00003C00003C00003C00003C00003C00001800013237DA118>I<01F800060E00
0803001001802001802000C06000C06000C06000C07000C07801803E01003F02001FC400
0FF80003F80003FC00067F00083F80100F803007C06001C06000E0C000E0C00060C00060
C00060C000606000406000C03000801803000E0E0003F00013227EA018>I<01F000060C
000C0600180700380380700380700380F001C0F001C0F001C0F001E0F001E0F001E0F001
E0F001E07001E07003E03803E01805E00C05E00619E003E1E00001C00001C00001C00003
80000380300300780700780600700C002018001030000FC00013227EA018>I<00018000
00018000000180000003C0000003C0000003C0000005E0000005E000000DF0000008F000
0008F0000010F800001078000010780000203C0000203C0000203C0000401E0000401E00
00401E0000800F0000800F0000FFFF000100078001000780030007C0020003C0020003C0
040003E0040001E0040001E00C0000F00C0000F03E0001F8FF800FFF20237EA225>65
D<0007E0100038183000E0063001C00170038000F0070000F00E0000701E0000701C0000
303C0000303C0000307C0000107800001078000010F8000000F8000000F8000000F80000
00F8000000F8000000F8000000F800000078000000780000107C0000103C0000103C0000
101C0000201E0000200E000040070000400380008001C0010000E0020000381C000007E0
001C247DA223>67 D<FFFFF0000F801E0007800700078003C0078001C0078000E0078000
F007800078078000780780007C0780003C0780003C0780003C0780003E0780003E078000
3E0780003E0780003E0780003E0780003E0780003E0780003E0780003C0780003C078000
7C0780007807800078078000F0078000E0078001E0078003C0078007000F801E00FFFFF8
001F227EA125>I<FFFFFFC00F8007C0078001C0078000C0078000400780004007800060
07800020078000200780002007802020078020000780200007802000078060000780E000
07FFE0000780E00007806000078020000780200007802000078020080780000807800008
078000100780001007800010078000300780003007800070078000E00F8003E0FFFFFFE0
1D227EA121>I<FFFFFFC00F8007C0078001C0078000C007800040078000400780006007
800020078000200780002007802020078020000780200007802000078060000780E00007
FFE0000780E0000780600007802000078020000780200007802000078000000780000007
8000000780000007800000078000000780000007800000078000000FC00000FFFE00001B
227EA120>I<FFFC3FFF0FC003F0078001E0078001E0078001E0078001E0078001E00780
01E0078001E0078001E0078001E0078001E0078001E0078001E0078001E0078001E007FF
FFE0078001E0078001E0078001E0078001E0078001E0078001E0078001E0078001E00780
01E0078001E0078001E0078001E0078001E0078001E0078001E00FC003F0FFFC3FFF2022
7EA125>72 D<FFFC0FC00780078007800780078007800780078007800780078007800780
078007800780078007800780078007800780078007800780078007800780078007800FC0
FFFC0E227EA112>I<FFC00003FF0FC00003F007C00003E005E00005E005E00005E004F0
0009E004F00009E004F00009E004780011E004780011E004780011E0043C0021E0043C00
21E0043C0021E0041E0041E0041E0041E0040F0081E0040F0081E0040F0081E004078101
E004078101E004078101E00403C201E00403C201E00401E401E00401E401E00401E401E0
0400F801E00400F801E00400F801E004007001E00E007001E01F007003F0FFE0203FFF28
227EA12D>77 D<FF8007FF07C000F807C0007005E0002004F0002004F000200478002004
7C0020043C0020041E0020041F0020040F002004078020040780200403C0200401E02004
01E0200400F0200400F8200400782004003C2004003E2004001E2004000F2004000F2004
0007A0040003E0040003E0040001E0040001E0040000E00E0000601F000060FFE0002020
227EA125>I<FFFFF0000F803C0007800F0007800780078007C0078003C0078003E00780
03E0078003E0078003E0078003E0078003E0078003C0078007C00780078007800F000780
3C0007FFF000078000000780000007800000078000000780000007800000078000000780
00000780000007800000078000000780000007800000078000000FC00000FFFC00001B22
7EA121>80 D<FFFFE000000F803C000007800E00000780078000078007C000078003C000
078003E000078003E000078003E000078003E000078003E000078003C000078007C00007
8007800007800E000007803C000007FFE000000780700000078038000007801C00000780
1E000007800E000007800F000007800F000007800F000007800F000007800F800007800F
800007800F800007800F808007800FC080078007C0800FC003C100FFFC01E2000000007C
0021237EA124>82 D<03F0200C0C601802603001E07000E0600060E00060E00060E00020
E00020E00020F00000F000007800007F00003FF0001FFE000FFF0003FF80003FC00007E0
0001E00000F00000F0000070800070800070800070800070C00060C00060E000C0F000C0
C80180C6070081FC0014247DA21B>I<7FFFFFF878078078600780184007800840078008
40078008C007800C80078004800780048007800480078004000780000007800000078000
000780000007800000078000000780000007800000078000000780000007800000078000
000780000007800000078000000780000007800000078000000780000007800000078000
000FC00003FFFF001E227EA123>I<0FE0001838003C0C003C0E00180700000700000700
00070000FF0007C7001E07003C0700780700700700F00708F00708F00708F00F08781708
3C23900FC1E015157E9418>97 D<0E0000FE00001E00000E00000E00000E00000E00000E
00000E00000E00000E00000E00000E00000E00000E1F000E61C00E80600F00300E00380E
003C0E001C0E001E0E001E0E001E0E001E0E001E0E001E0E001E0E001C0E003C0E00380F
00700C80600C41C0083F0017237FA21B>I<01FE000703000C07801C0780380300780000
700000F00000F00000F00000F00000F00000F00000F000007000007800403800401C0080
0C010007060001F80012157E9416>I<0000E0000FE00001E00000E00000E00000E00000
E00000E00000E00000E00000E00000E00000E00000E001F8E00704E00C02E01C01E03800
E07800E07000E0F000E0F000E0F000E0F000E0F000E0F000E0F000E07000E07800E03800
E01801E00C02E0070CF001F0FE17237EA21B>I<01FC000707000C03801C01C03801C078
01E07000E0F000E0FFFFE0F00000F00000F00000F00000F000007000007800203800201C
00400E008007030000FC0013157F9416>I<003C00C6018F038F030F0700070007000700
07000700070007000700FFF8070007000700070007000700070007000700070007000700
07000700070007000700070007807FF8102380A20F>I<00007001F198071E180E0E181C
07001C07003C07803C07803C07803C07801C07001C07000E0E000F1C0019F00010000010
00001800001800001FFE000FFFC00FFFE03800F0600030400018C00018C00018C0001860
00306000303800E00E038003FE0015217F9518>I<0E0000FE00001E00000E00000E0000
0E00000E00000E00000E00000E00000E00000E00000E00000E00000E1F800E60C00E80E0
0F00700F00700E00700E00700E00700E00700E00700E00700E00700E00700E00700E0070
0E00700E00700E00700E00700E0070FFE7FF18237FA21B>I<1C001E003E001E001C0000
0000000000000000000000000000000E00FE001E000E000E000E000E000E000E000E000E
000E000E000E000E000E000E000E000E000E00FFC00A227FA10E>I<01C003E003E003E0
01C00000000000000000000000000000000001E00FE001E000E000E000E000E000E000E0
00E000E000E000E000E000E000E000E000E000E000E000E000E000E000E000E000E060E0
F0C0F18061803E000B2C82A10F>I<0E0000FE00001E00000E00000E00000E00000E0000
0E00000E00000E00000E00000E00000E00000E00000E03FC0E01F00E01C00E01800E0200
0E04000E08000E10000E38000EF8000F1C000E1E000E0E000E07000E07800E03C00E01C0
0E01E00E00F00E00F8FFE3FE17237FA21A>I<0E00FE001E000E000E000E000E000E000E
000E000E000E000E000E000E000E000E000E000E000E000E000E000E000E000E000E000E
000E000E000E000E000E000E000E00FFE00B237FA20E>I<0E1FC07F00FE60E183801E80
7201C00F003C00E00F003C00E00E003800E00E003800E00E003800E00E003800E00E0038
00E00E003800E00E003800E00E003800E00E003800E00E003800E00E003800E00E003800
E00E003800E00E003800E00E003800E0FFE3FF8FFE27157F942A>I<0E1F80FE60C01E80
E00F00700F00700E00700E00700E00700E00700E00700E00700E00700E00700E00700E00
700E00700E00700E00700E00700E0070FFE7FF18157F941B>I<01FC000707000C018018
00C03800E0700070700070F00078F00078F00078F00078F00078F00078F0007870007078
00F03800E01C01C00E038007070001FC0015157F9418>I<0E1F00FE61C00E80600F0070
0E00380E003C0E001C0E001E0E001E0E001E0E001E0E001E0E001E0E001E0E003C0E003C
0E00380F00700E80E00E41C00E3F000E00000E00000E00000E00000E00000E00000E0000
0E00000E0000FFE000171F7F941B>I<0E3CFE461E8F0F0F0F060F000E000E000E000E00
0E000E000E000E000E000E000E000E000E000F00FFF010157F9413>114
D<0F8830786018C018C008C008E008F0007F803FE00FF001F8003C801C800C800CC00CC0
08E018D0308FC00E157E9413>I<02000200020002000600060006000E001E003E00FFF8
0E000E000E000E000E000E000E000E000E000E000E000E040E040E040E040E040E040708
030801F00E1F7F9E13>I<0E0070FE07F01E00F00E00700E00700E00700E00700E00700E
00700E00700E00700E00700E00700E00700E00700E00700E00F00E00F006017003827800
FC7F18157F941B>I<FF8FF8FF1E01E03C1C01C0180E01C0180E01E0100E01E010070260
20070270200702702003843040038438400384384001C8188001C81C8001C81C8000F00D
0000F00F0000F00F0000600600006006000060060020157F9423>119
D<FFC1FE1E00780E00300E00200E002007004007004003808003808003808001C10001C1
0000E20000E20000E2000074000074000038000038000038000010000010000020000020
00002000004000F04000F08000F180004300003C0000171F7F941A>121
D E /Fq 20 118 df<FFFF80FFFF80FFFF8011037F9016>45 D<FFFFFFE00000FFFFFFFC
000007E0007F000003E0000F800003E00003C00003E00001E00003E00000F00003E00000
780003E000003C0003E000001E0003E000001E0003E000000F0003E000000F0003E00000
0F8003E00000078003E0000007C003E0000007C003E0000003C003E0000003C003E00000
03E003E0000003E003E0000003E003E0000003E003E0000003E003E0000003E003E00000
03E003E0000003E003E0000003E003E0000003E003E0000003E003E0000003C003E00000
03C003E0000007C003E0000007C003E00000078003E00000078003E000000F8003E00000
0F0003E000001F0003E000001E0003E000003C0003E00000780003E00000F80003E00001
F00003E00003E00003E0000F800007E0003F0000FFFFFFFC0000FFFFFFE000002B317CB0
33>68 D<FFFF80FFFF8007F00003E00003E00003E00003E00003E00003E00003E00003E0
0003E00003E00003E00003E00003E00003E00003E00003E00003E00003E00003E00003E0
0003E00003E00003E00003E00003E00003E00003E00003E00003E00003E00003E00003E0
0003E00003E00003E00003E00003E00003E00003E00003E00003E00003E00003E00007F0
00FFFF80FFFF8011317DB017>73 D<FFF00000007FF8FFF00000007FF807F00000007F00
02F8000000BE0002F8000000BE0002F8000000BE00027C0000013E00027C0000013E0002
3E0000023E00023E0000023E00023E0000023E00021F0000043E00021F0000043E00021F
0000043E00020F8000083E00020F8000083E00020F8000083E000207C000103E000207C0
00103E000207C000103E000203E000203E000203E000203E000201F000403E000201F000
403E000201F000403E000200F800803E000200F800803E000200F800803E0002007C0100
3E0002007C01003E0002007C01003E0002003E02003E0002003E02003E0002003E02003E
0002001F04003E0002001F04003E0002000F88003E0002000F88003E0002000F88003E00
020007D0003E00020007D0003E00020007D0003E00020003E0003E00020003E0003E0002
0003E0003E00070001C0003E000F8001C0007F00FFF801C00FFFF8FFF800800FFFF83531
7CB03D>77 D<FFFFFFC000FFFFFFF80007E0007E0003E0001F0003E000078003E00003C0
03E00001E003E00001F003E00001F003E00000F003E00000F803E00000F803E00000F803
E00000F803E00000F803E00000F803E00000F003E00001F003E00001E003E00003E003E0
0003C003E000078003E0001F0003E0007C0003FFFFF00003E000000003E000000003E000
000003E000000003E000000003E000000003E000000003E000000003E000000003E00000
0003E000000003E000000003E000000003E000000003E000000003E000000003E0000000
03E000000003E000000003E000000003E000000007F0000000FFFF800000FFFF80000025
317CB02D>80 D<007F802001FFE02007C078600F001C601E0006E03C0003E0380001E078
0000E0700000E070000060F0000060F0000060F0000020F0000020F0000020F8000020F8
0000007C0000007E0000003F0000003FC000001FF800000FFF800007FFF80003FFFC0000
FFFF00000FFF800000FFC000001FE0000007E0000003F0000001F0000000F0000000F800
0000F88000007880000078800000788000007880000078C0000078C0000070E00000F0E0
0000E0F00000E0F80001C0EC000380C7000700C1F01E00807FFC00800FF0001D337CB125
>83 D<00FE00000303C0000C00E00010007000100038003C003C003E001C003E001E003E
001E0008001E0000001E0000001E0000001E00000FFE0000FC1E0003E01E000F801E001F
001E003E001E003C001E007C001E00F8001E04F8001E04F8001E04F8003E04F8003E0478
003E047C005E043E008F080F0307F003FC03E01E1F7D9E21>97 D<003F8000E060038018
0700040F00041E001E1C003E3C003E7C003E7C0008780000F80000F80000F80000F80000
F80000F80000F80000F80000F800007800007C00007C00003C00011E00011E00020F0002
07000403801800E060003F80181F7D9E1D>99 D<000001E000003FE000003FE0000003E0
000001E0000001E0000001E0000001E0000001E0000001E0000001E0000001E0000001E0
000001E0000001E0000001E0000001E0000001E0000001E0001F81E000F061E001C019E0
078005E00F0003E00E0003E01E0001E03C0001E03C0001E07C0001E0780001E0F80001E0
F80001E0F80001E0F80001E0F80001E0F80001E0F80001E0F80001E0F80001E0780001E0
780001E03C0001E03C0001E01C0001E01E0003E00E0005E0070009E0038011F000E061FF
003F81FF20327DB125>I<003F800000E0E0000380380007003C000E001E001E001E001C
000F003C000F007C000F0078000F8078000780F8000780F8000780FFFFFF80F8000000F8
000000F8000000F8000000F8000000F8000000780000007C0000003C0000003C0000801E
0000800E0001000F0002000780020001C00C0000F03000001FC000191F7E9E1D>I<0007
E0001C1000383800707C00E07C01E07C01C03803C00003C00003C00003C00003C00003C0
0003C00003C00003C00003C00003C00003C000FFFFC0FFFFC003C00003C00003C00003C0
0003C00003C00003C00003C00003C00003C00003C00003C00003C00003C00003C00003C0
0003C00003C00003C00003C00003C00003C00003C00003C00003C00003C00007E0007FFF
007FFF0016327FB114>I<000000F0007F030801C1C41C0380E81C070070080F0078001E
003C001E003C003E003E003E003E003E003E003E003E003E003E003E003E001E003C001E
003C000F007800070070000780E00009C1C000087F000018000000180000001800000018
000000180000001C0000000E0000000FFFF80007FFFF0003FFFF800E000FC0180001E030
0000F070000070E0000038E0000038E0000038E0000038E0000038700000707000007038
0000E01C0001C00700070001C01C00003FE0001E2F7E9F21>I<07000F801F801F800F80
0700000000000000000000000000000000000000000000000780FF80FF800F8007800780
078007800780078007800780078007800780078007800780078007800780078007800780
07800780078007800FC0FFF8FFF80D307EAF12>105 D<0780FE001FC000FF83078060F0
00FF8C03C18078000F9001E2003C0007A001E4003C0007A000F4001E0007C000F8001E00
07C000F8001E00078000F0001E00078000F0001E00078000F0001E00078000F0001E0007
8000F0001E00078000F0001E00078000F0001E00078000F0001E00078000F0001E000780
00F0001E00078000F0001E00078000F0001E00078000F0001E00078000F0001E00078000
F0001E00078000F0001E00078000F0001E00078000F0001E00078000F0001E00078000F0
001E000FC001F8003F00FFFC1FFF83FFF0FFFC1FFF83FFF0341F7E9E38>109
D<0780FE0000FF83078000FF8C03C0000F9001E00007A001E00007A000F00007C000F000
07C000F000078000F000078000F000078000F000078000F000078000F000078000F00007
8000F000078000F000078000F000078000F000078000F000078000F000078000F0000780
00F000078000F000078000F000078000F000078000F000078000F000078000F0000FC001
F800FFFC1FFF80FFFC1FFF80211F7E9E25>I<001FC00000F0780001C01C00070007000F
0007801E0003C01C0001C03C0001E03C0001E0780000F0780000F0780000F0F80000F8F8
0000F8F80000F8F80000F8F80000F8F80000F8F80000F8F80000F8780000F07C0001F03C
0001E03C0001E01E0003C01E0003C00F00078007800F0001C01C0000F07800001FC0001D
1F7E9E21>I<0783E0FF8C18FF907C0F907C07A07C07C03807C00007C00007C000078000
078000078000078000078000078000078000078000078000078000078000078000078000
0780000780000780000780000780000780000FC000FFFE00FFFE00161F7E9E19>114
D<01FC100E03301800F0300070600030E00030E00010E00010E00010F00010F800007E00
003FF0001FFF000FFFC003FFE0003FF00001F80000F880003C80003C80001CC0001CC000
1CE0001CE00018F00038F00030CC0060C301C080FE00161F7E9E1A>I<00400000400000
400000400000400000C00000C00000C00001C00001C00003C00007C0000FC0001FFFE0FF
FFE003C00003C00003C00003C00003C00003C00003C00003C00003C00003C00003C00003
C00003C00003C00003C00003C00003C01003C01003C01003C01003C01003C01003C01003
C01001C02001E02000E0400078C0001F00142C7FAB19>I<078000F000FF801FF000FF80
1FF0000F8001F000078000F000078000F000078000F000078000F000078000F000078000
F000078000F000078000F000078000F000078000F000078000F000078000F000078000F0
00078000F000078000F000078000F000078000F000078000F000078000F000078001F000
078001F000078001F000038002F00003C004F00001C008F800007030FF80001FC0FF8021
1F7E9E25>I E /Fr 5 85 df<00000000600000000000E00000000000E00000000001E0
0000000003E00000000003E00000000007E00000000007F0000000000DF0000000000DF0
0000000019F00000000039F00000000031F00000000061F00000000061F000000000C1F0
00000000C1F00000000181F00000000381F00000000301F00000000601F00000000601F0
0000000C01F80000000C00F80000001800F80000003800F80000003000F80000006000F8
0000006000F8000000C000F8000000C000F8000001FFFFF8000001FFFFF80000030000F8
0000060000F80000060000F800000C0000F800000C0000FC00001800007C00001800007C
00003000007C00007000007C00006000007C0000C000007C0000C000007C0001C000007C
0003C000007C000FE00000FE00FFF8001FFFE0FFF8001FFFE02B327CB134>65
D<000FFFFFFC0000000FFFFFFF800000007E000FE00000007C0003F00000007C0000F800
00007C00007C0000007C00007C000000F800003E000000F800001E000000F800001F0000
00F800001F000001F000001F000001F000000F800001F000000F800001F000000F800003
E000000F800003E000000F800003E000000F800003E000001F800007C000001F800007C0
00001F800007C000001F800007C000001F80000F8000001F00000F8000003F00000F8000
003F00000F8000003F00001F0000007E00001F0000007E00001F0000007E00001F000000
7C00003E000000FC00003E000000F800003E000001F800003E000001F000007C000003E0
00007C000003E000007C000007C000007C00000F800000F800000F000000F800001E0000
00F800003C000000F8000078000001F00001F0000001F00003E0000001F0000F80000003
F0007F000000FFFFFFFC000000FFFFFFC000000031317BB035>68
D<000FFFFFFFF8000FFFFFFFF800007E0003F800007C0000F800007C00007800007C0000
7800007C0000300000F80000300000F80000300000F80000300000F80000300001F00000
300001F00000300001F00000300001F00000600003E00180600003E00180000003E00180
000003E00180000007C00300000007C00300000007C00700000007C01F0000000FFFFE00
00000FFFFE0000000F801E0000000F800E0000001F000C0000001F000C0000001F000C00
00001F000C0000003E00180000003E00180000003E00000000003E00000000007C000000
00007C00000000007C00000000007C0000000000F80000000000F80000000000F8000000
0000F80000000001F00000000001F00000000001F00000000003F000000000FFFFE00000
00FFFFE00000002D317BB02E>70 D<000FFFFFE000000FFFFFFC0000007E003F0000007C
000F8000007C0007C000007C0003E000007C0003E00000F80001F00000F80001F00000F8
0001F00000F80003F00001F00003F00001F00003F00001F00003F00001F00003E00003E0
0007E00003E00007C00003E0000FC00003E0000F800007C0001F000007C0003E000007C0
0078000007C001E000000F800F8000000FFFFC0000000F800E0000000F80070000001F00
038000001F0003C000001F0001E000001F0001E000003E0001F000003E0001F000003E00
01F000003E0001F000007C0003F000007C0003F000007C0003E000007C0003E00000F800
07E00000F80007E00000F80007E00000F80007E01801F00007E03001F00007E03001F000
07E02003F00003E060FFFF8001E0C0FFFF8000F180000000003E002D327BB033>82
D<07FFFFFFFFF007FFFFFFFFF00FE007E007F00F8007C001F00E0007C000E00C0007C000
E01C0007C000E018000F8000E018000F8000E030000F8000C030000F8000C030001F0000
C060001F0000C060001F0000C060001F0000C0C0003E00018000003E00000000003E0000
0000003E00000000007C00000000007C00000000007C00000000007C0000000000F80000
000000F80000000000F80000000000F80000000001F00000000001F00000000001F00000
000001F00000000003E00000000003E00000000003E00000000003E00000000007C00000
000007C00000000007C00000000007C0000000000F80000000000F80000000000F800000
00000F80000000001F00000000001F00000000001F00000000003F000000003FFFFF0000
003FFFFF0000002C3174B032>84 D E end
%%EndProlog
%%BeginSetup
%%Feature: *Resolution 300dpi
TeXDict begin

%%EndSetup
%%Page: 0 1
0 0 bop 799 949 a Fr(D)25 b(R)g(A)g(F)g(T)225 1041 y
Fq(Do)r(cumen)n(t)20 b(for)i(a)f(Standard)g(Message-P)n(assing)f(In)n
(terface)621 1235 y Fp(Message)c(P)o(assing)h(In)o(terface)e(F)l(orum)
824 1362 y(April)g(16,)i(1997)190 1420 y(This)g(w)o(ork)f(w)o(as)h
(supp)q(orted)g(in)f(part)g(b)o(y)g(NSF)g(and)h(ARP)l(A)e(under)h(NSF)g
(con)o(tract)283 1478 y(CD)o(A-9115428)j(and)e(Esprit)f(under)h(pro)s
(ject)e(HPC)i(Standards)g(\(21111\).)p eop
%%Page: 1 2
1 1 bop 166 49 a Fo(This)20 b(is)h(the)f(result)g(of)f(a)h(LaT)l(eX)g
(run)g(of)g(a)f(draft)g(of)h(a)f(single)j(c)o(hapter)d(of)h(the)g(MPIF)
f(Final)75 106 y(Rep)q(ort)d(do)q(cumen)o(t.)969 2828
y(i)p eop
%%Page: 1 3
1 2 bop 75 361 a Fn(Chapter)31 b(10)75 568 y Fm(I/O)1875
760 y Fl(>)16 b Fk(\(no)10 b(et)o(yp)q(es\))75 798 y
Fo(This)16 b(note)f(details)h(the)f(c)o(hanges)g(to)g(the)g(I/O)h(c)o
(hapter)f(necessary)g(to)g(eliminate)i(et)o(yp)q(es.)166
855 y(In)o(tro)q(duction)j(/)e(De\014nitions)j(|)e(eliminated)i(et)o
(yp)q(es;)g(mo)o(v)o(ed)d(explanatory)h(text)f(from)h(et)o(yp)q(e)75
911 y(de\014nition)e(to)e(\014let)o(yp)q(e)h(de\014nition;)h(\014xed)e
(view)h(de\014nition;)h(\014xed)f(o\013set)e(de\014nition.)166
968 y(File)i(Views)g(|)g(eliminated)h(et)o(yp)q(es;)e(require)h
(\014let)o(yp)q(es)g(to)f(ha)o(v)o(e)g(the)g(same)g(exten)o(t.)166
1024 y(Data)j(Access)h(|)h(delete)g(all)g(but)f(the)g(\014rst)g(sen)o
(tence)g(of)g(all)h(data)e(access)h(routines)h(\(the)f(new)75
1081 y(`Data)12 b(Access)h(Con)o(v)o(en)o(tions')g(mak)o(es)g(this)g
(text)g(obselete)h(regardless)g(of)e(what)h(w)o(e)g(do)g(ab)q(out)g(et)
o(yp)q(es\).)166 1137 y(File)f(In)o(terop)q(erabilit)o(y)h(/)e(User)g
(De\014ned)h(Data)e(Represen)o(tations)i(|)f(w)o(ould)h(need)g(to)e(b)q
(e)i(c)o(hanged.)166 1193 y(Consistency)k(and)f(Seman)o(tics)h(/)f(T)o
(yp)q(e)g(Matc)o(hing)g(|)h(c)o(hanged)f('et)o(yp)q(e')g(to)f('t)o(yp)q
(e'.)166 1250 y(Examples)i(&)f(Figures)g(|)h(probably)g(need)g(to)e(b)q
(e)i(up)q(dated.)166 1306 y(The)h(follo)o(wing)g(references)g(to)f(et)o
(yp)q(es)h(can)g(simply)h(b)q(e)f(deleted)h(\(if)e(the)h(reference)g(w)
o(as)f(`et)o(yp)q(es)75 1363 y(and/or)f(\014let)o(yp)q(es'\))g(or)g(c)o
(hanged)g(to)g(`\014let)o(yp)q(e')h(\(if)f(the)g(reference)h(w)o(as)e
(`et)o(yp)q(e'\):)143 1457 y Fl(\017)23 b Fo(Data)14
b(Access)h(/)g(P)o(ositioning)143 1550 y Fl(\017)23 b
Fo(Data)14 b(Access)h(with)h(Individual)i(File)e(P)o(oin)o(ters)f(/)g
(In)o(tro)q(duction)143 1644 y Fl(\017)23 b Fo(Data)14
b(Access)h(with)h(Individual)i(File)e(P)o(oin)o(ters)f(/)g(SEEK)143
1738 y Fl(\017)23 b Fo(Data)14 b(Access)h(with)h(Individual)i(File)e(P)
o(oin)o(ters)f(/)g(FILE)p 1182 1738 14 2 v 17 w(GET)p
1299 1738 V 16 w(POSITION)143 1832 y Fl(\017)23 b Fo(Data)14
b(Access)h(with)h(Shared)g(File)g(P)o(oin)o(ters)f(/)f(In)o(tro)q
(duction)143 1926 y Fl(\017)23 b Fo(Data)14 b(Access)h(with)h(Shared)g
(File)g(P)o(oin)o(ters)f(/)f(MPI)p 1100 1926 V 17 w(SEEK)p
1239 1926 V 17 w(SHARED)143 2020 y Fl(\017)23 b Fo(File)16
b(In)o(terop)q(erabilit)o(y)143 2113 y Fl(\017)23 b Fo(Consistency)15
b(and)h(Seman)o(tics)f(/)g(Random)h(Access)f(vs.)20 b(Sequen)o(tial)d
(Files)143 2207 y Fl(\017)23 b Fo(Consistency)15 b(and)h(Seman)o(tics)f
(/)g(Miscellaneous)i(Clari\014cations)143 2301 y Fl(\017)23
b Fo(Filet)o(yp)q(e)16 b(Constructors)e(/)h(Distributed)h(Arra)o(y)e
(Filet)o(yp)q(e)j(Constructors)166 2395 y(The)11 b(rest)g(of)g(this)h
(note)f(con)o(tains)h(c)o(hapter)f(text)g(mark)o(ed)g(with)g("no)g(et)o
(yp)q(e")h(c)o(hange)f(bars)g(sho)o(wing)75 2451 y(exactly)16
b(where)f(the)g(c)o(hanges)g(w)o(ould)h(need)g(to)f(tak)o(e)f(place.)
760 b Fl(?)16 b Fk(\(no)10 b(et)o(yp)q(es\))-32 46 y(1)-32
103 y(2)-32 159 y(3)-32 215 y(4)-32 272 y(5)-32 328 y(6)-32
385 y(7)-32 441 y(8)-32 498 y(9)-40 554 y(10)-40 611
y(11)-40 667 y(12)-40 724 y(13)-40 780 y(14)-40 836 y(15)-40
893 y(16)-40 949 y(17)-40 1006 y(18)-40 1062 y(19)-40
1119 y(20)-40 1175 y(21)-40 1232 y(22)-40 1288 y(23)-40
1345 y(24)-40 1401 y(25)-40 1457 y(26)-40 1514 y(27)-40
1570 y(28)-40 1627 y(29)-40 1683 y(30)-40 1740 y(31)-40
1796 y(32)-40 1853 y(33)-40 1909 y(34)-40 1966 y(35)-40
2022 y(36)-40 2078 y(37)-40 2135 y(38)-40 2191 y(39)-40
2248 y(40)-40 2304 y(41)-40 2361 y(42)-40 2417 y(43)-40
2474 y(44)-40 2530 y(45)-40 2587 y(46)-40 2643 y(47)-40
2699 y(48)964 2828 y Fo(1)p eop
%%Page: 2 4
2 3 bop 75 -100 a Fo(2)1365 b Fj(CHAPTER)15 b(10.)35
b(I/O)75 49 y Fi(10.0.1)49 b(De\014nitions)75 135 y Fo(.)20
b(.)g(.)1875 166 y Fl(>)c Fk(\(no)10 b(et)o(yp)q(es\))75
241 y Fh(et)o(yp)q(e)23 b(|)17 b(de\014nition)i(of)f(et)o(yp)q(e)f(to)h
(b)q(e)g(deleted)848 b Fl(?)16 b Fk(\(no)10 b(et)o(yp)q(es\))75
335 y Fh(\014let)o(yp)q(e)23 b Fo(A)11 b Fg(\014letyp)n(e)e
Fo(is)i(the)g(basis)g(for)f(partitioning)h(a)f(\014le)i(among)e(pro)q
(cesses,)h(and)g(de\014nes)h(a)e(template)189 392 y(for)15
b(accessing)h(the)g(\014le.)23 b(A)16 b(\014let)o(yp)q(e)h(is)f(an)o(y)
g Ff(MPI)f Fo(basic)i(or)e(deriv)o(ed)i(datat)o(yp)q(e.)k(The)16
b(t)o(yp)q(emap)-1992 b Fl(>)15 b Fk(\(no)c(et)o(yp)q(es\))189
448 y Fo(displacemen)o(ts)20 b(for)f(\014let)o(yp)q(es)h(are)e
(required)j(to)d(b)q(e)i(non-negativ)o(e)f(and)h(monotonically)g(non-)
189 505 y(decreasing.)f(Data)9 b(access)i(is)g(p)q(erformed)g(in)g
(\014let)o(yp)q(e)h(units,)g(reading)f(or)f(writing)h(whole)g(datums)
189 561 y(of)i(t)o(yp)q(e)g(\014let)o(yp)q(e.)21 b(O\013sets)13
b(are)g(expressed)i(as)e(a)g(coun)o(t)g(of)g(\014let)o(yp)q(es;)i
(\014le)g(p)q(oin)o(ters)f(p)q(oin)o(t)g(to)f(the)189
617 y(b)q(eginning)k(of)f(\014let)o(yp)q(es.)22 b(Dep)q(ending)17
b(on)f(con)o(text,)f(the)g(term)h(\\\014let)o(yp)q(e")g(is)g(used)g(to)
f(describ)q(e)189 674 y(one)i(of)g(three)h(asp)q(ects:)25
b(a)17 b(particular)h(t)o(yp)q(e,)g(a)f(datum)h(of)f(that)g(t)o(yp)q
(e,)h(or)f(the)g(exten)o(t)h(of)f(that)189 730 y(t)o(yp)q(e.)-406
b Fl(?)15 b Fk(\(no)c(et)o(yp)q(es\))-117 789 y Fl(>)k
Fk(\(no)c(et)o(yp)q(es\))75 824 y Fh(view)23 b Fo(A)16
b Fg(view)g Fo(de\014nes)i(the)e(curren)o(t)h(set)f(of)g(data)g
(visible)i(and)f(accessible)h(from)e(an)g(op)q(en)h(\014le)h(as)e(an)
189 881 y(ordered)k(set)f(of)h(\014let)o(yp)q(es.)35
b(Eac)o(h)20 b(pro)q(cess)g(has)g(its)g(o)o(wn)f(view)i(of)e(the)h
(\014le,)i(de\014ned)f(b)o(y)f(t)o(w)o(o)189 937 y(quan)o(tities:)28
b(a)18 b(displacemen)o(t)j(and)e(a)g(\014let)o(yp)q(e.)32
b(The)19 b(pattern)g(describ)q(ed)h(b)o(y)f(the)g(\014let)o(yp)q(e)h
(is)189 994 y(rep)q(eated,)e(b)q(eginning)i(at)e(the)g(displacemen)o
(t,)h(to)f(de\014ne)h(the)f(view)g(\(see)g(Figure)g Fh(??)p
Fo(\).)27 b(Views)189 1050 y(can)13 b(b)q(e)g(c)o(hanged)g(b)o(y)g(the)
g(user)g(during)h(execution.)20 b(The)13 b(default)h(view)f(is)g(a)g
(linear)h(b)o(yte)f(stream)189 1106 y(\(displacemen)o(t)j(is)g(zero,)e
(\014let)o(yp)q(e)j(equal)f(to)e Ff(MPI)p 1053 1106 14
2 v 16 w(BYTE)p Fo(\).)-1332 b Fl(?)15 b Fk(\(no)c(et)o(yp)q(es\))375
1453 y @beginspecial 0 @llx 0 @lly 592 @urx 141 @ury
2880 @rwi @setspecial
%%BeginDocument: figures/io-filetype.eps
/$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
-54.0 181.0 translate 0.900 -0.900 scale
0.500 setlinewidth
% Polyline
n 179 84 m 179 69 l 159 69 l 159 84 l clp gs 0.85 setgray fill gr
gs col-1 s gr
% Polyline
n 199 84 m 199 69 l 179 69 l 179 84 l clp gs 0.85 setgray fill gr
gs col-1 s gr
% Polyline
n 179 164 m 179 149 l 59 149 l 59 164 l clp gs col-1 s gr
% Polyline
n 99 164 m 99 149 l 79 149 l 79 164 l clp gs 0.85 setgray fill gr
gs col-1 s gr
% Polyline
n 119 164 m 119 149 l 99 149 l 99 164 l clp gs 0.85 setgray fill gr
gs col-1 s gr
% Polyline
n 299 164 m 299 149 l 179 149 l 179 164 l clp gs col-1 s gr
% Polyline
n 219 164 m 219 149 l 199 149 l 199 164 l clp gs 0.85 setgray fill gr
gs col-1 s gr
% Polyline
n 239 164 m 239 149 l 219 149 l 219 164 l clp gs 0.85 setgray fill gr
gs col-1 s gr
% Polyline
n 419 164 m 419 149 l 299 149 l 299 164 l clp gs col-1 s gr
% Polyline
n 339 164 m 339 149 l 319 149 l 319 164 l clp gs 0.85 setgray fill gr
gs col-1 s gr
% Polyline
n 359 164 m 359 149 l 339 149 l 339 164 l clp gs 0.85 setgray fill gr
gs col-1 s gr
% Polyline
n 539 164 m 539 149 l 419 149 l 419 164 l clp gs col-1 s gr
% Polyline
n 459 164 m 459 149 l 439 149 l 439 164 l clp gs 0.85 setgray fill gr
gs col-1 s gr
% Polyline
n 479 164 m 479 149 l 459 149 l 459 164 l clp gs 0.85 setgray fill gr
gs col-1 s gr
% Polyline
n 659 164 m 659 149 l 539 149 l 539 164 l clp gs col-1 s gr
% Polyline
n 579 164 m 579 149 l 559 149 l 559 164 l clp gs 0.85 setgray fill gr
gs col-1 s gr
% Polyline
n 259 84 m 259 69 l 139 69 l 139 84 l clp gs col-1 s gr
% Polyline
n 599 164 m 599 149 l 579 149 l 579 164 l clp gs 0.85 setgray fill gr
gs col-1 s gr
/Helvetica findfont 11.00 scalefont setfont
179 104 m
gs 1 -1 scale (holes) dup stringwidth pop 2 div neg 0 rmoveto col-1 show gr
0.000 setlinewidth
% Ellipse
n 694 156 3 3 0 360 DrawEllipse gs 0.00 setgray fill gr
% Ellipse
n 704 156 3 3 0 360 DrawEllipse gs 0.00 setgray fill gr
% Ellipse
n 714 156 3 3 0 360 DrawEllipse gs 0.00 setgray fill gr
1.000 setlinewidth
% Polyline
n 699 149 m 59 149 l 59 164 l 699 164 l gs col-1 s gr
0.500 setlinewidth
% Interpolated spline
n 244 189 m
232.036 184.536 227.036 182.036 224 179 curveto
222.482 177.482 221.232 174.982 219 169 curveto
gs col-1 s gr
n 219.923 177.194 m 219.000 169.000 l 223.670 175.796 l gs 2 setlinejoin col-1 s gr
% Interpolated spline
n 244 194 m
180.787 195.844 153.287 194.594 134 189 curveto
126.939 186.952 118.189 181.952 99 169 curveto
gs col-1 s gr
n 104.512 175.133 m 99.000 169.000 l 106.750 171.818 l gs 2 setlinejoin col-1 s gr
% Interpolated spline
n 319 189 m
327.853 187.647 331.603 186.397 334 184 curveto
336.397 181.603 337.647 177.853 339 169 curveto
gs col-1 s gr
n 335.814 176.606 m 339.000 169.000 l 339.768 177.210 l gs 2 setlinejoin col-1 s gr
% Interpolated spline
n 319 194 m
382.589 191.880 410.089 189.380 429 184 curveto
434.743 182.366 442.243 178.616 459 169 curveto
gs col-1 s gr
n 451.066 171.247 m 459.000 169.000 l 453.057 174.716 l gs 2 setlinejoin col-1 s gr
% Interpolated spline
n 319 199 m
448.285 202.925 504.535 200.425 544 189 curveto
551.064 186.955 559.814 181.955 579 169 curveto
gs col-1 s gr
n 571.251 171.819 m 579.000 169.000 l 573.489 175.134 l gs 2 setlinejoin col-1 s gr
/Helvetica findfont 11.00 scalefont setfont
59 139 m
gs 1 -1 scale (tiling a file with the filetype:) col-1 show gr
/Helvetica findfont 11.00 scalefont setfont
249 199 m
gs 1 -1 scale (accesible data) col-1 show gr
% Polyline
n 159 59 m 159 44 l 139 44 l 139 59 l clp gs 0.85 setgray fill gr
gs col-1 s gr
% Interpolated spline
n 159 99 m
155.926 96.344 154.676 95.094 154 94 curveto
152.488 91.554 151.238 87.804 149 79 curveto
gs col-1 s gr
n 149.033 87.246 m 149.000 79.000 l 152.909 86.261 l gs 2 setlinejoin col-1 s gr
% Interpolated spline
n 194 99 m
208.466 98.119 214.716 96.869 219 94 curveto
222.030 91.971 224.530 88.221 229 79 curveto
gs col-1 s gr
n 223.711 85.326 m 229.000 79.000 l 227.310 87.071 l gs 2 setlinejoin col-1 s gr
/Helvetica findfont 11.00 scalefont setfont
119 59 m
gs 1 -1 scale (etype) dup stringwidth pop neg 0 rmoveto col-1 show gr
/Helvetica findfont 11.00 scalefont setfont
119 84 m
gs 1 -1 scale (filetype) dup stringwidth pop neg 0 rmoveto col-1 show gr
$F2psEnd
%%EndDocument
@endspecial 645 1551 a Fo(Figure)16 b(10.1:)i(Et)o(yp)q(es)d(and)h
(\014let)o(yp)q(es)189 1655 y(A)10 b(group)g(of)g(pro)q(cesses)g(can)h
(use)f(complemen)o(tary)h(views)f(to)g(ac)o(hiev)o(e)h(a)f(global)h
(data)e(distribution)189 1712 y(suc)o(h)15 b(as)g(a)g(scatter/gather)e
(pattern)i(\(see)g(Figure)h Fh(??)o Fo(\).)375 2046 y
@beginspecial 0 @llx 0 @lly 593 @urx 135 @ury 2880 @rwi
@setspecial
%%BeginDocument: figures/io-comp-filetypes.eps
/$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
-35.0 175.0 translate 0.900 -0.900 scale
% Ellipse
n 684 186 3 3 0 360 DrawEllipse gs 0.00 setgray fill gr
% Ellipse
n 694 186 3 3 0 360 DrawEllipse gs 0.00 setgray fill gr
0.500 setlinewidth
% Polyline
n 159 59 m 139 59 l 139 44 l 159 44 l clp gs col-1 s gr
% Polyline
n 259 134 m 259 119 l 139 119 l 139 134 l clp gs col-1 s gr
% Polyline
n 259 109 m 259 94 l 139 94 l 139 109 l clp gs col-1 s gr
% Polyline
n 259 84 m 259 69 l 139 69 l 139 84 l clp gs col-1 s gr
% Polyline
n 179 84 m 159 84 l 159 69 l 179 69 l clp gs 0.90 setgray fill gr
gs col-1 s gr
% Polyline
n 159 84 m 139 84 l 139 69 l 159 69 l clp gs 0.90 setgray fill gr
gs col-1 s gr
% Polyline
n 659 194 m 639 194 l 639 179 l 659 179 l clp gs 0.90 setgray fill gr
gs col-1 s gr
% Polyline
n 59 194 m 39 194 l 39 179 l 59 179 l clp gs 0.90 setgray fill gr
gs col-1 s gr
% Polyline
n 79 194 m 59 194 l 59 179 l 79 179 l clp gs 0.90 setgray fill gr
gs col-1 s gr
% Polyline
n 179 194 m 159 194 l 159 179 l 179 179 l clp gs 0.90 setgray fill gr
gs col-1 s gr
% Polyline
n 199 194 m 179 194 l 179 179 l 199 179 l clp gs 0.90 setgray fill gr
gs col-1 s gr
% Polyline
n 299 194 m 279 194 l 279 179 l 299 179 l clp gs 0.90 setgray fill gr
gs col-1 s gr
% Polyline
n 319 194 m 299 194 l 299 179 l 319 179 l clp gs 0.90 setgray fill gr
gs col-1 s gr
% Polyline
n 419 194 m 399 194 l 399 179 l 419 179 l clp gs 0.90 setgray fill gr
gs col-1 s gr
% Polyline
n 439 194 m 419 194 l 419 179 l 439 179 l clp gs 0.90 setgray fill gr
gs col-1 s gr
% Polyline
n 539 194 m 519 194 l 519 179 l 539 179 l clp gs 0.90 setgray fill gr
gs col-1 s gr
% Polyline
n 559 194 m 539 194 l 539 179 l 559 179 l clp gs 0.90 setgray fill gr
gs col-1 s gr
% Polyline
n 99 194 m 79 194 l 79 179 l 99 179 l clp gs 0.65 setgray fill gr
gs col-1 s gr
% Polyline
n 119 194 m 99 194 l 99 179 l 119 179 l clp gs 0.65 setgray fill gr
gs col-1 s gr
% Polyline
n 139 194 m 119 194 l 119 179 l 139 179 l clp gs 0.40 setgray fill gr
gs col-1 s gr
% Polyline
n 159 194 m 139 194 l 139 179 l 159 179 l clp gs 0.40 setgray fill gr
gs col-1 s gr
% Polyline
n 219 194 m 199 194 l 199 179 l 219 179 l clp gs 0.65 setgray fill gr
gs col-1 s gr
0.000 setlinewidth
% Ellipse
n 674 186 3 3 0 360 DrawEllipse gs 0.00 setgray fill gr
0.500 setlinewidth
% Polyline
n 239 194 m 219 194 l 219 179 l 239 179 l clp gs 0.65 setgray fill gr
gs col-1 s gr
/Helvetica findfont 11.00 scalefont setfont
39 169 m
gs 1 -1 scale (tiling a file with the filetypes:) col-1 show gr
% Polyline
n 259 194 m 239 194 l 239 179 l 259 179 l clp gs 0.40 setgray fill gr
gs col-1 s gr
% Polyline
n 279 194 m 259 194 l 259 179 l 279 179 l clp gs 0.40 setgray fill gr
gs col-1 s gr
% Polyline
n 339 194 m 319 194 l 319 179 l 339 179 l clp gs 0.65 setgray fill gr
gs col-1 s gr
% Polyline
n 359 194 m 339 194 l 339 179 l 359 179 l clp gs 0.65 setgray fill gr
gs col-1 s gr
% Polyline
n 379 194 m 359 194 l 359 179 l 379 179 l clp gs 0.40 setgray fill gr
gs col-1 s gr
% Polyline
n 399 194 m 379 194 l 379 179 l 399 179 l clp gs 0.40 setgray fill gr
gs col-1 s gr
% Polyline
n 479 194 m 459 194 l 459 179 l 479 179 l clp gs 0.65 setgray fill gr
gs col-1 s gr
% Polyline
n 459 194 m 439 194 l 439 179 l 459 179 l clp gs 0.65 setgray fill gr
gs col-1 s gr
% Polyline
n 499 194 m 479 194 l 479 179 l 499 179 l clp gs 0.40 setgray fill gr
gs col-1 s gr
% Polyline
n 519 194 m 499 194 l 499 179 l 519 179 l clp gs 0.40 setgray fill gr
gs col-1 s gr
% Polyline
n 579 194 m 559 194 l 559 179 l 579 179 l clp gs 0.65 setgray fill gr
gs col-1 s gr
% Polyline
n 599 194 m 579 194 l 579 179 l 599 179 l clp gs 0.65 setgray fill gr
gs col-1 s gr
% Polyline
n 619 194 m 599 194 l 599 179 l 619 179 l clp gs 0.40 setgray fill gr
gs col-1 s gr
% Polyline
n 639 194 m 619 194 l 619 179 l 639 179 l clp gs 0.40 setgray fill gr
gs col-1 s gr
% Polyline
n 199 109 m 179 109 l 179 94 l 199 94 l clp gs 0.65 setgray fill gr
gs col-1 s gr
% Polyline
n 219 109 m 199 109 l 199 94 l 219 94 l clp gs 0.65 setgray fill gr
gs col-1 s gr
% Polyline
n 239 134 m 219 134 l 219 119 l 239 119 l clp gs 0.40 setgray fill gr
gs col-1 s gr
% Polyline
n 259 134 m 239 134 l 239 119 l 259 119 l clp gs 0.40 setgray fill gr
gs col-1 s gr
1.000 setlinewidth
% Polyline
n 679 179 m 39 179 l 39 194 l 679 194 l gs col-1 s gr
/Helvetica findfont 11.00 scalefont setfont
119 59 m
gs 1 -1 scale (etype) dup stringwidth pop neg 0 rmoveto col-1 show gr
/Helvetica findfont 11.00 scalefont setfont
119 84 m
gs 1 -1 scale (process 1 filetype) dup stringwidth pop neg 0 rmoveto col-1 show gr
/Helvetica findfont 11.00 scalefont setfont
119 109 m
gs 1 -1 scale (process 2 filetype) dup stringwidth pop neg 0 rmoveto col-1 show gr
/Helvetica findfont 11.00 scalefont setfont
119 134 m
gs 1 -1 scale (process 3 filetype) dup stringwidth pop neg 0 rmoveto col-1 show gr
$F2psEnd
%%EndDocument
@endspecial 419 2144 a(Figure)f(10.2:)k(P)o(artitioning)c(a)g(\014le)i
(among)d(parallel)j(pro)q(cesses)75 2266 y Fh(o\013set)22
b Fo(An)15 b Fg(o\013set)e Fo(is)i(a)e(p)q(osition)i(relativ)o(e)g(to)e
(the)h(curren)o(t)g(view,)h(expressed)g(as)e(a)h(coun)o(t)g(of)f
(\014let)o(yp)q(es.)-1991 b Fl(>)15 b Fk(\(no)c(et)o(yp)q(es\))189
2323 y Fo(The)j(b)q(eginning)i(of)d(the)h(view,)g(whic)o(h)h(is)f
Fg(displac)n(ement)f Fo(b)o(ytes)g(from)g(the)h(b)q(eginning)i(of)d
(the)h(\014le,)189 2379 y(is)j(at)g(o\013set)f(0.)26
b(An)18 b(\\explicit)h(o\013set")d(is)i(an)f(o\013set)f(that)h(is)h
(used)g(as)f(a)g(formal)g(parameter)f(in)-1991 b Fl(?)15
b Fk(\(no)c(et)o(yp)q(es\))189 2436 y Fo(explicit)17
b(data)e(access)g(routines.)166 2542 y(.)20 b(.)g(.)1967
46 y Fk(1)1967 103 y(2)1967 159 y(3)1967 215 y(4)1967
272 y(5)1967 328 y(6)1967 385 y(7)1967 441 y(8)1967 498
y(9)1959 554 y(10)1959 611 y(11)1959 667 y(12)1959 724
y(13)1959 780 y(14)1959 836 y(15)1959 893 y(16)1959 949
y(17)1959 1006 y(18)1959 1062 y(19)1959 1119 y(20)1959
1175 y(21)1959 1232 y(22)1959 1288 y(23)1959 1345 y(24)1959
1401 y(25)1959 1457 y(26)1959 1514 y(27)1959 1570 y(28)1959
1627 y(29)1959 1683 y(30)1959 1740 y(31)1959 1796 y(32)1959
1853 y(33)1959 1909 y(34)1959 1966 y(35)1959 2022 y(36)1959
2078 y(37)1959 2135 y(38)1959 2191 y(39)1959 2248 y(40)1959
2304 y(41)1959 2361 y(42)1959 2417 y(43)1959 2474 y(44)1959
2530 y(45)1959 2587 y(46)1959 2643 y(47)1959 2699 y(48)p
eop
%%Page: 3 5
3 4 bop 75 -100 a Fj(10.1.)34 b(FILE)15 b(VIEWS)1375
b Fo(3)75 49 y Fe(10.1)60 b(File)19 b(Views)-117 94 y
Fl(>)c Fk(\(no)c(et)o(yp)q(es\))75 245 y Ff(MPI)p 160
245 14 2 v 16 w(FILE)p 267 245 V 15 w(SET)p 365 245 V
17 w(VIEW\(fh,)k(disp,)h(\014let)o(yp)q(e,)g(data)o(rep,)g(info\))117
322 y Fd(INOUT)62 b Ff(fh)550 b Fd(\014le)14 b(handle)g(\(handle\))117
398 y(IN)155 b Ff(disp)513 b Fd(displacemen)o(t)13 b(\(in)o(teger\))117
473 y(IN)155 b Ff(\014let)o(yp)q(e)452 b Fd(\014let)o(yp)q(e)15
b(\(handle\))117 548 y(IN)155 b Ff(data)o(rep)446 b Fd(data)14
b(represen)o(tation)h(\(string\))117 623 y(IN)155 b Ff(info)516
b Fd(info)13 b(ob)r(ject)i(\(handle\))75 747 y Fc(int)23
b(MPI)p 245 747 15 2 v 17 w(File)p 358 747 V 17 w(set)p
447 747 V 17 w(view\(MPI)p 656 747 V 16 w(File)g(fh,)g(MPI)p
958 747 V 17 w(Offset)g(disp,)g(MPI)p 1357 747 V 17 w(Datatype)g
(filetype,)393 804 y(char)g(*datarep,)g(MPI)p 826 804
V 17 w(Info)g(info\))75 890 y(MPI)p 150 890 V 17 w(FILE)p
263 890 V 16 w(SET)p 351 890 V 17 w(VIEW\(FH,)g(DISP,)g(FILETYPE,)g
(DATAREP,)g(INFO,)g(IERROR\))170 947 y(INTEGER)g(FH,)h(FILETYPE,)e
(INFO,)i(IERROR)170 1003 y(CHARACTER*\(*\))f(DATAREP)170
1060 y(INTEGER\(KIND=MPI)p 557 1060 V 15 w(OFFSET)p 716
1060 V 17 w(KIND\))g(DISP)75 1146 y(void)g(MPI::File::Set)p
533 1146 V 16 w(view\(MPI::Offset)e(disp,)i(const)h(MPI::Datatype&)e
(filetype,)393 1203 y(const)h(char)h(datarep[],)e(const)h(MPI::Info&)g
(info\))1875 1243 y Fl(?)16 b Fk(\(no)10 b(et)o(yp)q(es\))166
1289 y Fo(The)i Ff(MPI)p 341 1289 14 2 v 15 w(FILE)p
447 1289 V 16 w(SET)p 546 1289 V 17 w(VIEW)f Fo(routine)h(c)o(hanges)f
(the)h(pro)q(cess's)f(view)h(of)f(the)h(data)f(in)h(the)f(\014le|the)75
1346 y(b)q(eginning)16 b(of)e(the)g(data)f(accessible)j(in)e(the)g
(\014le)h(through)f(that)f(view)i(is)f(set)g(to)f Ff(disp)p
Fo(;)i(the)f(t)o(yp)q(e)g(of)g(data)75 1402 y(and)f(the)g(distribution)
h(of)f(data)f(to)g(pro)q(cesses)h(is)g(set)g(to)f Ff(\014let)o(yp)q(e)p
Fo(.)20 b(In)14 b(addition,)g Ff(MPI)p 1543 1402 V 16
w(FILE)p 1650 1402 V 15 w(SET)p 1748 1402 V 17 w(VIEW)p
Fl(>)i Fk(\(no)10 b(et)o(yp)q(es\))1875 1461 y Fl(?)16
b Fk(\(no)10 b(et)o(yp)q(es\))75 1458 y Fo(resets)i(the)f(indep)q
(enden)o(t)k(\014le)e(p)q(oin)o(ters)f(and)g(the)g(shared)g(\014le)h(p)
q(oin)o(ter)f(to)f(zero.)19 b Ff(MPI)p 1543 1458 V 16
w(FILE)p 1650 1458 V 15 w(SET)p 1748 1458 V 17 w(VIEW)75
1515 y Fo(is)13 b(collectiv)o(e;)i(the)e(v)m(alues)h(for)e
Ff(data)o(rep)h Fo(m)o(ust)f(b)q(e)i(iden)o(tical)g(on)f(all)g(pro)q
(cesses)h(in)f(the)g(group;)g(v)m(alues)h(for)1875 1519
y Fl(>)i Fk(\(no)10 b(et)o(yp)q(es\))75 1571 y Ff(disp)p
Fo(,)k Ff(\014let)o(yp)q(e)p Fo(,)h(and)e Ff(info)f Fo(ma)o(y)g(v)m
(ary)l(.)20 b(The)13 b(exten)o(t)f(of)h(the)g Ff(\014let)o(yp)q(e)p
Fo(s)h(m)o(ust)e(b)q(e)h(iden)o(tical.)21 b(The)13 b(datat)o(yp)q(e)75
1628 y(passed)i(in)h Ff(\014let)o(yp)q(e)h Fo(m)o(ust)e(b)q(e)h
(committed.)1051 b Fl(?)16 b Fk(\(no)10 b(et)o(yp)q(es\))166
1684 y Fo(.)20 b(.)g(.)1875 1686 y Fl(>)c Fk(\(no)10
b(et)o(yp)q(es\))166 1741 y Fo(A)16 b(\014let)o(yp)q(e)i(is)f(an)o(y)f
Ff(MPI)g Fo(basic)i(or)e(deriv)o(ed)h(datat)o(yp)q(e.)24
b(The)16 b(t)o(yp)q(emap)h(displacemen)o(ts)h(for)e(\014le-)75
1797 y(t)o(yp)q(es)j(are)g(required)i(to)e(b)q(e)h(non-negativ)o(e)f
(and)h(monotonically)g(non-decreasing.)34 b(Data)18 b(access)h(is)75
1854 y(p)q(erformed)f(in)g(\014let)o(yp)q(e)h(units,)f(reading)g(or)f
(writing)h(whole)g(datums)f(of)g(t)o(yp)q(e)g(\014let)o(yp)q(e.)28
b(O\013sets)17 b(are)75 1910 y(expressed)f(as)f(a)g(coun)o(t)g(of)f
(\014let)o(yp)q(es;)i(\014le)h(p)q(oin)o(ters)e(p)q(oin)o(t)h(to)e(the)
i(b)q(eginning)h(of)e(\014let)o(yp)q(es.)189 2016 y Fg(A)n(dvic)n(e)f
(to)i(users.)40 b Fo(In)15 b(order)f(to)g(ensure)h(in)o(terop)q
(erabilit)o(y)i(in)e(a)f(heterogeneous)h(en)o(vironmen)o(t,)189
2073 y(additional)20 b(restrictions)f(m)o(ust)g(b)q(e)g(observ)o(ed)g
(when)h(constructing)f(the)g Ff(\014let)o(yp)q(e)h Fo(\(see)f(section)
189 2129 y Fh(??)o Fo(\).)h(\()p Fg(End)15 b(of)i(advic)n(e)f(to)g
(users.)p Fo(\))166 2236 y(If)k(the)f(\014le)i(is)e(op)q(ened)i(for)e
(writing,)h(the)g Ff(\014let)o(yp)q(e)h Fo(is)f(not)f(p)q(ermitted)h
(to)f(con)o(tain)g(o)o(v)o(erlapping)q Fl(?)d Fk(\(no)10
b(et)o(yp)q(es\))75 2292 y Fo(regions.)34 b(This)20 b(restriction)h(is)
f(equiv)m(alen)o(t)i(to)d(the)h(\\datat)o(yp)q(e)f(used)h(in)h(a)e
(receiv)o(e)i(cannot)f(sp)q(ecify)75 2348 y(o)o(v)o(erlapping)d
(regions")f(restriction)h(for)e(comm)o(unication.)24
b(Note)15 b(that)h Ff(\014let)o(yp)q(e)p Fo(s)h(from)f(di\013eren)o(t)g
(pro-)75 2405 y(cesses)g(ma)o(y)e(still)j(o)o(v)o(erlap)e(eac)o(h)g
(other.)166 2461 y(If)23 b Ff(\014let)o(yp)q(e)g Fo(has)g(holes)g(in)g
(it,)h(then)f(the)f(data)g(in)h(the)f(holes)h(is)g(inaccessible)i(b)o
(y)e(the)f(calling)75 2518 y(pro)q(cess.)j(Ho)o(w)o(ev)o(er,)16
b(the)h Ff(disp)h Fo(and)g Ff(\014let)o(yp)q(e)g Fo(argumen)o(ts)e(can)
h(b)q(e)h(c)o(hanged)f(via)g(future)g(calls)h(to)99 b
Fl(>)16 b Fk(\(no)10 b(et)o(yp)q(es\))1875 2576 y Fl(?)16
b Fk(\(no)10 b(et)o(yp)q(es\))75 2574 y Ff(MPI)p 160
2574 V 16 w(FILE)p 267 2574 V 15 w(SET)p 365 2574 V 17
w(VIEW)15 b Fo(to)g(access)g(a)g(di\013eren)o(t)g(part)g(of)g(the)g
(\014le.)1875 2635 y Fl(>)h Fk(\(no)10 b(et)o(yp)q(es\))166
2631 y Fo(It)15 b(is)h(erroneous)f(to)f(use)i(absolute)g(addresses)f
(in)h(the)f(construction)h(of)e(the)i Ff(\014let)o(yp)q(e)p
Fo(.)1875 2693 y Fl(?)g Fk(\(no)10 b(et)o(yp)q(es\))166
2687 y Fo(.)20 b(.)g(.)1875 2752 y Fl(>)c Fk(\(no)10
b(et)o(yp)q(es\))-32 46 y(1)-32 103 y(2)-32 159 y(3)-32
215 y(4)-32 272 y(5)-32 328 y(6)-32 385 y(7)-32 441 y(8)-32
498 y(9)-40 554 y(10)-40 611 y(11)-40 667 y(12)-40 724
y(13)-40 780 y(14)-40 836 y(15)-40 893 y(16)-40 949 y(17)-40
1006 y(18)-40 1062 y(19)-40 1119 y(20)-40 1175 y(21)-40
1232 y(22)-40 1288 y(23)-40 1345 y(24)-40 1401 y(25)-40
1457 y(26)-40 1514 y(27)-40 1570 y(28)-40 1627 y(29)-40
1683 y(30)-40 1740 y(31)-40 1796 y(32)-40 1853 y(33)-40
1909 y(34)-40 1966 y(35)-40 2022 y(36)-40 2078 y(37)-40
2135 y(38)-40 2191 y(39)-40 2248 y(40)-40 2304 y(41)-40
2361 y(42)-40 2417 y(43)-40 2474 y(44)-40 2530 y(45)-40
2587 y(46)-40 2643 y(47)-40 2699 y(48)p eop
%%Page: 4 6
4 5 bop 75 -100 a Fo(4)1365 b Fj(CHAPTER)15 b(10.)35
b(I/O)75 49 y Ff(MPI)p 160 49 14 2 v 16 w(FILE)p 267
49 V 15 w(GET)p 370 49 V 17 w(VIEW\(fh,)15 b(disp,)h(\014let)o(yp)q
(e\))117 126 y Fd(IN)155 b Ff(fh)550 b Fd(\014le)14 b(handle)g
(\(handle\))117 200 y(OUT)108 b Ff(disp)513 b Fd(displacemen)o(t)13
b(\(in)o(teger\))117 273 y(OUT)108 b Ff(\014let)o(yp)q(e)452
b Fd(\014let)o(yp)q(e)15 b(\(handle\))75 398 y Fc(int)23
b(MPI)p 245 398 15 2 v 17 w(File)p 358 398 V 17 w(get)p
447 398 V 17 w(view\(MPI)p 656 398 V 16 w(File)g(fh,)g(MPI)p
958 398 V 17 w(Offset)g(*disp,)g(MPI)p 1381 398 V 17
w(Datatype)g(*filetype\))75 484 y(MPI)p 150 484 V 17
w(FILE)p 263 484 V 16 w(GET)p 351 484 V 17 w(VIEW\(FH,)g(DISP,)g
(FILETYPE,)g(IERROR\))170 540 y(INTEGER)g(FH,)h(FILETYPE,)e(IERROR)170
597 y(INTEGER\(KIND=MPI)p 557 597 V 15 w(OFFSET)p 716
597 V 17 w(KIND\))h(DISP)75 683 y(void)g(MPI::File::Get)p
533 683 V 16 w(view\(MPI::Offset&)e(disp,)i(MPI::Datatype&)f
(filetype\))h(const)-117 723 y Fl(?)15 b Fk(\(no)c(et)o(yp)q(es\))166
770 y Fo(The)h Ff(MPI)p 341 770 14 2 v 16 w(FILE)p 448
770 V 15 w(GET)p 551 770 V 17 w(VIEW)g Fo(returns)f(the)h(pro)q(cess's)
g(view)g(of)f(the)h(data)f(in)i(the)e(\014le.)20 b(The)12
b(curren)o(t)75 826 y(v)m(alue)21 b(of)e(the)h(displacemen)o(t,)i(and)e
(the)g(curren)o(t)f(\014let)o(yp)q(e)i(are)f(returned)g(in)g
Ff(disp)p Fo(,)i(and)-1755 b Fl(>)15 b Fk(\(no)c(et)o(yp)q(es\))75
883 y Ff(\014let)o(yp)q(e)p Fo(,)16 b(resp)q(ectiv)o(ely)l(.)21
b(If)15 b Ff(\014let)o(yp)q(e)i Fo(is)e(a)f(deriv)o(ed)i(datat)o(yp)q
(e,)e(a)g(committed)h(duplicate)i(of)d(the)h(deriv)o(ed)75
939 y(datat)o(yp)q(e)g(is)g(returned;)h(the)f(user)g(is)h(resp)q
(onsible)h(for)e(freeing)h(it.)-1341 b Fl(?)15 b Fk(\(no)c(et)o(yp)q
(es\))75 1081 y Fe(10.2)60 b(Data)19 b(Access)75 1182
y Ff(P)o(ositioning)75 1268 y Fo(.)h(.)g(.)166 1324 y(The)12
b(main)h(seman)o(tic)g(issues)g(with)f Ff(MPI)p Fo(-main)o(tained)h
(\014le)g(p)q(oin)o(ters)g(are)f(ho)o(w)g(and)g(when)h(they)f(are)75
1381 y(up)q(dated)k(b)o(y)g(I/O)g(op)q(erations.)21 b(In)16
b(general,)g(eac)o(h)g(I/O)g(op)q(eration)g(lea)o(v)o(es)f(the)h
(\014le)h(p)q(oin)o(ter)f(p)q(oin)o(ting)75 1437 y(to)f(the)g(next)g
(data)g(item)g(after)g(the)g(last)g(one)g(that)g(w)o(as)f(accessed.)
-1353 b Fl(>)15 b Fk(\(no)c(et)o(yp)q(es\))166 1494 y
Fo(More)j(formally)l(,)189 1600 y Fb(new)p 274 1600 V
17 w(f)5 b(il)q(e)p 369 1600 V 16 w(position)13 b Fo(=)g
Fb(ol)q(d)p 670 1600 V 15 w(position)e Fo(+)906 1569
y Fb(siz)r(e)p Fo(\()p Fb(dataty)r(pe)p Fo(\))f Fl(\002)h
Fb(count)p 906 1589 457 2 v 995 1631 a(siz)r(e)p Fo(\()p
Fb(f)5 b(il)q(ety)r(pe)p Fo(\))75 1709 y(where)15 b Fb(count)h
Fo(is)f(the)h(n)o(um)o(b)q(er)f(of)g(elemen)o(ts)g(of)g(t)o(yp)q(e)g
Fb(dataty)r(pe)h Fo(to)e(b)q(e)i(accessed)g(and)f(where)g
Fb(siz)r(e)p Fo(\()p Fb(X)t Fo(\))75 1766 y(giv)o(es)f(the)g(n)o(um)o
(b)q(er)g(of)f(b)o(ytes)h(of)f(actual)h(data)f(\(excluding)j(holes\))e
(that)f(comp)q(oses)h(the)f Ff(MPI)g Fo(datat)o(yp)q(e)75
1822 y Fb(X)t Fo(.)26 b(The)17 b(\014le)i(p)q(osition,)f
Fb(new)p 600 1822 14 2 v 18 w(f)5 b(il)q(e)p 696 1822
V 16 w(position)p Fo(,)17 b(is)h(in)h(terms)d(of)h(a)h(coun)o(t)f(of)g
(\014let)o(yp)q(es)h(relativ)o(e)g(to)f(the)75 1878 y(curren)o(t)e
(view.)-452 b Fl(?)15 b Fk(\(no)c(et)o(yp)q(es\))166
1935 y Fo(.)20 b(.)g(.)75 2053 y Ff(Data)15 b(Access)i(Conventions)75
2139 y Fo(Data)11 b(is)j(mo)o(v)o(ed)e(b)q(et)o(w)o(een)h(\014les)g
(and)g(pro)q(cesses)g(b)o(y)f(calling)j(read)d(and)h(write)g(routines.)
19 b(Read)14 b(routines)75 2195 y(mo)o(v)o(e)f(data)f(from)h(a)g
(\014le)i(in)o(to)e(memory)l(.)19 b(W)l(rite)14 b(routines)g(mo)o(v)o
(e)e(data)h(from)g(memory)g(in)o(to)g(a)g(\014le.)21
b(The)75 2252 y(\014le)c(is)g(designated)g(b)o(y)f(a)g(\014le)h
(handle,)g Ff(fh)p Fo(.)23 b(The)16 b(lo)q(cation)h(of)f(the)g(\014le)h
(data)f(is)h(sp)q(eci\014ed)h(b)o(y)e(an)g(o\013set)75
2308 y(in)o(to)d(the)g(curren)o(t)f(view.)20 b(The)13
b(data)f(in)i(memory)e(is)i(sp)q(eci\014ed)h(b)o(y)d(a)h(triple:)20
b Ff(buf)p Fo(,)14 b Ff(count)p Fo(,)g(and)f Ff(datat)o(yp)q(e)p
Fo(.)75 2365 y(Up)q(on)j(completion,)g(the)f(amoun)o(t)f(of)h(data)g
(accessed)g(is)h(returned)g(in)g(a)f Ff(status)p Fo(.)166
2421 y(An)d(o\013set)e(designates)i(the)g(starting)f(p)q(osition)h(in)h
(the)e(\014le)i(for)e(an)g(access.)19 b(The)12 b(o\013set)e(is)i(alw)o
(a)o(ys)f(in)-1991 b Fl(>)15 b Fk(\(no)c(et)o(yp)q(es\))75
2478 y Fo(\014let)o(yp)q(e)j(units)g(relativ)o(e)f(to)g(the)g(curren)o
(t)g(view.)19 b(Explicit)c(o\013set)d(routines)i(pass)e
Ff(o\013set)h Fo(as)g(a)g(parameter)-117 2480 y Fl(?)i
Fk(\(no)c(et)o(yp)q(es\))75 2534 y Fo(\(negativ)o(e)j(v)m(alues)h(are)e
(erroneous\).)19 b(The)c(\014le)g(p)q(oin)o(ter)f(routines)h(use)f
(implicit)i(o\013sets)d(main)o(tained)i(b)o(y)75 2591
y Ff(MPI)p Fo(.)166 2647 y(A)e(data)f(access)h(routine)h(attempts)e(to)
g(transfer)h(\(read)f(or)h(write\))f(a)h(total)f(n)o(um)o(b)q(er)i(of)e
Ff(count)j Fo(data)75 2704 y(items)g(ha)o(ving)h Ff(datat)o(yp)q(e)g
Fo(t)o(yp)q(e)g(b)q(et)o(w)o(een)f(the)g(user's)g(bu\013er)g
Ff(buf)h Fo(and)f(the)g(\014le.)21 b(The)15 b(data)g(is)g(accessed)1967
46 y Fk(1)1967 103 y(2)1967 159 y(3)1967 215 y(4)1967
272 y(5)1967 328 y(6)1967 385 y(7)1967 441 y(8)1967 498
y(9)1959 554 y(10)1959 611 y(11)1959 667 y(12)1959 724
y(13)1959 780 y(14)1959 836 y(15)1959 893 y(16)1959 949
y(17)1959 1006 y(18)1959 1062 y(19)1959 1119 y(20)1959
1175 y(21)1959 1232 y(22)1959 1288 y(23)1959 1345 y(24)1959
1401 y(25)1959 1457 y(26)1959 1514 y(27)1959 1570 y(28)1959
1627 y(29)1959 1683 y(30)1959 1740 y(31)1959 1796 y(32)1959
1853 y(33)1959 1909 y(34)1959 1966 y(35)1959 2022 y(36)1959
2078 y(37)1959 2135 y(38)1959 2191 y(39)1959 2248 y(40)1959
2304 y(41)1959 2361 y(42)1959 2417 y(43)1959 2474 y(44)1959
2530 y(45)1959 2587 y(46)1959 2643 y(47)1959 2699 y(48)p
eop
%%Page: 5 7
5 6 bop 75 -100 a Fj(10.2.)34 b(D)o(A)l(T)l(A)15 b(A)o(CCESS)1326
b Fo(5)75 49 y(from)12 b(those)h(parts)g(of)f(the)h(\014le)h(sp)q
(eci\014ed)i(b)o(y)d(the)g(curren)o(t)g(view)g(\(section)h
Fh(??)o Fo(\).)19 b(The)13 b(t)o(yp)q(e)g(signature)g(of)75
106 y Ff(datat)o(yp)q(e)j Fo(m)o(ust)d(matc)o(h)g(the)h(t)o(yp)q(e)g
(signature)g(of)g(some)f(n)o(um)o(b)q(er)i(of)e(con)o(tiguous)h(copies)
h(of)e(the)i Ff(\014let)o(yp)q(e)q Fl(>)h Fk(\(no)10
b(et)o(yp)q(es\))75 162 y Fo(of)15 b(the)g(curren)o(t)h(view.)21
b(As)15 b(in)h(a)f(receiv)o(e,)h(it)g(is)g(erroneous)f(to)g(sp)q(ecify)
h(a)f Ff(datat)o(yp)q(e)i Fo(for)e(reading)h(whic)o(h)1875
164 y Fl(?)g Fk(\(no)10 b(et)o(yp)q(es\))75 219 y Fo(con)o(tains)j(o)o
(v)o(erlapping)g(regions)h(\(areas)d(of)i(memory)f(whic)o(h)i(w)o(ould)
f(b)q(e)h(stored)e(in)o(to)h(more)g(than)f(once\).)166
275 y(.)20 b(.)g(.)75 395 y Fi(10.2.1)49 b(Data)17 b(Access)e(With)h
(Explicit)h(O\013sets)75 482 y(10.2.2)49 b(Data)17 b(Access)e(with)i
(Individual)h(File)f(P)o(ointers)75 568 y Fo(.)j(.)g(.)166
624 y(The)e(individual)j(\014le)e(p)q(oin)o(ter)f(routines)g(ha)o(v)o
(e)g(the)g(same)f(seman)o(tics)h(as)g(the)f(data)h(access)g(with)75
681 y(explicit)f(o\013set)e(routines)g(describ)q(ed)i(in)f(Section)g
Fh(??)f Fo(with)g(the)h(follo)o(wing)g(mo)q(di\014cation:)143
762 y Fl(\017)23 b Fo(the)e Ff(o\013set)h Fo(is)g(de\014ned)h(to)e(b)q
(e)h(the)f(curren)o(t)h(v)m(alue)h(of)e(the)g Ff(MPI)p
Fo(-main)o(tained)h(individual)j(\014le)189 819 y(p)q(oin)o(ter.)75
901 y(After)15 b(an)g(individual)k(\014le)d(p)q(oin)o(ter)g(op)q
(eration)f(is)h(initiated,)g(the)g(individual)i(\014le)f(p)q(oin)o(ter)
e(is)h(up)q(dated)75 957 y(to)e(p)q(oin)o(t)h(to)f(the)h(next)f
(\014let)o(yp)q(e)i(after)e(the)g(last)h(one)g(requested)g
(\(regardless)f(of)g(ho)o(w)g(man)o(y)g(items)h(are)p
Fl(>)h Fk(\(no)10 b(et)o(yp)q(es\))1875 1016 y Fl(?)16
b Fk(\(no)10 b(et)o(yp)q(es\))75 1014 y Fo(actually)16
b(accessed\).)k(The)c(\014le)g(p)q(oin)o(ter)f(is)h(up)q(dated)g
(relativ)o(e)g(to)f(the)g(curren)o(t)g(view)h(of)e(the)i(\014le.)166
1070 y(.)k(.)g(.)75 1221 y Ff(MPI)p 160 1221 14 2 v 16
w(SEEK\(fh,)15 b(o\013set,)g(whence\))166 1325 y Fo(.)20
b(.)g(.)166 1381 y(The)c Ff(o\013set)f Fo(can)h(b)q(e)g(negativ)o(e,)f
(whic)o(h)i(allo)o(ws)e(seeking)h(bac)o(kw)o(ards.)k(It)c(is)g
(erroneous)f(to)g(seek)h(to)75 1438 y(a)i(negativ)o(e)g(p)q(osition)h
(in)g(the)f(view.)28 b(The)19 b(end)f(of)g(the)g(view)g(is)h(de\014ned)
g(to)f(b)q(e)g(the)g(p)q(osition)h(of)f(the)75 1494 y(next)d(\014let)o
(yp)q(e,)h(relativ)o(e)g(to)f(the)g(curren)o(t)g(view,)g(follo)o(wing)h
(the)g(last)f(whole)g(et)o(yp)q(e)h(accessible.)145 b
Fl(>)16 b Fk(\(no)10 b(et)o(yp)q(es\))1875 1553 y Fl(?)16
b Fk(\(no)10 b(et)o(yp)q(es\))75 1645 y Ff(MPI)p 160
1645 V 16 w(FILE)p 267 1645 V 15 w(GET)p 370 1645 V 17
w(POSITION\(fh,)16 b(o\013set\))166 1749 y(MPI)p 251
1749 V 16 w(FILE)p 358 1749 V 15 w(GET)p 461 1749 V 17
w(POSITION)h Fo(returns,)f(in)h Ff(o\013set)p Fo(,)f(the)g(curren)o(t)g
(p)q(osition)i(of)d(the)i(individual)i(\014le)q Fl(>)d
Fk(\(no)10 b(et)o(yp)q(es\))75 1805 y Fo(p)q(oin)o(ter)16
b(in)g(\014let)o(yp)q(e)g(units)g(relativ)o(e)g(to)e(the)i(curren)o(t)f
(view.)1875 1807 y Fl(?)h Fk(\(no)10 b(et)o(yp)q(es\))166
1862 y Fo(.)20 b(.)g(.)75 1981 y Fi(10.2.3)49 b(Data)17
b(Access)e(with)i(Sha)o(red)e(File)i(P)o(ointers)75 2067
y Fo(.)j(.)g(.)166 2123 y(After)c(a)g(shared)h(\014le)g(p)q(oin)o(ter)g
(op)q(eration)g(is)g(initiated,)h(the)e(shared)h(\014le)g(p)q(oin)o
(ter)g(is)g(up)q(dated)h(to)75 2180 y(p)q(oin)o(t)h(to)e(the)i(next)f
(\014let)o(yp)q(e)h(after)f(the)g(last)g(one)h(requested)f
(\(regardless)g(of)g(ho)o(w)g(man)o(y)g(items)g(are)p
Fl(>)e Fk(\(no)10 b(et)o(yp)q(es\))1875 2238 y Fl(?)16
b Fk(\(no)10 b(et)o(yp)q(es\))75 2236 y Fo(actually)16
b(accessed\).)k(The)c(\014le)g(p)q(oin)o(ter)f(is)h(up)q(dated)g
(relativ)o(e)g(to)f(the)g(curren)o(t)g(view)h(of)e(the)i(\014le.)166
2293 y(.)k(.)g(.)75 2410 y Ff(Seek)75 2496 y Fo(If)14
b Fa(MPI)p 196 2496 13 2 v 15 w(SEQUENTIAL)f Fo(mo)q(de)h(w)o(as)f(sp)q
(eci\014ed)j(when)f(the)f(\014le)h(w)o(as)e(op)q(ened,)i(it)f(is)h
(erroneous)e(to)h(call)h(the)75 2553 y(routines)h(in)g(this)f(section.)
75 2704 y Ff(MPI)p 160 2704 14 2 v 16 w(SEEK)p 287 2704
V 16 w(SHARED\(fh,)h(o\013set,)f(whence\))-32 46 y Fk(1)-32
103 y(2)-32 159 y(3)-32 215 y(4)-32 272 y(5)-32 328 y(6)-32
385 y(7)-32 441 y(8)-32 498 y(9)-40 554 y(10)-40 611
y(11)-40 667 y(12)-40 724 y(13)-40 780 y(14)-40 836 y(15)-40
893 y(16)-40 949 y(17)-40 1006 y(18)-40 1062 y(19)-40
1119 y(20)-40 1175 y(21)-40 1232 y(22)-40 1288 y(23)-40
1345 y(24)-40 1401 y(25)-40 1457 y(26)-40 1514 y(27)-40
1570 y(28)-40 1627 y(29)-40 1683 y(30)-40 1740 y(31)-40
1796 y(32)-40 1853 y(33)-40 1909 y(34)-40 1966 y(35)-40
2022 y(36)-40 2078 y(37)-40 2135 y(38)-40 2191 y(39)-40
2248 y(40)-40 2304 y(41)-40 2361 y(42)-40 2417 y(43)-40
2474 y(44)-40 2530 y(45)-40 2587 y(46)-40 2643 y(47)-40
2699 y(48)p eop
%%Page: 6 8
6 7 bop 75 -100 a Fo(6)1365 b Fj(CHAPTER)15 b(10.)35
b(I/O)166 49 y Fo(.)20 b(.)g(.)166 106 y(The)c Ff(o\013set)f
Fo(can)h(b)q(e)g(negativ)o(e,)f(whic)o(h)i(allo)o(ws)e(seeking)h(bac)o
(kw)o(ards.)k(It)c(is)g(erroneous)f(to)g(seek)h(to)75
162 y(a)i(negativ)o(e)g(p)q(osition)h(in)g(the)f(view.)28
b(The)19 b(end)f(of)g(the)g(view)g(is)h(de\014ned)g(to)f(b)q(e)g(the)g
(p)q(osition)h(of)f(the)75 219 y(next)d(\014leet)o(yp)q(e,)h(relativ)o
(e)g(to)f(the)g(curren)o(t)g(view,)h(follo)o(wing)f(the)h(last)f(whole)
h(\014let)o(yp)q(e)g(accessible.)-1905 b Fl(>)15 b Fk(\(no)c(et)o(yp)q
(es\))-117 277 y Fl(?)k Fk(\(no)c(et)o(yp)q(es\))75 370
y Ff(MPI)p 160 370 14 2 v 16 w(FILE)p 267 370 V 15 w(GET)p
370 370 V 17 w(POSITION)p 596 370 V 17 w(SHARED\(fh,)16
b(o\013set\))166 473 y(MPI)p 251 473 V 16 w(FILE)p 358
473 V 15 w(GET)p 461 473 V 17 w(POSITION)p 687 473 V
17 w(SHARED)c Fo(returns,)e(in)i Ff(o\013set)p Fo(,)f(the)f(curren)o(t)
h(p)q(osition)g(of)f(the)h(shared)-1992 b Fl(>)15 b Fk(\(no)c(et)o(yp)q
(es\))75 530 y Fo(\014le)16 b(p)q(oin)o(ter)g(in)g(\014let)o(yp)q(e)g
(units)g(relativ)o(e)g(to)e(the)i(curren)o(t)f(view.)-117
532 y Fl(?)g Fk(\(no)c(et)o(yp)q(es\))166 586 y Fo(.)20
b(.)g(.)75 729 y Fe(10.3)60 b(File)19 b(Interop)r(erabilit)n(y)75
831 y Fo(.)h(.)g(.)166 887 y(The)j(remaining)h(asp)q(ect)e(of)h(\014le)
g(in)o(terop)q(erabilit)o(y)l(,)k(con)o(v)o(erting)22
b(b)q(et)o(w)o(een)h(di\013eren)o(t)g(mac)o(hine)75 944
y(represen)o(tations,)h(is)f(not)f(only)h(desired,)i(but)e(also)g(w)o
(ell-supp)q(orted)h(b)o(y)e(the)h(t)o(yping)g(information)75
1000 y(sp)q(eci\014ed)c(in)f(the)f(\014let)o(yp)q(e.)26
b(This)17 b(facilit)o(y)h(allo)o(ws)f(the)g(information)g(in)h(\014les)
g(to)e(b)q(e)i(shared)f(b)q(et)o(w)o(een)-1992 b Fl(>)15
b Fk(\(no)c(et)o(yp)q(es\))-117 1059 y Fl(?)k Fk(\(no)c(et)o(yp)q(es\))
75 1057 y Fo(an)o(y)18 b(t)o(w)o(o)f(applications,)k(regardless)e(of)f
(whether)h(they)f(use)h Ff(MPI)p Fo(,)f(and)h(regardless)f(of)g(the)h
(mac)o(hine)75 1113 y(arc)o(hitectures)c(on)h(whic)o(h)g(they)f(run.)
166 1170 y(.)20 b(.)g(.)75 1291 y Fi(10.3.1)49 b(Datat)o(yp)q(es)16
b(in)h(a)g(Heterogeneous)e(Environment)75 1377 y Fo(In)f(order)e(to)h
(ensure)g(\014le)h(in)o(terop)q(erabilit)o(y)h(in)f(a)e(heterogeneous)h
(en)o(vironmen)o(t,)h(i.e.,)f(when)g(sp)q(ecifying)75
1434 y(either)18 b(in)o(ternal)h(or)e(external32)g(mo)q(de,)i(the)e
(\014let)o(yp)q(e)i(m)o(ust)e(b)q(e)h(a)g Fg(p)n(ortable)f
Fo(datat)o(yp)q(e.)27 b(A)17 b(datat)o(yp)q(e)-1992 b
Fl(>)15 b Fk(\(no)c(et)o(yp)q(es\))-117 1492 y Fl(?)k
Fk(\(no)c(et)o(yp)q(es\))75 1490 y Fo(is)18 b Fg(p)n(ortable)p
Fo(,)f(if)g(it)g(is)h(a)f(basic)g(datat)o(yp)q(e,)g(or)g(it)g(is)g
(deriv)o(ed)h(using)g(only)g(the)f(t)o(yp)q(e)g(constructors)75
1546 y Ff(MPI)p 160 1546 V 16 w(TYPE)p 293 1546 V 17
w(CONTIGUOUS)p Fo(,)23 b Ff(MPI)p 716 1546 V 16 w(TYPE)p
849 1546 V 17 w(VECTOR)p Fo(,)g Ff(MPI)p 1163 1546 V
16 w(TYPE)p 1296 1546 V 16 w(INDEXED)p Fo(,)75 1603 y
Ff(MPI)p 160 1603 V 16 w(TYPE)p 293 1603 V 17 w(INDEXED)p
505 1603 V 16 w(BLOCK)p Fo(,)15 b Ff(MPI)p 780 1603 V
16 w(TYPE)p 913 1603 V 16 w(SUBARRA)l(Y)p Fo(,)j(and)d
Ff(MPI)p 1360 1603 V 16 w(TYPE)p 1493 1603 V 17 w(D)o(ARRA)l(Y)p
Fo(.)166 1659 y(.)20 b(.)g(.)75 1781 y Fi(10.3.2)49 b(User)16
b(De\014ned)g(Data)g(Rep)o(resentations)75 1867 y Fh(This)i(section)g
(is)g(in)g(\015ux,)e(so)i(I)f(did)h(not)g(attempt)g(to)g(detail)h(the)f
(c)o(hanges)f(necessary)l(.)75 2010 y Fe(10.4)60 b(Consistency)20
b(and)g(Semantics)75 2113 y Fi(10.4.1)49 b(Random)17
b(Access)e(vs.)22 b(Sequential)16 b(Files)75 2199 y Ff(MPI)h
Fo(distinguishes)i(ordinary)f(random)e(access)i(\014les)g(from)f
(sequen)o(tial)h(stream)f(\014les,)h(suc)o(h)g(as)e(pip)q(es)75
2256 y(and)h(tap)q(e)h(\014les.)27 b(Sequen)o(tial)19
b(stream)d(\014les)i(m)o(ust)f(b)q(e)h(op)q(ened)h(with)e(the)h
Fa(MPI)p 1451 2256 13 2 v 14 w(SEQUENTIAL)e Fo(\015ag)h(set)75
2312 y(in)k(the)f(amo)q(de.)34 b(F)l(or)19 b(these)i(\014les,)g(the)f
(only)h(p)q(ermitted)g(data)e(access)h(op)q(erations)g(are)g(shared)g
(\014le)75 2368 y(p)q(oin)o(ter)g(reads)f(and)g(writes.)32
b(Filet)o(yp)q(es)20 b(with)f(holes)h(are)f(erroneous.)31
b(In)20 b(addition,)h(the)e(notion)g(of)-1992 b Fl(>)15
b Fk(\(no)c(et)o(yp)q(es\))-117 2427 y Fl(?)k Fk(\(no)c(et)o(yp)q(es\))
75 2425 y Fo(\014le)22 b(p)q(oin)o(ter)f(is)h(not)e(meaningful;)25
b(therefore,)c(calls)h(to)e Ff(MPI)p 1172 2425 14 2 v
16 w(SEEK)p 1299 2425 V 17 w(SHARED)h Fo(and)75 2481
y Ff(MPI)p 160 2481 V 16 w(FILE)p 267 2481 V 15 w(GET)p
370 2481 V 17 w(POSITION)p 596 2481 V 17 w(SHARED)f Fo(are)e
(erroneous,)g(and)h(the)f(p)q(oin)o(ter)h(up)q(date)g(rules)g(sp)q
(eci\014ed)75 2538 y(for)e(the)g(data)g(access)g(routines)h(do)g(not)f
(apply)l(.)27 b(The)18 b(amoun)o(t)e(of)h(data)g(accessed)h(b)o(y)f(a)g
(data)g(access)75 2594 y(op)q(eration)c(will)h(b)q(e)f(the)g(amoun)o(t)
f(requested)h(unless)h(the)f(end-of-\014le)h(is)f(reac)o(hed)g(or)f(an)
h(error)f(is)h(raised.)166 2651 y(.)20 b(.)g(.)1967 46
y Fk(1)1967 103 y(2)1967 159 y(3)1967 215 y(4)1967 272
y(5)1967 328 y(6)1967 385 y(7)1967 441 y(8)1967 498 y(9)1959
554 y(10)1959 611 y(11)1959 667 y(12)1959 724 y(13)1959
780 y(14)1959 836 y(15)1959 893 y(16)1959 949 y(17)1959
1006 y(18)1959 1062 y(19)1959 1119 y(20)1959 1175 y(21)1959
1232 y(22)1959 1288 y(23)1959 1345 y(24)1959 1401 y(25)1959
1457 y(26)1959 1514 y(27)1959 1570 y(28)1959 1627 y(29)1959
1683 y(30)1959 1740 y(31)1959 1796 y(32)1959 1853 y(33)1959
1909 y(34)1959 1966 y(35)1959 2022 y(36)1959 2078 y(37)1959
2135 y(38)1959 2191 y(39)1959 2248 y(40)1959 2304 y(41)1959
2361 y(42)1959 2417 y(43)1959 2474 y(44)1959 2530 y(45)1959
2587 y(46)1959 2643 y(47)1959 2699 y(48)p eop
%%Page: 7 9
7 8 bop 75 -100 a Fj(10.5.)34 b(FILETYPE)15 b(CONSTR)o(UCTORS)1014
b Fo(7)75 49 y Fi(10.4.2)49 b(T)l(yp)q(e)17 b(Matching)75
135 y Fo(The)h(t)o(yp)q(e)h(matc)o(hing)f(rules)h(for)e(I/O)i(mimic)g
(the)g(t)o(yp)q(e)f(matc)o(hing)g(rules)h(for)f(comm)o(unication)h
(with)75 192 y(one)c(exception:)21 b(the)16 b(t)o(yp)q(e)f
Fa(MPI)p 637 192 13 2 v 14 w(BYTE)g Fo(matc)o(hes)g(an)o(y)f(t)o(yp)q
(e)i(in)g(a)f(data)f(access.)20 b(In)c(general,)g(the)f(t)o(yp)q(e)p
Fl(>)h Fk(\(no)10 b(et)o(yp)q(es\))75 248 y Fo(of)j(data)h(items)g
(written)g(m)o(ust)f(matc)o(h)g(the)h(t)o(yp)q(e)g(used)g(to)g(read)f
(the)h(items,)g(and)g(for)g(eac)o(h)g(data)f(access)75
304 y(op)q(eration,)22 b(the)f(curren)o(t)g(\014let)o(yp)q(e)i(m)o(ust)
d(also)h(matc)o(h)g(the)g(t)o(yp)q(e)g(declaration)h(of)e(the)h(data)g
(access)75 361 y(bu\013er.)k(A)18 b(\014let)o(yp)q(e)g(or)e(data)h
(access)g(bu\013er)g(t)o(yp)q(e)g(constructed)g(en)o(tirely)h(from)f
Fa(MPI)p 1577 361 V 14 w(BYTE)f Fo(matc)o(hes)75 417
y(all)g(t)o(yp)q(es.)1619 b Fl(?)16 b Fk(\(no)10 b(et)o(yp)q(es\))166
474 y Fo(.)20 b(.)g(.)75 596 y Fi(10.4.3)49 b(Miscellaneous)18
b(Cla)o(ri\014cations)75 681 y Fo(Once)g(an)f(I/O)g(routine)g
(completes,)h(it)f(is)g(safe)g(to)f(free)h(an)o(y)f(opaque)h(ob)s
(jects)f(passed)h(as)g(argumen)o(ts)75 738 y(to)c(that)g(routine.)20
b(F)l(or)12 b(example,)j(the)e Ff(comm)f Fo(and)i Ff(info)f
Fo(used)h(in)h(an)e Ff(MPI)p 1345 738 14 2 v 16 w(OPEN)p
Fo(,)h(or)f(the)g Ff(\014let)o(yp)q(e)i Fo(used)q Fl(>)h
Fk(\(no)10 b(et)o(yp)q(es\))1875 796 y Fl(?)16 b Fk(\(no)10
b(et)o(yp)q(es\))75 794 y Fo(in)16 b(an)g Ff(MPI)p 277
794 V 16 w(FILE)p 384 794 V 15 w(SET)p 482 794 V 17 w(VIEW)p
Fo(,)f(can)h(b)q(e)h(freed)e(without)h(a\013ecting)g(access)f(to)g(the)
h(\014le.)22 b(Note)16 b(that)f(for)75 851 y(non-blo)q(c)o(king)20
b(routines)f(and)f(split)i(collectiv)o(e)g(op)q(erations,)f(the)f(op)q
(eration)h(m)o(ust)f(b)q(e)h(\\completed")75 907 y(b)q(efore)c(it)h(is)
g(safe)f(to)f(reuse)i(data)e(bu\013ers)h(passed)h(as)f(parameters.)166
964 y(As)k(in)h(comm)o(unication,)g(datat)o(yp)q(es)e(m)o(ust)h(b)q(e)g
(committed)g(b)q(efore)h(they)f(can)g(b)q(e)h(used)f(in)h(\014le)75
1020 y(manipulation)14 b(or)d(data)g(access)i(op)q(erations.)18
b(F)l(or)12 b(example,)h(the)f Ff(\014let)o(yp)q(e)h
Fo(m)o(ust)f(b)q(e)h(committed)f(b)q(efore)p Fl(>)k Fk(\(no)10
b(et)o(yp)q(es\))1875 1079 y Fl(?)16 b Fk(\(no)10 b(et)o(yp)q(es\))75
1077 y Fo(calling)j Ff(MPI)p 300 1077 V 16 w(FILE)p 407
1077 V 16 w(SET)p 506 1077 V 17 w(VIEW)p Fo(,)e(and)h(the)g
Ff(datat)o(yp)q(e)h Fo(m)o(ust)e(b)q(e)h(committed)g(b)q(efore)g
(calling)i Ff(MPI)p 1743 1077 V 15 w(READ)75 1133 y Fo(or)h
Ff(MPI)p 216 1133 V 15 w(WRITE)p Fo(.)75 1276 y Fe(10.5)60
b(Filet)n(yp)r(e)19 b(Constructo)n(rs)75 1379 y Fi(10.5.1)49
b(Distributed)16 b(Arra)o(y)g(Filet)o(yp)q(e)g(Constructo)o(rs)75
1465 y Fo(.)k(.)g(.)189 1571 y Fg(A)n(dvic)n(e)11 b(to)h(users.)37
b Fo(One)12 b(can)f(create)f(an)h(HPF-lik)o(e)g(\014le)h(view)g(using)f
(these)g(\014let)o(yp)q(e)h(constructors)189 1628 y(as)k(follo)o(ws.)26
b(Complemen)o(tary)17 b(\014let)o(yp)q(es)h(are)f(created)h(b)o(y)f(ha)
o(ving)g(ev)o(ery)g(pro)q(cess)h(of)e(a)h(group)189 1684
y(call)f(a)g(constructor)e(with)i(iden)o(tical)i(argumen)o(ts)d(\(with)
g(the)h(exception)h(of)e Ff(rank)g Fo(whic)o(h)i(should)189
1741 y(b)q(e)j(set)g(appropriately\).)35 b(These)21 b(\014let)o(yp)q
(es)g(\(along)f(with)g(iden)o(tical)j Ff(disp)p Fo(\))e(are)e(then)i
(used)g(to)o Fl(>)16 b Fk(\(no)10 b(et)o(yp)q(es\))189
1797 y Fo(de\014ne)18 b(the)g(view)g(\(via)f Ff(MPI)p
689 1797 V 16 w(FILE)p 796 1797 V 16 w(SET)p 895 1797
V 17 w(VIEW)p Fo(\).)f(Using)i(this)g(view,)h(a)e(collectiv)o(e)i(data)
e(access)1875 1799 y Fl(?)f Fk(\(no)10 b(et)o(yp)q(es\))189
1854 y Fo(op)q(eration)k(\(with)h(iden)o(tical)h(o\013sets\))d(will)k
(yield)f(an)e(HPF-lik)o(e)i(distribution)g(pattern.)j(\()p
Fg(End)c(of)189 1910 y(advic)n(e)h(to)g(users.)p Fo(\))166
2016 y(.)k(.)g(.)-32 46 y Fk(1)-32 103 y(2)-32 159 y(3)-32
215 y(4)-32 272 y(5)-32 328 y(6)-32 385 y(7)-32 441 y(8)-32
498 y(9)-40 554 y(10)-40 611 y(11)-40 667 y(12)-40 724
y(13)-40 780 y(14)-40 836 y(15)-40 893 y(16)-40 949 y(17)-40
1006 y(18)-40 1062 y(19)-40 1119 y(20)-40 1175 y(21)-40
1232 y(22)-40 1288 y(23)-40 1345 y(24)-40 1401 y(25)-40
1457 y(26)-40 1514 y(27)-40 1570 y(28)-40 1627 y(29)-40
1683 y(30)-40 1740 y(31)-40 1796 y(32)-40 1853 y(33)-40
1909 y(34)-40 1966 y(35)-40 2022 y(36)-40 2078 y(37)-40
2135 y(38)-40 2191 y(39)-40 2248 y(40)-40 2304 y(41)-40
2361 y(42)-40 2417 y(43)-40 2474 y(44)-40 2530 y(45)-40
2587 y(46)-40 2643 y(47)-40 2699 y(48)p eop
%%Trailer
end
userdict /end-hook known{end-hook}if
%%EOF