Caltech Proposal

(no name) (jwatts@scp.caltech.edu)
Fri, 15 Mar 1996 19:17:46 -0800

Enclosed is a Postscript file containing the MPI-2 real-time chapter that
Steve Taylor and I put forward to get the ball rolling on the specifics of
the interface. Comments and flames are encouraged. :)

--Jerrell

***CUT HERE***
%!PS-Adobe-2.0
%%Creator: dvips 5.519 Copyright 1986, 1993 Radical Eye Software
%%Title: proposal.dvi
%%CreationDate: Fri Mar 15 19:14:45 1996
%%Pages: 9
%%PageOrder: Ascend
%%BoundingBox: 0 0 612 792
%%EndComments
%DVIPSCommandLine: dvips proposal.dvi
%DVIPSSource: TeX output 1996.03.15:1914
%%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 4 get round 4 exch put dup dup 5 get
round 5 exch put setmatrix}N /@landscape{/isls true N}B /@manualfeed{
statusdict /manualfeed true put}B /@copies{/#copies X}B /FMat[1 0 0 -1 0
0]N /FBB[0 0 0 0]N /nn 0 N /IE 0 N /ctr 0 N /df-tail{/nn 8 dict N nn
begin /FontType 3 N /FontMatrix fntrx N /FontBBox FBB N string /base X
array /BitMaps X /BuildChar{CharBuilder}N /Encoding IE N end dup{/foo
setfont}2 array copy cvx N load 0 nn put /ctr 0 N[}B /df{/sf 1 N /fntrx
FMat N df-tail}B /dfs{div /sf X /fntrx[sf 0 0 sf neg 0 0]N df-tail}B /E{
pop nn dup definefont setfont}B /ch-width{ch-data dup length 5 sub get}
B /ch-height{ch-data dup length 4 sub get}B /ch-xoff{128 ch-data dup
length 3 sub get sub}B /ch-yoff{ch-data dup length 2 sub get 127 sub}B
/ch-dx{ch-data dup length 1 sub get}B /ch-image{ch-data dup type
/stringtype ne{ctr get /ctr ctr 1 add N}if}B /id 0 N /rw 0 N /rc 0 N /gp
0 N /cp 0 N /G 0 N /sf 0 N /CharBuilder{save 3 1 roll S dup /base get 2
index get S /BitMaps get S get /ch-data X pop /ctr 0 N ch-dx 0 ch-xoff
ch-yoff ch-height sub ch-xoff ch-width add ch-yoff setcachedevice
ch-width ch-height true[1 0 0 -1 -.1 ch-xoff sub ch-yoff .1 add]{
ch-image}imagemask restore}B /D{/cc X dup type /stringtype ne{]}if nn
/base get cc ctr put nn /BitMaps get S ctr S sf 1 ne{dup dup length 1
sub dup 2 index S get sf div put}if put /ctr ctr 1 add N}B /I{cc 1 add D
}B /bop{userdict /bop-hook known{bop-hook}if /SI save N @rigin 0 0
moveto /V matrix currentmatrix dup 1 get dup mul exch 0 get dup mul add
.99 lt{/QV}{/RV}ifelse load def pop pop}N /eop{SI restore showpage
userdict /eop-hook known{eop-hook}if}N /@start{userdict /start-hook
known{start-hook}if pop /VResolution X /Resolution X 1000 div /DVImag X
/IE 256 array N 0 1 255{IE S 1 string dup 0 3 index put cvn put}for
65781.76 div /vsize X 65781.76 div /hsize X}N /p{show}N /RMat[1 0 0 -1 0
0]N /BDot 260 string N /rulex 0 N /ruley 0 N /v{/ruley X /rulex X V}B /V
{}B /RV statusdict begin /product where{pop product dup length 7 ge{0 7
getinterval dup(Display)eq exch 0 4 getinterval(NeXT)eq or}{pop false}
ifelse}{false}ifelse end{{gsave TR -.1 -.1 TR 1 1 scale rulex ruley
false RMat{BDot}imagemask grestore}}{{gsave TR -.1 -.1 TR rulex ruley
scale 1 1 false RMat{BDot}imagemask grestore}}ifelse B /QV{gsave
transform round exch round exch itransform moveto rulex 0 rlineto 0
ruley neg rlineto rulex neg 0 rlineto fill grestore}B /a{moveto}B /delta
0 N /tail{dup /delta X 0 rmoveto}B /M{S p delta add tail}B /b{S p tail}
B /c{-4 M}B /d{-3 M}B /e{-2 M}B /f{-1 M}B /g{0 M}B /h{1 M}B /i{2 M}B /j{
3 M}B /k{4 M}B /w{0 rmoveto}B /l{p -4 w}B /m{p -3 w}B /n{p -2 w}B /o{p
-1 w}B /q{p 1 w}B /r{p 2 w}B /s{p 3 w}B /t{p 4 w}B /x{0 S rmoveto}B /y{
3 2 roll p a}B /bos{/SS save N}B /eos{SS restore}B end
%%EndProcSet
TeXDict begin 40258431 52099146 1000 300 300
(/vortex8/jwatts/mpi-rt/proposal/proposal.dvi) @start
/Fa 10 58 df<1F00318060C04040C060C060C060C060C060C060C060C060404060C031
801F000B107F8F0F>48 D<0C003C00CC000C000C000C000C000C000C000C000C000C000C
000C000C00FF8009107E8F0F>I<1F00618040C08060C0600060006000C0018003000600
0C00102020207FC0FFC00B107F8F0F>I<1F00218060C060C000C0008001800F00008000
400060C060C060804060801F000B107F8F0F>I<0300030007000F000B00130033002300
4300C300FFE003000300030003001FE00B107F8F0F>I<20803F002C002000200020002F
0030802040006000600060C06080C061801F000B107F8F0F>I<0780184030C060C06000
C000CF00F080E040C060C060C060406060C030801F000B107F8F0F>I<40007FE07FC080
80808001000200040004000C0008000800180018001800180018000B117E900F>I<1F00
318060C060C060C071803F000F00338061C0C060C060C060404060801F000B107F8F0F>
I<1F00318060C0C040C060C060C06040E021E01E600060004060C0608043003E000B107F
8F0F>I E /Fb 31 122 df<007E1F0001C1B1800303E3C00703C3C00E03C1800E01C000
0E01C0000E01C0000E01C0000E01C0000E01C000FFFFFC000E01C0000E01C0000E01C000
0E01C0000E01C0000E01C0000E01C0000E01C0000E01C0000E01C0000E01C0000E01C000
0E01C0000E01C0000E01C0000E01C0007F87FC001A1D809C18>11
D<FFF00F000F000F000F000F000F000F000F000F000F000F000F000F000F000F000F000F
000F000F000F000F000F000F000F000F000F00FFF00C1C7F9B0F>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
00001C00001C00001C00001C00001C00001C00001C00001C00001C00001C00001C3FC01C
0F001C0C001C08001C10001C20001C40001CE0001DE0001E70001C78001C38001C3C001C
1C001C0E001C0F001C0F80FF9FE0131D7F9C16>I<FC001C001C001C001C001C001C001C
001C001C001C001C001C001C001C001C001C001C001C001C001C001C001C001C001C001C
001C001C00FF80091D7F9C0C>I<FC7E07E0001C838838001D019018001E01E01C001C01
C01C001C01C01C001C01C01C001C01C01C001C01C01C001C01C01C001C01C01C001C01C0
1C001C01C01C001C01C01C001C01C01C001C01C01C001C01C01C00FF8FF8FF8021127F91
24>I<FC7C001C87001D03001E03801C03801C03801C03801C03801C03801C03801C0380
1C03801C03801C03801C03801C03801C0380FF9FF014127F9117>I<03F0000E1C001806
00300300700380600180E001C0E001C0E001C0E001C0E001C0E001C06001807003803003
001806000E1C0003F00012127F9115>I<FC7C001D86001E03001C01801C01C01C00C01C
00E01C00E01C00E01C00E01C00E01C00E01C01C01C01C01C01801E03001D06001CF8001C
00001C00001C00001C00001C00001C00001C0000FF8000131A7F9117>I<03C1000C3300
180B00300F00700700700700E00700E00700E00700E00700E00700E00700600700700700
300F00180F000C370007C700000700000700000700000700000700000700000700003FE0
131A7E9116>I<FCE01D301E781E781C301C001C001C001C001C001C001C001C001C001C
001C001C00FFC00D127F9110>I<1F9030704030C010C010E010F8007F803FE00FF000F8
80388018C018C018E010D0608FC00D127F9110>I<04000400040004000C000C001C003C
00FFE01C001C001C001C001C001C001C001C001C001C101C101C101C101C100C100E2003
C00C1A7F9910>I<FC1F801C03801C03801C03801C03801C03801C03801C03801C03801C
03801C03801C03801C03801C03801C07800C07800E1B8003E3F014127F9117>I<FF07E0
3C03801C01001C01000E02000E020007040007040007040003880003880003D80001D000
01D00000E00000E00000E00000400013127F9116>I<FF3FCFE03C0F03801C0701801C07
01001C0B01000E0B82000E0B82000E1182000711C4000711C4000720C40003A0E80003A0
E80003C0680001C0700001C0700001803000008020001B127F911E>I<7F8FF00F03800F
030007020003840001C80001D80000F00000700000780000F800009C00010E00020E0006
07000403801E07C0FF0FF81512809116>I<FF07E03C03801C01001C01000E02000E0200
07040007040007040003880003880003D80001D00001D00000E00000E00000E000004000
004000008000008000F08000F10000F300006600003C0000131A7F9116>I
E /Fc 29 122 df<FFE0FFE0FFE00B037F8C10>45 D<F0F0F0F004047B830E>I<00C001
C007C0FFC0FFC0FBC003C003C003C003C003C003C003C003C003C003C003C003C003C003
C003C003C003C003C003C003C003C003C003C003C003C0FFFFFFFFFFFF10227CA118>49
D<03F0000FFC001FFE003C1F003007807007C06003C0E003E0C001E04001E04001E00001
E00001E00001E00003C00003C0000780000780000F00001E00003C0000780000F00001E0
0001C0000380000700000E00001C0000380000700000FFFFE0FFFFE0FFFFE013227EA118
>I<01F00007FC001FFF003E0F003807807003C02003C02003C00003C00003C00003C000
0780000780000F00001E0003FC0003F80003FE00000F000007800003C00003C00001E000
01E00001E00001E00001E08001E0C003C0E003C07007803C0F801FFF000FFC0003F00013
237EA118>I<001F00001F00002F00002F00006F0000EF0000CF0001CF0001CF00038F00
038F00078F00070F000F0F000E0F001E0F003C0F003C0F00780F00780F00F00F00FFFFF8
FFFFF8FFFFF8000F00000F00000F00000F00000F00000F00000F00000F00000F0015217F
A018>I<FFFC00FFFF80FFFFC0F007F0F001F0F00078F0003CF0003CF0003CF0003CF000
3CF00038F00078F000F0F003E0FFFFC0FFFF00FFFFC0F00FE0F001F8F00078F0003CF000
1CF0001EF0001EF0001EF0001EF0001EF0003CF0007CF000F8F003F0FFFFE0FFFFC0FFFE
0017237BA220>66 D<000FF000007FFC0000FFFF0001F01F0003C00700078000000F0000
001E0000003E0000003C0000003C000000780000007800000078000000F0000000F00000
00F0000000F0000000F0000000F0000000F0000000F0000000F000000078000000780000
00780000003C0000003C0000003E0000001E0000000F0000000780008003C0038001F00F
8000FFFF00007FFC00000FF00019257DA31F>I<F0001EF0001EF0001EF0001EF0001EF0
001EF0001EF0001EF0001EF0001EF0001EF0001EF0001EF0001EF0001EFFFFFEFFFFFEFF
FFFEF0001EF0001EF0001EF0001EF0001EF0001EF0001EF0001EF0001EF0001EF0001EF0
001EF0001EF0001EF0001EF0001EF0001E17237BA222>72 D<FC00007EFE0000FEFE0000
FEFE0000FEF70001DEF70001DEF70001DEF78003DEF380039EF380039EF3C0079EF3C007
9EF1C0071EF1C0071EF1E00F1EF0E00E1EF0E00E1EF0F01E1EF0F01E1EF0701C1EF0783C
1EF0783C1EF038381EF03C781EF03C781EF01C701EF01C701EF01EF01EF00EE01EF00EE0
1EF00FE01EF007C01EF007C01EF007C01EF000001E1F237BA22A>77
D<FC001EFE001EFE001EFE001EF7001EF7001EF3801EF3801EF3C01EF1C01EF1C01EF1E0
1EF0E01EF0F01EF0F01EF0781EF0781EF0381EF03C1EF03C1EF01E1EF01E1EF00E1EF00F
1EF0071EF0071EF0079EF0039EF0039EF001DEF001DEF000FEF000FEF000FEF0007E1723
7BA222>I<FFFE00FFFF80FFFFC0F003E0F000F0F00078F00078F0003CF0003CF0003CF0
003CF0003CF0003CF00078F00078F000F0F003E0FFFFC0FFFF80FFFE00F00000F00000F0
0000F00000F00000F00000F00000F00000F00000F00000F00000F00000F00000F00000F0
000016237BA21F>80 D<07E01FF83FFC381E201E000F000F000F000F00FF07FF1FFF3E0F
780FF00FF00FF00FF00FF83F7FFF3FEF1F8F10167E9517>97 D<F00000F00000F00000F0
0000F00000F00000F00000F00000F00000F00000F00000F00000F00000F1F000F7FC00FF
FE00FC1F00F80F00F00780F00780F003C0F003C0F003C0F003C0F003C0F003C0F003C0F0
03C0F00780F00780F80F00FC3E00FFFE00F7F800F1F00012237CA219>I<01FC0007FF00
0FFF801F03803C0180780000780000700000F00000F00000F00000F00000F00000F00000
7800007800007800003C00401F03C00FFFC007FF8001FC0012167E9516>I<0003C00003
C00003C00003C00003C00003C00003C00003C00003C00003C00003C00003C00003C003E3
C00FFBC01FFFC03F0FC03C07C07803C07803C0F003C0F003C0F003C0F003C0F003C0F003
C0F003C0F003C07803C07803C03C07C03E0FC01FFFC00FFBC003E3C012237EA219>I<03
F00007FC001FFE003E0F003C0780780380780380F001C0FFFFC0FFFFC0FFFFC0F00000F0
0000F000007000007800007800003C00801F07800FFF8007FF0001F80012167E9516>I<
01F07807FFF80FFFF81F1F001E0F003C07803C07803C07803C07803C07801E0F001F1F00
0FFE001FFC0019F0003800003800003C00001FFE001FFFC01FFFE03FFFF07801F07800F8
F00078F00078F00078F000787800F03E03E01FFFC00FFF8001FC0015217F9518>103
D<F0F0F0F0000000000000000000F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0
04237DA20B>105 D<F00000F00000F00000F00000F00000F00000F00000F00000F00000
F00000F00000F00000F00000F01F80F03F00F03E00F07C00F0F800F1F000F3E000F7C000
FFC000FFC000FFE000FFE000FDF000F8F800F07800F07C00F03E00F01E00F01F00F00F00
F00F80F007C012237CA218>107 D<F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0
F0F0F0F0F0F0F0F0F0F0F0F0F0F004237DA20B>I<F0F807C0F3FE1FF0F7FF3FF8FE0F70
78FC0FE07CF807C03CF807C03CF007803CF007803CF007803CF007803CF007803CF00780
3CF007803CF007803CF007803CF007803CF007803CF007803CF007803CF007803CF00780
3C1E167C9529>I<F1F8F3FCF7FEFE1EF80FF80FF00FF00FF00FF00FF00FF00FF00FF00F
F00FF00FF00FF00FF00FF00FF00FF00F10167C9519>I<01FC0007FF000FFF801F07C03C
01E07800F07800F0700070F00078F00078F00078F00078F00078F000787800F07800F07C
01F03E03E01F07C00FFF8007FF0001FC0015167F9518>I<F0E0F3E0F7E0FF00FE00FC00
F800F800F000F000F000F000F000F000F000F000F000F000F000F000F000F0000B167C95
11>114 D<07F01FFC3FFE3C0E7806780078007C003F003FF01FF80FFC01FE001F000F00
0F000FC00FF81EFFFE3FFC0FF010167F9513>I<0F000F000F000F000F000F00FFF8FFF8
FFF80F000F000F000F000F000F000F000F000F000F000F000F000F000F000F080F1C07FC
07F803E00E1C7F9B12>I<F00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF0
0FF00FF00FF00FF00FF01FF83F7FFF7FCF1F0F10167C9519>I<F001E0F001E07803C078
03C07C03C03C07803C07801E07801E07001E0F000F0F000F0E00071E00079E00039C0003
9C00039C0001980001D80000F80000F00000F00000F00000E00000E00001E00001C00001
C0000380007F80007F00007E000013207F9516>121 D E /Fd 27
90 df<1C3E7E7E3A0202040408081020C0070E7D840D>44 D<FFC0FFC00A027D8A0F>I<
3078F8787005057C840D>I<000C001C00FC0F3800380038003800380038007000700070
00700070007000E000E000E000E000E000E001C001C001C001C001C001C0038003C0FFFE
0F1E7C9D17>49 D<003F8000C1E00100F00200780400780400780F007C0F807C0F807C0F
00780600780000F80000F00001E00001C0000380000700000E00001C0000380000600000
C0000180000300200600200800401000403FFFC07FFF80FFFF80161E7E9D17>I<000060
0000600000E00001C00003C00005C0000DC00009C00011C000238000438000C380008380
010380020380040700080700180700100700200700400700FFFFF0000E00000E00000E00
000E00000E00001C00001E0001FFE0141E7E9D17>52 D<2000003FFFE07FFFC07FFF8040
0100C0020080020080040000080000100000200000400000400000800001800003000003
00000700000600000E00000E00001E00001C00001C00003C00003C00003C000078000078
0000780000300000131F799D17>55 D<0000100000001800000038000000380000007800
000078000000FC000001BC0000013C0000033C0000023C0000063C0000043E0000081E00
00081E0000101E0000101E0000201E0000200F0000400F0000400F0000FFFF0000800F00
01000F8001000780020007800200078004000780040007800C0007C03E0007C0FF807FFC
1E207E9F22>65 D<07FFFF00007C01C0003C01E0003C00F0007800F8007800F8007800F8
007800F8007800F8007800F000F001F000F001E000F003C000F00F8000FFFE0000F00F00
01E007C001E003C001E003E001E001E001E001E001E001E003C001E003C003E003C003E0
03C003C003C007C003C00F8007800F0007803E00FFFFF0001D1F7E9E20>I<0001F80800
0E061800380138007000F801E0007803C0007007800030078000300F0000301F0000301E
0000303E0000203C0000007C0000007C0000007C0000007C000000F8000000F8000000F8
000000F8000000F80000007800004078000080780000803C0000803C0001001C0002000E
00020006000C000300100001C0E000003F00001D217B9F21>I<07FFFF00007C01E0003C
00F0003C00780078003C0078003C0078001E0078001E0078001E0078001F00F0001F00F0
001F00F0001F00F0001F00F0001F00F0001F01E0001E01E0003E01E0003E01E0003E01E0
003C01E0007C03C0007803C000F003C000F003C001E003C003C003C0078007800F000780
3C00FFFFE000201F7E9E23>I<07FFFFF8007C0078003C0038003C001800780018007800
080078000800780008007800080078080800F0100000F0100000F0100000F0300000FFF0
0000F0700001E0200001E0200001E0200001E0200001E0000801E0001003C0001003C000
1003C0002003C0002003C0006003C000C0078001C0078007C0FFFFFF801D1F7E9E1F>I<
07FFFFF8007C0078003C0038003C00180078001800780008007800080078000800780008
0078000800F0100000F0100000F0100000F0300000F0700000FFF00001E0600001E02000
01E0200001E0200001E0200001E0000003C0000003C0000003C0000003C0000003C00000
03C000000780000007C00000FFFE00001D1F7E9E1E>I<07FFC7FFC0007C00F800003C00
7800003C007800007800F000007800F000007800F000007800F000007800F000007800F0
0000F001E00000F001E00000F001E00000F001E00000FFFFE00000F001E00001E003C000
01E003C00001E003C00001E003C00001E003C00001E003C00003C007800003C007800003
C007800003C007800003C007800003C007800007800F000007C00F8000FFF8FFF800221F
7E9E22>72 D<07FFE0007C00003C00003C00007800007800007800007800007800007800
00F00000F00000F00000F00000F00000F00001E00001E00001E00001E00001E00001E000
03C00003C00003C00003C00003C00003C00007800007C000FFFC00131F7F9E10>I<07FF
F000007E0000003C0000003C000000780000007800000078000000780000007800000078
000000F0000000F0000000F0000000F0000000F0000000F0000001E0000001E0000001E0
000001E0000001E0008001E0010003C0010003C0010003C0030003C0020003C0060003C0
060007801E0007807C00FFFFFC00191F7E9E1C>76 D<07FC0000FFC0007C0000F800003C
00017800003C00017800004E0002F000004E0002F000004E0004F000004E0004F000004E
0008F000004E0008F00000870011E00000870011E00000870021E00000870021E0000087
0041E00000838041E00001038083C00001038083C00001038103C00001038203C0000101
C203C0000101C403C0000201C40780000201C80780000201C80780000201D00780000200
F00780000600E00780000600E00F00000F00C00F8000FFE0C1FFF8002A1F7E9E2A>I<07
FC01FFC0003E003E00003E001800003E001800004F001000004F00100000478010000047
8010000043C010000043C010000083C020000081E020000081E020000080F020000080F0
20000080782000010078400001007C400001003C400001003C400001001E400001001E40
0002000F800002000F800002000F80000200078000020007800006000380000600030000
0F00010000FFE0010000221F7E9E22>I<0003F800001E0E000038070000E0038001C001
C003C001E0078000E00F0000F00F0000F01E0000F01E0000F83E0000F83C0000F87C0000
F87C0000F87C0000F87C0000F8F80001F0F80001F0F80001F0F80001F0F80003E0780003
E0780003C0780007C07C0007803C000F003C001E001E001C000E0038000700F00003C3C0
0000FE00001D217B9F23>I<07FFFF00007C03C0003C01E0003C00F0007800F0007800F8
007800F8007800F8007800F8007800F000F001F000F001E000F003C000F0078000F00F00
00FFF80001E0000001E0000001E0000001E0000001E0000001E0000003C0000003C00000
03C0000003C0000003C0000003C000000780000007C00000FFFC00001D1F7E9E1F>I<07
FFFC00007C0700003C03C0003C01E0007801E0007801F0007801F0007801F0007801F000
7801E000F003E000F003C000F0078000F00F0000F03C0000FFF00001E0300001E0380001
E01C0001E01C0001E01C0001E01E0003C03E0003C03E0003C03E0003C03E0003C03E0003
C03E0207803E0407C01F04FFFC0F18000003E01F207E9E21>82 D<003F040060CC01803C
03801C03001C0700180600080E00080E00080E00080E00000F00000F80000FE00007FE00
03FF8001FFC0007FE00007E00001E00000E00000F00000F04000E04000E04000E04000E0
6000C0600180E00380F80300C60C0081F80016217D9F19>I<3FFFFFF03C0780F0300780
3060078030400F0010400F0010C00F0010800F0010800F0010800F0010001E0000001E00
00001E0000001E0000001E0000001E0000003C0000003C0000003C0000003C0000003C00
00003C000000780000007800000078000000780000007800000078000000F0000001F800
007FFFE0001C1F7A9E21>I<FFFC3FF80F8007C007800300078003000F0002000F000200
0F0002000F0002000F0002000F0002001E0004001E0004001E0004001E0004001E000400
1E0004003C0008003C0008003C0008003C0008003C0008003C0008003800100038001000
38001000380020003C0040001C0040001C0080000E0100000706000001F800001D20799E
22>I<FFF003FE1F8000F80F0000600F0000400F0000400F800080078001800780010007
8002000780020007C0040003C0040003C0080003C0080003C0100003E0100001E0200001
E0200001E0400001E0400001F0800000F1000000F1000000F2000000F2000000FC000000
7C000000780000007800000070000000700000002000001F207A9E22>I<03FFC0FFC000
7F007E00003E003800001E003000001E002000000F004000000F008000000F8100000007
8200000007C600000003C400000003E800000001F000000001F000000000F000000000F8
00000000F8000000017C000000023C000000043C0000000C1E000000081E000000101F00
0000200F000000400F800000C0078000008007C000010003C000070003E0001F8007E000
FFE01FFE00221F7F9E22>88 D<FFF003FF1F8000F80F0000600F8000400780008007C001
8003C0010003E0020001E0040001F00C0001F0080000F0100000F8200000786000007C40
00003C8000003F0000001F0000001E0000001E0000001E0000001C0000003C0000003C00
00003C0000003C0000003C00000038000000780000007C00000FFFC000201F7A9E22>I
E /Fe 1 16 df<03C00FF01FF83FFC7FFE7FFEFFFFFFFFFFFFFFFFFFFFFFFF7FFE7FFE3F
FC1FF80FF003C010127D9317>15 D E /Ff 55 122 df<00F8F001F8F003F8F00780F007
00F00F00F00F00F00F00F00F00F00F00F00F00F00F00F0FFF8F0FFF8F0FFF8F00F00F00F
00F00F00F00F00F00F00F00F00F00F00F00F00F00F00F00F00F00F00F00F00F00F00F00F
00F00F00F00F00F00F00F01420809F18>13 D<007000E001C00380078007000E001E001E
003C003C003C0078007800780078007000F000F000F000F000F000F000F000F000F000F0
00F000F000700078007800780078003C003C003C001E001E000E0007000780038001C000
E000700C2E7EA112>40 D<E000700038001C001E000E0007000780078003C003C003C001
E001E001E001E000E000F000F000F000F000F000F000F000F000F000F000F000F000E001
E001E001E001E003C003C003C00780078007000E001E001C0038007000E0000C2E7DA112
>I<787878781830306060E0050A7D830D>44 D<FFC0FFC0FFC00A037F8B0F>I<00010003
0003000600060006000C000C000C00180018001800300030003000600060006000C000C0
00C00180018001800300030003000600060006000C000C000C0018001800180030003000
3000600060006000C000C000C000102D7DA117>47 D<00C001C00FC0FFC0FFC0F3C003C0
03C003C003C003C003C003C003C003C003C003C003C003C003C003C003C003C003C003C0
03C003C003C0FFFEFFFEFFFE0F1F7C9E17>49 D<07F0000FFC001FFE00383F00700F0060
0780E00780E003C04003C04003C00003C00003C00003C0000780000780000F00000E0000
1C00003C0000780000E00001C0000380000700000E00001C0000380000700000FFFFC0FF
FFC0FFFFC0121F7E9E17>I<F0F0F0F0000000000000000000000000F0F0F0F004147C93
0D>58 D<001F0000001F0000003F8000003B8000003B8000007BC0000073C0000071C000
00F1E00000E1E00000E0E00001E0F00001E0F00001C0F00003C0780003C0780003807800
07803C0007803C0007003C000FFFFE000FFFFE000FFFFE001E000F001E000F003C000F80
3C0007803C000780780007C0780003C0780003C0F00003E01B207F9F1E>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<F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0
04207D9F0B>108 D<F0FC07E0F3FE1FF0F7FF3FF8FE0FF07CF807C03CF807C03CF00780
3CF007803CF007803CF007803CF007803CF007803CF007803CF007803CF007803CF00780
3CF007803CF007803CF007803CF007803C1E147D9327>I<F1F8F3FCF7FEFC1FF80FF80F
F00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00F10147D9317>I<01
F80007FE001FFF803F0FC03C03C07801E07801E0F000F0F000F0F000F0F000F0F000F0F0
00F07801E07801E03C03C03F0FC01FFF8007FE0001F80014147F9317>I<F1F000F7FC00
FFFE00FC3E00F81F00F00F00F00F80F00780F00780F00780F00780F00780F00780F00F00
F00F00F81F00FC3E00FFFC00F7F800F1E000F00000F00000F00000F00000F00000F00000
F00000F00000F00000111D7D9317>I<03C7800FF7801FFF803E1F807C0F807807807807
80F00780F00780F00780F00780F00780F00780F807807807807C0F803E1F801FFF800FF7
8007C780000780000780000780000780000780000780000780000780000780111D7E9317
>I<F0E0F3E0F7E0FF00FC00FC00F800F800F000F000F000F000F000F000F000F000F000
F000F000F0000B147D9310>I<07F01FFC3FFC780C7800780078007C003FC01FF00FF803
F8007C003C003CC03CF07CFFF87FF00FC00E147F9311>I<1E001E001E001E001E001E00
FFF0FFF0FFF01E001E001E001E001E001E001E001E001E001E001E001E001E001E201FF0
0FF007C00C1A7F9910>I<F00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF0
0FF00FF00FF01FF03FFFFF7FEF3F0F10147D9317>I<F003C0F003C07803807807807807
803C0F003C0F003C0F001E0E001E1E001E1E000F1C000F3C000F3C0007380007380007B8
0003F00003F00001E00012147F9315>I<F01F00F0F01F80F0F01F80F0781B81E0783B81
E0783BC1E07839C1E03C31C3C03C71C3C03C71E3C01C70E3801E60E7801E60E7801EE0E7
800EE077000EC077000EC0770007C07E0007C03E0007803E001C147F931F>I<7801E07C
03C03E07801E0F000F0F00079E0003FC0003F80001F80000F00001F00001F80003FC0007
9E000F0F000E0F001E07803C03C07801E0F801F01414809315>I<F003C0F003C0780780
7807807C07803C0F003C0F001E0F001E1E000E1E000F1C000F1C00073C0007380003B800
03B80003B00001F00001F00000E00000E00001C00001C00001C0000380000780007F0000
7E00007C0000121D7F9315>I E /Fg 70 124 df<001F83E000F06E3001C078780380F8
780300F03007007000070070000700700007007000070070000700700007007000FFFFFF
800700700007007000070070000700700007007000070070000700700007007000070070
000700700007007000070070000700700007007000070070000700700007007000070070
007FE3FF001D20809F1B>11 D<003F0000E0C001C0C00381E00701E00701E00700000700
00070000070000070000070000FFFFE00700E00700E00700E00700E00700E00700E00700
E00700E00700E00700E00700E00700E00700E00700E00700E00700E00700E00700E07FC3
FE1720809F19>I<003FE000E0E001C1E00381E00700E00700E00700E00700E00700E007
00E00700E00700E0FFFFE00700E00700E00700E00700E00700E00700E00700E00700E007
00E00700E00700E00700E00700E00700E00700E00700E00700E00700E07FE7FE1720809F
19>I<001F81F80000F04F040001C07C06000380F80F000300F00F000700F00F00070070
000007007000000700700000070070000007007000000700700000FFFFFFFF0007007007
000700700700070070070007007007000700700700070070070007007007000700700700
070070070007007007000700700700070070070007007007000700700700070070070007
00700700070070070007007007007FE3FE3FF02420809F26>I<70F8F8F8F8F8F8F87070
70707070707070702020202020000000000070F8F8F87005217CA00D>33
D<7038F87CFC7EFC7E743A0402040204020804080410081008201040200F0E7E9F17>I<
70F8FCFC74040404080810102040060E7C9F0D>39 D<0020004000800100020006000C00
0C00180018003000300030007000600060006000E000E000E000E000E000E000E000E000
E000E000E000E0006000600060007000300030003000180018000C000C00060002000100
0080004000200B2E7DA112>I<800040002000100008000C000600060003000300018001
80018001C000C000C000C000E000E000E000E000E000E000E000E000E000E000E000E000
C000C000C001C001800180018003000300060006000C00080010002000400080000B2E7D
A112>I<70F8FCFC74040404080810102040060E7C840D>44 D<FFC0FFC00A027F8A0F>I<
70F8F8F87005057C840D>I<000100030003000600060006000C000C000C001800180018
00300030003000600060006000C000C000C0018001800180030003000300060006000600
0C000C000C00180018001800300030003000600060006000C000C000C000102D7DA117>
I<018003800F80F380038003800380038003800380038003800380038003800380038003
80038003800380038003800380038003800380038007C0FFFE0F1E7C9D17>49
D<03F0000C1C00100E00200700400780800780F007C0F803C0F803C0F803C02007C00007
C0000780000780000F00000E00001C0000380000700000600000C0000180000300000600
400C00401800401000803FFF807FFF80FFFF80121E7E9D17>I<03F0000C1C00100E0020
0F00780F80780780780780380F80000F80000F00000F00000E00001C0000380003F00000
3C00000E00000F000007800007800007C02007C0F807C0F807C0F807C0F0078040078040
0F00200E001C3C0003F000121F7E9D17>I<000600000600000E00000E00001E00002E00
002E00004E00008E00008E00010E00020E00020E00040E00080E00080E00100E00200E00
200E00400E00C00E00FFFFF0000E00000E00000E00000E00000E00000E00000E0000FFE0
141E7F9D17>I<1803001FFE001FFC001FF8001FE0001000001000001000001000001000
0010000011F000161C00180E001007001007800003800003800003C00003C00003C07003
C0F003C0F003C0E00380400380400700200600100E000C380003E000121F7E9D17>I<00
7C000182000701000E03800C07801C0780380300380000780000700000700000F1F000F2
1C00F40600F80700F80380F80380F003C0F003C0F003C0F003C0F003C07003C07003C070
03803803803807001807000C0E00061C0001F000121F7E9D17>I<4000007FFFC07FFF80
7FFF80400100800200800200800400000800000800001000002000002000004000004000
00C00000C00001C000018000038000038000038000038000078000078000078000078000
078000078000078000030000121F7D9D17>I<03F0000C0C001006003003002001806001
806001806001807001807803003E03003F06001FC8000FF00003F80007FC000C7E00103F
00300F806003804001C0C001C0C000C0C000C0C000C0C000806001802001001002000C0C
0003F000121F7E9D17>I<03F0000E18001C0C00380600380700700700700380F00380F0
0380F003C0F003C0F003C0F003C0F003C07007C07007C03807C0180BC00E13C003E3C000
0380000380000380000700300700780600780E00700C002018001070000FC000121F7E9D
17>I<70F8F8F8700000000000000000000070F8F8F87005147C930D>I<00010000000380
0000038000000380000007C0000007C0000007C0000009E0000009E0000009E0000010F0
000010F0000010F00000207800002078000020780000403C0000403C0000403C0000801E
0000801E0000FFFE0001000F0001000F0001000F00020007800200078002000780040003
C00E0003C01F0007E0FFC03FFE1F207F9F22>65 D<FFFFE0000F80380007801E0007801F
0007800F0007800F8007800F8007800F8007800F8007800F8007800F0007801F0007801E
0007803C0007FFF00007803C0007801E0007800F0007800F8007800780078007C0078007
C0078007C0078007C0078007C00780078007800F8007800F0007801F000F803C00FFFFF0
001A1F7E9E20>I<000FC040007030C001C009C0038005C0070003C00E0001C01E0000C0
1C0000C03C0000C07C0000407C00004078000040F8000000F8000000F8000000F8000000
F8000000F8000000F8000000F8000000F8000000780000007C0000407C0000403C000040
1C0000401E0000800E000080070001000380020001C0040000703800000FC0001A217D9F
21>I<FFFFE0000F803C0007801E000780070007800380078003C0078001E0078001E007
8001F0078000F0078000F0078000F8078000F8078000F8078000F8078000F8078000F807
8000F8078000F8078000F8078000F0078000F0078000F0078001E0078001E0078003C007
8003800780070007800E000F803C00FFFFE0001D1F7E9E23>I<FFFFFF000F800F000780
030007800300078001000780018007800080078000800780008007808080078080000780
8000078080000781800007FF800007818000078080000780800007808000078080000780
00200780002007800020078000400780004007800040078000C0078000C0078001800F80
0F80FFFFFF801B1F7E9E1F>I<FFFFFF000F800F00078003000780030007800100078001
800780008007800080078000800780008007808000078080000780800007808000078180
0007FF800007818000078080000780800007808000078080000780000007800000078000
0007800000078000000780000007800000078000000FC00000FFFE0000191F7E9E1E>I<
000FE0200078186000E004E0038002E0070001E00F0000E01E0000601E0000603C000060
3C0000207C00002078000020F8000000F8000000F8000000F8000000F8000000F8000000
F8000000F8007FFCF80003E0780001E07C0001E03C0001E03C0001E01E0001E01E0001E0
0F0001E0070001E0038002E000E0046000781820000FE0001E217D9F24>I<FFF8FFF80F
800F8007800F0007800F0007800F0007800F0007800F0007800F0007800F0007800F0007
800F0007800F0007800F0007800F0007FFFF0007800F0007800F0007800F0007800F0007
800F0007800F0007800F0007800F0007800F0007800F0007800F0007800F0007800F0007
800F000F800F80FFF8FFF81D1F7E9E22>I<FFFC0FC00780078007800780078007800780
078007800780078007800780078007800780078007800780078007800780078007800780
078007800FC0FFFC0E1F7F9E10>I<FFFE000FC000078000078000078000078000078000
078000078000078000078000078000078000078000078000078000078000078000078000
07800007800207800207800207800207800607800407800407800C07801C0F807CFFFFFC
171F7E9E1C>76 D<FF80001FF80F80001F800780001F0005C0002F0005C0002F0005C000
2F0004E0004F0004E0004F000470008F000470008F000470008F000438010F000438010F
000438010F00041C020F00041C020F00041C020F00040E040F00040E040F00040E040F00
0407080F000407080F000407080F000403900F000403900F000401E00F000401E00F0004
01E00F000E00C00F001F00C01F80FFE0C1FFF8251F7E9E2A>I<FF803FF807C007C007C0
038005E0010005E0010004F001000478010004780100043C0100043C0100041E0100040F
0100040F010004078100040781000403C1000401E1000401E1000400F1000400F1000400
790004003D0004003D0004001F0004001F0004000F0004000700040007000E0003001F00
0300FFE001001D1F7E9E22>I<001F800000F0F00001C0380007801E000F000F000E0007
001E0007803C0003C03C0003C07C0003E0780001E0780001E0F80001F0F80001F0F80001
F0F80001F0F80001F0F80001F0F80001F0F80001F0F80001F0780001E07C0003E07C0003
E03C0003C03C0003C01E0007800E0007000F000F0007801E0001C0380000F0F000001F80
001C217D9F23>I<FFFFE0000F80780007801C0007801E0007800F0007800F8007800F80
07800F8007800F8007800F8007800F8007800F0007801E0007801C000780780007FFE000
078000000780000007800000078000000780000007800000078000000780000007800000
078000000780000007800000078000000FC00000FFFC0000191F7E9E1F>I<FFFF80000F
80F0000780780007803C0007801E0007801E0007801F0007801F0007801F0007801F0007
801E0007801E0007803C00078078000780F00007FF80000781C0000780E0000780F00007
80700007807800078078000780780007807C0007807C0007807C0007807C0407807E0407
803E040FC01E08FFFC0F10000003E01E207E9E21>82 D<07E0800C198010078030038060
0180600180E00180E00080E00080E00080F00000F000007800007F00003FF0001FFC000F
FE0003FF00001F800007800003C00003C00001C08001C08001C08001C08001C0C00180C0
0380E00300F00600CE0C0081F80012217D9F19>I<7FFFFFE0780F01E0600F0060400F00
20400F0020C00F0030800F0010800F0010800F0010800F0010000F0000000F0000000F00
00000F0000000F0000000F0000000F0000000F0000000F0000000F0000000F0000000F00
00000F0000000F0000000F0000000F0000000F0000000F0000000F0000001F800007FFFE
001C1F7E9E21>I<FFFC3FF80FC007C00780038007800100078001000780010007800100
078001000780010007800100078001000780010007800100078001000780010007800100
078001000780010007800100078001000780010007800100078001000780010003800200
0380020001C0020001C0040000E008000070180000382000000FC0001D207E9E22>I<FF
F07FF81FF01F800FC007C00F00078003800F00078001000F0007C00100078007C0020007
8007C00200078007C0020003C009E0040003C009E0040003C009E0040003E010F00C0001
E010F0080001E010F0080001F02078080000F02078100000F02078100000F0403C100000
78403C20000078403C20000078C03E2000003C801E4000003C801E4000003C801E400000
1F000F8000001F000F8000001F000F8000001E00078000000E00070000000E0007000000
0C000300000004000200002C207F9E2F>87 D<0804100820102010402040208040804080
40B85CFC7EFC7E7C3E381C0F0E7B9F17>92 D<1FE000303000781800781C00300E00000E
00000E00000E0000FE00078E001E0E00380E00780E00F00E10F00E10F00E10F01E10781E
103867200F83C014147E9317>97 D<0E0000FE00000E00000E00000E00000E00000E0000
0E00000E00000E00000E00000E00000E3E000EC3800F01C00F00E00E00E00E00700E0070
0E00780E00780E00780E00780E00780E00780E00700E00700E00E00F00E00D01C00CC300
083E0015207F9F19>I<03F80E0C1C1E381E380C70007000F000F000F000F000F000F000
70007000380138011C020E0C03F010147E9314>I<000380003F80000380000380000380
00038000038000038000038000038000038000038003E380061B801C0780380380380380
700380700380F00380F00380F00380F00380F00380F00380700380700380380380380780
1C07800E1B8003E3F815207E9F19>I<03F0000E1C001C0E003807003807007007007003
80F00380F00380FFFF80F00000F00000F000007000007000003800801800800C01000706
0001F80011147F9314>I<007C00C6018F038F07060700070007000700070007000700FF
F00700070007000700070007000700070007000700070007000700070007000700070007
007FF01020809F0E>I<0000E003E3300E3C301C1C30380E00780F00780F00780F00780F
00780F00380E001C1C001E380033E0002000002000003000003000003FFE001FFF800FFF
C03001E0600070C00030C00030C00030C000306000603000C01C038003FC00141F7F9417
>I<0E0000FE00000E00000E00000E00000E00000E00000E00000E00000E00000E00000E
00000E3E000E43000E81800F01C00F01C00E01C00E01C00E01C00E01C00E01C00E01C00E
01C00E01C00E01C00E01C00E01C00E01C00E01C00E01C0FFE7FC16207F9F19>I<1C001E
003E001E001C000000000000000000000000000E007E000E000E000E000E000E000E000E
000E000E000E000E000E000E000E000E000E000E00FFC00A1F809E0C>I<00E001F001F0
01F000E0000000000000000000000000007007F000F00070007000700070007000700070
007000700070007000700070007000700070007000700070007000706070F060F0C06180
3F000C28829E0E>I<0E0000FE00000E00000E00000E00000E00000E00000E00000E0000
0E00000E00000E00000E0FF00E03C00E03000E02000E04000E08000E10000E30000E7000
0EF8000F38000E1C000E1E000E0E000E07000E07800E03800E03C00E03E0FFCFF815207F
9F18>I<0E00FE000E000E000E000E000E000E000E000E000E000E000E000E000E000E00
0E000E000E000E000E000E000E000E000E000E000E000E000E000E000E00FFE00B20809F
0C>I<0E1F01F000FE618618000E81C81C000F00F00E000F00F00E000E00E00E000E00E0
0E000E00E00E000E00E00E000E00E00E000E00E00E000E00E00E000E00E00E000E00E00E
000E00E00E000E00E00E000E00E00E000E00E00E000E00E00E00FFE7FE7FE023147F9326
>I<0E3E00FE43000E81800F01C00F01C00E01C00E01C00E01C00E01C00E01C00E01C00E
01C00E01C00E01C00E01C00E01C00E01C00E01C00E01C0FFE7FC16147F9319>I<01F800
070E001C03803801C03801C07000E07000E0F000F0F000F0F000F0F000F0F000F0F000F0
7000E07000E03801C03801C01C0380070E0001F80014147F9317>I<0E3E00FEC3800F01
C00F00E00E00E00E00F00E00700E00780E00780E00780E00780E00780E00780E00700E00
F00E00E00F01E00F01C00EC3000E3E000E00000E00000E00000E00000E00000E00000E00
000E0000FFE000151D7F9319>I<03E0800619801C05803C0780380380780380700380F0
0380F00380F00380F00380F00380F003807003807803803803803807801C0B800E138003
E380000380000380000380000380000380000380000380000380003FF8151D7E9318>I<
0E78FE8C0F1E0F1E0F0C0E000E000E000E000E000E000E000E000E000E000E000E000E00
0E00FFE00F147F9312>I<1F9030704030C010C010C010E00078007F803FE00FF0007080
3880188018C018C018E030D0608F800D147E9312>I<020002000200060006000E000E00
3E00FFF80E000E000E000E000E000E000E000E000E000E000E000E080E080E080E080E08
0610031001E00D1C7F9B12>I<0E01C0FE1FC00E01C00E01C00E01C00E01C00E01C00E01
C00E01C00E01C00E01C00E01C00E01C00E01C00E01C00E01C00E03C00603C0030DC001F1
FC16147F9319>I<FF83F81E01E01C00C00E00800E00800E008007010007010003820003
820003820001C40001C40001EC0000E80000E80000700000700000700000200015147F93
18>I<FF9FE1FC3C0780701C0300601C0380200E0380400E0380400E03C0400707C08007
04C0800704E080038861000388710003C8730001D0320001D03A0000F03C0000E01C0000
E01C0000601800004008001E147F9321>I<7FC3FC0F01E00701C007018003810001C200
00E40000EC00007800003800003C00007C00004E000087000107000303800201C00601E0
1E01E0FF07FE1714809318>I<FF83F81E01E01C00C00E00800E00800E00800701000701
0003820003820003820001C40001C40001EC0000E80000E8000070000070000070000020
00002000004000004000004000F08000F08000F100006200003C0000151D7F9318>I<3F
FF380E200E201C40384078407000E001E001C00380078007010E011E011C033802700670
0EFFFE10147F9314>I<FFFFFC1601808C17>I E /Fh 37 122 df<FFFEFFFEFFFE0F037F
8E14>45 D<F8F8F8F8F805057A8411>I<00180000380000F80007F800FFF800FFF800F8
F80000F80000F80000F80000F80000F80000F80000F80000F80000F80000F80000F80000
F80000F80000F80000F80000F80000F80000F80000F80000F80000F80000F80000F80000
F80000F80000F80000F80000F80000F80000F8007FFFF07FFFF07FFFF014287BA71E>49
D<00FE0003FFC007FFE00FFFF01F03F83C00FC38007E78003E70003EF0001FF0001F6000
1F20001F00001F00001F00001F00003E00003E00007C00007C0000F80001F00001E00003
C0000780000F00001E00003C0000780000F00001E00003C0000780000F00001E00003C00
007FFFFF7FFFFF7FFFFF7FFFFF18287EA71E>I<007F000001FFC00007FFF0000FFFF800
1FC1F8003E007C003C003E0078003E0038003E0010003E0000003E0000003E0000003C00
00007C000000FC000001F8000007F00000FFE00000FFC00000FFE00000FFF0000001FC00
00007C0000003E0000001F0000001F0000000F8000000F8000000F8000000F8000000F80
40000F8060001F00F0001F00F8003F007E007E003F81FC001FFFF8000FFFF00003FFE000
007F000019297EA71E>I<0003F0000007F0000005F000000DF000000DF000001DF00000
39F0000039F0000079F0000079F00000F1F00000F1F00001E1F00003E1F00003E1F00007
C1F00007C1F0000F81F0000F81F0001F01F0001F01F0003E01F0007C01F0007C01F000F8
01F000FFFFFF80FFFFFF80FFFFFF80FFFFFF800001F0000001F0000001F0000001F00000
01F0000001F0000001F0000001F0000001F0000001F00019277EA61E>I<3FFFFC3FFFFC
3FFFFC3FFFFC3E00003E00003E00003E00003E00003E00003E00003E00003E00003E0000
3E3F003EFFC03FFFE03FFFF03FE1F83F807C3F003E3E003E00003E00001F00001F00001F
00001F00001F00001F00001F20001F60003E70003EF8007C7C00FC3F03F81FFFF00FFFE0
07FF8000FE0018287EA61E>I<000FF000003FFC0000FFFC0001FFFC0003F80C0007E000
000FC000000F8000001F0000001E0000003E0000003C0000007C0000007C0000007C3FE0
00F8FFF000F9FFF800FBFFFC00FF807E00FF003E00FE003F00FC001F00FC001F00FC000F
80F8000F80F8000F80F8000F80F8000F8078000F807C000F807C000F807C000F003E001F
003E001F001F003E001F807C000FC1FC0007FFF80003FFF00001FFC000007F000019297E
A71E>I<FFFFFF80FFFFFF80FFFFFF80FFFFFF800000078000000F0000001E0000003C00
00007C00000078000000F0000001F0000001E0000003C0000007C00000078000000F8000
000F0000001F0000001F0000001E0000003E0000003E0000007C0000007C0000007C0000
0078000000F8000000F8000000F8000000F8000000F8000001F0000001F0000001F00000
01F0000001F0000001F0000001F0000019277EA61E>I<0001F000000003F800000003F8
00000007FC00000007BC00000007BC0000000F3E0000000F1E0000000F1E0000001F1F00
00001E1F0000001E0F0000003E0F8000003C0F8000003C078000007C07C000007807C000
00F803E00000F803E00000F003E00001F001F00001F001F00001E001F00003E000F80003
E000F80003C000F80007FFFFFC0007FFFFFC000FFFFFFE000F80003E000F80003E001F00
003F001F00001F001E00001F003E00000F803E00000F803C00000F807C000007C07C0000
07C078000007C0F8000003E0F8000003E0232A7EA928>65 D<FFFFE000FFFFFC00FFFFFF
00F8007F80F8000FC0F80003E0F80001F0F80000F0F80000F8F8000078F8000078F80000
78F80000F8F80000F0F80001F0F80003E0F8000FC0F8007F80FFFFFF00FFFFFC00FFFFFE
00FFFFFF80F8007FC0F8000FF0F80003F8F80000F8F800007CF800003CF800003EF80000
3EF800003EF800003EF800003EF800003CF800007CF80000FCF80001F8F80007F0F8003F
E0FFFFFF80FFFFFE00FFFFF0001F2A7BA928>I<FFFFF00000FFFFFC0000FFFFFF0000F8
003FC000F80007E000F80003F000F80001F800F80000FC00F800007C00F800003E00F800
001E00F800001F00F800000F00F800000F80F800000F80F800000780F8000007C0F80000
07C0F8000007C0F8000007C0F8000007C0F8000007C0F8000007C0F8000007C0F8000007
C0F8000007C0F800000780F800000F80F800000F80F800000F80F800001F00F800001F00
F800003E00F800007E00F800007C00F80000F800F80003F000F80007E000F8003FC000FF
FFFF0000FFFFFE0000FFFFF00000222A7BA92B>68 D<FFFFFFE0FFFFFFE0FFFFFFE0FFFF
FFE0F8000000F8000000F8000000F8000000F8000000F8000000F8000000F8000000F800
0000F8000000F8000000F8000000F8000000F8000000FFFFFF80FFFFFF80FFFFFF80FFFF
FF80F8000000F8000000F8000000F8000000F8000000F8000000F8000000F8000000F800
0000F8000000F8000000F8000000F8000000F8000000F8000000F8000000FFFFFFF0FFFF
FFF0FFFFFFF0FFFFFFF01C2A7BA924>I<FFFFFFC0FFFFFFC0FFFFFFC0FFFFFFC0F80000
00F8000000F8000000F8000000F8000000F8000000F8000000F8000000F8000000F80000
00F8000000F8000000F8000000F8000000F8000000FFFFFE00FFFFFE00FFFFFE00FFFFFE
00F8000000F8000000F8000000F8000000F8000000F8000000F8000000F8000000F80000
00F8000000F8000000F8000000F8000000F8000000F8000000F8000000F8000000F80000
00F80000001A2A7BA922>I<F800003EF800003EF800003EF800003EF800003EF800003E
F800003EF800003EF800003EF800003EF800003EF800003EF800003EF800003EF800003E
F800003EF800003EF800003EFFFFFFFEFFFFFFFEFFFFFFFEFFFFFFFEF800003EF800003E
F800003EF800003EF800003EF800003EF800003EF800003EF800003EF800003EF800003E
F800003EF800003EF800003EF800003EF800003EF800003EF800003EF800003EF800003E
1F2A7BA92A>72 D<F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8
F8F8F8F8F8F8F8F8F8F8F8F8F8F8052A7AA911>I<FFFFE000FFFFFC00FFFFFF00F8003F
80F8000FC0F80007E0F80001E0F80001F0F80000F0F80000F8F80000F8F80000F8F80000
F8F80000F8F80000F8F80000F0F80001F0F80001F0F80003E0F8000FC0F8003F80FFFFFF
00FFFFFE00FFFFF000F8000000F8000000F8000000F8000000F8000000F8000000F80000
00F8000000F8000000F8000000F8000000F8000000F8000000F8000000F8000000F80000
00F8000000F80000001D2A7BA926>80 D<FFFFE000FFFFFC00FFFFFF00F8003FC0F80007
E0F80001F0F80000F8F80000F8F800007CF800007CF800007CF800007CF800007CF80000
7CF80000F8F80000F8F80001F0F80007F0F8003FE0FFFFFF80FFFFFF00FFFFFC00FFFFF0
00F801F000F800F800F8007800F8007C00F8003C00F8003E00F8001F00F8001F00F8000F
80F8000780F80007C0F80003E0F80003E0F80001F0F80001F0F80000F8F800007CF80000
7CF800003E1F2A7BA927>82 D<007FC00001FFF80007FFFE000FFFFF001FC07F003F000F
007E0006007C0000007C000000F8000000F8000000F8000000F8000000F8000000FC0000
007E0000007F0000003F8000001FF800000FFF800007FFE00003FFF80000FFFC00000FFE
000000FF0000003F0000001F8000000F8000000FC0000007C0000007C0000007C0000007
C0000007C0000007C000000F8060000F80F0001F00FC003F00FF80FE007FFFFC001FFFF8
0007FFE00000FF80001A2C7DAA21>I<FFFFFFFFF0FFFFFFFFF0FFFFFFFFF0FFFFFFFFF0
0000F800000000F800000000F800000000F800000000F800000000F800000000F8000000
00F800000000F800000000F800000000F800000000F800000000F800000000F800000000
F800000000F800000000F800000000F800000000F800000000F800000000F800000000F8
00000000F800000000F800000000F800000000F800000000F800000000F800000000F800
000000F800000000F800000000F800000000F800000000F800000000F800000000F80000
0000F800000000F80000242A7EA929>I<01FE000FFF803FFFC03FFFE03C03F03001F000
01F80000F80000F80000F80000F80000F8007FF807FFF81FFFF83FE0F87F00F8FC00F8F8
00F8F800F8F800F8FC01F87E07F87FFFF83FFFF81FFCF80FE0F8151B7E9A1D>97
D<F80000F80000F80000F80000F80000F80000F80000F80000F80000F80000F80000F800
00F80000F80000F80000F83F00F9FFC0FBFFE0FFFFF0FF07F0FC01F8F800FCF8007CF800
7CF8007EF8003EF8003EF8003EF8003EF8003EF8003EF8003EF8007CF8007CF8007CFC00
F8FC01F8FF07F0FFFFE0FBFFC0F9FF80F87E00172A7BA91F>I<007FC001FFF007FFFC0F
FFFC1FC07C1F00083E00007C00007C00007C0000F80000F80000F80000F80000F80000F8
0000F800007C00007C00007E00003E00001F000C1FC07C0FFFFC07FFFC01FFF0007F8016
1B7E9A1B>I<00003E00003E00003E00003E00003E00003E00003E00003E00003E00003E
00003E00003E00003E00003E00003E00FC3E03FF3E07FFFE0FFFFE1FC1FE3F007E3E003E
7C003E7C003EFC003EF8003EF8003EF8003EF8003EF8003EF8003EF8003EFC003E7C003E
7C003E3E007E3F00FE1FC1FE0FFFFE07FFBE03FF3E00FC3E172A7EA91F>I<007E0003FF
8007FFC00FFFE01F83F03F00F03E00787C00787C003878003CFFFFFCFFFFFCFFFFFCFFFF
FCF80000F80000F800007800007C00007C00003E00003F000C1FC07C0FFFFC07FFFC01FF
F0007F80161B7E9A1B>I<F8F8F8F8F800000000000000000000F8F8F8F8F8F8F8F8F8F8
F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8052A7CA90E>105 D<F8F8F8F8F8F8F8F8F8F8
F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8052A7CA9
0E>108 D<F83F003F00F8FFC0FFC0FBFFE3FFE0FFFFF7FFF0FF83F783F0FE01FE01F8FC
00FC00F8FC00FC00F8FC00FC00F8F800F800F8F800F800F8F800F800F8F800F800F8F800
F800F8F800F800F8F800F800F8F800F800F8F800F800F8F800F800F8F800F800F8F800F8
00F8F800F800F8F800F800F8F800F800F8F800F800F8F800F800F8F800F800F8251B7B9A
32>I<F83F00F8FF80FBFFC0FFFFE0FF07E0FE03F0FC01F0FC01F0FC01F0F801F0F801F0
F801F0F801F0F801F0F801F0F801F0F801F0F801F0F801F0F801F0F801F0F801F0F801F0
F801F0F801F0F801F0F801F0141B7B9A1F>I<007F000001FFC00007FFF0000FFFF8001F
C1FC003F007E003E003E007C001F007C001F0078000F00F8000F80F8000F80F8000F80F8
000F80F8000F80F8000F80F8000F807C001F007C001F007E003F003E003E003F007E001F
C1FC000FFFF80007FFF00001FFC000007F0000191B7E9A1E>I<F838F8F8F9F8FBF8FFC0
FF00FE00FE00FC00FC00F800F800F800F800F800F800F800F800F800F800F800F800F800
F800F800F800F8000D1B7B9A14>114 D<03FC001FFF803FFFC07FFFC07C07C0F80080F8
0000F80000F80000FC00007F80007FF8003FFE001FFF0007FF8000FFC0000FE00007E000
03E00003E04003E0E007E0FC0FC0FFFFC07FFF801FFE0003F800131B7E9A17>I<07C000
07C00007C00007C00007C00007C00007C000FFFFC0FFFFC0FFFFC007C00007C00007C000
07C00007C00007C00007C00007C00007C00007C00007C00007C00007C00007C00007C000
07C00007C00007C00007C04007E1C003FFE003FFE001FF8000FC0013227FA116>I<F801
F0F801F0F801F0F801F0F801F0F801F0F801F0F801F0F801F0F801F0F801F0F801F0F801
F0F801F0F801F0F801F0F801F0F801F0F801F0F801F0F803F0F803F0FC0FF0FFFFF07FFD
F03FF9F01FC1F0141B7B9A1F>I<F8000F80FC000F807C001F007C001F007E001F003E00
3E003E003E001F003C001F007C001F007C000F8078000F80F8000F80F80007C0F00007C1
F00007C1F00003E1E00003E3E00001E3C00001E3C00001F3C00000F7800000F7800000F7
8000007F0000007F0000007F0000191B7F9A1C>I<7C000FC03E001F803F001F001F803E
000F807C0007C0FC0003E0F80001F1F00001FBE00000FFC000007FC000003F8000001F00
00001F0000003F8000007FC00000FBC00000F3E00001F1F00003E0F80007C07C000F807C
000F803E001F001F003E000F807E000FC0FC0007E01B1B809A1C>120
D<F8000F80FC000F807C001F007E001F003E003E003E003E001F003E001F007C001F007C
000F807C000F80F80007C0F80007C0F00007C1F00003E1F00003E1E00001E1E00001E3E0
0001F3C00000F3C00000F38000007380000073800000370000003F0000003E0000001E00
00001E0000003C0000003C0000003C0000007800000078000000F0000000F000007FE000
007FE000007FC000007F00000019277F9A1C>I E /Fi 19 121 df<00000007FF800000
000001FFFFF0000000000FFFFFFC000000003FFFFFFE00000000FFFC00FF00000001FFC0
003F80000007FF00007FC000000FFE0001FFC000001FFC0001FFE000001FF80003FFE000
003FF00003FFE000003FF00003FFE000007FE00003FFE000007FE00003FFE000007FE000
03FFE000007FE00003FFE000007FE00001FFC000007FE00000FF8000007FE000003E0000
007FE00000000000007FE00000000000007FE00000000000007FE00000000000007FE000
00000000007FE00000000000007FE0003FFFF000FFFFFFFFFFFFF000FFFFFFFFFFFFF000
FFFFFFFFFFFFF000FFFFFFFFFFFFF000FFFFFFFFFFFFF000007FF00000FFF000007FF000
007FF000007FF000007FF000007FF000007FF000007FF000007FF000007FF000007FF000
007FF000007FF000007FF000007FF000007FF000007FF000007FF000007FF000007FF000
007FF000007FF000007FF000007FF000007FF000007FF000007FF000007FF000007FF000
007FF000007FF000007FF000007FF000007FF000007FF000007FF000007FF000007FF000
007FF000007FF000007FF000007FF000007FF000007FF000007FF000007FF000007FF000
007FF000007FF000007FF000007FF000007FF000007FF000007FF000007FF000007FF000
007FF000007FF000007FF000007FF000007FF000007FF000007FF000007FF000007FF000
007FF000007FF000007FF000007FF000007FF000007FF0003FFFFFE03FFFFFE03FFFFFE0
3FFFFFE03FFFFFE03FFFFFE03FFFFFE03FFFFFE03FFFFFE03FFFFFE03B487EC742>12
D<07C0001FF0003FFC007FFC007FFE00FFFE00FFFF00FFFF00FFFF80FFFF80FFFF807FFF
807FFF803FFF801FFF8007E780000780000780000F00000F00000F00000F00001E00001E
00003C00003C0000780000F80000F00001F00003E00007C0000F80001F00001E00000C00
001124788F21>44 D<FFFFFFFEFFFFFFFEFFFFFFFEFFFFFFFEFFFFFFFEFFFFFFFEFFFFFF
FEFFFFFFFEFFFFFFFEFFFFFFFE1F0A7F9B28>I<FFFFFFFFFFFFFFFE00FFFFFFFFFFFFFF
FE00FFFFFFFFFFFFFFFE00FFFFFFFFFFFFFFFE00FFFFFFFFFFFFFFFF00001FFFC00001FF
FF00001FFFC000001FFF00001FFFC0000007FF00001FFFC0000003FF00001FFFC0000000
FF00001FFFC00000007F00001FFFC00000007F00001FFFC00000003F00001FFFC0000000
3F80001FFFC00000001F80001FFFC00000001F80001FFFC00000001F80001FFFC0000000
0F80001FFFC00000000F80001FFFC0007C000F80001FFFC0007C000F80001FFFC0007C00
07C0001FFFC0007C0007C0001FFFC0007C0007C0001FFFC0007C0007C0001FFFC000FC00
0000001FFFC000FC000000001FFFC000FC000000001FFFC001FC000000001FFFC003FC00
0000001FFFC01FFC000000001FFFFFFFFC000000001FFFFFFFFC000000001FFFFFFFFC00
0000001FFFFFFFFC000000001FFFFFFFFC000000001FFFC01FFC000000001FFFC003FC00
0000001FFFC001FC000000001FFFC000FC000000001FFFC000FC000000001FFFC000FC00
0000001FFFC0007C00007C001FFFC0007C00007C001FFFC0007C00007C001FFFC0007C00
00F8001FFFC0007C0000F8001FFFC0007C0000F8001FFFC000000000F8001FFFC0000000
01F8001FFFC000000001F0001FFFC000000001F0001FFFC000000001F0001FFFC0000000
03F0001FFFC000000003F0001FFFC000000007F0001FFFC000000007E0001FFFC0000000
0FE0001FFFC00000001FE0001FFFC00000003FE0001FFFC00000007FE0001FFFC0000000
FFE0001FFFC0000003FFC0001FFFC000000FFFC0001FFFC00000FFFFC0FFFFFFFFFFFFFF
FFC0FFFFFFFFFFFFFFFFC0FFFFFFFFFFFFFFFF80FFFFFFFFFFFFFFFF80FFFFFFFFFFFFFF
FF8046467CC54E>69 D<FFFFFFFFFFFF800000FFFFFFFFFFFFFC0000FFFFFFFFFFFFFF00
00FFFFFFFFFFFFFFC000FFFFFFFFFFFFFFF000001FFF80000FFFFC00001FFF800001FFFE
00001FFF8000007FFF00001FFF8000003FFF80001FFF8000001FFFC0001FFF8000000FFF
C0001FFF8000000FFFE0001FFF8000000FFFE0001FFF80000007FFF0001FFF80000007FF
F0001FFF80000007FFF0001FFF80000007FFF8001FFF80000007FFF8001FFF80000007FF
F8001FFF80000007FFF8001FFF80000007FFF8001FFF80000007FFF8001FFF80000007FF
F8001FFF80000007FFF8001FFF80000007FFF0001FFF80000007FFF0001FFF80000007FF
F0001FFF8000000FFFE0001FFF8000000FFFE0001FFF8000000FFFC0001FFF8000001FFF
80001FFF8000003FFF80001FFF8000007FFF00001FFF800001FFFE00001FFF80000FFFF8
00001FFFFFFFFFFFF000001FFFFFFFFFFFC000001FFFFFFFFFFE0000001FFFFFFFFFF000
00001FFFC00000000000001FFFC00000000000001FFFC00000000000001FFFC000000000
00001FFFC00000000000001FFFC00000000000001FFFC00000000000001FFFC000000000
00001FFFC00000000000001FFFC00000000000001FFFC00000000000001FFFC000000000
00001FFFC00000000000001FFFC00000000000001FFFC00000000000001FFFC000000000
00001FFFC00000000000001FFFC00000000000001FFFC00000000000001FFFC000000000
00001FFFC00000000000001FFFC00000000000001FFFC00000000000001FFFC000000000
00001FFFC00000000000001FFFC00000000000001FFFC00000000000FFFFFFFFF8000000
00FFFFFFFFF800000000FFFFFFFFF800000000FFFFFFFFF800000000FFFFFFFFF8000000
0045477CC651>80 D<FFFFFFFFFFFC0000000000FFFFFFFFFFFFF000000000FFFFFFFFFF
FFFE00000000FFFFFFFFFFFFFF80000000FFFFFFFFFFFFFFE0000000001FFF80001FFFF8
000000001FFF800001FFFC000000001FFF8000007FFF000000001FFF8000003FFF800000
001FFF8000001FFF800000001FFF8000000FFFC00000001FFF8000000FFFE00000001FFF
8000000FFFE00000001FFF80000007FFF00000001FFF80000007FFF00000001FFF800000
07FFF80000001FFF80000007FFF80000001FFF80000007FFF80000001FFF80000007FFF8
0000001FFF80000007FFF80000001FFF80000007FFF80000001FFF80000007FFF8000000
1FFF80000007FFF80000001FFF80000007FFF00000001FFF80000007FFF00000001FFF80
00000FFFE00000001FFF8000000FFFE00000001FFF8000000FFFC00000001FFF8000001F
FF800000001FFF8000003FFF000000001FFF800000FFFE000000001FFF800003FFF80000
00001FFF80001FFFF0000000001FFFFFFFFFFFC0000000001FFFFFFFFFFE00000000001F
FFFFFFFFF800000000001FFFFFFFFFFE00000000001FFF80007FFF80000000001FFF8000
1FFFC0000000001FFF800007FFE0000000001FFF800003FFF0000000001FFF800001FFF8
000000001FFF800001FFFC000000001FFF800000FFFE000000001FFF800000FFFE000000
001FFF8000007FFE000000001FFF8000007FFF000000001FFF8000007FFF000000001FFF
8000007FFF000000001FFF8000007FFF000000001FFF8000007FFF000000001FFF800000
7FFF000000001FFF8000007FFF000000001FFF8000007FFF800000001FFF8000007FFF80
0000001FFF8000007FFF800000001FFF8000007FFF800000001FFF8000007FFF80000000
1FFF8000007FFF8000E0001FFF8000007FFF8001F0001FFF8000007FFFC001F0001FFF80
00007FFFC001F0001FFF8000003FFFC001F0001FFF8000003FFFC003F0001FFF8000001F
FFE003E0001FFF8000000FFFE007E0FFFFFFFFF00007FFF007C0FFFFFFFFF00003FFFC1F
80FFFFFFFFF00001FFFFFF00FFFFFFFFF000007FFFFE00FFFFFFFFF000001FFFFC000000
000000000000FFF00054487CC659>82 D<0007FFFC000000007FFFFFC0000001FFFFFFF8
000003FFFFFFFE000007FE001FFF000007FF0003FFC0000FFF8001FFE0000FFF8000FFF0
000FFF80007FF0000FFF80007FF8000FFF80007FF80007FF00003FFC0007FF00003FFC00
03FE00003FFC0000F800003FFC00000000003FFC00000000003FFC00000000003FFC0000
0000003FFC00000007FFFFFC000000FFFFFFFC000007FFFFFFFC00003FFFE03FFC0000FF
FE003FFC0003FFF0003FFC0007FFC0003FFC000FFF00003FFC001FFE00003FFC003FFC00
003FFC007FF800003FFC007FF800003FFC00FFF000003FFC00FFF000003FFC00FFF00000
3FFC00FFF000003FFC00FFF000003FFC00FFF000007FFC007FF80000FFFC007FF80001EF
FC003FFC0003EFFC003FFF0007CFFF000FFFC03F8FFFF807FFFFFF07FFFC01FFFFFC03FF
FC007FFFF001FFFC0003FF80007FF8362E7DAD3A>97 D<007FC00000000000FFFFC00000
000000FFFFC00000000000FFFFC00000000000FFFFC00000000000FFFFC0000000000003
FFC0000000000001FFC0000000000001FFC0000000000001FFC0000000000001FFC00000
00000001FFC0000000000001FFC0000000000001FFC0000000000001FFC0000000000001
FFC0000000000001FFC0000000000001FFC0000000000001FFC0000000000001FFC00000
00000001FFC0000000000001FFC0000000000001FFC0000000000001FFC0000000000001
FFC0000000000001FFC0000000000001FFC00FFC00000001FFC07FFFC0000001FFC3FFFF
F0000001FFCFFFFFFC000001FFDFF00FFF000001FFFF8003FF800001FFFE0001FFC00001
FFF800007FE00001FFF000007FF00001FFE000003FF80001FFE000001FFC0001FFE00000
1FFC0001FFE000001FFE0001FFE000001FFE0001FFE000000FFF0001FFE000000FFF0001
FFE000000FFF0001FFE000000FFF0001FFE000000FFF8001FFE000000FFF8001FFE00000
0FFF8001FFE000000FFF8001FFE000000FFF8001FFE000000FFF8001FFE000000FFF8001
FFE000000FFF8001FFE000000FFF8001FFE000000FFF8001FFE000000FFF0001FFE00000
0FFF0001FFE000000FFF0001FFE000001FFE0001FFE000001FFE0001FFE000001FFC0001
FFE000001FFC0001FFE000003FF80001FFF000003FF80001FFF800007FF00001FFFC0000
FFE00001FFFE0001FFC00001FFBF0007FF800001FF1FE01FFE000001FE0FFFFFFC000001
FC03FFFFF0000001F800FFFF80000001F0001FF800000039487CC742>I<00000000007F
C00000000000FFFFC00000000000FFFFC00000000000FFFFC00000000000FFFFC0000000
0000FFFFC0000000000003FFC0000000000001FFC0000000000001FFC0000000000001FF
C0000000000001FFC0000000000001FFC0000000000001FFC0000000000001FFC0000000
000001FFC0000000000001FFC0000000000001FFC0000000000001FFC0000000000001FF
C0000000000001FFC0000000000001FFC0000000000001FFC0000000000001FFC0000000
000001FFC0000000000001FFC0000000000001FFC00000000FFC01FFC0000000FFFF81FF
C0000007FFFFE1FFC000001FFFFFF9FFC000007FFC03FFFFC00000FFF0007FFFC00001FF
C0001FFFC00003FF80000FFFC00007FF000007FFC0000FFE000003FFC0000FFE000003FF
C0001FFC000003FFC0001FFC000003FFC0003FFC000003FFC0003FFC000003FFC0007FF8
000003FFC0007FF8000003FFC0007FF8000003FFC000FFF8000003FFC000FFF8000003FF
C000FFF8000003FFC000FFF8000003FFC000FFF8000003FFC000FFF8000003FFC000FFF8
000003FFC000FFF8000003FFC000FFF8000003FFC000FFF8000003FFC0007FF8000003FF
C0007FF8000003FFC0007FF8000003FFC0003FF8000003FFC0003FFC000003FFC0003FFC
000003FFC0001FFC000003FFC0001FFC000003FFC0000FFE000007FFC00007FF00000FFF
C00003FF00001FFFC00001FFC0003FFFC00000FFE000FFFFE000007FF807FBFFFF80001F
FFFFF3FFFF800007FFFFC3FFFF800001FFFF03FFFF8000001FF803FFFF8039487CC742>
100 D<00001FFE00000001FFFFE0000007FFFFF800001FFFFFFE00007FFC07FF0000FFE0
01FF8001FFC0007FC003FF80003FE007FF00003FF00FFE00001FF01FFE00000FF81FFC00
000FF83FFC00000FFC3FFC000007FC7FFC000007FC7FF8000007FC7FF8000007FE7FF800
0007FEFFF8000007FEFFF8000007FEFFFFFFFFFFFEFFFFFFFFFFFEFFFFFFFFFFFEFFFFFF
FFFFFCFFF800000000FFF800000000FFF800000000FFF8000000007FF8000000007FF800
0000007FFC000000003FFC000000003FFC000000003FFC0000001C1FFE0000003E0FFE00
00003E07FF0000007E07FF000000FC03FF800001F801FFC00003F0007FF0001FE0003FFE
00FFC0001FFFFFFF800007FFFFFE000000FFFFF80000000FFF80002F2E7DAD36>I<00FC
0001FF0003FF8007FFC00FFFC01FFFE01FFFE01FFFE01FFFE01FFFE01FFFE00FFFC007FF
C003FF8001FF0000FC000000000000000000000000000000000000000000000000000000
00000000000000007FC0FFFFC0FFFFC0FFFFC0FFFFC0FFFFC003FFC001FFC001FFC001FF
C001FFC001FFC001FFC001FFC001FFC001FFC001FFC001FFC001FFC001FFC001FFC001FF
C001FFC001FFC001FFC001FFC001FFC001FFC001FFC001FFC001FFC001FFC001FFC001FF
C001FFC001FFC001FFC001FFC001FFC001FFC001FFC0FFFFFFFFFFFFFFFFFFFFFFFFFFFF
FF18497CC820>105 D<007FC000FFFFC000FFFFC000FFFFC000FFFFC000FFFFC00003FF
C00001FFC00001FFC00001FFC00001FFC00001FFC00001FFC00001FFC00001FFC00001FF
C00001FFC00001FFC00001FFC00001FFC00001FFC00001FFC00001FFC00001FFC00001FF
C00001FFC00001FFC00001FFC00001FFC00001FFC00001FFC00001FFC00001FFC00001FF
C00001FFC00001FFC00001FFC00001FFC00001FFC00001FFC00001FFC00001FFC00001FF
C00001FFC00001FFC00001FFC00001FFC00001FFC00001FFC00001FFC00001FFC00001FF
C00001FFC00001FFC00001FFC00001FFC00001FFC00001FFC00001FFC00001FFC00001FF
C00001FFC00001FFC00001FFC00001FFC00001FFC00001FFC000FFFFFF80FFFFFF80FFFF
FF80FFFFFF80FFFFFF8019487CC720>108 D<007FC001FFC00000FFE00000FFFFC00FFF
F80007FFFC0000FFFFC03FFFFE001FFFFF0000FFFFC0FFFFFF007FFFFF8000FFFFC1FC07
FF80FE03FFC000FFFFC3E003FFC1F001FFE00003FFC7C001FFC3E000FFE00001FFCF0001
FFE78000FFF00001FFDE0000FFEF00007FF00001FFDC0000FFEE00007FF00001FFFC0000
FFFE00007FF80001FFF80000FFFC00007FF80001FFF00000FFF800007FF80001FFF00000
FFF800007FF80001FFF00000FFF800007FF80001FFE00000FFF000007FF80001FFE00000
FFF000007FF80001FFE00000FFF000007FF80001FFE00000FFF000007FF80001FFE00000
FFF000007FF80001FFE00000FFF000007FF80001FFE00000FFF000007FF80001FFE00000
FFF000007FF80001FFE00000FFF000007FF80001FFE00000FFF000007FF80001FFE00000
FFF000007FF80001FFE00000FFF000007FF80001FFE00000FFF000007FF80001FFE00000
FFF000007FF80001FFE00000FFF000007FF80001FFE00000FFF000007FF80001FFE00000
FFF000007FF80001FFE00000FFF000007FF80001FFE00000FFF000007FF80001FFE00000
FFF000007FF80001FFE00000FFF000007FF80001FFE00000FFF000007FF80001FFE00000
FFF000007FF80001FFE00000FFF000007FF80001FFE00000FFF000007FF80001FFE00000
FFF000007FF800FFFFFFC07FFFFFE03FFFFFF0FFFFFFC07FFFFFE03FFFFFF0FFFFFFC07F
FFFFE03FFFFFF0FFFFFFC07FFFFFE03FFFFFF0FFFFFFC07FFFFFE03FFFFFF05C2E7CAD63
>I<007FC001FFC00000FFFFC00FFFF80000FFFFC03FFFFE0000FFFFC0FFFFFF0000FFFF
C1FC07FF8000FFFFC3E003FFC00003FFC7C001FFC00001FFCF0001FFE00001FFDE0000FF
E00001FFDC0000FFE00001FFFC0000FFF00001FFF80000FFF00001FFF00000FFF00001FF
F00000FFF00001FFF00000FFF00001FFE00000FFF00001FFE00000FFF00001FFE00000FF
F00001FFE00000FFF00001FFE00000FFF00001FFE00000FFF00001FFE00000FFF00001FF
E00000FFF00001FFE00000FFF00001FFE00000FFF00001FFE00000FFF00001FFE00000FF
F00001FFE00000FFF00001FFE00000FFF00001FFE00000FFF00001FFE00000FFF00001FF
E00000FFF00001FFE00000FFF00001FFE00000FFF00001FFE00000FFF00001FFE00000FF
F00001FFE00000FFF00001FFE00000FFF00001FFE00000FFF00001FFE00000FFF00001FF
E00000FFF000FFFFFFC07FFFFFE0FFFFFFC07FFFFFE0FFFFFFC07FFFFFE0FFFFFFC07FFF
FFE0FFFFFFC07FFFFFE03B2E7CAD42>I<00000FFF0000000000FFFFF000000007FFFFFE
0000001FFFFFFF8000003FFC03FFC00000FFE0007FF00001FF80001FF80003FF00000FFC
0007FE000007FE000FFE000007FF000FFC000003FF001FFC000003FF803FFC000003FFC0
3FF8000001FFC03FF8000001FFC07FF8000001FFE07FF8000001FFE07FF8000001FFE0FF
F8000001FFF0FFF8000001FFF0FFF8000001FFF0FFF8000001FFF0FFF8000001FFF0FFF8
000001FFF0FFF8000001FFF0FFF8000001FFF0FFF8000001FFF0FFF8000001FFF07FF800
0001FFE07FF8000001FFE07FF8000001FFE07FF8000001FFE03FFC000003FFC03FFC0000
03FFC01FFC000003FF801FFE000007FF800FFE000007FF0007FF00000FFE0003FF80001F
FC0001FFC0003FF80000FFE0007FF000007FFC03FFE000001FFFFFFF80000007FFFFFE00
000000FFFFF0000000000FFF000000342E7DAD3B>I<00FF803F8000FFFF80FFF000FFFF
83FFFC00FFFF87FFFE00FFFF8FC3FF00FFFF8F07FF0003FF9E0FFF8001FFBC0FFF8001FF
B80FFF8001FFF80FFF8001FFF00FFF8001FFF007FF0001FFF007FF0001FFE003FE0001FF
E000F80001FFE000000001FFE000000001FFC000000001FFC000000001FFC000000001FF
C000000001FFC000000001FFC000000001FFC000000001FFC000000001FFC000000001FF
C000000001FFC000000001FFC000000001FFC000000001FFC000000001FFC000000001FF
C000000001FFC000000001FFC000000001FFC000000001FFC000000001FFC000000001FF
C000000001FFC000000001FFC0000000FFFFFFE00000FFFFFFE00000FFFFFFE00000FFFF
FFE00000FFFFFFE00000292E7CAD31>114 D<000FFF00E0007FFFF3E001FFFFFFE007FF
FFFFE00FF800FFE01FC0001FE03F80000FE03F000007E07F000003E07F000003E0FF0000
03E0FF000003E0FF800003E0FFC0000000FFF0000000FFFE000000FFFFF800007FFFFFC0
007FFFFFF0003FFFFFFC001FFFFFFF000FFFFFFF8007FFFFFFC003FFFFFFE000FFFFFFF0
003FFFFFF00003FFFFF800001FFFF8000000FFFC0000001FFC7800000FFCF8000007FCF8
000003FCFC000003FCFC000003FCFE000003F8FE000003F8FF000003F8FF800007F0FFC0
000FF0FFF0001FE0FFFC00FFC0FFFFFFFF80FC7FFFFE00F81FFFF800E003FF8000262E7C
AD2F>I<0001F000000001F000000001F000000001F000000001F000000001F000000003
F000000003F000000003F000000007F000000007F000000007F00000000FF00000000FF0
0000001FF00000003FF00000003FF00000007FF0000001FFF0000003FFF000000FFFFFFF
C0FFFFFFFFC0FFFFFFFFC0FFFFFFFFC0FFFFFFFFC000FFF0000000FFF0000000FFF00000
00FFF0000000FFF0000000FFF0000000FFF0000000FFF0000000FFF0000000FFF0000000
FFF0000000FFF0000000FFF0000000FFF0000000FFF0000000FFF0000000FFF0000000FF
F0000000FFF0000000FFF0000000FFF0000000FFF0000000FFF0000000FFF001F000FFF0
01F000FFF001F000FFF001F000FFF001F000FFF001F000FFF001F000FFF001F000FFF001
F0007FF001E0007FF803E0003FF803E0003FFC07C0001FFE0F80000FFFFF800007FFFE00
0001FFFC0000001FF00024427EC12E>I<7FFFFF801FFFFF007FFFFF801FFFFF007FFFFF
801FFFFF007FFFFF801FFFFF007FFFFF801FFFFF00007FF80001FF0000007FFC0001FC00
00003FFE0003F80000001FFF0007F00000000FFF0007E000000007FF800FC000000003FF
C01F8000000003FFE03F8000000001FFF07F0000000000FFF8FE00000000007FF9FC0000
0000003FFFF800000000003FFFF000000000001FFFE000000000000FFFC0000000000007
FFC0000000000003FFC0000000000001FFE0000000000001FFF0000000000001FFF80000
00000003FFFC000000000003FFFE000000000007FFFE00000000000FEFFF00000000001F
CFFF80000000003F87FFC0000000007F03FFE000000000FE01FFE000000001FC00FFF000
000001F8007FF800000003F0007FFC00000007F0003FFE0000000FE0001FFF0000001FC0
000FFF0000003F800007FF800000FF800007FFC000FFFFF8003FFFFFC0FFFFF8003FFFFF
C0FFFFF8003FFFFFC0FFFFF8003FFFFFC0FFFFF8003FFFFFC03A2E7EAD3F>120
D E /Fj 8 117 df<00001E000000003E00000000FE00000003FE0000003FFE0000FFFF
FE0000FFFFFE0000FFFFFE0000FFCFFE0000000FFE0000000FFE0000000FFE0000000FFE
0000000FFE0000000FFE0000000FFE0000000FFE0000000FFE0000000FFE0000000FFE00
00000FFE0000000FFE0000000FFE0000000FFE0000000FFE0000000FFE0000000FFE0000
000FFE0000000FFE0000000FFE0000000FFE0000000FFE0000000FFE0000000FFE000000
0FFE0000000FFE0000000FFE0000000FFE0000000FFE0000000FFE0000000FFE0000000F
FE0000000FFE0000000FFE0000000FFE0000000FFE0000000FFE0000000FFE0000000FFE
0000000FFE0000000FFE0000000FFE00007FFFFFFFC07FFFFFFFC07FFFFFFFC07FFFFFFF
C0223879B731>49 D<0000001FFF000030000001FFFFE000F000000FFFFFFC01F000007F
FFFFFE03F00001FFFE007F87F00003FFE0000FCFF0000FFF000003FFF0001FFC000001FF
F0003FF80000007FF0007FF00000003FF000FFC00000003FF001FFC00000001FF003FF80
0000000FF007FF000000000FF00FFF0000000007F00FFE0000000007F01FFE0000000003
F01FFE0000000003F03FFC0000000003F03FFC0000000001F03FFC0000000001F07FFC00
00000001F07FF80000000001F07FF80000000000007FF8000000000000FFF80000000000
00FFF8000000000000FFF8000000000000FFF8000000000000FFF8000000000000FFF800
0000000000FFF8000000000000FFF8000000000000FFF8000000000000FFF80000000000
00FFF80000000000007FF80000000000007FF80000000000007FF80000000000007FFC00
00000000F03FFC0000000000F03FFC0000000000F03FFC0000000000F01FFE0000000000
F01FFE0000000001E00FFE0000000001E00FFF0000000001E007FF0000000003C003FF80
00000003C001FFC0000000078000FFE00000000F00007FF00000001F00003FF80000003E
00001FFC0000007C00000FFF000001F8000003FFE00007F0000001FFFE003FC00000007F
FFFFFF000000000FFFFFFC0000000001FFFFF000000000001FFF0000003C3D7BBB47>67
D<001FFF00000001FFFFF0000003FFFFFC000007F007FE00000FF801FF00001FFC00FF80
001FFC007FC0001FFC007FE0001FFC003FE0000FF8003FF0000FF8003FF00007F0003FF0
0001C0003FF0000000003FF0000000003FF0000000003FF0000000FFFFF000000FFFFFF0
00007FF83FF00001FF803FF00007FE003FF0000FF8003FF0001FF0003FF0003FE0003FF0
007FE0003FF0007FE0003FF000FFC0003FF000FFC0003FF000FFC0003FF000FFC0003FF0
00FFC0007FF0007FE0007FF0007FE000DFF0003FF0039FF8001FFC0F0FFFF007FFFE0FFF
F001FFFC07FFF0003FE000FFF02C267DA530>97 D<0001FFC000000FFFF800003FFFFE00
00FF80FF0001FE003F8007FC001FC00FF8000FE00FF8000FF01FF00007F03FF00007F83F
F00007F87FE00007F87FE00003FC7FE00003FC7FE00003FCFFE00003FCFFFFFFFFFCFFFF
FFFFFCFFFFFFFFFCFFE0000000FFE0000000FFE0000000FFE00000007FE00000007FE000
00007FE00000003FE00000003FF000003C1FF000003C1FF000003C0FF800007807FC0000
F803FE0001F001FF0007E000FFC03FC0003FFFFF000007FFFC000000FFE00026267DA52D
>101 D<00FF00000000FFFF00000000FFFF00000000FFFF00000000FFFF0000000007FF
0000000003FF0000000003FF0000000003FF0000000003FF0000000003FF0000000003FF
0000000003FF0000000003FF0000000003FF0000000003FF0000000003FF0000000003FF
0000000003FF0000000003FF0000000003FF0000000003FF0000000003FF007FC00003FF
01FFF80003FF07FFFC0003FF0F03FE0003FF1C01FF0003FF3001FF8003FF6000FF8003FF
E000FFC003FFC000FFC003FF8000FFC003FF8000FFC003FF8000FFC003FF0000FFC003FF
0000FFC003FF0000FFC003FF0000FFC003FF0000FFC003FF0000FFC003FF0000FFC003FF
0000FFC003FF0000FFC003FF0000FFC003FF0000FFC003FF0000FFC003FF0000FFC003FF
0000FFC003FF0000FFC003FF0000FFC003FF0000FFC003FF0000FFC003FF0000FFC003FF
0000FFC003FF0000FFC003FF0000FFC0FFFFFC3FFFFFFFFFFC3FFFFFFFFFFC3FFFFFFFFF
FC3FFFFF303C7CBB37>104 D<00FF01FF8000FFFF0FFFF000FFFF3FFFFC00FFFFFE03FF
00FFFFF000FF8003FFC0007FC003FF80003FE003FF00003FF003FF00001FF803FF00001F
FC03FF00000FFC03FF00000FFE03FF00000FFE03FF000007FE03FF000007FF03FF000007
FF03FF000007FF03FF000007FF03FF000007FF03FF000007FF03FF000007FF03FF000007
FF03FF000007FF03FF000007FE03FF000007FE03FF00000FFE03FF00000FFC03FF00000F
FC03FF00001FF803FF00001FF803FF00003FF003FF80003FE003FFC0007FC003FFF001FF
8003FFFC07FF0003FF3FFFFC0003FF0FFFF00003FF01FF000003FF0000000003FF000000
0003FF0000000003FF0000000003FF0000000003FF0000000003FF0000000003FF000000
0003FF0000000003FF0000000003FF0000000003FF0000000003FF00000000FFFFFC0000
00FFFFFC000000FFFFFC000000FFFFFC00000030377DA537>112
D<00FE03F000FFFE0FFE00FFFE1FFF00FFFE3C3F80FFFE707FC007FE60FFE003FEE0FFE0
03FEC0FFE003FFC0FFE003FF807FC003FF807FC003FF803F8003FF800E0003FF00000003
FF00000003FF00000003FF00000003FF00000003FF00000003FF00000003FF00000003FF
00000003FF00000003FF00000003FF00000003FF00000003FF00000003FF00000003FF00
000003FF00000003FF00000003FF00000003FF00000003FF000000FFFFFE0000FFFFFE00
00FFFFFE0000FFFFFE000023267DA529>114 D<00078000000780000007800000078000
00078000000F8000000F8000000F8000000F8000001F8000001F8000003F8000003F8000
007F800000FF800001FF800007FF80001FFFFFF0FFFFFFF0FFFFFFF0FFFFFFF001FF8000
01FF800001FF800001FF800001FF800001FF800001FF800001FF800001FF800001FF8000
01FF800001FF800001FF800001FF800001FF800001FF800001FF800001FF800001FF8000
01FF803C01FF803C01FF803C01FF803C01FF803C01FF803C01FF803C01FF803C00FF8078
00FFC078007FC070003FE0E0001FFFC00007FF800001FF001E377EB626>116
D E end
%%EndProlog
%%BeginSetup
%%Feature: *Resolution 300dpi
TeXDict begin

