event driven chapter

Arkady Kanevsky (arkady@linus.mitre.org)
Fri, 16 Aug 1996 16:26:00 -0400

----------
X-Sun-Data-Type: text
X-Sun-Data-Description: text
X-Sun-Data-Name: text
X-Sun-Content-Lines: 8

Enclosed, please, find the first draft of the event driven chapter.
It is in a very rough stage, so please, do not critic me too much.
This should give us one week to understand the model and prepare
for the Mississippi meeting discussion.

I will be on vacation next week. So see you all in a week.

Arkady
----------
X-Sun-Data-Type: postscript-file
X-Sun-Data-Description: postscript-file
X-Sun-Data-Name: event_driven.ps
X-Sun-Content-Lines: 1254

%!PS-Adobe-2.0
%%Creator: dvips 5.55 Copyright 1986, 1994 Radical Eye Software
%%Title: event_driven.dvi
%%CreationDate: Fri Aug 16 16:19:00 1996
%%Pages: 5
%%PageOrder: Ascend
%%BoundingBox: 0 0 612 792
%%EndComments
%DVIPSCommandLine: dvips event_driven
%DVIPSParameters: dpi=300, comments removed
%DVIPSSource: TeX output 1996.08.16:1618
%%BeginProcSet: tex.pro
/TeXDict 250 dict def TeXDict begin /N{def}def /B{bind def}N /S{exch}N
/X{S N}B /TR{translate}N /isls false N /vsize 11 72 mul N /hsize 8.5 72
mul N /landplus90{false}def /@rigin{isls{[0 landplus90{1 -1}{-1 1}
ifelse 0 0 0]concat}if 72 Resolution div 72 VResolution div neg scale
isls{landplus90{VResolution 72 div vsize mul 0 exch}{Resolution -72 div
hsize mul 0}ifelse TR}if Resolution VResolution vsize -72 div 1 add mul
TR[matrix currentmatrix{dup dup round sub abs 0.00001 lt{round}if}
forall round exch round exch]setmatrix}N /@landscape{/isls true N}B
/@manualfeed{statusdict /manualfeed true put}B /@copies{/#copies X}B
/FMat[1 0 0 -1 0 0]N /FBB[0 0 0 0]N /nn 0 N /IE 0 N /ctr 0 N /df-tail{
/nn 8 dict N nn begin /FontType 3 N /FontMatrix fntrx N /FontBBox FBB N
string /base X array /BitMaps X /BuildChar{CharBuilder}N /Encoding IE N
end dup{/foo setfont}2 array copy cvx N load 0 nn put /ctr 0 N[}B /df{
/sf 1 N /fntrx FMat N df-tail}B /dfs{div /sf X /fntrx[sf 0 0 sf neg 0 0]
N df-tail}B /E{pop nn dup definefont setfont}B /ch-width{ch-data dup
length 5 sub get}B /ch-height{ch-data dup length 4 sub get}B /ch-xoff{
128 ch-data dup length 3 sub get sub}B /ch-yoff{ch-data dup length 2 sub
get 127 sub}B /ch-dx{ch-data dup length 1 sub get}B /ch-image{ch-data
dup type /stringtype ne{ctr get /ctr ctr 1 add N}if}B /id 0 N /rw 0 N
/rc 0 N /gp 0 N /cp 0 N /G 0 N /sf 0 N /CharBuilder{save 3 1 roll S dup
/base get 2 index get S /BitMaps get S get /ch-data X pop /ctr 0 N ch-dx
0 ch-xoff ch-yoff ch-height sub ch-xoff ch-width add ch-yoff
setcachedevice ch-width ch-height true[1 0 0 -1 -.1 ch-xoff sub ch-yoff
.1 sub]{ch-image}imagemask restore}B /D{/cc X dup type /stringtype ne{]}
if nn /base get cc ctr put nn /BitMaps get S ctr S sf 1 ne{dup dup
length 1 sub dup 2 index S get sf div put}if put /ctr ctr 1 add N}B /I{
cc 1 add D}B /bop{userdict /bop-hook known{bop-hook}if /SI save N @rigin
0 0 moveto /V matrix currentmatrix dup 1 get dup mul exch 0 get dup mul
add .99 lt{/QV}{/RV}ifelse load def pop pop}N /eop{SI restore 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 newpath transform
round exch round exch itransform moveto rulex 0 rlineto 0 ruley neg
rlineto rulex neg 0 rlineto fill grestore}B /a{moveto}B /delta 0 N /tail
{dup /delta X 0 rmoveto}B /M{S p delta add tail}B /b{S p tail}B /c{-4 M}
B /d{-3 M}B /e{-2 M}B /f{-1 M}B /g{0 M}B /h{1 M}B /i{2 M}B /j{3 M}B /k{
4 M}B /w{0 rmoveto}B /l{p -4 w}B /m{p -3 w}B /n{p -2 w}B /o{p -1 w}B /q{
p 1 w}B /r{p 2 w}B /s{p 3 w}B /t{p 4 w}B /x{0 S rmoveto}B /y{3 2 roll p
a}B /bos{/SS save N}B /eos{SS restore}B end
%%EndProcSet
TeXDict begin 40258431 52099146 1000 300 300
(/afs/rcf.mitre.org/user/arkady/mpi/chapter/event_driven.dvi)
@start /Fa 25 118 df<00000FE0000030180000E01C0001C03C0001803C0003803800
038000000380000007000000070000000700000007000000070000000E000000FFFFE000
0E00E0000E00E0000E01C0001C01C0001C01C0001C01C0001C0380001C03800038038000
3803800038070000380700003807000070070800700E1000700E1000700E1000700E2000
E0062000E003C000E0000000E0000000C0000001C0000001C0000071800000F1800000F3
000000620000003C0000001E2D82A21B>12 D<70F8F8F0E005057A840F>46
D<0000030000000300000007000000070000000F0000000F0000001F0000002F0000002F
0000004F0000004F80000087800000878000010780000207800002078000040780000407
800008078000080780001007800030078000200780007FFF80004007C0008007C0008003
C0010003C0030003C0020003C0040003C0040003C00C0003C03C0007C0FF003FFC1E237D
A224>65 D<00FFFFE0000F0038000F001C000F001E001E000E001E000F001E000F001E00
0F003C000E003C001E003C001E003C003C00780078007800F0007801E00078078000FFFF
8000F001E000F000F000F0007801E0007801E0003801E0003C01E0003C03C0007803C000
7803C0007803C000F0078000F0078001E0078003C0078007000F801E00FFFFF00020227D
A122>I<00FFFFFF80000F000780000F000180000F000180001E000180001E000180001E
000100001E000100003C000100003C000100003C010100003C0100000078020000007802
0000007806000000780E000000FFFC000000F00C000000F00C000000F00C000001E00800
0001E008000001E008040001E000080003C000080003C000080003C000100003C0001000
07800020000780006000078000C000078001C0000F8007C000FFFFFF800021227DA121>
69 D<00007F00800003808100000E00630000380027000070001F0000E0000E0001C000
0E000380000E000700000E000F000004000E000004001E000004003C000004003C000008
00780000000078000000007800000000F000000000F000000000F000000000F000000000
F0003FFC00E00001E000E00001E000E00001E000E00003C000E00003C000F00003C00070
0003C0007000078000380007800018000F80001C0013800006002300000381C1000000FE
000000212479A226>71 D<00FFF8000F00000F00000F00001E00001E00001E00001E0000
3C00003C00003C00003C0000780000780000780000780000F00000F00000F00000F00001
E00001E00001E00001E00003C00003C00003C00003C0000780000780000780000780000F
8000FFF80015227DA113>73 D<00FFFC00000F8000000F0000000F0000001E0000001E00
00001E0000001E0000003C0000003C0000003C0000003C00000078000000780000007800
000078000000F0000000F0000000F0000000F0000001E0000001E0000001E0002001E000
2003C0004003C0004003C0008003C0008007800180078001000780030007800F000F803E
00FFFFFE001B227DA11F>76 D<00FF000FFC000F8001E0000F800180000FC000800013C0
01000013C001000011E001000011E001000021E002000020F002000020F002000020F002
0000407804000040780400004078040000403C040000803C080000803E080000801E0800
00801E080001001F100001000F100001000F10000100079000020007A000020007A00002
0003E000020003E000040003C000040001C000040001C0000C0001C0001E00008000FFC0
00800026227DA124>78 D<0000FE0000078380000C00E0003800700070003800E0003801
C0001C0380001C0700001C0F00001E1E00001E1C00001E3C00001E3C00001E7800001E78
00001E7800001EF000003CF000003CF000003CF0000078F0000078E0000078E00000F0E0
0000F0E00001E0E00001C0F00003C0F00007807000070078000E0038001C001C0038000E
00E0000703800001FC00001F2479A225>I<00FFFFC0000F0070000F003C000F001C001E
000E001E000E001E000F001E000F003C001E003C001E003C001E003C003C007800380078
0070007801E00078078000FFFC0000F00E0000F0070000F0038001E003C001E003C001E0
03C001E003C003C0078003C0078003C0078003C0078007800F0007800F0107800F010780
07020F800702FFF8038C000000F020237DA124>82 D<00F8C00185C00705C00E03800E03
801C03803C0380380700780700780700780700F00E00F00E00F00E00F00E10F01C20701C
20703C20305C40308C400F078014157B9419>97 D<00003C0003F8000038000038000038
0000700000700000700000700000E00000E00000E00000E00001C000F9C00185C00705C0
0E03800E03801C03803C0380380700780700780700780700F00E00F00E00F00E00F00E10
F01C20701C20703C20305C40308C400F078016237BA219>100 D<00F803840E021C023C
0238027804F018FFE0F000F000E000E000E000E000E002E0026004701830600F800F157A
9416>I<00003E0000470000CF00018F0001860003800003800003800007000007000007
00000700000700000E0000FFF0000E00000E00000E00001C00001C00001C00001C00001C
0000380000380000380000380000380000700000700000700000700000700000E00000E0
0000E00000E00000C00001C00001C000718000F18000F300006200003C0000182D82A20F
>I<001F180030B800E0B801C07001C0700380700780700700E00F00E00F00E00F00E01E
01C01E01C01E01C01E01C01E03800E03800E0780060B8006170001E70000070000070000
0E00000E00000E00701C00F01800F0300060E0003F8000151F7E9416>I<00F0000FE000
00E00000E00000E00001C00001C00001C00001C000038000038000038000038000070000
071F0007218007C0C00F00E00F00E00E00E00E00E01C01C01C01C01C01C01C01C0380380
380380380380380704700708700E08700E10700610E006206003C016237DA219>I<00C0
01E001C001C0000000000000000000000000000000001C00230043004300870087008700
0E000E001C001C001C00380038003840708070807080710032001C000B217BA00F>I<01
E01FC001C001C001C0038003800380038007000700070007000E000E000E000E001C001C
001C001C0038003800380038007000700070007100E200E200E200E200640038000B237C
A20C>108 D<1C0F002631C04740C08780E08780E08700E08700E00E01C00E01C00E01C0
0E01C01C03801C03801C03801C0704380708380E08380E103806107006203003C016157B
941B>110 D<01C1F002621804741C08780C08700E08700E08701E00E01E00E01E00E01E
00E01E01C03C01C03C01C03C01C07803807003807003C0E003C1C0072380071E00070000
0700000E00000E00000E00000E00001C00001C00001C0000FFC000171F7F9419>112
D<1C1F002620804741C08783C08703C08701808700000E00000E00000E00000E00001C00
001C00001C00001C000038000038000038000038000070000030000012157B9415>114
D<00FC000183000200800401800C03800C03000C00000F00000FF00007FC0003FE00003E
00000F00000700700700F00600F00600E004004008002030001FC00011157D9414>I<00
C001C001C001C001C003800380038003800700FFF8070007000E000E000E000E001C001C
001C001C003800380038003810702070207040708031001E000D1F7C9E10>I<1E006023
00E04380E04381C08381C08701C08701C00703800E03800E03800E03801C07001C07001C
07001C07081C0E10180E101C0E101C1E200C262007C3C015157B941A>I
E /Fb 74 123 df<001F83E000706E3000C07C780180F8780380F0780700700007007000
07007000070070000700700007007000070070000700700007007000FFFFFFC007007000
070070000700700007007000070070000700700007007000070070000700700007007000
070070000700700007007000070070000700700007007000070070000700700007007800
7FE3FF801D2380A21C>11 D<001FC0000070200000C01000018038000380780007007800
0700300007000000070000000700000007000000070000000700000007000000FFFFF800
070078000700380007003800070038000700380007003800070038000700380007003800
070038000700380007003800070038000700380007003800070038000700380007003800
070038007FE1FF80192380A21B>I<000FC07F00007031C08000E00B004001801E00E003
803E01E007003C01E007001C00C007001C000007001C000007001C000007001C00000700
1C000007001C000007001C0000FFFFFFFFE007001C01E007001C00E007001C00E007001C
00E007001C00E007001C00E007001C00E007001C00E007001C00E007001C00E007001C00
E007001C00E007001C00E007001C00E007001C00E007001C00E007001C00E007001C00E0
07001C00E07FF1FFCFFE272380A229>14 D<7038F87CFC7EFC7E743A0402040204020402
0804080410081008201040200F0F7EA218>34 D<003C000000006200000000C200000001
810000000181000000038100000003810000000381000000038100000003820000000382
0000000384000000038800000001C800000001D000000001E003FF8001C0007C0000E000
380001E000300001F0002000027000400004700040000838008000183C008000301C0100
00701E020000700E020000F007040000F007880000F003880000F001D00100F000E00100
78007003003800B802003C031C04000E0C0E0C0003F003F00021257EA326>38
D<70F8FCFC7404040404080810102040060F7CA20E>I<00200040008001000300060004
000C000C00180018003000300030007000600060006000E000E000E000E000E000E000E0
00E000E000E000E000E000E000E0006000600060007000300030003000180018000C000C
0004000600030001000080004000200B327CA413>I<800040002000100018000C000400
060006000300030001800180018001C000C000C000C000E000E000E000E000E000E000E0
00E000E000E000E000E000E000E000C000C000C001C00180018001800300030006000600
04000C00180010002000400080000B327DA413>I<008000008000008000008000008000
C08180E08380388E000C980003E00001C00003E0000C9800388E00E08380C08180008000
00800000800000800000800011157DA418>I<70F8FCFC7404040404080810102040060F
7C840E>44 D<FFE0FFE00B027F8B10>I<70F8F8F87005057C840E>I<0000800001800001
80000300000300000300000600000600000600000C00000C00000C000018000018000018
0000300000300000300000600000600000600000C00000C00000C0000180000180000180
000180000300000300000300000600000600000600000C00000C00000C00001800001800
00180000300000300000300000600000600000600000C00000C00000C0000011317DA418
>I<01F000071C000C06001803003803803803807001C07001C07001C07001C0F001E0F0
01E0F001E0F001E0F001E0F001E0F001E0F001E0F001E0F001E0F001E0F001E0F001E0F0
01E07001C07001C07001C07803C03803803803801C07000C0600071C0001F00013227EA0
18>I<008003800F80F38003800380038003800380038003800380038003800380038003
800380038003800380038003800380038003800380038003800380038007C0FFFE0F217C
A018>I<03F0000C1C001007002007804003C04003C08003E0F003E0F801E0F801E0F801
E02003E00003E00003C00003C0000780000700000E00001C0000180000300000600000C0
000180000100000200200400200800201800603000403FFFC07FFFC0FFFFC013217EA018
>I<03F8000C1E001007002007804007C07807C07803C07807C03807C000078000078000
0700000F00000E0000380003F000001C00000F000007800007800003C00003C00003E020
03E07003E0F803E0F803E0F003C04003C0400780200780100F000C1C0003F00013227EA0
18>I<000200000600000E00000E00001E00001E00002E00004E00004E00008E00008E00
010E00020E00020E00040E00040E00080E00100E00100E00200E00200E00400E00800E00
FFFFF8000E00000E00000E00000E00000E00000E00000E00001F0001FFF015217FA018>
I<70F8F8F870000000000000000000000070F8F8F87005157C940E>58
D<70F8F8F870000000000000000000000070F8F8F87808080808101010204040051F7C94
0E>I<FFFFFFFEFFFFFFFE00000000000000000000000000000000000000000000000000
00000000000000FFFFFFFEFFFFFFFE1F0C7D9126>61 D<00018000000180000001800000
03C0000003C0000003C0000005E0000005E000000DF0000008F0000008F0000010F80000
1078000010780000203C0000203C0000203C0000401E0000401E0000401E0000800F0000
800F0000FFFF000100078001000780030007C0020003C0020003C0040003E0040001E004
0001E00C0000F00C0000F03E0001F8FF800FFF20237EA225>65 D<FFFFF8000F800E0007
800780078003C0078003E0078001E0078001F0078001F0078001F0078001F0078001F007
8001E0078003E0078007C007800F8007803E0007FFFE0007800780078003C0078001E007
8001F0078000F0078000F8078000F8078000F8078000F8078000F8078000F8078001F007
8001F0078003E0078007C00F800F00FFFFFC001D227EA123>I<0007E0100038183000E0
063001C00170038000F0070000F00E0000701E0000701C0000303C0000303C0000307C00
00107800001078000010F8000000F8000000F8000000F8000000F8000000F8000000F800
0000F800000078000000780000107C0000103C0000103C0000101C0000201E0000200E00
0040070000400380008001C0010000E0020000381C000007E0001C247DA223>I<FFFFF0
000F801E0007800700078003C0078001C0078000E0078000F00780007807800078078000
7C0780003C0780003C0780003C0780003E0780003E0780003E0780003E0780003E078000
3E0780003E0780003E0780003E0780003C0780003C0780007C0780007807800078078000
F0078000E0078001E0078003C0078007000F801E00FFFFF8001F227EA125>I<FFFFFFC0
0F8007C0078001C0078000C0078000400780004007800060078000200780002007800020
07802020078020000780200007802000078060000780E00007FFE0000780E00007806000
078020000780200007802000078020080780000807800008078000100780001007800010
078000300780003007800070078000E00F8003E0FFFFFFE01D227EA121>I<FFFFFFC00F
8007C0078001C0078000C007800040078000400780006007800020078000200780002007
802020078020000780200007802000078060000780E00007FFE0000780E0000780600007
802000078020000780200007802000078000000780000007800000078000000780000007
8000000780000007800000078000000FC00000FFFE00001B227EA120>I<0007F008003C
0C1800E0021801C001B8038000F8070000780F0000381E0000381E0000183C0000183C00
00187C0000087800000878000008F8000000F8000000F8000000F8000000F8000000F800
0000F8000000F8001FFF780000F8780000787C0000783C0000783C0000781E0000781E00
00780F00007807000078038000B801C000B800E00318003C0C080007F00020247DA226>
I<FFFC3FFF0FC003F0078001E0078001E0078001E0078001E0078001E0078001E0078001
E0078001E0078001E0078001E0078001E0078001E0078001E0078001E007FFFFE0078001
E0078001E0078001E0078001E0078001E0078001E0078001E0078001E0078001E0078001
E0078001E0078001E0078001E0078001E0078001E00FC003F0FFFC3FFF20227EA125>I<
FFFC0FC00780078007800780078007800780078007800780078007800780078007800780
078007800780078007800780078007800780078007800780078007800FC0FFFC0E227EA1
12>I<03FFF0001F00000F00000F00000F00000F00000F00000F00000F00000F00000F00
000F00000F00000F00000F00000F00000F00000F00000F00000F00000F00000F00000F00
000F00000F00000F00700F00F80F00F80F00F80E00F01E00401C0020380018700007C000
14237EA119>I<FFFC03FF000FC000F80007800060000780004000078000800007800100
000780020000078004000007800800000780100000078020000007804000000780800000
07818000000783C000000787E000000789E000000788F000000790F0000007A078000007
C03C000007803C000007801E000007800F000007800F00000780078000078007C0000780
03C000078001E000078001E000078000F000078000F8000FC000FC00FFFC07FF8021227E
A126>I<FFFE00000FC00000078000000780000007800000078000000780000007800000
078000000780000007800000078000000780000007800000078000000780000007800000
078000000780000007800000078000000780000007800080078000800780008007800080
078001800780018007800100078003000780030007800F000F803F00FFFFFF0019227EA1
1E>I<FFC00003FF0FC00003F007C00003E005E00005E005E00005E004F00009E004F000
09E004F00009E004780011E004780011E004780011E0043C0021E0043C0021E0043C0021
E0041E0041E0041E0041E0040F0081E0040F0081E0040F0081E004078101E004078101E0
04078101E00403C201E00403C201E00401E401E00401E401E00401E401E00400F801E004
00F801E00400F801E004007001E00E007001E01F007003F0FFE0203FFF28227EA12D>I<
FF8007FF07C000F807C0007005E0002004F0002004F0002004780020047C0020043C0020
041E0020041F0020040F002004078020040780200403C0200401E0200401E0200400F020
0400F8200400782004003C2004003E2004001E2004000F2004000F20040007A0040003E0
040003E0040001E0040001E0040000E00E0000601F000060FFE0002020227EA125>I<00
0FE00000783C0000E00E0003C00780078003C00F0001E00E0000E01E0000F03C0000783C
0000787C00007C7C00007C7800003C7800003CF800003EF800003EF800003EF800003EF8
00003EF800003EF800003EF800003EF800003E7800003C7C00007C7C00007C3C0000783E
0000F81E0000F00F0001E00F0001E0078003C003C0078000E00E0000783C00000FE0001F
247DA226>I<FFFFF0000F803C0007800F0007800780078007C0078003C0078003E00780
03E0078003E0078003E0078003E0078003E0078003C0078007C00780078007800F000780
3C0007FFF000078000000780000007800000078000000780000007800000078000000780
00000780000007800000078000000780000007800000078000000FC00000FFFC00001B22
7EA121>I<FFFFE000000F803C000007800E00000780078000078007C000078003C00007
8003E000078003E000078003E000078003E000078003E000078003C000078007C0000780
07800007800E000007803C000007FFE000000780700000078038000007801C000007801E
000007800E000007800F000007800F000007800F000007800F000007800F800007800F80
0007800F800007800F808007800FC080078007C0800FC003C100FFFC01E2000000007C00
21237EA124>82 D<03F0200C0C601802603001E07000E0600060E00060E00060E00020E0
0020E00020F00000F000007800007F00003FF0001FFE000FFF0003FF80003FC00007E000
01E00000F00000F0000070800070800070800070800070C00060C00060E000C0F000C0C8
0180C6070081FC0014247DA21B>I<7FFFFFF87807807860078018400780084007800840
078008C007800C8007800480078004800780048007800400078000000780000007800000
078000000780000007800000078000000780000007800000078000000780000007800000
078000000780000007800000078000000780000007800000078000000780000007800000
0FC00003FFFF001E227EA123>I<FFFC07FF0FC000F80780007007800020078000200780
002007800020078000200780002007800020078000200780002007800020078000200780
002007800020078000200780002007800020078000200780002007800020078000200780
002007800020078000200380004003C0004003C0004001C0008000E00080006001000030
0600001C08000003F00020237EA125>I<FFF0007FC01F80001F000F00000C000780000C
000780000800078000080003C000100003C000100003E000300001E000200001E0002000
00F000400000F000400000F000400000780080000078008000007C018000003C01000000
3C010000001E020000001E020000001F020000000F040000000F040000000F8C00000007
88000000078800000003D000000003D000000003F000000001E000000001E000000000C0
00000000C000000000C0000022237FA125>I<FFF03FFC03FE1F8007E000F80F0003C000
700F0003C000200F0003C00020078001E00040078001E00040078001E0004003C002F000
8003C002F0008003C002F0008001E00478010001E00478010001E00478010000F0083C02
0000F0083C020000F0083C020000F8183E06000078101E04000078101E0400007C101E04
00003C200F0800003C200F0800003C200F0800001E40079000001E40079000001E400790
00000F8003E000000F8003E000000F8003E00000070001C00000070001C00000070001C0
000003000180000002000080002F237FA132>I<7FF807FF0007E001F80003C000E00003
E000C00001E000800000F001000000F80300000078020000007C040000003E0C0000001E
080000001F100000000FB000000007A000000007C000000003E000000001E000000001F0
00000003F80000000278000000047C0000000C3E000000081E000000101F000000300F80
000020078000004007C00000C003E000008001E000010001F000030000F000070000F800
1F8001FC00FFE007FFC022227FA125>I<FFF0007FC01F80001F000F80000C0007800008
0007C000180003E000100001E000200001F000200000F000400000F800C000007C008000
003C010000003E010000001E020000001F040000000F84000000078800000007D8000000
03D000000003E000000001E000000001E000000001E000000001E000000001E000000001
E000000001E000000001E000000001E000000001E000000001E000000001E000000003E0
0000003FFF000022227FA125>I<FEFEC0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0
C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0FEFE07317BA40E>91
D<0804100820102010402040208040804080408040B85CFC7EFC7E7C3E381C0F0F7AA218
>I<FEFE0606060606060606060606060606060606060606060606060606060606060606
06060606060606060606060606FEFE07317FA40E>I<0FE0001838003C0C003C0E001807
0000070000070000070000FF0007C7001E07003C0700780700700700F00708F00708F007
08F00F087817083C23900FC1E015157E9418>97 D<0E0000FE00001E00000E00000E0000
0E00000E00000E00000E00000E00000E00000E00000E00000E00000E1F000E61C00E8060
0F00300E00380E003C0E001C0E001E0E001E0E001E0E001E0E001E0E001E0E001E0E001C
0E003C0E00380F00700C80600C41C0083F0017237FA21B>I<01FE000703000C07801C07
80380300780000700000F00000F00000F00000F00000F00000F00000F000007000007800
403800401C00800C010007060001F80012157E9416>I<0000E0000FE00001E00000E000
00E00000E00000E00000E00000E00000E00000E00000E00000E00000E001F8E00704E00C
02E01C01E03800E07800E07000E0F000E0F000E0F000E0F000E0F000E0F000E0F000E070
00E07800E03800E01801E00C02E0070CF001F0FE17237EA21B>I<01FC000707000C0380
1C01C03801C07801E07000E0F000E0FFFFE0F00000F00000F00000F00000F00000700000
7800203800201C00400E008007030000FC0013157F9416>I<003C00C6018F038F030F07
0007000700070007000700070007000700FFF80700070007000700070007000700070007
0007000700070007000700070007000700070007807FF8102380A20F>I<00007001F198
071E180E0E181C07001C07003C07803C07803C07803C07801C07001C07000E0E000F1C00
19F0001000001000001800001800001FFE000FFFC00FFFE03800F0600030400018C00018
C00018C000186000306000303800E00E038003FE0015217F9518>I<0E0000FE00001E00
000E00000E00000E00000E00000E00000E00000E00000E00000E00000E00000E00000E1F
800E60C00E80E00F00700F00700E00700E00700E00700E00700E00700E00700E00700E00
700E00700E00700E00700E00700E00700E00700E0070FFE7FF18237FA21B>I<1C001E00
3E001E001C00000000000000000000000000000000000E00FE001E000E000E000E000E00
0E000E000E000E000E000E000E000E000E000E000E000E000E00FFC00A227FA10E>I<01
C003E003E003E001C00000000000000000000000000000000001E00FE001E000E000E000
E000E000E000E000E000E000E000E000E000E000E000E000E000E000E000E000E000E000
E000E000E060E0F0C0F18061803E000B2C82A10F>I<0E0000FE00001E00000E00000E00
000E00000E00000E00000E00000E00000E00000E00000E00000E00000E03FC0E01F00E01
C00E01800E02000E04000E08000E10000E38000EF8000F1C000E1E000E0E000E07000E07
800E03C00E01C00E01E00E00F00E00F8FFE3FE17237FA21A>I<0E00FE001E000E000E00
0E000E000E000E000E000E000E000E000E000E000E000E000E000E000E000E000E000E00
0E000E000E000E000E000E000E000E000E000E000E00FFE00B237FA20E>I<0E1FC07F00
FE60E183801E807201C00F003C00E00F003C00E00E003800E00E003800E00E003800E00E
003800E00E003800E00E003800E00E003800E00E003800E00E003800E00E003800E00E00
3800E00E003800E00E003800E00E003800E00E003800E0FFE3FF8FFE27157F942A>I<0E
1F80FE60C01E80E00F00700F00700E00700E00700E00700E00700E00700E00700E00700E
00700E00700E00700E00700E00700E00700E00700E0070FFE7FF18157F941B>I<01FC00
0707000C01801800C03800E0700070700070F00078F00078F00078F00078F00078F00078
F000787000707800F03800E01C01C00E038007070001FC0015157F9418>I<0E1F00FE61
C00E80600F00700E00380E003C0E001C0E001E0E001E0E001E0E001E0E001E0E001E0E00
1E0E003C0E003C0E00380F00700E80E00E41C00E3F000E00000E00000E00000E00000E00
000E00000E00000E00000E0000FFE000171F7F941B>I<01F8200704600E02601C016038
01E07800E07800E0F000E0F000E0F000E0F000E0F000E0F000E0F000E07000E07800E038
01E01C01E00C02E0070CE001F0E00000E00000E00000E00000E00000E00000E00000E000
00E00000E0000FFE171F7E941A>I<0E3CFE461E8F0F0F0F060F000E000E000E000E000E
000E000E000E000E000E000E000E000E000F00FFF010157F9413>I<0F8830786018C018
C008C008E008F0007F803FE00FF001F8003C801C800C800CC00CC008E018D0308FC00E15
7E9413>I<02000200020002000600060006000E001E003E00FFF80E000E000E000E000E
000E000E000E000E000E000E000E040E040E040E040E040E040708030801F00E1F7F9E13
>I<0E0070FE07F01E00F00E00700E00700E00700E00700E00700E00700E00700E00700E
00700E00700E00700E00700E00700E00F00E00F006017003827800FC7F18157F941B>I<
FFC1FE1E00780E00300E00200E002007004007004003808003808003808001C10001C100
00E20000E20000E20000740000740000380000380000380000100017157F941A>I<FF8F
F8FF1E01E03C1C01C0180E01C0180E01E0100E01E0100702602007027020070270200384
3040038438400384384001C8188001C81C8001C81C8000F00D0000F00F0000F00F000060
0600006006000060060020157F9423>I<FF83FE1F01F00E00C007008003810003830001
C20000E400007800007800003800003C00004E00008E000187000103800201C00401E00C
00E03E01F0FF03FE17157F941A>I<FFC1FE1E00780E00300E00200E0020070040070040
03808003808003808001C10001C10000E20000E20000E200007400007400003800003800
003800001000001000002000002000002000004000F04000F08000F180004300003C0000
171F7F941A>I<3FFFC0380380300780200700600E00401C00403C0040380000700000E0
0001E00001C0000380400700400F00400E00C01C0080380080780180700780FFFF801215
7F9416>I E /Fc 25 119 df<FFFFF8FFFFF8FFFFF8FFFFF8FFFFF8FFFFF8FFFFF81507
7F921B>45 D<0001C0000003C000000FC000007FC0001FFFC000FFFFC000FFBFC000E03F
C000003FC000003FC000003FC000003FC000003FC000003FC000003FC000003FC000003F
C000003FC000003FC000003FC000003FC000003FC000003FC000003FC000003FC000003F
C000003FC000003FC000003FC000003FC000003FC000003FC000003FC000003FC000003F
C000003FC000003FC000003FC000003FC000003FC000003FC000003FC000003FC0007FFF
FFE07FFFFFE07FFFFFE01B2E7AAD28>49 D<003FE00001FFFE0007FFFF800F80FFC01E00
3FE038001FF07C000FF87E0007FCFF0007FCFF8007FEFF8007FEFF8003FEFF8003FE7F00
03FE3E0007FE000007FE000007FC000007FC00000FF800000FF800000FF000001FE00000
1FC000003F8000007F0000007E000000F8000001F0000003E0000007C000000F0000001E
000E003C000E0038000E0070001E00E0001C01C0001C0300003C07FFFFFC0FFFFFFC1FFF
FFFC3FFFFFFC7FFFFFF8FFFFFFF8FFFFFFF8FFFFFFF81F2E7CAD28>I<001FF80000007F
FF000001FFFFC00003E03FE00007800FF0000FC00FF8001FE007F8001FE007FC001FE007
FC001FE007FC001FE007FC000FC007FC00078007FC0000000FF80000000FF80000000FF0
0000001FE00000001FC00000003F80000000FE0000003FF80000003FFF800000001FE000
000007F000000007F800000003FC00000003FE00000001FF00000001FF00000001FF8000
0001FF80000001FF801C0001FF803E0001FF807F0001FF80FF8001FF80FF8001FF00FF80
01FF00FF8003FE007F0003FE007E0007FC003C0007F8001FC01FF0000FFFFFC00003FFFF
0000003FF80000212E7DAD28>I<0000007000000000F000000001F000000003F0000000
07F00000000FF00000000FF00000001FF00000003FF000000077F0000000F7F0000000E7
F0000001C7F000000387F000000707F000000F07F000000E07F000001C07F000003807F0
00007007F00000F007F00000E007F00001C007F000038007F000070007F0000F0007F000
0E0007F0001C0007F000380007F000700007F000E00007F000FFFFFFFFE0FFFFFFFFE0FF
FFFFFFE000000FF00000000FF00000000FF00000000FF00000000FF00000000FF0000000
0FF00000000FF00000000FF000000FFFFFE0000FFFFFE0000FFFFFE0232E7EAD28>I<00
00007800000000000078000000000000FC000000000000FC000000000000FC0000000000
01FE000000000001FE000000000003FF000000000003FF000000000007FF800000000007
FF800000000007FF80000000000FFFC0000000000E7FC0000000001E7FE0000000001C3F
E0000000001C3FE000000000383FF000000000381FF000000000781FF800000000700FF8
00000000700FF800000000E00FFC00000000E007FC00000001E007FE00000001C003FE00
000001C003FE000000038003FF000000038001FF000000078001FF800000070000FF8000
00070000FF8000000FFFFFFFC000000FFFFFFFC000001FFFFFFFE000001C00003FE00000
3C00003FF000003800001FF000003800001FF000007000001FF800007000000FF80000F0
00000FFC0000E0000007FC0000E0000007FC0001C0000007FE0003E0000003FE00FFFF80
01FFFFFCFFFF8001FFFFFCFFFF8001FFFFFC36317DB03D>65 D<FFFFFFFFF00000FFFFFF
FFFF0000FFFFFFFFFFC00000FF8000FFF00000FF80000FF80000FF800003FE0000FF8000
01FF0000FF800000FF8000FF8000007FC000FF8000003FC000FF8000001FE000FF800000
1FF000FF8000000FF000FF8000000FF800FF8000000FF800FF80000007FC00FF80000007
FC00FF80000007FC00FF80000007FC00FF80000007FE00FF80000007FE00FF80000007FE
00FF80000007FE00FF80000007FE00FF80000007FE00FF80000007FE00FF80000007FE00
FF80000007FE00FF80000007FE00FF80000007FE00FF80000007FC00FF80000007FC00FF
80000007FC00FF80000007FC00FF8000000FF800FF8000000FF800FF8000000FF000FF80
00001FF000FF8000001FE000FF8000003FE000FF8000007FC000FF8000007F8000FF8000
01FF0000FF800003FE0000FF80000FFC0000FF80007FF000FFFFFFFFFFC000FFFFFFFFFF
0000FFFFFFFFF0000037317EB03E>68 D<FFFFFFFFFFF0FFFFFFFFFFF0FFFFFFFFFFF000
FF80003FF000FF800007F800FF800003F800FF800000F800FF800000F800FF8000007800
FF8000007800FF8000003800FF8000003800FF8000003800FF8000001C00FF8007001C00
FF8007001C00FF8007001C00FF8007000000FF8007000000FF800F000000FF801F000000
FF803F000000FFFFFF000000FFFFFF000000FFFFFF000000FF803F000000FF801F000000
FF800F000000FF8007000000FF8007000000FF8007000700FF8007000700FF8007000700
FF8000000E00FF8000000E00FF8000000E00FF8000000E00FF8000001E00FF8000001E00
FF8000003C00FF8000003C00FF8000007C00FF800000FC00FF800001FC00FF800007FC00
FF80003FFCFFFFFFFFFFF8FFFFFFFFFFF8FFFFFFFFFFF830317EB035>I<FFFFFF80FFFF
FF80FFFFFF8000FF800000FF800000FF800000FF800000FF800000FF800000FF800000FF
800000FF800000FF800000FF800000FF800000FF800000FF800000FF800000FF800000FF
800000FF800000FF800000FF800000FF800000FF800000FF800000FF800000FF800000FF
800000FF800000FF800000FF800000FF800000FF800000FF800000FF800000FF800000FF
800000FF800000FF800000FF800000FF800000FF800000FF800000FF800000FF8000FFFF
FF80FFFFFF80FFFFFF8019317EB01E>73 D<FFFFFFFFE000FFFFFFFFFE00FFFFFFFFFF80
00FF8000FFE000FF80003FF000FF80000FF800FF800007FC00FF800007FC00FF800003FE
00FF800003FE00FF800003FF00FF800003FF00FF800003FF00FF800003FF00FF800003FF
00FF800003FF00FF800003FF00FF800003FE00FF800003FE00FF800007FC00FF800007F8
00FF80000FF800FF80003FE000FF8000FFC000FFFFFFFF0000FFFFFFF80000FF80000000
00FF8000000000FF8000000000FF8000000000FF8000000000FF8000000000FF80000000
00FF8000000000FF8000000000FF8000000000FF8000000000FF8000000000FF80000000
00FF8000000000FF8000000000FF8000000000FF8000000000FF8000000000FF80000000
00FF80000000FFFFFF800000FFFFFF800000FFFFFF80000030317EB037>80
D<FFFFFF8003FFFF80FFFFFF8003FFFF80FFFFFF8003FFFF8000FF80000007C00000FF80
000003800000FF80000003800000FF80000003800000FF80000003800000FF8000000380
0000FF80000003800000FF80000003800000FF80000003800000FF80000003800000FF80
000003800000FF80000003800000FF80000003800000FF80000003800000FF8000000380
0000FF80000003800000FF80000003800000FF80000003800000FF80000003800000FF80
000003800000FF80000003800000FF80000003800000FF80000003800000FF8000000380
0000FF80000003800000FF80000003800000FF80000003800000FF80000003800000FF80
000003800000FF80000003800000FF80000003800000FF80000003800000FF8000000380
00007F800000038000007F800000070000007FC00000070000003FC000000E0000003FC0
00000E0000001FE000001C0000000FF000003800000007F800007000000003FC0001E000
000000FF801FC0000000003FFFFF80000000000FFFFE000000000000FFE000000039317E
B03E>85 D<00FFF0000003FFFE00000F803F80000FC00FE0001FE007F0001FE007F0001F
E003F8000FC003FC00078003FC00000003FC00000003FC00000003FC00000003FC000000
FFFC00001FFFFC0000FFE3FC0003FC03FC000FF003FC001FC003FC003FC003FC007F8003
FC007F8003FC00FF0003FC00FF0003FC00FF0003FC00FF0007FC00FF0007FC007F800DFC
003FC019FE001FE070FFF007FFE07FF000FF803FF024207E9F27>97
D<000FFF00007FFFC001FC01F003F003F007E007F80FE007F81FC007F83FC003F03FC001
E07F8000007F8000007F800000FF800000FF800000FF800000FF800000FF800000FF8000
00FF800000FF8000007F8000007F8000007F8000003FC0001C3FC0001C1FC000380FE000
3807E0007003F001E001FC07C0007FFF00000FF8001E207D9F24>99
D<0000000FC0000007FFC0000007FFC0000007FFC00000007FC00000003FC00000003FC0
0000003FC00000003FC00000003FC00000003FC00000003FC00000003FC00000003FC000
00003FC00000003FC00000003FC00000003FC00007F83FC0003FFF3FC000FE07BFC003F8
01FFC007E0007FC00FE0007FC01FC0003FC03FC0003FC03FC0003FC07F80003FC07F8000
3FC07F80003FC0FF80003FC0FF80003FC0FF80003FC0FF80003FC0FF80003FC0FF80003F
C0FF80003FC0FF80003FC07F80003FC07F80003FC07F80003FC03FC0003FC03FC0003FC0
1FC0003FC00FE0007FC007E000FFC003F003FFE001FC0F3FFE007FFE3FFE000FF03FFE27
327DB12D>I<000FFC00007FFF8001FC0FC003F003E007E001F00FE001F81FC000FC3FC0
00FE3FC000FE7F80007E7F80007F7F80007FFF80007FFF80007FFFFFFFFFFFFFFFFFFF80
0000FF800000FF800000FF8000007F8000007F8000007F8000003FC000071FC000071FC0
000E0FE0000E07F0001C03F8007800FE03E0003FFFC00007FE0020207E9F25>I<001FF0
07C000FFFE3FE001F83F79F007E00FC3F00FE00FE1F00FC007E0E01FC007F0001FC007F0
003FC007F8003FC007F8003FC007F8003FC007F8003FC007F8001FC007F0001FC007F000
0FC007E0000FE00FE00007E00FC00003F83F000006FFFE00000E1FF000000E000000001E
000000001E000000001F000000001F800000001FFFFF80000FFFFFF0000FFFFFFC0007FF
FFFE0003FFFFFF0003FFFFFF800FFFFFFFC01F00007FC07E00001FE07C00000FE0FC0000
07E0FC000007E0FC000007E0FC000007E07E00000FC03E00000F803F00001F800FC0007E
0007F803FC0001FFFFF000001FFF0000242F7E9F28>103 D<03C00007E0000FF0001FF8
001FF8001FF8001FF8000FF00007E00003C0000000000000000000000000000000000000
0000000000000000000001F800FFF800FFF800FFF8000FF80007F80007F80007F80007F8
0007F80007F80007F80007F80007F80007F80007F80007F80007F80007F80007F80007F8
0007F80007F80007F80007F80007F80007F80007F80007F800FFFF80FFFF80FFFF801133
7DB217>105 D<03F007F8001FE000FFF03FFE00FFF800FFF0783F01E0FC00FFF0C03F83
00FE000FF1801FC6007F0007F3001FCC007F0007F6001FF8007F8007FC001FF0007F8007
FC001FF0007F8007FC001FF0007F8007F8001FE0007F8007F8001FE0007F8007F8001FE0
007F8007F8001FE0007F8007F8001FE0007F8007F8001FE0007F8007F8001FE0007F8007
F8001FE0007F8007F8001FE0007F8007F8001FE0007F8007F8001FE0007F8007F8001FE0
007F8007F8001FE0007F8007F8001FE0007F8007F8001FE0007F8007F8001FE0007F8007
F8001FE0007F8007F8001FE0007F8007F8001FE0007F80FFFFC3FFFF0FFFFCFFFFC3FFFF
0FFFFCFFFFC3FFFF0FFFFC3E207D9F43>109 D<03F007F800FFF03FFE00FFF0783F00FF
F0C03F800FF1801FC007F3001FC007F6001FE007FC001FE007FC001FE007FC001FE007F8
001FE007F8001FE007F8001FE007F8001FE007F8001FE007F8001FE007F8001FE007F800
1FE007F8001FE007F8001FE007F8001FE007F8001FE007F8001FE007F8001FE007F8001F
E007F8001FE007F8001FE007F8001FE007F8001FE0FFFFC3FFFFFFFFC3FFFFFFFFC3FFFF
28207D9F2D>I<0007FC0000007FFFC00001FC07F00003F001F80007E000FC000FC0007E
001FC0007F003FC0007F803F80003F807F80003FC07F80003FC07F80003FC0FF80003FE0
FF80003FE0FF80003FE0FF80003FE0FF80003FE0FF80003FE0FF80003FE0FF80003FE07F
80003FC07F80003FC07F80003FC03FC0007F803FC0007F801FC0007F000FE000FE0007E0
00FC0003F803F80001FE0FF000007FFFC0000007FC000023207E9F28>I<03F03F00FFF0
7FC0FFF1C3E0FFF187E00FF30FF007F60FF007F60FF007FC07E007FC03C007FC000007FC
000007F8000007F8000007F8000007F8000007F8000007F8000007F8000007F8000007F8
000007F8000007F8000007F8000007F8000007F8000007F8000007F8000007F8000007F8
0000FFFFE000FFFFE000FFFFE0001C207E9F21>114 D<01FF860007FFFE001F00FE003C
003E0078001E0078000E00F8000E00F8000E00F8000E00FC000000FF800000FFFC00007F
FFC0007FFFF0003FFFF8001FFFFC0007FFFE0001FFFF00003FFF000000FF8000003F8060
001F80E0000F80E0000F80F0000F80F0000F00F8000F00FC001E00FE001C00FF807800F3
FFF000C07F800019207D9F20>I<001C0000001C0000001C0000001C0000001C0000003C
0000003C0000003C0000007C0000007C000000FC000001FC000003FC000007FC00001FFF
FE00FFFFFE00FFFFFE0003FC000003FC000003FC000003FC000003FC000003FC000003FC
000003FC000003FC000003FC000003FC000003FC000003FC000003FC000003FC000003FC
000003FC038003FC038003FC038003FC038003FC038003FC038003FC038001FC038001FC
070000FE0700007F0E00003FFC000007F000192E7FAD1F>I<01F80007E0FFF803FFE0FF
F803FFE0FFF803FFE00FF8003FE007F8001FE007F8001FE007F8001FE007F8001FE007F8
001FE007F8001FE007F8001FE007F8001FE007F8001FE007F8001FE007F8001FE007F800
1FE007F8001FE007F8001FE007F8001FE007F8001FE007F8001FE007F8001FE007F8001F
E007F8003FE007F8003FE003F8007FE003F8007FE001FC00DFF000FE039FFF007FFF1FFF
000FFC1FFF28207D9F2D>I<FFFF801FFCFFFF801FFCFFFF801FFC0FF80003C007F80003
8007FC00078003FC00070003FE000F0001FE000E0001FF000E0000FF001C0000FF001C00
007F803800007F803800007FC07800003FC07000003FE0F000001FE0E000001FF1E00000
0FF1C000000FF9C0000007FB80000007FB80000003FF00000003FF00000003FF00000001
FE00000001FE00000000FC00000000FC00000000780000000078000026207E9F2B>I
E /Fd 28 122 df<FFC0FFC00A027F8A0F>45 D<70F8F8F87005057C840D>I<00010003
0003000600060006000C000C000C00180018001800300030003000600060006000C000C0
00C00180018001800300030003000600060006000C000C000C0018001800180030003000
3000600060006000C000C000C000102D7DA117>I<FFFC0FC00780078007800780078007
800780078007800780078007800780078007800780078007800780078007800780078007
800780078007800FC0FFFC0E1F7F9E10>73 D<FF80001FF80F80001F800780001F0005C0
002F0005C0002F0005C0002F0004E0004F0004E0004F000470008F000470008F00047000
8F000438010F000438010F000438010F00041C020F00041C020F00041C020F00040E040F
00040E040F00040E040F000407080F000407080F000407080F000403900F000403900F00
0401E00F000401E00F000401E00F000E00C00F001F00C01F80FFE0C1FFF8251F7E9E2A>
77 D<FFFFE0000F80780007801C0007801E0007800F0007800F8007800F8007800F8007
800F8007800F8007800F8007800F0007801E0007801C000780780007FFE0000780000007
800000078000000780000007800000078000000780000007800000078000000780000007
80000007800000078000000FC00000FFFC0000191F7E9E1F>80 D<FFFF80000F80F00007
80780007803C0007801E0007801E0007801F0007801F0007801F0007801F0007801E0007
801E0007803C00078078000780F00007FF80000781C0000780E0000780F0000780700007
807800078078000780780007807C0007807C0007807C0007807C0407807E0407803E040F
C01E08FFFC0F10000003E01E207E9E21>82 D<7FFFFFE0780F01E0600F0060400F002040
0F0020C00F0030800F0010800F0010800F0010800F0010000F0000000F0000000F000000
0F0000000F0000000F0000000F0000000F0000000F0000000F0000000F0000000F000000
0F0000000F0000000F0000000F0000000F0000000F0000000F0000001F800007FFFE001C
1F7E9E21>84 D<1FE000303000781800781C00300E00000E00000E00000E0000FE00078E
001E0E00380E00780E00F00E10F00E10F00E10F01E10781E103867200F83C014147E9317
>97 D<0E0000FE00000E00000E00000E00000E00000E00000E00000E00000E00000E0000
0E00000E3E000EC3800F01C00F00E00E00E00E00700E00700E00780E00780E00780E0078
0E00780E00780E00700E00700E00E00F00E00D01C00CC300083E0015207F9F19>I<03F8
0E0C1C1E381E380C70007000F000F000F000F000F000F00070007000380138011C020E0C
03F010147E9314>I<000380003F80000380000380000380000380000380000380000380
00038000038000038003E380061B801C0780380380380380700380700380F00380F00380
F00380F00380F00380F003807003807003803803803807801C07800E1B8003E3F815207E
9F19>I<03F0000E1C001C0E00380700380700700700700380F00380F00380FFFF80F000
00F00000F000007000007000003800801800800C010007060001F80011147F9314>I<00
7C00C6018F038F07060700070007000700070007000700FFF00700070007000700070007
000700070007000700070007000700070007000700070007007FF01020809F0E>I<0000
E003E3300E3C301C1C30380E00780F00780F00780F00780F00780F00380E001C1C001E38
0033E0002000002000003000003000003FFE001FFF800FFFC03001E0600070C00030C000
30C00030C000306000603000C01C038003FC00141F7F9417>I<0E0000FE00000E00000E
00000E00000E00000E00000E00000E00000E00000E00000E00000E3E000E43000E81800F
01C00F01C00E01C00E01C00E01C00E01C00E01C00E01C00E01C00E01C00E01C00E01C00E
01C00E01C00E01C00E01C0FFE7FC16207F9F19>I<1C001E003E001E001C000000000000
000000000000000E007E000E000E000E000E000E000E000E000E000E000E000E000E000E
000E000E000E000E00FFC00A1F809E0C>I<0E00FE000E000E000E000E000E000E000E00
0E000E000E000E000E000E000E000E000E000E000E000E000E000E000E000E000E000E00
0E000E000E000E00FFE00B20809F0C>108 D<0E1F01F000FE618618000E81C81C000F00
F00E000F00F00E000E00E00E000E00E00E000E00E00E000E00E00E000E00E00E000E00E0
0E000E00E00E000E00E00E000E00E00E000E00E00E000E00E00E000E00E00E000E00E00E
000E00E00E00FFE7FE7FE023147F9326>I<0E3E00FE43000E81800F01C00F01C00E01C0
0E01C00E01C00E01C00E01C00E01C00E01C00E01C00E01C00E01C00E01C00E01C00E01C0
0E01C0FFE7FC16147F9319>I<01F800070E001C03803801C03801C07000E07000E0F000
F0F000F0F000F0F000F0F000F0F000F07000E07000E03801C03801C01C0380070E0001F8
0014147F9317>I<0E3E00FEC3800F01C00F00E00E00E00E00F00E00700E00780E00780E
00780E00780E00780E00780E00700E00F00E00E00F01E00F01C00EC3000E3E000E00000E
00000E00000E00000E00000E00000E00000E0000FFE000151D7F9319>I<0E78FE8C0F1E
0F1E0F0C0E000E000E000E000E000E000E000E000E000E000E000E000E000E00FFE00F14
7F9312>114 D<1F9030704030C010C010C010E00078007F803FE00FF000708038801880
18C018C018E030D0608F800D147E9312>I<020002000200060006000E000E003E00FFF8
0E000E000E000E000E000E000E000E000E000E000E000E080E080E080E080E0806100310
01E00D1C7F9B12>I<0E01C0FE1FC00E01C00E01C00E01C00E01C00E01C00E01C00E01C0
0E01C00E01C00E01C00E01C00E01C00E01C00E01C00E03C00603C0030DC001F1FC16147F
9319>I<FF83F81E01E01C00C00E00800E00800E00800701000701000382000382000382
0001C40001C40001EC0000E80000E80000700000700000700000200015147F9318>I<FF
83F81E01E01C00C00E00800E00800E008007010007010003820003820003820001C40001
C40001EC0000E80000E800007000007000007000002000002000004000004000004000F0
8000F08000F100006200003C0000151D7F9318>121 D E /Fe 7
117 df<0000E000000000E000000001F000000001F000000001F000000003F800000003
F800000006FC00000006FC0000000EFE0000000C7E0000000C7E000000183F000000183F
000000303F800000301F800000701FC00000600FC00000600FC00000C007E00000FFFFE0
0001FFFFF000018003F000018003F000030001F800030001F800060001FC00060000FC00
0E0000FE00FFE00FFFE0FFE00FFFE0231F7E9E28>65 D<07FC001FFF003F0F803F07C03F
03E03F03E00C03E00003E0007FE007FBE01F03E03C03E07C03E0F803E0F803E0F803E0FC
05E07E0DE03FF8FE0FE07E17147F9319>97 D<FF0000FF00001F00001F00001F00001F00
001F00001F00001F00001F00001F00001F00001F1FC01F7FF01FE0F81F807C1F007E1F00
3E1F003E1F003F1F003F1F003F1F003F1F003F1F003F1F003E1F003E1F007C1F807C1EC1
F81C7FE0181F8018207E9F1D>I<01FE0007FF801F0FC03E0FC03E0FC07C0FC07C0300FC
0000FC0000FC0000FC0000FC0000FC00007C00007E00003E00603F00C01F81C007FF0001
FC0013147E9317>I<FE3E00FE7F801ECFC01E8FC01E8FC01F8FC01F03001F00001F0000
1F00001F00001F00001F00001F00001F00001F00001F00001F0000FFF000FFF00012147E
9316>114 D<0FE63FFE701E600EE006E006F800FFC07FF83FFC1FFE03FE001FC007C007
E007F006F81EFFFCC7F010147E9315>I<01800180018003800380038007800F803F80FF
FCFFFC0F800F800F800F800F800F800F800F800F800F800F860F860F860F860F8607CC03
F801F00F1D7F9C14>I E /Ff 39 122 df<78FCFCFEFE7A020202020404040810102040
07127B8510>44 D<FFFEFFFEFFFE0F037F8E14>I<78FCFCFCFC7806067B8510>I<007E00
01C3800700E00E00701E00781C00383C003C3C003C38001C78001E78001E78001E78001E
F8001FF8001FF8001FF8001FF8001FF8001FF8001FF8001FF8001FF8001FF8001FF8001F
F8001FF8001FF8001F78001E78001E78001E78001E7C003E3C003C3C003C1C00381E0078
0E00700700E001C380007E0018297EA71D>48 D<00100000700000F0000FF000FFF000F0
F00000F00000F00000F00000F00000F00000F00000F00000F00000F00000F00000F00000
F00000F00000F00000F00000F00000F00000F00000F00000F00000F00000F00000F00000
F00000F00000F00000F00000F00000F00000F00000F00001F8007FFFE07FFFE013287CA7
1D>I<01FC0007FF000C0FC01803E02001F06001F04000F84000F8F800FCFC00FCFC007C
FC007CFC007C7800FC0000FC0000F80000F80001F00001F00003E00003C0000780000700
000E00001C0000380000300000600000C000018000030004020004040008080008100008
2000183FFFF87FFFF0FFFFF0FFFFF016287DA71D>I<007E0003FFC00703E00C01F01000
F81C00F83E00FC3E007C3E007C1E007C0C00FC0000F80000F80000F00001F00001E00003
8000070000FE000003C00000E00000F800007C00007C00003E00003E00003F00003F3000
3F78003FFC003FFC003FFC003EF8003E40007E40007C3000F81800F00F03E003FFC000FE
0018297EA71D>I<0000400000C00001C00001C00003C00007C00007C0000BC0000BC000
13C00023C00023C00043C000C3C00083C00103C00103C00203C00403C00403C00803C018
03C01003C02003C02003C04003C08003C0FFFFFFFFFFFF0003C00003C00003C00003C000
03C00003C00003C00003C00007E000FFFF00FFFF18287EA71D>I<000FC0003FF000F018
01C01803803C07007C0F007C0E00381E00003C00003C00003C00007C0000780000780000
F83F00F8C1C0F900E0FA0070FA0038FC003CFC001EFC001EF8001EF8001FF8001FF8001F
F8001F78001F78001F78001F78001F3C001E3C001E1C003C1E003C0E007807007003C1E0
01FFC0007E0018297EA71D>54 D<2000003800003FFFFF3FFFFF3FFFFE7FFFFE60000440
000840000840001080002080002000004000008000008000010000020000020000060000
0400000C00000C00001C00001C00001C0000380000380000380000780000780000780000
780000780000F80000F80000F80000F80000F80000F80000F80000F800007000182A7DA8
1D>I<007E0001FF800781C00F00E01E00703C00383C003878003C78003CF8001EF8001E
F8001EF8001EF8001FF8001FF8001FF8001F78001F78003F78003F3C003F1C005F0E005F
07009F03831F00FC1F00001E00001E00001E00003E00003C00003C0000381C00783E0070
3E00E03C01C01803801C0F000FFE0003F80018297EA71D>57 D<78FCFCFCFC7800000000
0000000000000000000078FCFCFCFC78061A7B9910>I<0001FF0000000E00E000003000
1800004000040000800002000100000100020000008004000000400800FC002010038300
101007008010200E004008201C002008403C001E044038001E044078001E048078001E02
80F0001E0280F0001E0280F0001E0280F0001E0280F0001E0280F0001E0280F0001E0280
F0001E028078001E024078001E024038001E02403C001E04201C003E04200E005E041007
008E0810038307180800FC03E0040000000002000000000100000000008000001E004000
007800300003E0000E003E000001FFC000272A7DA92E>64 D<0000100000000038000000
00380000000038000000007C000000007C000000007C00000000BE00000000BE00000000
BE000000011F000000011F000000011F000000020F800000020F800000020F8000000407
C000000407C000000C07E000000803E000000803E000001003F000001001F000001001F0
00002000F800002000F800002000F800007FFFFC00007FFFFC000040007C000080003E00
0080003E000080003E000100001F000100001F000300001F800200000F800200000F8006
00000FC01F80000FC0FFE000FFFEFFE000FFFE272A7EA92C>I<FFFFFF8000FFFFFFE000
07E001F80003E0007C0003E0007E0003E0003F0003E0001F0003E0001F8003E0001F8003
E0001F8003E0001F8003E0001F8003E0001F8003E0001F0003E0003F0003E0003E0003E0
007C0003E000F80003E003F00003FFFFC00003E000F80003E0007C0003E0001F0003E000
1F8003E0000F8003E0000FC003E00007C003E00007E003E00007E003E00007E003E00007
E003E00007E003E00007E003E0000FC003E0000FC003E0001F8003E0001F8003E0007F00
07E000FC00FFFFFFF800FFFFFFC00023297EA829>I<0000FF00200007FFC060001F8070
60007E0018E000F80005E001F00003E003E00001E007C00001E00F800000E00F800000E0
1F000000603F000000603E000000607E000000207E000000207C000000207C00000000FC
00000000FC00000000FC00000000FC00000000FC00000000FC00000000FC00000000FC00
000000FC000000007C000000007C000000007E000000207E000000203E000000203F0000
00201F000000400F800000400F8000004007C000008003E000010001F000030000F80006
00007E001C00001F8070000007FFE0000000FF0000232B7DA92A>I<FFFFFFFF00FFFFFF
FF0007E0003F0003E000070003E000038003E000018003E000018003E000008003E00000
8003E000008003E000008003E000004003E002004003E002004003E002000003E0020000
03E002000003E006000003E00E000003FFFE000003FFFE000003E00E000003E006000003
E002000003E002000003E002002003E002002003E002002003E000002003E000004003E0
00004003E000004003E000004003E00000C003E00000C003E00001C003E00003C003E000
078007E0003F80FFFFFFFF80FFFFFFFF8023297EA828>69 D<FFFF80FFFF8007F00003E0
0003E00003E00003E00003E00003E00003E00003E00003E00003E00003E00003E00003E0
0003E00003E00003E00003E00003E00003E00003E00003E00003E00003E00003E00003E0
0003E00003E00003E00003E00003E00003E00003E00003E00003E00003E00007F000FFFF
80FFFF8011297EA815>73 D<FFE0000007FF80FFE0000007FF8007E0000007F00002F000
000BE00002F000000BE0000278000013E0000278000013E0000278000013E000023C0000
23E000023C000023E000023C000023E000021E000043E000021E000043E000020F000083
E000020F000083E000020F000083E0000207800103E0000207800103E0000207800103E0
000203C00203E0000203C00203E0000201E00403E0000201E00403E0000201E00403E000
0200F00803E0000200F00803E0000200781003E0000200781003E0000200781003E00002
003C2003E00002003C2003E00002003C2003E00002001E4003E00002001E4003E0000200
0F8003E00002000F8003E00002000F8003E0000700070003E0000F80070007F000FFF807
00FFFF80FFF80200FFFF8031297EA836>77 D<FFFFFC0000FFFFFFC00007E007E00003E0
00F80003E0007C0003E0003E0003E0003F0003E0001F0003E0001F8003E0001F8003E000
1F8003E0001F8003E0001F8003E0001F8003E0001F0003E0003E0003E0003E0003E00078
0003E001F00003E007C00003FFFE000003E007000003E003C00003E001E00003E000F000
03E000F80003E000780003E0007C0003E0007C0003E0007C0003E0007C0003E0007E0003
E0007E0003E0007E0003E0007E0003E0007E0103E0007F0103E0003F0107F0001F02FFFF
800F82FFFF80078400000001F8282A7EA82B>82 D<7FFFFFFFF07FFFFFFFF07C00F801F0
7000F800706000F800304000F800104000F80010C000F80018C000F800188000F8000880
00F800088000F800088000F800088000F800080000F800000000F800000000F800000000
F800000000F800000000F800000000F800000000F800000000F800000000F800000000F8
00000000F800000000F800000000F800000000F800000000F800000000F800000000F800
000000F800000000F800000000F800000000F800000000F800000000F800000001FC0000
00FFFFF80000FFFFF80025297EA82A>84 D<03FC00000C070000100380003C01C0003E01
E0003E00F0001C00F0000800F0000000F0000000F0000000F000007FF00003E0F0000F80
F0001E00F0003C00F0007C00F0007800F040F800F040F800F040F800F040F801F0407C01
F0403C0278801E0C7F8007F01E001A1A7E991D>97 D<00000F000001FF000001FF000000
1F0000000F0000000F0000000F0000000F0000000F0000000F0000000F0000000F000000
0F0000000F0000000F0000000F00003F0F0001C0CF0003802F000F001F001E001F001C00
0F003C000F007C000F0078000F0078000F00F8000F00F8000F00F8000F00F8000F00F800
0F00F8000F00F8000F0078000F0078000F003C000F003C000F001E001F000E002F000700
4F8001C18FF8007E0FF81D2A7EA921>100 D<00FE000387800701C00E01E01C00E03C00
F03C00F0780078780078F80078F80078FFFFF8F80000F80000F80000F80000F800007800
007800003C00083C00081E00100E002007004001C180007E00151A7E991A>I<001F0000
70C000E1E001C3E003C3E00381C007808007800007800007800007800007800007800007
8000078000078000FFFE00FFFE0007800007800007800007800007800007800007800007
800007800007800007800007800007800007800007800007800007800007800007800007
800007800007C000FFFE00FFFE00132A7FA912>I<00000F0001FC3080070743800E03C3
801E03C1003C01E0003C01E0007C01F0007C01F0007C01F0007C01F0007C01F0003C01E0
003C01E0001E03C0000E0380001707000011FC0000300000003000000030000000300000
00180000001FFF80000FFFF00007FFF8001C007C0030001E0070000E0060000700E00007
00E0000700E0000700E000070070000E0070000E0038001C001C0038000781E00000FF00
0019287E9A1D>I<07800000FF800000FF8000000F800000078000000780000007800000
078000000780000007800000078000000780000007800000078000000780000007800000
0783F800078C1C0007900E0007A0070007A0078007C0078007C007800780078007800780
078007800780078007800780078007800780078007800780078007800780078007800780
078007800780078007800780078007800780078007800780FFFCFFFCFFFCFFFC1E2A7FA9
21>I<07000F801F801F800F80070000000000000000000000000000000000000007807F
807F800F8007800780078007800780078007800780078007800780078007800780078007
800780078007800780FFF8FFF80D297FA811>I<07800000FF800000FF8000000F800000
078000000780000007800000078000000780000007800000078000000780000007800000
07800000078000000780000007807FE007807FE007803F00078018000780300007802000
07804000078180000782000007860000078F0000079F000007AF800007C780000783C000
0783E0000781E0000781F0000780F8000780780007807C0007803C0007803E0007803F00
FFF8FFF0FFF8FFF01C2A7FA91F>107 D<0780FF80FF800F800780078007800780078007
800780078007800780078007800780078007800780078007800780078007800780078007
80078007800780078007800780078007800780078007800780FFFCFFFC0E2A7FA911>I<
0783F803F800FF8C1C0C1C00FF900E100E000FA00720070007A007A0078007C007C00780
07C007C00780078007800780078007800780078007800780078007800780078007800780
078007800780078007800780078007800780078007800780078007800780078007800780
078007800780078007800780078007800780078007800780078007800780078007800780
FFFCFFFCFFFCFFFCFFFCFFFC2E1A7F9931>I<0783F800FF8C1C00FF900E000FA0070007
A0078007C0078007C0078007800780078007800780078007800780078007800780078007
800780078007800780078007800780078007800780078007800780078007800780078007
80078007800780FFFCFFFCFFFCFFFC1E1A7F9921>I<007E0003C3C00700E00E00701C00
383C003C3C003C78001E78001EF8001FF8001FF8001FF8001FF8001FF8001FF8001FF800
1F78001E78001E3C003C3C003C1C00380E00700700E003C3C0007E00181A7E991D>I<07
83F000FF8C1C00FFB00F0007C0078007C003C0078003E0078001E0078001F0078001F007
8000F8078000F8078000F8078000F8078000F8078000F8078000F8078000F0078001F007
8001F0078001E0078003C007C003C007C0078007A00E0007983C000787E0000780000007
8000000780000007800000078000000780000007800000078000000780000007800000FF
FC0000FFFC00001D267F9921>I<0787C0FF88E0FF91F00FA1F007C1F007C0E007C00007
800007800007800007800007800007800007800007800007800007800007800007800007
800007800007800007800007C000FFFE00FFFE00141A7F9917>114
D<07F0801C0D80300380600180600180E00080E00080F00080F800007E00007FE0003FFC
001FFE0007FF00003F800007808003C08003C08001C0C001C0C001C0E00180E00380F003
00CC0E0083F800121A7E9917>I<00800000800000800000800001800001800001800003
80000380000780000F80001FFF80FFFF8007800007800007800007800007800007800007
800007800007800007800007800007800007800007804007804007804007804007804007
804007804003C08001C08000E100003E0012257FA417>I<07800780FF80FF80FF80FF80
0F800F800780078007800780078007800780078007800780078007800780078007800780
078007800780078007800780078007800780078007800780078007800780078007800F80
07800F800380178001C027C000E047FC003F87FC1E1A7F9921>I<FFF01FF0FFF01FF00F
800780078003000780020007C0020003C0040003C0040001E0080001E0080001F0080000
F0100000F01000007820000078200000782000003C4000003C4000001E8000001E800000
1E8000000F0000000F0000000F000000060000000600000004000000040000000C000000
0800000008000070100000F8100000F8200000F8200000F0400000608000001F0000001C
267F991F>121 D E /Fg 11 122 df<0000001800000000380000000038000000007800
000000F800000000F800000001F800000001F8000000037C000000033C000000063C0000
00063C0000000C3C0000001C3C000000183C000000303C000000303C000000603C000000
603C000000C03C000000C03C000001803C000003803C000003003C000006003C00000600
3C00000FFFFC00000FFFFE000018001E000018001E000030001E000030001E000060001E
0000C0001E0000C0001E000180001E000180001E000300001E000700001E001F80003E00
FFF003FFF0FFE003FFE0242A7DA92B>65 D<003FFF007FF8003FFF007FF80003E0001FC0
0003C0001E000003C0001C000003C00038000003C000600000078000C000000780018000
0007800300000007800E0000000F001C0000000F00300000000F00600000000F00C00000
001E01800000001E03800000001E0F800000001E1F800000003C3BC00000003C63C00000
003CC3C00000003D81E00000007B01E00000007E00F00000007C00F00000007800F00000
00F00078000000F00078000000F00078000000F0003C000001E0003C000001E0003C0000
01E0001E000001E0001E000003C0001E000003C0000F000003C0000F000007C0001F8000
FFFE00FFF800FFFC00FFF0002D297CA82D>75 D<003E0000E1180180BC0300FC0700780E
00781C00781C00783C00F07800F07800F07800F0F001E0F001E0F001E0F001E0E003C0E0
03C3E003C3E003C3E00786600F86701B8630338C1861880F80F0181A7A991E>97
D<000003C000007FC000007FC0000007C00000078000000780000007800000078000000F
0000000F0000000F0000000F0000001E0000001E0000001E0000001E00003E3C0000E13C
000180BC000300FC00070078000E0078001C0078001C0078003C00F0007800F0007800F0
007800F000F001E000F001E000F001E000F001E000E003C000E003C300E003C300E003C3
00E0078600600F8600701B860030338C00186188000F80F0001A2A7AA91E>100
D<001F8000704001C0200380300700300E00301C00303C00603C00607801C0780F007FF8
00F00000F00000F00000F00000F00000F00000F00000F000207000607000C03001801807
000C1C0007F000141A7A991B>I<003C000007FC000007FC0000007C0000007800000078
0000007800000078000000F0000000F0000000F0000000F0000001E0000001E0000001E0
000001E0000003C01F0003C0618003C0818003C103C00782078007840300078400000788
00000F1000000F2000000FC000000FC000001E7800001E1E00001E0F00001E0780003C07
80003C0783003C0783003C07830078070600780706007807040078070C00F00318006001
E0001A2A7DA91B>107 D<0F00FC001983870031C6038031EC038061F803C061F003C061
E003C061E003C0C3C0078003C0078003C0078003C0078007800F0007800F0007800F0007
801E000F001E000F001E180F003C180F003C181E003C301E0038301E0038601E0038403C
00188018000F001D1A7C9921>110 D<0F01F819860E31CC0631F80F61F01E61F00C61E0
0061E000C3C00003C00003C00003C0000780000780000780000780000F00000F00000F00
000F00001E00001E00001E00001E00003C0000180000181A7C9919>114
D<001F8000706000E03001C0300180700380F00380F003806003C00003E00003FE0003FF
8001FFC0007FC0000FE00001E00001E00000E07800E07800E0F001C06001806003802007
00181C0007F000141A7D9918>I<07800C0CE01E18601F30F00F30F00F60F00760F00761
E007C1E00601E00603C00603C00603C00C07800C07800C0780080F00180F00180F00300F
00300F00600F00400700C003818001C30000FC00181A7C991B>118
D<078003000CE007801860078030F0078030F00F0060F00F0060F00F0061E00F00C1E01E
0001E01E0003C01E0003C01E0003C03C0007803C0007803C0007803C000F0078000F0078
000F0078000F0078000F00F0000F00F0000701F0000701F0000387E00000F9E0000001E0
000001E0000003C0000003C000180780003C070000780F0000700E0000601C0000303800
0010E000000F80000019267C991C>121 D E /Fh 17 119 df<FFFFF8FFFFF8FFFFF8FF
FFF815047F941A>45 D<FFFFFFFF800000FFFFFFFFF0000003FC0003FC000001F800007F
000001F800001F800001F8000007C00001F8000003F00001F8000001F80001F8000000F8
0001F80000007C0001F80000003E0001F80000003F0001F80000001F0001F80000001F80
01F80000000F8001F80000000FC001F80000000FC001F800000007E001F800000007E001
F800000007E001F800000007F001F800000003F001F800000003F001F800000003F001F8
00000003F801F800000003F801F800000003F801F800000003F801F800000003F801F800
000003F801F800000003F801F800000003F801F800000003F801F800000003F801F80000
0003F801F800000003F801F800000003F001F800000003F001F800000003F001F8000000
07F001F800000007E001F800000007E001F800000007E001F80000000FC001F80000000F
C001F80000001F8001F80000001F8001F80000003F0001F80000003E0001F80000007E00
01F8000000FC0001F8000001F80001F8000003F00001F8000007E00001F800000F800001
F800003F000003FC0001FC0000FFFFFFFFF00000FFFFFFFF800000353B7CBA3D>68
D<FFFFFFFFFFF0FFFFFFFFFFF003FC00003FF001F8000007F001F8000001F001F8000000
F801F80000007801F80000007801F80000003801F80000003801F80000001801F8000000
1801F80000001801F80000001801F80000001C01F80000000C01F80000000C01F8000600
0C01F80006000C01F80006000001F80006000001F80006000001F80006000001F8000E00
0001F8000E000001F8001E000001F8007E000001FFFFFE000001FFFFFE000001F8007E00
0001F8001E000001F8000E000001F8000E000001F80006000001F80006000001F8000600
0001F80006000001F80006000301F80006000301F80000000301F80000000301F8000000
0601F80000000601F80000000601F80000000601F80000000601F80000000E01F8000000
0E01F80000000C01F80000001C01F80000001C01F80000003C01F80000003C01F8000000
7C01F8000001FC01F8000007F803FC00003FF8FFFFFFFFFFF8FFFFFFFFFFF8303B7CBA36
>I<FFFFF0FFFFF003FC0001F80001F80001F80001F80001F80001F80001F80001F80001
F80001F80001F80001F80001F80001F80001F80001F80001F80001F80001F80001F80001
F80001F80001F80001F80001F80001F80001F80001F80001F80001F80001F80001F80001
F80001F80001F80001F80001F80001F80001F80001F80001F80001F80001F80001F80001
F80001F80001F80001F80001F80001F80001F80001F80001F80003FC00FFFFF0FFFFF014
3B7CBA1C>73 D<FFF8000000001FFF80FFFC000000003FFF8003FC000000003FE00001FC
000000003FC00001BE000000006FC00001BE000000006FC00001BE000000006FC000019F
00000000CFC000019F00000000CFC000019F00000000CFC000018F800000018FC000018F
800000018FC0000187C00000030FC0000187C00000030FC0000187C00000030FC0000183
E00000060FC0000183E00000060FC0000183E00000060FC0000181F000000C0FC0000181
F000000C0FC0000181F000000C0FC0000180F80000180FC0000180F80000180FC0000180
7C0000300FC00001807C0000300FC00001807C0000300FC00001803E0000600FC0000180
3E0000600FC00001803E0000600FC00001801F0000C00FC00001801F0000C00FC0000180
1F0000C00FC00001800F8001800FC00001800F8001800FC000018007C003000FC0000180
07C003000FC000018007C003000FC000018003E006000FC000018003E006000FC0000180
03E006000FC000018001F00C000FC000018001F00C000FC000018001F00C000FC0000180
00F818000FC000018000F818000FC0000180007C30000FC0000180007C30000FC0000180
007C30000FC0000180003E60000FC0000180003E60000FC0000180003E60000FC0000180
001FC0000FC0000180001FC0000FC0000180001FC0000FC00003C0000F80000FC00007E0
000F80000FC0000FF0000700001FE000FFFF00070007FFFF80FFFF00070007FFFF80413B
7CBA49>77 D<FFFFFFFF0000FFFFFFFFE00003FC0003F80001F800007E0001F800003F00
01F800000F8001F8000007C001F8000007E001F8000003F001F8000003F001F8000003F8
01F8000001F801F8000001FC01F8000001FC01F8000001FC01F8000001FC01F8000001FC
01F8000001FC01F8000001FC01F8000001F801F8000003F801F8000003F001F8000003F0
01F8000007E001F8000007C001F800000F8001F800003F0001F800007C0001F80003F000
01FFFFFFC00001F80000000001F80000000001F80000000001F80000000001F800000000
01F80000000001F80000000001F80000000001F80000000001F80000000001F800000000
01F80000000001F80000000001F80000000001F80000000001F80000000001F800000000
01F80000000001F80000000001F80000000001F80000000001F80000000001F800000000
01F80000000001F80000000001F80000000003FC00000000FFFFF0000000FFFFF0000000
2E3B7CBA36>80 D<FFFFFFF8000000FFFFFFFF80000003FC000FE0000001F80001F80000
01F800007E000001F800003F000001F800001F800001F800000FC00001F8000007E00001
F8000007E00001F8000007F00001F8000003F00001F8000003F80001F8000003F80001F8
000003F80001F8000003F80001F8000003F80001F8000003F80001F8000003F80001F800
0003F00001F8000007F00001F8000007E00001F800000FC00001F800000F800001F80000
1F000001F800003E000001F800007C000001F80001F0000001F8000F80000001FFFFF800
000001F8001F00000001F80003C0000001F80001F0000001F80000F8000001F800007C00
0001F800003E000001F800003E000001F800003F000001F800001F000001F800001F8000
01F800001F800001F800001F800001F800001F800001F800001F800001F800001F800001
F800001FC00001F800001FC00001F800001FC00001F800001FC00001F800001FC00001F8
00001FC00001F800001FC00601F800000FE00601F800000FE00601F800000FE00401F800
0007E00C03FC000003F00CFFFFF00001F018FFFFF000007C3000000000000FC0373C7CBA
3B>82 D<7FFFFFFFFFFFC07FFFFFFFFFFFC07FC003FC003FC07E0001F8000FC07C0001F8
0003C0780001F80001C0700001F80001C0700001F80000C0600001F80000C0600001F800
00C0E00001F80000E0E00001F80000E0C00001F8000060C00001F8000060C00001F80000
60C00001F8000060C00001F8000060C00001F8000060C00001F8000060000001F8000000
000001F8000000000001F8000000000001F8000000000001F8000000000001F800000000
0001F8000000000001F8000000000001F8000000000001F8000000000001F80000000000
01F8000000000001F8000000000001F8000000000001F8000000000001F8000000000001
F8000000000001F8000000000001F8000000000001F8000000000001F8000000000001F8
000000000001F8000000000001F8000000000001F8000000000001F8000000000001F800
0000000001F8000000000001F8000000000001F8000000000001F8000000000001F80000
00000001F8000000000001F8000000000001F8000000000001F8000000000001F8000000
000007FE0000000007FFFFFE00000007FFFFFE0000333B7DBA39>84
D<003F80000001C0F00000030038000004001C00000C001E000018000F00001C000F8000
3E000780003F0007C0003F0007C0003F0007C0001E0007C000000007C000000007C00000
0007C00000003FC000000FE7C000007E07C00001F007C00007E007C0000F8007C0001F00
07C0003F0007C0003E0007C0007E0007C0007C0007C060FC0007C060FC0007C060FC0007
C060FC000FC060FC000FC0607C000FC0607E0017C0603E0023E0C01F0041F18007C180FF
0000FE003E0023257CA427>97 D<000FF00000383C0000E00F0001C00780038003C00780
01E00F0001F01F0000F01E0000F83E0000F83E0000F87C00007C7C00007C7C00007CFC00
007CFC00007CFFFFFFFCFC000000FC000000FC000000FC000000FC000000FC0000007C00
00007C0000007E0000003E0000003E00000C1E00000C1F0000180F0000180780003003C0
006001E000C000F00180003C0E000007F8001E257DA423>101 D<038007C00FE00FE00F
E007C00380000000000000000000000000000000000000000000000000000003E0FFE0FF
E007E003E003E003E003E003E003E003E003E003E003E003E003E003E003E003E003E003
E003E003E003E003E003E003E003E003E003E003E003E003E003E007F0FFFFFFFF10397E
B815>105 D<03E000FFE000FFE00007E00003E00003E00003E00003E00003E00003E000
03E00003E00003E00003E00003E00003E00003E00003E00003E00003E00003E00003E000
03E00003E00003E00003E00003E00003E00003E00003E00003E00003E00003E00003E000
03E00003E00003E00003E00003E00003E00003E00003E00003E00003E00003E00003E000
03E00003E00003E00003E00003E00003E00003E00003E00003E00003E00003E00007F000
FFFF80FFFF80113C7EBB15>108 D<03E01FC0007F0000FFE060780181E000FFE1803C06
00F00007E2001E0800780003E4001F10007C0003E4001F10007C0003E8000F20003C0003
F0000FC0003E0003F0000FC0003E0003F0000FC0003E0003E0000F80003E0003E0000F80
003E0003E0000F80003E0003E0000F80003E0003E0000F80003E0003E0000F80003E0003
E0000F80003E0003E0000F80003E0003E0000F80003E0003E0000F80003E0003E0000F80
003E0003E0000F80003E0003E0000F80003E0003E0000F80003E0003E0000F80003E0003
E0000F80003E0003E0000F80003E0003E0000F80003E0003E0000F80003E0003E0000F80
003E0003E0000F80003E0003E0000F80003E0003E0000F80003E0003E0000F80003E0007
F0001FC0007F00FFFF83FFFE0FFFF8FFFF83FFFE0FFFF83D257DA443>I<03E03FC000FF
E0C0F000FFE100780007E2003C0003E4003E0003E8001E0003E8001E0003F0001F0003F0
001F0003F0001F0003E0001F0003E0001F0003E0001F0003E0001F0003E0001F0003E000
1F0003E0001F0003E0001F0003E0001F0003E0001F0003E0001F0003E0001F0003E0001F
0003E0001F0003E0001F0003E0001F0003E0001F0003E0001F0003E0001F0003E0001F00
03E0001F0003E0001F0003E0001F0003E0001F0007F0003F80FFFF87FFFCFFFF87FFFC26
257DA42C>I<03E0FC00FFE10600FFE20F0007E41F8003E81F8003E81F8003F00F0003F0
060003F0000003F0000003E0000003E0000003E0000003E0000003E0000003E0000003E0
000003E0000003E0000003E0000003E0000003E0000003E0000003E0000003E0000003E0
000003E0000003E0000003E0000003E0000003E0000003E0000003E0000003E0000007F0
0000FFFFC000FFFFC00019257DA41E>114 D<0018000000180000001800000018000000
18000000380000003800000038000000380000007800000078000000F8000000F8000001
F8000003F8000007F800001FFFFE00FFFFFE0000F8000000F8000000F8000000F8000000
F8000000F8000000F8000000F8000000F8000000F8000000F8000000F8000000F8000000
F8000000F8000000F8000000F8000000F8000000F8000000F8018000F8018000F8018000
F8018000F8018000F8018000F8018000F8018000F801800078018000780300007C030000
3C0200001E0600000F0C000003F00019357FB41E>116 D<FFFF001FFFFFFF001FFF07F8
0007F803F00003E003F00001C001F00001C001F000018001F800038000F800030000F800
0300007C000600007C000600007E000E00003E000C00003E000C00001F001800001F0018
00001F801800000F803000000F803000000FC070000007C060000007C060000003E0C000
0003E0C0000003F1C0000001F180000001F180000000FB00000000FB00000000FF000000
007E000000007E000000003C000000003C000000003C0000000018000028257FA42A>
118 D E end
%%EndProlog
%%BeginSetup
%%Feature: *Resolution 300dpi
TeXDict begin

%%EndSetup
%%Page: 0 1
0 0 bop 387 165 a Fh(Ev)n(en)n(t-Driv)n(en)26 b(Real-Time)h(MPI)678
313 y Fg(A)o(rkady)21 b(Kanevsky)659 400 y Ff(The)e(MITRE)g(Corp.)653
475 y(202)h(Burlington)d(Rd.)581 549 y(Bedford,)i(MA)g(01730-1420)585
624 y(email:)24 b(ark)m(ady@mitre.org)693 740 y(August)18
b(16,)i(1996)800 924 y Fe(Abstract)40 1008 y Fd(This)h(article)g
(outlines)g(the)f(functionalit)o(y)i(of)d(the)i(MPI/R)l(T)f(standard)g
(to)f(supp)q(ort)h(ev)o(en)o(t-driv)o(en)-28 1064 y(real-time)d
(applications.)23 b(The)16 b(goal)g(of)f(this)i(article)f(is)h(to)e
(presen)o(t)h(only)g(a)g(small)g(subset)g(of)g(op)q(erations)-28
1121 y(for)f(the)g(initial)i(implemen)o(tation.)p eop
%%Page: 1 2
1 1 bop -150 -37 a Fc(1)81 b(In)n(tro)r(duction)-150
73 y Fb(This)12 b(article)f(outlines)h(the)g(philosoph)o(y)g(b)q(ehind)
g(ev)o(en)o(t-driv)o(en)e(real-time)g(MPI)i(and)h(pro)o(vides)e(sp)q
(eci\014c)h(c)o(hanges)-150 133 y(and)k(additions)g(to)g(the)f
(existing)g(MPI-2.)21 b(While)15 b(most)f(goals)j(are)f(the)f(same)f
(for)i(the)f(ev)o(en)o(t-driv)o(en)e(paradigm)-150 193
y(as)21 b(for)f(other)g(real-time)e(MPI)h(paradigms)h(describ)q(ed)g
(in)g(this)f(c)o(hapter,)i(sev)o(eral)e(critical)f(p)q(oin)o(ts)i
(should)h(b)q(e)-150 253 y(made)c(clear.)25 b(Since)17
b(w)o(e)h(do)g(not)h(ha)o(v)o(e)e(an)o(y)h(implem)o(e)o(n)o(tation)d
(exp)q(erience)i(y)o(et,)f(this)i(article)f(do)q(es)i(not)f(try)g(to)
-150 314 y(presen)o(t)h(a)h(ric)o(h)f(functionalit)o(y)l(,)g(but)h
(rather)f(a)i(v)o(ery)d(small)g(function)i(set)f(su\016cien)o(t)g(for)h
(some)e(applications,)-150 374 y(to)j(start)h(an)g(implem)o(en)n
(tation)d(e\013ort,)j(and)g(to)f(illustrate)g(the)f(ev)o(en)o(t-driv)o
(en)f(paradigm's)i(most)f(imp)q(ortan)o(t)-150 434 y(features)15
b(and)h(conceptual)e(distinctions.)21 b(A)14 b(more)g(mature)g(v)o
(ersion)g(will)g(ev)o(en)o(tually)f(b)q(e)i(written)f(based)i(up)q(on)
-150 494 y(exp)q(erience)e(gained)j(from)e(preliminary)f(implem)o(e)o
(n)o(tations.)-77 554 y(The)i(main)f(goal)i(of)g(the)f(ev)o(en)o
(t-driv)o(en)d(approac)o(h)k(to)g(real-time)d(MPI)h(is)h(to)h(help)e
(the)h(application)g(con)o(trol)-150 615 y(the)22 b(en)o(vironmen)o(t)d
(in)j(whic)o(h)f(it)h(is)g(running)g(and)h(explicitly)c(sc)o(hedule)i
(the)h(order)g(of)h(its)e(message-passing)-150 675 y(and)d(computation)
e(\(ma)o(yb)q(e)g(others\))h(activities)f(and)i(resource)f(usage.)24
b(MPI)17 b(\(and)h(real-time)d(MPI\))h(can)i(not)-150
735 y(sc)o(hedule)g(b)o(y)h(itself,)f(but)i(m)o(ust)e(dep)q(end)h(up)q
(on)i(the)e(op)q(erating)h(system)e(and)i(comm)o(uni)o(cation)d(and)j
(net)o(w)o(ork)-150 795 y(proto)q(cols)d(to)g(enforce)f(sp)q(eci\014ed)
f(sc)o(hedules.)-77 855 y(In)g(a)h(n)o(utshell,)e(an)h(application)g
(using)h(ev)o(en)o(t-driv)o(en)d(MPI)h(will)g(b)q(e)i(able)f(to)g(sp)q
(ecify)g(in)o(terv)m(als)f Fa(guar)n(de)n(d)h Fb(b)o(y)-150
916 y(the)h(sp)q(eci\014ed)g(ev)o(en)o(ts)f(to)h(b)q(ound)i(the)e
(resource)g(usage)h(of)f(comm)o(unication)d(and)k(computation)f(op)q
(erations.)-150 1082 y Fc(2)81 b(Ev)n(en)n(t-Driv)n(en)24
b(P)n(aradigm)-150 1192 y Fb(The)f(goal)h(of)f(the)g(ev)o(en)o(t-driv)o
(en)e(paradigm)h(is)h(to)g(supp)q(ort)i(the)d(sp)q(eci\014cation)h(of)h
(the)e(ev)o(en)o(ts)g(that)i Fa(guar)n(d)-150 1252 y
Fb(activities)17 b(of)i(an)g(applications)g(and)g(their)f(resource)g
(usage.)29 b(An)18 b(application)h(will)e(sp)q(ecify)h(the)g(ev)o(en)o
(ts)g(that)-150 1312 y(trigger)j(the)f(start)i(of)f(the)g(computation)f
(or)h(comm)o(unication)d(activit)o(y)h(and)j(that)f(trigger)g(the)f
(stop)i(of)f(the)-150 1372 y(activit)o(y)14 b(if)i(it)g(is)g(not)h
(\014nished)f(y)o(et.)-77 1432 y(The)f(time)d(in)o(terv)m(al)h(of)i
(the)f(time-driv)o(e)o(n)e(real-time)g(MPI)i(con)o(tains)g(t)o(w)o(o)g
(ev)o(en)o(ts)f(that)i(are)g(sp)q(eci\014ed)e(b)o(y)h(the)-150
1492 y(time)i(stamp.)26 b(F)l(rom)17 b(this)h(p)q(ersp)q(ectiv)o(e)e
(time-driv)o(en)f(paradigm)j(is)g(just)g(a)g(subset)h(of)f(the)g(ev)o
(en)o(t-driv)o(en)d(one.)-150 1553 y(There)f(is,)g(ho)o(w)o(ev)o(er,)f
(one)i(critical)e(di\013erence)g(that)i(lie)e(in)i(the)f(abilit)o(y)f
(of)i(the)f(application)g(to)h(sc)o(hedule)e(its)h(non)-150
1613 y(MPI)f(activities.)18 b(F)l(or)c(the)f(time-driv)o(en)d(paradigm)
j(there)g(are)g(existing)g(facilities)e(to)j(start)g(non)g(MPI)f
(activities)-150 1673 y(using)20 b(OS)f(timers,)e(spin-lo)q(c)o(ks)i
(and)h(others.)31 b(That)20 b(and)f(the)g(sync)o(hronized)g(clo)q(c)o
(ks)f(allo)o(ws)h(the)g(application)-150 1733 y(to)j(co)q(ordinate)f
(all)g(of)g(its)g(activities,)g(MPI)f(and)i(non)g(MPI,)e(lo)q(cal)h
(and)h(global.)36 b(There)21 b(are)g(no)h(analogous)-150
1793 y(mec)o(hanisms)17 b(for)j(ev)o(en)o(t-driv)o(en)d(paradigm,)i
(and)i(ev)o(en)o(t)d(deliv)o(ery/monitoring)f(across)j(the)g(en)o(tire)
e(platform)-150 1854 y(requires)c(application)h(action)g(and)g
(su\016cien)o(t)f(comm)o(unic)o(ation)f(supp)q(ort.)22
b(This)15 b(is)g(the)f(place)h(where)f(MPI)h(can)-150
1914 y(really)g(help.)-150 2080 y Fc(3)81 b(Ev)n(en)n(ts)26
b(and)h(Activities)-150 2190 y Fb(The)13 b(main)f(purp)q(ose)j(of)e
(the)g(ev)o(en)o(ts)f(is)h(to)h(guard)g(the)f(in)o(terv)m(al)g(when)g
(the)g(activit)o(y)f(ma)o(y)f(use)j(resources.)20 b(This)13
b(is)-150 2250 y(analogous)i(to)f(the)f(time-driv)o(e)o(n)e(paradigm)h
(where)h(no)h(resources)f(will)f(b)q(e)h(used)h(b)o(y)e(a)i(comm)o
(unic)o(ation)d(activit)o(y)-150 2310 y(prior)i(to)h(the)f(starting)g
(time)e(for)j(the)f(activit)o(y's)e(time)g(in)o(terv)m(al)h(and,)i(to)g
(the)e(b)q(est)i(of)f(the)g(MPI)g(implem)o(en)o(tation)-150
2370 y(e\013ort,)20 b(no)g(resources)f(will)f(b)q(e)i(used)f(after)h
(timeout.)28 b(One)20 b(of)f(the)g(resources,)h(most)e(relev)m(an)o(t)h
(here,)g(are)g(the)-150 2430 y(message)d(bu\013ers.)-77
2491 y(Curren)o(tly)l(,)h(in)h(the)g(MPI-2)g(there)g(is)g(already)g(a)h
(notion)f(of)h(the)f(ev)o(en)o(t)e(in)i(the)g(dynamic)f(c)o(hapter)g
(\(3.4.3\).)-150 2551 y(The)e(only)g(ev)o(en)o(t)f(sp)q(eci\014ed)h
(there)f(w)o(as)i(MPI)p 694 2551 15 2 v 17 w(PR)o(OCESS)p
939 2551 V 18 w(DIED,)f(whic)o(h)g(is)g(a)g(system)f(lev)o(el)f(ev)o
(en)o(t)h(and)i(whic)o(h)-150 2611 y(an)i(application)f(can)g(monitor.)
23 b(There)17 b(are)g(t)o(w)o(o)g(op)q(erations:)24 b(MPI)p
1142 2611 V 17 w(SIGNAL)17 b(and)h(MPI)p 1555 2611 V
17 w(MONITOR.)e(Only)-150 2671 y(the)g(monitor)f(one)i(that)f(uses)h
(ev)o(en)o(ts.)888 2888 y(1)p eop
%%Page: 2 3
2 2 bop -77 -37 a Fb(F)l(or)24 b(this)g(paradigm)f(w)o(e)h(will)e(need)
i(to)g(in)o(tro)q(duce)f(a)i(mec)o(hanism)20 b(for)k(an)h(application)e
(to)h(detect)f(the)-150 24 y(application)c(lev)o(el)f(ev)o(en)o(ts)g
(that)i(ma)o(y)e(not)i(b)q(e)g(system)e(lev)o(el)f(ev)o(en)o(ts.)30
b(F)l(or)20 b(example)d(a)j(completion)e(or)h(start)-150
84 y(of)i(some)e(comm)o(unic)o(ation)f(or)j(computation)e(activit)o(y)l
(.)32 b(The)20 b(activit)o(y)f(can)h(b)q(e)h(as)g(simple)d(as)j(a)f
(single)g(data)-150 144 y(transfer)c(op)q(eration,)h(or)g(a)f(blo)q(c)o
(k)g(of)h(co)q(de,)f(sa)o(y)g(execution)f(of)i(the)f(function)g(call.)
-77 204 y(F)l(or)e(simplicit)o(y)d(of)j(the)g(discussion,)g(and)h(for)g
(initial)d(impleme)o(n)o(tation,)f(w)o(e)j(will)f(consider)h(only)g(t)o
(w)o(o)g(classes)-150 264 y(of)e(ev)o(en)o(ts:)18 b(start)13
b(and)g(\014nish)f(of)g(an)h(activit)o(y)l(.)18 b(In)12
b(the)g(remainder)e(of)i(this)g(section)g(w)o(e)g(describ)q(e)f(ho)o(w)
i(to)f(generate)-150 325 y(ev)o(en)o(ts.)20 b(In)c(the)g(next)g
(section)f(w)o(e)h(discuss)h(ho)o(w)f(to)h(trigger)f(v)m(arious)h
(activities)e(b)o(y)g(ev)o(en)o(ts.)-77 385 y(There)f(are)g(t)o(w)o(o)g
(di\013eren)o(t)f(ev)o(en)o(t)g(t)o(yp)q(es:)19 b(computation)14
b(and)g(comm)o(unication.)k(MPI)13 b(is)h(fully)f(a)o(w)o(are)h(of)g
(the)-150 445 y(second)h(t)o(yp)q(e)g(but)h(not)f(of)h(the)f(\014rst)g
(t)o(yp)q(e.)21 b(Hence,)13 b(w)o(e)i(prop)q(ose)i(t)o(w)o(o)e
(di\013eren)o(t)f(w)o(a)o(y)h(of)h(de\014ning)f(ev)o(en)o(ts.)k(First)
-150 505 y(of)e(all,)f(ev)o(en)o(t)g(names)g(m)o(ust)f(b)q(e)i
(registered.)23 b(While)16 b(there)g(is)h(some)f(discussion)h(if)f(w)o
(e)h(should)g(allo)o(w)g(dynamic)-150 565 y(registration)f
(\(deregistration\))h(the)f(format)f(of)i(the)f(op)q(eration)h(should)f
(b)q(e)h(unique.)-77 626 y(MPI)p 22 626 15 2 v 17 w(REGISTER)p
295 626 V 18 w(EVENT)p 488 626 V 17 w(NAME\(name)p 791
626 V 16 w(list\))-77 686 y(IN)f(name)p 112 686 V 16
w(list)g(list)f(of)i(the)f(names)f(to)i(b)q(e)f(used)g(for)h(ev)o(en)o
(ts)e(b)o(y)h(the)g(application.)-77 746 y(Whic)o(h)g(format)f(the)h
(list)g(should)g(b)q(e)h(can)f(b)q(e)h(discussed.)-77
806 y(The)f(analogous)j(op)q(eration)e(for)f(deregistration)g(can)h(b)q
(e)f(also)h(added.)-77 866 y(F)l(or)g(the)f(static)g(v)o(ersion)f(w)o
(e)h(can)g(just)h(add)g(the)f(ev)o(en)o(t)e(name)h(list)h(for)h(the)f
(MPI)f(initialization)g(op)q(eration.)-77 926 y(F)l(or)20
b(the)g(comm)o(unication)d(it)j(is)g(the)f(MPI)h(resp)q(onsibilit)o(y)f
(to)h(trigger)g(the)g(ev)o(en)o(ts.)32 b(Unfortunately)l(,)20
b(not)-150 987 y(all)15 b(the)g(computation)g(ev)o(en)o(ts)f(are)h
(triggered)g(b)o(y)g(the)g(OS.)g(Some,)f(lik)o(e)g(MPI)p
1291 987 V 17 w(PR)o(OCESS)p 1536 987 V 18 w(DIED,)h(can)h(only)f(b)q
(e)-150 1047 y(done)g(b)o(y)f(OS.)g(In)g(this)h(c)o(hapter)f(w)o(e)g
(concen)o(trated)g(on)h(the)f(computation)g(ev)o(en)o(ts)f(that)i
(application)f(generates.)-150 1107 y(This)19 b(simpli\014es)e(the)i
(MPI)g(implem)o(en)o(tati)o(on)e(and)j(allo)o(ws)f(us)h(to)f(b)q(e)h
(op)q(erating)g(system)e(indep)q(enden)o(t.)29 b(The)-150
1167 y(format)16 b(of)g(the)g(prop)q(osed)i(op)q(eration)f(for)f(an)h
(application)f(to)h(trigger)f(an)h(ev)o(en)o(t)d(is)i(as)h(follo)o(ws:)
-77 1227 y(MPI)p 22 1227 V 17 w(EVENT)p 214 1227 V 17
w(TRIGGER)g(\(ev)o(en)o(t)p 615 1227 V 16 w(name\))-77
1288 y(IN)f(ev)o(en)o(t)p 111 1288 V 16 w(name)f(name)g(of)h(the)g
(triggered)g(ev)o(en)o(t)-77 1348 y(This)j(op)q(eration)h(allo)o(ws)e
(a)h(computation)f(activit)o(y)f(to)i(trigger)g(an)g(ev)o(en)o(t)e
(that)i(ma)o(y)f(trigger)g(some)g(other)-150 1408 y(activit)o(y)l(,)c
(either)h(comm)o(unicati)o(on)f(or)j(computation,)e(if)h(it)f(uses)i
(this)f(ev)o(en)o(t)f(in)h(its)g(trigger)g(ev)o(en)o(t)f(list.)-77
1468 y(F)l(or)j(the)g(comm)o(unication,)d(it)j(is)g(MPI)f(resp)q
(onsibilit)o(y)g(to)i(trigger)f(an)g(ev)o(en)o(t.)25
b(Recall,)17 b(that)i(w)o(e)e(only)h(talk)-150 1528 y(ab)q(out)g(start)
g(and)f(\014nish)g(of)h(a)f(data)h(transfer)f(op)q(eration.)24
b(W)l(e)17 b(can)g(add)h(other)f(comm)o(unic)o(ation)e(ev)o(en)o(ts)g
(later)-150 1589 y(as)i(the)f(standard)h(dev)o(elops.)-77
1649 y(The)i(main)e(issue)i(with)f(these)h(ev)o(en)o(ts)e(is)h(ho)o(w)i
(to)f(asso)q(ciate)g(a)g(name)f(or)h(create)f(a)h(name)e(con)o(v)o(en)o
(tion)h(for)-150 1709 y(them.)37 b(Keep)21 b(in)h(mind)e(that)i(one)g
(of)h(the)e(main)g(goals)i(of)f(the)g(real-time)e(MPI)h(is)h(to)g
(guaran)o(tee)g(resource)-150 1769 y(a)o(v)m(ailabilit)o(y)14
b(\(for)j(c)o(hannels\))e(used)i(for)f(comm)o(unication.)-77
1829 y(One)i(simple)d(w)o(a)o(y)i(is)h(to)g(add)g(t)o(w)o(o)f(ev)o(en)o
(t)f(names)h(to)h(the)f(real-time)f(MPI)h(data)h(transfer)g(op)q
(erations,)h(one)-150 1890 y(for)e(start)f(and)h(one)g(for)f(\014nish)g
(ev)o(en)o(ts.)-77 1950 y(Another,)f(that)h(I)f(p)q(ersonally)g(fa)o(v)
o(or,)g(is)g(to)h(asso)q(ciate)g(a)g(name)e(with)h(a)h(c)o(hannel.)k
(This)15 b(will)g(require)f(global)-150 2010 y(c)o(hannel)19
b(names.)30 b(Than)20 b(w)o(e)f(can)h(come)e(up)i(with)f(the)h(con)o(v)
o(en)o(tion)e(for)i(the)f(start)h(and)g(\014nish)g(names)f(based)-150
2070 y(on)f(that.)24 b(F)l(or)17 b(example,)e(if)h(the)h(c)o(hannel)f
(name)g(is)h Fa(alpha)p Fb(,)g(the)g(start)g(and)h(\014nish)f(ev)o(en)o
(ts)f(are)h Fa(alhp)n(a.start)f Fb(and)-150 2130 y Fa(alpha.\014nish)p
Fb(.)-77 2190 y(MPI)p 22 2190 V 17 w(CHANNEL)p 285 2190
V 17 w(SENT)p 434 2190 V 18 w(INIT\(buf,)e(coun)o(t,)i(t)o(yp)q(e,)f
(dest,)h(qos,)g(comm,)d(c)o(hannel)p 1482 2190 V 17 w(name,)i
(request\))-77 2251 y(IN)h(buf)g(message)f(bu\013er)-77
2311 y(IN)h(coun)o(t)g(the)g(n)o(um)o(b)q(er)e(of)j(elemen)o(ts)-77
2371 y(IN)f(t)o(yp)q(e)f(elemen)o(t)f(t)o(yp)q(e)-77
2431 y(IN)i(dest)g(rank)g(of)h(destination)f(data)-77
2491 y(INOUT)f(qos)i(opaque)g(qualit)o(y)e(of)h(service)f(parameters)
-77 2552 y(IN)h(comm)d(comm)o(unicator)-77 2612 y(IN)j(c)o(hannel)p
159 2612 V 16 w(name)f(name)h(of)g(the)g(c)o(hannel)g(from)f(the)h(ev)o
(en)o(t)e(list)-77 2672 y(OUT)i(request)g(request)f(ob)s(ject)h(\(p)q
(ersisten)o(t)g(request\))888 2888 y(2)p eop
%%Page: 3 4
3 3 bop -77 -37 a Fb(MPI)p 22 -37 15 2 v 17 w(CHANNEL)p
285 -37 V 17 w(RECEIVE)p 527 -37 V 17 w(INIT)12 b(is)i(analogous)h
(except)d(extra)h(function)g(name)f(to)h(b)q(e)h(triggered)f(if)f(the)
-150 24 y(comm)o(unic)o(ation)i(is)i(not)h(\014nished)f(and)h(the)f
(stop)h(is)f(triggered.)-77 84 y(W)l(e)d(ma)o(y)f(need)i(ev)o(en)e
(further)h(name)f(con)o(v)o(en)o(tions)h(to)h(distinguish)f(b)q(et)o(w)
o(een)g(sev)o(eral)f(rep)q(eated)i(data)g(trans-)-150
144 y(fers)i(in)g(a)h(lo)q(op.)22 b(F)l(or)16 b(further)g(discussion)g
(see)g(the)g(example)e(in)i(the)g(last)h(section.)-150
310 y Fc(4)81 b(Ev)n(en)n(t)26 b(Usage)-150 420 y Fb(F)l(or)c(b)q(oth)h
(computation)f(and)g(comm)o(unication)d(activities,)j(ev)o(en)o(ts)f
(\\guard")i(a)g(liv)o(eliness)d(in)o(terv)m(al)h(within)-150
480 y(whic)o(h)16 b(the)g(activit)o(y)e(can)i(use)h(resources.)k(The)16
b(generic)f(form)h(of)g(it)g(is:)-77 540 y(A)o(CTIVITY)p
177 540 V 16 w(NAME\()f(activit)o(y)g(parameters,)f(guards\).)-77
600 y(The)23 b(guards)h(are)e(t)o(w)o(o)h(lists.)40 b(The)22
b(\014rst)h(one)g(is)f(the)h(list)e(of)i(actions)g(whose)g(conjuncture)
g(trigger)f(the)-150 661 y(activit)o(y)l(.)d(The)d(second)g(one)g(is)f
(the)g(list)g(of)h(actions,)g(suc)o(h)f(that)h(an)o(y)g(action)g(on)g
(the)f(list)g(stops)i(the)e(activit)o(y)l(.)20 b(If)-150
721 y(w)o(e)d(need)g(more)f(comprehensiv)o(e)e(arithmetic)h(of)j
(actions)f(w)o(e)g(can)h(add)g(it)f(later.)24 b(The)17
b(actions)h(are)f(either)f(the)-150 781 y(ev)o(en)o(ts)f(or)i(times.)j
(The)d(later)f(use)h(the)f(sp)q(eci\014cation)g(from)g(the)g(time-driv)
o(en)e(section.)21 b(F)l(or)c(completeness)d(w)o(e)-150
841 y(ma)o(y)k(add)h(action)h Fa(IGNORABLE)e Fb(for)i(the)f(empt)o(y)e
(action)i(list.)29 b(As)19 b(stated)g(b)q(efore)h(time-driv)o(e)o(n)d
(to)i(include)-150 901 y(an)d(op)q(eration)g(for)f(an)h(application)f
(to)h(trigger)f(an)h(ev)o(en)o(t.)j(is)c(a)h(sub)q(case)g(of)f(ev)o(en)
o(t-driv)o(en)e(and)j(w)o(e)e(can)i(discuss)-150 962
y(the)g(prop)q(er)h(merge)d(including)i(terminology)e(and)j(name)e(con)
o(v)o(en)o(tion)g(b)q(et)o(w)o(een)h(them)e(at)j(a)f(later)g(time.)-77
1022 y(There)j(is)g(one)h(other)f(p)q(ossibilit)o(y)g(is)g(to)h(sp)q
(ecify)e(guards)j(as)f(a)g(list)e(of)i(in)o(terv)m(als,)f(where)g(eac)o
(h)g(in)o(terv)m(al)f(is)-150 1082 y(sp)q(eci\014ed)e(b)o(y)g(starting)
g(ev)o(en)o(t)f(\(time\),)f(and)j(b)o(y)e(\014nishing)i(ev)o(en)o(t)d
(\(timeout\).)20 b(But)c(this)g(sp)q(eci\014cation)g(requires)-150
1142 y(the)c(n)o(um)o(b)q(er)e(of)i(starting)h(ev)o(en)o(ts)e(to)h(b)q
(e)g(equal)g(to)g(the)g(n)o(um)o(b)q(er)e(of)i(\014nishing)h(ev)o(en)o
(ts)d(\(w)o(e)i(can)g(still)f(use)h(ignorable)-150 1202
y(to)17 b(stab)g(it)e(out\).)-77 1263 y(This)j(just)g(sp)q(eci\014es)f
(what)i(ev)o(en)o(ts)d(should)i(trigger)g(\(stop)g(or)g(start\))g(an)g
(activit)o(y)l(.)24 b(The)18 b(issue)f(of)h(ho)o(w)g(the)-150
1323 y(ev)o(en)o(ts)11 b(are)i(deliv)o(ered)e(to)i(the)f(computation)g
(or)i(comm)o(uni)o(cation)c(activit)o(y)h(is)i(left)f(op)q(en.)20
b(Just)13 b(as)h(computation)-150 1383 y(ev)o(en)o(ts)j(should)h(b)q(e)
h(generated)f(b)o(y)f(the)h(op)q(erating)h(system)e(and)i(not)f
(application,)g(so)h(is)f(the)g(deliv)o(ery)e(of)i(the)-150
1443 y(ev)o(en)o(ts)f(to)i(the)f(activities)e(that)j(are)f(\\w)o
(aiting")h(for)g(them.)25 b(But)18 b(giv)o(en)g(the)g(curren)o(t)f(OS)h
(supp)q(ort)i(for)e(initial)-150 1503 y(implem)o(en)o(tati)o(on)c(w)o
(e)i(decided)f(to)i(include)e(an)h(op)q(eration)i(for)e(an)h
(application)f(to)h(trigger)f(an)g(ev)o(en)o(t.)-77 1564
y(MPI)p 22 1564 V 17 w(EVENT)p 214 1564 V 17 w(GENERA)l(TE)h(\(ev)o(en)
o(t)p 659 1564 V 16 w(name\))-77 1624 y(Since)d(this)h(op)q(eration)h
(basically)e(tak)o(es)h(the)g(resp)q(onsibilit)o(y)f(of)h(the)g(OS)g
(to)g(generate)g(an)h(ev)o(en)o(t,)d(w)o(e)i(should)-150
1684 y(restrict)h(it)h(to)h(generating)f(computation)g(ev)o(en)o(ts)f
(only)l(.)24 b(The)18 b(comm)o(uni)o(cation)d(ev)o(en)o(ts)h(should)i
(b)q(e)f(generated)-150 1744 y(b)o(y)f(the)g(MPI.)-77
1804 y(F)l(or)e(no)o(w)g(it)f(is)g(the)g(MPI)g(resp)q(onsibilit)o(y)g
(to)h(deliv)o(er)d(all)i(ev)o(en)o(ts)f(and)i(to)g(trigger)g(\(start)g
(or)g(stop\))g(an)g(activit)o(y)-150 1864 y(if)i(it)f(is)i(eligible.)
-77 1925 y(F)l(or)g(the)f(computation)f(ev)o(en)o(t)g(this)h(can)g(b)q
(e)h(ac)o(hiev)o(ed)d(via)-77 1985 y(MPI)p 22 1985 V
17 w(TRIGGERED)p 343 1985 V 19 w(COMPUTE)i(\(start)p
753 1985 V 18 w(list,)f(\014nish)p 980 1985 V 18 w(list,)g(function)p
1268 1985 V 17 w(name,)g(function)p 1604 1985 V 17 w(parameters,f)s(\))
-77 2045 y(IN)h(ST)l(AR)l(T)p 159 2045 V 17 w(LIST)h(the)f(list)f(of)i
(the)f(starting)h(actions)-77 2105 y(IN)f(FINISH)p 166
2105 V 15 w(LIST)h(the)f(list)g(of)g(the)g(\014nish)g(actions)-77
2165 y(.)21 b(.)h(.)-77 2226 y(IN)16 b(f)g(function)g(name)f(to)h(call)
g(if)g(the)g(activit)o(y)e(did)i(not)h(\014nished)f(and)h(w)o(as)f
(stopp)q(ed)i(b)o(y)d(an)i(ev)o(en)o(t)e(list)-77 2286
y(Analogously)l(,)-77 2346 y(MPI)p 22 2346 V 17 w(TRIGGERED)p
343 2346 V 19 w(D)o(A)l(T)l(A)p 499 2346 V 16 w(TRANSFER)h(\()g
(request,)f(start)p 1122 2346 V 18 w(list,)g(\014nish)p
1349 2346 V 18 w(list,)g(f)s(\).)-77 2406 y(The)20 b(issue)f(of)h(p)q
(erio)q(dicit)o(y)f(and)h(its)f(e\013ect)g(on)i(ev)o(en)o(t)d(names)h
(will)f(need)h(to)h(b)q(e)g(discussed)g(further.)31 b(The)-150
2466 y(existing)16 b(MPI)p 130 2466 V 17 w(SIGNAL)g(can)h(b)q(e)g(used)
g(in)f(an)h(MPI)f(implem)o(en)o(tation)e(to)j(send)g(an)g(ev)o(en)o(t)e
(to)i(a)g(prop)q(er)g(place.)-150 2527 y(Alternativ)o(ely)h(MPI)p
249 2527 V 17 w(MONITOR)j(can)g(b)q(e)h(enhanced)f(to)h(include)e(ev)o
(en)o(ts)g(discussed)h(ab)q(o)o(v)o(e.)37 b(Notice)20
b(also,)-150 2587 y(that)g(while)f(action)g(list)g(sp)q(eci\014ed)g
(only)g(b)o(y)g(the)g(\\sending")i(side,)e(b)q(oth)i(sending)e(and)h
(receiving)e(sides)i(ma)o(y)-150 2647 y(b)q(e)g(a)o(w)o(are)g(of)g(the)
g(action.)32 b(F)l(or)20 b(example,)e(the)i(function)f
Fa(f)h Fb(of)g(the)g(receiving)e(side)i(will)e(b)q(e)i(triggered)g(if)f
(the)-150 2707 y(\014nishing)d(ev)o(en)o(t)f(is)h(triggered.)888
2888 y(3)p eop
%%Page: 4 5
4 4 bop -77 -37 a Fb(EXAMPLE)-77 24 y(MPI)p 22 24 15
2 v 17 w(Timeob)s(ject)9 b(timehandle;)g(MPI)p 650 24
V 18 w(Comm)f(comm;)i(MPI)p 1069 24 V 17 w(Request)g(request;)i(MPI)p
1543 24 V 17 w(Ev)o(en)o(t)d(starting)p 1859 24 V 19
w(ev)o(en)o(t)-150 84 y(=)i("transfer)p 90 84 V 18 w(start";)i(MPI)p
355 84 V 17 w(Ev)o(en)o(t)d(\014nish)p 621 84 V 18 w(ev)o(en)o(t)f(=)i
("transfer)p 999 84 V 18 w(\014nish";)h(MPI)p 1277 84
V 17 w(Ev)o(en)o(t)e(compute)p 1612 84 V 16 w(ev)o(en)o(t[2];)g(MPI)p
1914 84 V 18 w(Ev)o(en)o(t)-150 144 y(global)p -20 144
V 18 w(start;)26 b(MPI)p 234 144 V 17 w(Guard)d(stop)p
498 144 V 18 w(guard,)i(start)p 776 144 V 18 w(guard;)h(MPI)p
1051 144 V 17 w(Guard)d(compute)p 1409 144 V 16 w(\014nish;)j(MPI)p
1675 144 V 17 w(Guard)d(com-)-150 204 y(pute)p -52 204
V 17 w(start;)-77 264 y(if)16 b(\(m)o(yrank)e(==)i(0\))-77
325 y(MPI)p 22 325 V 17 w(REGISTER)11 b(\(c)o(hannel)p
487 325 V 17 w(name,)f(compute)p 826 325 V 17 w(ev)o(en)o(t[1],com)o
(pute)p 1204 325 V 14 w(ev)o(en)o(t[2],starting)p 1564
325 V 16 w(ev)o(en)o(t,\014nish)p 1822 325 V 15 w(ev)o(en)o(t...\);)-77
385 y(/*)17 b(Register)f(all)g(ev)o(en)o(ts)f(*/)-77
445 y(timehandle.t)o(yp)q(e)g(=)j(Relativ)o(e;)e(timehandle.tim)o(e)e
(=)k(0.3;)h(starting)p 1227 445 V 18 w(guard)g(=)f(\("three"\);)g(stop)
p 1757 445 V 18 w(guard)h(=)-150 505 y(\("four",)24 b(timehandle\);)e
(MPI)p 432 505 V 17 w(Channel)p 625 505 V 18 w(Sen)o(t)p
737 505 V 17 w(Init\(buf,)g(coun)o(t,)g(t)o(yp)q(e,)h(dest,)g(comm,)d
(c)o(hannel)p 1691 505 V 17 w(name,)h(&re-)-150 565 y(quest\);)-77
626 y(MPI)p 22 626 V 17 w(EVENT)p 214 626 V 17 w(GENERA)l(TE\()c
(global)p 672 626 V 18 w(start\);)-77 686 y(for\(;;\))-77
746 y(MPI)p 22 746 V 17 w(TRIGGERED)p 343 746 V 19 w(D)o(A)l(T)l(A)p
499 746 V 16 w(TRANSFER)f(\(request,)f(start)p 1106 746
V 18 w(guard,)i(stop)p 1365 746 V 18 w(guard,)g(f2\);)-77
806 y(MPI)p 22 806 V 17 w(TRIGGERED)p 343 806 V 19 w(COMPUTE)24
b(\(c)o(hannel)p 823 806 V 16 w(name)p 954 806 V 17 w(\014nish,)h
("three",)h(function1\);)i(/*)d(compute)e(next)-150 866
y(message)18 b(for)i(transfer)f(if)f(completes)f(on)j(it)e(o)o(wn)i
(trigger)f(ev)o(en)o(t)e("one",)j(if)f(not)g(stop)h(as)f(so)q(on)i(as)f
(receiv)o(er)c(is)-150 926 y(ready)g(*/)-77 987 y(else)-77
1047 y(compute)p 109 1047 V 16 w(ev)o(en)o(t[1])c(=)h("three";)h
(compute)p 722 1047 V 16 w(ev)o(en)o(t[2])d(=)i("four";)i(MPI)p
1224 1047 V 17 w(REGISTER)f(\(c)o(hannel)p 1692 1047
V 17 w(name,)e(com-)-150 1107 y(pute)p -52 1107 V 17
w(ev)o(en)o(t[1],compute)p 327 1107 V 14 w(ev)o(en)o(t[2],starting)p
687 1107 V 16 w(ev)o(en)o(t,\014nish)p 945 1107 V 15
w(ev)o(en)o(t...\);)-77 1167 y(/*)17 b(Register)f(all)g(ev)o(en)o(ts)f
(*/)-77 1227 y(timehandle.t)o(yp)q(e)9 b(=)i(Relativ)o(e;)g
(timehandle.tim)o(e)d(=)k(0.3;)h(MPI)p 1122 1227 V 17
w(Channel)p 1315 1227 V 17 w(Receiv)o(e)p 1495 1227 V
16 w(Init\(buf,)e(coun)o(t,)h(t)o(yp)q(e,)-150 1288 y(dest,)k(comm,)d
(c)o(hannel)p 289 1288 V 17 w(name,)h(f,)i(&request\);)-77
1348 y(for\(;;\))-77 1408 y(MPI)p 22 1408 V 17 w(TRIGGERED)p
343 1408 V 19 w(COMPUTE)d(\(c)o(hannel)p 812 1408 V 17
w(name)p 944 1408 V 16 w(\014nish,)h(\(timehandle,)d("one"\),)j
(function2\);)g(/*)g(Pro-)-150 1468 y(cess)h(the)g(message.)20
b(If)15 b(completes)e(on)i(it)g(o)o(wn)g(trigger)h(ev)o(en)o(t)d
("three",)i(if)g(not)g(generate)g(output)h(message)f(that)-150
1528 y(the)h(data)h(not)g(pro)q(cessed)f(and)h(then)f(trigger)h(ev)o
(en)o(t)d("three")j(*/)-77 1589 y(\(I)11 b(am)g(sure)g(there)g(are)h
(sev)o(eral)e(problems)h(with)g(this)g(example,)f(but)i(w)o(e)f(can)h
(discuss)f(them)f(at)i(the)f(meeting.\))888 2888 y(4)p
eop
%%Trailer
end
userdict /end-hook known{end-hook}if
%%EOF