%%EndSetup
%%Page: 1 1
1 0 bop 75 361 a Fj(Chapter)34 b(1)75 568 y Fi(Real-time,)42
b(Em)m(b)s(edded)e(Extensions)75 693 y(and)f(Pro\014les)75
933 y Fh(1.1)59 b(Intro)r(duction)75 1035 y Fg(The)19
b(goal)f(of)f(real-time)j Ff(MPI)d Fg(\()p Ff(MPI/RT)p
Fg(\))g(is)i(to)f(pro)o(vide)h(a)f(common,)g(p)q(ortable)h(in)o
(terface)f(for)g(pro-)75 1091 y(gramming)h(real-time)h(concurren)o(t)g
(systems.)31 b Ff(MPI/RT)19 b Fg(do)q(es)h(not)f(\(and)g(should)i
(not\))d(attempt)h(to)75 1148 y(address)d(issues)i(of)d(real-time)j
(systems)e(suc)o(h)g(as)g(sc)o(heduling)j(or)c(pro)q(cess)i
(priorities,)g(the)g(implemen-)75 1204 y(tation)g(of)g(whic)o(h)h(ma)o
(y)e(v)m(ary)h(greatly)g(from)g(system)f(to)h(system.)25
b(Rather,)18 b Ff(MPI/RT)e Fg(should)j(simply)75 1261
y(pro)o(vide)i(mec)o(hanisms)g(to)f(comm)o(unicate)h(suc)o(h)g
(information)g(to)f(the)h(underlying)h(soft)o(w)o(are)d(la)o(y)o(ers)75
1317 y(when)d(necessary)l(.)166 1374 y Ff(MPI/RT)f Fg(supp)q(orts)g
(four)g(basic)g(mo)q(dels)h(of)f(real-time)h(programming:)143
1480 y Fe(\017)23 b Fg(priorit)o(y-based)143 1574 y Fe(\017)g
Fg(time-driv)o(en)143 1668 y Fe(\017)g Fg(ev)o(en)o(t-driv)o(en)143
1761 y Fe(\017)g Fg(ad)15 b(ho)q(c)75 1868 y(These)h(paradigms)f(are)g
(addressed)g(b)o(y)g Ff(MPI/RT)g Fg(under)h(the)f(follo)o(wing)h
(guidelines:)143 1974 y Fe(\017)23 b Fg(Mak)o(e)14 b(minimal)j(c)o
(hanges)e(to)g Ff(MPI)p Fg(,)f(using)i(existing)g(functionalit)o(y)g
(whenev)o(er)g(p)q(ossible.)143 2068 y Fe(\017)23 b Fg(Use)13
b(a)h(systems)f(pro)q(cess)h(approac)o(h)f(for)g(auxiliary)i(mec)o
(hanisms)f(suc)o(h)g(as)f(sc)o(hedulers)i(and)f(load)189
2124 y(balancers.)26 b(\(I.e.,)17 b(consider)h(these)f(functions)h(to)e
(b)q(e)i(implemen)o(ted)h(as)e(a)g(separate)f(collection)189
2181 y(of)e(pro)q(cesses)i(whic)o(h)g(are)f(in)o(teracted)g(with)h(via)
f(standard)g Ff(MPI/RT)g Fg(mec)o(hanisms.\))143 2274
y Fe(\017)23 b Ff(MPI)e Fg(functionalit)o(y)i(will)g(b)q(e)f(rendered)h
(optional)f(if)g(it)g(is)h(deemed)f(incompatible)i(with)e(the)189
2331 y(goals)15 b(of)h Ff(MPI/RT)p Fg(.)f(\(I.e.,)g Ff(MPI/RT)h
Fg(ma)o(y)f(supp)q(ort)h(only)h(a)f(subset)g(of)f(the)h
Ff(MPI)g Fg(functionalit)o(y)l(,)189 2387 y(esp)q(ecially)h(where)f(em)
o(b)q(edded)h(systems)d(are)h(concerned.\))166 2494 y(This)20
b(c)o(hapter)f(pro)o(vides)h(relev)m(an)o(t)g(mec)o(hanisms)g(for)e
(eac)o(h)i(of)f(the)g(four)g(real-time)h(paradigms)75
2550 y(under)c(the)f(guidelines)j(giv)o(en)e(ab)q(o)o(v)o(e.)964
2828 y(1)p eop
%%Page: 2 2
2 1 bop 75 -100 a Fg(2)223 b Fd(CHAPTER)15 b(1.)35 b(REAL-TIME,)15
b(EMBEDDED)f(EXTENSIONS)j(AND)e(PR)o(OFILES)75 49 y Fh(1.2)59
b(F)n(ault-T)-5 b(olerant)19 b(Extensions)75 151 y Fg(F)l
(ault-tolerance)h(is)g(a)g(particularly)g(common)g(issue)g(in)g
(real-time)h(systems,)f(so)f(w)o(e)g(address)h(it)f(up)75
207 y(fron)o(t.)g(Doing)c(so)g(greatly)g(simpli\014es)i(the)f
(time-driv)o(en)g(extensions)g(section)g(b)q(elo)o(w.)166
264 y(The)j(primary)g(fault-tolerance)h(mec)o(hanism)g(in)g
Ff(MPI/RT)e Fg(is)i(the)f(timeout{blo)q(c)o(king)h(comm)o(u-)75
320 y(nication)e(op)q(erations)e(should)i(susp)q(end)f(only)g(for)f(a)g
(sp)q(eci\014ed)j(amoun)o(t)d(of)g(time)g(b)q(efore)h(returning)g(a)75
377 y(v)m(alue,)f Ff(MPI)p 290 377 14 2 v 16 w(TIMEOUT)p
Fg(,)f(indicating)j(that)d(the)g(op)q(eration)h(did)h(not)e(complete)h
(b)q(efore)g(the)f(deadline.)75 433 y(\(That)i(is,)i(the)f(deadline)i
(is)f(relativ)o(e)f(to)f(the)i(p)q(oin)o(t)f(the)g(comm)o(unication)h
(is)f(initiated.\))30 b(Time)18 b(will)75 489 y(b)q(e)f(sp)q(eci\014ed)
h(b)o(y)e(a)g(double-precision)j(\015oating)d(p)q(oin)o(t)g(v)m(alue,)h
(as)f(is)h(returned)f(b)o(y)g(curren)o(t)g Ff(MPI)g Fg(time)75
546 y(routines.)35 b(Deadlines)22 b(whic)o(h)f(are)e(sp)q(eci\014ed)k
(to)c(a)h(greater)f(accuracy)h(than)g(the)h(a)o(v)m(ailable)g(system)75
602 y(clo)q(c)o(k)16 b(will)h(b)q(e)f(rounded)g(to)e(the)h(nearest)g
(accurate)g(v)m(alue.)166 659 y(There)22 b(needs)h(to)e(b)q(e)i(some)e
(discussion)j(as)d(to)h(ho)o(w)f(the)h(message)f(should)i(b)q(e)g
(handled)g(if)g(it)75 715 y(ev)o(er)17 b(do)q(es)g(ev)o(en)o(tually)i
(arriv)o(e.)25 b(One)18 b(line)h(of)d(reasoning)i(w)o(ould)f(suggest)g
(that)f(the)h(message)g(should)75 772 y(b)q(e)j(discarded)g
(automatically)f(b)o(y)g(the)h Ff(MPI/RT)e Fg(implemen)o(tation.)33
b(Ho)o(w)o(ev)o(er,)18 b(this)i(requires)g(that)75 828
y(additional)14 b(information,)f(suc)o(h)f(as)g(a)g(sequence)i(n)o(um)o
(b)q(er,)f(b)q(e)g(included)i(in)e(the)g(message)f(to)g(guaran)o(tee)75
885 y(that)18 b(the)h(righ)o(t)f(message)g(w)o(as)g(discarded.)31
b(Alternativ)o(ely)l(,)21 b(the)e(user)f(could)i(b)q(e)f(made)g(resp)q
(onsible)75 941 y(for)14 b(recognizing)j(that)d(a)h(subsequen)o(t)h
(receiv)o(e)g(had)f(pic)o(k)o(ed)h(up)g(an)f(o)o(v)o(erdue)g(message)g
(and)g(discard)h(it)75 998 y(man)o(ually)l(.)k(The)15
b(former)e(approac)o(h)h(certainly)h(is)g(m)o(uc)o(h)f(cleaner)h(and)f
(seems)g(to)g(add)g(little)i(o)o(v)o(erhead.)166 1054
y(Other)d(fault-tolerance)h(issues,)g(suc)o(h)g(as)f(routines)g(for)g
(remo)o(ving)g(failed)h(pro)q(cesses)g(from)e(a)h(com-)75
1110 y(m)o(unicator,)e(are)g(not)g(addressed)h(here.)19
b(Also,)11 b(the)h(issue)g(of)e(fault-toleran)o(t)h(collectiv)o(e)i
(comm)o(unication)75 1167 y(needs)j(to)f(b)q(e)g(dealt)h(with.)75
1289 y Fc(1.2.1)49 b(Blo)q(cking)18 b(P)o(oint-to-P)o(oint)f(Comm)o
(unications)75 1374 y Fg(Belo)o(w)e(are)g(the)h(timeout)f(v)m(arian)o
(ts)g(of)g(the)g(blo)q(c)o(king)i(comm)o(unication)e(op)q(erations.)75
1525 y Ff(MPI)p 160 1525 V 16 w(SEND)p 293 1525 V 17
w(SCHED\(buf,)g(count,)h(datat)o(yp)q(e,)h(dest,)f(tag,)f(when,)h(comm)
m(\))117 1603 y Fb(IN)155 b Ff(buf)527 b Fb(initial)12
b(address)j(of)f(send)g(bu\013er)117 1678 y(IN)155 b
Ff(count)482 b Fb(n)o(um)o(b)q(er)13 b(of)h(elemen)o(ts)f(in)h(send)h
(bu\013er)117 1753 y(IN)155 b Ff(datat)o(yp)q(e)424 b
Fb(datat)o(yp)q(e)14 b(of)g(eac)o(h)g(send)h(bu\013er)g(elemen)o(t)117
1828 y(IN)155 b Ff(tag)526 b Fb(m)p Fg(essage)14 b(tag)117
1903 y Fb(IN)155 b Ff(dest)511 b Fb(rank)14 b(of)f(destination)117
1978 y(IN)155 b Ff(when)490 b Fb(time)13 b(b)o(y)g(whic)o(h)h(message)g
(is)g(to)f(b)q(e)i(completely)d(sen)o(t)117 2053 y(IN)155
b Ff(comm)466 b Fb(comm)o(unicator)75 2178 y Fg(There)15
b(are)g(analogous)g(functions)h(called)143 2272 y Fe(\017)23
b Ff(MPI)p 274 2272 V 15 w(BSEND)p 436 2272 V 18 w(SCHED)143
2365 y Fe(\017)g Ff(MPI)p 274 2365 V 15 w(SSEND)p 431
2365 V 17 w(SCHED)143 2459 y Fe(\017)g Ff(MPI)p 274 2459
V 15 w(RSEND)p 435 2459 V 18 w(SCHED)1967 46 y Fa(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 3
3 2 bop 75 -100 a Fd(1.2.)34 b(F)-5 b(A)o(UL)l(T-TOLERANT)16
b(EXTENSIONS)932 b Fg(3)75 49 y Ff(MPI)p 160 49 14 2
v 16 w(RECV)p 291 49 V 17 w(SCHED\(buf,)16 b(count,)g(datat)o(yp)q(e,)g
(dest,)h(tag,)d(when,)i(comm)n(,)11 b(status\))117 126
y Fb(OUT)108 b Ff(buf)527 b Fb(initial)12 b(address)j(of)f(send)g
(bu\013er)117 202 y(IN)155 b Ff(count)482 b Fb(n)o(um)o(b)q(er)13
b(of)h(elemen)o(ts)f(in)h(receiv)o(e)h(bu\013er)117 277
y(IN)155 b Ff(datat)o(yp)q(e)424 b Fb(datat)o(yp)q(e)14
b(of)g(eac)o(h)g(receiv)o(e)h(bu\013er)g(elemen)o(t)117
352 y(IN)155 b Ff(dest)511 b Fb(rank)14 b(of)f(source)117
427 y(IN)155 b Ff(tag)526 b Fb(m)p Fg(essage)14 b(tag)117
502 y Fb(IN)155 b Ff(when)490 b Fb(time)13 b(b)o(y)g(whic)o(h)h
(message)g(is)g(to)f(b)q(e)i(completely)d(receiv)o(ed)117
577 y(IN)155 b Ff(comm)466 b Fb(comm)o(unicator)117 652
y(OUT)108 b Ff(status)476 b Fb(status)15 b(ob)r(ject)75
777 y Fg(As)g(men)o(tioned)h(ab)q(o)o(v)o(e,)f(the)g(coun)o(tdo)o(wn)g
(to)f(the)h(timeout)h(starts)e(the)h(when)h(the)f(call)h(is)g(made.)75
899 y Fc(1.2.2)49 b(Nonblo)q(cking)18 b(P)o(oint-to-P)o(oint)f(Comm)o
(unications)75 984 y Ff(MPI/RT)e Fg(w)o(ould)g(also)g(pro)o(vide)h(non)
o(blo)q(c)o(king)h(p)q(oin)o(t-to-p)q(oin)o(t)f(comm)o(unication)f
(with)h(timeouts.)75 1135 y Ff(MPI)p 160 1135 V 16 w(ISEND)p
306 1135 V 16 w(SCHED\(buf,)g(count,)g(datat)o(yp)q(e,)h(dest,)f(tag,)f
(when,)h(comm)m(,)c(request\))117 1213 y Fb(IN)155 b
Ff(buf)527 b Fb(initial)12 b(address)j(of)f(send)g(bu\013er)117
1288 y(IN)155 b Ff(count)482 b Fb(n)o(um)o(b)q(er)13
b(of)h(elemen)o(ts)f(in)h(send)h(bu\013er)117 1363 y(IN)155
b Ff(datat)o(yp)q(e)424 b Fb(datat)o(yp)q(e)14 b(of)g(eac)o(h)g(send)h
(bu\013er)g(elemen)o(t)117 1438 y(IN)155 b Ff(dest)511
b Fb(rank)14 b(of)f(destination)117 1513 y(IN)155 b Ff(tag)526
b Fb(m)p Fg(essage)14 b(tag)117 1588 y Fb(IN)155 b Ff(when)490
b Fb(time)13 b(b)o(y)g(whic)o(h)h(message)g(is)g(to)f(b)q(e)i
(completely)d(sen)o(t)117 1663 y(IN)155 b Ff(comm)466
b Fb(comm)o(unicator)117 1738 y(OUT)108 b Ff(request)452
b Fb(comm)o(unication)11 b(request)75 1863 y Fg(There)k(are)g
(analogous)g(functions)h(called)143 1957 y Fe(\017)23
b Ff(MPI)p 274 1957 V 15 w(IBSEND)p 449 1957 V 17 w(SCHED)143
2051 y Fe(\017)g Ff(MPI)p 274 2051 V 15 w(ISSEND)p 444
2051 V 17 w(SCHED)143 2144 y Fe(\017)g Ff(MPI)p 274 2144
V 15 w(IRSEND)p 448 2144 V 17 w(SCHED)-32 46 y Fa(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 4
4 3 bop 75 -100 a Fg(4)223 b Fd(CHAPTER)15 b(1.)35 b(REAL-TIME,)15
b(EMBEDDED)f(EXTENSIONS)j(AND)e(PR)o(OFILES)75 49 y Ff(MPI)p
160 49 14 2 v 16 w(IRECV)p 304 49 V 17 w(SCHED\(buf,)g(count,)i(datat)o
(yp)q(e,)f(dest,)g(tag,)f(when,)h(comm)m(,)c(request\))117
126 y Fb(OUT)108 b Ff(buf)527 b Fb(initial)12 b(address)j(of)f(send)g
(bu\013er)117 202 y(IN)155 b Ff(count)482 b Fb(n)o(um)o(b)q(er)13
b(of)h(elemen)o(ts)f(in)h(receiv)o(e)h(bu\013er)117 277
y(IN)155 b Ff(datat)o(yp)q(e)424 b Fb(datat)o(yp)q(e)14
b(of)g(eac)o(h)g(receiv)o(e)h(bu\013er)g(elemen)o(t)117
352 y(IN)155 b Ff(dest)511 b Fb(rank)14 b(of)f(source)117
427 y(IN)155 b Ff(tag)526 b Fb(m)p Fg(essage)14 b(tag)117
502 y Fb(IN)155 b Ff(when)490 b Fb(time)13 b(b)o(y)g(whic)o(h)h
(message)g(is)g(to)f(b)q(e)i(completely)d(receiv)o(ed)117
577 y(IN)155 b Ff(comm)466 b Fb(comm)o(unicator)117 652
y(OUT)108 b Ff(request)452 b Fb(comm)o(unication)11 b(request)166
777 y Fg(The)h(comm)o(unication)h(requests)f(returned)g(b)o(y)g(these)g
(routines)g(are)g(in)o(teracted)g(with)g(in)h(the)f(same)75
833 y(manner)17 b(as)g(those)f(for)g(normal)h(non)o(blo)q(c)o(king)i
(comm)o(unication)e(op)q(erations.)25 b(As)17 b(with)h(non)o(blo)q(c)o
(king)75 890 y(routines,)d(the)g(p)q(oin)o(t)g(of)g(timeout)g(is)g
(relativ)o(e)h(to)e(the)h(time)g(at)g(whic)o(h)g(the)g(call)h(w)o(as)f
(made.)k(Ho)o(w)o(ev)o(er,)75 946 y(if)e(an)g Ff(MPI)p
268 946 V 16 w(W)l(AIT)f Fg(op)q(eration)h(has)g(not)f(returned)h(b)o
(y)g(the)g(time)g(sp)q(eci\014ed)i(b)o(y)d(the)h Ff(when)h
Fg(parameter,)75 1003 y Ff(MPI)p 160 1003 V 16 w(TIMEOUT)d
Fg(is)g(returned.)20 b(Similarly)l(,)d(if)f(a)e(call)j(to)d
Ff(MPI)p 1146 1003 V 16 w(TEST)h Fg(w)o(ould)g(return)g(a)g(false)g
Ff(\015ag)g Fg(after)75 1059 y(the)g(deadline)j(has)d(passed,)g(then)g
(it)h(returns)f Ff(MPI)p 962 1059 V 16 w(TIMEOUT)p Fg(.)75
1181 y Fc(1.2.3)49 b(P)o(ersistent)14 b(P)o(oint-to-P)o(oint)j(Comm)o
(unications)75 1267 y Fg(P)o(ersisten)o(t)f(comm)o(unication)h
(routines)g(will)h(b)q(e)f(used)g(for)f(rep)q(etitiv)o(e)h(op)q
(erations.)24 b(In)17 b(this)g(case,)f(the)75 1323 y(user)f(sp)q
(eci\014es)i(an)e(in)o(terv)m(al)i(at)d(whic)o(h)i(the)g(op)q(eration)f
(is)h(to)e(o)q(ccur.)21 b(These)15 b(routines)h(follo)o(w.)75
1474 y Ff(MPI)p 160 1474 V 16 w(SEND)p 293 1474 V 17
w(INIT)p 399 1474 V 15 w(SCHED\(buf,)g(count,)g(datat)o(yp)q(e,)h
(dest,)f(tag,)f(when,)h(comm)m(,)c(request\))117 1551
y Fb(IN)155 b Ff(buf)527 b Fb(initial)12 b(address)j(of)f(send)g
(bu\013er)117 1626 y(IN)155 b Ff(count)482 b Fb(n)o(um)o(b)q(er)13
b(of)h(elemen)o(ts)f(in)h(send)h(bu\013er)117 1702 y(IN)155
b Ff(datat)o(yp)q(e)424 b Fb(datat)o(yp)q(e)14 b(of)g(eac)o(h)g(send)h
(bu\013er)g(elemen)o(t)117 1777 y(IN)155 b Ff(dest)511
b Fb(rank)14 b(of)f(destination)117 1852 y(IN)155 b Ff(tag)526
b Fb(m)p Fg(essage)14 b(tag)117 1927 y Fb(IN)155 b Ff(when)490
b Fb(time)13 b(b)o(y)g(whic)o(h)h(message)g(is)g(to)f(b)q(e)i
(completely)d(sen)o(t)117 2002 y(IN)155 b Ff(comm)466
b Fb(comm)o(unicator)117 2077 y(OUT)108 b Ff(request)452
b Fb(comm)o(unication)11 b(request)75 2202 y Fg(There)k(are)g
(analogous)g(functions)h(called)143 2295 y Fe(\017)23
b Ff(MPI)p 274 2295 V 15 w(BSEND)p 436 2295 V 18 w(INIT)p
543 2295 V 15 w(SCHED)143 2389 y Fe(\017)g Ff(MPI)p 274
2389 V 15 w(SSEND)p 431 2389 V 17 w(INIT)p 537 2389 V
16 w(SCHED)143 2483 y Fe(\017)g Ff(MPI)p 274 2483 V 15
w(RSEND)p 435 2483 V 18 w(INIT)p 542 2483 V 15 w(SCHED)1967
46 y Fa(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 5
5 4 bop 75 -100 a Fd(1.2.)34 b(F)-5 b(A)o(UL)l(T-TOLERANT)16
b(EXTENSIONS)932 b Fg(5)75 49 y Ff(MPI)p 160 49 14 2
v 16 w(RECV)p 291 49 V 17 w(INIT)p 397 49 V 16 w(SCHED\(buf,)16
b(count,)g(datat)o(yp)q(e,)g(dest,)g(tag,)f(when,)h(comm)m(,)c
(request\))117 126 y Fb(OUT)108 b Ff(buf)527 b Fb(initial)12
b(address)j(of)f(send)g(bu\013er)117 202 y(IN)155 b Ff(count)482
b Fb(n)o(um)o(b)q(er)13 b(of)h(elemen)o(ts)f(in)h(receiv)o(e)h
(bu\013er)117 277 y(IN)155 b Ff(datat)o(yp)q(e)424 b
Fb(datat)o(yp)q(e)14 b(of)g(eac)o(h)g(receiv)o(e)h(bu\013er)g(elemen)o
(t)117 352 y(IN)155 b Ff(dest)511 b Fb(rank)14 b(of)f(source)117
427 y(IN)155 b Ff(tag)526 b Fb(m)p Fg(essage)14 b(tag)117
502 y Fb(IN)155 b Ff(when)490 b Fb(time)13 b(b)o(y)g(whic)o(h)h
(message)g(is)g(to)f(b)q(e)i(completely)d(receiv)o(ed)117
577 y(IN)155 b Ff(comm)466 b Fb(comm)o(unicator)117 652
y(OUT)108 b Ff(request)452 b Fb(comm)o(unication)11 b(request)166
777 y Fg(As)j(with)h(the)g(normal)f(p)q(ersisten)o(t)h(comm)o
(unication)g(routines,)g Ff(MPI)p 1361 777 V 15 w(ST)l(ART)h
Fg(is)f(used)g(to)f(initiate)75 833 y(an)c(instance)h(of)f(a)g(sc)o
(heduled)i(p)q(ersisten)o(t)f(comm)o(unication)f(and)h(is)g(the)f(p)q
(oin)o(t)g(at)g(whic)o(h)h(the)f(coun)o(tdo)o(wn)75 890
y(starts.)29 b(Similarly)l(,)22 b(calls)d(to)g Ff(MPI)p
686 890 V 15 w(W)l(AIT)g Fg(return)g Ff(MPI)p 1058 890
V 15 w(TIMEOUT)g Fg(if)g(they)g(ha)o(v)o(e)g(not)f(returned)h(b)o(y)75
946 y(the)14 b(deadline,)i(and)f(calls)g(to)f Ff(MPI)p
671 946 V 16 w(TEST)g Fg(result)h Ff(MPI)p 1023 946 V
15 w(TIMEOUT)g Fg(if)g(they)f(w)o(ould)g(return)h(a)f(false)g
Ff(\015ag)75 1003 y Fg(after)g(the)i(app)q(oin)o(ted)g(time)f(has)g
(passed.)75 1124 y Fc(1.2.4)49 b(P)o(ersistent)14 b(P)o(oint-to-P)o
(oint)j(Comm)o(unication)d(Handlers)75 1210 y Ff(MPI/RT)19
b Fg(also)h(pro)o(vides)g(fault-tolerance)g(for)f(p)q(ersisten)o(t)h
(comm)o(unication)h(handlers,)g(as)e(outlined)75 1267
y(b)o(y)d(the)g(prop)q(osal)h(of)f(Carter)f(Edw)o(ards)h(in)h(the)f
(one-sided)i(comm)o(unications)f(c)o(hapter.)23 b(W)l(e)16
b(prop)q(ose)75 1323 y(to)i(augmen)o(t)f(the)i(handler)g(routines)g(in)
g(that)e(prop)q(osal)i(b)o(y)f(adding)h(a)f(routine)h(to)e(b)q(e)i
(called)h(if)f(the)75 1380 y(message)c(has)g(not)g(arriv)o(ed)g(b)o(y)g
(the)g(deadline.)75 1531 y Ff(MPI)p 160 1531 V 16 w(POST)p
294 1531 V 17 w(HANDLER)p 519 1531 V 17 w(SCHED\(request,)i(extra)p
960 1531 V 16 w(state,)f(recv)p 1173 1531 V 16 w(handler,)g(timeout)p
1504 1531 V 14 w(handler\))117 1608 y Fb(IN)155 b Ff(request)452
b Fb(comm)o(unication)11 b(request)117 1683 y(IN)155
b Ff(extra)p 416 1683 V 17 w(state)384 b Fb(extra)15
b(state)f(for)g(handler)117 1758 y(IN)155 b Ff(recv)p
398 1758 V 17 w(handler)355 b Fb(receiv)o(e)15 b(handler)117
1833 y(IN)155 b Ff(timeout)p 469 1833 V 15 w(handler)286
b Fb(timeout)13 b(handler)75 1958 y Fg(W)l(e)i(prop)q(ose)h(analogous)e
(functions)143 2051 y Fe(\017)23 b Ff(MPI)p 274 2051
V 15 w(POST)p 407 2051 V 17 w(ANY)p 516 2051 V 18 w(HANDLER)p
742 2051 V 17 w(SCHED)143 2145 y Fe(\017)g Ff(MPI)p 274
2145 V 15 w(POST)p 407 2145 V 17 w(ALL)p 504 2145 V 16
w(HANDLER)p 728 2145 V 17 w(SCHED)143 2239 y Fe(\017)g
Ff(MPI)p 274 2239 V 15 w(POST)p 407 2239 V 17 w(SOME)p
549 2239 V 17 w(HANDLER)p 774 2239 V 17 w(SCHED)166 2333
y Fg(These)53 b(handler)i(v)m(arian)o(ts)e(can)g(only)h(b)q(e)g(used)g
(with)f(requests)g(returned)h(b)o(y)75 2389 y Ff(MPI)p
160 2389 V 16 w(RECV)p 291 2389 V 17 w(INIT)p 397 2389
V 16 w(SCHED)p Fg(,)20 b(giv)o(en)h(in)g(the)g(subsection)g(ab)q(o)o(v)
o(e.)35 b(Also,)22 b(the)e(user)h(can)f(mak)o(e)g(either)75
2446 y Ff(recv)p 155 2446 V 16 w(handler)31 b Fg(or)f
Ff(timeout)p 559 2446 V 14 w(handler)h Fg(n)o(ull.)66
b(The)30 b(former)g(case)g(is)h(equiv)m(alen)o(t)g(to)f(the)g(original)
75 2502 y Ff(MPI)p 160 2502 V 16 w(POST)p 294 2502 V
17 w(HANDLER)13 b Fg(call.)20 b(The)13 b(latter)f(case)g(indicates)i
(that)e(only)h(the)f(case)h(of)f(a)g(missed)h(deadline)75
2559 y(requires)j(immediate)g(handling.)-32 46 y Fa(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 6
6 5 bop 75 -100 a Fg(6)223 b Fd(CHAPTER)15 b(1.)35 b(REAL-TIME,)15
b(EMBEDDED)f(EXTENSIONS)j(AND)e(PR)o(OFILES)75 49 y Fh(1.3)59
b(Prio)n(rit)n(y-Based)20 b(Real-Time)c(Extensions)75
151 y Fg(In)h(the)f(priorit)o(y-based)h(real-time)h(programming)d
(paradigm,)i(pro)q(cess)f(and)h(message)f(priorities)h(are)75
207 y(used)f(to)e(meet)h(timing)h(sp)q(eci\014cations.)75
329 y Fc(1.3.1)49 b(Pro)q(cess)15 b(Prio)o(rit)o(y)75
415 y Fg(Because)j(pro)q(cess)g(priorities)h(can)e(b)q(e)h(handled)h
(in)g(a)e(v)m(ariet)o(y)g(of)g(w)o(a)o(ys,)g(it)h(is)g(extremely)g
(di\016cult)h(to)75 471 y(pro)o(vide)e(p)q(ortable)g(mec)o(hanisms)h
(to)e(sp)q(ecify)i(them,)e(and)h Ff(MPI/RT)f Fg(do)q(es)h(not)g
(directly)h(address)f(this)75 528 y(issue.)j(The)13 b(one)g
(circumstance)h(in)f(whic)o(h)h(pro)q(cess)f(priorit)o(y)g(is)g
(undoubtedly)i(relev)m(an)o(t)e(to)f Ff(MPI/RT)g Fg(is)75
584 y(in)i(the)f(transmission)h(of)e(priorit)o(y)i(information)f(to)g
(the)g(run)o(time)g(system)g(in)h Ff(MPI-2)f Fg(dynamic)h(pro)q(cess)75
641 y(creation)c(calls.)20 b(W)l(e)10 b(recommend)h(that)e(suc)o(h)i
(information)f(b)q(e)h(sp)q(eci\014ed)i(in)e(a)f(system-sp)q(eci\014c)i
(manner)75 697 y(via)j(the)h Ff(info)f Fg(argumen)o(t.)166
753 y(Arguably)l(,)e Ff(MPI/RT)f Fg(should)i(also)f(address)f(the)h
(issue)h(of)e(priorit)o(y)h(in)o(v)o(ersion)g(\(a)f(phenomenon)i(in)75
810 y(whic)o(h)i(a)f(lo)o(w-priorit)o(y)h(pro)q(cess)g(susp)q(ends)h(a)
e(high-priorit)o(y)h(pro)q(cess)g(b)o(y)g(preempting)g(lo)o(w)o
(er-priorit)o(y)75 866 y(pro)q(cesses)j(whic)o(h)h(w)o(ould)f(send)h
(messages)e(to)h(the)g(high-priorit)o(y)h(pro)q(cess\).)31
b(W)l(e)19 b(put)g(forw)o(ard)e(t)o(w)o(o)75 923 y(prop)q(osals)e(on)h
(that)e(fron)o(t.)75 1043 y Ff(Prop)q(osal)h(1:)20 b(Do)14
b(Nothing)75 1129 y Fg(Programmers)9 b(m)o(ust)i(a)o(v)o(oid)g(priorit)
o(y)g(in)o(v)o(ersion)h(b)o(y)f(assigning)h(priorities)g(in)g(suc)o(h)g
(a)e(w)o(a)o(y)g(that)h(priorit)o(y)75 1185 y(in)o(v)o(ersion)k(do)q
(es)g(not)f(happ)q(en.)21 b(In)15 b(short,)e(an)o(y)h(program)g(whic)o
(h)h(has)f(a)g(lo)o(w-priorit)o(y)h(pro)q(cess)g(sending)75
1242 y(messages)g(to)g(a)g(high-priorit)o(y)i(pro)q(cess)f(is)g(asking)
g(for)f(trouble.)22 b(Note,)15 b(to)q(o,)f(that)h(priorit)o(y)h(in)o(v)
o(ersion)75 1298 y(can)i(result)h(from)f(a)g(n)o(um)o(b)q(er)g(of)g
(resource)h(con)o(ten)o(tion)f(situations,)h(so)f(eliminating)j(it)d
(in)h(message-)75 1354 y(passing)f(do)q(es)g(not)f(\014x)h(the)f
(problem.)28 b(Also,)18 b(the)g(priorit)o(y)f(inheritance)j(mec)o
(hanisms)e(necessary)g(to)75 1411 y(alleviate)f(priorit)o(y)e(in)o(v)o
(ersion)h(ma)o(y)e(not)h(b)q(e)h(univ)o(ersally)h(implemen)o(table.)75
1531 y Ff(Prop)q(osal)e(2:)20 b(Help)c(Fix)e(the)j(Problem)75
1617 y Fg(The)22 b Ff(MPI/RT)f Fg(implemen)o(tation)i(m)o(ust)e(ensure)
h(that)f(a)g(pro)q(cess)h(inherits)h(a)f(priorit)o(y)g(at)f(least)g(as)
75 1673 y(high)g(as)e(an)o(y)g(pro)q(cess)i(whic)o(h)f(is)g(blo)q(c)o
(k)o(ed)h(receiving)h(a)d(message)g(from)g(it.)34 b(This)21
b(ma)o(y)e(mean)h(that)75 1730 y(in)c(circumstances)g(where)g(a)f(pro)q
(cess)g(is)h(receiving)h(from)e Ff(MPI)p 1177 1730 14
2 v 16 w(ANY)p 1285 1730 V 17 w(SOURCE)i Fg(in)f(a)f(comm)o(unicator,)
75 1786 y(that)f(pro)q(cess's)i(priorit)o(y)f(information)g(m)o(ust)g
(b)q(e)h(broadcasted)f(to)f(all)i(of)f(the)g(p)q(oten)o(tial)h
(senders.)75 1908 y Fc(1.3.2)49 b(Message)16 b(Prio)o(rities)75
1994 y Fg(With)d(regard)g(to)f(message)g(priorities,)i(ho)o(w)o(ev)o
(er,)f Ff(MPI/RT)f Fg(certainly)i(m)o(ust)e(pro)o(vide)i(explicit)h
(mec)o(ha-)75 2050 y(nisms)c(for)g(their)g(sp)q(eci\014cation)i(and)e
(main)o(tenance.)19 b(Message)10 b(priorit)o(y)i(w)o(orks)d(basically)k
(as)e(one)g(w)o(ould)75 2107 y(exp)q(ect:)19 b(Giv)o(en)14
b(the)e(c)o(hoice)i(b)q(et)o(w)o(een)f(p)q(erforming)g(t)o(w)o(o)f
(di\013eren)o(t)h(comm)o(unication)g(op)q(erations)g(\(suc)o(h)75
2163 y(as)h(receiving)i(one)e(message)g(or)g(another\),)f(the)i(higher)
g(priorit)o(y)f(comm)o(unication)h(is)g(p)q(erformed)g(\014rst.)75
2220 y(If)j(the)f(high)h(priorit)o(y)g(comm)o(unication)g(blo)q(c)o(ks)
g(or)e(stalls,)i(lo)o(w)o(er)f(priorit)o(y)h(comm)o(unication)g(ma)o(y)
e(b)q(e)75 2276 y(initiated.)21 b(Notice)16 b(that)e(in)i(the)f
(general)h(case,)e(this)i(implies)h(that)d(comm)o(unication)i(ma)o(y)e
(need)i(to)e(b)q(e)75 2332 y(preempted.)28 b(F)l(or)17
b(example,)i(if)g(the)f(user)f(initiates)j(a)d(lo)o(w-priorit)o(y)h
(non)o(blo)q(c)o(king)h(send,)g(the)f(b)q(egins)75 2389
y(a)i(high-priorit)o(y)h(send,)h(the)e(lo)o(w-priorit)o(y)h(send)f(w)o
(ould)h(b)q(e)g(stalled)g(in)g(fa)o(v)o(or)e(of)g(the)i(high-priorit)o
(y)75 2445 y(send.)36 b(Also,)21 b(as)f(with)h(priorities)g(in)g(other)
f(situations,)i(it)e(is)h(p)q(ossible)h(that)d(deadlo)q(c)o(k)j
(situations)75 2502 y(could)16 b(result.)k(Whether)14
b(or)h(not)f Ff(MPI/RT)g Fg(systems)g(should)i(attempt)d(to)h(address)h
(this)g(is)g(sub)s(ject)g(to)75 2558 y(debate.)20 b(Certainly)c(man)o
(y)f(systems)f(pro)o(vide)i(no)f(supp)q(ort)g(for)f(deadlo)q(c)o(k)i
(detection)g(and)g(resolution.)75 2615 y(In)d(some)g(circumstances)g
(timeouts)g(pro)o(vide)g(a)g(w)o(a)o(y)e(to)h(break)h(out)f(of)h
(deadlo)q(c)o(k)g(\(although)g(a)f(liv)o(elo)q(c)o(k)75
2671 y(situation)h(ma)o(y)f(just)g(as)h(easily)g(result,)h(unless)f
(the)g(programmer)f(uses)h(the)f(opp)q(ortunit)o(y)h(to)f(explicitly)
1967 46 y Fa(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 7
7 6 bop 75 -100 a Fd(1.4.)34 b(TIME-DRIVEN)16 b(REAL-TIME)g(EXTENSIONS)
758 b Fg(7)75 49 y(a)o(v)o(oid)17 b(the)h(recurrence)h(of)e(deadlo)q(c)
o(k\).)28 b(Finally)l(,)20 b(message)d(priorit)o(y)h(ma)o(y)f(result)h
(in)h(\\unfair")f(situa-)75 106 y(tions.)24 b(Suc)o(h)18
b(circumstances)f(are)g(fully)h(the)e(programmer's)f(resp)q(onsibilit)o
(y)k(to)d(a)o(v)o(oid,)h(if)g(necessary)l(.)75 162 y(W)l(e)e(put)h
(forw)o(ard)e(t)o(w)o(o)f(prop)q(osals)j(for)e(sp)q(ecifying)j(message)
e(priorit)o(y)l(.)75 282 y Ff(Prop)q(osal)g(1:)20 b(Use)c(T)l(ags)75
368 y(MPI)10 b Fg(already)h(pro)o(vides)g(a)f(mec)o(hanism)h(to)f(allo)
o(w)g(the)h(programmer)e(to)h(distinguish)j(b)q(et)o(w)o(een)d
(messages)75 424 y(sen)o(t)k(under)i(a)e(comm)o(unicator,)g(namely)i
(message)e(tags.)19 b(T)l(o)14 b(receiv)o(e)i(the)f(highest)g(priorit)o
(y)g(message,)75 481 y(a)k(pro)q(cess)g(w)o(ould)g(simply)i(receiv)o(e)
e(using)h(a)f(new)g(prede\014ned)i(v)m(alue,)g Ff(MPI)p
1423 481 14 2 v 15 w(MAX)p 1538 481 V 17 w(T)l(A)o(G)p
Fg(,)e(as)g(the)g(tag)75 537 y(parameter.)k(\()p Ff(MPI/RT)15
b Fg(w)o(ould)i(also)g(pro)o(vide)f(an)h(analogous)f(v)m(alue,)h
Ff(MPI)p 1393 537 V 16 w(MIN)p 1494 537 V 16 w(T)l(A)o(G)p
Fg(,)g(for)f(pro)q(cesses)75 594 y(that)i(use)i(lo)o(w)o(er)e(n)o(um)o
(b)q(ers)h(for)g(higher)g(logical)i(priorities.\))32
b(This)19 b(allo)o(ws)g(priorit)o(y)g(information)h(to)75
650 y(easily)c(b)q(e)g(sp)q(eci\014ed)h(on)f(a)e(message-b)o(y-message)
h(basis,)g(unlik)o(e)i(the)e(next)h(prop)q(osal.)75 770
y Ff(Prop)q(osal)f(2:)20 b(Use)c(Comm)m(unicato)o(rs)c(A)o(ttributes)75
856 y Fg(Priorit)o(y)19 b(information)h(can)f(b)q(e)h(encapsulated)h
(in)f(the)g(comm)o(unicator/in)o(tracomm)o(unicator.)31
b(One)75 913 y(metho)q(d)14 b(of)g(doing)g(this)h(w)o(ould)f(b)q(e)h
(to)e(create)h(an)g(augmen)o(ted)g(set)f(of)h(comm)o(unicator)g
(routines)g(whic)o(h)75 969 y(ha)o(v)o(e)k(parameters)f(for)g(sp)q
(ecifying)j(priorit)o(y)f(information.)28 b(Since)20
b Ff(MPI-2)d Fg(in)o(tro)q(duces)i(a)f(n)o(um)o(b)q(er)g(of)75
1026 y(new)11 b(routines)g(that)f(return)h(comm)o(unicators)f(or)g(in)o
(tracomm)o(unicators,)h(that)f(approac)o(h)g(w)o(ould)h(create)75
1082 y(a)g(pro)q(digious)i(n)o(um)o(b)q(er)e(of)g(new)h(functions.)19
b(W)l(e)11 b(therefore)h(adv)o(o)q(cate)e(attac)o(hing)h(priorit)o(y)h
(information)75 1138 y(to)17 b(an)i(existing)g(comm)o(unicator)e(via)i
(the)f(comm)o(unicator)g(attributes)g(mec)o(hanism.)29
b(The)18 b(follo)o(wing)75 1195 y(functions)13 b(allo)o(w)f(the)g(user)
h(to)e(asso)q(ciate)h(priorit)o(y)g(with)h(a)f(particular)g(comm)o
(unicator)g(and)g(to)g(retriev)o(e)75 1251 y(that)i(priorit)o(y)l(.)75
1402 y Ff(MPI)p 160 1402 V 16 w(COMM)p 318 1402 V 16
w(SET)p 417 1402 V 17 w(PRIORITY\(comm)m(,)e(p)o(rio)o(rit)o(y\))117
1480 y Fb(IN)155 b Ff(comm)466 b Fb(comm)o(unicator)11
b(with)j(whic)o(h)g(priorit)o(y)f(is)h(to)f(b)q(e)i(asso)q(ciated)117
1555 y(IN)155 b Ff(p)o(rio)o(rit)o(y)453 b Fb(priorit)o(y)13
b(to)h(b)q(e)h(asso)q(ciated)f(comm)o(unicator)75 1774
y Ff(MPI)p 160 1774 V 16 w(COMM)p 318 1774 V 16 w(GET)p
422 1774 V 17 w(PRIORITY\(comm)m(,)e(p)o(rio)o(rit)o(y\))117
1851 y Fb(IN)155 b Ff(comm)466 b Fb(comm)o(unicator)11
b(for)j(whic)o(h)g(priorit)o(y)f(is)g(to)h(b)q(e)h(returned)117
1926 y(OUT)108 b Ff(p)o(rio)o(rit)o(y)453 b Fb(priorit)o(y)13
b(of)h(the)g(comm)o(unicator)166 2050 y Fg(Priorit)o(y)20
b(ma)o(y)g(b)q(e)i(sp)q(eci\014ed)h(b)o(y)d(an)h(in)o(teger,)h(with)f
(some)f(in)o(ternal)i(mapping)f(to)f(underlying)75 2107
y(ph)o(ysical)e(message)e(priorities.)25 b(Alternativ)o(ely)l(,)18
b(priorit)o(y)e(could)i(b)q(e)f(sp)q(eci\014ed)i(b)o(y)d(an)h(opaque)f
(string,)75 2163 y(similar)g(to)f(the)g Ff(info)g Fg(argumen)o(t)g(in)h
(the)f(dynamic)h(pro)q(cess)g(creation)f(calls.)75 2307
y Fh(1.4)59 b(Time-Driven)17 b(Real-Tim)o(e)g(Extensions)75
2408 y Fg(Time-driv)o(en)f(applications)f(attempt)f(to)f(meet)h
(real-time)h(demands)g(b)o(y)f(explicitly)j(sc)o(heduling)f(com-)75
2464 y(m)o(unication)h(op)q(erations)f(to)g(o)q(ccur)h(at)e(particular)
i(times.)23 b(This)17 b(comm)o(unication)g(sc)o(hedule)h(is)e(often)75
2521 y(rep)q(eated)f(throughout)f(the)h(duration)g(of)f(the)g
(computation,)h(so)f(the)h(existing)g(concept)g(of)f(p)q(ersisten)o(t)
75 2577 y(comm)o(unication)19 b(can)g(b)q(e)g(used)h(with)f(great)e
(e\016cacy)l(.)31 b(Notice,)19 b(to)q(o,)g(that)f(the)h(idea)g(of)f
(time-based)75 2634 y(sc)o(heduling)f(in)f(a)f(concurren)o(t)g(system)g
(requires)h(some)f(notion)g(of)g(a)g(global)h(clo)q(c)o(k.)-32
46 y Fa(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: 8 8
8 7 bop 75 -100 a Fg(8)223 b Fd(CHAPTER)15 b(1.)35 b(REAL-TIME,)15
b(EMBEDDED)f(EXTENSIONS)j(AND)e(PR)o(OFILES)166 49 y
Fg(F)l(or)i(the)g(purp)q(ose)h(of)f(time-driv)o(en)i(applications,)g
(the)f(fault-toleran)o(t)f(comm)o(unication)h(op)q(era-)75
106 y(tions)e(can)f(b)q(e)h(used.)22 b(F)l(or)15 b(sc)o(heduled)i(p)q
(ersisten)o(t)f(comm)o(unication,)g(there)f(should)i(also)e(b)q(e)h(a)f
(routine)75 162 y(called)g Ff(MPI)p 287 162 14 2 v 16
w(ST)l(ART)p 445 162 V 17 w(SCHED)f Fg(whic)o(h)h(starts)d(the)i(op)q
(eration)f(at)g(a)h(giv)o(en)g(time)g(in)g(the)g(future.)19
b(\(There)75 219 y(needs)h(to)f(b)q(e)h(some)f(additional)i(discussion)
g(as)e(to)g(ho)o(w)g(suc)o(h)h(time-driv)o(en)h(applications)g(are)e(b)
q(est)75 275 y(programmed.\))166 332 y(The)c(functions)h(whic)o(h)g
(pro)o(vide)g(access)f(to)g(a)g(global)h(clo)q(c)o(k)g(are)e(as)h
(follo)o(ws.)75 482 y Ff(MPI)p 160 482 V 16 w(WTIME)p
330 482 V 16 w(GLOBAL\(\))75 681 y(MPI)p 160 681 V 16
w(WTICK)p 324 681 V 15 w(GLOBAL\(\))75 784 y Fg(The)22
b(former)f(routine)h(returns)g(the)g(curren)o(t)f(global)i(time)f(and)g
(the)f(latter)h(function)g(returns)g(the)75 841 y(w)o(orst-case)14
b(error)h(in)h(the)f(global)h(time.)75 984 y Fh(1.5)59
b(Event-Driven)18 b(Real-Time)e(Extensions)75 1085 y
Fg(The)g(functionalit)o(y)h(for)f(ev)o(en)o(t-driv)o(en)h(programming)e
(is)h(in)o(tro)q(duced)i(in)e Ff(MPI-2)p Fg(.)22 b(In)16
b(particular,)h(the)75 1142 y(handler)k(concept)g(in)o(tro)q(duced)g
(in)g(the)g(one-sided)g(comm)o(unications)g(c)o(hapter)f(is)h(an)f
(ideal)i(mec)o(ha-)75 1198 y(nism)g(for)e(implemen)o(ting)j(ev)o(en)o
(t-driv)o(en)f(systems.)37 b(\(The)21 b(additional)i(functionalit)o(y)f
(pro)o(vided)g(b)o(y)75 1255 y(generalized)16 b(requests)f(in)g(the)g
(external)g(in)o(terfaces)f(c)o(hapter)h(is)g(questionable.\))21
b(In)15 b(situations)g(where)75 1311 y(fault-tolerance)c(is)g
(required,)h(w)o(e)e(recommend)h(the)f(fault-toleran)o(t)g(handler)i
(mec)o(hanism)f(giv)o(en)g(ab)q(o)o(v)o(e.)75 1455 y
Fh(1.6)59 b(Ad)20 b(Ho)r(c)f(Real-Time)d(Extensions)75
1556 y Fg(F)l(or)k(ad)h(ho)q(c)h(real-time)f(programming)g(the)g(user)g
(desires)h(particularly)g(fast)e(implemen)o(tations)i(of)75
1612 y Ff(MPI)c Fg(routines)i(but)f(do)q(es)h(not)e(ha)o(v)o(e)h(hard)g
(deadlines.)34 b(\(This)19 b(migh)o(t)g(b)q(e)h(seen)f(as)g(a)g(soft)f
(real-time)75 1669 y(system.\))37 b(Examples)21 b(of)g(suc)o(h)h
(applications)g(include)i(in)o(teractiv)o(e)d(parallel)i
(visualization,)h(whic)o(h)75 1725 y(ma)o(y)e(mak)o(e)f(great)h
(demands)g(on)g(a)g(system)g(but)g(is)h(toleran)o(t)f(to)f(o)q
(ccasional)j(dela)o(ys)e(or)g(dropp)q(ed)75 1782 y(frames.)i(What)16
b(exactly)h Ff(MPI/RT)f Fg(w)o(ould)i(include)h(or)d(mandate)h(for)f
(implemen)o(tations)i(to)e(supp)q(ort)75 1838 y(suc)o(h)g(a)e
(programming)h(mo)q(del)h(remains)g(to)e(b)q(e)i(discussed.)75
1981 y Fh(1.7)59 b(Emb)r(e)o(dded)17 b(System)o(s)g(Issues)75
2083 y Fg(In)h(em)o(b)q(edded)h(systems,)e(memory)g(ma)o(y)g(b)q(e)i
(at)d(a)i(premium,)g(and)g(man)o(y)f(features)g(of)g
Ff(MPI)g Fg(ma)o(y)g(b)q(e)75 2139 y(di\016cult)g(to)d(supp)q(ort.)20
b(There)c(are)f(three)g(particular)h(areas)e(of)h(concern.)143
2246 y Fe(\017)23 b Fg(Large)14 b(executable)i(size)f(due)g(to)f(the)g
(man)o(y)g(functions)h(in)h Ff(MPI)d Fg(and)i(their)g(in)o(terdep)q
(endence)i(in)189 2302 y(man)o(y)11 b(cases.)19 b(\(I.e.,)11
b(em)o(b)q(edded)j Ff(MPI/RT)d Fg(ma)o(y)g(only)h(b)q(e)h(able)f(to)g
(supp)q(ort)g(a)f(subset)h(of)g Ff(MPI/RT)189 2359 y
Fg(functionalit)o(y)l(.\))143 2452 y Fe(\017)23 b Fg(The)13
b(amoun)o(t)e(of)i(bu\013er)f(space)h(on)g(the)f(receiv)o(er)i(side.)20
b(\(I.e.,)12 b(the)h(illusion)i(of)d(in\014nite)j(slac)o(k)e(ma)o(y)189
2509 y(b)q(e)j(particularly)g(un)o(tenable.\))143 2603
y Fe(\017)23 b Fg(The)e(amoun)o(t)g(of)g(bu\013er)g(space)g(on)h(the)f
(sender)h(side.)39 b(\(I.e.,)22 b(the)g(abilit)o(y)g(to)f(pac)o(k)g
(deriv)o(ed)189 2659 y(datat)o(yp)q(es)14 b(ma)o(y)h(b)q(e)h
(restricted.\))1967 46 y Fa(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: 9 9
9 8 bop 75 -100 a Fd(1.7.)34 b(EMBEDDED)14 b(SYSTEMS)h(ISSUES)999
b Fg(9)166 49 y(As)12 b(a)h(result,)g(w)o(e)f(recommend)h(that)e(only)i
(a)g(core)f(set)g(of)g Ff(MPI/RT)g Fg(functionalit)o(y)i(b)q(e)f
(required)h(for)75 106 y(em)o(b)q(edded)i Ff(MPI/RT)p
Fg(.)e(\(Exactly)g(whic)o(h)i(routines)f(should)h(b)q(e)f(preserv)o(ed)
g(remains)h(to)e(b)q(e)h(discussed.\))75 162 y(In)d(fact,)g(b)q(ecause)
h(bu\013er)e(space)h(ma)o(y)f(b)q(e)i(limited)h(or)d(nonexisten)o(t,)h
(the)g(user)g(should)h(only)f(exp)q(ect)h(that)75 219
y(the)i(sync)o(hronous)f(and)h(ready)f(send)h(op)q(erations)g(are)f(a)o
(v)m(ailable)j(\(these)d(routines)h(require)g(no)g(explicit)75
275 y(bu\013er)f(space)h(at)e(the)i(receiv)o(er\))f(and)h(that)e(only)i
(the)g Ff(MPI)p 1087 275 14 2 v 15 w(BYTE)g Fg(and)g
Ff(MPI)p 1405 275 V 16 w(P)l(A)o(CKED)f Fg(datat)o(yp)q(es)f(are)75
332 y(pro)o(vided)k(\(neither)g(requires)g(bu\013er)g(space)f(at)g(the)
h(sender)g(or)e(the)i(receiv)o(er\).)24 b(The)16 b(com)o(bination)h(of)
75 388 y(these)c(t)o(w)o(o)f(restrictions)i(w)o(ould)f(seem)h(to)e
(completely)j(eliminate)g(the)e(need)h(for)f(bu\013er)g(space)g
(\(except,)75 444 y(p)q(erhaps,)h(for)e(the)h(case)g(of)f(collectiv)o
(e)j(comm)o(unication,)e(whic)o(h)h(ma)o(y)e(require)i(space)f(for)f
(in)o(termediate)75 501 y(v)m(alues\).)36 b(Alternativ)o(ely)l(,)23
b(the)d(user)g(could)i(b)q(e)f(exp)q(ected)g(to)f(pro)o(vide)h
(bu\013er)f(space)h(explicitly)i(via)75 557 y(routines)14
b(suc)o(h)g(as)f Ff(MPI)p 488 557 V 15 w(BUFFER)p 672
557 V 18 w(A)l(TT)l(A)o(CH)h Fg(and)f(b)q(e)h(restricted)g(to)f(using)h
(bu\013ered)g(send)g(op)q(erations)75 614 y(\(as)g(w)o(ell)i(as)e(sync)
o(hronous)h(and)g(ready)f(ones\).)20 b(Also,)14 b(direct)i(memory)e
(transfer)g(b)q(et)o(w)o(een)h(source)g(and)75 670 y(destination)j
(bu\013ers)f(ma)o(y)f(b)q(e)i(implemen)o(table)h(only)f(when)f(the)g
(source)h(of)e(a)h(message)g(is)g(explicitly)75 727 y(sp)q(eci\014ed)g
(in)f(a)f(receiv)o(e)h(call,)g(so)f(the)g(use)h(of)f
Ff(MPI)p 944 727 V 16 w(ANY)p 1052 727 V 17 w(SOURCE)h
Fg(ma)o(y)f(b)q(e)h(precluded.)166 783 y(Here)21 b(is)g(list)g(of)f
(the)h(core)g(routines)g(w)o(e)f(b)q(eliev)o(e)j(should)e(b)q(e)g
(required)h(of)e(em)o(b)q(edded)i(system)75 840 y(implemen)o(tations.)
143 946 y Fe(\017)h Fg(p)q(oin)o(t-to-p)q(oin)o(t)16
b(routines)143 1040 y Fe(\017)23 b Fg(elemen)o(tal)16
b(data)e(t)o(yp)q(es)i(\(p)q(ossibly)g(only)g Ff(MPI)p
993 1040 V 16 w(BYTE)p Fg(\))143 1134 y Fe(\017)23 b
Fg(basic)16 b(group)e(and)i(comm)o(unicator)f(manipulation)h(op)q
(erations)166 1240 y(Note)e(that)f(other)h(p)q(oin)o(t-to-p)q(oin)o(t)h
(op)q(erations)f(can)g(b)q(e)h(implemen)o(ted)h(on)e(top)g(of)f(the)h
(p)q(ersisten)o(t)75 1296 y(v)o(ersions.)26 b(\(Non)o(blo)q(c)o(king)18
b(comm)o(unication)f(is)h(a)f(p)q(ersisten)o(t)g(comm)o(unication)h
(that)f(is)g(only)h(started)75 1353 y(once,)f(and)g(blo)q(c)o(king)h
(comm)o(unication)f(is)g(non)o(blo)q(c)o(king)h(comm)o(unication)g
(whic)o(h)f(returns)g(a)f(request)75 1409 y(that)e(is)i(w)o(aited)f(on)
h(immediately)l(.\))166 1466 y(W)l(e)f(sp)q(eci\014cally)j(exclude)f
(the)e(follo)o(wing.)143 1572 y Fe(\017)23 b Fg(collectiv)o(e)17
b(comm)o(unication)143 1666 y Fe(\017)23 b Fg(deriv)o(ed)16
b(data)e(t)o(yp)q(es)143 1760 y Fe(\017)23 b Fg(top)q(ologies)143
1853 y Fe(\017)g Fg(dynamic)16 b(pro)q(cess)f(creation)143
1947 y Fe(\017)23 b Fg(one)15 b(sided)h(op)q(erations)143
2041 y Fe(\017)23 b Fg(message)14 b(handlers)j(or)d(generalized)j
(requests)143 2135 y Fe(\017)23 b Fg(fault-toleran)o(t)15
b(extensions)g(\(!!!\))166 2241 y(In)h(making)g(these)g(decisions,)h(w)
o(e)f(considered)h(a)e(w)o(orst-case)g(scenario)h(\(from)e(our)i(p)q
(ersp)q(ectiv)o(e\))75 2297 y(for)11 b(an)g(em)o(b)q(edded)i(system.)18
b(Suc)o(h)12 b(a)f(system)g(migh)o(t)g(ha)o(v)o(e)g(only)g(a)g(small)h
(microk)o(ernel)h(whic)o(h)f(supp)q(orts)75 2354 y(no)e(pro)q(cess)h
(abstraction.)18 b(The)10 b(executable)i(co)q(de)f(migh)o(t)f(b)q(e)h
(in)g(R)o(OM)f(or)g(other)g(\014rm)o(w)o(are.)17 b(There)11
b(ma)o(y)75 2410 y(b)q(e)16 b(no)f(notion)g(of)g(a)g(clo)q(c)o(k.)21
b(The)15 b(in)o(terconnect)h(ma)o(y)f(not)f(pro)o(vide)i(the)f
(illusion)j(of)d(full)h(connectivit)o(y)l(.)166 2467
y(In)h(an)o(y)f(case,)g(the)h(matter)e(of)h(what)g(functionalit)o(y)h
(should)h(b)q(e)f(included)i(requires)e(further)f(dis-)75
2523 y(cussion.)39 b(F)l(unctionalit)o(y)22 b(should)g(b)q(e)g(added)g
(or)f(remo)o(v)o(ed)g(from)f(the)h(core)h(set)f(only)g(with)h(strong)75
2580 y(justi\014cation.)-32 46 y Fa(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
***CUT HERE***

Jerrell R. Watts
Scalable Concurrent Programming Laboratory
California Institute of Technology
jwatts@scp.caltech.edu -- http://www.scp.caltech.edu/~jwatts