DataMuseum.dk

Presents historical artifacts from the history of:

DKUUG/EUUG Conference tapes

This is an automatic "excavation" of a thematic subset of
artifacts from Datamuseum.dk's BitArchive.

See our Wiki for more about DKUUG/EUUG Conference tapes

Excavated with: AutoArchaeologist - Free & Open Source Software.


top - metrics - download
Index: T p

⟦d76c592eb⟧ TextFile

    Length: 406587 (0x6343b)
    Types: TextFile
    Names: »part3.ps«

Derivation

└─⟦4f9d7c866⟧ Bits:30007245 EUUGD6: Sikkerheds distributionen
    └─⟦d09ed6d6e⟧ »./papers/Routing_security/gene-thesis.tar.Z« 
        └─⟦ffa606ded⟧ 
            └─⟦this⟧ »part3.ps« 

TextFile

%!PS-Adobe-2.0
%%Creator: dvips, version 5.4 (C) 1986-90 Radical Eye Software
%%Title: part3.dvi
%%Pages: 26 1
%%BoundingBox: 0 0 612 792
%%EndComments
%%BeginProcSet: tex.pro
/TeXDict 200 dict def TeXDict begin /N /def load def /B{bind def}N /S /exch
load def /X{S N}B /TR /translate load N /isls false N /vsize 10 N /@rigin{
isls{[0 1 -1 0 0 0]concat}if 72 Resolution div 72 VResolution div neg scale
Resolution VResolution vsize neg mul TR}B /@letter{/vsize 10 N}B /@landscape{
/isls true N /vsize -1 N}B /@a4{/vsize 10.6929133858 N}B /@a3{/vsize 15.5531 N
}B /@ledger{/vsize 16 N}B /@legal{/vsize 13 N}B /@manualfeed{statusdict
/manualfeed true put}B /@copies{/#copies X}B /FMat[1 0 0 -1 0 0]N /FBB[0 0 0 0
]N /df{/sf 1 N /fntrx FMat N df-tail}B /dfs{div /sf X /fntrx[sf 0 0 sf neg 0 0
]N df-tail}B /df-tail{/nn 8 dict N nn begin /FontType 3 N /FontMatrix fntrx N
/FontBBox FBB N string /base X array /BitMaps X /BuildChar{CharBuilder}N
/Encoding IE N end dup{/foo setfont}2 array copy cvx N load 0 nn put /ctr 0 N[
}B /E{pop nn dup definefont setfont}B /ch-image{ch-data dup type /stringtype
ne{ctr get /ctr ctr 1 add N}if}B /ch-width{ch-data dup length 5 sub get}B
/ch-height{ch-data dup length 4 sub get}B /ch-xoff{128 ch-data dup length 3
sub get sub}B /ch-yoff{ch-data dup length 2 sub get 127 sub}B /ch-dx{ch-data
dup length 1 sub get}B /ctr 0 N /CharBuilder{save 3 1 roll S dup /base get 2
index get S /BitMaps get S get /ch-data X pop /ctr 0 N ch-dx 0 ch-xoff ch-yoff
ch-height sub ch-xoff ch-width add ch-yoff setcachedevice ch-width ch-height
true[1 0 0 -1 -.1 ch-xoff sub ch-yoff .1 add]{ch-image}imagemask restore}B /D{
/cc X dup type /stringtype ne{]}if nn /base get cc ctr put nn /BitMaps get S
ctr S sf 1 ne{dup dup length 1 sub dup 2 index S get sf div put}if put /ctr
ctr 1 add N}B /I{cc 1 add D}B /bop{userdict /bop-hook known{bop-hook}if /SI
save N @rigin 0 0 moveto}B /eop{clear SI restore showpage userdict /eop-hook
known{eop-hook}if}B /@start{userdict /start-hook known{start-hook}if
/VResolution X /Resolution X 1000 div /DVImag X /IE 256 array N 0 1 255{IE S 1
string dup 0 3 index put cvn put}for}B /p /show load N /RMat[1 0 0 -1 0 0]N
/BDot 8 string N /v{/ruley X /rulex X V}B /V{gsave TR -.1 -.1 TR rulex ruley
scale 1 1 false RMat{BDot}imagemask grestore}B /a{moveto}B /delta 0 N /tail{
dup /delta X 0 rmoveto}B /M{S p delta add tail}B /b{S p tail}B /c{-4 M}B /d{
-3 M}B /e{-2 M}B /f{-1 M}B /g{0 M}B /h{1 M}B /i{2 M}B /j{3 M}B /k{4 M}B /l{p
-4 w}B /m{p -3 w}B /n{p -2 w}B /o{p -1 w}B /q{p 1 w}B /r{p 2 w}B /s{p 3 w}B /t
{p 4 w}B /w{0 rmoveto}B /x{0 S rmoveto}B /y{3 2 roll p a}B /bos{/SS save N}B
/eos{clear SS restore}B end
%%EndProcSet
%%BeginProcSet: special.pro
TeXDict begin /SDict 200 dict N SDict begin /@SpecialDefaults{/hs 612 N /vs
792 N /ho 0 N /vo 0 N /hsc 1 N /vsc 1 N /ang 0 N /CLIP false N /BBcalc false N
/p 3 def}B /@scaleunit 100 N /@hscale{@scaleunit div /hsc X}B /@vscale{
@scaleunit div /vsc X}B /@hsize{/hs X /CLIP true N}B /@vsize{/vs X /CLIP true
N}B /@hoffset{/ho X}B /@voffset{/vo X}B /@angle{/ang X}B /@rwi{10 div /rwi X}
B /@llx{/llx X}B /@lly{/lly X}B /@urx{/urx X}B /@ury{/ury X /BBcalc true N}B
/magscale true def end /@MacSetUp{userdict /md known{userdict /md get type
/dicttype eq{md begin /letter{}N /note{}N /legal{}N /od{txpose 1 0 mtx
defaultmatrix dtransform S atan/pa X newpath clippath mark{transform{
itransform moveto}}{transform{itransform lineto}}{6 -2 roll transform 6 -2
roll transform 6 -2 roll transform{itransform 6 2 roll itransform 6 2 roll
itransform 6 2 roll curveto}}{{closepath}}pathforall newpath counttomark array
astore /gc xdf pop ct 39 0 put 10 fz 0 fs 2 F/|______Courier fnt invertflag{
PaintBlack}if}N /txpose{pxs pys scale ppr aload pop por{noflips{pop S neg S TR
pop 1 -1 scale}if xflip yflip and{pop S neg S TR 180 rotate 1 -1 scale ppr 3
get ppr 1 get neg sub neg ppr 2 get ppr 0 get neg sub neg TR}if xflip yflip
not and{pop S neg S TR pop 180 rotate ppr 3 get ppr 1 get neg sub neg 0 TR}if
yflip xflip not and{ppr 1 get neg ppr 0 get neg TR}if}{noflips{TR pop pop 270
rotate 1 -1 scale}if xflip yflip and{TR pop pop 90 rotate 1 -1 scale ppr 3 get
ppr 1 get neg sub neg ppr 2 get ppr 0 get neg sub neg TR}if xflip yflip not
and{TR pop pop 90 rotate ppr 3 get ppr 1 get neg sub neg 0 TR}if yflip xflip
not and{TR pop pop 270 rotate ppr 2 get ppr 0 get neg sub neg 0 S TR}if}
ifelse scaleby96{ppr aload pop 4 -1 roll add 2 div 3 1 roll add 2 div 2 copy
TR .96 dup scale neg S neg S TR}if}N /cp{pop pop showpage pm restore}N end}if}
if}N /normalscale{Resolution 72 div VResolution 72 div neg scale magscale{
DVImag dup scale}if}N /psfts{S 65536 div N}N /startTexFig{/psf$SavedState save
N userdict maxlength dict begin /magscale false def normalscale currentpoint
TR /psf$ury psfts /psf$urx psfts /psf$lly psfts /psf$llx psfts /psf$y psfts
/psf$x psfts currentpoint /psf$cy X /psf$cx X /psf$sx psf$x psf$urx psf$llx
sub div N /psf$sy psf$y psf$ury psf$lly sub div N psf$sx psf$sy scale psf$cx
psf$sx div psf$llx sub psf$cy psf$sy div psf$ury sub TR /showpage{}N
/erasepage{}N /copypage{}N @MacSetUp}N /doclip{psf$llx psf$lly psf$urx psf$ury
currentpoint 6 2 roll newpath 4 copy 4 2 roll moveto 6 -1 roll S lineto S
lineto S lineto closepath clip newpath moveto}N /endTexFig{end psf$SavedState
restore}N /@beginspecial{SDict begin /SpecialSave save N gsave normalscale
currentpoint TR @SpecialDefaults}B /@setspecial{CLIP{newpath 0 0 moveto hs 0
rlineto 0 vs rlineto hs neg 0 rlineto closepath clip}{initclip}ifelse ho vo TR
hsc vsc scale ang rotate BBcalc{rwi urx llx sub div dup scale llx neg lly neg
TR}if /showpage{}N /erasepage{}N /copypage{}N newpath}B /@endspecial{grestore
clear SpecialSave restore end}B /@defspecial{SDict begin}B /@fedspecial{end}B
/li{lineto}B /rl{rlineto}B /rc{rcurveto}B /np{/SaveX currentpoint /SaveY X N 1
setlinecap newpath}B /st{stroke SaveX SaveY moveto}B /fil{fill SaveX SaveY
moveto}B /ellipse{/endangle X /startangle X /yrad X /xrad X /savematrix matrix
currentmatrix N TR xrad yrad scale 0 0 1 startangle endangle arc savematrix
setmatrix}B end
%%EndProcSet
TeXDict begin 1000 300 300 @start /Fa 4 122 df<FCFC3C3C3C3C3C3C3C3C3C3C3C3C3C
3C3C3C3C3C3CFFFF08177F960B>108 D<FC7C00FD8E003E0F003E0F003C0F003C0F003C0F003C
0F003C0F003C0F003C0F003C0F003C0F00FF3FC0FF3FC0120F7E8E17>110
D<07F0001C1C00380E00700700700700F00780F00780F00780F00780F00780700700700700380E
001C1C0007F000110F7F8E14>I<FF0FC0FF0FC03C03001E06001E06000F0C000F0C0007980007
980003F80003F00003F00001E00001E00000C00000C00061C000F18000F38000E700003C000012
157F8E15>121 D E /Fb 1 107 df<C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0
C0C0C0C0C0C0C0C0C002217C980A>106 D E /Fc 67 123 df<003FE3F801F03F1C03C03E3E07
C07C3E0F807C3E0F807C1C0F807C000F807C000F807C000F807C000F807C00FFFFFFC0FFFFFFC0
0F807C000F807C000F807C000F807C000F807C000F807C000F807C000F807C000F807C000F807C
000F807C000F807C000F807C000F807C007FE1FFC07FE1FFC01F1D809C1C>11
D<78FCFCFEFE7A0202040408083040070E7D9C0D>39 D<0020004001800380030006000E001C00
1C003C0038003800780078007800F800F000F000F000F000F000F000F000F000F000F800780078
007800380038003C001C001C000E000600030003800180004000200B297C9E13>I<8000400030
00380018000C000E000700070007800380038003C003C003C003E001E001E001E001E001E001E0
01E001E001E003E003C003C003C0038003800780070007000E000C00180038003000400080000B
297D9E13>I<78FCFCFEFE7A0202040408083040070E7D850D>44 D<FFE0FFE0FFE0FFE00B047F
8A10>I<78FCFCFCFC7806067D850D>I<000180000380000380000700000700000700000E00000E
00001C00001C00001C0000380000380000380000700000700000E00000E00000E00001C00001C0
0001C0000380000380000380000700000700000E00000E00000E00001C00001C00001C00003800
00380000700000700000700000E00000E00000C0000011297D9E18>I<03F8000F1E001C07003C
07803803807803C07803C07803C0F803E0F803E0F803E0F803E0F803E0F803E0F803E0F803E0F8
03E0F803E0F803E0F803E07803C07803C03803803C07801C07000F1E0003F800131B7E9A18>I<
00600001E0000FE000FFE000F3E00003E00003E00003E00003E00003E00003E00003E00003E000
03E00003E00003E00003E00003E00003E00003E00003E00003E00003E00003E00003E0007FFF80
7FFF80111B7D9A18>I<07F8001FFE00383F80780FC0FC07C0FC07E0FC03E0FC03E07803E00007
E00007C00007C0000F80001F00001E0000380000700000E0000180600300600600600800E01FFF
C03FFFC07FFFC0FFFFC0FFFFC0131B7E9A18>I<03F8001FFE003C1F003C0F807C07C07E07C07C
07C03807C0000F80000F80001E00003C0003F800001E00000F800007C00007C00007E03007E078
07E0FC07E0FC07E0FC07C0780F80781F001FFE0007F800131B7E9A18>I<000180000380000780
000F80001F80003F80006F8000CF80008F80018F80030F80060F800C0F80180F80300F80600F80
C00F80FFFFF8FFFFF8000F80000F80000F80000F80000F80000F8001FFF801FFF8151B7F9A18>
I<1801801FFF001FFE001FFC001FF8001FC00018000018000018000018000019F8001E0E00180F
801007800007C00007E00007E00007E07807E0F807E0F807E0F807C0F007C0600F80381F001FFE
0007F000131B7E9A18>I<007E0003FF000781800F03C01E07C03C07C03C0380780000780000F8
0000F8F800FB0E00FA0780FC0380FC03C0F803E0F803E0F803E0F803E07803E07803E07803C03C
03C03C07801E0F0007FE0003F800131B7E9A18>I<6000007FFFE07FFFE07FFFC07FFF807FFF80
E00300C00600C00C00C0180000300000300000600000E00000E00001E00001C00003C00003C000
03C00003C00007C00007C00007C00007C00007C00007C000038000131C7D9B18>I<03F8000FFE
001E0F803807803803C07803C07803C07E03C07F83807FC7003FFE001FFC000FFE0007FF801DFF
80387FC0781FE0F007E0F003E0F001E0F001E0F001E07801C07803803E07801FFE0003F800131B
7E9A18>I<03F8000FFE001E0F003C07807807807803C0F803C0F803C0F803E0F803E0F803E0F8
03E07807E03807E03C0BE00E1BE003E3E00003E00003C00003C03807C07C07807C0700780F0038
3C001FF8000FE000131B7E9A18>I<78FCFCFCFC7800000000000078FCFCFCFC7806127D910D>I<
00038000000380000007C0000007C0000007C000000FE000000FE000001FF000001BF000001BF0
000031F8000031F8000061FC000060FC0000E0FE0000C07E0000C07E0001803F0001FFFF0003FF
FF8003001F8003001F8006000FC006000FC00E000FE00C0007E0FFC07FFEFFC07FFE1F1C7E9B24
>65 D<FFFFF800FFFFFF000FC01F800FC00FC00FC007C00FC007E00FC007E00FC007E00FC007E0
0FC007E00FC007C00FC00F800FC03F000FFFFE000FC00F800FC007C00FC007E00FC003E00FC003
F00FC003F00FC003F00FC003F00FC003F00FC007E00FC007E00FC01FC0FFFFFF00FFFFFC001C1C
7E9B22>I<001FE02000FFF8E003F80FE007C003E00F8001E01F0000E03E0000E03E0000607E00
00607C000060FC000000FC000000FC000000FC000000FC000000FC000000FC000000FC0000007C
0000607E0000603E0000603E0000C01F0000C00F80018007C0030003F80E0000FFFC00001FE000
1B1C7D9B22>I<FFFFF800FFFFFF000FC01FC00FC007E00FC001F00FC001F80FC000F80FC000FC
0FC0007C0FC0007C0FC0007E0FC0007E0FC0007E0FC0007E0FC0007E0FC0007E0FC0007E0FC000
7E0FC0007C0FC0007C0FC0007C0FC000F80FC000F80FC001F00FC007E00FC01FC0FFFFFF00FFFF
F8001F1C7E9B25>I<FFFFFF00FFFFFF000FC01F000FC007000FC003000FC003800FC003800FC1
81800FC181800FC181800FC180000FC380000FFF80000FFF80000FC380000FC180000FC180000F
C180600FC180600FC000E00FC000C00FC000C00FC001C00FC001C00FC003C00FC00F80FFFFFF80
FFFFFF801B1C7E9B1F>I<FFFFFF00FFFFFF000FC01F000FC007000FC003000FC003800FC00380
0FC001800FC181800FC181800FC180000FC180000FC380000FFF80000FFF80000FC380000FC180
000FC180000FC180000FC180000FC000000FC000000FC000000FC000000FC000000FC00000FFFF
0000FFFF0000191C7E9B1E>I<000FF008007FFE3801FC07F807E001F80F8000781F0000783F00
00383E0000387E0000187C000018FC000000FC000000FC000000FC000000FC000000FC000000FC
007FFFFC007FFF7C0001F87E0001F83E0001F83F0001F81F0001F80F8001F807E001F801FC07F8
007FFE78000FF818201C7D9B26>I<FFFC3FFFFFFC3FFF0FC003F00FC003F00FC003F00FC003F0
0FC003F00FC003F00FC003F00FC003F00FC003F00FC003F00FFFFFF00FFFFFF00FC003F00FC003
F00FC003F00FC003F00FC003F00FC003F00FC003F00FC003F00FC003F00FC003F00FC003F00FC0
03F0FFFC3FFFFFFC3FFF201C7E9B25>I<FFFFFFFF07E007E007E007E007E007E007E007E007E0
07E007E007E007E007E007E007E007E007E007E007E007E007E007E007E0FFFFFFFF101C7F9B12
>I<07FFF007FFF0001F80001F80001F80001F80001F80001F80001F80001F80001F80001F8000
1F80001F80001F80001F80001F80001F80001F80001F80301F80781F80FC1F80FC1F80FC1F0078
3E00387C000FF000141C7F9B19>I<FFFF00FFFF000FC0000FC0000FC0000FC0000FC0000FC000
0FC0000FC0000FC0000FC0000FC0000FC0000FC0000FC0000FC0000FC0030FC0030FC0030FC007
0FC0070FC0060FC00E0FC01E0FC07EFFFFFEFFFFFE181C7E9B1D>76 D<FFC00003FFFFE00007FF
0FE00007F00DF0000DF00DF0000DF00DF0000DF00CF80019F00CF80019F00C7C0031F00C7C0031
F00C3E0061F00C3E0061F00C1F00C1F00C1F00C1F00C1F00C1F00C0F8181F00C0F8181F00C07C3
01F00C07C301F00C03E601F00C03E601F00C01FC01F00C01FC01F00C01FC01F00C00F801F00C00
F801F0FFC0701FFFFFC0701FFF281C7E9B2D>I<FFE003FFFFE003FF0FF000300FF800300DFC00
300CFE00300C7E00300C3F00300C1F80300C1FC0300C0FE0300C07F0300C03F0300C01F8300C01
FC300C00FE300C007F300C003F300C001FB00C001FF00C000FF00C0007F00C0003F00C0001F00C
0000F00C0000F0FFC00070FFC00030201C7E9B25>I<003FE00001F07C0003C01E000F800F801F
0007C01E0003C03E0003E07E0003F07C0001F07C0001F0FC0001F8FC0001F8FC0001F8FC0001F8
FC0001F8FC0001F8FC0001F8FC0001F87C0001F07E0003F07E0003F03E0003E03F0007E01F0007
C00F800F8003C01E0001F07C00003FE0001D1C7D9B24>I<FFFFF800FFFFFE000FC03F800FC00F
800FC007C00FC007E00FC007E00FC007E00FC007E00FC007E00FC007C00FC007C00FC00F800FC0
3F000FFFFC000FC000000FC000000FC000000FC000000FC000000FC000000FC000000FC000000F
C000000FC000000FC00000FFFC0000FFFC00001B1C7E9B21>I<FFFFF00000FFFFFE00000FC03F
00000FC00F80000FC007C0000FC007E0000FC007E0000FC007E0000FC007E0000FC007E0000FC0
07C0000FC00F80000FC03E00000FFFF000000FC07C00000FC03E00000FC03F00000FC01F80000F
C01F80000FC01F80000FC01F80000FC01F80000FC01F80000FC01F81800FC01F81800FC00FC180
FFFC07C300FFFC01FE00211C7E9B24>82 D<07F8201FFEE03C07E07801E07000E0F000E0F00060
F00060F80000FE0000FFE0007FFE003FFF003FFF800FFFC007FFE0007FE00003F00001F00000F0
C000F0C000F0C000E0E000E0F001C0FC03C0EFFF0083FC00141C7D9B1B>I<7FFFFFE07FFFFFE0
781F81E0701F80E0601F8060E01F8070C01F8030C01F8030C01F8030C01F8030001F8000001F80
00001F8000001F8000001F8000001F8000001F8000001F8000001F8000001F8000001F8000001F
8000001F8000001F8000001F8000001F800007FFFE0007FFFE001C1C7E9B21>I<FFFC03FFFFFC
03FF0FC000300FC000300FC000300FC000300FC000300FC000300FC000300FC000300FC000300F
C000300FC000300FC000300FC000300FC000300FC000300FC000300FC000300FC000300FC00030
07C0003007C0006003E000E001F001C000FC0780007FFE00000FF800201C7E9B25>I<FFFC01FF
80FFFC01FF800FC000180007E000300007E000300007F000700003F000600003F800E00001F800
C00001FC00C00000FC01800000FC018000007E030000007E030000007F070000003F060000003F
8E0000001F8C0000001FCC0000000FD80000000FD800000007F000000007F000000007F0000000
03E000000003E000000001C000000001C00000211C7F9B24>I<FFFC7FFE0FFCFFFC7FFE0FFC0F
C007E000C00FC007F000C00FE003F001C007E003F0018007E007F8018003F007F8030003F007F8
030003F80CFC070001F80CFC060001F81CFE060001FC187E0E0000FC187E0C0000FC387F0C0000
7E303F1800007E303F1800007F601FB800003F601FB000003FE01FF000003FC00FF000001FC00F
E000001FC00FE000000F8007C000000F8007C000000F0003C0000007000380000007000380002E
1C7F9B31>I<7FFE1FFE007FFE1FFE0007F001800003F803800001FC07000000FC06000000FE0C
0000007F1C0000003F380000003FB00000001FE00000000FE00000000FE000000007F000000003
F800000007F80000000FFC0000000CFE000000187E000000387F000000703F800000601F800000
C01FC00001C00FE000018007F000030007F000FFF03FFF80FFF03FFF80211C7F9B24>I<FFFC01
FF80FFFC01FF800FE000380007F000300003F800700003F800600001FC00C00000FE01C00000FE
018000007F030000003F870000003F860000001FCE0000000FFC0000000FF800000007F8000000
03F000000003F000000003F000000003F000000003F000000003F000000003F000000003F00000
0003F000000003F00000003FFF0000003FFF0000211C7F9B24>I<0FF8001C1E003E0F803E0780
3E07C01C07C00007C0007FC007E7C01F07C03C07C07C07C0F807C0F807C0F807C0780BC03E13F8
0FE1F815127F9117>97 D<FF0000FF00001F00001F00001F00001F00001F00001F00001F00001F
00001F00001F3F801FE1E01F80701F00781F003C1F003C1F003E1F003E1F003E1F003E1F003E1F
003E1F003C1F003C1F00781F80701EC1E01C3F00171D7F9C1B>I<03FC000E0E001C1F003C1F00
781F00780E00F80000F80000F80000F80000F80000F800007800007801803C01801C03000E0E00
03F80011127E9115>I<000FF0000FF00001F00001F00001F00001F00001F00001F00001F00001
F00001F001F9F00F07F01C03F03C01F07801F07801F0F801F0F801F0F801F0F801F0F801F0F801
F07801F07801F03C01F01C03F00F0FFE03F9FE171D7E9C1B>I<01FC000F07001C03803C01C078
01C07801E0F801E0F801E0FFFFE0F80000F80000F800007800007C00603C00601E00C00F038001
FC0013127F9116>I<007F0001E38003C7C00787C00F87C00F83800F80000F80000F80000F8000
0F8000FFF800FFF8000F80000F80000F80000F80000F80000F80000F80000F80000F80000F8000
0F80000F80000F80000F80007FF8007FF800121D809C0F>I<03F8F00E0F381E0F381C07303C07
803C07803C07803C07801C07001E0F000E0E001BF8001000001800001800001FFF001FFFC00FFF
E01FFFF07801F8F00078F00078F000787000707800F01E03C007FF00151B7F9118>I<FF0000FF
00001F00001F00001F00001F00001F00001F00001F00001F00001F00001F0FC01F31E01F40F01F
80F81F80F81F00F81F00F81F00F81F00F81F00F81F00F81F00F81F00F81F00F81F00F81F00F8FF
E7FFFFE7FF181D7F9C1B>I<1E003F003F003F003F001E00000000000000000000000000FF00FF
001F001F001F001F001F001F001F001F001F001F001F001F001F001F00FFE0FFE00B1E7F9D0E>
I<007800FC00FC00FC00FC007800000000000000000000000003FC03FC007C007C007C007C007C
007C007C007C007C007C007C007C007C007C007C007C007C007C707CF87CF878F8F070E01F800E
26839D0F>I<FF0000FF00001F00001F00001F00001F00001F00001F00001F00001F00001F0000
1F0FF81F0FF81F03801F07001F0C001F18001F70001FF8001FFC001FBC001F3E001F1F001F0F00
1F0F801F07C01F03E0FFC7FCFFC7FC161D7F9C19>I<FF00FF001F001F001F001F001F001F001F
001F001F001F001F001F001F001F001F001F001F001F001F001F001F001F001F001F001F00FFE0
FFE00B1D7F9C0E>I<FF0FC07E00FF31E18F001F40F207801F80FC07C01F80FC07C01F00F807C0
1F00F807C01F00F807C01F00F807C01F00F807C01F00F807C01F00F807C01F00F807C01F00F807
C01F00F807C01F00F807C0FFE7FF3FF8FFE7FF3FF825127F9128>I<FF0FC0FF31E01F40F01F80
F81F80F81F00F81F00F81F00F81F00F81F00F81F00F81F00F81F00F81F00F81F00F81F00F8FFE7
FFFFE7FF18127F911B>I<01FC000F07801C01C03C01E07800F07800F0F800F8F800F8F800F8F8
00F8F800F8F800F87800F07800F03C01E01E03C00F078001FC0015127F9118>I<FF3F80FFE1E0
1F80F01F00781F007C1F003C1F003E1F003E1F003E1F003E1F003E1F003E1F003C1F007C1F0078
1F80F01FC1E01F3F001F00001F00001F00001F00001F00001F0000FFE000FFE000171A7F911B>
I<FE3E00FE47001E8F801E8F801E8F801F07001F00001F00001F00001F00001F00001F00001F00
001F00001F00001F0000FFF000FFF00011127F9114>114 D<1FD830786018E018E018F000FF80
7FE07FF01FF807FC007CC01CC01CE01CE018F830CFC00E127E9113>I<03000300030003000700
07000F000F003FFCFFFC1F001F001F001F001F001F001F001F001F001F0C1F0C1F0C1F0C0F0807
9803F00E1A7F9913>I<FF07F8FF07F81F00F81F00F81F00F81F00F81F00F81F00F81F00F81F00
F81F00F81F00F81F00F81F00F81F01F80F01F80786FF01F8FF18127F911B>I<FFC1FCFFC1FC1F
00601F80E00F80C00FC0C007C18007C18003E30003E30001F60001F60001FE0000FC0000FC0000
780000780000300016127F9119>I<FF8FF8FEFF8FF8FE1F03E0301F03E0301F83E0700F83F060
0F86F06007C6F0C007CEF8C007EC79C003EC7D8003F83D8001F83F0001F83F0001F01F0000F01E
0000E00E0000E00E001F127F9122>I<FFC7FCFFC7FC1F81800F838007C70003EE0001FC0001F8
0000F800007C0000FE0001DF00039F00070F800607C00C03E0FF07FCFF07FC16127F9119>I<FF
C1FCFFC1FC1F00601F80E00F80C00FC0C007C18007C18003E30003E30001F70001F60000FE0000
FC0000FC00007800007800003000003000007000706000F86000F8C000F980007300003E000016
1A7F9119>I<3FFF803C1F00303F00303E00607C0060FC0060F80001F00003F00007E00007C180
0F81801F81801F03803E03007E07007C0F00FFFF0011127F9115>I E /Fd
4 107 df<400020C000606000C03001801803000C0600060C0003180001B00000E00000E00001
B000031800060C000C06001803003001806000C0C0006040002013147A9320>2
D<03C00FF01FF83FFC7FFE7FFEFFFFFFFFFFFFFFFF7FFE7FFE3FFC1FF80FF003C010107E9115>
15 D<FFFFFFE07FFFFFE000000000000000000000000000000000000000000000000000000000
FFFFFFE0FFFFFFE0000000000000000000000000000000000000000000000000000000007FFFFF
E0FFFFFFE01B147E9320>17 D<C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0
C0C0C0C0C0C0C0C0C0C0C0C0C0C0C002297B9E0C>106 D E /Fe 45 122
df<000FF000007FFC0001F80E0003E01F0007C03F000F803F000F803F000F801E000F800C000F
8000000F8000000F8000000F800000FFFFFF00FFFFFF000F801F000F801F000F801F000F801F00
0F801F000F801F000F801F000F801F000F801F000F801F000F801F000F801F000F801F000F801F
000F801F000F801F000F801F000F801F007FF0FFE07FF0FFE01B237FA21F>12
D<0007F80FF000007FFE7FFC0001F80FF80E0003E00FE01F0007C01FC03F000F801F803F000F80
1F803F000F800F801E000F800F800C000F800F8000000F800F8000000F800F8000000F800F8000
00FFFFFFFFFF00FFFFFFFFFF000F800F801F000F800F801F000F800F801F000F800F801F000F80
0F801F000F800F801F000F800F801F000F800F801F000F800F801F000F800F801F000F800F801F
000F800F801F000F800F801F000F800F801F000F800F801F000F800F801F000F800F801F000F80
0F801F007FF07FF0FFE07FF07FF0FFE02B237FA22F>14 D<387CFEFEFE7C3807077C8610>46
D<00180000780001F800FFF800FFF80001F80001F80001F80001F80001F80001F80001F80001F8
0001F80001F80001F80001F80001F80001F80001F80001F80001F80001F80001F80001F80001F8
0001F80001F80001F80001F8007FFFE07FFFE013207C9F1C>49 D<03FC000FFF003C1FC07007E0
7C07F0FE03F0FE03F8FE03F8FE01F87C01F83803F80003F80003F00003F00007E00007C0000F80
001F00003E0000380000700000E01801C0180380180700180E00380FFFF01FFFF03FFFF07FFFF0
FFFFF0FFFFF015207D9F1C>I<00FE0007FFC00F07E01E03F03F03F03F81F83F81F83F81F81F03
F81F03F00003F00003E00007C0001F8001FE0001FF000007C00001F00001F80000FC0000FC3C00
FE7E00FEFF00FEFF00FEFF00FEFF00FC7E01FC7801F81E07F00FFFC001FE0017207E9F1C>I<00
00E00001E00003E00003E00007E0000FE0001FE0001FE00037E00077E000E7E001C7E00187E003
07E00707E00E07E00C07E01807E03807E07007E0E007E0FFFFFEFFFFFE0007E00007E00007E000
07E00007E00007E00007E000FFFE00FFFE17207E9F1C>I<1000201E01E01FFFC01FFF801FFF00
1FFE001FF8001BC00018000018000018000018000019FC001FFF001E0FC01807E01803E00003F0
0003F00003F80003F83803F87C03F8FE03F8FE03F8FC03F0FC03F07007E03007C01C1F800FFF00
03F80015207D9F1C>I<001F8000FFE003F07007C0F00F01F81F01F83E01F83E01F87E00F07C00
007C0000FC0800FC7FC0FCFFE0FD80F0FF00F8FE007CFE007CFC007EFC007EFC007EFC007E7C00
7E7C007E7C007E3C007C3E007C1E00F80F00F00783E003FFC000FF0017207E9F1C>I<00007000
0000007000000000F800000000F800000000F800000001FC00000001FC00000003FE00000003FE
00000003FE00000006FF000000067F0000000E7F8000000C3F8000000C3F800000183FC0000018
1FC00000381FE00000300FE00000300FE00000600FF000006007F00000E007F80000FFFFF80000
FFFFF800018001FC00018001FC00038001FE00030000FE00030000FE000600007F000600007F00
FFE00FFFF8FFE00FFFF825227EA12A>65 D<FFFFFF8000FFFFFFE00007F001F80007F000FC0007
F0007E0007F0007E0007F0007F0007F0007F0007F0007F0007F0007F0007F0007F0007F0007E00
07F000FE0007F000FC0007F003F80007FFFFF00007FFFFF00007F001FC0007F0007E0007F0003F
0007F0003F8007F0001F8007F0001FC007F0001FC007F0001FC007F0001FC007F0001FC007F000
1FC007F0003F8007F0003F8007F0007F0007F001FE00FFFFFFF800FFFFFFC00022227EA128>I<
0003FE0080001FFF818000FF01E38001F8003F8003E0001F8007C0000F800F800007801F800007
803F000003803F000003807F000001807E000001807E00000180FE00000000FE00000000FE0000
0000FE00000000FE00000000FE00000000FE00000000FE000000007E000000007E000001807F00
0001803F000001803F000003801F800003000F8000030007C000060003F0000C0001F800380000
FF00F000001FFFC0000003FE000021227DA128>I<FFFFFF8000FFFFFFF00007F003FC0007F000
7E0007F0003F0007F0001F8007F0000FC007F00007E007F00007E007F00007F007F00003F007F0
0003F007F00003F007F00003F807F00003F807F00003F807F00003F807F00003F807F00003F807
F00003F807F00003F807F00003F807F00003F007F00003F007F00003F007F00007E007F00007E0
07F0000FC007F0001F8007F0003F0007F0007E0007F003FC00FFFFFFF000FFFFFF800025227EA1
2B>I<FFFFFFFCFFFFFFFC07F000FC07F0003C07F0001C07F0000C07F0000E07F0000E07F00006
07F0180607F0180607F0180607F0180007F0380007F0780007FFF80007FFF80007F0780007F038
0007F0180007F0180007F0180307F0180307F0000307F0000607F0000607F0000607F0000E07F0
000E07F0001E07F0003E07F001FCFFFFFFFCFFFFFFFC20227EA125>I<FFFFFFF8FFFFFFF807F0
01F807F0007807F0003807F0001807F0001C07F0001C07F0000C07F0000C07F0180C07F0180C07
F0180007F0180007F0380007F0780007FFF80007FFF80007F0780007F0380007F0180007F01800
07F0180007F0180007F0000007F0000007F0000007F0000007F0000007F0000007F0000007F000
00FFFFE000FFFFE0001E227EA123>I<FFFFE0FFFFE003F80003F80003F80003F80003F80003F8
0003F80003F80003F80003F80003F80003F80003F80003F80003F80003F80003F80003F80003F8
0003F80003F80003F80003F80003F80003F80003F80003F80003F80003F80003F800FFFFE0FFFF
E013227FA115>73 D<FFF000000FFFFFF800001FFF07F800001FE006FC000037E006FC000037E0
06FC000037E0067E000067E0067E000067E0063F0000C7E0063F0000C7E0061F800187E0061F80
0187E0060FC00307E0060FC00307E0060FC00307E00607E00607E00607E00607E00603F00C07E0
0603F00C07E00601F81807E00601F81807E00601F81807E00600FC3007E00600FC3007E006007E
6007E006007E6007E006003FC007E006003FC007E006001F8007E006001F8007E006001F8007E0
06000F0007E0FFF00F00FFFFFFF00600FFFF30227EA135>77 D<0007FC0000003FFF800000FC07
E00003F001F80007E000FC000FC0007E001F80003F001F80003F003F00001F803F00001F807F00
001FC07E00000FC07E00000FC0FE00000FE0FE00000FE0FE00000FE0FE00000FE0FE00000FE0FE
00000FE0FE00000FE0FE00000FE0FE00000FE07E00000FC07F00001FC07F00001FC03F00001F80
3F80003F801F80003F000FC0007E0007E000FC0003F001F80000FC07E000003FFF80000007FC00
0023227DA12A>79 D<FFFFFF00FFFFFFE007F007F007F001FC07F000FC07F0007E07F0007E07F0
007F07F0007F07F0007F07F0007F07F0007F07F0007E07F0007E07F000FC07F001FC07F007F007
FFFFE007FFFF0007F0000007F0000007F0000007F0000007F0000007F0000007F0000007F00000
07F0000007F0000007F0000007F0000007F00000FFFF8000FFFF800020227EA126>I<FFFFFE00
00FFFFFFC00007F007F00007F001F80007F000FC0007F0007E0007F0007F0007F0007F0007F000
7F0007F0007F0007F0007F0007F0007F0007F0007E0007F000FC0007F001F80007F007F00007FF
FFC00007FFFF800007F00FE00007F007F00007F003F80007F001FC0007F001FC0007F001FC0007
F001FC0007F001FC0007F001FC0007F001FC0007F001FC0007F001FC0607F000FE0607F000FF0C
FFFF803FF8FFFF800FF027227EA12A>82 D<01FC0407FF8C1F03FC3C007C7C003C78001C78001C
F8000CF8000CFC000CFC0000FF0000FFE0007FFF007FFFC03FFFF01FFFF80FFFFC03FFFE003FFE
0003FF00007F00003F00003FC0001FC0001FC0001FE0001EE0001EF0003CFC003CFF00F8C7FFE0
80FF8018227DA11F>I<7FFFFFFF807FFFFFFF807E03F80F807803F807807003F803806003F801
80E003F801C0E003F801C0C003F800C0C003F800C0C003F800C0C003F800C00003F800000003F8
00000003F800000003F800000003F800000003F800000003F800000003F800000003F800000003
F800000003F800000003F800000003F800000003F800000003F800000003F800000003F8000000
03F800000003F800000003F8000003FFFFF80003FFFFF80022227EA127>I<07FC001FFF803F07
C03F03E03F01E03F01F01E01F00001F00001F0003FF003FDF01FC1F03F01F07E01F0FC01F0FC01
F0FC01F0FC01F07E02F07E0CF81FF87F07E03F18167E951B>97 D<FF000000FF0000001F000000
1F0000001F0000001F0000001F0000001F0000001F0000001F0000001F0000001F0000001F0000
001F0FE0001F3FF8001FF07C001F801E001F001F001F000F801F000F801F000FC01F000FC01F00
0FC01F000FC01F000FC01F000FC01F000FC01F000FC01F000F801F001F801F801F001FC03E001E
E07C001C3FF800180FC0001A237EA21F>I<00FF8007FFE00F83F01F03F03E03F07E03F07C01E0
7C0000FC0000FC0000FC0000FC0000FC0000FC00007C00007E00007E00003E00301F00600FC0E0
07FF8000FE0014167E9519>I<0001FE000001FE0000003E0000003E0000003E0000003E000000
3E0000003E0000003E0000003E0000003E0000003E0000003E0001FC3E0007FFBE000F81FE001F
007E003E003E007E003E007C003E00FC003E00FC003E00FC003E00FC003E00FC003E00FC003E00
FC003E00FC003E007C003E007C003E003E007E001E00FE000F83BE0007FF3FC001FC3FC01A237E
A21F>I<00FE0007FF800F87C01E01E03E01F07C00F07C00F8FC00F8FC00F8FFFFF8FFFFF8FC00
00FC0000FC00007C00007C00007E00003E00181F00300FC07003FFC000FF0015167E951A>I<00
3F8000FFC001E3E003C7E007C7E00F87E00F83C00F80000F80000F80000F80000F80000F8000FF
FC00FFFC000F80000F80000F80000F80000F80000F80000F80000F80000F80000F80000F80000F
80000F80000F80000F80000F80000F80000F80007FF8007FF80013237FA211>I<03FC1E0FFF7F
1F0F8F3E07CF3C03C07C03E07C03E07C03E07C03E07C03E03C03C03E07C01F0F801FFF0013FC00
3000003000003800003FFF801FFFF00FFFF81FFFFC3800FC70003EF0001EF0001EF0001EF0001E
78003C7C007C3F01F80FFFE001FF0018217E951C>I<FF000000FF0000001F0000001F0000001F
0000001F0000001F0000001F0000001F0000001F0000001F0000001F0000001F0000001F07E000
1F1FF8001F307C001F403C001F803E001F803E001F003E001F003E001F003E001F003E001F003E
001F003E001F003E001F003E001F003E001F003E001F003E001F003E001F003E001F003E00FFE1
FFC0FFE1FFC01A237EA21F>I<1C003F007F007F007F003F001C00000000000000000000000000
0000FF00FF001F001F001F001F001F001F001F001F001F001F001F001F001F001F001F001F001F
001F00FFE0FFE00B247EA310>I<FF000000FF0000001F0000001F0000001F0000001F0000001F
0000001F0000001F0000001F0000001F0000001F0000001F0000001F00FF801F00FF801F003800
1F0060001F01C0001F0380001F0700001F0E00001F1C00001F7E00001FFF00001FCF00001F0F80
001F07C0001F03E0001F01E0001F01F0001F00F8001F007C001F003C00FFE0FFC0FFE0FFC01A23
7EA21E>107 D<FF00FF001F001F001F001F001F001F001F001F001F001F001F001F001F001F00
1F001F001F001F001F001F001F001F001F001F001F001F001F001F001F001F001F00FFE0FFE00B
237EA210>I<FF07F007F000FF1FFC1FFC001F303E303E001F403E403E001F801F801F001F801F
801F001F001F001F001F001F001F001F001F001F001F001F001F001F001F001F001F001F001F00
1F001F001F001F001F001F001F001F001F001F001F001F001F001F001F001F001F001F001F001F
001F001F001F001F00FFE0FFE0FFE0FFE0FFE0FFE02B167E952F>I<FF07E000FF1FF8001F307C
001F403C001F803E001F803E001F003E001F003E001F003E001F003E001F003E001F003E001F00
3E001F003E001F003E001F003E001F003E001F003E001F003E001F003E00FFE1FFC0FFE1FFC01A
167E951F>I<00FE0007FFC00F83E01E00F03E00F87C007C7C007C7C007CFC007EFC007EFC007E
FC007EFC007EFC007EFC007E7C007C7C007C3E00F81F01F00F83E007FFC000FE0017167E951C>
I<FF0FE000FF3FF8001FF07C001F803E001F001F001F001F801F001F801F000FC01F000FC01F00
0FC01F000FC01F000FC01F000FC01F000FC01F000FC01F001F801F001F801F803F001FC03E001F
E0FC001F3FF8001F0FC0001F0000001F0000001F0000001F0000001F0000001F0000001F000000
1F000000FFE00000FFE000001A207E951F>I<FE1F00FE3FC01E67E01EC7E01E87E01E87E01F83
C01F00001F00001F00001F00001F00001F00001F00001F00001F00001F00001F00001F00001F00
00FFF000FFF00013167E9517>114 D<0FF3003FFF00781F00600700E00300E00300F00300FC00
007FE0007FF8003FFE000FFF0001FF00000F80C00780C00380E00380E00380F00700FC0E00EFFC
00C7F00011167E9516>I<0180000180000180000180000380000380000780000780000F80003F
8000FFFF00FFFF000F80000F80000F80000F80000F80000F80000F80000F80000F80000F80000F
80000F81800F81800F81800F81800F81800F830007C30003FE0000F80011207F9F16>I<FF01FE
00FF01FE001F003E001F003E001F003E001F003E001F003E001F003E001F003E001F003E001F00
3E001F003E001F003E001F003E001F003E001F003E001F003E001F007E001F00FE000F81BE0007
FF3FC001FC3FC01A167E951F>I<FFE01FE0FFE01FE00F8006000F8006000FC00E0007C00C0007
E01C0003E0180003E0180001F0300001F0300000F8600000F86000007CC000007CC000007FC000
003F8000003F8000001F0000001F0000000E0000000E00001B167F951E>I<FFE7FF07F8FFE7FF
07F81F007800C00F807801800F807C01800F807C018007C07E030007C0DE030007E0DE070003E0
DF060003E18F060001F18F0C0001F38F8C0001FB079C0000FB07D80000FE03D800007E03F00000
7E03F000007C01F000003C01E000003800E000001800C00025167F9528>I<FFE07FC0FFE07FC0
0F801C0007C0380003E0700003F0600001F8C00000F98000007F8000003F0000001F0000001F80
00003FC0000037C0000063E00000C1F00001C0F8000380FC0007007E000E003E00FF80FFE0FF80
FFE01B167F951E>I<FFE01FE0FFE01FE00F8006000F8006000FC00E0007C00C0007E01C0003E0
180003E0180001F0300001F0300000F8600000F86000007CC000007CC000007FC000003F800000
3F8000001F0000001F0000000E0000000E0000000C0000000C00000018000078180000FC380000
FC300000FC60000069C000007F8000001F0000001B207F951E>I E /Ff
48 122 df<FFFF80FFFF80FFFF80FFFF80FFFF80FFFF8011067F9017>45
D<1C003E007F00FF80FF80FF807F003E001C0009097B8813>I<000E00001E00007E0007FE00FF
FE00FFFE00F8FE0000FE0000FE0000FE0000FE0000FE0000FE0000FE0000FE0000FE0000FE0000
FE0000FE0000FE0000FE0000FE0000FE0000FE0000FE0000FE0000FE0000FE0000FE0000FE0000
FE0000FE0000FE0000FE0000FE0000FE007FFFFE7FFFFE7FFFFE17277BA622>49
D<00FF800003FFF0000FFFFC001F03FE003800FF007C007F80FE003FC0FF003FC0FF003FE0FF00
1FE0FF001FE07E001FE03C003FE000003FE000003FC000003FC000007F8000007F000000FE0000
00FC000001F8000003F0000003E00000078000000F0000001E0000003C00E0007000E000E000E0
01C001C0038001C0070001C00FFFFFC01FFFFFC03FFFFFC07FFFFFC0FFFFFF80FFFFFF80FFFFFF
801B277DA622>I<007F800003FFF00007FFFC000F81FE001F00FF003F80FF003F807F803F807F
803F807F801F807F800F007F800000FF000000FF000000FE000001FC000001F8000007F00000FF
C00000FFF0000001FC0000007E0000007F0000007F8000003FC000003FC000003FE000003FE03C
003FE07E003FE0FF003FE0FF003FE0FF003FC0FF007FC07E007F807C007F003F01FE001FFFFC00
07FFF00000FF80001B277DA622>I<00000E0000001E0000003E0000007E000000FE000000FE00
0001FE000003FE0000077E00000E7E00000E7E00001C7E0000387E0000707E0000E07E0000E07E
0001C07E0003807E0007007E000E007E000E007E001C007E0038007E0070007E00E0007E00FFFF
FFF8FFFFFFF8FFFFFFF80000FE000000FE000000FE000000FE000000FE000000FE000000FE0000
00FE00007FFFF8007FFFF8007FFFF81D277EA622>I<0C0003000F803F000FFFFE000FFFFC000F
FFF8000FFFF0000FFFE0000FFFC0000FFE00000E0000000E0000000E0000000E0000000E000000
0E0000000E7FC0000FFFF8000F80FC000E003E000C003F0000001F8000001FC000001FC000001F
E000001FE018001FE07C001FE0FE001FE0FE001FE0FE001FE0FE001FC0FC001FC078003F807800
3F803C007F001F01FE000FFFF80003FFF00000FF80001B277DA622>I<0007F000003FFC0000FF
FE0001FC0F0003F01F8007E03F800FC03F801FC03F801F803F803F801F003F8000007F0000007F
0000007F000000FF000000FF0FC000FF3FF800FF707C00FFC03E00FFC03F00FF801F80FF801FC0
FF001FC0FF001FE0FF001FE0FF001FE07F001FE07F001FE07F001FE07F001FE03F001FE03F001F
C01F801FC01F803F800FC03F0007E07E0003FFFC0000FFF000003FC0001B277DA622>I<380000
003E0000003FFFFFF03FFFFFF03FFFFFF07FFFFFE07FFFFFC07FFFFF807FFFFF0070000E007000
0E0070001C00E0003800E0007000E000E0000000E0000001C00000038000000780000007800000
0F0000000F0000001F0000001F0000003F0000003E0000003E0000007E0000007E0000007E0000
007E000000FE000000FE000000FE000000FE000000FE000000FE000000FE000000FE0000007C00
00003800001C297CA822>I<003FC00001FFF00003FFFC0007C07E000F003F001E001F001E000F
803E000F803E000F803F000F803F000F803FC00F003FF01F001FFC1E001FFE3C000FFFF80007FF
E00003FFF80001FFFC0001FFFE0007FFFF000F0FFF801E03FFC03C01FFC07C007FE078001FE0F8
0007E0F80007E0F80003E0F80003E0F80003E0F80003C07C0003C07C0007803F000F001FC03E00
0FFFFC0003FFF800007FC0001B277DA622>I<000003800000000007C00000000007C000000000
0FE0000000000FE0000000000FE0000000001FF0000000001FF0000000003FF8000000003FF800
0000003FF80000000073FC0000000073FC00000000F3FE00000000E1FE00000000E1FE00000001
C0FF00000001C0FF00000003C0FF80000003807F80000007807FC0000007003FC0000007003FC0
00000E003FE000000E001FE000001E001FF000001C000FF000001FFFFFF000003FFFFFF800003F
FFFFF80000780007FC0000700003FC0000700003FC0000E00001FE0000E00001FE0001E00001FF
0001C00000FF0001C00000FF00FFFE001FFFFEFFFE001FFFFEFFFE001FFFFE2F297EA834>65
D<00003FF001800003FFFE0380000FFFFF8780003FF007DF8000FF8001FF8001FE00007F8003FC
00003F8007F000001F800FF000000F801FE0000007801FE0000007803FC0000007803FC0000003
807FC0000003807F80000003807F8000000000FF8000000000FF8000000000FF8000000000FF80
00000000FF8000000000FF8000000000FF8000000000FF8000000000FF80000000007F80000000
007F80000000007FC0000003803FC0000003803FC0000003801FE0000003801FE0000007000FF0
0000070007F000000E0003FC00001E0001FE00003C0000FF8000F800003FF007E000000FFFFFC0
000003FFFF000000003FF8000029297CA832>67 D<FFFFFFF80000FFFFFFFF8000FFFFFFFFE000
03FC001FF80003FC0007FC0003FC0001FE0003FC0000FF0003FC00007F8003FC00003FC003FC00
001FC003FC00001FE003FC00001FE003FC00000FF003FC00000FF003FC00000FF003FC00000FF0
03FC00000FF803FC00000FF803FC00000FF803FC00000FF803FC00000FF803FC00000FF803FC00
000FF803FC00000FF803FC00000FF803FC00000FF803FC00000FF003FC00000FF003FC00000FF0
03FC00001FE003FC00001FE003FC00001FC003FC00003FC003FC00007F8003FC00007F0003FC00
01FE0003FC0003FC0003FC001FF800FFFFFFFFE000FFFFFFFF8000FFFFFFFC00002D297DA835>
I<FFFFFFFFE0FFFFFFFFE0FFFFFFFFE003FC001FE003FC0007F003FC0001F003FC0001F003FC00
00F003FC00007003FC00007003FC00007003FC01C07803FC01C03803FC01C03803FC01C03803FC
03C00003FC03C00003FC0FC00003FFFFC00003FFFFC00003FFFFC00003FC0FC00003FC03C00003
FC03C00003FC01C00E03FC01C00E03FC01C00E03FC01C01C03FC00001C03FC00001C03FC00001C
03FC00003C03FC00003803FC00007803FC0000F803FC0001F803FC0003F803FC001FF8FFFFFFFF
F0FFFFFFFFF0FFFFFFFFF027297DA82D>I<FFFFFFFFC0FFFFFFFFC0FFFFFFFFC003FC003FC003
FC000FE003FC0003E003FC0001E003FC0001E003FC0000E003FC0000E003FC0000E003FC0000F0
03FC03807003FC03807003FC03807003FC03800003FC07800003FC07800003FC1F800003FFFF80
0003FFFF800003FFFF800003FC1F800003FC07800003FC07800003FC03800003FC03800003FC03
800003FC03800003FC00000003FC00000003FC00000003FC00000003FC00000003FC00000003FC
00000003FC00000003FC000000FFFFFC0000FFFFFC0000FFFFFC000024297DA82B>I<FFFFF01F
FFFEFFFFF01FFFFEFFFFF01FFFFE03FC00007F8003FC00007F8003FC00007F8003FC00007F8003
FC00007F8003FC00007F8003FC00007F8003FC00007F8003FC00007F8003FC00007F8003FC0000
7F8003FC00007F8003FC00007F8003FC00007F8003FC00007F8003FFFFFFFF8003FFFFFFFF8003
FFFFFFFF8003FC00007F8003FC00007F8003FC00007F8003FC00007F8003FC00007F8003FC0000
7F8003FC00007F8003FC00007F8003FC00007F8003FC00007F8003FC00007F8003FC00007F8003
FC00007F8003FC00007F8003FC00007F8003FC00007F8003FC00007F80FFFFF01FFFFEFFFFF01F
FFFEFFFFF01FFFFE2F297DA836>72 D<FFFFFCFFFFFCFFFFFC01FE0001FE0001FE0001FE0001FE
0001FE0001FE0001FE0001FE0001FE0001FE0001FE0001FE0001FE0001FE0001FE0001FE0001FE
0001FE0001FE0001FE0001FE0001FE0001FE0001FE0001FE0001FE0001FE0001FE0001FE0001FE
0001FE0001FE0001FE0001FE00FFFFFCFFFFFCFFFFFC16297EA81A>I<FFFFFC0000FFFFFC0000
FFFFFC000003FC00000003FC00000003FC00000003FC00000003FC00000003FC00000003FC0000
0003FC00000003FC00000003FC00000003FC00000003FC00000003FC00000003FC00000003FC00
000003FC00000003FC00000003FC00000003FC00000003FC00000003FC00000003FC0001C003FC
0001C003FC0001C003FC0001C003FC0003C003FC00038003FC00038003FC00078003FC00078003
FC000F8003FC000F8003FC001F8003FC007F8003FC01FF00FFFFFFFF00FFFFFFFF00FFFFFFFF00
22297DA829>76 D<FFFE0000001FFFC0FFFE0000001FFFC0FFFF0000003FFFC003FF0000003FF0
0003FF0000003FF00003BF80000077F00003BF80000077F000039FC00000E7F000039FC00000E7
F000038FE00001C7F000038FE00001C7F0000387F0000387F0000387F0000387F0000387F00003
87F0000383F8000707F0000383F8000707F0000381FC000E07F0000381FC000E07F0000380FE00
1C07F0000380FE001C07F0000380FF003807F00003807F003807F00003807F003807F00003803F
807007F00003803F807007F00003801FC0E007F00003801FC0E007F00003800FE1C007F0000380
0FE1C007F00003800FE1C007F000038007F38007F000038007F38007F000038003FF0007F00003
8003FF0007F000038001FE0007F000038001FE0007F000038000FC0007F000038000FC0007F000
FFFE00FC01FFFFC0FFFE007801FFFFC0FFFE007801FFFFC03A297DA841>I<0000FFE000000007
FFFC0000003FC07F8000007F001FC00001FC0007F00003F80003F80007F00001FC000FF00001FE
001FE00000FF001FE00000FF003FC000007F803FC000007F807FC000007FC07F8000003FC07F80
00003FC07F8000003FC0FF8000003FE0FF8000003FE0FF8000003FE0FF8000003FE0FF8000003F
E0FF8000003FE0FF8000003FE0FF8000003FE0FF8000003FE0FF8000003FE07F8000003FC07FC0
00007FC07FC000007FC03FC000007F803FC000007F801FE00000FF001FE00000FF000FF00001FE
0007F00001FC0003F80003F80001FC0007F00000FF001FE000003FC07F8000000FFFFE00000000
FFE000002B297CA834>79 D<FFFFFFF800FFFFFFFF00FFFFFFFFC003FC003FE003FC000FF003FC
0007F803FC0007FC03FC0003FC03FC0003FE03FC0003FE03FC0003FE03FC0003FE03FC0003FE03
FC0003FE03FC0003FE03FC0003FC03FC0007FC03FC0007F803FC000FF003FC003FE003FFFFFF80
03FFFFFE0003FC00000003FC00000003FC00000003FC00000003FC00000003FC00000003FC0000
0003FC00000003FC00000003FC00000003FC00000003FC00000003FC00000003FC00000003FC00
000003FC000000FFFFF00000FFFFF00000FFFFF0000027297DA82F>I<FFFFFFE00000FFFFFFFE
0000FFFFFFFF800003FC007FE00003FC000FF00003FC0007F80003FC0007FC0003FC0003FC0003
FC0003FE0003FC0003FE0003FC0003FE0003FC0003FE0003FC0003FE0003FC0003FE0003FC0003
FC0003FC0007F80003FC0007F80003FC001FE00003FC007FC00003FFFFFE000003FFFFF0000003
FC00FC000003FC007F000003FC003F800003FC003F800003FC001FC00003FC001FE00003FC001F
E00003FC001FE00003FC001FE00003FC001FE00003FC001FF00003FC001FF00003FC001FF00003
FC001FF00703FC001FF80703FC000FF80703FC0007F80EFFFFF003FE1CFFFFF001FFF8FFFFF000
3FF030297DA834>82 D<007F806003FFF0E007FFF9E00F807FE01F001FE03E0007E07C0003E07C
0001E0FC0001E0FC0001E0FC0000E0FE0000E0FE0000E0FF000000FFC000007FFE00007FFFE000
3FFFFC001FFFFE000FFFFF8007FFFFC003FFFFE000FFFFE00007FFF000007FF000000FF8000007
F8000003F8600001F8E00001F8E00001F8E00001F8F00001F0F00001F0F80003F0FC0003E0FF00
07C0FFE01F80F3FFFF00E0FFFE00C01FF0001D297CA826>I<7FFFFFFFFFC07FFFFFFFFFC07FFF
FFFFFFC07F803FC03FC07E003FC007C078003FC003C078003FC003C070003FC001C0F0003FC001
E0F0003FC001E0E0003FC000E0E0003FC000E0E0003FC000E0E0003FC000E0E0003FC000E00000
3FC0000000003FC0000000003FC0000000003FC0000000003FC0000000003FC0000000003FC000
0000003FC0000000003FC0000000003FC0000000003FC0000000003FC0000000003FC000000000
3FC0000000003FC0000000003FC0000000003FC0000000003FC0000000003FC0000000003FC000
0000003FC0000000003FC00000007FFFFFE000007FFFFFE000007FFFFFE0002B287EA730>I<FF
FFE07FFFF007FFF0FFFFE07FFFF007FFF0FFFFE07FFFF007FFF003FC0001FE00001C0003FC0001
FE00001C0001FE0001FF0000380001FE0000FF0000380001FF0000FF0000780000FF0000FF8000
700000FF0000FF8000700000FF8000FF8000F000007F8001FFC000E000007F8001FFC000E00000
3FC003FFE001C000003FC0039FE001C000003FE0039FE003C000001FE0070FF0038000001FE007
0FF0038000001FF00F0FF0078000000FF00E07F8070000000FF00E07F80700000007F81E07FC0E
00000007F81C03FC0E00000007FC1C03FC1E00000003FC3801FE1C00000003FC3801FE1C000000
01FE7801FF3800000001FE7000FF3800000001FE7000FF3800000000FFF000FFF000000000FFE0
007FF000000000FFE0007FF0000000007FC0003FE0000000007FC0003FE0000000003FC0003FC0
000000003F80001FC0000000003F80001FC0000000001F80001F80000000001F00000F80000000
001F00000F80000000000E00000700000044297FA847>87 D<01FF800007FFF0000F81F8001FC0
7E001FC07E001FC03F000F803F8007003F8000003F8000003F8000003F80000FFF8000FFFF8007
FC3F800FE03F803F803F803F003F807F003F80FE003F80FE003F80FE003F80FE003F807E007F80
7F00DF803F839FFC0FFF0FFC01FC03FC1E1B7E9A21>97 D<FFE0000000FFE0000000FFE0000000
0FE00000000FE00000000FE00000000FE00000000FE00000000FE00000000FE00000000FE00000
000FE00000000FE00000000FE00000000FE00000000FE1FE00000FE7FF80000FFE07E0000FF801
F0000FF000F8000FE000FC000FE000FE000FE0007F000FE0007F000FE0007F000FE0007F800FE0
007F800FE0007F800FE0007F800FE0007F800FE0007F800FE0007F800FE0007F000FE0007F000F
E0007F000FE000FE000FE000FC000FF001F8000FF803F0000F9E07E0000F07FF80000E01FC0000
212A7EA926>I<001FF80000FFFE0003F01F0007E03F800FC03F801F803F803F801F007F800E00
7F0000007F000000FF000000FF000000FF000000FF000000FF000000FF000000FF0000007F0000
007F0000007F8000003F8001C01F8001C00FC0038007E0070003F01E0000FFFC00001FE0001A1B
7E9A1F>I<00003FF80000003FF80000003FF800000003F800000003F800000003F800000003F8
00000003F800000003F800000003F800000003F800000003F800000003F800000003F800000003
F800001FE3F80000FFFBF80003F03FF80007E00FF8000FC007F8001F8003F8003F8003F8007F00
03F8007F0003F8007F0003F800FF0003F800FF0003F800FF0003F800FF0003F800FF0003F800FF
0003F800FF0003F8007F0003F8007F0003F8007F0003F8003F8003F8001F8003F8000F8007F800
07C00FF80003F03BFF8000FFF3FF80003FC3FF80212A7EA926>I<003FE00001FFF80003F07E00
07C01F000F801F801F800F803F800FC07F000FC07F0007C07F0007E0FF0007E0FF0007E0FFFFFF
E0FFFFFFE0FF000000FF000000FF0000007F0000007F0000007F0000003F8000E01F8000E00FC0
01C007E0038003F81F0000FFFE00001FF0001B1B7E9A20>I<0007F0003FFC00FE3E01F87F03F8
7F03F07F07F07F07F03E07F00007F00007F00007F00007F00007F00007F000FFFFC0FFFFC0FFFF
C007F00007F00007F00007F00007F00007F00007F00007F00007F00007F00007F00007F00007F0
0007F00007F00007F00007F00007F00007F00007F00007F0007FFF807FFF807FFF80182A7EA915
>I<00FF81F003FFE7F80FC1FE7C1F80FC7C1F007C383F007E107F007F007F007F007F007F007F
007F007F007F007F007F003F007E001F007C001F80FC000FC1F8001FFFE00018FF800038000000
380000003C0000003E0000003FFFF8001FFFFF001FFFFF800FFFFFC007FFFFE01FFFFFF03E0007
F07C0001F8F80000F8F80000F8F80000F8F80000F87C0001F03C0001E01F0007C00FC01F8003FF
FE00007FF0001E287E9A22>I<FFE0000000FFE0000000FFE00000000FE00000000FE00000000F
E00000000FE00000000FE00000000FE00000000FE00000000FE00000000FE00000000FE0000000
0FE00000000FE00000000FE07F00000FE1FFC0000FE787E0000FEE03F0000FF803F0000FF803F8
000FF003F8000FF003F8000FE003F8000FE003F8000FE003F8000FE003F8000FE003F8000FE003
F8000FE003F8000FE003F8000FE003F8000FE003F8000FE003F8000FE003F8000FE003F8000FE0
03F8000FE003F8000FE003F800FFFE3FFF80FFFE3FFF80FFFE3FFF80212A7DA926>I<07000FC0
1FE03FE03FE03FE01FE00FC007000000000000000000000000000000FFE0FFE0FFE00FE00FE00F
E00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE0FFFE
FFFEFFFE0F2B7DAA14>I<FFE00000FFE00000FFE000000FE000000FE000000FE000000FE00000
0FE000000FE000000FE000000FE000000FE000000FE000000FE000000FE000000FE01FFC0FE01F
FC0FE01FFC0FE007800FE00F000FE01E000FE03C000FE078000FE0E0000FE3C0000FE7C0000FEF
E0000FFFE0000FFFF0000FF3F8000FE3F8000FC1FC000FC0FE000FC07F000FC07F000FC03F800F
C01FC00FC00FC00FC00FE0FFFC3FFEFFFC3FFEFFFC3FFE1F2A7EA924>107
D<FFE0FFE0FFE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE0
0FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00F
E0FFFEFFFEFFFE0F2A7DA914>I<FFC07F800FF000FFC1FFE03FFC00FFC383F0707E000FC603F8
C07F000FCC01F9803F000FD801FF003F800FF001FE003F800FF001FE003F800FE001FC003F800F
E001FC003F800FE001FC003F800FE001FC003F800FE001FC003F800FE001FC003F800FE001FC00
3F800FE001FC003F800FE001FC003F800FE001FC003F800FE001FC003F800FE001FC003F800FE0
01FC003F800FE001FC003F800FE001FC003F800FE001FC003F80FFFE1FFFC3FFF8FFFE1FFFC3FF
F8FFFE1FFFC3FFF8351B7D9A3A>I<FFC07F0000FFC1FFC000FFC787E0000FCE03F0000FD803F0
000FD803F8000FF003F8000FF003F8000FE003F8000FE003F8000FE003F8000FE003F8000FE003
F8000FE003F8000FE003F8000FE003F8000FE003F8000FE003F8000FE003F8000FE003F8000FE0
03F8000FE003F8000FE003F8000FE003F800FFFE3FFF80FFFE3FFF80FFFE3FFF80211B7D9A26>
I<003FE00001FFFC0003F07E000FC01F801F800FC03F800FE03F0007E07F0007F07F0007F07F00
07F0FF0007F8FF0007F8FF0007F8FF0007F8FF0007F8FF0007F8FF0007F8FF0007F87F0007F07F
0007F03F800FE03F800FE01F800FC00FC01F8007F07F0001FFFC00003FE0001D1B7E9A22>I<FF
E1FE0000FFE7FF8000FFFE07E0000FF803F0000FF001F8000FE000FC000FE000FE000FE000FF00
0FE0007F000FE0007F000FE0007F800FE0007F800FE0007F800FE0007F800FE0007F800FE0007F
800FE0007F800FE0007F000FE000FF000FE000FF000FE000FE000FE001FC000FF001F8000FF803
F0000FFE0FE0000FE7FF80000FE1FC00000FE00000000FE00000000FE00000000FE00000000FE0
0000000FE00000000FE00000000FE00000000FE0000000FFFE000000FFFE000000FFFE00000021
277E9A26>I<FFC1F0FFC7FCFFCE3E0FD87F0FD87F0FF07F0FF03E0FF01C0FE0000FE0000FE000
0FE0000FE0000FE0000FE0000FE0000FE0000FE0000FE0000FE0000FE0000FE0000FE0000FE000
FFFF00FFFF00FFFF00181B7E9A1C>114 D<03FE300FFFF01E03F03800F0700070F00070F00070
F80070FC0000FFE0007FFE007FFF803FFFE01FFFF007FFF800FFF80003FC0000FC60007CE0003C
F0003CF00038F80038FC0070FF01E0F7FFC0C1FF00161B7E9A1B>I<0070000070000070000070
0000F00000F00000F00001F00003F00003F00007F0001FFFF0FFFFF0FFFFF007F00007F00007F0
0007F00007F00007F00007F00007F00007F00007F00007F00007F00007F00007F03807F03807F0
3807F03807F03807F03803F03803F87001F86000FFC0001F8015267FA51B>I<FFE03FF800FFE0
3FF800FFE03FF8000FE003F8000FE003F8000FE003F8000FE003F8000FE003F8000FE003F8000F
E003F8000FE003F8000FE003F8000FE003F8000FE003F8000FE003F8000FE003F8000FE003F800
0FE003F8000FE003F8000FE003F8000FE003F8000FE007F80007E007F80007E00FF80003F03BFF
8001FFF3FF80003FC3FF80211B7D9A26>I<FFFE03FF80FFFE03FF80FFFE03FF8007F000700007
F000700007F800F00003F800E00003FC01E00001FC01C00001FC01C00000FE03800000FE038000
007F070000007F070000007F8F0000003F8E0000003FDE0000001FDC0000001FDC0000000FF800
00000FF80000000FF800000007F000000007F000000003E000000003E000000001C00000211B7F
9A24>I<FFFE7FFC0FFEFFFE7FFC0FFEFFFE7FFC0FFE0FE007E000E007F003F001C007F003F001
C007F807F803C003F807F8038003F807F8038001FC0EFC070001FC0EFC070001FE1EFC0F0000FE
1C7E0E0000FE1C7E0E0000FF383F1E00007F383F1C00007F783F3C00003FF01FB800003FF01FB8
00003FF01FF800001FE00FF000001FE00FF000000FC007E000000FC007E000000FC007E0000007
8003C00000078003C0002F1B7F9A32>I<FFFC0FFF00FFFC0FFF00FFFC0FFF0007F003C00003F8
07800001FC07800000FE0F000000FF1E0000007F3C0000003FF80000001FF00000000FF0000000
0FF000000007F000000007F80000000FFC0000001FFE0000001EFE0000003C7F000000783F8000
00F01FC00001E01FE00001C00FE00003C007F000FFF01FFF80FFF01FFF80FFF01FFF80211B7F9A
24>I<FFFE03FF80FFFE03FF80FFFE03FF8007F000700007F000700007F800F00003F800E00003
FC01E00001FC01C00001FC01C00000FE03800000FE038000007F070000007F070000007F8F0000
003F8E0000003FDE0000001FDC0000001FDC0000000FF80000000FF80000000FF800000007F000
000007F000000003E000000003E000000001C000000001C0000000038000000003800000380780
00007C07000000FE0F000000FE0E000000FE1E000000FE3C0000007C780000003FE00000000FC0
00000021277F9A24>I E /Fg 53 122 df<00FC000782000E07001C07001C02001C00001C0000
1C00001C0000FFFF001C07001C07001C07001C07001C07001C07001C07001C07001C07001C0700
1C07001C0700FF1FE01317809614>12 D<60F0F070101020204040040A7D830A>44
D<60F0F06004047D830A>46 D<07C018303018701C600C600CE00EE00EE00EE00EE00EE00EE00E
E00EE00E600C600C701C30181C7007C00F157F9412>48 D<03000700FF00070007000700070007
000700070007000700070007000700070007000700070007007FF00C157E9412>I<0F8030E040
708030C038E0384038003800700070006000C00180030006000C08080810183FF07FF0FFF00D15
7E9412>I<00300030007000F001F001700270047008701870107020704070C070FFFE00700070
00700070007003FE0F157F9412>52 D<20303FE03FC0240020002000200020002F8030E0207000
30003800384038E038E0388030406020C01F000D157E9412>I<07C0183030186018E00CE00CE0
0EE00EE00E601E301E186E0F8E000E000C001C70187018603020C01F800F157F9412>57
D<001000003800003800003800005C00005C00005C00008E00008E00008E000107000107000307
8002038002038007FFC00401C00401C00800E00800E01800E03800F0FE03FE17177F961A>65
D<FFFE001C03801C00E01C00601C00701C00701C00701C00701C00E01C01C01FFF801FFFC01C00
E01C00701C00301C00381C00381C00381C00381C00701C00E01C01C0FFFF0015177F9619>I<00
FC100383300E00B01C0070380030300030700010600010E00010E00000E00000E00000E00000E0
0000E000106000107000103000203800201C00400E008003830000FC0014177E9619>I<FFFF00
1C01C01C00E01C00301C00381C00181C001C1C000C1C000E1C000E1C000E1C000E1C000E1C000E
1C000E1C000C1C001C1C001C1C00381C00301C00601C01C0FFFF0017177F961B>I<FFFFE01C00
E01C00601C00201C00101C00101C00101C04001C04001C04001C0C001FFC001C0C001C04001C04
081C04081C00081C00181C00101C00101C00301C00F0FFFFF015177F9618>I<FFFFE01C00E01C
00601C00201C00101C00101C00101C04001C04001C04001C0C001FFC001C0C001C04001C04001C
04001C00001C00001C00001C00001C00001C0000FFC00014177F9617>I<FF83FE1C00701C0070
1C00701C00701C00701C00701C00701C00701C00701C00701FFFF01C00701C00701C00701C0070
1C00701C00701C00701C00701C00701C0070FF83FE17177F961A>72 D<FFE00E000E000E000E00
0E000E000E000E000E000E000E000E000E000E000E000E000E000E000E000E000E00FFE00B177F
960D>I<FF80FE1C00781C00601C00401C00801C01001C06001C08001C10001C38001C78001C9C
001D0E001E0E001C07001C03801C01C01C01C01C00E01C00701C00781C007CFF80FF18177F961B
>75 D<FE0003F81E0003C0170005C0170005C0170005C0138009C0138009C011C011C011C011C0
11C011C010E021C010E021C0107041C0107041C0107041C0103881C0103881C0101D01C0101D01
C0100E01C0100E01C0380E01C0FE040FF81D177F9620>77 D<FC00FE1E00381F00101700101380
1011C01011C01010E010107010103810103810101C10100E10100F101007101003901001D01001
D01000F0100070100030380030FE001017177F961A>I<00FC000303000E01C01C00E038007030
0030700038600018E0001CE0001CE0001CE0001CE0001CE0001CE0001C70003870003830003038
00701C00E00E01C003030000FC0016177E961B>I<FFFE001C03801C00C01C00601C00701C0070
1C00701C00701C00601C00C01C03801FFE001C00001C00001C00001C00001C00001C00001C0000
1C00001C00001C0000FF800014177F9618>I<FFFC001C03801C00C01C00E01C00701C00701C00
701C00701C00E01C00C01C03801FFE001C07801C01C01C00E01C00E01C00E01C00E01C00E01C00
E11C00E11C0072FF803C18177F961A>82 D<0FC4302C601C400CC004C004C004E00070007F003F
E00FF801FC001C000E0006800680068006C004E008D81087E00F177E9614>I<7FFFF860381840
380840380880380480380480380400380000380000380000380000380000380000380000380000
380000380000380000380000380000380000380007FFC016177F9619>I<FF80FE1C00381C0010
1C00101C00101C00101C00101C00101C00101C00101C00101C00101C00101C00101C00101C0010
1C00101C00100E0020060020030040018180007E0017177F961A>I<FFC03F801E001C000F0008
0007001000078030000380200001C0400001E0400000E0800000F1800000710000003A0000003E
0000001C0000001C0000001C0000001C0000001C0000001C0000001C0000001C0000001C000000
FF8000191780961A>89 D<FCFCC0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0
C0C0C0FCFC06217D980A>91 D<FCFC0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C
0C0C0C0C0CFCFC062180980A>93 D<1FC0386038301038003803F81E3830387038E039E039E079
70FF1F1E100E7F8D12>97 D<FC00001C00001C00001C00001C00001C00001C00001C00001C0000
1CF8001F06001C03001C03801C01801C01C01C01C01C01C01C01C01C01801C03801C03001B0E00
10F8001217809614>I<07F01838303870106000E000E000E000E000600070083008183007C00D
0E7F8D10>I<007E00000E00000E00000E00000E00000E00000E00000E00000E0007CE001C3E00
300E00700E00600E00E00E00E00E00E00E00E00E00600E00700E00301E00182E0007CFC012177F
9614>I<0FC0186030307038E018FFF8E000E000E000600070083010183007C00D0E7F8D10>I<03
E006700E701C201C001C001C001C001C00FF801C001C001C001C001C001C001C001C001C001C00
1C001C00FF800C1780960B>I<0F9E18E33060707070707070306018C02F80200060003FE03FF8
3FFC600EC006C006C006600C38380FE010157F8D12>I<FC00001C00001C00001C00001C00001C
00001C00001C00001C00001C7C001D8E001E07001C07001C07001C07001C07001C07001C07001C
07001C07001C07001C0700FF9FE01317809614>I<183C3C1800000000007C1C1C1C1C1C1C1C1C
1C1C1C1CFF081780960A>I<FC00001C00001C00001C00001C00001C00001C00001C00001C0000
1C3F801C1C001C18001C20001C40001CC0001FE0001CF0001C70001C78001C3C001C1E001C1E00
FF3FC01217809613>107 D<FC001C001C001C001C001C001C001C001C001C001C001C001C001C
001C001C001C001C001C001C001C001C00FF80091780960A>I<FC7C1F001D8E63801E0781C01C
0701C01C0701C01C0701C01C0701C01C0701C01C0701C01C0701C01C0701C01C0701C01C0701C0
FF9FE7F81D0E808D1E>I<FC7C001D8E001E07001C07001C07001C07001C07001C07001C07001C
07001C07001C07001C0700FF9FE0130E808D14>I<07C018303018600C600CE00EE00EE00EE00E
E00E701C3018183007C00F0E7F8D12>I<FCF8001F0E001C03001C03801C01801C01C01C01C01C
01C01C01C01C01801C03801C07001F0E001CF8001C00001C00001C00001C00001C0000FF800012
14808D14>I<07C2001C2600381E00700E00600E00E00E00E00E00E00E00E00E00600E00700E00
301E001C2E0007CE00000E00000E00000E00000E00000E00007FC012147F8D13>I<FCF01D381E
381C101C001C001C001C001C001C001C001C001C00FF800D0E808D0E>I<1F4060C0C040C040E0
00FF007F801FC001E080608060C060E0C09F000B0E7F8D0E>I<080008000800180018003800FF
80380038003800380038003800380038403840384038401C800F000A147F930E>I<FC3F001C07
001C07001C07001C07001C07001C07001C07001C07001C07001C07001C0F000E170003E7E0130E
808D14>I<FE1F3C0E3C0C1C081C080E100E100720072003C003C003C001800180100E7F8D13>I<
FCFE7C3838383838101C3C201C3C201C4C200E4E400E4E400E8640078780078780070380030300
030300160E7F8D19>I<FE3F3C181C100E20074007C0038001C002E004F008701838383CFC7F10
0E7F8D13>I<FE1F3C0E3C0C1C081C080E100E100720072003C003C003C00180018001000100E2
00E200A400780010147F8D13>I E /Fh 6 55 df<0C003C00CC000C000C000C000C000C000C00
0C000C000C000C000C000C00FF8009107E8F0F>49 D<1F00618040C08060C0600060006000C001
80030006000C00102020207FC0FFC00B107F8F0F>I<1F00218060C060C000C0008001800F0000
8000400060C060C060804060801F000B107F8F0F>I<0300030007000F000B0013003300230043
00C300FFE003000300030003001FE00B107F8F0F>I<20803F002C002000200020002F00308020
40006000600060C06080C061801F000B107F8F0F>I<0780184030C060C06000C000CF00F080E0
40C060C060C060406060C030801F000B107F8F0F>I E /Fi 7 57 df<0C001C00EC000C000C00
0C000C000C000C000C000C000C000C000C000C000C000C000C00FFC00A137D9211>49
D<1F0060C06060F070F030603000700070006000C001C00180020004000810101020207FE0FFE0
0C137E9211>I<0FC030707038703870380038003000E00FC0007000380018001C601CF01CF018
E03860701FC00E137F9211>I<006000E000E00160026006600C600860106020606060C060FFFC
0060006000600060006003FC0E137F9211>I<60607FC07F8044004000400040004F0070C040E0
006000700070E070E070E06040E021C01F000C137E9211>I<07C00C201070207060006000C000
CF00D0C0E060C020C030C030C03040306020206010C00F000C137E9211>I<0FC0003000084008
600870083C103F600F800FE031F06078C01CC00CC00CC00C601830300FC00E137F9211>56
D E /Fj 5 99 df<000100000300000700000780000B80001B8000138000238000238000438000
83800083C00101C003FFC00201C00401C00401C00801C01801E0FE07F815147F9319>65
D<07FFE000E03801C01801C01C01C01C01C01C0380380380700380E003FFC00700E00700700700
300700380E00700E00700E00E00E00E01C0380FFFE0016147F9319>I<07F000FE00F000F00170
01E0017002E0017002E0017004E0027009C0023809C0023811C0023821C0043823800438438004
388380041C8380081D0700081E0700081E0700081C070018180E00FE187FC01F147F9320>77
D<07B00C7010703060606060606060C0C0C0C8C0C841C862D03C700D0D7E8C12>97
D<7C000C00180018001800180030003700388030C060C060C060C060C0C180C180C10043006600
38000A147E930F>I E /Fk 28 117 df<60F0F06004047C830C>58 D<60F0F070101010102020
4080040C7C830C>I<00010003000600060006000C000C000C0018001800180030003000300060
006000C000C000C0018001800180030003000300060006000C000C000C00180018001800300030
003000600060006000C000C00010297E9E15>61 D<00000C0000000C0000001C0000001C000000
3C0000007C0000005C0000009C0000008E0000010E0000010E0000020E0000040E0000040E0000
080E0000080E0000100E0000200E00003FFE000040070000400700008007000100070001000700
0200070002000700060007001E000700FF807FF01C1D7F9C1F>65 D<01FFFF00003C01C0003800
E0003800F0003800700038007000700070007000F0007000F0007001E000E003C000E0078000E0
1F0000FFFC0001C00F0001C0078001C003C001C003C0038003C0038003C0038003C0038003C007
0007800700070007000E0007001C000E007800FFFFC0001C1C7E9B1F>I<0001F808000E061800
380138006000F001C0007003800070070000300F0000200E0000201C0000203C0000203C000000
780000007800000078000000F0000000F0000000F0000000F0000000F0000100F0000100F00001
00700002007000020030000400380008001C0010000E0060000701800000FE00001D1E7E9C1E>
I<01FFFF80003C01E000380070003800380038001C0038001C0070001C0070001E0070001E0070
001E00E0001E00E0001E00E0001E00E0001E01C0003C01C0003C01C0003C01C000380380007803
800070038000F0038000E0070001C0070003800700070007001C000E007800FFFFC0001F1C7E9B
22>I<01FFFFF8003C007800380018003800100038001000380010007000100070001000701010
0070100000E0200000E0200000E0600000FFE00001C0400001C0400001C0400001C04000038080
40038000400380008003800080070001000700010007000300070006000E003E00FFFFFC001D1C
7E9B1F>I<0001F808000E061800380138006000F001C0007003800070070000300F0000200E00
00201C0000203C0000203C000000780000007800000078000000F0000000F0000000F0007FF0F0
000780F0000700F0000700F00007007000070070000E0030000E0038000E001C001E000E006400
0701840000FE00001D1E7E9C21>71 D<01FFC3FF80003C00780000380070000038007000003800
70000038007000007000E000007000E000007000E000007000E00000E001C00000E001C00000E0
01C00000FFFFC00001C003800001C003800001C003800001C00380000380070000038007000003
80070000038007000007000E000007000E000007000E000007000E00000F001E0000FFE1FFC000
211C7E9B23>I<01FE0000FF003E0000F0002E0001E0002E0002E0002E0002E0002E0004E0004E
0009C0004E0009C000470011C000470011C0008700238000870043800087004380008700838001
070107000107010700010382070001038207000203840E000203880E000203880E000203900E00
0403A01C000403A01C000401C01C000C01C01C001C01803C00FF8103FF80281C7E9B28>77
D<01FC00FF80001C001C00002E001800002E001000002E00100000270010000047002000004300
2000004380200000438020000081C040000081C040000081C040000080E040000100E080000100
7080000100708000010070800002003900000200390000020039000002001D000004001E000004
000E000004000E00000C000E00001C00040000FF80040000211C7E9B21>I<0003F800000E0E00
0038038000E001C001C001C0038000E0070000E00F0000F01E0000F01C0000F03C0000F03C0000
F0780000F0780000F0780000F0F00001E0F00001E0F00001E0F00003C0F00003C0F0000780F000
0780F0000F0070000E0070001C00380038003C0070001C01C0000707800001FC00001C1E7E9C20
>I<01FFFF00003C03C0003800E0003800F00038007000380070007000F0007000F0007000F000
7000E000E001E000E003C000E0078000E01E0001FFF00001C0000001C0000001C0000003800000
038000000380000003800000070000000700000007000000070000000F000000FFE000001C1C7E
9B1B>I<01FFFE00003C03C0003800E0003800F00038007000380070007000F0007000F0007000
F0007001E000E001C000E0078000E01E0000FFF00001C0300001C0180001C01C0001C01C000380
1C0003801C0003801C0003801C0007003C0007003C0807003C0807003C100F001E10FFE00E2000
0007C01D1D7E9B20>82 D<000FC100303300400F00800601800603000603000606000406000407
000007000007800003F00001FF0000FFC0003FE00003E00000F000007000003000003020003020
00306000606000606000C0600080F00300CC060083F800181E7E9C19>I<1FFFFFF01C03807030
070030200700206007002040070020400E0020800E0020800E0020000E0000001C0000001C0000
001C0000001C000000380000003800000038000000380000007000000070000000700000007000
0000E0000000E0000000E0000000E0000001E000007FFF00001C1C7F9B18>I<FFC1FFC1FF1C00
3C003C1C001C00101C001C00201C003C00201C007C00401C005C00401C009C00801C009C00801C
011C01001C011C01001C021C02001C021C04001C041C04001C081C08001E081C08000E101C1000
0E101C10000E200E20000E200E60000E400E40000E400E80000E800E80000F000F00000F000F00
000E000E00000E000E00000C000C00000C00080000281D7D9B27>87 D<01E3000717000C0F0018
0F00380E00300E00700E00700E00E01C00E01C00E01C00E01C00E03880E03880E0388060788031
99001E0E0011127E9116>97 D<0007E00000E00000E00001C00001C00001C00001C00003800003
8000038000038001E7000717000C0F00180F00380E00300E00700E00700E00E01C00E01C00E01C
00E01C00E03880E03880E038806078803199001E0E00131D7E9C16>100
D<01F007080C0818043808300870307FC0E000E000E000E000E000E0046008601030600F800E12
7E9113>I<007180018B800307800607800E07000C07001C07001C0700380E00380E00380E0038
0E00381C00381C00381C00183C0008F800073800003800003800007000607000F06000F0E000E1
80007E0000111A7F9114>103 D<01C003C003C001800000000000000000000000001C00270047
004700870087000E000E001C001C001C003800388038807080710032001C000A1C7E9B0E>105
D<381F81F04E20C6184640E81C4680F01C8F00F01C8E00E01C0E00E01C0E00E01C1C01C0381C01
C0381C01C0381C01C0703803807138038071380380E1380380E2700700643003003820127E9124
>109 D<381F004E61804681C04701C08F01C08E01C00E01C00E01C01C03801C03801C03801C07
00380710380710380E10380E2070064030038014127E9119>I<00F800030C000E06001C030018
0300300300700380700380E00700E00700E00700E00E00E00E00E01C0060180060300030E0000F
800011127E9114>I<01F0060C04040C0E180C1C001F000FE00FF003F80038201C7018F018F010
803060601F800F127E9113>115 D<00C001C001C001C00380038003800380FFF0070007000700
0E000E000E000E001C001C001C001C00382038203840384018800F000C1A80990F>I
E /Fl 65 124 df<0001FC3C00060E67000C0EC7001C0DC6001C01C0003801C000380380003803
8000380380003803800070038007FFFFF800700700007007000070070000E0070000E00E0000E0
0E0000E00E0000E00E0001C00E0001C01C0001C01C0001C01C0001C01C0003801C000380380003
8038000380380003003800070030000700700006006000C6606000E470C000C8618000703E0000
2025819C19>11 D<0001FC000703000C03001C07001C0300180000380000380000380000380000
700007FFFC00701C00701C00701C00E03800E03800E03800E03800E07001C07001C07001C07001
C0E201C0E201C0E20380E4038064038038038000030000070000060000C60000E40000CC000070
00001825819C17>I<0001FDC000070FC0000C0FC0001C0F80001C038000380380003803800038
070000380700003807000070070007FFFE0000700E0000700E0000700E0000E01C0000E01C0000
E01C0000E01C0000E0380001C0380001C0380001C0380001C0710001C071000380710003807200
0380320003801C0003800000030000000700000006000000C6000000E4000000CC000000700000
001A25819C18>I<0001FE0FF0000307380C000607700C000C06601C001C00E00C001C00C00000
1C01C000003801C000003801C000003801C000003803800003FFFFFFF000700380700070038070
007003807000700780E000700700E000700700E000E00700E000E00701C000E00701C000E00E01
C000E00E01C001C00E038801C00E038801C00E038801C01C039001C01C019003801C00E003801C
0000038038000003003800000300300000C630300000E638600000CC30C00000781F0000002625
819C25>I<18303C783C783C78040804080810081010202040408081000D0C799C15>34
D<00030006000800180030006000C000C0018003000300060006000C000C001C00180018003800
30003000700070006000600060006000E000E000E000E000E00060006000600060006000200030
00100008000800102A7B9E11>40 D<001000100008000C00040006000600060006000600070007
0007000700070006000600060006000E000E000C000C001C001800180038003000300060006000
C000C001800300030006000C00180010006000C000102A809E11>I<1838783808081010204040
80050C7D830D>44 D<FFC0FFC0FFC00A037D890F>I<3078F06005047C830D>I<003C0000C60001
83000303000603000603800E03800C03801C03801C0300380700380700380700380700700E0070
0E00700E00700E00E01C00E01C00E01C00E03800E03800E03000C06000E0600060C0007180001E
0000111D7B9B15>48 D<00020006000C001C007C039C0038003800380038007000700070007000
E000E000E000E001C001C001C001C003800380038003800780FFF00F1C7C9B15>I<003C0000C3
000101800201800201C00441C00441C00841C00841C00841C01083801083801107000E0600000C
0000180000300000C0000100000600000800001001001002002002004006007E0C00C7F80083F8
0080E000121D7C9B15>I<003E0000C1800101800200C00400C00440C00841C00841C00841C008
8380070380000700000E0001F800003800000C00000C00000E00000E00000E00000E00700E00E0
1C00801C0080380080300040600021C0001F0000121D7C9B15>I<0001800001C0000380000380
000380000300000700000700000600000E00000C00001C00001800001800003000003000006000
00400000C600018E00010E00020E00061C000C1C00181C003F1C0040F800803F00003800003800
00700000700000700000700000E00000600012247E9B15>I<003C0000C6000183000303000603
000E03000C03801C03801C03001C0300380700380700380700380F00380E00181E00181E000C6C
00079C00001C00001800003800003000006000E0C000E0C0008180008600007C0000111D7B9B15
>57 D<060F0F06000000000000000000003078F06008127C910D>I<0000180000001800000038
000000380000007800000078000000B8000001B800000138000002380000023C0000041C000004
1C0000081C0000181C0000101C0000201C0000201C00007FFC0000401C0000801C0001801C0001
001C0002001C0002001C0004000E000C000E001C001E00FF00FFC01A1D7E9C1F>65
D<01FFFE00003C0780003803C0003801C0003801C0003801C0007001C0007003C0007003C00070
078000E0070000E00E0000E03C0000FFF80001C01C0001C00E0001C00F0001C00F0003800F0003
800F0003800F0003800F0007001E0007001C0007003C00070078000E01E000FFFF80001A1C7D9B
1D>I<0003F020001E0C60003002E000E003C001C001C0038001C0070000C00E0000801E000080
1C0000803C0000803C000000780000007800000078000000F0000000F0000000F0000000F00000
00F0000400F0000400F0000400F0000800700008007000100038002000180040000C0180000706
000001F800001B1E7A9C1E>I<01FFFE00003C0780003801C0003801C0003800E0003800E00070
00F00070007000700070007000F000E000F000E000F000E000F000E000F001C001E001C001E001
C001E001C001C0038003C003800380038007800380070007000E0007001C000700380007007000
0E01C000FFFF00001C1C7D9B1F>I<01FFFFE0003C00E000380060003800400038004000380040
0070004000700040007020400070200000E0400000E0400000E0C00000FFC00001C0800001C080
0001C0800001C0800003810100038001000380020003800200070004000700040007000C000700
18000E007800FFFFF0001B1C7D9B1C>I<01FFFFC0003C01C0003800C000380080003800800038
00800070008000700080007020800070200000E0400000E0400000E0C00000FFC00001C0800001
C0800001C0800001C0800003810000038000000380000003800000070000000700000007000000
070000000F000000FFF000001A1C7D9B1B>I<0003F020001E0C60003002E000E003C001C001C0
038001C0070000C00E0000801E0000801C0000803C0000803C0000007800000078000000780000
00F0000000F0000000F001FFC0F0001E00F0001C00F0001C00F0001C00F0001C00700038007000
380038003800180078000C0090000707100001F800001B1E7A9C20>I<01FFCFFE003C01E00038
01C0003801C0003801C0003801C00070038000700380007003800070038000E0070000E0070000
E0070000FFFF0001C00E0001C00E0001C00E0001C00E0003801C0003801C0003801C0003801C00
070038000700380007003800070038000F007800FFE7FF001F1C7D9B1F>I<01FFC0003C000038
0000380000380000380000700000700000700000700000E00000E00000E00000E00001C00001C0
0001C00001C0000380000380000380000380000700000700000700000700000F0000FFE000121C
7E9B10>I<01FFC0FF003C003C0038003000380040003800800038010000700200007004000070
10000070200000E0400000E0C00000E1C00000E5C00001C8E00001D0E00001E0E00001C0700003
8070000380700003803800038038000700380007001C0007001C0007001C000F001E00FFE0FF80
201C7D9B20>75 D<01FFE0003C0000380000380000380000380000700000700000700000700000
E00000E00000E00000E00001C00001C00001C00001C00003800803800803800803801007001007
00300700600700E00E03C0FFFFC0151C7D9B1A>I<01FE0007F8003E000780002E000F00002E00
1700002E001700002E002700004E002E00004E004E00004E004E00004E008E00008E011C00008E
011C00008E021C00008E021C000107043800010704380001070838000107103800020710700002
0720700002072070000207407000040740E000040780E000040700E0000C0700E0001C0601E000
FF861FFC00251C7D9B25>I<01FC03FE001C0070003C0060002E0040002E0040002E0040004700
800047008000470080004380800083810000838100008181000081C1000101C2000101C2000100
E2000100E2000200E4000200740002007400020074000400380004003800040038000C0018001C
001000FF8010001F1C7D9B1F>I<0007F000001C1C0000700E0000E0070001C003800380038007
0003800E0003C01E0003C01C0003C03C0003C03C0003C0780003C0780003C0780003C0F0000780
F0000780F0000780F0000F00F0000F00F0000E00F0001E00F0003C0070003800700070007800E0
003801C0001C0380000E0E000003F800001A1E7A9C20>I<01FFFC00003C070000380380003801
C0003801C0003801C0007003C0007003C0007003C00070038000E0078000E0070000E00E0000E0
380001FFE00001C0000001C0000001C00000038000000380000003800000038000000700000007
00000007000000070000000F000000FFE000001A1C7D9B1C>I<01FFF800003C0E000038070000
380380003803800038038000700780007007800070078000700F0000E00E0000E01C0000E07000
00FFC00001C0C00001C0600001C0700001C07000038070000380700003807000038070000700F0
000700F0400700F0400700F0800F007880FFE0790000001E001A1D7D9B1E>82
D<000F8400304C00403C00801801001803001803001806001006001006000007000007000003E0
0003FC0001FF00007F800007C00001C00001C00000C00000C02000C02000C06001806001806003
00600200F00400CC180083E000161E7D9C17>I<1FFFFFC01C0701C0300E00C0200E0080600E00
80400E0080401C0080801C0080801C0080001C0000003800000038000000380000003800000070
000000700000007000000070000000E0000000E0000000E0000000E0000001C0000001C0000001
C0000001C0000003C000007FFE00001A1C799B1E>I<7FF0FF800F001C000E0018000E0010000E
0010000E0010001C0020001C0020001C0020001C00200038004000380040003800400038004000
70008000700080007000800070008000E0010000E0010000E0010000E0020000E0020000E00400
00E00400006008000030300000104000000F800000191D779B1F>I<FF803FC01C000F001C0004
001C0008001C0008001C0010001C0010001C0020001C0040001C0040001E0080000E0080000E01
00000E0200000E0200000E0400000E0400000E0800000E1800000E1000000E2000000720000007
40000007C0000007800000070000000700000006000000060000001A1D779B1F>I<FF83FF0FF0
3C007001C038007001803800F001003800F0020038017002003801700400380270040038027008
001C047008001C047010001C087010001C087020001C107020001C107040001C207040001C2070
80001C407180001C407100001C807200001D807200001D007400001E007400001E007800001C00
7800001C00700000180070000018006000001000600000241D779B29>I<FFC00FE00E0007800E
0006000F000400070008000700180007801000038020000380400003C0800001C1800001C10000
01E2000000E4000000EC000000F80000007000000070000000E0000000E0000000E0000000E000
0001C0000001C0000001C0000001C00000038000003FF800001B1C789B1F>89
D<03CC063C0C3C181C3838303870387038E070E070E070E070E0E2C0E2C0E261E462643C380F12
7B9115>97 D<3F00070007000E000E000E000E001C001C001C001C0039C03E6038303830703870
3870387038E070E070E070E060E0E0C0C0C1C0618063003C000D1D7B9C13>I<01F007080C0818
1C3838300070007000E000E000E000E000E000E008E010602030C01F000E127B9113>I<001F80
000380000380000700000700000700000700000E00000E00000E00000E0003DC00063C000C3C00
181C00383800303800703800703800E07000E07000E07000E07000E0E200C0E200C0E20061E400
6264003C3800111D7B9C15>I<01E007100C1018083810701070607F80E000E000E000E000E000
E0086010602030C01F000D127B9113>I<0003C0000670000C70001C60001C00001C0000380000
380000380000380000380003FF8000700000700000700000700000700000E00000E00000E00000
E00000E00001C00001C00001C00001C00001C000038000038000038000030000030000070000C6
0000E60000CC00007800001425819C0D>I<00F3018F030F06070E0E0C0E1C0E1C0E381C381C38
1C381C383830383038187818F00F700070007000E000E0C0C0E1C0C3007E00101A7D9113>I<0F
C00001C00001C0000380000380000380000380000700000700000700000700000E78000E8C000F
0E000E0E001C0E001C0E001C0E001C0E00381C00381C00381C0038380070388070388070708070
7100E03200601C00111D7D9C15>I<01800380010000000000000000000000000000001C002600
470047008E008E000E001C001C001C0038003800710071007100720072003C00091C7C9B0D>I<
0FC00001C00001C0000380000380000380000380000700000700000700000700000E0F000E1100
0E23800E43801C83001C80001D00001E00003F800039C00038E00038E00070E20070E20070E200
70E400E06400603800111D7D9C13>107 D<1F800380038007000700070007000E000E000E000E
001C001C001C001C0038003800380038007000700070007000E400E400E400E40068003800091D
7C9C0B>I<3C1E0780266318C04683A0E04703C0E08E0380E08E0380E00E0380E00E0380E01C07
01C01C0701C01C0701C01C070380380E0388380E0388380E0708380E0710701C0320300C01C01D
127C9122>I<3C3C002646004687004707008E07008E07000E07000E07001C0E001C0E001C0E00
1C1C00381C40381C40383840383880701900300E0012127C9117>I<01E007180C0C180C380C30
0E700E700EE01CE01CE01CE018E038E030E06060C031801E000F127B9115>I<07870004D98008
E0C008E0C011C0E011C0E001C0E001C0E00381C00381C00381C003818007038007030007070007
06000E8C000E70000E00000E00001C00001C00001C00001C00003C0000FF8000131A7F9115>I<
03C4062C0C3C181C3838303870387038E070E070E070E070E0E0C0E0C0E061E063C03DC001C001
C0038003800380038007803FF00E1A7B9113>I<3C3C26C2468747078E068E000E000E001C001C
001C001C0038003800380038007000300010127C9112>I<01F006080C080C1C18181C001F001F
C00FF007F0007800386030E030C030806060C01F000E127D9111>I<00C001C001C001C0038003
8003800380FFE00700070007000E000E000E000E001C001C001C001C0038403840384038801900
0E000B1A7D990E>I<1E0300270700470700470700870E00870E000E0E000E0E001C1C001C1C00
1C1C001C1C003838803838801838801839001C5900078E0011127C9116>I<1E06270E470E4706
870287020E020E021C041C041C041C0818083808181018200C4007800F127C9113>I<1E018327
03874703874703838707018707010E07010E07011C0E021C0E021C0E021C0E04180C04181C0418
1C081C1C100C263007C3C018127C911C>I<070E0019910010E38020E38041C30041C00001C000
01C000038000038000038000038000070200670200E70400CB04008B080070F00011127D9113>
I<1E03270747074707870E870E0E0E0E0E1C1C1C1C1C1C1C1C38383838183818381C7007F00070
007000E0E0C0E1C0818047003C00101A7C9114>I<038207C20FEC083810080010002000400080
01000200040008081008383067F043E081C00F127D9111>I<FFFFC012017C8B15>I
E /Fm 83 124 df<007E1F0001C1B1800303E3C00703C3C00E03C1800E01C0000E01C0000E01C0
000E01C0000E01C0000E01C000FFFFFC000E01C0000E01C0000E01C0000E01C0000E01C0000E01
C0000E01C0000E01C0000E01C0000E01C0000E01C0000E01C0000E01C0000E01C0000E01C0000E
01C0007F87FC001A1D809C18>11 D<007E0001C1800301800703C00E03C00E01800E00000E0000
0E00000E00000E0000FFFFC00E01C00E01C00E01C00E01C00E01C00E01C00E01C00E01C00E01C0
0E01C00E01C00E01C00E01C00E01C00E01C00E01C07F87F8151D809C17>I<007FC001C1C00303
C00703C00E01C00E01C00E01C00E01C00E01C00E01C00E01C0FFFFC00E01C00E01C00E01C00E01
C00E01C00E01C00E01C00E01C00E01C00E01C00E01C00E01C00E01C00E01C00E01C00E01C07FCF
F8151D809C17>I<003F07E00001C09C18000380F018000701F03C000E01E03C000E00E018000E
00E000000E00E000000E00E000000E00E000000E00E00000FFFFFFFC000E00E01C000E00E01C00
0E00E01C000E00E01C000E00E01C000E00E01C000E00E01C000E00E01C000E00E01C000E00E01C
000E00E01C000E00E01C000E00E01C000E00E01C000E00E01C000E00E01C007FC7FCFF80211D80
9C23>I<6060F0F0F8F86868080808080808101010102020404080800D0C7F9C15>34
D<0003018000030180000301800006030000060300000603000006030000060300000C0600000C
0600000C0600000C060000180C007FFFFFF8FFFFFFFC0030180000301800003018000030180000
603000006030000060300000603000FFFFFFFC7FFFFFF800C060000180C0000180C0000180C000
0180C000030180000301800003018000030180000603000006030000060300001E257E9C23>I<
60F0F8680808081010204080050C7C9C0C>39 D<004000800100020006000C000C001800180030
0030007000600060006000E000E000E000E000E000E000E000E000E000E000E000E00060006000
6000700030003000180018000C000C00060002000100008000400A2A7D9E10>I<800040002000
100018000C000C000600060003000300038001800180018001C001C001C001C001C001C001C001
C001C001C001C001C0018001800180038003000300060006000C000C0018001000200040008000
0A2A7E9E10>I<60F0F0701010101020204080040C7C830C>44 D<FFE0FFE00B0280890E>I<60F0
F06004047C830C>I<00010003000600060006000C000C000C0018001800180030003000300060
006000C000C000C0018001800180030003000300060006000C000C000C00180018001800300030
003000600060006000C000C00010297E9E15>I<03C00C301818300C300C700E60066006E007E0
07E007E007E007E007E007E007E007E007E007E007E00760066006700E300C300C18180C3007E0
101D7E9B15>I<030007003F00C700070007000700070007000700070007000700070007000700
07000700070007000700070007000700070007000F80FFF80D1C7C9B15>I<07C01830201C400C
400EF00FF80FF807F8077007000F000E000E001C001C00380070006000C00180030006010C0118
0110023FFE7FFEFFFE101C7E9B15>I<07E01830201C201C781E780E781E381E001C001C001800
30006007E00030001C001C000E000F000F700FF80FF80FF80FF00E401C201C183007E0101D7E9B
15>I<000C00000C00001C00003C00003C00005C0000DC00009C00011C00031C00021C00041C00
0C1C00081C00101C00301C00201C00401C00C01C00FFFFC0001C00001C00001C00001C00001C00
001C00001C0001FFC0121C7F9B15>I<300C3FF83FF03FC020002000200020002000200023E024
302818301C200E000E000F000F000F600FF00FF00FF00F800E401E401C2038187007C0101D7E9B
15>I<00F0030C06040C0E181E301E300C700070006000E3E0E430E818F00CF00EE006E007E007
E007E007E007600760077006300E300C18180C3003E0101D7E9B15>I<4000007FFF807FFF007F
FF0040020080040080040080080000100000100000200000600000400000C00000C00001C00001
800001800003800003800003800003800007800007800007800007800007800007800003000011
1D7E9B15>I<03E00C301008200C20066006600660067006780C3E083FB01FE007F007F818FC30
7E601E600FC007C003C003C003C00360026004300C1C1007E0101D7E9B15>I<03C00C30181830
0C700C600EE006E006E007E007E007E007E0076007700F300F18170C2707C700060006000E300C
780C78187010203030C00F80101D7E9B15>I<60F0F0600000000000000000000060F0F0600412
7C910C>I<60F0F0600000000000000000000060F0F0701010101020204080041A7C910C>I<7FFF
FFC0FFFFFFE00000000000000000000000000000000000000000000000000000000000000000FF
FFFFE07FFFFFC01B0C7E8F20>61 D<0FE03038401CE00EF00EF00EF00E000C001C0030006000C0
008001800100010001000100010001000000000000000000000003000780078003000F1D7E9C14
>63 D<000600000006000000060000000F0000000F0000000F0000001780000017800000178000
0023C0000023C0000023C0000041E0000041E0000041E0000080F0000080F0000180F800010078
0001FFF80003007C0002003C0002003C0006003E0004001E0004001E000C001F001E001F00FF80
FFF01C1D7F9C1F>65 D<FFFFC00F00F00F00380F003C0F001C0F001E0F001E0F001E0F001E0F00
1C0F003C0F00780F01F00FFFE00F00780F003C0F001E0F000E0F000F0F000F0F000F0F000F0F00
0F0F001E0F001E0F003C0F0078FFFFE0181C7E9B1D>I<001F808000E061800180198007000780
0E0003801C0003801C00018038000180780000807800008070000080F0000000F0000000F00000
00F0000000F0000000F0000000F0000000F0000000700000807800008078000080380000801C00
01001C0001000E000200070004000180080000E03000001FC000191E7E9C1E>I<FFFFC0000F00
F0000F003C000F000E000F0007000F0007000F0003800F0003C00F0001C00F0001C00F0001E00F
0001E00F0001E00F0001E00F0001E00F0001E00F0001E00F0001E00F0001C00F0001C00F0003C0
0F0003800F0007800F0007000F000E000F001C000F007000FFFFC0001B1C7E9B20>I<FFFFFC0F
003C0F000C0F00040F00040F00060F00020F00020F02020F02000F02000F02000F06000FFE000F
06000F02000F02000F02000F02010F00010F00020F00020F00020F00060F00060F000C0F003CFF
FFFC181C7E9B1C>I<FFFFF80F00780F00180F00080F00080F000C0F00040F00040F02040F0200
0F02000F02000F06000FFE000F06000F02000F02000F02000F02000F00000F00000F00000F0000
0F00000F00000F00000F8000FFF800161C7E9B1B>I<001F808000E0618001801980070007800E
0003801C0003801C00018038000180780000807800008070000080F0000000F0000000F0000000
F0000000F0000000F0000000F000FFF0F0000F80700007807800078078000780380007801C0007
801C0007800E00078007000B800180118000E06080001F80001C1E7E9C21>I<FFF3FFC00F003C
000F003C000F003C000F003C000F003C000F003C000F003C000F003C000F003C000F003C000F00
3C000F003C000FFFFC000F003C000F003C000F003C000F003C000F003C000F003C000F003C000F
003C000F003C000F003C000F003C000F003C000F003C00FFF3FFC01A1C7E9B1F>I<FFF00F000F
000F000F000F000F000F000F000F000F000F000F000F000F000F000F000F000F000F000F000F00
0F000F000F000F000F00FFF00C1C7F9B0F>I<1FFF00F800780078007800780078007800780078
007800780078007800780078007800780078007800787078F878F878F878F0F040E021C01F0010
1D7F9B15>I<FFF03FE00F000F000F000C000F0008000F0010000F0020000F0040000F0080000F
0100000F0200000F0400000F0E00000F1F00000F2F00000F2780000F4780000F83C0000F01E000
0F01E0000F00F0000F00F8000F0078000F003C000F003C000F001E000F001F000F001F80FFF07F
F01C1C7E9B20>I<FFF8000F80000F00000F00000F00000F00000F00000F00000F00000F00000F
00000F00000F00000F00000F00000F00000F00000F00000F00080F00080F00080F00180F00180F
00100F00300F00700F01F0FFFFF0151C7E9B1A>I<FF8000FF800F8000F8000F8000F8000BC001
78000BC00178000BC001780009E002780009E002780008F004780008F004780008F00478000878
08780008780878000878087800083C107800083C107800083C107800081E207800081E20780008
1E207800080F407800080F40780008078078000807807800080780780008030078001C03007800
FF8307FF80211C7E9B26>I<FF007FC00F800E000F8004000BC0040009E0040009E0040008F004
0008F8040008780400083C0400083C0400081E0400080F0400080F0400080784000807C4000803
C4000801E4000801E4000800F40008007C0008007C0008003C0008003C0008001C0008000C001C
000C00FF8004001A1C7E9B1F>I<003F800000E0E0000380380007001C000E000E001C0007003C
00078038000380780003C0780003C0700001C0F00001E0F00001E0F00001E0F00001E0F00001E0
F00001E0F00001E0F00001E0700001C0780003C0780003C0380003803C0007801C0007000E000E
0007001C000380380000E0E000003F80001B1E7E9C20>I<FFFF800F00E00F00780F003C0F001C
0F001E0F001E0F001E0F001E0F001E0F001C0F003C0F00780F00E00FFF800F00000F00000F0000
0F00000F00000F00000F00000F00000F00000F00000F00000F0000FFF000171C7E9B1C>I<003F
800000E0E0000380380007001C000E000E001C0007003C00078038000380780003C0780003C070
0001C0F00001E0F00001E0F00001E0F00001E0F00001E0F00001E0F00001E0F00001E0700001C0
780003C0780003C0380003803C0E07801C1107000E208E0007205C0003A0780000F0E020003FE0
200000602000003060000038E000003FC000003FC000001F8000000F001B257E9C20>I<FFFF00
000F01E0000F0078000F003C000F001C000F001E000F001E000F001E000F001E000F001C000F00
3C000F0078000F01E0000FFF00000F03C0000F00E0000F00F0000F0078000F0078000F0078000F
0078000F0078000F0078000F0078100F0078100F0038100F003C20FFF01C20000007C01C1D7E9B
1F>I<07E0801C1980300580700380600180E00180E00080E00080E00080F00000F800007C0000
7FC0003FF8001FFE0007FF0000FF80000F800007C00003C00001C08001C08001C08001C0C00180
C00180E00300D00200CC0C0083F800121E7E9C17>I<7FFFFFC0700F01C0600F00C0400F004040
0F0040C00F0020800F0020800F0020800F0020000F0000000F0000000F0000000F0000000F0000
000F0000000F0000000F0000000F0000000F0000000F0000000F0000000F0000000F0000000F00
00000F0000000F0000001F800003FFFC001B1C7F9B1E>I<FFF07FC00F000E000F0004000F0004
000F0004000F0004000F0004000F0004000F0004000F0004000F0004000F0004000F0004000F00
04000F0004000F0004000F0004000F0004000F0004000F0004000F0004000F0004000700080007
800800038010000180100000C020000070C000001F00001A1D7E9B1F>I<FFE00FF01F0003C00F
0001800F0001000F800300078002000780020003C0040003C0040003C0040001E0080001E00800
01F0080000F0100000F0100000F830000078200000782000003C4000003C4000003C4000001E80
00001E8000001F8000000F0000000F00000006000000060000000600001C1D7F9B1F>I<FFE0FF
E0FF1F001F003C1E001E00180F001F00100F001F00100F001F001007801F002007802780200780
27802003C027804003C043C04003C043C04003E043C04001E081E08001E081E08001E081E08000
F100F10000F100F10000F100F100007900FA00007A007A00007A007A00003E007C00003C003C00
003C003C00003C003C00001800180000180018000018001800281D7F9B2B>I<7FF0FFC00FC03E
000780180003C0180003E0100001E0200001F0600000F0400000788000007D8000003D0000001E
0000001F0000000F0000000F8000000F80000013C0000023E0000021E0000041F00000C0F80000
80780001007C0003003C0002001E0006001F001F003F80FFC0FFF01C1C7F9B1F>I<FFF007FC0F
8001E00780008007C0018003C0010003E0020001F0020000F0040000F8040000780800007C1800
003C1000001E2000001F2000000F4000000FC00000078000000780000007800000078000000780
00000780000007800000078000000780000007800000078000007FF8001E1C809B1F>I<7FFFF0
7C01F07001E06003C06003C0400780400F80400F00401E00001E00003C00007C0000780000F000
00F00001E00003E00003C0100780100780100F00101F00301E00203C00203C00607800E0F803E0
FFFFE0141C7E9B19>I<FEFEC0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0
C0C0C0C0C0C0C0C0C0C0FEFE07297C9E0C>I<FEFE060606060606060606060606060606060606
06060606060606060606060606060606060606FEFE0729809E0C>93 D<0C001200210040808040
0A057B9B15>I<1FC000307000783800781C00301C00001C00001C0001FC000F1C00381C00701C
00601C00E01C40E01C40E01C40603C40304E801F870012127E9115>97 D<FC00001C00001C0000
1C00001C00001C00001C00001C00001C00001C00001C00001C7C001D86001E03001C01801C01C0
1C00C01C00E01C00E01C00E01C00E01C00E01C00E01C00C01C01C01C01801E030019060010F800
131D7F9C17>I<07E00C301878307870306000E000E000E000E000E000E0006000700430041808
0C3007C00E127E9112>I<003F0000070000070000070000070000070000070000070000070000
070000070003E7000C1700180F00300700700700600700E00700E00700E00700E00700E00700E0
0700600700700700300700180F000C370007C7E0131D7E9C17>I<03E00C301818300C700E6006
E006FFFEE000E000E000E00060007002300218040C1803E00F127F9112>I<00F8018C071E061E
0E0C0E000E000E000E000E000E00FFE00E000E000E000E000E000E000E000E000E000E000E000E
000E000E000E000E007FE00F1D809C0D>I<00038003C4C00C38C01C3880181800381C00381C00
381C00381C001818001C38000C300013C0001000003000001800001FF8001FFF001FFF80300380
6001C0C000C0C000C0C000C06001803003001C0E0007F800121C7F9215>I<FC00001C00001C00
001C00001C00001C00001C00001C00001C00001C00001C00001C7C001C87001D03001E03801C03
801C03801C03801C03801C03801C03801C03801C03801C03801C03801C03801C03801C0380FF9F
F0141D7F9C17>I<18003C003C0018000000000000000000000000000000FC001C001C001C001C
001C001C001C001C001C001C001C001C001C001C001C001C00FF80091D7F9C0C>I<00C001E001
E000C000000000000000000000000000000FE000E000E000E000E000E000E000E000E000E000E0
00E000E000E000E000E000E000E000E000E000E060E0F0C0F1C061803E000B25839C0D>I<FC00
001C00001C00001C00001C00001C00001C00001C00001C00001C00001C00001C3FC01C0F001C0C
001C08001C10001C20001C40001CE0001DE0001E70001C78001C38001C3C001C1C001C0E001C0F
001C0F80FF9FE0131D7F9C16>I<FC001C001C001C001C001C001C001C001C001C001C001C001C
001C001C001C001C001C001C001C001C001C001C001C001C001C001C001C00FF80091D7F9C0C>
I<FC7E07E0001C838838001D019018001E01E01C001C01C01C001C01C01C001C01C01C001C01C0
1C001C01C01C001C01C01C001C01C01C001C01C01C001C01C01C001C01C01C001C01C01C001C01
C01C001C01C01C00FF8FF8FF8021127F9124>I<FC7C001C87001D03001E03801C03801C03801C
03801C03801C03801C03801C03801C03801C03801C03801C03801C03801C0380FF9FF014127F91
17>I<03F0000E1C00180600300300700380600180E001C0E001C0E001C0E001C0E001C0E001C0
6001807003803003001806000E1C0003F00012127F9115>I<FC7C001D86001E03001C01801C01
C01C00C01C00E01C00E01C00E01C00E01C00E01C00E01C01C01C01C01C01801E03001D06001CF8
001C00001C00001C00001C00001C00001C00001C0000FF8000131A7F9117>I<03C1000C330018
0B00300F00700700700700E00700E00700E00700E00700E00700E00700600700700700300F0018
0F000C370007C700000700000700000700000700000700000700000700003FE0131A7E9116>I<
FCE01D301E781E781C301C001C001C001C001C001C001C001C001C001C001C001C00FFC00D127F
9110>I<1F9030704030C010C010E010F8007F803FE00FF000F880388018C018C018E010D0608F
C00D127F9110>I<04000400040004000C000C001C003C00FFE01C001C001C001C001C001C001C
001C001C001C101C101C101C101C100C100E2003C00C1A7F9910>I<FC1F801C03801C03801C03
801C03801C03801C03801C03801C03801C03801C03801C03801C03801C03801C07800C07800E1B
8003E3F014127F9117>I<FF07E03C03801C01001C01000E02000E020007040007040007040003
880003880003D80001D00001D00000E00000E00000E00000400013127F9116>I<FF3FCFE03C0F
03801C0701801C0701001C0B01000E0B82000E0B82000E1182000711C4000711C4000720C40003
A0E80003A0E80003C0680001C0700001C0700001803000008020001B127F911E>I<7F8FF00F03
800F030007020003840001C80001D80000F00000700000780000F800009C00010E00020E000607
000403801E07C0FF0FF81512809116>I<FF07E03C03801C01001C01000E02000E020007040007
040007040003880003880003D80001D00001D00000E00000E00000E00000400000400000800000
8000F08000F10000F300006600003C0000131A7F9116>I<7FFC70386038407040F040E041C003
C0038007000F040E041C043C0C380870087038FFF80E127F9112>I<FFFFF01401808B15>I
E end
%%EndProlog
%%BeginSetup
%%Feature: *Resolution 300
TeXDict begin @letter /letter where {pop letter} if
%%EndSetup
%%Page: 61 1
bop 240 -150 a
 21313290 26049576 0 0 40258437 52099153 startTexFig
240 -150 a
%%BeginDocument: usc.ps
/FMversion (2.0) def 
/FrameDict 170 dict def 
systemdict /errordict known not { /errordict 10 dict def
		errordict /rangecheck { stop } put } if
FrameDict /tmprangecheck errordict /rangecheck get put 
errordict /rangecheck {FrameDict /bug true put} put 
FrameDict /bug false put 
mark 
currentfile 5 string readline
00
0000000000
cleartomark 
errordict /rangecheck FrameDict /tmprangecheck get put 
FrameDict /bug get { 
	/readline {
		/gstring exch def
		/gfile exch def
		/gindex 0 def
		{
			gfile read pop 
			dup 10 eq {exit} if 
			dup 13 eq {exit} if 
			gstring exch gindex exch put 
			/gindex gindex 1 add def 
		} loop
		pop 
		gstring 0 gindex getinterval true 
		} def
	} if
/FMVERSION {
	FMversion ne {
		/Times-Roman findfont 18 scalefont setfont
		100 100 moveto
		(FrameMaker version does not match postscript_prolog!)
		dup =
		show showpage
		} if
	} def 
/FMLOCAL {
	FrameDict begin
	0 def 
	end 
	} def 
	/gstring FMLOCAL
	/gfile FMLOCAL
	/gindex FMLOCAL
	/orgxfer FMLOCAL
	/orgproc FMLOCAL
	/organgle FMLOCAL
	/orgfreq FMLOCAL
	FrameDict /graymode true put
	/yscale FMLOCAL
	/xscale FMLOCAL
	/PrintInColor systemdict /colorimage known def
PrintInColor 
	
	{
	/HUE 0 def
	/SAT 0 def
	/BRIGHT 0 def
	% array of arrays Hue and Sat values for the separations [HUE BRIGHT]
	/Colors   
	[[0    0  ]    % black
	 [0    0  ]    % white
	 [0.00 1.0]    % red
	 [0.37 1.0]    % green
	 [0.60 1.0]    % blue
	 [0.50 1.0]    % cyan
	 [0.83 1.0]    % magenta
	 [0.16 1.0]    % comment
	 ] def
      
	/BEGINBITMAPCOLOR { 
		BITMAPCOLOR } def
	/BEGINBITMAPCOLORc { 
		BITMAPCOLORc } def
	/K { 
		Colors exch get dup
		0 get /HUE exch store 
		1 get /BRIGHT exch store
		  HUE 0 eq BRIGHT 0 eq and
			{1.0 SAT sub setgray }
			{HUE SAT BRIGHT sethsbcolor } 
		  ifelse
		} def
	/mysetgray { 
		/SAT exch 1.0 exch sub store 
		  HUE 0 eq BRIGHT 0 eq and
			{1.0 SAT sub setgray }
			{HUE SAT BRIGHT sethsbcolor } 
		  ifelse
		} bind def
	}
	
	{
	/BEGINBITMAPCOLOR { 
		BITMAPGRAY } def
	/BEGINBITMAPCOLORc { 
		BITMAPGRAYc } def
	/mysetgray { setgray } bind def
	/K { 
		pop
		} def
	}
ifelse
/max	{2 copy lt {exch} if pop} bind def
/min	{2 copy gt {exch} if pop} bind def
/mtx matrix defaultmatrix def
/setmanualfeed {
	 statusdict /manualfeed true put
	} def
/FMDOCUMENT { 
	array /FMfonts exch def
	/#copies exch def
	0 ne dup {setmanualfeed} if
	FrameDict begin
	/manualfeed exch def
	/paperheight exch def
	/paperwidth exch def
	setpapername
	manualfeed {true} {papersize} ifelse 
	{manualpapersize} {false} ifelse 
	{desperatepapersize} if
	/yscale exch def
	/xscale exch def
	currenttransfer cvlit /orgxfer exch def
	currentscreen cvlit /orgproc exch def
	/organgle exch def /orgfreq exch def
	end 
	} def 
	/pagesave FMLOCAL
	/orgmatrix FMLOCAL
	/landscape FMLOCAL
/FMBEGINPAGE {  
	FrameDict begin 
	/pagesave save def
	3.86 setmiterlimit
	/landscape exch 0 ne store
	landscape { 
		90 rotate 0 exch neg translate pop 
		}
		{ pop pop }
		ifelse
	xscale yscale scale
	/orgmatrix matrix def
	gsave 
	} def 
/FMENDPAGE {
	grestore 
	pagesave restore
	end 
	showpage
	} def 
	/fontname FMLOCAL
	/fontscale FMLOCAL
	/fontnum FMLOCAL
	/fontdict FMLOCAL
/FMDEFINEFONT {
	FrameDict begin
	/fontname exch def
	/fontscale exch def
	/fontnum exch def
	/fontdict fontname findfont fontscale scalefont def
	fontdict /Encoding get StandardEncoding eq
	{
		fontdict DiacriticEncode 
		/fontdict exch def
	} {
		fontdict NonDiacriticEncode
		/fontdict exch def
	} ifelse
	FMfonts fontnum
		fontnum fontdict definefont
	put
	end 
	} def 
/FMNORMALIZEGRAPHICS { 
	newpath
	0.0 0.0 moveto
	1 setlinewidth
	0 setlinecap
	0 mysetgray
	} bind def
/FMBEGINEPSF { 
	end 
	/FMEPSF save def
	/showpage {} def 
	FMNORMALIZEGRAPHICS 
	[/fy /fx /fh /fw /ury /urx /lly /llx] {exch def} forall 
	fx fy translate 
	rotate
	fw urx llx sub div fh ury lly sub div scale 
	llx neg lly neg translate 
	} bind def
/FMENDEPSF {
	FMEPSF restore
	FrameDict begin 
	} bind def
FrameDict begin 
/pagedimen { 
	paperheight sub abs 16 lt exch 
	paperwidth sub abs 16 lt and
	{/papername exch def} {pop} ifelse
	} def
/inch {72 mul} def
/setpapername { 
	/papersizedict 14 dict def 
	papersizedict begin
	/papername /unknown def 
		/Letter 8.5 inch 11.0 inch pagedimen
		/LetterSmall 7.68 inch 10.16 inch pagedimen
		/Tabloid 11.0 inch 17.0 inch pagedimen
		/Ledger 17.0 inch 11.0 inch pagedimen
		/Legal 8.5 inch 14.0 inch pagedimen
		/Statement 5.5 inch 8.5 inch pagedimen
		/Executive 7.5 inch 10.0 inch pagedimen
		/A3 11.69 inch 16.5 inch pagedimen
		/A4 8.26 inch 11.69 inch pagedimen
		/A4Small 7.47 inch 10.85 inch pagedimen
		/B4 10.125 inch 14.33 inch pagedimen
		/B5 7.16 inch 10.125 inch pagedimen
	end
	} def
/papersize {
	papersizedict begin
		/Letter {lettertray} def
		/LetterSmall {lettertray lettersmall} def
		/Tabloid {11x17tray} def
		/Ledger {ledgertray} def
		/Legal {legaltray} def
		/Statement {statementtray} def
		/Executive {executivetray} def
		/A3 {a3tray} def
		/A4 {a4tray} def
		/A4Small {a4tray a4small} def
		/B4 {b4tray} def
		/B5 {b5tray} def
		/unknown {unknown} def
	papersizedict dup papername known {papername} {/unknown} ifelse get
	end
	statusdict begin stopped end 
	} def
/manualpapersize {
	papersizedict begin
		/Letter {letter} def
		/LetterSmall {lettersmall} def
		/Tabloid {11x17} def
		/Ledger {ledger} def
		/Legal {legal} def
		/Statement {statement} def
		/Executive {executive} def
		/A3 {a3} def
		/A4 {a4} def
		/A4Small {a4small} def
		/B4 {b4} def
		/B5 {b5} def
		/unknown {unknown} def
	papersizedict dup papername known {papername} {/unknown} ifelse get
	end
	stopped 
	} def
/desperatepapersize {
	statusdict /setpageparams known
		{
		paperwidth paperheight 0 1 
		statusdict begin
		{setpageparams} stopped pop 
		end
		} if
	} def
/savematrix {
	orgmatrix currentmatrix pop
	} bind def
/restorematrix {
	orgmatrix setmatrix
	} bind def
/dmatrix matrix def
/dpi    72 0 dmatrix defaultmatrix dtransform
    dup mul exch   dup mul add   sqrt def
/freq dpi 18.75 div 8 div round dup 0 eq { pop 1 } if 8 mul dpi exch div def
/sangle 1 0 dmatrix defaultmatrix dtransform exch atan def
/DiacriticEncoding [
/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
/.notdef /.notdef /.notdef /.notdef /space /exclam /quotedbl
/numbersign /dollar /percent /ampersand /quotesingle /parenleft
/parenright /asterisk /plus /comma /hyphen /period /slash /zero /one
/two /three /four /five /six /seven /eight /nine /colon /semicolon
/less /equal /greater /question /at /A /B /C /D /E /F /G /H /I /J /K
/L /M /N /O /P /Q /R /S /T /U /V /W /X /Y /Z /bracketleft /backslash
/bracketright /asciicircum /underscore /grave /a /b /c /d /e /f /g /h
/i /j /k /l /m /n /o /p /q /r /s /t /u /v /w /x /y /z /braceleft /bar
/braceright /asciitilde /.notdef /Adieresis /Aring /Ccedilla /Eacute
/Ntilde /Odieresis /Udieresis /aacute /agrave /acircumflex /adieresis
/atilde /aring /ccedilla /eacute /egrave /ecircumflex /edieresis
/iacute /igrave /icircumflex /idieresis /ntilde /oacute /ograve
/ocircumflex /odieresis /otilde /uacute /ugrave /ucircumflex
/udieresis /dagger /.notdef /cent /sterling /section /bullet
/paragraph /germandbls /registered /copyright /trademark /acute
/dieresis /.notdef /AE /Oslash /.notdef /.notdef /.notdef /.notdef
/yen /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
/ordfeminine /ordmasculine /.notdef /ae /oslash /questiondown
/exclamdown /logicalnot /.notdef /florin /.notdef /.notdef
/guillemotleft /guillemotright /ellipsis /.notdef /Agrave /Atilde
/Otilde /OE /oe /endash /emdash /quotedblleft /quotedblright
/quoteleft /quoteright /.notdef /.notdef /ydieresis /Ydieresis
/fraction /currency /guilsinglleft /guilsinglright /fi /fl /daggerdbl
/periodcentered /quotesinglbase /quotedblbase /perthousand
/Acircumflex /Ecircumflex /Aacute /Edieresis /Egrave /Iacute
/Icircumflex /Idieresis /Igrave /Oacute /Ocircumflex /.notdef /Ograve
/Uacute /Ucircumflex /Ugrave /dotlessi /circumflex /tilde /macron
/breve /dotaccent /ring /cedilla /hungarumlaut /ogonek /caron
] def
	/basefontdict FMLOCAL
	/newfontdict FMLOCAL
/DiacriticEncode {
	/basefontdict exch def
	/newfontdict basefontdict maxlength dict def
	basefontdict
	{exch dup /FID ne
		{dup /Encoding eq
			{exch pop DiacriticEncoding}
			{exch}
			ifelse
			newfontdict 3 1 roll put
			}
		{pop pop}
		ifelse
		} forall
	newfontdict
	} bind def
/NonDiacriticEncode {
	/basefontdict exch def
	/newfontdict basefontdict maxlength dict def
	basefontdict
	{exch dup /FID ne
		{exch newfontdict 3 1 roll put}
		{pop pop}
		ifelse
		} forall
	newfontdict
	} bind def
	/bwidth FMLOCAL
	/bpside FMLOCAL
	/bstring FMLOCAL
	/onbits FMLOCAL
	/offbits FMLOCAL
	/xindex FMLOCAL
	/yindex FMLOCAL
	/x FMLOCAL
	/y FMLOCAL
/setpattern {
	 /bwidth  exch def
	 /bpside  exch def
	 /bstring exch def
	 /onbits 0 def  /offbits 0 def
	 freq sangle landscape {90 add} if 
		{/y exch def
		 /x exch def
		 /xindex x 1 add 2 div bpside mul cvi def
		 /yindex y 1 add 2 div bpside mul cvi def
		 bstring yindex bwidth mul xindex 8 idiv add get
		 1 7 xindex 8 mod sub bitshift and 0 ne
		 {/onbits  onbits  1 add def 1}
		 {/offbits offbits 1 add def 0}
		 ifelse
		}
		setscreen
	 {} settransfer
	 offbits offbits onbits add div mysetgray
	/graymode false store
	} bind def
/grayness {
	mysetgray
	graymode not {
		/graymode true store
		orgxfer cvx settransfer
		orgfreq organgle orgproc cvx setscreen
		} if
	} bind def
/normalize {
	transform round exch round exch itransform
	} bind def
/dnormalize {
	dtransform round exch round exch idtransform
	} bind def
/lnormalize { 
	0 dtransform exch cvi 2 idiv 2 mul 1 add exch idtransform pop
	} bind def
/H { 
	lnormalize setlinewidth
	} bind def
/Z { 
	setlinecap
	} bind def
/X { 
	fillprocs exch get exec
	} bind def
/V { 
	gsave eofill grestore
	} bind def
/N { 
	stroke
	} bind def
/M {newpath moveto} bind def
/E {lineto} bind def
/D {curveto} bind def
/O {closepath} bind def
	/n FMLOCAL
/L { 
 	/n exch def
	newpath
	normalize
	moveto 
	2 1 n {pop normalize lineto} for
	} bind def
/Y { 
	L 
	closepath
	} bind def
	/x1 FMLOCAL
	/x2 FMLOCAL
	/y1 FMLOCAL
	/y2 FMLOCAL
	/rad FMLOCAL
/R { 
	/y2 exch def
	/x2 exch def
	/y1 exch def
	/x1 exch def
	x1 y1
	x2 y1
	x2 y2
	x1 y2
	4 Y 
	} bind def
/RR { 
	/rad exch def
	normalize
	/y2 exch def
	/x2 exch def
	normalize
	/y1 exch def
	/x1 exch def
	newpath
	x1 y1 rad add moveto
	x1 y2 x2 y2 rad arcto
	x2 y2 x2 y1 rad arcto
	x2 y1 x1 y1 rad arcto
	x1 y1 x1 y2 rad arcto
	closepath
	16 {pop} repeat
	} bind def
/C { 
	grestore
	gsave
	R 
	clip
	} bind def
/U { 
	grestore
	gsave
	} bind def
/F { 
	FMfonts exch get
	setfont
	} bind def
/T { 
	moveto show
	} bind def
/RF { 
	rotate
	0 ne { -1 1 scale } if
	} bind def
/TF { 
	gsave
	moveto 
	RF
	show
	grestore
	} bind def
/P { 
	moveto
	0 32 3 2 roll widthshow
	} bind def
/PF { 
	gsave
	moveto 
	RF
	0 32 3 2 roll widthshow
	grestore
	} bind def
/S { 
	moveto
	0 exch ashow
	} bind def
/SF { 
	gsave
	moveto
	RF
	0 exch ashow
	grestore
	} bind def
/B { 
	moveto
	0 32 4 2 roll 0 exch awidthshow
	} bind def
/BF { 
	gsave
	moveto
	RF
	0 32 4 2 roll 0 exch awidthshow
	grestore
	} bind def
	/x FMLOCAL
	/y FMLOCAL
	/dx FMLOCAL
	/dy FMLOCAL
	/dl FMLOCAL
	/t FMLOCAL
	/t2 FMLOCAL
	/Cos FMLOCAL
	/Sin FMLOCAL
	/r FMLOCAL
/W { 
	dnormalize
	/dy exch def
	/dx exch def
	normalize
	/y  exch def
	/x  exch def
	/dl dx dx mul dy dy mul add sqrt def
	dl 0.0 gt {
		/t currentlinewidth def
		savematrix
		/Cos dx dl div def
		/Sin dy dl div def
		/r [Cos Sin Sin neg Cos 0.0 0.0] def
		/t2 t 2.5 mul 3.5 max def
		newpath
		x y translate
		r concat
		0.0 0.0 moveto
		dl t 2.7 mul sub 0.0 rlineto
		stroke
		restorematrix
		x dx add y dy add translate
		r concat
		t 0.67 mul setlinewidth
		t 1.61 mul neg  0.0 translate
		0.0 0.0 moveto
		t2 1.7 mul neg  t2 2.0 div     moveto
		0.0 0.0 lineto
		t2 1.7 mul neg  t2 2.0 div neg lineto
		stroke
		t setlinewidth
		restorematrix
		} if
	} bind def
/G { 
	gsave
	newpath
	normalize translate 0.0 0.0 moveto 
	dnormalize scale 
	0.0 0.0 1.0 5 3 roll arc 
	closepath fill
	grestore
	} bind def
/A { 
	gsave
	savematrix
	newpath
	2 index 2 div add exch 3 index 2 div sub exch 
	normalize 2 index 2 div sub exch 3 index 2 div add exch 
	translate 
	scale 
	0.0 0.0 1.0 5 3 roll arc 
	restorematrix
	stroke
	grestore
	} bind def
	/x FMLOCAL
	/y FMLOCAL
	/w FMLOCAL
	/h FMLOCAL
	/xx FMLOCAL
	/yy FMLOCAL
	/ww FMLOCAL
	/hh FMLOCAL
	/FMsaveobject FMLOCAL
	/FMoptop FMLOCAL
	/FMdicttop FMLOCAL
/BEGINPRINTCODE { 
	/FMdicttop countdictstack 1 add def 
	/FMoptop count 4 sub def 
	/FMsaveobject save def
	userdict begin 
	/showpage {} def 
	FMNORMALIZEGRAPHICS 
	3 index neg 3 index neg translate
	} bind def
/ENDPRINTCODE {
	count -1 FMoptop {pop pop} for 
	countdictstack -1 FMdicttop {pop end} for 
	FMsaveobject restore 
	} bind def
/gn { 
	0 
	{	46 mul 
		cf read pop 
		32 sub 
		dup 46 lt {exit} if 
		46 sub add 
		} loop
	add 
	} bind def
	/str FMLOCAL
/cfs { 
	/str sl string def 
	0 1 sl 1 sub {str exch val put} for 
	str def 
	} bind def
/ic [ 
	0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0223
	0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0223
	0
	{0 hx} {1 hx} {2 hx} {3 hx} {4 hx} {5 hx} {6 hx} {7 hx} {8 hx} {9 hx}
	{10 hx} {11 hx} {12 hx} {13 hx} {14 hx} {15 hx} {16 hx} {17 hx} {18 hx}
	{19 hx} {gn hx} {0} {1} {2} {3} {4} {5} {6} {7} {8} {9} {10} {11} {12}
	{13} {14} {15} {16} {17} {18} {19} {gn} {0 wh} {1 wh} {2 wh} {3 wh}
	{4 wh} {5 wh} {6 wh} {7 wh} {8 wh} {9 wh} {10 wh} {11 wh} {12 wh}
	{13 wh} {14 wh} {gn wh} {0 bl} {1 bl} {2 bl} {3 bl} {4 bl} {5 bl} {6 bl}
	{7 bl} {8 bl} {9 bl} {10 bl} {11 bl} {12 bl} {13 bl} {14 bl} {gn bl}
	{0 fl} {1 fl} {2 fl} {3 fl} {4 fl} {5 fl} {6 fl} {7 fl} {8 fl} {9 fl}
	{10 fl} {11 fl} {12 fl} {13 fl} {14 fl} {gn fl}
	] def
	/sl FMLOCAL
	/val FMLOCAL
	/ws FMLOCAL
	/im FMLOCAL
	/bs FMLOCAL
	/cs FMLOCAL
	/len FMLOCAL
	/pos FMLOCAL
/ms { 
	/sl exch def 
	/val 255 def 
	/ws cfs 
	/im cfs 
	/val 0 def 
	/bs cfs 
	/cs cfs 
	} bind def
400 ms 
/ip { 
	is 
	0 
	cf cs readline pop 
	{	ic exch get exec 
		add 
		} forall 
	pop 
	
	} bind def
/wh { 
	/len exch def 
	/pos exch def 
	ws 0 len getinterval im pos len getinterval copy pop
	pos len 
	} bind def
/bl { 
	/len exch def 
	/pos exch def 
	bs 0 len getinterval im pos len getinterval copy pop
	pos len 
	} bind def
/s1 1 string def
/fl { 
	/len exch def 
	/pos exch def 
	/val cf s1 readhexstring pop 0 get def
	pos 1 pos len add 1 sub {im exch val put} for
	pos len 
	} bind def
/hx { 
	3 copy getinterval 
	cf exch readhexstring pop pop 
	} bind def
	/h FMLOCAL
	/w FMLOCAL
	/d FMLOCAL
	/lb FMLOCAL
	/bitmapsave FMLOCAL
	/is FMLOCAL
	/cf FMLOCAL
/wbytes {  
	dup 
	8 eq { pop } { 1 eq { 7 add 8 idiv } { 3 add 4 idiv } ifelse } ifelse
	} bind def
/BEGINBITMAPBWc { 
	1 {} COMMONBITMAPc
	} bind def
/BEGINBITMAPGRAYc { 
	8 {} COMMONBITMAPc
	} bind def
/BEGINBITMAP2BITc { 
	2 {} COMMONBITMAPc
	} bind def
/COMMONBITMAPc { 
	/r exch def
	/d exch def
	gsave
	translate rotate scale /h exch def /w exch def
	/lb w d wbytes def 
	sl lb lt {lb ms} if 
	/bitmapsave save def 
	r                    
	/is im 0 lb getinterval def 
	ws 0 lb getinterval is copy pop 
	/cf currentfile def 
	w h d [w 0 0 h neg 0 h] 
	{ip} image 
	bitmapsave restore 
	grestore
	} bind def
/BEGINBITMAPBW { 
	1 {} COMMONBITMAP
	} bind def
/BEGINBITMAPGRAY { 
	8 {} COMMONBITMAP
	} bind def
/BEGINBITMAP2BIT { 
	2 {} COMMONBITMAP
	} bind def
/COMMONBITMAP { 
	/r exch def
	/d exch def
	gsave
	translate rotate scale /h exch def /w exch def
	/bitmapsave save def 
	r                    
	/is w d wbytes string def
	/cf currentfile def 
	w h d [w 0 0 h neg 0 h] 
	{ cf is readhexstring pop } image
	bitmapsave restore 
	grestore
	} bind def
/Fmcc {
    /proc2 exch cvlit def
    /proc1 exch cvlit def
    /newproc proc1 length proc2 length add array def
    newproc 0 proc1 putinterval
    newproc proc1 length proc2 putinterval
    newproc cvx
} bind def
/colorsetup {
	currentcolortransfer
	/gryt exch def
	/blut exch def
	/grnt exch def
	/redt exch def
	/ngrayt 256 array def
	/nredt 256 array def
	/nbluet 256 array def
	/ngreent 256 array def
	0 1 255 {
		/indx exch def
		/cynu 1 red indx get 255 div sub def
		/magu 1 green indx get 255 div sub def
		/yelu 1 blue indx get 255 div sub def
		/k cynu magu min yelu min def
		/u k currentundercolorremoval exec def
		nredt indx 1 0 cynu u sub max sub redt exec put
		ngreent indx 1 0 magu u sub max sub grnt exec put
		nbluet indx 1 0 yelu u sub max sub blut exec put
		ngrayt indx 1 k currentblackgeneration exec sub gryt exec put
	} for
	{255 mul cvi nredt exch get}
	{255 mul cvi ngreent exch get}
	{255 mul cvi nbluet exch get}
	{255 mul cvi ngrayt exch get}
	setcolortransfer
	{pop 0} setundercolorremoval
	{} setblackgeneration
	} bind def
/fakecolorsetup {
	/tran 256 string def
	0 1 255 { /ind exch def 
		tran ind
		red ind get 77 mul
		green ind get 151 mul
		blue ind get 28 mul
		add add 256 idiv put } for
	currenttransfer
	{ 255 mul cvi tran exch get 255.0 div }
	exch Fmcc settransfer
} bind def
/BITMAPCOLOR { 
	/d 8 def
	gsave
	translate rotate scale /h exch def /w exch def
	/bitmapsave save def 
	colorsetup
	/is w d wbytes string def
	/cf currentfile def 
	w h d [w 0 0 h neg 0 h] 
	{ cf is readhexstring pop } {is} {is} true 3 colorimage 
	bitmapsave restore 
	grestore
	} bind def
/BITMAPCOLORc { 
	/d 8 def
	gsave
	translate rotate scale /h exch def /w exch def
	/lb w d wbytes def 
	sl lb lt {lb ms} if 
	/bitmapsave save def 
	colorsetup
	/is im 0 lb getinterval def 
	ws 0 lb getinterval is copy pop 
	/cf currentfile def 
	w h d [w 0 0 h neg 0 h] 
	{ip} {is} {is} true 3 colorimage
	bitmapsave restore 
	grestore
	} bind def
/BITMAPGRAY { 
	8 {fakecolorsetup} COMMONBITMAP
	} bind def
/BITMAPGRAYc { 
	8 {fakecolorsetup} COMMONBITMAPc
	} bind def
/ENDBITMAP {
	} bind def
end 
(2.0) FMVERSION
1 1  2 2  0 1 2 FMDOCUMENT
/fillprocs 32 array def
fillprocs 0 { 0.000000 grayness } put
fillprocs 1 { 0.100000 grayness } put
fillprocs 2 { 0.300000 grayness } put
fillprocs 3 { 0.500000 grayness } put
fillprocs 4 { 0.700000 grayness } put
fillprocs 5 { 0.900000 grayness } put
fillprocs 6 { 0.970000 grayness } put
fillprocs 7 { 1.000000 grayness } put
fillprocs 8 {<0f1e3c78f0e1c387> 8 1 setpattern } put
fillprocs 9 {<0f87c3e1f0783c1e> 8 1 setpattern } put
fillprocs 10 {<cccccccccccccccc> 8 1 setpattern } put
fillprocs 11 {<ffff0000ffff0000> 8 1 setpattern } put
fillprocs 12 {<8142241818244281> 8 1 setpattern } put
fillprocs 13 {<03060c183060c081> 8 1 setpattern } put
fillprocs 14 {<8040201008040201> 8 1 setpattern } put
fillprocs 15 {} put
fillprocs 16 { 1.000000 grayness } put
fillprocs 17 { 0.900000 grayness } put
fillprocs 18 { 0.700000 grayness } put
fillprocs 19 { 0.500000 grayness } put
fillprocs 20 { 0.300000 grayness } put
fillprocs 21 { 0.100000 grayness } put
fillprocs 22 { 0.030000 grayness } put
fillprocs 23 { 0.000000 grayness } put
fillprocs 24 {<f0e1c3870f1e3c78> 8 1 setpattern } put
fillprocs 25 {<f0783c1e0f87c3e1> 8 1 setpattern } put
fillprocs 26 {<3333333333333333> 8 1 setpattern } put
fillprocs 27 {<0000ffff0000ffff> 8 1 setpattern } put
fillprocs 28 {<7ebddbe7e7dbbd7e> 8 1 setpattern } put
fillprocs 29 {<fcf9f3e7cf9f3f7e> 8 1 setpattern } put
fillprocs 30 {<7fbfdfeff7fbfdfe> 8 1 setpattern } put
fillprocs 31 {} put
0 18 /Helvetica-Bold FMDEFINEFONT
1 24 /Helvetica-Bold FMDEFINEFONT
612 792 0 FMBEGINPAGE
0 0 612 792 C
0 0 612 792 R
7 X
0 K
V
0 75.86 612 778.86 C
-56.75 75.86 699.25 778.86 R
7 X
0 K
V
53 95 591 762 R
V
4 H
2 Z
8 X
N
457.47 351.74 M
 457.47 210 457.47 210 339.28 210 D
0 X
N
453.57 442.56 M
 453.57 559.49 453.57 559.49 336.58 559.49 D
1 H
N
406.97 349.36 502.37 442.56 R
5 X
V
3 H
0 X
N
65.69 351.73 162.89 441.05 R
6 X
V
0 X
N
244.78 166.31 339.28 253.68 R
6 X
V
0 X
N
239.38 514.83 336.58 602.21 R
4 X
V
0 X
N
0 F
(Bigsur) 83.91 422.52 T
(AD 333) 83.71 389 T
(Entity 2) 82.51 357.39 T
(Kos) 269.45 583.89 T
(AD 1) 260.04 553.67 T
(1) 300.03 553.67 T
(1) 309.04 553.67 T
(Santorini) 416.06 421.79 T
(AD 222) 424.35 387.89 T
(Entity 1) 424 355.16 T
407.77 413.33 499.57 413.33 2 L
5 X
V
0 X
N
243.88 210 M
 112.49 210 112.49 210 112.49 349.79 D
4 H
N
113.39 442.99 M
 113.39 559.49 113.39 559.49 241.18 559.49 D
1 H
N
(Pismo) 264.7 235.28 T
(AD 333) 259.82 202.15 T
244.65 226.93 337.34 226.93 2 L
3 H
N
290.68 603.18 M
 290.68 646.75 290.68 646.75 473.86 646.75 D
N
67.5 414.3 161.99 414.3 2 L
N
240.28 575.35 335.68 575.35 2 L
N
(and off-campus nets.) 78.4 653.26 T
(T) 90.4 682.39 T
(o campus network) 100.06 682.39 T
67.39 380 163.39 380 2 L
N
407.37 375.46 499.37 375.46 2 L
5 X
V
0 X
N
243.38 190.15 336.38 190.15 2 L
N
377.09 136.06 516.07 180.2 R
1 H
N
390.58 145.69 416.89 145.69 2 L
4 H
N
(thick ether) 424.44 139.98 T
(thin ether) 424.74 158.69 T
387.71 160.97 415.31 160.97 2 L
1 H
N
238.88 540.72 333.88 540.72 2 L
3 H
N
(Entity 1) 259.89 171.94 T
(Entity 1) 256.89 522.51 T
476.22 595.37 575.6 685.53 R
4 X
V
0 X
N
(AD 1) 495.14 635.71 T
(1) 535.13 635.71 T
(1) 544.15 635.71 T
(Excalibur) 482.48 666.66 T
(Entity 2) 494.56 600.93 T
478.15 659.26 573.36 659.26 2 L
N
477.33 625.04 575.36 625.04 2 L
N
147.39 713.31 483.37 713.31 2 L
4 H
N
1 F
(IDPR /VISA T) 147.66 719.83 T
(est Setup at USC) 293.83 719.83 T
85.16 666.41 65 672.18 85.15 677.97 85.15 672.19 4 Y
V
317 643.06 M
 270.27 671.19 268.68 672.15 85.18 672.18 D
3 H
0 Z
N
0 0 612 792 C
FMENDPAGE
%%EndDocument
 240 -150 a
 endTexFig
611 1503 a Fm(Figure)14 b(5.1:)j(Lab)q(oratory)d(T)m(est)g(En)o(vironmen)o(t)
-90 1636 y(con)o(trast)g(to)f(its)g(predecessor,)i(the)f(curren)o(t)h(v)o
(ersion)e(is)g(implemen)o(ted)e(as)i(a)f(self-con)o(tained)h(proto)q(col)g
(en)o(tailing)f(no)h(mo)q(di\014cations)e(to)-90 1686 y(other)k(proto)q(col)e
(soft)o(w)o(are.)-28 1753 y(All)j(visa)f(con)o(trol)h(pac)o(k)o(ets)h(are)g
(pro)q(cessed)h(inside)e(the)h(k)o(ernel.)26 b(This)16 b(sp)q(eeds)i(up)e
(connection)h(setup)g(\(as)f(compared)g(to)g(out-of-)-90 1803
y(k)o(ernel)i(implemen)o(tatio)o(ns)d([61)o(]\).)29 b(Recall)17
b(that)h(connection)g(setup)h(is)e(the)h(most)f("o)o(v)o(erhead-in)o(tensiv)o
(e")g(phase)h(of)f Fl(Visa)h Fm(proto)q(col.)-90 1853 y(It)d(in)o(v)o(olv)o
(es)g(the)h(exc)o(hange)g(of)f(at)g(least)h(t)o(w)o(o)e(in)o(ter-AD)i(pac)o
(k)o(ets:)22 b(VISA-REQUEST)16 b(from)d Fk(AC)s(S)1509 1859
y Fj(a)1545 1853 y Fm(to)i Fk(AC)s(S)1686 1859 y Fj(b)1718
1853 y Fm(and)g(VISA-GRANT)-90 1903 y(from)e Fk(AC)s(S)98 1909
y Fj(b)129 1903 y Fm(bac)o(k)i(to)f Fk(AC)s(S)367 1909 y Fj(a)387
1903 y Fm(.)20 b(Moreo)o(v)o(er,)15 b(at)f(least)h(four)f(in)o(ter-AD)g(pac)o
(k)o(ets)i(are)e(exc)o(hanged)i(\(one)f(HOST-REQUEST,)f(and)h(three)-90
1953 y(VISA-GRANTs\).)-28 2020 y(F)m(or)h(the)h(purp)q(ose)g(of)f(measuring)f
(the)i(o)o(v)o(erhead)f(w)o(e)h(de\014ne)g(connection)g(setup)g(time)e(as)h
(the)h(in)o(terv)n(al)e(b)q(et)o(w)o(een)j(the)f(arriv)n(al)e(of)-90
2070 y(a)h(REDIRECT)f(pac)o(k)o(et)h(from)e(a)i(visa-router)g(to)g(the)g
(arriv)n(al)f(of)g(a)h(corresp)q(onding)g(VISA-GRANT)g(from)e(the)i(A)o(CS)g
(\(as)g(sho)o(wn)g(in)-90 2120 y(Figure)g(5.2\).)21 b(W)m(e)15
b(measured)h(the)g(setup)g(time)f(for)g(directly)g(connected)j(ADs)d(as)h(w)o
(ell)f(as)g(for)g(ADs)h(separated)h(b)o(y)e(one)g(transit)h(AD)-90
2170 y(hop.)25 b(F)m(or)16 b(the)h(directly)g(connected)h(case,)f(the)g
(timings)d(ranged)j(b)q(et)o(w)o(een)h(100)d(and)h(180)p Fk(ms)h
Fm(\(a)o(v)o(eraging)e(around)h(130)p Fk(ms)p Fm(\).)26 b(In)16
b(the)-90 2220 y(case)e(of)f(one)h(transit)g(AD)f(hop,)g(the)h(timings)d
(ranged)j(b)q(et)o(w)o(een)h(110)e(and)g(200)p Fk(ms)h Fm(\(a)o(v)o(eraging)e
(around)h(150)p Fk(ms)p Fm(\).)19 b(These)14 b(results)h(sho)o(w)-90
2269 y(that)i(the)g(o)o(v)o(erhead)g(is)g(still)e(quite)i(high.)26
b(Ho)o(w)o(ev)o(er,)17 b(w)o(e)g(exp)q(ect)h(that)f(p)q(erformance-tuning)f
(of)g(the)h(co)q(de)h(should)e(b)q(e)h(able)g(to)f(cut)-90
2319 y(these)f(n)o(um)o(b)q(ers)f(do)o(wn)f(b)o(y)h(ab)q(out)g(a)f(third.)-28
2387 y(Encapsulation)j(of)g(data)g(pac)o(k)o(ets)h(is)f(p)q(erformed)g(b)o(y)
g(all)f(proto)q(col)h(participan)o(ts.)26 b(Normally)m(,)13
b(all)i(outb)q(ound)h(data)g(pac)o(k)o(ets)i(are)-90 2437 y(passed)f(from)e
(the)i(transp)q(ort)g(proto)q(col)g(to)f(IP)g(where)i(eac)o(h)f(pac)o(k)o(et)
g(is)f(prep)q(ended)i(with)e(an)h(IP)f(header)i(and)e(handed)h(o)o(v)o(er)f
(to)g(the)-90 2486 y(in)o(terface)f(output)f(function.)k Fl(Visa)13
b Fm(encapsulation)h(is)g(in)o(terp)q(osed)h(b)q(et)o(w)o(een)h(IP)e(and)g
(the)g(in)o(terface)h(driv)o(er.)j(\(See)d(Figure)g(5.3\).)i(This)-90
2536 y(is)f(done)g(transparen)o(tly)g(so)g(that)f(neither)i(IP)f(nor)g(an)o
(y)f(higher-la)o(y)o(er)g(proto)q(col)h(is)f(a)o(w)o(are)h(of)f(the)h
(encapsulation.)24 b(Encapsulating)15 b(a)-90 2586 y(pac)o(k)o(et)f(requires)
h(the)g(follo)o(wing)c(steps:)2028 2770 y(61)p eop
%%Page: 62 2
bop 150 -150 a
 26049576 26049576 0 0 40258437 52099153 startTexFig
150 -150 a
%%BeginDocument: vsd.ps
/FMversion (2.0) def 
/FrameDict 170 dict def 
systemdict /errordict known not { /errordict 10 dict def
		errordict /rangecheck { stop } put } if
FrameDict /tmprangecheck errordict /rangecheck get put 
errordict /rangecheck {FrameDict /bug true put} put 
FrameDict /bug false put 
mark 
currentfile 5 string readline
00
0000000000
cleartomark 
errordict /rangecheck FrameDict /tmprangecheck get put 
FrameDict /bug get { 
	/readline {
		/gstring exch def
		/gfile exch def
		/gindex 0 def
		{
			gfile read pop 
			dup 10 eq {exit} if 
			dup 13 eq {exit} if 
			gstring exch gindex exch put 
			/gindex gindex 1 add def 
		} loop
		pop 
		gstring 0 gindex getinterval true 
		} def
	} if
/FMVERSION {
	FMversion ne {
		/Times-Roman findfont 18 scalefont setfont
		100 100 moveto
		(FrameMaker version does not match postscript_prolog!)
		dup =
		show showpage
		} if
	} def 
/FMLOCAL {
	FrameDict begin
	0 def 
	end 
	} def 
	/gstring FMLOCAL
	/gfile FMLOCAL
	/gindex FMLOCAL
	/orgxfer FMLOCAL
	/orgproc FMLOCAL
	/organgle FMLOCAL
	/orgfreq FMLOCAL
	FrameDict /graymode true put
	/yscale FMLOCAL
	/xscale FMLOCAL
	/PrintInColor systemdict /colorimage known def
PrintInColor 
	
	{
	/HUE 0 def
	/SAT 0 def
	/BRIGHT 0 def
	% array of arrays Hue and Sat values for the separations [HUE BRIGHT]
	/Colors   
	[[0    0  ]    % black
	 [0    0  ]    % white
	 [0.00 1.0]    % red
	 [0.37 1.0]    % green
	 [0.60 1.0]    % blue
	 [0.50 1.0]    % cyan
	 [0.83 1.0]    % magenta
	 [0.16 1.0]    % comment
	 ] def
      
	/BEGINBITMAPCOLOR { 
		BITMAPCOLOR } def
	/BEGINBITMAPCOLORc { 
		BITMAPCOLORc } def
	/K { 
		Colors exch get dup
		0 get /HUE exch store 
		1 get /BRIGHT exch store
		  HUE 0 eq BRIGHT 0 eq and
			{1.0 SAT sub setgray }
			{HUE SAT BRIGHT sethsbcolor } 
		  ifelse
		} def
	/mysetgray { 
		/SAT exch 1.0 exch sub store 
		  HUE 0 eq BRIGHT 0 eq and
			{1.0 SAT sub setgray }
			{HUE SAT BRIGHT sethsbcolor } 
		  ifelse
		} bind def
	}
	
	{
	/BEGINBITMAPCOLOR { 
		BITMAPGRAY } def
	/BEGINBITMAPCOLORc { 
		BITMAPGRAYc } def
	/mysetgray { setgray } bind def
	/K { 
		pop
		} def
	}
ifelse
/max	{2 copy lt {exch} if pop} bind def
/min	{2 copy gt {exch} if pop} bind def
/mtx matrix defaultmatrix def
/setmanualfeed {
	 statusdict /manualfeed true put
	} def
/FMDOCUMENT { 
	array /FMfonts exch def
	/#copies exch def
	0 ne dup {setmanualfeed} if
	FrameDict begin
	/manualfeed exch def
	/paperheight exch def
	/paperwidth exch def
	setpapername
	manualfeed {true} {papersize} ifelse 
	{manualpapersize} {false} ifelse 
	{desperatepapersize} if
	/yscale exch def
	/xscale exch def
	currenttransfer cvlit /orgxfer exch def
	currentscreen cvlit /orgproc exch def
	/organgle exch def /orgfreq exch def
	end 
	} def 
	/pagesave FMLOCAL
	/orgmatrix FMLOCAL
	/landscape FMLOCAL
/FMBEGINPAGE {  
	FrameDict begin 
	/pagesave save def
	3.86 setmiterlimit
	/landscape exch 0 ne store
	landscape { 
		90 rotate 0 exch neg translate pop 
		}
		{ pop pop }
		ifelse
	xscale yscale scale
	/orgmatrix matrix def
	gsave 
	} def 
/FMENDPAGE {
	grestore 
	pagesave restore
	end 
	showpage
	} def 
	/fontname FMLOCAL
	/fontscale FMLOCAL
	/fontnum FMLOCAL
	/fontdict FMLOCAL
/FMDEFINEFONT {
	FrameDict begin
	/fontname exch def
	/fontscale exch def
	/fontnum exch def
	/fontdict fontname findfont fontscale scalefont def
	fontdict /Encoding get StandardEncoding eq
	{
		fontdict DiacriticEncode 
		/fontdict exch def
	} {
		fontdict NonDiacriticEncode
		/fontdict exch def
	} ifelse
	FMfonts fontnum
		fontnum fontdict definefont
	put
	end 
	} def 
/FMNORMALIZEGRAPHICS { 
	newpath
	0.0 0.0 moveto
	1 setlinewidth
	0 setlinecap
	0 mysetgray
	} bind def
/FMBEGINEPSF { 
	end 
	/FMEPSF save def
	/showpage {} def 
	FMNORMALIZEGRAPHICS 
	[/fy /fx /fh /fw /ury /urx /lly /llx] {exch def} forall 
	fx fy translate 
	rotate
	fw urx llx sub div fh ury lly sub div scale 
	llx neg lly neg translate 
	} bind def
/FMENDEPSF {
	FMEPSF restore
	FrameDict begin 
	} bind def
FrameDict begin 
/pagedimen { 
	paperheight sub abs 16 lt exch 
	paperwidth sub abs 16 lt and
	{/papername exch def} {pop} ifelse
	} def
/inch {72 mul} def
/setpapername { 
	/papersizedict 14 dict def 
	papersizedict begin
	/papername /unknown def 
		/Letter 8.5 inch 11.0 inch pagedimen
		/LetterSmall 7.68 inch 10.16 inch pagedimen
		/Tabloid 11.0 inch 17.0 inch pagedimen
		/Ledger 17.0 inch 11.0 inch pagedimen
		/Legal 8.5 inch 14.0 inch pagedimen
		/Statement 5.5 inch 8.5 inch pagedimen
		/Executive 7.5 inch 10.0 inch pagedimen
		/A3 11.69 inch 16.5 inch pagedimen
		/A4 8.26 inch 11.69 inch pagedimen
		/A4Small 7.47 inch 10.85 inch pagedimen
		/B4 10.125 inch 14.33 inch pagedimen
		/B5 7.16 inch 10.125 inch pagedimen
	end
	} def
/papersize {
	papersizedict begin
		/Letter {lettertray} def
		/LetterSmall {lettertray lettersmall} def
		/Tabloid {11x17tray} def
		/Ledger {ledgertray} def
		/Legal {legaltray} def
		/Statement {statementtray} def
		/Executive {executivetray} def
		/A3 {a3tray} def
		/A4 {a4tray} def
		/A4Small {a4tray a4small} def
		/B4 {b4tray} def
		/B5 {b5tray} def
		/unknown {unknown} def
	papersizedict dup papername known {papername} {/unknown} ifelse get
	end
	statusdict begin stopped end 
	} def
/manualpapersize {
	papersizedict begin
		/Letter {letter} def
		/LetterSmall {lettersmall} def
		/Tabloid {11x17} def
		/Ledger {ledger} def
		/Legal {legal} def
		/Statement {statement} def
		/Executive {executive} def
		/A3 {a3} def
		/A4 {a4} def
		/A4Small {a4small} def
		/B4 {b4} def
		/B5 {b5} def
		/unknown {unknown} def
	papersizedict dup papername known {papername} {/unknown} ifelse get
	end
	stopped 
	} def
/desperatepapersize {
	statusdict /setpageparams known
		{
		paperwidth paperheight 0 1 
		statusdict begin
		{setpageparams} stopped pop 
		end
		} if
	} def
/savematrix {
	orgmatrix currentmatrix pop
	} bind def
/restorematrix {
	orgmatrix setmatrix
	} bind def
/dmatrix matrix def
/dpi    72 0 dmatrix defaultmatrix dtransform
    dup mul exch   dup mul add   sqrt def
/freq dpi 18.75 div 8 div round dup 0 eq { pop 1 } if 8 mul dpi exch div def
/sangle 1 0 dmatrix defaultmatrix dtransform exch atan def
/DiacriticEncoding [
/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
/.notdef /.notdef /.notdef /.notdef /space /exclam /quotedbl
/numbersign /dollar /percent /ampersand /quotesingle /parenleft
/parenright /asterisk /plus /comma /hyphen /period /slash /zero /one
/two /three /four /five /six /seven /eight /nine /colon /semicolon
/less /equal /greater /question /at /A /B /C /D /E /F /G /H /I /J /K
/L /M /N /O /P /Q /R /S /T /U /V /W /X /Y /Z /bracketleft /backslash
/bracketright /asciicircum /underscore /grave /a /b /c /d /e /f /g /h
/i /j /k /l /m /n /o /p /q /r /s /t /u /v /w /x /y /z /braceleft /bar
/braceright /asciitilde /.notdef /Adieresis /Aring /Ccedilla /Eacute
/Ntilde /Odieresis /Udieresis /aacute /agrave /acircumflex /adieresis
/atilde /aring /ccedilla /eacute /egrave /ecircumflex /edieresis
/iacute /igrave /icircumflex /idieresis /ntilde /oacute /ograve
/ocircumflex /odieresis /otilde /uacute /ugrave /ucircumflex
/udieresis /dagger /.notdef /cent /sterling /section /bullet
/paragraph /germandbls /registered /copyright /trademark /acute
/dieresis /.notdef /AE /Oslash /.notdef /.notdef /.notdef /.notdef
/yen /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
/ordfeminine /ordmasculine /.notdef /ae /oslash /questiondown
/exclamdown /logicalnot /.notdef /florin /.notdef /.notdef
/guillemotleft /guillemotright /ellipsis /.notdef /Agrave /Atilde
/Otilde /OE /oe /endash /emdash /quotedblleft /quotedblright
/quoteleft /quoteright /.notdef /.notdef /ydieresis /Ydieresis
/fraction /currency /guilsinglleft /guilsinglright /fi /fl /daggerdbl
/periodcentered /quotesinglbase /quotedblbase /perthousand
/Acircumflex /Ecircumflex /Aacute /Edieresis /Egrave /Iacute
/Icircumflex /Idieresis /Igrave /Oacute /Ocircumflex /.notdef /Ograve
/Uacute /Ucircumflex /Ugrave /dotlessi /circumflex /tilde /macron
/breve /dotaccent /ring /cedilla /hungarumlaut /ogonek /caron
] def
	/basefontdict FMLOCAL
	/newfontdict FMLOCAL
/DiacriticEncode {
	/basefontdict exch def
	/newfontdict basefontdict maxlength dict def
	basefontdict
	{exch dup /FID ne
		{dup /Encoding eq
			{exch pop DiacriticEncoding}
			{exch}
			ifelse
			newfontdict 3 1 roll put
			}
		{pop pop}
		ifelse
		} forall
	newfontdict
	} bind def
/NonDiacriticEncode {
	/basefontdict exch def
	/newfontdict basefontdict maxlength dict def
	basefontdict
	{exch dup /FID ne
		{exch newfontdict 3 1 roll put}
		{pop pop}
		ifelse
		} forall
	newfontdict
	} bind def
	/bwidth FMLOCAL
	/bpside FMLOCAL
	/bstring FMLOCAL
	/onbits FMLOCAL
	/offbits FMLOCAL
	/xindex FMLOCAL
	/yindex FMLOCAL
	/x FMLOCAL
	/y FMLOCAL
/setpattern {
	 /bwidth  exch def
	 /bpside  exch def
	 /bstring exch def
	 /onbits 0 def  /offbits 0 def
	 freq sangle landscape {90 add} if 
		{/y exch def
		 /x exch def
		 /xindex x 1 add 2 div bpside mul cvi def
		 /yindex y 1 add 2 div bpside mul cvi def
		 bstring yindex bwidth mul xindex 8 idiv add get
		 1 7 xindex 8 mod sub bitshift and 0 ne
		 {/onbits  onbits  1 add def 1}
		 {/offbits offbits 1 add def 0}
		 ifelse
		}
		setscreen
	 {} settransfer
	 offbits offbits onbits add div mysetgray
	/graymode false store
	} bind def
/grayness {
	mysetgray
	graymode not {
		/graymode true store
		orgxfer cvx settransfer
		orgfreq organgle orgproc cvx setscreen
		} if
	} bind def
/normalize {
	transform round exch round exch itransform
	} bind def
/dnormalize {
	dtransform round exch round exch idtransform
	} bind def
/lnormalize { 
	0 dtransform exch cvi 2 idiv 2 mul 1 add exch idtransform pop
	} bind def
/H { 
	lnormalize setlinewidth
	} bind def
/Z { 
	setlinecap
	} bind def
/X { 
	fillprocs exch get exec
	} bind def
/V { 
	gsave eofill grestore
	} bind def
/N { 
	stroke
	} bind def
/M {newpath moveto} bind def
/E {lineto} bind def
/D {curveto} bind def
/O {closepath} bind def
	/n FMLOCAL
/L { 
 	/n exch def
	newpath
	normalize
	moveto 
	2 1 n {pop normalize lineto} for
	} bind def
/Y { 
	L 
	closepath
	} bind def
	/x1 FMLOCAL
	/x2 FMLOCAL
	/y1 FMLOCAL
	/y2 FMLOCAL
	/rad FMLOCAL
/R { 
	/y2 exch def
	/x2 exch def
	/y1 exch def
	/x1 exch def
	x1 y1
	x2 y1
	x2 y2
	x1 y2
	4 Y 
	} bind def
/RR { 
	/rad exch def
	normalize
	/y2 exch def
	/x2 exch def
	normalize
	/y1 exch def
	/x1 exch def
	newpath
	x1 y1 rad add moveto
	x1 y2 x2 y2 rad arcto
	x2 y2 x2 y1 rad arcto
	x2 y1 x1 y1 rad arcto
	x1 y1 x1 y2 rad arcto
	closepath
	16 {pop} repeat
	} bind def
/C { 
	grestore
	gsave
	R 
	clip
	} bind def
/U { 
	grestore
	gsave
	} bind def
/F { 
	FMfonts exch get
	setfont
	} bind def
/T { 
	moveto show
	} bind def
/RF { 
	rotate
	0 ne { -1 1 scale } if
	} bind def
/TF { 
	gsave
	moveto 
	RF
	show
	grestore
	} bind def
/P { 
	moveto
	0 32 3 2 roll widthshow
	} bind def
/PF { 
	gsave
	moveto 
	RF
	0 32 3 2 roll widthshow
	grestore
	} bind def
/S { 
	moveto
	0 exch ashow
	} bind def
/SF { 
	gsave
	moveto
	RF
	0 exch ashow
	grestore
	} bind def
/B { 
	moveto
	0 32 4 2 roll 0 exch awidthshow
	} bind def
/BF { 
	gsave
	moveto
	RF
	0 32 4 2 roll 0 exch awidthshow
	grestore
	} bind def
	/x FMLOCAL
	/y FMLOCAL
	/dx FMLOCAL
	/dy FMLOCAL
	/dl FMLOCAL
	/t FMLOCAL
	/t2 FMLOCAL
	/Cos FMLOCAL
	/Sin FMLOCAL
	/r FMLOCAL
/W { 
	dnormalize
	/dy exch def
	/dx exch def
	normalize
	/y  exch def
	/x  exch def
	/dl dx dx mul dy dy mul add sqrt def
	dl 0.0 gt {
		/t currentlinewidth def
		savematrix
		/Cos dx dl div def
		/Sin dy dl div def
		/r [Cos Sin Sin neg Cos 0.0 0.0] def
		/t2 t 2.5 mul 3.5 max def
		newpath
		x y translate
		r concat
		0.0 0.0 moveto
		dl t 2.7 mul sub 0.0 rlineto
		stroke
		restorematrix
		x dx add y dy add translate
		r concat
		t 0.67 mul setlinewidth
		t 1.61 mul neg  0.0 translate
		0.0 0.0 moveto
		t2 1.7 mul neg  t2 2.0 div     moveto
		0.0 0.0 lineto
		t2 1.7 mul neg  t2 2.0 div neg lineto
		stroke
		t setlinewidth
		restorematrix
		} if
	} bind def
/G { 
	gsave
	newpath
	normalize translate 0.0 0.0 moveto 
	dnormalize scale 
	0.0 0.0 1.0 5 3 roll arc 
	closepath fill
	grestore
	} bind def
/A { 
	gsave
	savematrix
	newpath
	2 index 2 div add exch 3 index 2 div sub exch 
	normalize 2 index 2 div sub exch 3 index 2 div add exch 
	translate 
	scale 
	0.0 0.0 1.0 5 3 roll arc 
	restorematrix
	stroke
	grestore
	} bind def
	/x FMLOCAL
	/y FMLOCAL
	/w FMLOCAL
	/h FMLOCAL
	/xx FMLOCAL
	/yy FMLOCAL
	/ww FMLOCAL
	/hh FMLOCAL
	/FMsaveobject FMLOCAL
	/FMoptop FMLOCAL
	/FMdicttop FMLOCAL
/BEGINPRINTCODE { 
	/FMdicttop countdictstack 1 add def 
	/FMoptop count 4 sub def 
	/FMsaveobject save def
	userdict begin 
	/showpage {} def 
	FMNORMALIZEGRAPHICS 
	3 index neg 3 index neg translate
	} bind def
/ENDPRINTCODE {
	count -1 FMoptop {pop pop} for 
	countdictstack -1 FMdicttop {pop end} for 
	FMsaveobject restore 
	} bind def
/gn { 
	0 
	{	46 mul 
		cf read pop 
		32 sub 
		dup 46 lt {exit} if 
		46 sub add 
		} loop
	add 
	} bind def
	/str FMLOCAL
/cfs { 
	/str sl string def 
	0 1 sl 1 sub {str exch val put} for 
	str def 
	} bind def
/ic [ 
	0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0223
	0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0223
	0
	{0 hx} {1 hx} {2 hx} {3 hx} {4 hx} {5 hx} {6 hx} {7 hx} {8 hx} {9 hx}
	{10 hx} {11 hx} {12 hx} {13 hx} {14 hx} {15 hx} {16 hx} {17 hx} {18 hx}
	{19 hx} {gn hx} {0} {1} {2} {3} {4} {5} {6} {7} {8} {9} {10} {11} {12}
	{13} {14} {15} {16} {17} {18} {19} {gn} {0 wh} {1 wh} {2 wh} {3 wh}
	{4 wh} {5 wh} {6 wh} {7 wh} {8 wh} {9 wh} {10 wh} {11 wh} {12 wh}
	{13 wh} {14 wh} {gn wh} {0 bl} {1 bl} {2 bl} {3 bl} {4 bl} {5 bl} {6 bl}
	{7 bl} {8 bl} {9 bl} {10 bl} {11 bl} {12 bl} {13 bl} {14 bl} {gn bl}
	{0 fl} {1 fl} {2 fl} {3 fl} {4 fl} {5 fl} {6 fl} {7 fl} {8 fl} {9 fl}
	{10 fl} {11 fl} {12 fl} {13 fl} {14 fl} {gn fl}
	] def
	/sl FMLOCAL
	/val FMLOCAL
	/ws FMLOCAL
	/im FMLOCAL
	/bs FMLOCAL
	/cs FMLOCAL
	/len FMLOCAL
	/pos FMLOCAL
/ms { 
	/sl exch def 
	/val 255 def 
	/ws cfs 
	/im cfs 
	/val 0 def 
	/bs cfs 
	/cs cfs 
	} bind def
400 ms 
/ip { 
	is 
	0 
	cf cs readline pop 
	{	ic exch get exec 
		add 
		} forall 
	pop 
	
	} bind def
/wh { 
	/len exch def 
	/pos exch def 
	ws 0 len getinterval im pos len getinterval copy pop
	pos len 
	} bind def
/bl { 
	/len exch def 
	/pos exch def 
	bs 0 len getinterval im pos len getinterval copy pop
	pos len 
	} bind def
/s1 1 string def
/fl { 
	/len exch def 
	/pos exch def 
	/val cf s1 readhexstring pop 0 get def
	pos 1 pos len add 1 sub {im exch val put} for
	pos len 
	} bind def
/hx { 
	3 copy getinterval 
	cf exch readhexstring pop pop 
	} bind def
	/h FMLOCAL
	/w FMLOCAL
	/d FMLOCAL
	/lb FMLOCAL
	/bitmapsave FMLOCAL
	/is FMLOCAL
	/cf FMLOCAL
/wbytes {  
	dup 
	8 eq { pop } { 1 eq { 7 add 8 idiv } { 3 add 4 idiv } ifelse } ifelse
	} bind def
/BEGINBITMAPBWc { 
	1 {} COMMONBITMAPc
	} bind def
/BEGINBITMAPGRAYc { 
	8 {} COMMONBITMAPc
	} bind def
/BEGINBITMAP2BITc { 
	2 {} COMMONBITMAPc
	} bind def
/COMMONBITMAPc { 
	/r exch def
	/d exch def
	gsave
	translate rotate scale /h exch def /w exch def
	/lb w d wbytes def 
	sl lb lt {lb ms} if 
	/bitmapsave save def 
	r                    
	/is im 0 lb getinterval def 
	ws 0 lb getinterval is copy pop 
	/cf currentfile def 
	w h d [w 0 0 h neg 0 h] 
	{ip} image 
	bitmapsave restore 
	grestore
	} bind def
/BEGINBITMAPBW { 
	1 {} COMMONBITMAP
	} bind def
/BEGINBITMAPGRAY { 
	8 {} COMMONBITMAP
	} bind def
/BEGINBITMAP2BIT { 
	2 {} COMMONBITMAP
	} bind def
/COMMONBITMAP { 
	/r exch def
	/d exch def
	gsave
	translate rotate scale /h exch def /w exch def
	/bitmapsave save def 
	r                    
	/is w d wbytes string def
	/cf currentfile def 
	w h d [w 0 0 h neg 0 h] 
	{ cf is readhexstring pop } image
	bitmapsave restore 
	grestore
	} bind def
/Fmcc {
    /proc2 exch cvlit def
    /proc1 exch cvlit def
    /newproc proc1 length proc2 length add array def
    newproc 0 proc1 putinterval
    newproc proc1 length proc2 putinterval
    newproc cvx
} bind def
/colorsetup {
	currentcolortransfer
	/gryt exch def
	/blut exch def
	/grnt exch def
	/redt exch def
	/ngrayt 256 array def
	/nredt 256 array def
	/nbluet 256 array def
	/ngreent 256 array def
	0 1 255 {
		/indx exch def
		/cynu 1 red indx get 255 div sub def
		/magu 1 green indx get 255 div sub def
		/yelu 1 blue indx get 255 div sub def
		/k cynu magu min yelu min def
		/u k currentundercolorremoval exec def
		nredt indx 1 0 cynu u sub max sub redt exec put
		ngreent indx 1 0 magu u sub max sub grnt exec put
		nbluet indx 1 0 yelu u sub max sub blut exec put
		ngrayt indx 1 k currentblackgeneration exec sub gryt exec put
	} for
	{255 mul cvi nredt exch get}
	{255 mul cvi ngreent exch get}
	{255 mul cvi nbluet exch get}
	{255 mul cvi ngrayt exch get}
	setcolortransfer
	{pop 0} setundercolorremoval
	{} setblackgeneration
	} bind def
/fakecolorsetup {
	/tran 256 string def
	0 1 255 { /ind exch def 
		tran ind
		red ind get 77 mul
		green ind get 151 mul
		blue ind get 28 mul
		add add 256 idiv put } for
	currenttransfer
	{ 255 mul cvi tran exch get 255.0 div }
	exch Fmcc settransfer
} bind def
/BITMAPCOLOR { 
	/d 8 def
	gsave
	translate rotate scale /h exch def /w exch def
	/bitmapsave save def 
	colorsetup
	/is w d wbytes string def
	/cf currentfile def 
	w h d [w 0 0 h neg 0 h] 
	{ cf is readhexstring pop } {is} {is} true 3 colorimage 
	bitmapsave restore 
	grestore
	} bind def
/BITMAPCOLORc { 
	/d 8 def
	gsave
	translate rotate scale /h exch def /w exch def
	/lb w d wbytes def 
	sl lb lt {lb ms} if 
	/bitmapsave save def 
	colorsetup
	/is im 0 lb getinterval def 
	ws 0 lb getinterval is copy pop 
	/cf currentfile def 
	w h d [w 0 0 h neg 0 h] 
	{ip} {is} {is} true 3 colorimage
	bitmapsave restore 
	grestore
	} bind def
/BITMAPGRAY { 
	8 {fakecolorsetup} COMMONBITMAP
	} bind def
/BITMAPGRAYc { 
	8 {fakecolorsetup} COMMONBITMAPc
	} bind def
/ENDBITMAP {
	} bind def
end 
(2.0) FMVERSION
1 1  2 2  0 1 2 FMDOCUMENT
/fillprocs 32 array def
fillprocs 0 { 0.000000 grayness } put
fillprocs 1 { 0.100000 grayness } put
fillprocs 2 { 0.300000 grayness } put
fillprocs 3 { 0.500000 grayness } put
fillprocs 4 { 0.700000 grayness } put
fillprocs 5 { 0.900000 grayness } put
fillprocs 6 { 0.970000 grayness } put
fillprocs 7 { 1.000000 grayness } put
fillprocs 8 {<0f1e3c78f0e1c387> 8 1 setpattern } put
fillprocs 9 {<0f87c3e1f0783c1e> 8 1 setpattern } put
fillprocs 10 {<cccccccccccccccc> 8 1 setpattern } put
fillprocs 11 {<ffff0000ffff0000> 8 1 setpattern } put
fillprocs 12 {<8142241818244281> 8 1 setpattern } put
fillprocs 13 {<03060c183060c081> 8 1 setpattern } put
fillprocs 14 {<8040201008040201> 8 1 setpattern } put
fillprocs 15 {} put
fillprocs 16 { 1.000000 grayness } put
fillprocs 17 { 0.900000 grayness } put
fillprocs 18 { 0.700000 grayness } put
fillprocs 19 { 0.500000 grayness } put
fillprocs 20 { 0.300000 grayness } put
fillprocs 21 { 0.100000 grayness } put
fillprocs 22 { 0.030000 grayness } put
fillprocs 23 { 0.000000 grayness } put
fillprocs 24 {<f0e1c3870f1e3c78> 8 1 setpattern } put
fillprocs 25 {<f0783c1e0f87c3e1> 8 1 setpattern } put
fillprocs 26 {<3333333333333333> 8 1 setpattern } put
fillprocs 27 {<0000ffff0000ffff> 8 1 setpattern } put
fillprocs 28 {<7ebddbe7e7dbbd7e> 8 1 setpattern } put
fillprocs 29 {<fcf9f3e7cf9f3f7e> 8 1 setpattern } put
fillprocs 30 {<7fbfdfeff7fbfdfe> 8 1 setpattern } put
fillprocs 31 {} put
0 12 /Times-Roman FMDEFINEFONT
1 18 /Palatino-Roman FMDEFINEFONT
612 792 0 FMBEGINPAGE
0 0 612 792 C
0 0 612 792 R
7 X
0 K
V
72 746 540 756 R
V
72 32.67 540 42.67 R
V
11 29 595 783 R
V
4 H
2 Z
9 X
N
143.46 88.36 146.99 102.9 151.71 88.7 147.59 88.53 4 Y
0 X
V
438 113.26 M
 372.79 69.96 372.79 69.96 259.89 69.96 D
 166.73 69.96 150.45 69.96 147.6 88.45 D
1 H
0 Z
N
7 X
90 450 63 28.19 105 694.24 G
3 H
2 Z
0 X
90 450 63 28.19 105 694.24 A
6 X
90 450 63 28.19 281 566.77 G
0 X
90 450 63 28.19 281 566.77 A
5 X
90 450 63 28.19 461 685.78 G
0 X
90 450 63 28.19 461 685.78 A
419.98 721.66 428.99 709.66 415 715.06 417.49 718.36 4 Y
V
126 719.92 M
 149.31 750.7 149.31 750.7 261.96 750.7 D
 366.06 750.7 373.96 750.7 417.48 718.32 D
1 H
0 Z
N
356.4 554.26 341.99 558.39 356.39 562.53 356.39 558.4 4 Y
V
510 666.55 M
 591.38 560.49 592.97 558.42 356.42 558.38 D
N
86.98 656.28 97.44 667.04 94.28 652.38 90.63 654.33 4 Y
V
315.15 590.78 M
 323 614.03 323 614.03 196 614.03 D
 80.13 614.03 69.98 614.03 90.68 654.28 D
N
204.58 573.88 218.99 569.73 204.57 565.61 204.57 569.74 4 Y
V
75 671.12 M
 5.63 572.05 4.04 569.78 204.54 569.73 D
N
0 F
(REDIRECT from visa-router) 179 755.31 T
(create new entry) 154 735.29 T
(, HOST) 232.47 735.29 T
(-REQUEST to ACS) 268.68 735.29 T
(REFUSE from ACS or timeot ctr exceeded) 183 691.99 T
(activate entry) 360 549.08 T
(visa expiration or REDIRECT ) 105 619.42 T
(VISA-GRANT from ACS) 356 562.55 T
(VISA-GRANT from ACS) 74 575.18 T
(destroy entry) 236 678.34 T
(timeout to ACS) 394 614.89 T
(resend HOST) 379 599.62 T
(-REQUEST) 443.51 599.62 T
(,) 500.59 599.62 T
( increment timeout ctr) 379 589.51 T
(.) 484.6 589.51 T
179.42 683.66 165 687.8 179.42 691.93 179.42 687.8 4 Y
V
396 687.8 179.18 687.8 2 L
2 Z
N
1 F
(IDLE) 84 689.41 T
(PENDING) 422 681 T
(ACTIVE) 246 564.16 T
(a. visa-host ) 229 511.41 T
5 X
90 450 63 27.05 467 393.21 G
3 H
0 X
90 450 63 27.05 467 393.21 A
425.77 427.96 434.99 416.14 420.9 421.28 423.33 424.62 4 Y
V
132 425.98 M
 155.31 455.51 155.31 455.51 267.96 455.51 D
 371.92 455.51 379.94 455.51 423.31 424.56 D
1 H
0 Z
N
362.4 266.88 347.99 270.99 362.39 275.14 362.39 271.01 4 Y
V
516 374.76 M
 597.38 273 598.97 271.02 362.42 270.98 D
N
0 F
(HOST) 185 459.82 T
(-REQUEST from visa-host) 215.21 459.82 T
(create new entry) 162 443.48 T
(, ACS-REQUEST to ACS) 240.47 443.48 T
(REFUSE from ACS or timeot ctr exceeded) 189 399.07 T
(activate entry) 353 260.94 T
(, VISA-GRANT to visa-router) 417.17 260.94 T
(visa expiration ) 0 -270 80 271.43 TF
(destroy entry) 0 -270 97 278.79 TF
(destroy entry) 182 382.97 T
(, REFUSE to source host) 244.17 382.97 T
(timeout to peer ACS) 451 456.09 T
(resend ACS-REQUEST) 442 440.48 T
(,) 556.71 440.48 T
( increment timeout ctr) 442 430.79 T
(.) 547.6 430.79 T
185.42 391.02 171 395.15 185.42 399.29 185.42 395.15 4 Y
V
402 395.15 185.18 395.15 2 L
2 Z
N
1 F
(PENDING) 428 388.47 T
0 F
(and source host) 354 248.94 T
(ACS-REQUEST from peer ACS) 177 360 T
(activate entry) 120 345 T
(, VISA-GRANT to) 184.16 345 T
(local visa-router) 121 334 T
(, peer ACS and dest. host) 198.79 334 T
335.29 303.08 320.61 300.01 331.44 310.39 333.36 306.73 4 Y
V
110 374 M
 142.24 356 142.24 356 284.62 355.5 D
 421.04 355.02 426.75 355 333.42 306.62 D
0 Z
N
81.68 364.65 85.89 379.01 89.93 364.61 85.81 364.63 4 Y
V
85.82 364.58 M
 85.05 212.02 86.73 212.56 143.41 230.83 D
 201.81 249.66 201.81 249.66 225 285.68 D
2 Z
N
6 X
90 450 63 27.05 287 279.02 G
3 H
0 X
90 450 63 27.05 287 279.02 A
1 F
(ACTIVE) 252 276.36 T
6 X
90 450 63 23.42 438 119.34 G
0 X
90 450 63 23.42 438 119.34 A
(ACTIVE) 404 115.64 T
7 X
90 450 63 27.05 111 401.33 G
0 X
90 450 63 27.05 111 401.33 A
(IDLE) 90 396.54 T
7 X
90 450 63 23.42 169 123.94 G
0 X
90 450 63 23.42 169 123.94 A
(IDLE) 148 119.25 T
(b. ACS) 246 218.07 T
(c. visa-r) 222 37.85 T
(outer) 283.78 37.85 T
0 F
(VISA-GRANT from peer ACS) 358 278.86 T
(VISA-GRANT from local ACS) 222 165.58 T
416.81 154.2 417.99 139.25 409.07 151.3 412.94 152.75 4 Y
V
148 147.03 M
 164 162.61 164 162.61 288 163.05 D
 382.45 163.38 404.96 163.46 412.97 152.76 D
1 H
0 Z
N
(create and activate new entry) 69 560.02 T
(create and activate new entry) 222 153.6 T
(visa expiration or REVOKE from ACS) 167 77.38 T
(destroy entry) 106 605.2 T
(destroy entry) 167 62.84 T
440 429.75 445.99 416 433.62 424.49 436.81 427.12 4 Y
V
528 397 M
 590 453 590 453 503 452.5 D
 426.11 452.06 417.17 452.01 436.85 427.15 D
N
389.02 669.97 400.99 679 395.63 664.99 392.33 667.48 4 Y
V
493 663 M
 518 611 518 611 434.5 611.5 D
 356.12 611.97 351.31 612 392.38 667.42 D
N
10 496 595 496 2 L
4 H
2 Z
9 X
N
13 208 593 207 2 L
N
FMENDPAGE
%%EndDocument
 150 -150 a
 endTexFig
696 1562 a Fm(Figure)14 b(5.2:)j(Visa)c(State)i(Diagrams)-39
1695 y(1.)20 b(Visa-table)13 b(lo)q(okup)g(using)h([)p Fk(S)r(RC)q(;)7
b(D)q(S)r(T)s(;)g(P)f(RO)q(T)s(;)h(T)f(oS)r Fm(])14 b(\014elds)g(extracted)i
(from)c(the)i(IP)g(header.)1579 1680 y Fi(1)-39 1778 y Fm(2.)20
b(Visa-stamp)12 b(computation.)-28 1879 y(P)o(ac)o(k)o(et)j(switc)o(hing)e
(at)h(visa-routers)g(in)o(v)o(olv)o(es)f(the)i(follo)o(wing)c(op)q(erations:)
-39 1980 y(1.)20 b(Visa-table)13 b(lo)q(okup)g(with)h(a)f(visa)h(iden)o
(ti\014er)g(attac)o(hed)h(to)e(eac)o(h)i(pac)o(k)o(et)-39 2063
y(2.)20 b(Visa-stamp)12 b(v)o(eri\014cation)i(\(i.e.,)e(in)o(tegrit)o
(y/authen)o(tication)h(c)o(hec)o(k\))-39 2146 y(3.)20 b Fl(Light)13
b Fm(b)q(o)q(okk)o(eeping,)h(i.e.,)e(recording)j(time)d(of)h(pac)o(k)o(et)i
(arriv)n(al,)d(up)q(dating)h(resource)j(usage)e(meters,)g(etc.)-90
2247 y(W)m(e)c(measured)g(the)h(o)o(v)o(erhead)g(incurred)g(b)o(y)f(data)g
(pac)o(k)o(ets)h(\015o)o(wing)f(across)h(previously)f(established)h(visa)f
(connections.)18 b(The)11 b(o)o(v)o(erhead)-90 2296 y(measuremen)o(ts)i(are)i
(deriv)o(ed)f(using)g(the)g(ICMP)g(Ec)o(ho)g(proto)q(col)g([74)o(].)k(In)c
(this)g(proto)q(col,)f(a)g(pac)o(k)o(et)i(tra)o(v)o(els)f(from)e(the)i
(source)i(to)d(the)-90 2346 y(destination)h(end-system)g(where)i(it)e(is)g
(imm)o(ediately)d(re\015ected)17 b(bac)o(k)d(to)g(the)h(source.)20
b(The)14 b(results)i(in)d(T)m(able)h(5.1)f(represen)o(t)k(the)d(the)-90
2396 y(round-trip)i(times)f(\(in)h(milliseconds\))f(for)g(pac)o(k)o(ets)i
(tra)o(v)o(eling)f(b)q(et)o(w)o(een)h(directly)g(connected)h(ADs.)24
b(In)17 b(other)f(w)o(ords,)h(eac)o(h)g(pac)o(k)o(et)-90 2446
y(tra)o(v)o(els)d(across)g(three)h(ethernet)h(segmen)o(ts:)i(i\))13
b Fk(H)704 2452 y Fj(a)737 2446 y Fm(to)h Fk(GW)860 2452 y
Fj(a)880 2446 y Fm(,)f(ii\))g Fk(GW)1030 2452 y Fj(a)1063 2446
y Fm(to)h Fk(GW)1186 2452 y Fj(b)1203 2446 y Fm(,)f(and,)g(iii\))f
Fk(GW)1456 2452 y Fj(b)1486 2446 y Fm(to)i Fk(H)1572 2452 y
Fj(b)1602 2446 y Fm(where)h Fk(H)1757 2452 y Fj(a)1790 2446
y Fm(refers)g(to)e Fl(pismo)p Fm(,)-90 2496 y Fk(GW)-18 2502
y Fj(a)16 2496 y Fm(to)g Fl(bigsur)p Fm(,)h Fk(GW)272 2502
y Fj(b)302 2496 y Fm(to)g Fl(kos)p Fm(,)f(and,)h Fk(H)563 2502
y Fj(b)593 2496 y Fm(to)f Fl(exc)n(alibur)h Fm(as)g(depicted)h(in)e(Figure)h
(5.1.)p -90 2576 864 2 v -44 2603 a Fh(1)-26 2615 y Fg(Unfortunatel)o(y)m(,)9
b(this)i(has)f(to)i(b)q(e)f(done)f(for)h(all)g(pac)o(k)o(ets,)e(ev)o(en)i
(those)f(that)g(ma)o(y)h(not)g(require)e(a)j(visa.)2028 2770
y Fm(62)p eop
%%Page: 63 3
bop 240 -150 a
 21313290 21313290 0 0 40258437 52099153 startTexFig
240 -150 a
%%BeginDocument: vgw.ps
/FMversion (2.0) def 
/FrameDict 170 dict def 
systemdict /errordict known not { /errordict 10 dict def
		errordict /rangecheck { stop } put } if
FrameDict /tmprangecheck errordict /rangecheck get put 
errordict /rangecheck {FrameDict /bug true put} put 
FrameDict /bug false put 
mark 
currentfile 5 string readline
00
0000000000
cleartomark 
errordict /rangecheck FrameDict /tmprangecheck get put 
FrameDict /bug get { 
	/readline {
		/gstring exch def
		/gfile exch def
		/gindex 0 def
		{
			gfile read pop 
			dup 10 eq {exit} if 
			dup 13 eq {exit} if 
			gstring exch gindex exch put 
			/gindex gindex 1 add def 
		} loop
		pop 
		gstring 0 gindex getinterval true 
		} def
	} if
/FMVERSION {
	FMversion ne {
		/Times-Roman findfont 18 scalefont setfont
		100 100 moveto
		(FrameMaker version does not match postscript_prolog!)
		dup =
		show showpage
		} if
	} def 
/FMLOCAL {
	FrameDict begin
	0 def 
	end 
	} def 
	/gstring FMLOCAL
	/gfile FMLOCAL
	/gindex FMLOCAL
	/orgxfer FMLOCAL
	/orgproc FMLOCAL
	/organgle FMLOCAL
	/orgfreq FMLOCAL
	FrameDict /graymode true put
	/yscale FMLOCAL
	/xscale FMLOCAL
	/PrintInColor systemdict /colorimage known def
PrintInColor 
	
	{
	/HUE 0 def
	/SAT 0 def
	/BRIGHT 0 def
	% array of arrays Hue and Sat values for the separations [HUE BRIGHT]
	/Colors   
	[[0    0  ]    % black
	 [0    0  ]    % white
	 [0.00 1.0]    % red
	 [0.37 1.0]    % green
	 [0.60 1.0]    % blue
	 [0.50 1.0]    % cyan
	 [0.83 1.0]    % magenta
	 [0.16 1.0]    % comment
	 ] def
      
	/BEGINBITMAPCOLOR { 
		BITMAPCOLOR } def
	/BEGINBITMAPCOLORc { 
		BITMAPCOLORc } def
	/K { 
		Colors exch get dup
		0 get /HUE exch store 
		1 get /BRIGHT exch store
		  HUE 0 eq BRIGHT 0 eq and
			{1.0 SAT sub setgray }
			{HUE SAT BRIGHT sethsbcolor } 
		  ifelse
		} def
	/mysetgray { 
		/SAT exch 1.0 exch sub store 
		  HUE 0 eq BRIGHT 0 eq and
			{1.0 SAT sub setgray }
			{HUE SAT BRIGHT sethsbcolor } 
		  ifelse
		} bind def
	}
	
	{
	/BEGINBITMAPCOLOR { 
		BITMAPGRAY } def
	/BEGINBITMAPCOLORc { 
		BITMAPGRAYc } def
	/mysetgray { setgray } bind def
	/K { 
		pop
		} def
	}
ifelse
/max	{2 copy lt {exch} if pop} bind def
/min	{2 copy gt {exch} if pop} bind def
/mtx matrix defaultmatrix def
/setmanualfeed {
	 statusdict /manualfeed true put
	} def
/FMDOCUMENT { 
	array /FMfonts exch def
	/#copies exch def
	0 ne dup {setmanualfeed} if
	FrameDict begin
	/manualfeed exch def
	/paperheight exch def
	/paperwidth exch def
	setpapername
	manualfeed {true} {papersize} ifelse 
	{manualpapersize} {false} ifelse 
	{desperatepapersize} if
	/yscale exch def
	/xscale exch def
	currenttransfer cvlit /orgxfer exch def
	currentscreen cvlit /orgproc exch def
	/organgle exch def /orgfreq exch def
	end 
	} def 
	/pagesave FMLOCAL
	/orgmatrix FMLOCAL
	/landscape FMLOCAL
/FMBEGINPAGE {  
	FrameDict begin 
	/pagesave save def
	3.86 setmiterlimit
	/landscape exch 0 ne store
	landscape { 
		90 rotate 0 exch neg translate pop 
		}
		{ pop pop }
		ifelse
	xscale yscale scale
	/orgmatrix matrix def
	gsave 
	} def 
/FMENDPAGE {
	grestore 
	pagesave restore
	end 
	showpage
	} def 
	/fontname FMLOCAL
	/fontscale FMLOCAL
	/fontnum FMLOCAL
	/fontdict FMLOCAL
/FMDEFINEFONT {
	FrameDict begin
	/fontname exch def
	/fontscale exch def
	/fontnum exch def
	/fontdict fontname findfont fontscale scalefont def
	fontdict /Encoding get StandardEncoding eq
	{
		fontdict DiacriticEncode 
		/fontdict exch def
	} {
		fontdict NonDiacriticEncode
		/fontdict exch def
	} ifelse
	FMfonts fontnum
		fontnum fontdict definefont
	put
	end 
	} def 
/FMNORMALIZEGRAPHICS { 
	newpath
	0.0 0.0 moveto
	1 setlinewidth
	0 setlinecap
	0 mysetgray
	} bind def
/FMBEGINEPSF { 
	end 
	/FMEPSF save def
	/showpage {} def 
	FMNORMALIZEGRAPHICS 
	[/fy /fx /fh /fw /ury /urx /lly /llx] {exch def} forall 
	fx fy translate 
	rotate
	fw urx llx sub div fh ury lly sub div scale 
	llx neg lly neg translate 
	} bind def
/FMENDEPSF {
	FMEPSF restore
	FrameDict begin 
	} bind def
FrameDict begin 
/pagedimen { 
	paperheight sub abs 16 lt exch 
	paperwidth sub abs 16 lt and
	{/papername exch def} {pop} ifelse
	} def
/inch {72 mul} def
/setpapername { 
	/papersizedict 14 dict def 
	papersizedict begin
	/papername /unknown def 
		/Letter 8.5 inch 11.0 inch pagedimen
		/LetterSmall 7.68 inch 10.16 inch pagedimen
		/Tabloid 11.0 inch 17.0 inch pagedimen
		/Ledger 17.0 inch 11.0 inch pagedimen
		/Legal 8.5 inch 14.0 inch pagedimen
		/Statement 5.5 inch 8.5 inch pagedimen
		/Executive 7.5 inch 10.0 inch pagedimen
		/A3 11.69 inch 16.5 inch pagedimen
		/A4 8.26 inch 11.69 inch pagedimen
		/A4Small 7.47 inch 10.85 inch pagedimen
		/B4 10.125 inch 14.33 inch pagedimen
		/B5 7.16 inch 10.125 inch pagedimen
	end
	} def
/papersize {
	papersizedict begin
		/Letter {lettertray} def
		/LetterSmall {lettertray lettersmall} def
		/Tabloid {11x17tray} def
		/Ledger {ledgertray} def
		/Legal {legaltray} def
		/Statement {statementtray} def
		/Executive {executivetray} def
		/A3 {a3tray} def
		/A4 {a4tray} def
		/A4Small {a4tray a4small} def
		/B4 {b4tray} def
		/B5 {b5tray} def
		/unknown {unknown} def
	papersizedict dup papername known {papername} {/unknown} ifelse get
	end
	statusdict begin stopped end 
	} def
/manualpapersize {
	papersizedict begin
		/Letter {letter} def
		/LetterSmall {lettersmall} def
		/Tabloid {11x17} def
		/Ledger {ledger} def
		/Legal {legal} def
		/Statement {statement} def
		/Executive {executive} def
		/A3 {a3} def
		/A4 {a4} def
		/A4Small {a4small} def
		/B4 {b4} def
		/B5 {b5} def
		/unknown {unknown} def
	papersizedict dup papername known {papername} {/unknown} ifelse get
	end
	stopped 
	} def
/desperatepapersize {
	statusdict /setpageparams known
		{
		paperwidth paperheight 0 1 
		statusdict begin
		{setpageparams} stopped pop 
		end
		} if
	} def
/savematrix {
	orgmatrix currentmatrix pop
	} bind def
/restorematrix {
	orgmatrix setmatrix
	} bind def
/dmatrix matrix def
/dpi    72 0 dmatrix defaultmatrix dtransform
    dup mul exch   dup mul add   sqrt def
/freq dpi 18.75 div 8 div round dup 0 eq { pop 1 } if 8 mul dpi exch div def
/sangle 1 0 dmatrix defaultmatrix dtransform exch atan def
/DiacriticEncoding [
/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
/.notdef /.notdef /.notdef /.notdef /space /exclam /quotedbl
/numbersign /dollar /percent /ampersand /quotesingle /parenleft
/parenright /asterisk /plus /comma /hyphen /period /slash /zero /one
/two /three /four /five /six /seven /eight /nine /colon /semicolon
/less /equal /greater /question /at /A /B /C /D /E /F /G /H /I /J /K
/L /M /N /O /P /Q /R /S /T /U /V /W /X /Y /Z /bracketleft /backslash
/bracketright /asciicircum /underscore /grave /a /b /c /d /e /f /g /h
/i /j /k /l /m /n /o /p /q /r /s /t /u /v /w /x /y /z /braceleft /bar
/braceright /asciitilde /.notdef /Adieresis /Aring /Ccedilla /Eacute
/Ntilde /Odieresis /Udieresis /aacute /agrave /acircumflex /adieresis
/atilde /aring /ccedilla /eacute /egrave /ecircumflex /edieresis
/iacute /igrave /icircumflex /idieresis /ntilde /oacute /ograve
/ocircumflex /odieresis /otilde /uacute /ugrave /ucircumflex
/udieresis /dagger /.notdef /cent /sterling /section /bullet
/paragraph /germandbls /registered /copyright /trademark /acute
/dieresis /.notdef /AE /Oslash /.notdef /.notdef /.notdef /.notdef
/yen /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
/ordfeminine /ordmasculine /.notdef /ae /oslash /questiondown
/exclamdown /logicalnot /.notdef /florin /.notdef /.notdef
/guillemotleft /guillemotright /ellipsis /.notdef /Agrave /Atilde
/Otilde /OE /oe /endash /emdash /quotedblleft /quotedblright
/quoteleft /quoteright /.notdef /.notdef /ydieresis /Ydieresis
/fraction /currency /guilsinglleft /guilsinglright /fi /fl /daggerdbl
/periodcentered /quotesinglbase /quotedblbase /perthousand
/Acircumflex /Ecircumflex /Aacute /Edieresis /Egrave /Iacute
/Icircumflex /Idieresis /Igrave /Oacute /Ocircumflex /.notdef /Ograve
/Uacute /Ucircumflex /Ugrave /dotlessi /circumflex /tilde /macron
/breve /dotaccent /ring /cedilla /hungarumlaut /ogonek /caron
] def
	/basefontdict FMLOCAL
	/newfontdict FMLOCAL
/DiacriticEncode {
	/basefontdict exch def
	/newfontdict basefontdict maxlength dict def
	basefontdict
	{exch dup /FID ne
		{dup /Encoding eq
			{exch pop DiacriticEncoding}
			{exch}
			ifelse
			newfontdict 3 1 roll put
			}
		{pop pop}
		ifelse
		} forall
	newfontdict
	} bind def
/NonDiacriticEncode {
	/basefontdict exch def
	/newfontdict basefontdict maxlength dict def
	basefontdict
	{exch dup /FID ne
		{exch newfontdict 3 1 roll put}
		{pop pop}
		ifelse
		} forall
	newfontdict
	} bind def
	/bwidth FMLOCAL
	/bpside FMLOCAL
	/bstring FMLOCAL
	/onbits FMLOCAL
	/offbits FMLOCAL
	/xindex FMLOCAL
	/yindex FMLOCAL
	/x FMLOCAL
	/y FMLOCAL
/setpattern {
	 /bwidth  exch def
	 /bpside  exch def
	 /bstring exch def
	 /onbits 0 def  /offbits 0 def
	 freq sangle landscape {90 add} if 
		{/y exch def
		 /x exch def
		 /xindex x 1 add 2 div bpside mul cvi def
		 /yindex y 1 add 2 div bpside mul cvi def
		 bstring yindex bwidth mul xindex 8 idiv add get
		 1 7 xindex 8 mod sub bitshift and 0 ne
		 {/onbits  onbits  1 add def 1}
		 {/offbits offbits 1 add def 0}
		 ifelse
		}
		setscreen
	 {} settransfer
	 offbits offbits onbits add div mysetgray
	/graymode false store
	} bind def
/grayness {
	mysetgray
	graymode not {
		/graymode true store
		orgxfer cvx settransfer
		orgfreq organgle orgproc cvx setscreen
		} if
	} bind def
/normalize {
	transform round exch round exch itransform
	} bind def
/dnormalize {
	dtransform round exch round exch idtransform
	} bind def
/lnormalize { 
	0 dtransform exch cvi 2 idiv 2 mul 1 add exch idtransform pop
	} bind def
/H { 
	lnormalize setlinewidth
	} bind def
/Z { 
	setlinecap
	} bind def
/X { 
	fillprocs exch get exec
	} bind def
/V { 
	gsave eofill grestore
	} bind def
/N { 
	stroke
	} bind def
/M {newpath moveto} bind def
/E {lineto} bind def
/D {curveto} bind def
/O {closepath} bind def
	/n FMLOCAL
/L { 
 	/n exch def
	newpath
	normalize
	moveto 
	2 1 n {pop normalize lineto} for
	} bind def
/Y { 
	L 
	closepath
	} bind def
	/x1 FMLOCAL
	/x2 FMLOCAL
	/y1 FMLOCAL
	/y2 FMLOCAL
	/rad FMLOCAL
/R { 
	/y2 exch def
	/x2 exch def
	/y1 exch def
	/x1 exch def
	x1 y1
	x2 y1
	x2 y2
	x1 y2
	4 Y 
	} bind def
/RR { 
	/rad exch def
	normalize
	/y2 exch def
	/x2 exch def
	normalize
	/y1 exch def
	/x1 exch def
	newpath
	x1 y1 rad add moveto
	x1 y2 x2 y2 rad arcto
	x2 y2 x2 y1 rad arcto
	x2 y1 x1 y1 rad arcto
	x1 y1 x1 y2 rad arcto
	closepath
	16 {pop} repeat
	} bind def
/C { 
	grestore
	gsave
	R 
	clip
	} bind def
/U { 
	grestore
	gsave
	} bind def
/F { 
	FMfonts exch get
	setfont
	} bind def
/T { 
	moveto show
	} bind def
/RF { 
	rotate
	0 ne { -1 1 scale } if
	} bind def
/TF { 
	gsave
	moveto 
	RF
	show
	grestore
	} bind def
/P { 
	moveto
	0 32 3 2 roll widthshow
	} bind def
/PF { 
	gsave
	moveto 
	RF
	0 32 3 2 roll widthshow
	grestore
	} bind def
/S { 
	moveto
	0 exch ashow
	} bind def
/SF { 
	gsave
	moveto
	RF
	0 exch ashow
	grestore
	} bind def
/B { 
	moveto
	0 32 4 2 roll 0 exch awidthshow
	} bind def
/BF { 
	gsave
	moveto
	RF
	0 32 4 2 roll 0 exch awidthshow
	grestore
	} bind def
	/x FMLOCAL
	/y FMLOCAL
	/dx FMLOCAL
	/dy FMLOCAL
	/dl FMLOCAL
	/t FMLOCAL
	/t2 FMLOCAL
	/Cos FMLOCAL
	/Sin FMLOCAL
	/r FMLOCAL
/W { 
	dnormalize
	/dy exch def
	/dx exch def
	normalize
	/y  exch def
	/x  exch def
	/dl dx dx mul dy dy mul add sqrt def
	dl 0.0 gt {
		/t currentlinewidth def
		savematrix
		/Cos dx dl div def
		/Sin dy dl div def
		/r [Cos Sin Sin neg Cos 0.0 0.0] def
		/t2 t 2.5 mul 3.5 max def
		newpath
		x y translate
		r concat
		0.0 0.0 moveto
		dl t 2.7 mul sub 0.0 rlineto
		stroke
		restorematrix
		x dx add y dy add translate
		r concat
		t 0.67 mul setlinewidth
		t 1.61 mul neg  0.0 translate
		0.0 0.0 moveto
		t2 1.7 mul neg  t2 2.0 div     moveto
		0.0 0.0 lineto
		t2 1.7 mul neg  t2 2.0 div neg lineto
		stroke
		t setlinewidth
		restorematrix
		} if
	} bind def
/G { 
	gsave
	newpath
	normalize translate 0.0 0.0 moveto 
	dnormalize scale 
	0.0 0.0 1.0 5 3 roll arc 
	closepath fill
	grestore
	} bind def
/A { 
	gsave
	savematrix
	newpath
	2 index 2 div add exch 3 index 2 div sub exch 
	normalize 2 index 2 div sub exch 3 index 2 div add exch 
	translate 
	scale 
	0.0 0.0 1.0 5 3 roll arc 
	restorematrix
	stroke
	grestore
	} bind def
	/x FMLOCAL
	/y FMLOCAL
	/w FMLOCAL
	/h FMLOCAL
	/xx FMLOCAL
	/yy FMLOCAL
	/ww FMLOCAL
	/hh FMLOCAL
	/FMsaveobject FMLOCAL
	/FMoptop FMLOCAL
	/FMdicttop FMLOCAL
/BEGINPRINTCODE { 
	/FMdicttop countdictstack 1 add def 
	/FMoptop count 4 sub def 
	/FMsaveobject save def
	userdict begin 
	/showpage {} def 
	FMNORMALIZEGRAPHICS 
	3 index neg 3 index neg translate
	} bind def
/ENDPRINTCODE {
	count -1 FMoptop {pop pop} for 
	countdictstack -1 FMdicttop {pop end} for 
	FMsaveobject restore 
	} bind def
/gn { 
	0 
	{	46 mul 
		cf read pop 
		32 sub 
		dup 46 lt {exit} if 
		46 sub add 
		} loop
	add 
	} bind def
	/str FMLOCAL
/cfs { 
	/str sl string def 
	0 1 sl 1 sub {str exch val put} for 
	str def 
	} bind def
/ic [ 
	0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0223
	0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0223
	0
	{0 hx} {1 hx} {2 hx} {3 hx} {4 hx} {5 hx} {6 hx} {7 hx} {8 hx} {9 hx}
	{10 hx} {11 hx} {12 hx} {13 hx} {14 hx} {15 hx} {16 hx} {17 hx} {18 hx}
	{19 hx} {gn hx} {0} {1} {2} {3} {4} {5} {6} {7} {8} {9} {10} {11} {12}
	{13} {14} {15} {16} {17} {18} {19} {gn} {0 wh} {1 wh} {2 wh} {3 wh}
	{4 wh} {5 wh} {6 wh} {7 wh} {8 wh} {9 wh} {10 wh} {11 wh} {12 wh}
	{13 wh} {14 wh} {gn wh} {0 bl} {1 bl} {2 bl} {3 bl} {4 bl} {5 bl} {6 bl}
	{7 bl} {8 bl} {9 bl} {10 bl} {11 bl} {12 bl} {13 bl} {14 bl} {gn bl}
	{0 fl} {1 fl} {2 fl} {3 fl} {4 fl} {5 fl} {6 fl} {7 fl} {8 fl} {9 fl}
	{10 fl} {11 fl} {12 fl} {13 fl} {14 fl} {gn fl}
	] def
	/sl FMLOCAL
	/val FMLOCAL
	/ws FMLOCAL
	/im FMLOCAL
	/bs FMLOCAL
	/cs FMLOCAL
	/len FMLOCAL
	/pos FMLOCAL
/ms { 
	/sl exch def 
	/val 255 def 
	/ws cfs 
	/im cfs 
	/val 0 def 
	/bs cfs 
	/cs cfs 
	} bind def
400 ms 
/ip { 
	is 
	0 
	cf cs readline pop 
	{	ic exch get exec 
		add 
		} forall 
	pop 
	
	} bind def
/wh { 
	/len exch def 
	/pos exch def 
	ws 0 len getinterval im pos len getinterval copy pop
	pos len 
	} bind def
/bl { 
	/len exch def 
	/pos exch def 
	bs 0 len getinterval im pos len getinterval copy pop
	pos len 
	} bind def
/s1 1 string def
/fl { 
	/len exch def 
	/pos exch def 
	/val cf s1 readhexstring pop 0 get def
	pos 1 pos len add 1 sub {im exch val put} for
	pos len 
	} bind def
/hx { 
	3 copy getinterval 
	cf exch readhexstring pop pop 
	} bind def
	/h FMLOCAL
	/w FMLOCAL
	/d FMLOCAL
	/lb FMLOCAL
	/bitmapsave FMLOCAL
	/is FMLOCAL
	/cf FMLOCAL
/wbytes {  
	dup 
	8 eq { pop } { 1 eq { 7 add 8 idiv } { 3 add 4 idiv } ifelse } ifelse
	} bind def
/BEGINBITMAPBWc { 
	1 {} COMMONBITMAPc
	} bind def
/BEGINBITMAPGRAYc { 
	8 {} COMMONBITMAPc
	} bind def
/BEGINBITMAP2BITc { 
	2 {} COMMONBITMAPc
	} bind def
/COMMONBITMAPc { 
	/r exch def
	/d exch def
	gsave
	translate rotate scale /h exch def /w exch def
	/lb w d wbytes def 
	sl lb lt {lb ms} if 
	/bitmapsave save def 
	r                    
	/is im 0 lb getinterval def 
	ws 0 lb getinterval is copy pop 
	/cf currentfile def 
	w h d [w 0 0 h neg 0 h] 
	{ip} image 
	bitmapsave restore 
	grestore
	} bind def
/BEGINBITMAPBW { 
	1 {} COMMONBITMAP
	} bind def
/BEGINBITMAPGRAY { 
	8 {} COMMONBITMAP
	} bind def
/BEGINBITMAP2BIT { 
	2 {} COMMONBITMAP
	} bind def
/COMMONBITMAP { 
	/r exch def
	/d exch def
	gsave
	translate rotate scale /h exch def /w exch def
	/bitmapsave save def 
	r                    
	/is w d wbytes string def
	/cf currentfile def 
	w h d [w 0 0 h neg 0 h] 
	{ cf is readhexstring pop } image
	bitmapsave restore 
	grestore
	} bind def
/Fmcc {
    /proc2 exch cvlit def
    /proc1 exch cvlit def
    /newproc proc1 length proc2 length add array def
    newproc 0 proc1 putinterval
    newproc proc1 length proc2 putinterval
    newproc cvx
} bind def
/colorsetup {
	currentcolortransfer
	/gryt exch def
	/blut exch def
	/grnt exch def
	/redt exch def
	/ngrayt 256 array def
	/nredt 256 array def
	/nbluet 256 array def
	/ngreent 256 array def
	0 1 255 {
		/indx exch def
		/cynu 1 red indx get 255 div sub def
		/magu 1 green indx get 255 div sub def
		/yelu 1 blue indx get 255 div sub def
		/k cynu magu min yelu min def
		/u k currentundercolorremoval exec def
		nredt indx 1 0 cynu u sub max sub redt exec put
		ngreent indx 1 0 magu u sub max sub grnt exec put
		nbluet indx 1 0 yelu u sub max sub blut exec put
		ngrayt indx 1 k currentblackgeneration exec sub gryt exec put
	} for
	{255 mul cvi nredt exch get}
	{255 mul cvi ngreent exch get}
	{255 mul cvi nbluet exch get}
	{255 mul cvi ngrayt exch get}
	setcolortransfer
	{pop 0} setundercolorremoval
	{} setblackgeneration
	} bind def
/fakecolorsetup {
	/tran 256 string def
	0 1 255 { /ind exch def 
		tran ind
		red ind get 77 mul
		green ind get 151 mul
		blue ind get 28 mul
		add add 256 idiv put } for
	currenttransfer
	{ 255 mul cvi tran exch get 255.0 div }
	exch Fmcc settransfer
} bind def
/BITMAPCOLOR { 
	/d 8 def
	gsave
	translate rotate scale /h exch def /w exch def
	/bitmapsave save def 
	colorsetup
	/is w d wbytes string def
	/cf currentfile def 
	w h d [w 0 0 h neg 0 h] 
	{ cf is readhexstring pop } {is} {is} true 3 colorimage 
	bitmapsave restore 
	grestore
	} bind def
/BITMAPCOLORc { 
	/d 8 def
	gsave
	translate rotate scale /h exch def /w exch def
	/lb w d wbytes def 
	sl lb lt {lb ms} if 
	/bitmapsave save def 
	colorsetup
	/is im 0 lb getinterval def 
	ws 0 lb getinterval is copy pop 
	/cf currentfile def 
	w h d [w 0 0 h neg 0 h] 
	{ip} {is} {is} true 3 colorimage
	bitmapsave restore 
	grestore
	} bind def
/BITMAPGRAY { 
	8 {fakecolorsetup} COMMONBITMAP
	} bind def
/BITMAPGRAYc { 
	8 {fakecolorsetup} COMMONBITMAPc
	} bind def
/ENDBITMAP {
	} bind def
end 
(2.0) FMVERSION
1 1  2 2  0 1 2 FMDOCUMENT
/fillprocs 32 array def
fillprocs 0 { 0.000000 grayness } put
fillprocs 1 { 0.100000 grayness } put
fillprocs 2 { 0.300000 grayness } put
fillprocs 3 { 0.500000 grayness } put
fillprocs 4 { 0.700000 grayness } put
fillprocs 5 { 0.900000 grayness } put
fillprocs 6 { 0.970000 grayness } put
fillprocs 7 { 1.000000 grayness } put
fillprocs 8 {<0f1e3c78f0e1c387> 8 1 setpattern } put
fillprocs 9 {<0f87c3e1f0783c1e> 8 1 setpattern } put
fillprocs 10 {<cccccccccccccccc> 8 1 setpattern } put
fillprocs 11 {<ffff0000ffff0000> 8 1 setpattern } put
fillprocs 12 {<8142241818244281> 8 1 setpattern } put
fillprocs 13 {<03060c183060c081> 8 1 setpattern } put
fillprocs 14 {<8040201008040201> 8 1 setpattern } put
fillprocs 15 {} put
fillprocs 16 { 1.000000 grayness } put
fillprocs 17 { 0.900000 grayness } put
fillprocs 18 { 0.700000 grayness } put
fillprocs 19 { 0.500000 grayness } put
fillprocs 20 { 0.300000 grayness } put
fillprocs 21 { 0.100000 grayness } put
fillprocs 22 { 0.030000 grayness } put
fillprocs 23 { 0.000000 grayness } put
fillprocs 24 {<f0e1c3870f1e3c78> 8 1 setpattern } put
fillprocs 25 {<f0783c1e0f87c3e1> 8 1 setpattern } put
fillprocs 26 {<3333333333333333> 8 1 setpattern } put
fillprocs 27 {<0000ffff0000ffff> 8 1 setpattern } put
fillprocs 28 {<7ebddbe7e7dbbd7e> 8 1 setpattern } put
fillprocs 29 {<fcf9f3e7cf9f3f7e> 8 1 setpattern } put
fillprocs 30 {<7fbfdfeff7fbfdfe> 8 1 setpattern } put
fillprocs 31 {} put
0 18 /Times-Roman FMDEFINEFONT
1 14 /NewCenturySchlbk-Roman FMDEFINEFONT
612 792 0 FMBEGINPAGE
0 0 612 792 C
0 0 612 792 R
7 X
0 K
V
72 746 540 756 R
V
72 32.67 540 42.67 R
V
173 395 564 742 R
V
3 H
2 Z
8 X
N
170 34 562 380 R
7 X
V
8 X
N
205.37 229.96 367.93 269.7 R
0 X
N
285.44 318.82 474.21 361.8 R
4 X
V
0 X
N
0 F
(Internet Protocol \050IP\051) 211.73 244.59 T
(V) 297.51 343.96 T
(isa veri\336cation and ) 309.42 343.96 T
271.61 208.41 270.89 229.39 282.62 211.97 277.11 210.19 4 Y
V
281.02 198.01 277.05 210.4 2 L
N
331.1 312.64 351.17 318.83 337.43 302.94 334.27 307.79 4 Y
V
276.59 270.61 334.47 307.91 2 L
N
458.19 217.26 459.25 196.28 447.24 213.51 452.71 215.38 4 Y
V
417.54 318.82 452.8 215.14 2 L
N
216.54 159.1 340.43 198.01 R
N
(Interface Driver) 222.63 173.99 T
401.74 157.36 525.63 196.27 R
N
(Interface Driver) 407.83 172.24 T
211.49 77.21 511.72 77.21 2 L
4 H
N
411.92 79.37 390.98 77.82 407.91 90.24 409.92 84.81 4 Y
V
465.58 156.2 M
 486.75 116.21 488.22 113.42 409.96 84.71 D
3 H
0 Z
N
290.49 140.66 281.64 159.7 299.23 148.25 294.86 144.46 4 Y
V
299.35 78.95 M
 315.08 112.85 317.31 117.65 294.85 144.4 D
N
(network) 324 82.95 T
362.74 485.09 486.63 523.38 R
2 Z
N
(Interface Driver) 368.83 497.67 T
(network) 276 457.79 T
186.72 571.12 349.28 610.24 R
4 X
V
0 X
N
(VISA Encapsulation) 195 583.85 T
1 F
(a. encapsulation of data packets in a source visa-host) 197.52 411.28 T
219.49 450.2 519.72 450.2 2 L
4 H
N
0 F
(Internet Protocol \050IP\051) 392.73 632.37 T
387.72 617.73 550.28 656.85 R
3 H
N
( T) 204.05 700.37 T
(ransport - layer protocols) 218.91 700.37 T
197.72 685.73 403.28 724.85 R
N
512.24 678.93 513.98 658.01 501.41 674.83 506.83 676.88 4 Y
V
404 704 M
 481.56 716.34 490.76 717.8 506.91 676.9 D
0 Z
N
348.82 521.39 361.98 505.02 342.15 511.93 345.48 516.66 4 Y
V
269 570 345.7 516.5 2 L
2 Z
N
419.39 461.11 400.98 451.02 411.25 469.34 415.32 465.22 4 Y
V
435 485 415.17 465.04 2 L
N
365.2 578.57 345.99 587.01 366.75 590.04 365.98 584.31 4 Y
V
499 616 M
 487.52 570.39 486.95 568.12 366 584.31 D
0 Z
N
1 F
(b. packet switching in a visa-router) 209 49 T
0 F
(packet forwarding) 306 326 T
FMENDPAGE
%%EndDocument
 240 -150 a
 endTexFig
515 1321 a Fm(Figure)14 b(5.3:)j(Visa)d(encapsulation)g(and)g(pac)o(k)o(et)g
(switc)o(hing)-28 1454 y(The)21 b(\014rst)f(ro)o(w)g(sho)o(ws)h(the)f
(timings)e(with)i Fl(Visa)g Fm(proto)q(col)f(inactiv)o(e.)36
b(The)21 b(second)g(ro)o(w)f(sho)o(ws)g(the)h(timings)d(for)h(the)i(same)-90
1504 y(pac)o(k)o(et)e(tra\016c,)g(but,)g(using)f Fl(Visa)f
Fm(proto)q(col)h(without)g(an)o(y)g(in)o(tegrit)o(y)g(c)o(hec)o(king.)31
b(These)19 b(timings)d(help)j(us)f(in)g(iden)o(tifying)f(purely)-90
1554 y(proto)q(col-related)d(o)o(v)o(erhead.)19 b(The)14 b(third)g(ro)o(w)f
(sho)o(ws)i(the)f(results)h(for)f Fl(Visa)f Fm(proto)q(col)h(with)g(full)e
(in)o(tegrit)o(y)i(c)o(hec)o(king.)p 505 1655 970 2 v 505 1657
V 504 1704 2 50 v 513 1704 V 538 1689 a(P)o(ac)o(k)o(et)h(size)f(\(b)o
(ytes\))p 906 1704 V 915 1704 V 69 w(16)p 1017 1704 V 55 w(64)p
1109 1704 V 49 w(256)p 1221 1704 V 49 w(512)p 1333 1704 V 50
w(1024)p 1466 1704 V 1475 1704 V 505 1706 970 2 v 505 1708
V 504 1756 2 50 v 513 1756 V 538 1741 a(No)g Fl(Visa)p 906
1756 V 915 1756 V 270 w Fm(5)p 1017 1756 V 76 w(5)p 1109 1756
V 81 w(8)p 1221 1756 V 81 w(10)p 1333 1756 V 80 w(15)p 1466
1756 V 1475 1756 V 505 1758 970 2 v 504 1807 2 50 v 513 1807
V 538 1792 a Fl(Visa)g Fm(w/o)f(in)o(tegrit)o(y)p 906 1807
V 915 1807 V 83 w(6)p 1017 1807 V 76 w(6)p 1109 1807 V 65 w(8.5)p
1221 1807 V 64 w(11)p 1333 1807 V 80 w(16)p 1466 1807 V 1475
1807 V 505 1809 970 2 v 504 1859 2 50 v 513 1859 V 538 1844
a Fl(Visa)h Fm(with)g(in)o(tegrit)o(y)p 906 1859 V 915 1859
V 57 w(7.5)p 1017 1859 V 59 w(8)p 1109 1859 V 71 w(11)p 1221
1859 V 70 w(14)p 1333 1859 V 80 w(20)p 1466 1859 V 1475 1859
V 505 1861 970 2 v 505 1863 V 532 1979 a(T)m(able)g(5.1:)j(Visa)c(connection)
i(setup)g(o)o(v)o(erhead)f(\(in)f(ms\))-28 2081 y(First)18
b(and)e(foremost,)g(these)j(n)o(um)o(b)q(ers)d(clearly)h(illustrate)g(the)g
(relativ)o(ely)f(lo)o(w)g(cost)i(of)e(encapsulation)h(and)g(switc)o(hing)f
(of)g(visa)-90 2131 y(pac)o(k)o(ets.)24 b(Another)16 b(comforting)d(asp)q
(ect)k(of)e(our)h(results)g(is)g(what)f(app)q(ears)h(to)g(b)q(e)g
(insigni\014can)o(t)e(additional)g(o)o(v)o(erhead)i(imp)q(osed)e(b)o(y)-90
2180 y(pac)o(k)o(et)h(authen)o(tication)g(and)f(in)o(tegrit)o(y)h(c)o(hec)o
(king.)21 b(This)15 b(ma)o(y)e(b)q(e)i(due)g(to)g(the)g(nature)h(of)e(MD4;)g
(since)i(it)f(is)f(implemen)o(ted)f(en)o(tirely)-90 2230 y(in)i(soft)o(w)o
(are,)g(data)g(rates)i(are)f(constan)o(t)g(indep)q(enden)o(t)g(of)f(the)h
(pac)o(k)o(et)g(size.)24 b(\(Hardw)o(are)16 b(devices)g(tend)g(to)g(o\013er)g
(m)o(uc)o(h)e(lo)o(w)o(er)h(rates)-90 2280 y(for)f(small)d(data)j(units;)f
(mostly)f(b)q(ecause)k(of)d(the)i(\014xed)f(device)h(initialization)c
(costs\).)2028 2770 y(63)p eop
%%Page: 64 4
bop -90 -108 a Ff(5.3)70 b(IDPR)22 b(Exp)r(erimen)n(ts)-90
0 y Fm(In)14 b(this)g(section)g(w)o(e)g(describ)q(e)i(the)e(exp)q(erimen)o
(ts)g(with)g(the)g(IDPR)g(arc)o(hitecture)h(based)g(on)e(the)i(initial)d
(protot)o(yp)q(e)i(implemen)o(tatio)o(n.)-90 50 y(The)e(IDPR)g(arc)o
(hitecture)h(w)o(as)f(originally)e(put)i(forw)o(ard)f(b)o(y)h(the)h(In)o
(ternet)g(In)o(ter-Domain)d(P)o(olicy)h(Routing)g(W)m(orking)f(Group)i
(\(IDPR-)-90 100 y(W)o(G\))1 85 y Fi(2)33 100 y Fm(of)h(the)i(In)o(ternet)g
(Engineering)g(T)m(ask)e(F)m(orce)i([50)o(,)e(84])g(The)i(soft)o(w)o(are)f
(dev)o(elopmen)o(t)f(is)h(a)g(collab)q(orativ)o(e)f(pro)r(ject)i(b)q(et)o(w)o
(een)g(the)-90 150 y(Univ)o(ersit)o(y)f(of)f(Southern)i(California)c
(\(USC\),)j(Bolt)g(Beranek)h(and)f(Newman)f(\(BBN\),)h(and)g(Sparta,)f(Inc.)
-28 217 y(Before)e(pro)q(ceeding)f(with)f(the)h(discussion)g(of)e(exp)q
(erimen)o(tal)h(results,)i(the)f(follo)o(wing)c(subsection)11
b(pro)o(vides)f(additional)d(bac)o(kground)-90 267 y(for)14
b(the)g(IDPR)f(arc)o(hitecture.)-90 406 y Fe(5.3.1)55 b(Additional)18
b(Bac)n(kground)-90 500 y Fm(In)10 b(Chapter)g(4,)g(w)o(e)g(addressed)h(the)g
(high-lev)o(el)d(design)i(issues)h(p)q(ertaining)e(directly)h(to)g(p)q(olicy)
f(enforcemen)o(t)h(in)f(IDPR,)g(i.e.,)g(installation)-90 550
y(of)14 b(P)o(olicy)g(Routes)h(and)f(subsequen)o(t)i(pac)o(k)o(et)f(forw)o
(arding.)k(Ho)o(w)o(ev)o(er,)c(IDPR)f(arc)o(hitecture)i(includes)f(m)o(uc)o
(h)f(more)f(than)i(just)g(p)q(olicy)-90 600 y(enforcemen)o(t)f(mec)o
(hanisms.)i(Fiv)o(e)e(proto)q(cols)g(form)e(the)i(core)h(of)e(the)i(IDPR)e
(arc)o(hitecture:)-28 701 y Fd(\017)21 b Fm(Virtual)13 b(Gatew)o(a)o(y)g
(Proto)q(col)h(\(V)o(GP\))14 751 y(A)i Fl(Virtual)h(Gateway)g
Fm(\(V)o(G\))f(is)h(a)f(set)h(of)g(PGs)f(in)o(terconnecting)i(a)e(pair)g(of)g
(adjacen)o(t)h(ADs.)27 b(A)16 b(simple)g(V)o(G)g(consists)h(of)f(t)o(w)o(o)14
800 y(PGs,)f(one)g(in)g(eac)o(h)g(of)g(the)h(neigh)o(b)q(oring)e(ADs.)22
b(All)14 b(PGs)h(within)g(an)g(AD)g(use)h(V)o(GP)e(to)h(exc)o(hange)h(status)
g(information)c(with)14 850 y(resp)q(ect)k(to)e(their)g(outside)g(links,)f
(i.e.,)f(the)j(status)g(of)e(their)h(constituen)o(t)h(V)o(Gs.)-28
933 y Fd(\017)21 b Fm(Up)q(date)14 b(Proto)q(col)g(\(UPD)o(A)m(TE\))14
983 y(Eac)o(h)j(AD)h(uses)g(UPD)o(A)m(TE)f(to)h(distribute)g(b)q(oth)f
(con\014gured)i(and)e(dynamic)e(status)k(information)14 b(ab)q(out)j(its)h(V)
o(Gs)f(and)g(the)14 1033 y(asso)q(ciated)d(P)o(olicy)e(T)m(erms.)17
b(The)d(information)c(is)k(disseminated)e(in)h(a)g(link)f(state)i(fashion,)e
(i.e.,)g(it)h(is)g(\015o)q(o)q(ded)h(throughout)f(the)14 1083
y(in)o(ternet.)-28 1166 y Fd(\017)21 b Fm(Route)14 b(Syn)o(thesis)g
(\(RSYNTH\))14 1216 y(Eac)o(h)20 b(AD)h(has)f(one)h(or)f(more)f(Route)i(Serv)
o(ers)h(\(eac)o(h)f(a)f(distinct)g(logical)f(en)o(tit)o(y)h(often)h(co-lo)q
(cated)f(with)g(a)g(PG\))h(that)f(is)14 1265 y(resp)q(onsible)13
b(for)g(main)o(taini)o(ng)d(the)j(connectivit)o(y)g(database)g(of)f(the)h(en)
o(tire)g(in)o(ternet)h(and)e(computing)f(PRs)i(for)f(its)h(constituen)o(t)14
1315 y(users.)27 b(Strictly)16 b(sp)q(eaking,)h(RSYNTH)f(is)h(not)f(a)g
(proto)q(col,)h(but,)f(rather,)i(a)e(route)h(computation)e(algorithm)f(sup)q
(erimp)q(osed)14 1365 y(with)f(a)g(set)h(of)f(AD-dep)q(enden)o(t)i
(heuristics)g(used)f(in)f(selecting)h(optimal)d(PRs.)18 b(It)13
b(em)o(b)q(o)q(dies)g(what)g(w)o(e)h(referred)h(to)e(in)g(Chapter)14
1415 y(1)g(as)h Fl(r)n(oute)h(sele)n(ction)f Fm(p)q(olicies.)-28
1498 y Fd(\017)21 b Fm(P)o(ath)14 b(Setup)g(\(SETUP\))14 1548
y(As)g(describ)q(ed)i(earlier,)d(SETUP)i(is)f(resp)q(onsible)h(for)e(the)i
(installation)d(and)h(main)o(tenance)g(of)h(PR-related)g(state)g(in)g(PGs.)
-28 1631 y Fd(\017)21 b Fm(Kernel)15 b(P)o(ac)o(k)o(et)f(Switc)o(hing)f
(\(KERNEL\))14 1680 y(Switc)o(hing)g(of)g(IDPR)g(data)h(pac)o(k)o(ets)g(at)g
(a)f(PG)h(in)o(v)o(olv)o(es)f(mapping)e(individual)h(data)h(pac)o(k)o(et)i
(in)o(to)e(PRs)g(and)h(forw)o(arding)f(them)14 1730 y(according)f(to)g(the)i
(next)e(PG)h(hop)f(established)h(at)f(route)h(setup)h(time.)i(Because)e(of)e
(the)h(high)f(throughput)h(requiremen)o(ts,)f(data)14 1780
y(pac)o(k)o(et)i(switc)o(hing)g(is)f(implemen)o(ted)f(within)h(the)i(k)o
(ernel.)-90 1881 y(In)k(addition,)f(there)i(is)e(a)h(high)f(degree)i(of)e(in)
o(ter-dep)q(endence)j(among)16 b(the)k(v)n(arious)e(IDPR)g(proto)q(cols.)32
b(The)19 b(particulars)g(of)f(this)-90 1931 y(in)o(terpla)o(y)g(are)i
(illustrated)f(in)g(Figure)g(5.4.)32 b(IDPR)19 b(arc)o(hitecture)i(also)d
(pro)o(vides)i(a)e(uniform)f(mec)o(hanism)g(for)i(the)h(reliable)e(\(i.e.,)
-90 1981 y(timely)m(,)d(sequenced)k(and)e(error-free\))i(deliv)o(ery)e(of)g
(IDPR)f(con)o(trol)h(pac)o(k)o(ets)h(b)q(et)o(w)o(een)g(PGs)g(and)f(b)q(et)o
(w)o(een)h(the)g(di\013eren)o(t)g(proto)q(cols)-90 2030 y(within)13
b(a)h(PG.)f(This)h(function)f(is)h(implemen)o(ted)e(b)o(y)h(the)i(Con)o(trol)
e(Message)i(T)m(ransp)q(ort)f(Proto)q(col)g(\(CMTP\).)-28 2098
y(V)o(GP)m(,)c(UPD)o(A)m(TE)g(and)h(RSYNTH)f(are)i(not)e(addressed)j(b)q(elo)
o(w;)e(for)f(a)g(complete)h(description)g(of)f(IDPR)g(arc)o(hitecture)j(and)d
(proto)q(col)-90 2148 y(sp)q(eci\014cations)15 b(the)f(reader)i(is)d
(referred)j(to)e([50)o(,)f(84,)g(7,)g(28].)-90 2278 y Fc(5.3.1.1)48
b(P)o(olicy)14 b(Routes)-90 2373 y Fm(The)k(foremost)e(purp)q(ose)i(of)f
(IDPR)f(is)h(the)h(main)o(tenance)e(of)h(PRs.)28 b(Therefore,)19
b(in)d(order)i(to)f(understand)i(the)e(inner)h(w)o(orkings)f(of)-90
2422 y(IDPR,)c(it)g(is)h(crucial)g(to)g(understand)h(the)f(PR)g(life-cycle.)
-28 2490 y(With)k(resp)q(ect)i(to)e(a)f(giv)o(en)h(PR,)f(there)i(are)f(three)
i(t)o(yp)q(es)e(of)g(PGs:)26 b(i\))17 b(ORIGINA)m(TOR,)g(ii\))g(T)m(AR)o
(GET,)f(and)i(iii\))f(TRANSIT.)-90 2540 y(ORIGINA)m(TOR)e(is)i(the)g(exit)f
(PG)h(in)f(the)h(source)h(AD)e(that)g(initiates)g(the)h(installation)e(of)h
(the)h(PR)f(\(i.e.,)g(originates)g(the)h(SETUP)p -90 2623 864
2 v -44 2649 a Fh(2)-26 2661 y Fg(Of)11 b(whic)o(h)g(the)g(author)f(is)h(a)h
(mem)o(b)q(er.)2028 2770 y Fm(64)p eop
%%Page: 65 5
bop 240 -150 a
 23207776 21313290 0 0 40258437 52099153 startTexFig
240 -150 a
%%BeginDocument: idpr.ps
/FMversion (2.0) def 
/FrameDict 170 dict def 
systemdict /errordict known not { /errordict 10 dict def
		errordict /rangecheck { stop } put } if
FrameDict /tmprangecheck errordict /rangecheck get put 
errordict /rangecheck {FrameDict /bug true put} put 
FrameDict /bug false put 
mark 
currentfile 5 string readline
00
0000000000
cleartomark 
errordict /rangecheck FrameDict /tmprangecheck get put 
FrameDict /bug get { 
	/readline {
		/gstring exch def
		/gfile exch def
		/gindex 0 def
		{
			gfile read pop 
			dup 10 eq {exit} if 
			dup 13 eq {exit} if 
			gstring exch gindex exch put 
			/gindex gindex 1 add def 
		} loop
		pop 
		gstring 0 gindex getinterval true 
		} def
	} if
/FMVERSION {
	FMversion ne {
		/Times-Roman findfont 18 scalefont setfont
		100 100 moveto
		(FrameMaker version does not match postscript_prolog!)
		dup =
		show showpage
		} if
	} def 
/FMLOCAL {
	FrameDict begin
	0 def 
	end 
	} def 
	/gstring FMLOCAL
	/gfile FMLOCAL
	/gindex FMLOCAL
	/orgxfer FMLOCAL
	/orgproc FMLOCAL
	/organgle FMLOCAL
	/orgfreq FMLOCAL
	FrameDict /graymode true put
	/yscale FMLOCAL
	/xscale FMLOCAL
	/PrintInColor systemdict /colorimage known def
PrintInColor 
	
	{
	/HUE 0 def
	/SAT 0 def
	/BRIGHT 0 def
	% array of arrays Hue and Sat values for the separations [HUE BRIGHT]
	/Colors   
	[[0    0  ]    % black
	 [0    0  ]    % white
	 [0.00 1.0]    % red
	 [0.37 1.0]    % green
	 [0.60 1.0]    % blue
	 [0.50 1.0]    % cyan
	 [0.83 1.0]    % magenta
	 [0.16 1.0]    % comment
	 ] def
      
	/BEGINBITMAPCOLOR { 
		BITMAPCOLOR } def
	/BEGINBITMAPCOLORc { 
		BITMAPCOLORc } def
	/K { 
		Colors exch get dup
		0 get /HUE exch store 
		1 get /BRIGHT exch store
		  HUE 0 eq BRIGHT 0 eq and
			{1.0 SAT sub setgray }
			{HUE SAT BRIGHT sethsbcolor } 
		  ifelse
		} def
	/mysetgray { 
		/SAT exch 1.0 exch sub store 
		  HUE 0 eq BRIGHT 0 eq and
			{1.0 SAT sub setgray }
			{HUE SAT BRIGHT sethsbcolor } 
		  ifelse
		} bind def
	}
	
	{
	/BEGINBITMAPCOLOR { 
		BITMAPGRAY } def
	/BEGINBITMAPCOLORc { 
		BITMAPGRAYc } def
	/mysetgray { setgray } bind def
	/K { 
		pop
		} def
	}
ifelse
/max	{2 copy lt {exch} if pop} bind def
/min	{2 copy gt {exch} if pop} bind def
/mtx matrix defaultmatrix def
/setmanualfeed {
	 statusdict /manualfeed true put
	} def
/FMDOCUMENT { 
	array /FMfonts exch def
	/#copies exch def
	0 ne dup {setmanualfeed} if
	FrameDict begin
	/manualfeed exch def
	/paperheight exch def
	/paperwidth exch def
	setpapername
	manualfeed {true} {papersize} ifelse 
	{manualpapersize} {false} ifelse 
	{desperatepapersize} if
	/yscale exch def
	/xscale exch def
	currenttransfer cvlit /orgxfer exch def
	currentscreen cvlit /orgproc exch def
	/organgle exch def /orgfreq exch def
	end 
	} def 
	/pagesave FMLOCAL
	/orgmatrix FMLOCAL
	/landscape FMLOCAL
/FMBEGINPAGE {  
	FrameDict begin 
	/pagesave save def
	3.86 setmiterlimit
	/landscape exch 0 ne store
	landscape { 
		90 rotate 0 exch neg translate pop 
		}
		{ pop pop }
		ifelse
	xscale yscale scale
	/orgmatrix matrix def
	gsave 
	} def 
/FMENDPAGE {
	grestore 
	pagesave restore
	end 
	showpage
	} def 
	/fontname FMLOCAL
	/fontscale FMLOCAL
	/fontnum FMLOCAL
	/fontdict FMLOCAL
/FMDEFINEFONT {
	FrameDict begin
	/fontname exch def
	/fontscale exch def
	/fontnum exch def
	/fontdict fontname findfont fontscale scalefont def
	fontdict /Encoding get StandardEncoding eq
	{
		fontdict DiacriticEncode 
		/fontdict exch def
	} {
		fontdict NonDiacriticEncode
		/fontdict exch def
	} ifelse
	FMfonts fontnum
		fontnum fontdict definefont
	put
	end 
	} def 
/FMNORMALIZEGRAPHICS { 
	newpath
	0.0 0.0 moveto
	1 setlinewidth
	0 setlinecap
	0 mysetgray
	} bind def
/FMBEGINEPSF { 
	end 
	/FMEPSF save def
	/showpage {} def 
	FMNORMALIZEGRAPHICS 
	[/fy /fx /fh /fw /ury /urx /lly /llx] {exch def} forall 
	fx fy translate 
	rotate
	fw urx llx sub div fh ury lly sub div scale 
	llx neg lly neg translate 
	} bind def
/FMENDEPSF {
	FMEPSF restore
	FrameDict begin 
	} bind def
FrameDict begin 
/pagedimen { 
	paperheight sub abs 16 lt exch 
	paperwidth sub abs 16 lt and
	{/papername exch def} {pop} ifelse
	} def
/inch {72 mul} def
/setpapername { 
	/papersizedict 14 dict def 
	papersizedict begin
	/papername /unknown def 
		/Letter 8.5 inch 11.0 inch pagedimen
		/LetterSmall 7.68 inch 10.16 inch pagedimen
		/Tabloid 11.0 inch 17.0 inch pagedimen
		/Ledger 17.0 inch 11.0 inch pagedimen
		/Legal 8.5 inch 14.0 inch pagedimen
		/Statement 5.5 inch 8.5 inch pagedimen
		/Executive 7.5 inch 10.0 inch pagedimen
		/A3 11.69 inch 16.5 inch pagedimen
		/A4 8.26 inch 11.69 inch pagedimen
		/A4Small 7.47 inch 10.85 inch pagedimen
		/B4 10.125 inch 14.33 inch pagedimen
		/B5 7.16 inch 10.125 inch pagedimen
	end
	} def
/papersize {
	papersizedict begin
		/Letter {lettertray} def
		/LetterSmall {lettertray lettersmall} def
		/Tabloid {11x17tray} def
		/Ledger {ledgertray} def
		/Legal {legaltray} def
		/Statement {statementtray} def
		/Executive {executivetray} def
		/A3 {a3tray} def
		/A4 {a4tray} def
		/A4Small {a4tray a4small} def
		/B4 {b4tray} def
		/B5 {b5tray} def
		/unknown {unknown} def
	papersizedict dup papername known {papername} {/unknown} ifelse get
	end
	statusdict begin stopped end 
	} def
/manualpapersize {
	papersizedict begin
		/Letter {letter} def
		/LetterSmall {lettersmall} def
		/Tabloid {11x17} def
		/Ledger {ledger} def
		/Legal {legal} def
		/Statement {statement} def
		/Executive {executive} def
		/A3 {a3} def
		/A4 {a4} def
		/A4Small {a4small} def
		/B4 {b4} def
		/B5 {b5} def
		/unknown {unknown} def
	papersizedict dup papername known {papername} {/unknown} ifelse get
	end
	stopped 
	} def
/desperatepapersize {
	statusdict /setpageparams known
		{
		paperwidth paperheight 0 1 
		statusdict begin
		{setpageparams} stopped pop 
		end
		} if
	} def
/savematrix {
	orgmatrix currentmatrix pop
	} bind def
/restorematrix {
	orgmatrix setmatrix
	} bind def
/dmatrix matrix def
/dpi    72 0 dmatrix defaultmatrix dtransform
    dup mul exch   dup mul add   sqrt def
/freq dpi 18.75 div 8 div round dup 0 eq { pop 1 } if 8 mul dpi exch div def
/sangle 1 0 dmatrix defaultmatrix dtransform exch atan def
/DiacriticEncoding [
/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
/.notdef /.notdef /.notdef /.notdef /space /exclam /quotedbl
/numbersign /dollar /percent /ampersand /quotesingle /parenleft
/parenright /asterisk /plus /comma /hyphen /period /slash /zero /one
/two /three /four /five /six /seven /eight /nine /colon /semicolon
/less /equal /greater /question /at /A /B /C /D /E /F /G /H /I /J /K
/L /M /N /O /P /Q /R /S /T /U /V /W /X /Y /Z /bracketleft /backslash
/bracketright /asciicircum /underscore /grave /a /b /c /d /e /f /g /h
/i /j /k /l /m /n /o /p /q /r /s /t /u /v /w /x /y /z /braceleft /bar
/braceright /asciitilde /.notdef /Adieresis /Aring /Ccedilla /Eacute
/Ntilde /Odieresis /Udieresis /aacute /agrave /acircumflex /adieresis
/atilde /aring /ccedilla /eacute /egrave /ecircumflex /edieresis
/iacute /igrave /icircumflex /idieresis /ntilde /oacute /ograve
/ocircumflex /odieresis /otilde /uacute /ugrave /ucircumflex
/udieresis /dagger /.notdef /cent /sterling /section /bullet
/paragraph /germandbls /registered /copyright /trademark /acute
/dieresis /.notdef /AE /Oslash /.notdef /.notdef /.notdef /.notdef
/yen /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
/ordfeminine /ordmasculine /.notdef /ae /oslash /questiondown
/exclamdown /logicalnot /.notdef /florin /.notdef /.notdef
/guillemotleft /guillemotright /ellipsis /.notdef /Agrave /Atilde
/Otilde /OE /oe /endash /emdash /quotedblleft /quotedblright
/quoteleft /quoteright /.notdef /.notdef /ydieresis /Ydieresis
/fraction /currency /guilsinglleft /guilsinglright /fi /fl /daggerdbl
/periodcentered /quotesinglbase /quotedblbase /perthousand
/Acircumflex /Ecircumflex /Aacute /Edieresis /Egrave /Iacute
/Icircumflex /Idieresis /Igrave /Oacute /Ocircumflex /.notdef /Ograve
/Uacute /Ucircumflex /Ugrave /dotlessi /circumflex /tilde /macron
/breve /dotaccent /ring /cedilla /hungarumlaut /ogonek /caron
] def
	/basefontdict FMLOCAL
	/newfontdict FMLOCAL
/DiacriticEncode {
	/basefontdict exch def
	/newfontdict basefontdict maxlength dict def
	basefontdict
	{exch dup /FID ne
		{dup /Encoding eq
			{exch pop DiacriticEncoding}
			{exch}
			ifelse
			newfontdict 3 1 roll put
			}
		{pop pop}
		ifelse
		} forall
	newfontdict
	} bind def
/NonDiacriticEncode {
	/basefontdict exch def
	/newfontdict basefontdict maxlength dict def
	basefontdict
	{exch dup /FID ne
		{exch newfontdict 3 1 roll put}
		{pop pop}
		ifelse
		} forall
	newfontdict
	} bind def
	/bwidth FMLOCAL
	/bpside FMLOCAL
	/bstring FMLOCAL
	/onbits FMLOCAL
	/offbits FMLOCAL
	/xindex FMLOCAL
	/yindex FMLOCAL
	/x FMLOCAL
	/y FMLOCAL
/setpattern {
	 /bwidth  exch def
	 /bpside  exch def
	 /bstring exch def
	 /onbits 0 def  /offbits 0 def
	 freq sangle landscape {90 add} if 
		{/y exch def
		 /x exch def
		 /xindex x 1 add 2 div bpside mul cvi def
		 /yindex y 1 add 2 div bpside mul cvi def
		 bstring yindex bwidth mul xindex 8 idiv add get
		 1 7 xindex 8 mod sub bitshift and 0 ne
		 {/onbits  onbits  1 add def 1}
		 {/offbits offbits 1 add def 0}
		 ifelse
		}
		setscreen
	 {} settransfer
	 offbits offbits onbits add div mysetgray
	/graymode false store
	} bind def
/grayness {
	mysetgray
	graymode not {
		/graymode true store
		orgxfer cvx settransfer
		orgfreq organgle orgproc cvx setscreen
		} if
	} bind def
/normalize {
	transform round exch round exch itransform
	} bind def
/dnormalize {
	dtransform round exch round exch idtransform
	} bind def
/lnormalize { 
	0 dtransform exch cvi 2 idiv 2 mul 1 add exch idtransform pop
	} bind def
/H { 
	lnormalize setlinewidth
	} bind def
/Z { 
	setlinecap
	} bind def
/X { 
	fillprocs exch get exec
	} bind def
/V { 
	gsave eofill grestore
	} bind def
/N { 
	stroke
	} bind def
/M {newpath moveto} bind def
/E {lineto} bind def
/D {curveto} bind def
/O {closepath} bind def
	/n FMLOCAL
/L { 
 	/n exch def
	newpath
	normalize
	moveto 
	2 1 n {pop normalize lineto} for
	} bind def
/Y { 
	L 
	closepath
	} bind def
	/x1 FMLOCAL
	/x2 FMLOCAL
	/y1 FMLOCAL
	/y2 FMLOCAL
	/rad FMLOCAL
/R { 
	/y2 exch def
	/x2 exch def
	/y1 exch def
	/x1 exch def
	x1 y1
	x2 y1
	x2 y2
	x1 y2
	4 Y 
	} bind def
/RR { 
	/rad exch def
	normalize
	/y2 exch def
	/x2 exch def
	normalize
	/y1 exch def
	/x1 exch def
	newpath
	x1 y1 rad add moveto
	x1 y2 x2 y2 rad arcto
	x2 y2 x2 y1 rad arcto
	x2 y1 x1 y1 rad arcto
	x1 y1 x1 y2 rad arcto
	closepath
	16 {pop} repeat
	} bind def
/C { 
	grestore
	gsave
	R 
	clip
	} bind def
/U { 
	grestore
	gsave
	} bind def
/F { 
	FMfonts exch get
	setfont
	} bind def
/T { 
	moveto show
	} bind def
/RF { 
	rotate
	0 ne { -1 1 scale } if
	} bind def
/TF { 
	gsave
	moveto 
	RF
	show
	grestore
	} bind def
/P { 
	moveto
	0 32 3 2 roll widthshow
	} bind def
/PF { 
	gsave
	moveto 
	RF
	0 32 3 2 roll widthshow
	grestore
	} bind def
/S { 
	moveto
	0 exch ashow
	} bind def
/SF { 
	gsave
	moveto
	RF
	0 exch ashow
	grestore
	} bind def
/B { 
	moveto
	0 32 4 2 roll 0 exch awidthshow
	} bind def
/BF { 
	gsave
	moveto
	RF
	0 32 4 2 roll 0 exch awidthshow
	grestore
	} bind def
	/x FMLOCAL
	/y FMLOCAL
	/dx FMLOCAL
	/dy FMLOCAL
	/dl FMLOCAL
	/t FMLOCAL
	/t2 FMLOCAL
	/Cos FMLOCAL
	/Sin FMLOCAL
	/r FMLOCAL
/W { 
	dnormalize
	/dy exch def
	/dx exch def
	normalize
	/y  exch def
	/x  exch def
	/dl dx dx mul dy dy mul add sqrt def
	dl 0.0 gt {
		/t currentlinewidth def
		savematrix
		/Cos dx dl div def
		/Sin dy dl div def
		/r [Cos Sin Sin neg Cos 0.0 0.0] def
		/t2 t 2.5 mul 3.5 max def
		newpath
		x y translate
		r concat
		0.0 0.0 moveto
		dl t 2.7 mul sub 0.0 rlineto
		stroke
		restorematrix
		x dx add y dy add translate
		r concat
		t 0.67 mul setlinewidth
		t 1.61 mul neg  0.0 translate
		0.0 0.0 moveto
		t2 1.7 mul neg  t2 2.0 div     moveto
		0.0 0.0 lineto
		t2 1.7 mul neg  t2 2.0 div neg lineto
		stroke
		t setlinewidth
		restorematrix
		} if
	} bind def
/G { 
	gsave
	newpath
	normalize translate 0.0 0.0 moveto 
	dnormalize scale 
	0.0 0.0 1.0 5 3 roll arc 
	closepath fill
	grestore
	} bind def
/A { 
	gsave
	savematrix
	newpath
	2 index 2 div add exch 3 index 2 div sub exch 
	normalize 2 index 2 div sub exch 3 index 2 div add exch 
	translate 
	scale 
	0.0 0.0 1.0 5 3 roll arc 
	restorematrix
	stroke
	grestore
	} bind def
	/x FMLOCAL
	/y FMLOCAL
	/w FMLOCAL
	/h FMLOCAL
	/xx FMLOCAL
	/yy FMLOCAL
	/ww FMLOCAL
	/hh FMLOCAL
	/FMsaveobject FMLOCAL
	/FMoptop FMLOCAL
	/FMdicttop FMLOCAL
/BEGINPRINTCODE { 
	/FMdicttop countdictstack 1 add def 
	/FMoptop count 4 sub def 
	/FMsaveobject save def
	userdict begin 
	/showpage {} def 
	FMNORMALIZEGRAPHICS 
	3 index neg 3 index neg translate
	} bind def
/ENDPRINTCODE {
	count -1 FMoptop {pop pop} for 
	countdictstack -1 FMdicttop {pop end} for 
	FMsaveobject restore 
	} bind def
/gn { 
	0 
	{	46 mul 
		cf read pop 
		32 sub 
		dup 46 lt {exit} if 
		46 sub add 
		} loop
	add 
	} bind def
	/str FMLOCAL
/cfs { 
	/str sl string def 
	0 1 sl 1 sub {str exch val put} for 
	str def 
	} bind def
/ic [ 
	0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0223
	0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0223
	0
	{0 hx} {1 hx} {2 hx} {3 hx} {4 hx} {5 hx} {6 hx} {7 hx} {8 hx} {9 hx}
	{10 hx} {11 hx} {12 hx} {13 hx} {14 hx} {15 hx} {16 hx} {17 hx} {18 hx}
	{19 hx} {gn hx} {0} {1} {2} {3} {4} {5} {6} {7} {8} {9} {10} {11} {12}
	{13} {14} {15} {16} {17} {18} {19} {gn} {0 wh} {1 wh} {2 wh} {3 wh}
	{4 wh} {5 wh} {6 wh} {7 wh} {8 wh} {9 wh} {10 wh} {11 wh} {12 wh}
	{13 wh} {14 wh} {gn wh} {0 bl} {1 bl} {2 bl} {3 bl} {4 bl} {5 bl} {6 bl}
	{7 bl} {8 bl} {9 bl} {10 bl} {11 bl} {12 bl} {13 bl} {14 bl} {gn bl}
	{0 fl} {1 fl} {2 fl} {3 fl} {4 fl} {5 fl} {6 fl} {7 fl} {8 fl} {9 fl}
	{10 fl} {11 fl} {12 fl} {13 fl} {14 fl} {gn fl}
	] def
	/sl FMLOCAL
	/val FMLOCAL
	/ws FMLOCAL
	/im FMLOCAL
	/bs FMLOCAL
	/cs FMLOCAL
	/len FMLOCAL
	/pos FMLOCAL
/ms { 
	/sl exch def 
	/val 255 def 
	/ws cfs 
	/im cfs 
	/val 0 def 
	/bs cfs 
	/cs cfs 
	} bind def
400 ms 
/ip { 
	is 
	0 
	cf cs readline pop 
	{	ic exch get exec 
		add 
		} forall 
	pop 
	
	} bind def
/wh { 
	/len exch def 
	/pos exch def 
	ws 0 len getinterval im pos len getinterval copy pop
	pos len 
	} bind def
/bl { 
	/len exch def 
	/pos exch def 
	bs 0 len getinterval im pos len getinterval copy pop
	pos len 
	} bind def
/s1 1 string def
/fl { 
	/len exch def 
	/pos exch def 
	/val cf s1 readhexstring pop 0 get def
	pos 1 pos len add 1 sub {im exch val put} for
	pos len 
	} bind def
/hx { 
	3 copy getinterval 
	cf exch readhexstring pop pop 
	} bind def
	/h FMLOCAL
	/w FMLOCAL
	/d FMLOCAL
	/lb FMLOCAL
	/bitmapsave FMLOCAL
	/is FMLOCAL
	/cf FMLOCAL
/wbytes {  
	dup 
	8 eq { pop } { 1 eq { 7 add 8 idiv } { 3 add 4 idiv } ifelse } ifelse
	} bind def
/BEGINBITMAPBWc { 
	1 {} COMMONBITMAPc
	} bind def
/BEGINBITMAPGRAYc { 
	8 {} COMMONBITMAPc
	} bind def
/BEGINBITMAP2BITc { 
	2 {} COMMONBITMAPc
	} bind def
/COMMONBITMAPc { 
	/r exch def
	/d exch def
	gsave
	translate rotate scale /h exch def /w exch def
	/lb w d wbytes def 
	sl lb lt {lb ms} if 
	/bitmapsave save def 
	r                    
	/is im 0 lb getinterval def 
	ws 0 lb getinterval is copy pop 
	/cf currentfile def 
	w h d [w 0 0 h neg 0 h] 
	{ip} image 
	bitmapsave restore 
	grestore
	} bind def
/BEGINBITMAPBW { 
	1 {} COMMONBITMAP
	} bind def
/BEGINBITMAPGRAY { 
	8 {} COMMONBITMAP
	} bind def
/BEGINBITMAP2BIT { 
	2 {} COMMONBITMAP
	} bind def
/COMMONBITMAP { 
	/r exch def
	/d exch def
	gsave
	translate rotate scale /h exch def /w exch def
	/bitmapsave save def 
	r                    
	/is w d wbytes string def
	/cf currentfile def 
	w h d [w 0 0 h neg 0 h] 
	{ cf is readhexstring pop } image
	bitmapsave restore 
	grestore
	} bind def
/Fmcc {
    /proc2 exch cvlit def
    /proc1 exch cvlit def
    /newproc proc1 length proc2 length add array def
    newproc 0 proc1 putinterval
    newproc proc1 length proc2 putinterval
    newproc cvx
} bind def
/colorsetup {
	currentcolortransfer
	/gryt exch def
	/blut exch def
	/grnt exch def
	/redt exch def
	/ngrayt 256 array def
	/nredt 256 array def
	/nbluet 256 array def
	/ngreent 256 array def
	0 1 255 {
		/indx exch def
		/cynu 1 red indx get 255 div sub def
		/magu 1 green indx get 255 div sub def
		/yelu 1 blue indx get 255 div sub def
		/k cynu magu min yelu min def
		/u k currentundercolorremoval exec def
		nredt indx 1 0 cynu u sub max sub redt exec put
		ngreent indx 1 0 magu u sub max sub grnt exec put
		nbluet indx 1 0 yelu u sub max sub blut exec put
		ngrayt indx 1 k currentblackgeneration exec sub gryt exec put
	} for
	{255 mul cvi nredt exch get}
	{255 mul cvi ngreent exch get}
	{255 mul cvi nbluet exch get}
	{255 mul cvi ngrayt exch get}
	setcolortransfer
	{pop 0} setundercolorremoval
	{} setblackgeneration
	} bind def
/fakecolorsetup {
	/tran 256 string def
	0 1 255 { /ind exch def 
		tran ind
		red ind get 77 mul
		green ind get 151 mul
		blue ind get 28 mul
		add add 256 idiv put } for
	currenttransfer
	{ 255 mul cvi tran exch get 255.0 div }
	exch Fmcc settransfer
} bind def
/BITMAPCOLOR { 
	/d 8 def
	gsave
	translate rotate scale /h exch def /w exch def
	/bitmapsave save def 
	colorsetup
	/is w d wbytes string def
	/cf currentfile def 
	w h d [w 0 0 h neg 0 h] 
	{ cf is readhexstring pop } {is} {is} true 3 colorimage 
	bitmapsave restore 
	grestore
	} bind def
/BITMAPCOLORc { 
	/d 8 def
	gsave
	translate rotate scale /h exch def /w exch def
	/lb w d wbytes def 
	sl lb lt {lb ms} if 
	/bitmapsave save def 
	colorsetup
	/is im 0 lb getinterval def 
	ws 0 lb getinterval is copy pop 
	/cf currentfile def 
	w h d [w 0 0 h neg 0 h] 
	{ip} {is} {is} true 3 colorimage
	bitmapsave restore 
	grestore
	} bind def
/BITMAPGRAY { 
	8 {fakecolorsetup} COMMONBITMAP
	} bind def
/BITMAPGRAYc { 
	8 {fakecolorsetup} COMMONBITMAPc
	} bind def
/ENDBITMAP {
	} bind def
end 
(2.0) FMVERSION
1 1  2 2  0 1 2 FMDOCUMENT
/fillprocs 32 array def
fillprocs 0 { 0.000000 grayness } put
fillprocs 1 { 0.100000 grayness } put
fillprocs 2 { 0.300000 grayness } put
fillprocs 3 { 0.500000 grayness } put
fillprocs 4 { 0.700000 grayness } put
fillprocs 5 { 0.900000 grayness } put
fillprocs 6 { 0.970000 grayness } put
fillprocs 7 { 1.000000 grayness } put
fillprocs 8 {<0f1e3c78f0e1c387> 8 1 setpattern } put
fillprocs 9 {<0f87c3e1f0783c1e> 8 1 setpattern } put
fillprocs 10 {<cccccccccccccccc> 8 1 setpattern } put
fillprocs 11 {<ffff0000ffff0000> 8 1 setpattern } put
fillprocs 12 {<8142241818244281> 8 1 setpattern } put
fillprocs 13 {<03060c183060c081> 8 1 setpattern } put
fillprocs 14 {<8040201008040201> 8 1 setpattern } put
fillprocs 15 {} put
fillprocs 16 { 1.000000 grayness } put
fillprocs 17 { 0.900000 grayness } put
fillprocs 18 { 0.700000 grayness } put
fillprocs 19 { 0.500000 grayness } put
fillprocs 20 { 0.300000 grayness } put
fillprocs 21 { 0.100000 grayness } put
fillprocs 22 { 0.030000 grayness } put
fillprocs 23 { 0.000000 grayness } put
fillprocs 24 {<f0e1c3870f1e3c78> 8 1 setpattern } put
fillprocs 25 {<f0783c1e0f87c3e1> 8 1 setpattern } put
fillprocs 26 {<3333333333333333> 8 1 setpattern } put
fillprocs 27 {<0000ffff0000ffff> 8 1 setpattern } put
fillprocs 28 {<7ebddbe7e7dbbd7e> 8 1 setpattern } put
fillprocs 29 {<fcf9f3e7cf9f3f7e> 8 1 setpattern } put
fillprocs 30 {<7fbfdfeff7fbfdfe> 8 1 setpattern } put
fillprocs 31 {} put
0 18 /AvantGarde-Demi FMDEFINEFONT
1 24 /Helvetica FMDEFINEFONT
612 792 0 FMBEGINPAGE
0 0 612 792 C
0 0 612 792 R
7 X
0 K
V
72 746 540 756 R
V
72 32.67 540 42.67 R
V
241.21 119.03 246.55 175.96 R
0 X
V
4 H
2 Z
N
6 X
90 450 132.13 36.6 245.22 229.73 G
0 X
90 450 132.13 36.6 245.22 229.73 A
4 X
90 450 76.07 32.53 268.35 609.74 G
0 X
90 450 76.07 32.53 268.35 609.74 A
3 X
90 450 128.12 36.6 246.55 438.49 G
0 X
90 450 128.12 36.6 246.55 438.49 A
14 X
90 450 73.72 32.53 103.43 661.25 G
0 X
90 450 73.72 32.53 103.43 661.25 A
5 X
90 450 84.85 39.6 461.08 581.16 G
0 X
90 450 84.85 39.6 461.08 581.16 A
13 X
90 450 76.07 32.53 117.98 536.54 G
0 X
90 450 76.07 32.53 117.98 536.54 A
0 F
(Contol Message T) 140.35 439.6 T
(ransport ) 293.59 439.6 T
(Pr) 185.5 415.66 T
(otocol \050CMTP\051) 201.01 415.66 T
(V) 396.35 581.78 T
(irtual Gateway) 408.78 581.78 T
(Pr) 410.54 563.78 T
(otocol \050VGP\051) 426.05 563.78 T
(Update Pr) 47.03 536.67 T
(otocol) 131.62 536.67 T
(\050UPDA) 81.78 517.64 T
(TE\051) 134.79 517.64 T
(Route Synthesis) 34.67 657.85 T
(\050RSYNTH\051) 61.37 642.66 T
(Path Setup ) 222.18 611.24 T
(\050SETUP\051) 238.52 591.14 T
(IDPR Packet Switching) 158.27 229.66 T
(\050KERNEL\051) 208.25 210.67 T
1 F
(Kernel) 160.67 343.49 T
(Boundary) 252.57 343.49 T
309.29 645.34 285.77 640.55 303.18 657.08 306.23 651.21 4 Y
V
441.28 620.82 M
 362.21 668.81 353.08 674.36 306.29 651.11 D
0 Z
N
74.26 611.64 65.93 634.15 84.92 619.48 79.59 615.56 4 Y
V
113.98 568.17 79.45 615.75 2 L
2 Z
N
448.67 529.96 469.84 541.26 457.88 520.46 453.27 525.21 4 Y
V
392.16 456.16 370.99 444.87 382.96 465.67 387.56 460.92 4 Y
V
453.46 525.37 387.4 460.73 2 L
0 Z
N
260.4 554.14 267.02 577.21 273.63 554.14 267.02 554.14 4 Y
V
273.63 498.16 267.02 475.09 260.4 498.16 267.02 498.16 4 Y
V
267.02 554.38 267.02 497.92 2 L
N
188.15 496.42 170.03 512.15 193.74 508.42 190.94 502.42 4 Y
V
230.2 491.73 248.32 476 224.62 479.74 227.41 485.74 4 Y
V
190.73 502.51 227.63 485.63 2 L
N
237.65 317.84 250.11 331.4 R
7 X
V
2 Z
N
232.32 132.59 252.78 132.59 244.01 109.99 3 Y
0 X
V
N
231.43 289.83 251.89 289.83 243.12 267.24 3 Y
V
N
231.43 380.2 251.89 380.2 243.12 402.79 3 Y
V
N
233.21 169.64 253.67 169.64 244.9 192.23 3 Y
V
N
( network) 197.28 96.42 T
419.13 261.95 435.94 301.38 R
7 X
N
239.43 339.55 244.77 381.1 R
0 X
V
N
239.43 276.13 244.77 323.6 R
V
N
273.8 664.95 266.77 642 260.57 665.18 267.18 665.07 4 Y
V
194.63 676.89 170.65 676 190.51 689.46 192.57 683.18 4 Y
V
192.6 683.13 M
 257.55 704 266.92 703.46 267.19 665.06 D
0 Z
N
18 90 557 712 R
9 X
N
18.94 332 555.11 332 2 L
2 Z
3 X
N
FMENDPAGE
%%EndDocument
 240 -150 a
 endTexFig
628 1203 a Fm(Figure)14 b(5.4:)j(In)o(terpla)o(y)d(of)f(IDPR)h(proto)q(cols)
-90 1331 y(pac)o(k)o(et\).)k(T)m(AR)o(GET)13 b(is)g(the)h(en)o(try)g(PG)g(in)
f(the)h(destination)f(AD)g(\(i.e.,)g(the)h(last)f(PG)g(hop)h(in)f(the)h
(PR\).)f(All)g(other)h(PGs)f(in)o(v)o(olv)o(ed)g(are)-90 1381
y(TRANSIT;)g(for)h(ev)o(ery)g(TRANSIT)g(PG)g(b)q(oth)g(PG-NEXT)g(and)f
(PG-PREV)h(are)g(de\014ned.)-28 1448 y(A)g(PR)g(can)g(b)q(e)g(in)g(an)o(y)f
(one)h(of)g(the)g(sev)o(en)h(states:)-39 1544 y(1.)20 b Fc(PR-EMBR)l(YONIC)14
b Fm(\(ORIGINA)m(TOR\))14 1594 y(SETUP-REQUEST)h(from)d(KERNEL)i(is)g(receiv)
o(ed)h(and)f(R)o(OUTE-REQUEST)g(is)g(subsequen)o(tly)h(generated)g(to)f
(RSYNTH.)-39 1674 y(2.)20 b Fc(PR-INITIAL)14 b Fm(\(ORIGINA)m(TOR)f(and)g
(TRANSITs\))14 1724 y(R)o(OUTE-RESPONSE)h(is)g(receiv)o(ed)h(from)d(RSYNTH)i
(and)g(SETUP)h(is)e(forw)o(arded)h(to)g(the)g(next)h(hop)f(PG)f(\(PG-NEXT\).)
-39 1805 y(3.)20 b Fc(PR-W)-5 b(AITING)13 b Fm(\(ORIGINA)m(TOR)g(and)h
(TRANSITs\))14 1855 y(SETUP)g(is)g(A)o(CK-ed)g(b)o(y)g(PG-NEXT,)g(but)g(A)o
(CCEPT)g(has)g(not)g(y)o(et)g(b)q(een)h(receiv)o(ed.)-39 1935
y(4.)20 b Fc(PR-A)o(CTIVE)14 b Fm(\(TRANSITs)g(and)g(T)m(AR)o(GET\))14
1985 y(A)o(CCEPT)g(is)g(receiv)o(ed)h(and)f(forw)o(arded)g(to)f(PG-PREV;)h
(PR)f(is)h(no)o(w)g(functional.)-39 2065 y(5.)20 b Fc(PR-COMPLETE)14
b Fm(\(all)f(PGs\))14 2115 y(A)o(CCEPT)h(is)g(A)o(CK-ed)g(b)o(y)g(PG-PREV)g
(\(except)h(for)f(ORIGINA)m(TOR\).)-39 2196 y(6.)20 b Fc(PR-D)o(YING)12
b Fm(\(all)h(PGs\))64 2276 y Fd(\017)20 b Fm(TEARDO)o(WN)13
b(is)h(generated)h(or)f(receiv)o(ed)i(from)c(some)h(PG)g(in)h(the)g(path.)64
2340 y Fd(\017)20 b Fm(REFUSE)14 b(is)g(generated)h(or)f(receiv)o(ed)h(from)d
(some)h(PG)h(\(via)f(PG-NEXT\))h(in)g(the)g(path.)64 2404 y
Fd(\017)20 b Fm(CMTP)14 b(TIMEOUT)h(on)e(A)o(CCEPT)i(to)e(PG-PREV.)64
2468 y Fd(\017)20 b Fm(TIMEOUT)15 b(\(not)f(CMTP\))g(on)f(receiving)i(A)o
(CCEPT)f(from)e(upstream.)64 2532 y Fd(\017)20 b Fm(ERR)o(OR)13
b(on)h(pro)q(cessing)h(SETUP)m(.)-39 2612 y(7.)20 b Fc(PR-FREE)14
b Fm(\(all)e(PGs\))14 2662 y(PR)h(en)o(try)i(is)f(freed.)2028
2770 y(65)p eop
%%Page: 66 6
bop -90 -108 a Fc(5.3.1.2)48 b(Proto)q(col)14 b(Description)o(:)19
b(ORIGINA)l(TOR)d(PG)-90 -14 y Fm(A)i(PR)f(is)h(\014rst)g Fl(c)n(onc)n(eive)n
(d)g Fm(at)g(the)g(ORIGINA)m(TOR)f(PG)g(when)i(the)f(IDPR)f(encapsulation)h
(mo)q(dule)e(receiv)o(es)j(a)f(pac)o(k)o(et)g(and)f(fails)-90
36 y(to)g(lo)q(cate)g(a)g(corresp)q(onding)h(HOST-T)m(ABLE)f(en)o(try)h(for)f
(it.)27 b(It)17 b(then)h(comp)q(oses)f(a)g(SETUP-REQUEST)h(pac)o(k)o(et)f
(whic)o(h)g(consists)-90 86 y(of)e(a)h(short)g(pream)o(ble)f(follo)o(w)o(ed)f
(b)o(y)i(the)g(IP)g(pac)o(k)o(et)g(itself.)24 b(Once)17 b(SETUP)f(receiv)o
(es)i(this)d(request)j(it)d(\014rst)i(c)o(hec)o(ks)g(to)f(see)h(whether)-90
135 y(there)e(is)f(an)g(existing)g(PR)g(whic)o(h)g(can)g(b)q(e)h(used)g(for)f
(the)h(new)f(host-pair.)19 b(If)14 b(suc)o(h)g(a)g(PR)g(exists,)h(SETUP)f
(\014lls)g(in)g(the)g Fl(pi)g Fm(\014eld)h(in)e(the)-90 185
y(SETUP-REQUEST)i(and)f(installs)f(a)g(new)i(HOST)f(T)m(ABLE)g(en)o(try)h
(via)e(a)g(system)h(call)f(\(IDPR-T)m(ABLE:)g(Put-host-en)o(try\).)-28
253 y(If)i(no)f(existing)h(PR)g(can)g(b)q(e)g(used,)h(the)f(ORIGINA)m(TOR)f
(generates)j(a)d(R)o(OUTE-REQUEST)i(to)e(Route)h(Syn)o(thesis,)g(RSYNTH.)-90
303 y(It)f(is)f(assumed)g(\(for)h(the)g(time)e(b)q(eing\))i(that)f(RSYNTH)h
(is)f(alw)o(a)o(ys)f(co-lo)q(cated)i(with)g(the)g(SETUP)g(comp)q(onen)o(t,)e
(i.e.,)g(it)i(is)f(presen)o(t)i(at)-90 353 y(eac)o(h)h(PG.)g(Therefore,)h
(there)g(is)f(\(as)g(of)f(y)o(et\))h(no)g(timeout)f(on)g(R)o(OUTE-REQUESTs.)
25 b(The)16 b(reply)g(from)f(RSYNTH)g(comes)h(in)f(the)-90
402 y(form)d(of)h(a)g(R)o(OUTE-RESPONSE)i(pac)o(k)o(et,)e(whose)h(format)e
(is)i(iden)o(tical)f(to)g(that)h(of)f(R)o(OUTE-REQUEST.)g(R)o(OUTE-RESPONSE)
-90 452 y(is)f(ph)o(ysically)e(trailed)i(b)o(y)f(the)i(PR)e(itself.)17
b(It)12 b(is)g(comp)q(osed)f(of)g(t)o(w)o(o)h(or)f(more)g(segmen)o(ts)h
(where)h(eac)o(h)f(segmen)o(t)f(corresp)q(onds)j(to)e(exactly)-90
502 y(one)i(AD)g(hop.)-28 570 y(A)19 b(sp)q(ecial)g(case)g(of)f(R)o
(OUTE-RESPONSE)h(is)f(R)o(OUTE-RESPONSE-NONE)i(whic)o(h)f(carries)g(a)f(v)n
(alue)g(of)g(zero)h(in)f(the)h Fl(hops)-90 620 y Fm(\014eld.)-2
604 y Fi(3)35 620 y Fm(In)14 b(this)g(case,)g(an)g(ICMP)g(HOST-UNREA)o
(CHABLE)h(pac)o(k)o(et)f(is)g(generated)h(to)f(the)g(source)h(host.)-28
687 y(If)h(RSYNTH)h(computes)f(a)h(v)n(alid)e(route,)i(the)g(ORIGINA)m(TOR)f
(pro)q(ceeds)i(to)f(comp)q(ose)f(a)g(SETUP)h(pac)o(k)o(et.)27
b(The)17 b(format)d(of)i(a)-90 737 y(SETUP)e(pac)o(k)o(et)h(is)e(v)o(ery)i
(similar)c(to)j(that)g(of)f(R)o(OUTE-RESPONSE.)h(It)g(also)f(consists)i(of)e
(a)h(pre-am)o(ble)e(follo)o(w)o(ed)h(b)o(y)g(the)i(sequence)-90
787 y(of)e(route)i(segmen)o(ts.)j(The)c(sequence)i(of)d(segmen)o(ts)h(is)g
(copied)g(directly)g(from)f(R)o(OUTE-RESPONSE.)-28 855 y(After)k(a)g(SETUP)g
(has)g(b)q(een)g(forw)o(arded,)g(the)g(ORIGINA)m(TOR)f(exp)q(ects)j(to)d
(receiv)o(e)i(an)e(A)o(CCEPT)h(from)e(the)i(T)m(AR)o(GET)f(PG,)-90
904 y(or)g(a)f(REFUSE)h(from)e(an)o(y)h(of)g(the)h(in)o(terv)o(ening)f(PGs.)
24 b(If)15 b(neither)h(ev)o(en)o(t)h(tak)o(es)f(place,)g(ORIGINA)m(TOR)e
(promptly)g(times)h(out)g(and)-90 954 y(attempts)f(to)g(set)h(up)f(the)g
(route)h(again,)e(ho)o(w)o(ev)o(er,)h(not)f(b)q(efore)i(selecting)g(a)f(new)g
(path)g(id.)k(This)c(is)g(done)h(to)f(prev)o(en)o(t)h(an)o(y)e(confusion)-90
1004 y(with)h(regard)g(to)g(stale)g(state)h(in)e(TRANSIT)h(PGs.)k(If)c(the)g
(ORIGINA)m(TOR)f(times)g(out)h Fl(n)g Fm(\(de\014ned)i(lo)q(cally\))c(times,)
h(it)g(giv)o(es)h(up)g(and)-90 1054 y(sends)h(an)f(ICMP)g(HOST-UNREA)o
(CHABLE)h(pac)o(k)o(et)f(to)g(the)g(source)i(host.)-28 1121
y(If)10 b(a)h(REFUSE)g(is)f(receiv)o(ed,)i(the)f(ORIGINA)m(TOR)f(logs)g(it)g
(and,)h(once)g(again,)f(sends)i(an)e(ICMP)h(HOST-UNREA)o(CHABLE)h(pac)o(k)o
(et)-90 1171 y(to)i(the)g(source.)20 b(This)13 b(is)h(clearly)g(less)g(than)g
(optimal;)d(in)j(the)g(future,)g(p)q(erhaps)h(SETUP)g(\(dep)q(ending)f(on)g
(the)g(reason)h(for)f(REFUSE\))-90 1221 y(should)g(ask)g(RSYNTH)f(for)h
(another)g(route.)-28 1289 y(The)h(arriv)n(al)d(of)i(an)g(A)o(CCEPT)g
(signals)f(that)h(the)h(PR)f(is)g(fully)e(op)q(erational.)18
b(A)o(t)c(this)g(time)f(the)i(ORIGINA)m(TOR)e(installs)g(a)h(new)-90
1339 y(PR)d(en)o(try)g(in)g(the)g(k)o(ernel)h(PR-T)m(ABLE)f(and)g(also)f
(installs)g(the)i(corresp)q(onding)g(HOST-T)m(ABLE)f(en)o(try)h(for)e(the)i
(host-pair)f(that)g(caused)-90 1388 y(the)j(setup)h(originally)m(.)-28
1456 y(Figure)f(5.5)f(illustrates)h(the)h(ORIGINA)m(TOR)d(PG)i(state)h
(diagram)c(as)j(discussed)i(ab)q(o)o(v)o(e.)-90 1586 y Fc(5.3.1.3)48
b(Proto)q(col)14 b(Description)o(:)19 b(TRANSIT)d(and)f(T)l(AR)o(GET)h(PGs)
-90 1681 y Fm(F)m(rom)c(the)i(p)q(oin)o(t)e(of)h(view)g(of)g(a)g(TRANSIT)g
(PG,)g(a)g(PR)g(is)g Fl(b)n(orn)h Fm(when)f(a)h(v)n(alid)d(SETUP)j(pac)o(k)o
(et)g(is)f(receiv)o(ed)i(from)d(a)h(recognized)h(PG)-90 1731
y(neigh)o(b)q(or.)k(A)c(SETUP)g(pac)o(k)o(et)h(is)e(considered)j(v)n(alid)c
(only)h(when)i(the)f(follo)o(wing)d(conditions)j(are)g(satis\014ed:)1643
1716 y Fi(4)-39 1831 y Fm(1.)20 b(The)14 b(route)h(m)o(ust)d(con)o(tain)i(a)f
(segmen)o(t)h(corresp)q(onding)h(to)f(the)g(lo)q(cal)f(AD.)-39
1914 y(2.)20 b(The)14 b(lo)q(cal)f(AD)h(m)o(ust)f(app)q(ear)h(only)f(once)i
(in)e(the)i(route)f(\(i.e.,)f(no)g(AD)h(lo)q(ops\).)-39 1997
y(3.)20 b(The)14 b(PRid)f(m)o(ust)g(not)h(b)q(e)g(curren)o(tly)h(in)f(use.)
-39 2080 y(4.)20 b(There)15 b(m)o(ust)e(b)q(e)h(enough)g(space)h(in)f(the)g
(PR-T)m(ABLE)g(for)f(a)h(new)g(en)o(try)m(.)-39 2163 y(5.)20
b(The)14 b(previous)g(V)o(G)g(m)o(ust)f(b)q(e)h(suc)o(h)h(that)f(there)h(is)f
(at)f(least)h(one)h(PG)e(neigh)o(b)q(or)h(that)g(b)q(elongs)g(to)g(it.)-39
2246 y(6.)20 b(The)c(source)h(address)g(in)e(the)h(IP)g(header)h(of)e(the)h
(SETUP)g(pac)o(k)o(et)h(m)o(ust)d(matc)o(h)h(one)h(PG)f(neigh)o(b)q(or)h
(that)f(is)h(a)f(mem)o(b)q(er)f(of)h(a)14 2296 y(previous)f(V)o(G.)-39
2379 y(7.)20 b(The)d(next)g(V)o(G)g(m)o(ust)f(b)q(e)h(suc)o(h)h(that)f
(either:)24 b(i\))17 b(this)g(PG)g(is)f(a)h(mem)o(b)q(er)e(of)h(it,)h(or)g
(ii\))f(there)i(is)f(a)f(PG)h(neigh)o(b)q(or)g(whic)o(h)g(is)f(a)14
2429 y(mem)o(b)q(er.)g(In)e(the)h(former)d(case,)j(there)g(m)o(ust)e(b)q(e)h
(a)g(PG)g(neigh)o(b)q(or)f(whic)o(h)h(is)g(also)f(a)h(mem)o(b)q(er)e(of)h
(the)i(said)e(V)o(G.)-39 2512 y(8.)20 b(PTs)14 b(referenced)j(in)c(the)i(lo)q
(cal)e(AD)g(segmen)o(t)h(m)o(ust)f(agree)h(with)g(the)g(c)o(haracteristics)i
(of)d(the)i(route.)p -90 2592 864 2 v -44 2619 a Fh(3)-26 2630
y Fg(Actually)m(,)9 b(a)j(route)e(of)h(length)f(one)h(is)g(also)g(treated)f
(as)h(a)g(negativ)o(e)e(resp)q(onse)h(from)g(RSYNTH.)-44 2658
y Fh(4)-26 2670 y Fg(Timeliness,)f(in)o(tegrit)o(y)g(and)i(authen)o(ticit)o
(y)d(are)j(v)o(eri\014ed)e(b)o(y)i(CMTP)m(.)2028 2770 y Fm(66)p
eop
%%Page: 67 7
bop 240 -150 a
 21313290 21313290 0 0 40258437 52099153 startTexFig
240 -150 a
%%BeginDocument: originator.ps
/FMversion (2.0) def 
/FrameDict 170 dict def 
systemdict /errordict known not { /errordict 10 dict def
		errordict /rangecheck { stop } put } if
FrameDict /tmprangecheck errordict /rangecheck get put 
errordict /rangecheck {FrameDict /bug true put} put 
FrameDict /bug false put 
mark 
currentfile 5 string readline
00
0000000000
cleartomark 
errordict /rangecheck FrameDict /tmprangecheck get put 
FrameDict /bug get { 
	/readline {
		/gstring exch def
		/gfile exch def
		/gindex 0 def
		{
			gfile read pop 
			dup 10 eq {exit} if 
			dup 13 eq {exit} if 
			gstring exch gindex exch put 
			/gindex gindex 1 add def 
		} loop
		pop 
		gstring 0 gindex getinterval true 
		} def
	} if
/FMVERSION {
	FMversion ne {
		/Times-Roman findfont 18 scalefont setfont
		100 100 moveto
		(FrameMaker version does not match postscript_prolog!)
		dup =
		show showpage
		} if
	} def 
/FMLOCAL {
	FrameDict begin
	0 def 
	end 
	} def 
	/gstring FMLOCAL
	/gfile FMLOCAL
	/gindex FMLOCAL
	/orgxfer FMLOCAL
	/orgproc FMLOCAL
	/organgle FMLOCAL
	/orgfreq FMLOCAL
	FrameDict /graymode true put
	/yscale FMLOCAL
	/xscale FMLOCAL
	/PrintInColor systemdict /colorimage known def
PrintInColor 
	
	{
	/HUE 0 def
	/SAT 0 def
	/BRIGHT 0 def
	% array of arrays Hue and Sat values for the separations [HUE BRIGHT]
	/Colors   
	[[0    0  ]    % black
	 [0    0  ]    % white
	 [0.00 1.0]    % red
	 [0.37 1.0]    % green
	 [0.60 1.0]    % blue
	 [0.50 1.0]    % cyan
	 [0.83 1.0]    % magenta
	 [0.16 1.0]    % comment
	 ] def
      
	/BEGINBITMAPCOLOR { 
		BITMAPCOLOR } def
	/BEGINBITMAPCOLORc { 
		BITMAPCOLORc } def
	/K { 
		Colors exch get dup
		0 get /HUE exch store 
		1 get /BRIGHT exch store
		  HUE 0 eq BRIGHT 0 eq and
			{1.0 SAT sub setgray }
			{HUE SAT BRIGHT sethsbcolor } 
		  ifelse
		} def
	/mysetgray { 
		/SAT exch 1.0 exch sub store 
		  HUE 0 eq BRIGHT 0 eq and
			{1.0 SAT sub setgray }
			{HUE SAT BRIGHT sethsbcolor } 
		  ifelse
		} bind def
	}
	
	{
	/BEGINBITMAPCOLOR { 
		BITMAPGRAY } def
	/BEGINBITMAPCOLORc { 
		BITMAPGRAYc } def
	/mysetgray { setgray } bind def
	/K { 
		pop
		} def
	}
ifelse
/max	{2 copy lt {exch} if pop} bind def
/min	{2 copy gt {exch} if pop} bind def
/mtx matrix defaultmatrix def
/setmanualfeed {
	 statusdict /manualfeed true put
	} def
/FMDOCUMENT { 
	array /FMfonts exch def
	/#copies exch def
	0 ne dup {setmanualfeed} if
	FrameDict begin
	/manualfeed exch def
	/paperheight exch def
	/paperwidth exch def
	setpapername
	manualfeed {true} {papersize} ifelse 
	{manualpapersize} {false} ifelse 
	{desperatepapersize} if
	/yscale exch def
	/xscale exch def
	currenttransfer cvlit /orgxfer exch def
	currentscreen cvlit /orgproc exch def
	/organgle exch def /orgfreq exch def
	end 
	} def 
	/pagesave FMLOCAL
	/orgmatrix FMLOCAL
	/landscape FMLOCAL
/FMBEGINPAGE {  
	FrameDict begin 
	/pagesave save def
	3.86 setmiterlimit
	/landscape exch 0 ne store
	landscape { 
		90 rotate 0 exch neg translate pop 
		}
		{ pop pop }
		ifelse
	xscale yscale scale
	/orgmatrix matrix def
	gsave 
	} def 
/FMENDPAGE {
	grestore 
	pagesave restore
	end 
	showpage
	} def 
	/fontname FMLOCAL
	/fontscale FMLOCAL
	/fontnum FMLOCAL
	/fontdict FMLOCAL
/FMDEFINEFONT {
	FrameDict begin
	/fontname exch def
	/fontscale exch def
	/fontnum exch def
	/fontdict fontname findfont fontscale scalefont def
	fontdict /Encoding get StandardEncoding eq
	{
		fontdict DiacriticEncode 
		/fontdict exch def
	} {
		fontdict NonDiacriticEncode
		/fontdict exch def
	} ifelse
	FMfonts fontnum
		fontnum fontdict definefont
	put
	end 
	} def 
/FMNORMALIZEGRAPHICS { 
	newpath
	0.0 0.0 moveto
	1 setlinewidth
	0 setlinecap
	0 mysetgray
	} bind def
/FMBEGINEPSF { 
	end 
	/FMEPSF save def
	/showpage {} def 
	FMNORMALIZEGRAPHICS 
	[/fy /fx /fh /fw /ury /urx /lly /llx] {exch def} forall 
	fx fy translate 
	rotate
	fw urx llx sub div fh ury lly sub div scale 
	llx neg lly neg translate 
	} bind def
/FMENDEPSF {
	FMEPSF restore
	FrameDict begin 
	} bind def
FrameDict begin 
/pagedimen { 
	paperheight sub abs 16 lt exch 
	paperwidth sub abs 16 lt and
	{/papername exch def} {pop} ifelse
	} def
/inch {72 mul} def
/setpapername { 
	/papersizedict 14 dict def 
	papersizedict begin
	/papername /unknown def 
		/Letter 8.5 inch 11.0 inch pagedimen
		/LetterSmall 7.68 inch 10.16 inch pagedimen
		/Tabloid 11.0 inch 17.0 inch pagedimen
		/Ledger 17.0 inch 11.0 inch pagedimen
		/Legal 8.5 inch 14.0 inch pagedimen
		/Statement 5.5 inch 8.5 inch pagedimen
		/Executive 7.5 inch 10.0 inch pagedimen
		/A3 11.69 inch 16.5 inch pagedimen
		/A4 8.26 inch 11.69 inch pagedimen
		/A4Small 7.47 inch 10.85 inch pagedimen
		/B4 10.125 inch 14.33 inch pagedimen
		/B5 7.16 inch 10.125 inch pagedimen
	end
	} def
/papersize {
	papersizedict begin
		/Letter {lettertray} def
		/LetterSmall {lettertray lettersmall} def
		/Tabloid {11x17tray} def
		/Ledger {ledgertray} def
		/Legal {legaltray} def
		/Statement {statementtray} def
		/Executive {executivetray} def
		/A3 {a3tray} def
		/A4 {a4tray} def
		/A4Small {a4tray a4small} def
		/B4 {b4tray} def
		/B5 {b5tray} def
		/unknown {unknown} def
	papersizedict dup papername known {papername} {/unknown} ifelse get
	end
	statusdict begin stopped end 
	} def
/manualpapersize {
	papersizedict begin
		/Letter {letter} def
		/LetterSmall {lettersmall} def
		/Tabloid {11x17} def
		/Ledger {ledger} def
		/Legal {legal} def
		/Statement {statement} def
		/Executive {executive} def
		/A3 {a3} def
		/A4 {a4} def
		/A4Small {a4small} def
		/B4 {b4} def
		/B5 {b5} def
		/unknown {unknown} def
	papersizedict dup papername known {papername} {/unknown} ifelse get
	end
	stopped 
	} def
/desperatepapersize {
	statusdict /setpageparams known
		{
		paperwidth paperheight 0 1 
		statusdict begin
		{setpageparams} stopped pop 
		end
		} if
	} def
/savematrix {
	orgmatrix currentmatrix pop
	} bind def
/restorematrix {
	orgmatrix setmatrix
	} bind def
/dmatrix matrix def
/dpi    72 0 dmatrix defaultmatrix dtransform
    dup mul exch   dup mul add   sqrt def
/freq dpi 18.75 div 8 div round dup 0 eq { pop 1 } if 8 mul dpi exch div def
/sangle 1 0 dmatrix defaultmatrix dtransform exch atan def
/DiacriticEncoding [
/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
/.notdef /.notdef /.notdef /.notdef /space /exclam /quotedbl
/numbersign /dollar /percent /ampersand /quotesingle /parenleft
/parenright /asterisk /plus /comma /hyphen /period /slash /zero /one
/two /three /four /five /six /seven /eight /nine /colon /semicolon
/less /equal /greater /question /at /A /B /C /D /E /F /G /H /I /J /K
/L /M /N /O /P /Q /R /S /T /U /V /W /X /Y /Z /bracketleft /backslash
/bracketright /asciicircum /underscore /grave /a /b /c /d /e /f /g /h
/i /j /k /l /m /n /o /p /q /r /s /t /u /v /w /x /y /z /braceleft /bar
/braceright /asciitilde /.notdef /Adieresis /Aring /Ccedilla /Eacute
/Ntilde /Odieresis /Udieresis /aacute /agrave /acircumflex /adieresis
/atilde /aring /ccedilla /eacute /egrave /ecircumflex /edieresis
/iacute /igrave /icircumflex /idieresis /ntilde /oacute /ograve
/ocircumflex /odieresis /otilde /uacute /ugrave /ucircumflex
/udieresis /dagger /.notdef /cent /sterling /section /bullet
/paragraph /germandbls /registered /copyright /trademark /acute
/dieresis /.notdef /AE /Oslash /.notdef /.notdef /.notdef /.notdef
/yen /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
/ordfeminine /ordmasculine /.notdef /ae /oslash /questiondown
/exclamdown /logicalnot /.notdef /florin /.notdef /.notdef
/guillemotleft /guillemotright /ellipsis /.notdef /Agrave /Atilde
/Otilde /OE /oe /endash /emdash /quotedblleft /quotedblright
/quoteleft /quoteright /.notdef /.notdef /ydieresis /Ydieresis
/fraction /currency /guilsinglleft /guilsinglright /fi /fl /daggerdbl
/periodcentered /quotesinglbase /quotedblbase /perthousand
/Acircumflex /Ecircumflex /Aacute /Edieresis /Egrave /Iacute
/Icircumflex /Idieresis /Igrave /Oacute /Ocircumflex /.notdef /Ograve
/Uacute /Ucircumflex /Ugrave /dotlessi /circumflex /tilde /macron
/breve /dotaccent /ring /cedilla /hungarumlaut /ogonek /caron
] def
	/basefontdict FMLOCAL
	/newfontdict FMLOCAL
/DiacriticEncode {
	/basefontdict exch def
	/newfontdict basefontdict maxlength dict def
	basefontdict
	{exch dup /FID ne
		{dup /Encoding eq
			{exch pop DiacriticEncoding}
			{exch}
			ifelse
			newfontdict 3 1 roll put
			}
		{pop pop}
		ifelse
		} forall
	newfontdict
	} bind def
/NonDiacriticEncode {
	/basefontdict exch def
	/newfontdict basefontdict maxlength dict def
	basefontdict
	{exch dup /FID ne
		{exch newfontdict 3 1 roll put}
		{pop pop}
		ifelse
		} forall
	newfontdict
	} bind def
	/bwidth FMLOCAL
	/bpside FMLOCAL
	/bstring FMLOCAL
	/onbits FMLOCAL
	/offbits FMLOCAL
	/xindex FMLOCAL
	/yindex FMLOCAL
	/x FMLOCAL
	/y FMLOCAL
/setpattern {
	 /bwidth  exch def
	 /bpside  exch def
	 /bstring exch def
	 /onbits 0 def  /offbits 0 def
	 freq sangle landscape {90 add} if 
		{/y exch def
		 /x exch def
		 /xindex x 1 add 2 div bpside mul cvi def
		 /yindex y 1 add 2 div bpside mul cvi def
		 bstring yindex bwidth mul xindex 8 idiv add get
		 1 7 xindex 8 mod sub bitshift and 0 ne
		 {/onbits  onbits  1 add def 1}
		 {/offbits offbits 1 add def 0}
		 ifelse
		}
		setscreen
	 {} settransfer
	 offbits offbits onbits add div mysetgray
	/graymode false store
	} bind def
/grayness {
	mysetgray
	graymode not {
		/graymode true store
		orgxfer cvx settransfer
		orgfreq organgle orgproc cvx setscreen
		} if
	} bind def
/normalize {
	transform round exch round exch itransform
	} bind def
/dnormalize {
	dtransform round exch round exch idtransform
	} bind def
/lnormalize { 
	0 dtransform exch cvi 2 idiv 2 mul 1 add exch idtransform pop
	} bind def
/H { 
	lnormalize setlinewidth
	} bind def
/Z { 
	setlinecap
	} bind def
/X { 
	fillprocs exch get exec
	} bind def
/V { 
	gsave eofill grestore
	} bind def
/N { 
	stroke
	} bind def
/M {newpath moveto} bind def
/E {lineto} bind def
/D {curveto} bind def
/O {closepath} bind def
	/n FMLOCAL
/L { 
 	/n exch def
	newpath
	normalize
	moveto 
	2 1 n {pop normalize lineto} for
	} bind def
/Y { 
	L 
	closepath
	} bind def
	/x1 FMLOCAL
	/x2 FMLOCAL
	/y1 FMLOCAL
	/y2 FMLOCAL
	/rad FMLOCAL
/R { 
	/y2 exch def
	/x2 exch def
	/y1 exch def
	/x1 exch def
	x1 y1
	x2 y1
	x2 y2
	x1 y2
	4 Y 
	} bind def
/RR { 
	/rad exch def
	normalize
	/y2 exch def
	/x2 exch def
	normalize
	/y1 exch def
	/x1 exch def
	newpath
	x1 y1 rad add moveto
	x1 y2 x2 y2 rad arcto
	x2 y2 x2 y1 rad arcto
	x2 y1 x1 y1 rad arcto
	x1 y1 x1 y2 rad arcto
	closepath
	16 {pop} repeat
	} bind def
/C { 
	grestore
	gsave
	R 
	clip
	} bind def
/U { 
	grestore
	gsave
	} bind def
/F { 
	FMfonts exch get
	setfont
	} bind def
/T { 
	moveto show
	} bind def
/RF { 
	rotate
	0 ne { -1 1 scale } if
	} bind def
/TF { 
	gsave
	moveto 
	RF
	show
	grestore
	} bind def
/P { 
	moveto
	0 32 3 2 roll widthshow
	} bind def
/PF { 
	gsave
	moveto 
	RF
	0 32 3 2 roll widthshow
	grestore
	} bind def
/S { 
	moveto
	0 exch ashow
	} bind def
/SF { 
	gsave
	moveto
	RF
	0 exch ashow
	grestore
	} bind def
/B { 
	moveto
	0 32 4 2 roll 0 exch awidthshow
	} bind def
/BF { 
	gsave
	moveto
	RF
	0 32 4 2 roll 0 exch awidthshow
	grestore
	} bind def
	/x FMLOCAL
	/y FMLOCAL
	/dx FMLOCAL
	/dy FMLOCAL
	/dl FMLOCAL
	/t FMLOCAL
	/t2 FMLOCAL
	/Cos FMLOCAL
	/Sin FMLOCAL
	/r FMLOCAL
/W { 
	dnormalize
	/dy exch def
	/dx exch def
	normalize
	/y  exch def
	/x  exch def
	/dl dx dx mul dy dy mul add sqrt def
	dl 0.0 gt {
		/t currentlinewidth def
		savematrix
		/Cos dx dl div def
		/Sin dy dl div def
		/r [Cos Sin Sin neg Cos 0.0 0.0] def
		/t2 t 2.5 mul 3.5 max def
		newpath
		x y translate
		r concat
		0.0 0.0 moveto
		dl t 2.7 mul sub 0.0 rlineto
		stroke
		restorematrix
		x dx add y dy add translate
		r concat
		t 0.67 mul setlinewidth
		t 1.61 mul neg  0.0 translate
		0.0 0.0 moveto
		t2 1.7 mul neg  t2 2.0 div     moveto
		0.0 0.0 lineto
		t2 1.7 mul neg  t2 2.0 div neg lineto
		stroke
		t setlinewidth
		restorematrix
		} if
	} bind def
/G { 
	gsave
	newpath
	normalize translate 0.0 0.0 moveto 
	dnormalize scale 
	0.0 0.0 1.0 5 3 roll arc 
	closepath fill
	grestore
	} bind def
/A { 
	gsave
	savematrix
	newpath
	2 index 2 div add exch 3 index 2 div sub exch 
	normalize 2 index 2 div sub exch 3 index 2 div add exch 
	translate 
	scale 
	0.0 0.0 1.0 5 3 roll arc 
	restorematrix
	stroke
	grestore
	} bind def
	/x FMLOCAL
	/y FMLOCAL
	/w FMLOCAL
	/h FMLOCAL
	/xx FMLOCAL
	/yy FMLOCAL
	/ww FMLOCAL
	/hh FMLOCAL
	/FMsaveobject FMLOCAL
	/FMoptop FMLOCAL
	/FMdicttop FMLOCAL
/BEGINPRINTCODE { 
	/FMdicttop countdictstack 1 add def 
	/FMoptop count 4 sub def 
	/FMsaveobject save def
	userdict begin 
	/showpage {} def 
	FMNORMALIZEGRAPHICS 
	3 index neg 3 index neg translate
	} bind def
/ENDPRINTCODE {
	count -1 FMoptop {pop pop} for 
	countdictstack -1 FMdicttop {pop end} for 
	FMsaveobject restore 
	} bind def
/gn { 
	0 
	{	46 mul 
		cf read pop 
		32 sub 
		dup 46 lt {exit} if 
		46 sub add 
		} loop
	add 
	} bind def
	/str FMLOCAL
/cfs { 
	/str sl string def 
	0 1 sl 1 sub {str exch val put} for 
	str def 
	} bind def
/ic [ 
	0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0223
	0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0223
	0
	{0 hx} {1 hx} {2 hx} {3 hx} {4 hx} {5 hx} {6 hx} {7 hx} {8 hx} {9 hx}
	{10 hx} {11 hx} {12 hx} {13 hx} {14 hx} {15 hx} {16 hx} {17 hx} {18 hx}
	{19 hx} {gn hx} {0} {1} {2} {3} {4} {5} {6} {7} {8} {9} {10} {11} {12}
	{13} {14} {15} {16} {17} {18} {19} {gn} {0 wh} {1 wh} {2 wh} {3 wh}
	{4 wh} {5 wh} {6 wh} {7 wh} {8 wh} {9 wh} {10 wh} {11 wh} {12 wh}
	{13 wh} {14 wh} {gn wh} {0 bl} {1 bl} {2 bl} {3 bl} {4 bl} {5 bl} {6 bl}
	{7 bl} {8 bl} {9 bl} {10 bl} {11 bl} {12 bl} {13 bl} {14 bl} {gn bl}
	{0 fl} {1 fl} {2 fl} {3 fl} {4 fl} {5 fl} {6 fl} {7 fl} {8 fl} {9 fl}
	{10 fl} {11 fl} {12 fl} {13 fl} {14 fl} {gn fl}
	] def
	/sl FMLOCAL
	/val FMLOCAL
	/ws FMLOCAL
	/im FMLOCAL
	/bs FMLOCAL
	/cs FMLOCAL
	/len FMLOCAL
	/pos FMLOCAL
/ms { 
	/sl exch def 
	/val 255 def 
	/ws cfs 
	/im cfs 
	/val 0 def 
	/bs cfs 
	/cs cfs 
	} bind def
400 ms 
/ip { 
	is 
	0 
	cf cs readline pop 
	{	ic exch get exec 
		add 
		} forall 
	pop 
	
	} bind def
/wh { 
	/len exch def 
	/pos exch def 
	ws 0 len getinterval im pos len getinterval copy pop
	pos len 
	} bind def
/bl { 
	/len exch def 
	/pos exch def 
	bs 0 len getinterval im pos len getinterval copy pop
	pos len 
	} bind def
/s1 1 string def
/fl { 
	/len exch def 
	/pos exch def 
	/val cf s1 readhexstring pop 0 get def
	pos 1 pos len add 1 sub {im exch val put} for
	pos len 
	} bind def
/hx { 
	3 copy getinterval 
	cf exch readhexstring pop pop 
	} bind def
	/h FMLOCAL
	/w FMLOCAL
	/d FMLOCAL
	/lb FMLOCAL
	/bitmapsave FMLOCAL
	/is FMLOCAL
	/cf FMLOCAL
/wbytes {  
	dup 
	8 eq { pop } { 1 eq { 7 add 8 idiv } { 3 add 4 idiv } ifelse } ifelse
	} bind def
/BEGINBITMAPBWc { 
	1 {} COMMONBITMAPc
	} bind def
/BEGINBITMAPGRAYc { 
	8 {} COMMONBITMAPc
	} bind def
/BEGINBITMAP2BITc { 
	2 {} COMMONBITMAPc
	} bind def
/COMMONBITMAPc { 
	/r exch def
	/d exch def
	gsave
	translate rotate scale /h exch def /w exch def
	/lb w d wbytes def 
	sl lb lt {lb ms} if 
	/bitmapsave save def 
	r                    
	/is im 0 lb getinterval def 
	ws 0 lb getinterval is copy pop 
	/cf currentfile def 
	w h d [w 0 0 h neg 0 h] 
	{ip} image 
	bitmapsave restore 
	grestore
	} bind def
/BEGINBITMAPBW { 
	1 {} COMMONBITMAP
	} bind def
/BEGINBITMAPGRAY { 
	8 {} COMMONBITMAP
	} bind def
/BEGINBITMAP2BIT { 
	2 {} COMMONBITMAP
	} bind def
/COMMONBITMAP { 
	/r exch def
	/d exch def
	gsave
	translate rotate scale /h exch def /w exch def
	/bitmapsave save def 
	r                    
	/is w d wbytes string def
	/cf currentfile def 
	w h d [w 0 0 h neg 0 h] 
	{ cf is readhexstring pop } image
	bitmapsave restore 
	grestore
	} bind def
/Fmcc {
    /proc2 exch cvlit def
    /proc1 exch cvlit def
    /newproc proc1 length proc2 length add array def
    newproc 0 proc1 putinterval
    newproc proc1 length proc2 putinterval
    newproc cvx
} bind def
/colorsetup {
	currentcolortransfer
	/gryt exch def
	/blut exch def
	/grnt exch def
	/redt exch def
	/ngrayt 256 array def
	/nredt 256 array def
	/nbluet 256 array def
	/ngreent 256 array def
	0 1 255 {
		/indx exch def
		/cynu 1 red indx get 255 div sub def
		/magu 1 green indx get 255 div sub def
		/yelu 1 blue indx get 255 div sub def
		/k cynu magu min yelu min def
		/u k currentundercolorremoval exec def
		nredt indx 1 0 cynu u sub max sub redt exec put
		ngreent indx 1 0 magu u sub max sub grnt exec put
		nbluet indx 1 0 yelu u sub max sub blut exec put
		ngrayt indx 1 k currentblackgeneration exec sub gryt exec put
	} for
	{255 mul cvi nredt exch get}
	{255 mul cvi ngreent exch get}
	{255 mul cvi nbluet exch get}
	{255 mul cvi ngrayt exch get}
	setcolortransfer
	{pop 0} setundercolorremoval
	{} setblackgeneration
	} bind def
/fakecolorsetup {
	/tran 256 string def
	0 1 255 { /ind exch def 
		tran ind
		red ind get 77 mul
		green ind get 151 mul
		blue ind get 28 mul
		add add 256 idiv put } for
	currenttransfer
	{ 255 mul cvi tran exch get 255.0 div }
	exch Fmcc settransfer
} bind def
/BITMAPCOLOR { 
	/d 8 def
	gsave
	translate rotate scale /h exch def /w exch def
	/bitmapsave save def 
	colorsetup
	/is w d wbytes string def
	/cf currentfile def 
	w h d [w 0 0 h neg 0 h] 
	{ cf is readhexstring pop } {is} {is} true 3 colorimage 
	bitmapsave restore 
	grestore
	} bind def
/BITMAPCOLORc { 
	/d 8 def
	gsave
	translate rotate scale /h exch def /w exch def
	/lb w d wbytes def 
	sl lb lt {lb ms} if 
	/bitmapsave save def 
	colorsetup
	/is im 0 lb getinterval def 
	ws 0 lb getinterval is copy pop 
	/cf currentfile def 
	w h d [w 0 0 h neg 0 h] 
	{ip} {is} {is} true 3 colorimage
	bitmapsave restore 
	grestore
	} bind def
/BITMAPGRAY { 
	8 {fakecolorsetup} COMMONBITMAP
	} bind def
/BITMAPGRAYc { 
	8 {fakecolorsetup} COMMONBITMAPc
	} bind def
/ENDBITMAP {
	} bind def
end 
(2.0) FMVERSION
1 1  2 2  0 1 2 FMDOCUMENT
/fillprocs 32 array def
fillprocs 0 { 0.000000 grayness } put
fillprocs 1 { 0.100000 grayness } put
fillprocs 2 { 0.300000 grayness } put
fillprocs 3 { 0.500000 grayness } put
fillprocs 4 { 0.700000 grayness } put
fillprocs 5 { 0.900000 grayness } put
fillprocs 6 { 0.970000 grayness } put
fillprocs 7 { 1.000000 grayness } put
fillprocs 8 {<0f1e3c78f0e1c387> 8 1 setpattern } put
fillprocs 9 {<0f87c3e1f0783c1e> 8 1 setpattern } put
fillprocs 10 {<cccccccccccccccc> 8 1 setpattern } put
fillprocs 11 {<ffff0000ffff0000> 8 1 setpattern } put
fillprocs 12 {<8142241818244281> 8 1 setpattern } put
fillprocs 13 {<03060c183060c081> 8 1 setpattern } put
fillprocs 14 {<8040201008040201> 8 1 setpattern } put
fillprocs 15 {} put
fillprocs 16 { 1.000000 grayness } put
fillprocs 17 { 0.900000 grayness } put
fillprocs 18 { 0.700000 grayness } put
fillprocs 19 { 0.500000 grayness } put
fillprocs 20 { 0.300000 grayness } put
fillprocs 21 { 0.100000 grayness } put
fillprocs 22 { 0.030000 grayness } put
fillprocs 23 { 0.000000 grayness } put
fillprocs 24 {<f0e1c3870f1e3c78> 8 1 setpattern } put
fillprocs 25 {<f0783c1e0f87c3e1> 8 1 setpattern } put
fillprocs 26 {<3333333333333333> 8 1 setpattern } put
fillprocs 27 {<0000ffff0000ffff> 8 1 setpattern } put
fillprocs 28 {<7ebddbe7e7dbbd7e> 8 1 setpattern } put
fillprocs 29 {<fcf9f3e7cf9f3f7e> 8 1 setpattern } put
fillprocs 30 {<7fbfdfeff7fbfdfe> 8 1 setpattern } put
fillprocs 31 {} put
0 18 /Times-Roman FMDEFINEFONT
1 12 /Times-Roman FMDEFINEFONT
612 792 0 FMBEGINPAGE
0 0 612 792 C
0 0 612 792 R
7 X
0 K
V
72 746 540 756 R
V
72 32.67 540 42.67 R
V
23 81 558 786 R
V
3 H
2 Z
9 X
N
6 X
90 450 78.33 32.15 444.7 642.19 G
0 X
90 450 78.33 32.15 444.7 642.19 A
12 X
90 450 71.54 36.99 453.54 219.92 G
0 X
90 450 71.54 36.99 453.54 219.92 A
14 X
90 450 81.9 32.15 155.13 502.19 G
0 X
90 450 81.9 32.15 155.13 502.19 A
5 X
90 450 80.48 30.39 118.89 198.34 G
0 X
90 450 80.48 30.39 118.89 198.34 A
7 X
90 450 76.72 31.6 117.95 692.77 G
0 X
90 450 76.72 31.6 117.95 692.77 A
4 X
90 450 72.01 30.83 405.06 460.36 G
0 X
90 450 72.01 30.83 405.06 460.36 A
0 F
(PR_FREE) 80.01 686.51 T
(PR_EMBR) 374 637.7 T
(YONIC) 454.99 637.7 T
(PR_INITIAL) 358.52 457.15 T
(PR_W) 399.77 215.07 T
(AITING) 445.75 215.07 T
(PR_COMPLETE) 59.71 193.69 T
(PR_DYING) 113.07 499.3 T
47.76 661.91 51.9 676.33 56.03 661.92 51.9 661.91 4 Y
V
52.05 214.44 51.9 662.15 2 L
1 H
N
67.82 159.74 74.98 172.89 75.88 157.94 71.85 158.84 4 Y
V
426.56 185.66 M
 449.77 105.43 449.77 105.43 254.92 105.87 D
 74.9 106.27 61.19 106.3 71.91 158.8 D
0 Z
N
455.62 691.82 454.67 676.86 447.54 690.05 451.58 690.94 4 Y
V
93.95 722.8 M
 129.76 761.59 129.76 761.59 283.27 761.59 D
 427.75 761.59 436.25 761.59 451.68 690.95 D
N
434.68 267.3 430.41 252.92 426.41 267.37 430.54 267.34 4 Y
V
432 432 430.55 267.09 2 L
2 Z
N
1 F
(TEARDOWN_RQST from KERNEL) 0 -270 114.4 232.57 TF
(ROUTE_RQST to RSYNTH) 186.2 745.05 T
115.51 458.83 119.69 473.23 123.78 458.8 119.64 458.81 4 Y
V
118.89 228.73 119.65 459.04 2 L
N
(ACK from PG_NEXT) 122.31 598.9 T
(ACK from PG_NEXT) 0 -270 423.89 288.87 TF
(TIMEOUT on ACCEPT) 221.26 254.41 T
146.15 455.22 148.13 470.05 154.32 456.43 150.24 455.83 4 Y
V
387.36 205.87 M
 364.38 246.34 364.38 246.34 272.74 246.34 D
 183.1 246.34 181.15 246.34 150.24 455.78 D
0 Z
N
(TEARDOWN to PG_NEXT) 206.73 231.8 T
190.17 665.55 178.19 674.52 193.1 673.27 191.64 669.41 4 Y
V
405.59 248.96 M
 263.42 314.42 263.42 314.42 263.42 478.45 D
 263.42 633.35 263.42 641.98 191.65 669.43 D
N
208 690.37 193.54 694.35 207.91 698.64 207.96 694.5 4 Y
V
393.07 664.93 M
 385.19 695.46 384.98 696.25 208.03 694.49 D
N
(Delete PR) 0 -270 63.94 311.33 TF
(Delete PR) 0 -270 280.33 369.16 TF
(Delete PR) 122.01 579.4 T
(Delete PR) 221.15 683.49 T
(Install PR in kernel) 169.25 96.29 T
(TEARDOWN to PG_NEXT) 0 -270 132.4 234 TF
(, delete PR \050kernel\051) 0 -270 132.4 370.35 TF
(T) 305.75 523.44 T
(imeout or REFUSE from PG_NEXT) 312.66 523.44 T
201.3 674.15 189.99 684 204.8 681.64 203.05 677.9 4 Y
V
338.75 474.84 M
 276.79 518.02 276.79 518.02 413.17 517.59 D
 547.88 517.16 549.54 517.15 203.13 677.9 D
N
(Delete PR) 334.93 505.82 T
(ROUTE_RESPONSE from RSYNTH) 0 -270 525.14 414.61 TF
(SETUP to PG_NEXT) 0 -270 543.97 418.14 TF
456.56 425.32 458.6 440.13 464.72 426.49 460.64 425.9 4 Y
V
480.15 670.73 M
 482.24 754.95 482.24 754.95 508.37 750.26 D
 534.49 745.57 534.49 745.57 531.65 539.99 D
 528.81 334.39 528.81 334.39 499.85 344.73 D
 472.6 354.45 470.98 355.02 460.67 425.87 D
N
(\050setup & kernel\051) 0 -270 62.88 363.12 TF
(SETUP_RQST from KERNEL) 187.14 764.16 T
172.04 655.14 162.6 666.79 176.79 661.91 174.41 658.52 4 Y
V
89.94 522.76 M
 55.35 591.95 55.35 591.95 162.34 592.39 D
 265.21 592.81 269.17 592.83 174.45 658.58 D
N
(T) 67 598.62 T
(imeout or) 73.91 598.62 T
(TEARDOWN from any PG in PR) 0 -270 45 311.45 TF
(ACCEPT from tar) 171.14 113.02 T
(get PG \050via PG_NEXT\051) 258.87 113.02 T
(REFUSE from upstream \050via PG_NEXT\051) 0 -270 255.45 369.12 TF
(ROUTE_REFUSE or T) 219 702 T
(imeout ) 332.52 702 T
FMENDPAGE
%%EndDocument
 240 -150 a
 endTexFig
613 1203 a Fm(Figure)14 b(5.5:)j(ORIGINA)m(TOR)c(state)h(diagram)-39
1331 y(9.)20 b(Other)c(PR)f(usage)h(conditions)f(m)o(ust)f(b)q(e)i
(acceptable.)23 b(This)15 b(includes:)22 b(UCI\(s\),)16 b(T)m(oS,)e(authen)o
(tication)h(t)o(yp)q(e)g(and)h(expiration)14 1381 y(conditions.)h(Only)d
(TRANSIT)g(PGs)g(that)g(are)g(used)h(for)e(en)o(tering)i(an)e(AD)h(need)h(to)
f(b)q(e)g(concerned)i(with)e(this)g(c)o(hec)o(k.)-90 1477 y(If)f(a)g(SETUP)h
(pac)o(k)o(et)f(fails)f(to)h(meet)g(an)o(y)g(of)f(the)i(ab)q(o)o(v)o(e)f
(conditions,)f(a)h(REFUSE)h(with)f(the)h(appropriate)f(reason)h(co)q(de)g(is)
f(generated)-90 1526 y(to)h(the)g(PG-PREV.)f(After)i(the)f(REFUSE)h(is)e(ac)o
(k-ed)i(\(or)f(times)e(out\),)i(the)g(PR)g(en)o(try)h(is)e(freed.)-28
1594 y(If)k(the)h(SETUP)f(pac)o(k)o(et)h(is)f(v)n(alid,)f(a)h(new)g(PR)g(en)o
(try)h(is)f(created.)29 b(If)17 b(the)h(last)e(hop)h(is)g(reac)o(hed)i
(\(i.e.,)d(this)i(PG)e(is)h(T)m(AR)o(GET\),)-90 1644 y(A)o(CCEPT)12
b(is)g(sen)o(t)h(bac)o(k)g(to)e(the)i(ORIGINA)m(TOR)e(and)h(the)h(PR)f(is)g
(considered)h(op)q(erational.)k(Otherwise,)c(the)g(SETUP)g(is)f(forw)o(arded)
-90 1694 y(to)k(the)g(PG-NEXT.)f(If)h(PG-NEXT)f(fails)g(to)h(ac)o(kno)o
(wledge)f(the)i(SETUP)f(pac)o(k)o(et)g(\(timeout\),)f(TEARDO)o(WN)g(is)g(sen)
o(t)i(bac)o(k)f(to)f(the)-90 1743 y(ORIGINA)m(TOR)e(and)h(the)g(PR)g(is)f
(destro)o(y)o(ed.)-28 1811 y(After)j(PG-NEXT)g(ac)o(ks)f(the)h(SETUP)g(pac)o
(k)o(et,)g(the)g(PR)f(is)g(put)h(in)o(to)e(a)h Fl(dormant)h
Fm(state)g(un)o(til)e(the)i(A)o(CCEPT)g(passes)h(b)o(y)e(on)g(its)-90
1861 y(w)o(a)o(y)e(to)h(the)g(ORIGINA)m(TOR.)f(The)h(A)o(CCEPT)g(m)o(ust)f
(satisfy)h(the)g(follo)o(wing)e(conditions:)-28 1957 y Fd(\017)21
b Fm(It)14 b(arriv)o(es)g(via)f(PG-NEXT.)-28 2037 y Fd(\017)21
b Fm(It)14 b(is)f(sourced)j(b)o(y)d(the)i(T)m(AR)o(GET)e(PG.)-90
2133 y(If)f(the)i(A)o(CCEPT)f(fails)e(to)i(meet)f(these)i(conditions,)e(it)h
(is)f(discarded)i(and)e(not)h(ac)o(kno)o(wledged.)k(Ho)o(w)o(ev)o(er,)c(the)h
(PR)e(is)h(not)f(destro)o(y)o(ed.)-90 2183 y(This)i(is)g(b)q(ecause)h(a)f
Fl(valid)f Fm(A)o(CCEPT)i(ma)o(y)d(still)h(come)g(through)h(\(if)f(it)g(do)q
(es)i(not,)e(the)i(PR)e(is)h(timed)f(out;)g(see)i(b)q(elo)o(w\).)-28
2251 y(A)i(v)n(alid)e(A)o(CCEPT)i(is)g(forw)o(arded)g(to)f(PG-PREV)h(and,)g
(once)g(ac)o(k-ed,)g(the)h(PR)e(is)h(installed)f(in)g(the)h(k)o(ernel)h(PR-T)
m(ABLE)e(and)-90 2301 y(considered)g(fully)d(op)q(erational.)20
b(F)m(ailure)13 b(to)i(ac)o(k)f(an)h(A)o(CCEPT)g(is)f(grounds)h(for)f(TEARDO)
o(WN)g(\(see)i(b)q(elo)o(w\).)21 b(State)15 b(diagrams)d(for)-90
2350 y(TRANSIT)i(and)f(T)m(AR)o(GET)g(PGs)h(are)g(illustrated)g(in)g(Figures)
g(5.6)f(and)g(5.7,)g(resp)q(ectiv)o(ely)m(.)-90 2480 y Fc(5.3.1.4)48
b(PR)15 b(T)l(eardo)o(wn)-90 2574 y Fm(A)f(PR)g(can)g(b)q(e)g(terminated)g
(for)f(sev)o(eral)h(reasons:)-39 2670 y(1.)20 b(Lifetime)12
b(exceeded)2028 2770 y(67)p eop
%%Page: 68 8
bop 240 -150 a
 21313290 21313290 0 0 40258437 52099153 startTexFig
240 -150 a
%%BeginDocument: transit.ps
/FMversion (2.0) def 
/FrameDict 170 dict def 
systemdict /errordict known not { /errordict 10 dict def
		errordict /rangecheck { stop } put } if
FrameDict /tmprangecheck errordict /rangecheck get put 
errordict /rangecheck {FrameDict /bug true put} put 
FrameDict /bug false put 
mark 
currentfile 5 string readline
00
0000000000
cleartomark 
errordict /rangecheck FrameDict /tmprangecheck get put 
FrameDict /bug get { 
	/readline {
		/gstring exch def
		/gfile exch def
		/gindex 0 def
		{
			gfile read pop 
			dup 10 eq {exit} if 
			dup 13 eq {exit} if 
			gstring exch gindex exch put 
			/gindex gindex 1 add def 
		} loop
		pop 
		gstring 0 gindex getinterval true 
		} def
	} if
/FMVERSION {
	FMversion ne {
		/Times-Roman findfont 18 scalefont setfont
		100 100 moveto
		(FrameMaker version does not match postscript_prolog!)
		dup =
		show showpage
		} if
	} def 
/FMLOCAL {
	FrameDict begin
	0 def 
	end 
	} def 
	/gstring FMLOCAL
	/gfile FMLOCAL
	/gindex FMLOCAL
	/orgxfer FMLOCAL
	/orgproc FMLOCAL
	/organgle FMLOCAL
	/orgfreq FMLOCAL
	FrameDict /graymode true put
	/yscale FMLOCAL
	/xscale FMLOCAL
	/PrintInColor systemdict /colorimage known def
PrintInColor 
	
	{
	/HUE 0 def
	/SAT 0 def
	/BRIGHT 0 def
	% array of arrays Hue and Sat values for the separations [HUE BRIGHT]
	/Colors   
	[[0    0  ]    % black
	 [0    0  ]    % white
	 [0.00 1.0]    % red
	 [0.37 1.0]    % green
	 [0.60 1.0]    % blue
	 [0.50 1.0]    % cyan
	 [0.83 1.0]    % magenta
	 [0.16 1.0]    % comment
	 ] def
      
	/BEGINBITMAPCOLOR { 
		BITMAPCOLOR } def
	/BEGINBITMAPCOLORc { 
		BITMAPCOLORc } def
	/K { 
		Colors exch get dup
		0 get /HUE exch store 
		1 get /BRIGHT exch store
		  HUE 0 eq BRIGHT 0 eq and
			{1.0 SAT sub setgray }
			{HUE SAT BRIGHT sethsbcolor } 
		  ifelse
		} def
	/mysetgray { 
		/SAT exch 1.0 exch sub store 
		  HUE 0 eq BRIGHT 0 eq and
			{1.0 SAT sub setgray }
			{HUE SAT BRIGHT sethsbcolor } 
		  ifelse
		} bind def
	}
	
	{
	/BEGINBITMAPCOLOR { 
		BITMAPGRAY } def
	/BEGINBITMAPCOLORc { 
		BITMAPGRAYc } def
	/mysetgray { setgray } bind def
	/K { 
		pop
		} def
	}
ifelse
/max	{2 copy lt {exch} if pop} bind def
/min	{2 copy gt {exch} if pop} bind def
/mtx matrix defaultmatrix def
/setmanualfeed {
	 statusdict /manualfeed true put
	} def
/FMDOCUMENT { 
	array /FMfonts exch def
	/#copies exch def
	0 ne dup {setmanualfeed} if
	FrameDict begin
	/manualfeed exch def
	/paperheight exch def
	/paperwidth exch def
	setpapername
	manualfeed {true} {papersize} ifelse 
	{manualpapersize} {false} ifelse 
	{desperatepapersize} if
	/yscale exch def
	/xscale exch def
	currenttransfer cvlit /orgxfer exch def
	currentscreen cvlit /orgproc exch def
	/organgle exch def /orgfreq exch def
	end 
	} def 
	/pagesave FMLOCAL
	/orgmatrix FMLOCAL
	/landscape FMLOCAL
/FMBEGINPAGE {  
	FrameDict begin 
	/pagesave save def
	3.86 setmiterlimit
	/landscape exch 0 ne store
	landscape { 
		90 rotate 0 exch neg translate pop 
		}
		{ pop pop }
		ifelse
	xscale yscale scale
	/orgmatrix matrix def
	gsave 
	} def 
/FMENDPAGE {
	grestore 
	pagesave restore
	end 
	showpage
	} def 
	/fontname FMLOCAL
	/fontscale FMLOCAL
	/fontnum FMLOCAL
	/fontdict FMLOCAL
/FMDEFINEFONT {
	FrameDict begin
	/fontname exch def
	/fontscale exch def
	/fontnum exch def
	/fontdict fontname findfont fontscale scalefont def
	fontdict /Encoding get StandardEncoding eq
	{
		fontdict DiacriticEncode 
		/fontdict exch def
	} {
		fontdict NonDiacriticEncode
		/fontdict exch def
	} ifelse
	FMfonts fontnum
		fontnum fontdict definefont
	put
	end 
	} def 
/FMNORMALIZEGRAPHICS { 
	newpath
	0.0 0.0 moveto
	1 setlinewidth
	0 setlinecap
	0 mysetgray
	} bind def
/FMBEGINEPSF { 
	end 
	/FMEPSF save def
	/showpage {} def 
	FMNORMALIZEGRAPHICS 
	[/fy /fx /fh /fw /ury /urx /lly /llx] {exch def} forall 
	fx fy translate 
	rotate
	fw urx llx sub div fh ury lly sub div scale 
	llx neg lly neg translate 
	} bind def
/FMENDEPSF {
	FMEPSF restore
	FrameDict begin 
	} bind def
FrameDict begin 
/pagedimen { 
	paperheight sub abs 16 lt exch 
	paperwidth sub abs 16 lt and
	{/papername exch def} {pop} ifelse
	} def
/inch {72 mul} def
/setpapername { 
	/papersizedict 14 dict def 
	papersizedict begin
	/papername /unknown def 
		/Letter 8.5 inch 11.0 inch pagedimen
		/LetterSmall 7.68 inch 10.16 inch pagedimen
		/Tabloid 11.0 inch 17.0 inch pagedimen
		/Ledger 17.0 inch 11.0 inch pagedimen
		/Legal 8.5 inch 14.0 inch pagedimen
		/Statement 5.5 inch 8.5 inch pagedimen
		/Executive 7.5 inch 10.0 inch pagedimen
		/A3 11.69 inch 16.5 inch pagedimen
		/A4 8.26 inch 11.69 inch pagedimen
		/A4Small 7.47 inch 10.85 inch pagedimen
		/B4 10.125 inch 14.33 inch pagedimen
		/B5 7.16 inch 10.125 inch pagedimen
	end
	} def
/papersize {
	papersizedict begin
		/Letter {lettertray} def
		/LetterSmall {lettertray lettersmall} def
		/Tabloid {11x17tray} def
		/Ledger {ledgertray} def
		/Legal {legaltray} def
		/Statement {statementtray} def
		/Executive {executivetray} def
		/A3 {a3tray} def
		/A4 {a4tray} def
		/A4Small {a4tray a4small} def
		/B4 {b4tray} def
		/B5 {b5tray} def
		/unknown {unknown} def
	papersizedict dup papername known {papername} {/unknown} ifelse get
	end
	statusdict begin stopped end 
	} def
/manualpapersize {
	papersizedict begin
		/Letter {letter} def
		/LetterSmall {lettersmall} def
		/Tabloid {11x17} def
		/Ledger {ledger} def
		/Legal {legal} def
		/Statement {statement} def
		/Executive {executive} def
		/A3 {a3} def
		/A4 {a4} def
		/A4Small {a4small} def
		/B4 {b4} def
		/B5 {b5} def
		/unknown {unknown} def
	papersizedict dup papername known {papername} {/unknown} ifelse get
	end
	stopped 
	} def
/desperatepapersize {
	statusdict /setpageparams known
		{
		paperwidth paperheight 0 1 
		statusdict begin
		{setpageparams} stopped pop 
		end
		} if
	} def
/savematrix {
	orgmatrix currentmatrix pop
	} bind def
/restorematrix {
	orgmatrix setmatrix
	} bind def
/dmatrix matrix def
/dpi    72 0 dmatrix defaultmatrix dtransform
    dup mul exch   dup mul add   sqrt def
/freq dpi 18.75 div 8 div round dup 0 eq { pop 1 } if 8 mul dpi exch div def
/sangle 1 0 dmatrix defaultmatrix dtransform exch atan def
/DiacriticEncoding [
/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
/.notdef /.notdef /.notdef /.notdef /space /exclam /quotedbl
/numbersign /dollar /percent /ampersand /quotesingle /parenleft
/parenright /asterisk /plus /comma /hyphen /period /slash /zero /one
/two /three /four /five /six /seven /eight /nine /colon /semicolon
/less /equal /greater /question /at /A /B /C /D /E /F /G /H /I /J /K
/L /M /N /O /P /Q /R /S /T /U /V /W /X /Y /Z /bracketleft /backslash
/bracketright /asciicircum /underscore /grave /a /b /c /d /e /f /g /h
/i /j /k /l /m /n /o /p /q /r /s /t /u /v /w /x /y /z /braceleft /bar
/braceright /asciitilde /.notdef /Adieresis /Aring /Ccedilla /Eacute
/Ntilde /Odieresis /Udieresis /aacute /agrave /acircumflex /adieresis
/atilde /aring /ccedilla /eacute /egrave /ecircumflex /edieresis
/iacute /igrave /icircumflex /idieresis /ntilde /oacute /ograve
/ocircumflex /odieresis /otilde /uacute /ugrave /ucircumflex
/udieresis /dagger /.notdef /cent /sterling /section /bullet
/paragraph /germandbls /registered /copyright /trademark /acute
/dieresis /.notdef /AE /Oslash /.notdef /.notdef /.notdef /.notdef
/yen /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
/ordfeminine /ordmasculine /.notdef /ae /oslash /questiondown
/exclamdown /logicalnot /.notdef /florin /.notdef /.notdef
/guillemotleft /guillemotright /ellipsis /.notdef /Agrave /Atilde
/Otilde /OE /oe /endash /emdash /quotedblleft /quotedblright
/quoteleft /quoteright /.notdef /.notdef /ydieresis /Ydieresis
/fraction /currency /guilsinglleft /guilsinglright /fi /fl /daggerdbl
/periodcentered /quotesinglbase /quotedblbase /perthousand
/Acircumflex /Ecircumflex /Aacute /Edieresis /Egrave /Iacute
/Icircumflex /Idieresis /Igrave /Oacute /Ocircumflex /.notdef /Ograve
/Uacute /Ucircumflex /Ugrave /dotlessi /circumflex /tilde /macron
/breve /dotaccent /ring /cedilla /hungarumlaut /ogonek /caron
] def
	/basefontdict FMLOCAL
	/newfontdict FMLOCAL
/DiacriticEncode {
	/basefontdict exch def
	/newfontdict basefontdict maxlength dict def
	basefontdict
	{exch dup /FID ne
		{dup /Encoding eq
			{exch pop DiacriticEncoding}
			{exch}
			ifelse
			newfontdict 3 1 roll put
			}
		{pop pop}
		ifelse
		} forall
	newfontdict
	} bind def
/NonDiacriticEncode {
	/basefontdict exch def
	/newfontdict basefontdict maxlength dict def
	basefontdict
	{exch dup /FID ne
		{exch newfontdict 3 1 roll put}
		{pop pop}
		ifelse
		} forall
	newfontdict
	} bind def
	/bwidth FMLOCAL
	/bpside FMLOCAL
	/bstring FMLOCAL
	/onbits FMLOCAL
	/offbits FMLOCAL
	/xindex FMLOCAL
	/yindex FMLOCAL
	/x FMLOCAL
	/y FMLOCAL
/setpattern {
	 /bwidth  exch def
	 /bpside  exch def
	 /bstring exch def
	 /onbits 0 def  /offbits 0 def
	 freq sangle landscape {90 add} if 
		{/y exch def
		 /x exch def
		 /xindex x 1 add 2 div bpside mul cvi def
		 /yindex y 1 add 2 div bpside mul cvi def
		 bstring yindex bwidth mul xindex 8 idiv add get
		 1 7 xindex 8 mod sub bitshift and 0 ne
		 {/onbits  onbits  1 add def 1}
		 {/offbits offbits 1 add def 0}
		 ifelse
		}
		setscreen
	 {} settransfer
	 offbits offbits onbits add div mysetgray
	/graymode false store
	} bind def
/grayness {
	mysetgray
	graymode not {
		/graymode true store
		orgxfer cvx settransfer
		orgfreq organgle orgproc cvx setscreen
		} if
	} bind def
/normalize {
	transform round exch round exch itransform
	} bind def
/dnormalize {
	dtransform round exch round exch idtransform
	} bind def
/lnormalize { 
	0 dtransform exch cvi 2 idiv 2 mul 1 add exch idtransform pop
	} bind def
/H { 
	lnormalize setlinewidth
	} bind def
/Z { 
	setlinecap
	} bind def
/X { 
	fillprocs exch get exec
	} bind def
/V { 
	gsave eofill grestore
	} bind def
/N { 
	stroke
	} bind def
/M {newpath moveto} bind def
/E {lineto} bind def
/D {curveto} bind def
/O {closepath} bind def
	/n FMLOCAL
/L { 
 	/n exch def
	newpath
	normalize
	moveto 
	2 1 n {pop normalize lineto} for
	} bind def
/Y { 
	L 
	closepath
	} bind def
	/x1 FMLOCAL
	/x2 FMLOCAL
	/y1 FMLOCAL
	/y2 FMLOCAL
	/rad FMLOCAL
/R { 
	/y2 exch def
	/x2 exch def
	/y1 exch def
	/x1 exch def
	x1 y1
	x2 y1
	x2 y2
	x1 y2
	4 Y 
	} bind def
/RR { 
	/rad exch def
	normalize
	/y2 exch def
	/x2 exch def
	normalize
	/y1 exch def
	/x1 exch def
	newpath
	x1 y1 rad add moveto
	x1 y2 x2 y2 rad arcto
	x2 y2 x2 y1 rad arcto
	x2 y1 x1 y1 rad arcto
	x1 y1 x1 y2 rad arcto
	closepath
	16 {pop} repeat
	} bind def
/C { 
	grestore
	gsave
	R 
	clip
	} bind def
/U { 
	grestore
	gsave
	} bind def
/F { 
	FMfonts exch get
	setfont
	} bind def
/T { 
	moveto show
	} bind def
/RF { 
	rotate
	0 ne { -1 1 scale } if
	} bind def
/TF { 
	gsave
	moveto 
	RF
	show
	grestore
	} bind def
/P { 
	moveto
	0 32 3 2 roll widthshow
	} bind def
/PF { 
	gsave
	moveto 
	RF
	0 32 3 2 roll widthshow
	grestore
	} bind def
/S { 
	moveto
	0 exch ashow
	} bind def
/SF { 
	gsave
	moveto
	RF
	0 exch ashow
	grestore
	} bind def
/B { 
	moveto
	0 32 4 2 roll 0 exch awidthshow
	} bind def
/BF { 
	gsave
	moveto
	RF
	0 32 4 2 roll 0 exch awidthshow
	grestore
	} bind def
	/x FMLOCAL
	/y FMLOCAL
	/dx FMLOCAL
	/dy FMLOCAL
	/dl FMLOCAL
	/t FMLOCAL
	/t2 FMLOCAL
	/Cos FMLOCAL
	/Sin FMLOCAL
	/r FMLOCAL
/W { 
	dnormalize
	/dy exch def
	/dx exch def
	normalize
	/y  exch def
	/x  exch def
	/dl dx dx mul dy dy mul add sqrt def
	dl 0.0 gt {
		/t currentlinewidth def
		savematrix
		/Cos dx dl div def
		/Sin dy dl div def
		/r [Cos Sin Sin neg Cos 0.0 0.0] def
		/t2 t 2.5 mul 3.5 max def
		newpath
		x y translate
		r concat
		0.0 0.0 moveto
		dl t 2.7 mul sub 0.0 rlineto
		stroke
		restorematrix
		x dx add y dy add translate
		r concat
		t 0.67 mul setlinewidth
		t 1.61 mul neg  0.0 translate
		0.0 0.0 moveto
		t2 1.7 mul neg  t2 2.0 div     moveto
		0.0 0.0 lineto
		t2 1.7 mul neg  t2 2.0 div neg lineto
		stroke
		t setlinewidth
		restorematrix
		} if
	} bind def
/G { 
	gsave
	newpath
	normalize translate 0.0 0.0 moveto 
	dnormalize scale 
	0.0 0.0 1.0 5 3 roll arc 
	closepath fill
	grestore
	} bind def
/A { 
	gsave
	savematrix
	newpath
	2 index 2 div add exch 3 index 2 div sub exch 
	normalize 2 index 2 div sub exch 3 index 2 div add exch 
	translate 
	scale 
	0.0 0.0 1.0 5 3 roll arc 
	restorematrix
	stroke
	grestore
	} bind def
	/x FMLOCAL
	/y FMLOCAL
	/w FMLOCAL
	/h FMLOCAL
	/xx FMLOCAL
	/yy FMLOCAL
	/ww FMLOCAL
	/hh FMLOCAL
	/FMsaveobject FMLOCAL
	/FMoptop FMLOCAL
	/FMdicttop FMLOCAL
/BEGINPRINTCODE { 
	/FMdicttop countdictstack 1 add def 
	/FMoptop count 4 sub def 
	/FMsaveobject save def
	userdict begin 
	/showpage {} def 
	FMNORMALIZEGRAPHICS 
	3 index neg 3 index neg translate
	} bind def
/ENDPRINTCODE {
	count -1 FMoptop {pop pop} for 
	countdictstack -1 FMdicttop {pop end} for 
	FMsaveobject restore 
	} bind def
/gn { 
	0 
	{	46 mul 
		cf read pop 
		32 sub 
		dup 46 lt {exit} if 
		46 sub add 
		} loop
	add 
	} bind def
	/str FMLOCAL
/cfs { 
	/str sl string def 
	0 1 sl 1 sub {str exch val put} for 
	str def 
	} bind def
/ic [ 
	0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0223
	0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0223
	0
	{0 hx} {1 hx} {2 hx} {3 hx} {4 hx} {5 hx} {6 hx} {7 hx} {8 hx} {9 hx}
	{10 hx} {11 hx} {12 hx} {13 hx} {14 hx} {15 hx} {16 hx} {17 hx} {18 hx}
	{19 hx} {gn hx} {0} {1} {2} {3} {4} {5} {6} {7} {8} {9} {10} {11} {12}
	{13} {14} {15} {16} {17} {18} {19} {gn} {0 wh} {1 wh} {2 wh} {3 wh}
	{4 wh} {5 wh} {6 wh} {7 wh} {8 wh} {9 wh} {10 wh} {11 wh} {12 wh}
	{13 wh} {14 wh} {gn wh} {0 bl} {1 bl} {2 bl} {3 bl} {4 bl} {5 bl} {6 bl}
	{7 bl} {8 bl} {9 bl} {10 bl} {11 bl} {12 bl} {13 bl} {14 bl} {gn bl}
	{0 fl} {1 fl} {2 fl} {3 fl} {4 fl} {5 fl} {6 fl} {7 fl} {8 fl} {9 fl}
	{10 fl} {11 fl} {12 fl} {13 fl} {14 fl} {gn fl}
	] def
	/sl FMLOCAL
	/val FMLOCAL
	/ws FMLOCAL
	/im FMLOCAL
	/bs FMLOCAL
	/cs FMLOCAL
	/len FMLOCAL
	/pos FMLOCAL
/ms { 
	/sl exch def 
	/val 255 def 
	/ws cfs 
	/im cfs 
	/val 0 def 
	/bs cfs 
	/cs cfs 
	} bind def
400 ms 
/ip { 
	is 
	0 
	cf cs readline pop 
	{	ic exch get exec 
		add 
		} forall 
	pop 
	
	} bind def
/wh { 
	/len exch def 
	/pos exch def 
	ws 0 len getinterval im pos len getinterval copy pop
	pos len 
	} bind def
/bl { 
	/len exch def 
	/pos exch def 
	bs 0 len getinterval im pos len getinterval copy pop
	pos len 
	} bind def
/s1 1 string def
/fl { 
	/len exch def 
	/pos exch def 
	/val cf s1 readhexstring pop 0 get def
	pos 1 pos len add 1 sub {im exch val put} for
	pos len 
	} bind def
/hx { 
	3 copy getinterval 
	cf exch readhexstring pop pop 
	} bind def
	/h FMLOCAL
	/w FMLOCAL
	/d FMLOCAL
	/lb FMLOCAL
	/bitmapsave FMLOCAL
	/is FMLOCAL
	/cf FMLOCAL
/wbytes {  
	dup 
	8 eq { pop } { 1 eq { 7 add 8 idiv } { 3 add 4 idiv } ifelse } ifelse
	} bind def
/BEGINBITMAPBWc { 
	1 {} COMMONBITMAPc
	} bind def
/BEGINBITMAPGRAYc { 
	8 {} COMMONBITMAPc
	} bind def
/BEGINBITMAP2BITc { 
	2 {} COMMONBITMAPc
	} bind def
/COMMONBITMAPc { 
	/r exch def
	/d exch def
	gsave
	translate rotate scale /h exch def /w exch def
	/lb w d wbytes def 
	sl lb lt {lb ms} if 
	/bitmapsave save def 
	r                    
	/is im 0 lb getinterval def 
	ws 0 lb getinterval is copy pop 
	/cf currentfile def 
	w h d [w 0 0 h neg 0 h] 
	{ip} image 
	bitmapsave restore 
	grestore
	} bind def
/BEGINBITMAPBW { 
	1 {} COMMONBITMAP
	} bind def
/BEGINBITMAPGRAY { 
	8 {} COMMONBITMAP
	} bind def
/BEGINBITMAP2BIT { 
	2 {} COMMONBITMAP
	} bind def
/COMMONBITMAP { 
	/r exch def
	/d exch def
	gsave
	translate rotate scale /h exch def /w exch def
	/bitmapsave save def 
	r                    
	/is w d wbytes string def
	/cf currentfile def 
	w h d [w 0 0 h neg 0 h] 
	{ cf is readhexstring pop } image
	bitmapsave restore 
	grestore
	} bind def
/Fmcc {
    /proc2 exch cvlit def
    /proc1 exch cvlit def
    /newproc proc1 length proc2 length add array def
    newproc 0 proc1 putinterval
    newproc proc1 length proc2 putinterval
    newproc cvx
} bind def
/colorsetup {
	currentcolortransfer
	/gryt exch def
	/blut exch def
	/grnt exch def
	/redt exch def
	/ngrayt 256 array def
	/nredt 256 array def
	/nbluet 256 array def
	/ngreent 256 array def
	0 1 255 {
		/indx exch def
		/cynu 1 red indx get 255 div sub def
		/magu 1 green indx get 255 div sub def
		/yelu 1 blue indx get 255 div sub def
		/k cynu magu min yelu min def
		/u k currentundercolorremoval exec def
		nredt indx 1 0 cynu u sub max sub redt exec put
		ngreent indx 1 0 magu u sub max sub grnt exec put
		nbluet indx 1 0 yelu u sub max sub blut exec put
		ngrayt indx 1 k currentblackgeneration exec sub gryt exec put
	} for
	{255 mul cvi nredt exch get}
	{255 mul cvi ngreent exch get}
	{255 mul cvi nbluet exch get}
	{255 mul cvi ngrayt exch get}
	setcolortransfer
	{pop 0} setundercolorremoval
	{} setblackgeneration
	} bind def
/fakecolorsetup {
	/tran 256 string def
	0 1 255 { /ind exch def 
		tran ind
		red ind get 77 mul
		green ind get 151 mul
		blue ind get 28 mul
		add add 256 idiv put } for
	currenttransfer
	{ 255 mul cvi tran exch get 255.0 div }
	exch Fmcc settransfer
} bind def
/BITMAPCOLOR { 
	/d 8 def
	gsave
	translate rotate scale /h exch def /w exch def
	/bitmapsave save def 
	colorsetup
	/is w d wbytes string def
	/cf currentfile def 
	w h d [w 0 0 h neg 0 h] 
	{ cf is readhexstring pop } {is} {is} true 3 colorimage 
	bitmapsave restore 
	grestore
	} bind def
/BITMAPCOLORc { 
	/d 8 def
	gsave
	translate rotate scale /h exch def /w exch def
	/lb w d wbytes def 
	sl lb lt {lb ms} if 
	/bitmapsave save def 
	colorsetup
	/is im 0 lb getinterval def 
	ws 0 lb getinterval is copy pop 
	/cf currentfile def 
	w h d [w 0 0 h neg 0 h] 
	{ip} {is} {is} true 3 colorimage
	bitmapsave restore 
	grestore
	} bind def
/BITMAPGRAY { 
	8 {fakecolorsetup} COMMONBITMAP
	} bind def
/BITMAPGRAYc { 
	8 {fakecolorsetup} COMMONBITMAPc
	} bind def
/ENDBITMAP {
	} bind def
end 
(2.0) FMVERSION
1 1  2 2  0 1 2 FMDOCUMENT
/fillprocs 32 array def
fillprocs 0 { 0.000000 grayness } put
fillprocs 1 { 0.100000 grayness } put
fillprocs 2 { 0.300000 grayness } put
fillprocs 3 { 0.500000 grayness } put
fillprocs 4 { 0.700000 grayness } put
fillprocs 5 { 0.900000 grayness } put
fillprocs 6 { 0.970000 grayness } put
fillprocs 7 { 1.000000 grayness } put
fillprocs 8 {<0f1e3c78f0e1c387> 8 1 setpattern } put
fillprocs 9 {<0f87c3e1f0783c1e> 8 1 setpattern } put
fillprocs 10 {<cccccccccccccccc> 8 1 setpattern } put
fillprocs 11 {<ffff0000ffff0000> 8 1 setpattern } put
fillprocs 12 {<8142241818244281> 8 1 setpattern } put
fillprocs 13 {<03060c183060c081> 8 1 setpattern } put
fillprocs 14 {<8040201008040201> 8 1 setpattern } put
fillprocs 15 {} put
fillprocs 16 { 1.000000 grayness } put
fillprocs 17 { 0.900000 grayness } put
fillprocs 18 { 0.700000 grayness } put
fillprocs 19 { 0.500000 grayness } put
fillprocs 20 { 0.300000 grayness } put
fillprocs 21 { 0.100000 grayness } put
fillprocs 22 { 0.030000 grayness } put
fillprocs 23 { 0.000000 grayness } put
fillprocs 24 {<f0e1c3870f1e3c78> 8 1 setpattern } put
fillprocs 25 {<f0783c1e0f87c3e1> 8 1 setpattern } put
fillprocs 26 {<3333333333333333> 8 1 setpattern } put
fillprocs 27 {<0000ffff0000ffff> 8 1 setpattern } put
fillprocs 28 {<7ebddbe7e7dbbd7e> 8 1 setpattern } put
fillprocs 29 {<fcf9f3e7cf9f3f7e> 8 1 setpattern } put
fillprocs 30 {<7fbfdfeff7fbfdfe> 8 1 setpattern } put
fillprocs 31 {} put
0 18 /Times-Roman FMDEFINEFONT
1 12 /Times-Roman FMDEFINEFONT
612 792 0 FMBEGINPAGE
0 0 612 792 C
0 0 612 792 R
7 X
0 K
V
72 746 540 756 R
V
72 32.67 540 42.67 R
V
24 111 585 788 R
V
3 H
2 Z
9 X
N
7 X
90 450 66.73 33.98 125.28 734.74 G
0 X
90 450 66.73 33.98 125.28 734.74 A
12 X
90 450 71.44 39.09 453.38 445.79 G
0 X
90 450 71.44 39.09 453.38 445.79 A
14 X
90 450 81.78 33.97 149.52 530.88 G
0 X
90 450 81.78 33.97 149.52 530.88 A
5 X
90 450 80.37 32.11 158.69 219.16 G
0 X
90 450 80.37 32.11 158.69 219.16 A
0 F
(PR_W) 398.35 440.57 T
(AITING) 444.33 440.57 T
(PR_COMPLETE) 91.92 213.64 T
(PR_DYING) 102.5 527.15 T
98.91 489.66 103.09 504.06 107.18 489.63 103.05 489.64 4 Y
V
102.29 245.69 103.05 489.87 2 L
1 H
N
1 F
(ACK from PG_NEXT) 118.74 629.88 T
(ACK from PG_NEXT) 0 -270 487.77 487.96 TF
(TIMEOUT on ACCEPT) 201.46 293.52 T
(TEARDOWN to PG_NEXT) 199.52 274.18 T
(Delete PR) 69.48 606.4 T
(Install PR in kernel) 230.6 151.49 T
(T) 63.1 629.81 T
(imeout or) 70.01 629.81 T
0 F
(PR_FREE) 89.94 731.32 T
1 F
(REFUSE to PG_PREV) 237.18 353.09 T
(ACCEPT from tar) 0 -270 465.66 203.84 TF
(get PG) 0 -270 465.66 291.57 TF
(, PG_PREV) 339.02 273.82 T
4 X
90 450 73.32 33.51 502.68 636.51 G
3 H
0 X
90 450 73.32 33.51 502.68 636.51 A
0 F
(PR_INITIAL) 458 631.82 T
1 F
( \050or PG_PREV\051) 228.19 629.88 T
171.84 698.92 159.94 705.31 173.41 706.19 172.63 702.55 4 Y
V
89.9 549.9 M
 13.04 620.3 13.04 620.3 172.52 619.82 D
 332 619.35 332 619.35 292.84 652.3 D
 255.54 683.7 253.77 685.18 172.65 702.58 D
0.5 H
0 Z
N
569.09 666.44 561.06 655.59 562.11 669.04 565.6 667.74 4 Y
V
149.47 767.36 M
 586.94 769.29 603.17 769.37 565.62 667.79 D
N
(SETUP from recognized AD \050via PG neighbor\051) 257.96 769.76 T
185.93 489.5 175.66 498.27 189.02 496.28 187.47 492.89 4 Y
V
178.23 713.99 M
 193.67 717.03 193.67 717.03 268.06 705.85 D
 342.46 694.66 342.46 694.66 342.46 558.7 D
 342.46 426.02 342.46 422.81 187.5 492.9 D
N
(Error processing SETUP) 0 -270 332.82 501.02 TF
(REFUSE to PG_PREV) 0 -270 354.68 500.55 TF
(REFUSE \050via PG_NEXT\051) 237.18 378.22 T
( \050via PG_NEXT\051) 0 -270 465.45 322.73 TF
(TEARDOWN \050upstream or downsteam\051) 0 -270 97.12 280.84 TF
(ACCEPT to PG_PREV) 0 -270 485.22 205.17 TF
(SETUP to PG_NEXT) 258.82 754.78 T
499.4 488.86 495.68 475.88 491.96 488.86 495.68 488.86 4 Y
V
495.68 601.52 495.68 488.62 2 L
2 Z
N
2 X
90 450 71.91 37.7 482.05 158.66 G
3 H
0 X
90 450 71.91 37.7 482.05 158.66 A
152.24 484.48 153.52 497.92 159.55 485.85 155.9 485.17 4 Y
V
424.36 409.33 M
 433.22 368.61 433.22 368.61 305.29 368.61 D
 181.72 368.61 177.51 368.61 155.88 485.14 D
0.5 H
0 Z
N
(, delete PR) 349.7 352.09 T
0 F
(PR_ACTIVE) 432.62 156.26 T
128.07 487.08 131.9 499.99 135.49 487.01 131.78 487.04 4 Y
V
457.54 407.47 M
 396.42 286.64 396.42 286.64 263.25 288.06 D
 132.88 289.44 130.14 289.47 131.79 487 D
N
475.9 208.41 472.18 195.43 468.46 208.41 472.18 208.41 4 Y
V
472.18 407.63 472.18 208.17 2 L
2 Z
N
112.25 181.15 122.5 189.87 118.43 177.04 115.34 179.09 4 Y
V
408.26 162.85 M
 149.7 162.85 109.3 162.85 115.41 179.07 D
0 Z
N
1 F
(T) 0 -270 45.59 270.59 TF
(imeout \050no ACK from PG_PREV\051) 0 -270 45.59 277.5 TF
(Delete PR \050kernel\051) 0 -270 115.92 284.45 TF
(TEARDOWN to PG_NEXT) 0 -270 65.54 270.72 TF
(ACK from PG_PREV) 232.48 170.11 T
54.82 523.99 67.98 526.77 58.3 517.44 56.56 520.71 4 Y
V
431.76 133.07 M
 51.06 133.07 51.06 133.07 51.06 329.92 D
 51.06 465.25 51.06 507.54 56.56 520.75 D
N
202.77 726.63 190 731 203.15 734.06 202.96 730.34 4 Y
V
523 667 M
 512.21 713.94 512.06 714.58 203.03 730.34 D
N
(T) 355 727 T
(imeout ) 361.91 727 T
(Delete PR) 357 706 T
FMENDPAGE
%%EndDocument
 240 -150 a
 endTexFig
656 1144 a Fm(Figure)14 b(5.6:)j(TRANSIT)d(state)g(diagram)-39
1268 y(2.)20 b(P)o(ac)o(k)o(et)14 b(limit)d(reac)o(hed)-39
1347 y(3.)20 b(Data)13 b(limit)e(reac)o(hed)-39 1425 y(4.)20
b(Maxim)o(um)10 b(idle)j(time)g(exceeded)-39 1504 y(5.)20 b(Previous-hop)14
b(PG)g(fails)e(to)i(A)o(CK)g(an)g(A)o(CCEPT)g(pac)o(k)o(et)-39
1583 y(6.)20 b(V)o(GP)13 b(rep)q(orts)j(that)e(either)g(previous-)g(or)g
(next-hop)g(PG)g(is)g(do)o(wn)-90 1675 y(In)e(the)g(initial)e(implemen)o
(tatio)o(n,)f(the)k(\014rst)f(four)g(t)o(yp)q(es)g(of)g(teardo)o(wn)g(are)g
(initiated)f(b)o(y)g(KERNEL)i(via)e(a)g(TEARDO)o(WN-REQUEST)-90
1725 y(pac)o(k)o(et)i(that)f(is)g(deliv)o(ered)g(to)g(SETUP)h(\(encapsulated)
h(with)d(a)h(dumm)o(y)e(CMTP)i(and)g(IP)g(header\).)19 b(Up)q(on)12
b(receiving)h(TEARDO)o(WN-)-90 1775 y(REQUEST,)20 b(SETUP)g(sends)h(a)e
(TEARDO)o(WN)g(pac)o(k)o(et)h(to)f(b)q(oth)h(PG-NEXT)g(and)f(PG-PREV)g(\(if)g
(de\014ned\).)37 b(TEARDO)o(WN-)-90 1824 y(REQUEST)14 b(and)g(TEARDO)o(WN)f
(ha)o(v)o(e)h(the)h(same)e(simple)f(format)g(consisting)i(of)f(the)i(PRid)e
(and)h(the)g(termination)e(co)q(de.)-28 1892 y(A)k(TEARDO)o(WN)f(pac)o(k)o
(et)g(can)h(arriv)o(e)f(via)g(PG-PREV)g(or)g(PG-NEXT.)g(If)g(it)g(arriv)o(es)
h(via)f(PG-NEXT,)g(it)g(m)o(ust)f(b)q(e)i(forw)o(arded)-90
1942 y(to)f(PG-PREV)g(and)g(vice-a-v)o(ersa.)23 b(A)15 b(TEARDO)o(WN)g(m)o
(ust)f(also)h(b)q(e)h(sourced)h(at)e(one)g(of)g(the)h(in)o(terv)o(ening)f
(PGs,)g(ho)o(w)o(ev)o(er,)h(this)f(is)-90 1992 y(di\016cult)e(to)h(v)o(erify)
f(since)i(PGs)f(within)f(a)h(PR)f(do)h(not)g(all)f(necessarily)i(ha)o(v)o(e)e
(a)h(means)f(for)g(m)o(utual)f(authen)o(tication.)-90 2128
y Fe(5.3.2)55 b(Exp)r(erimen)n(ts)-90 2223 y Fm(Exp)q(erimen)o(ts)16
b(with)g(the)g(IDPR)g(implemen)o(tatio)o(n)e(w)o(ere)i(conducted)i(in)e
(order)g(to)g(ev)n(aluate)g(the)h(o)o(v)o(erhead)f(incurred)h(b)o(y)f(PR)g
(setup)-90 2273 y(and)e(IDPR)f(data)h(pac)o(k)o(et)g(pro)q(cessing.)19
b(This)14 b(section)g(summarizes)f(our)h(results.)-28 2340
y(W)m(e)e(de\014ne)i(PR)e(setup)h(o)o(v)o(erhead)g(as)g(the)g(time)e(in)o
(terv)n(al)g(b)q(et)o(w)o(een)j(the)f(arriv)n(al)e(of)h(a)g(SETUP-REQUEST)i
(pac)o(k)o(et)e(at)h(the)g(ORIGI-)-90 2390 y(NA)m(TOR)g(PG)g(and)g(the)h
(arriv)n(al)e(of)h(a)g(corresp)q(onding)h(A)o(CCEPT)f(pac)o(k)o(et)h(at)f
(the)h(same)f(PG.)f(Equiv)n(alen)o(tly)m(,)f(it)i(can)h(b)q(e)g(view)o(ed)f
(as)g(the)-90 2440 y(transition)g(time)g(b)q(et)o(w)o(een)i(the)g(PR-FREE)e
(and)h(PR-COMPLETE)h(states)g(as)f(depicted)h(in)e(Figure)h(5.5.)-28
2508 y(W)m(e)i(measured)g(the)h(PR)e(setup)i(o)o(v)o(erhead)g(for)f(routes)h
(ranging)e(from)f(2)i(to)g(5)g(PG)f(hops.)1414 2493 y Fi(5)1458
2508 y Fm(\(The)h(lab)q(oratory)g(top)q(ology)e(w)o(as)i(re-)-90
2558 y(con\014gured)h(for)f(the)h(case)h(of)d(5-hops\).)26
b(W)m(e)16 b(measured)g(the)h(o)o(v)o(erhead)g(in)e(relation)h(to)g(the)h(n)o
(um)o(b)q(er)f(of)g(PG,)f(not)i(AD,)e(hops.)26 b(This)p -90
2631 864 2 v -44 2658 a Fh(5)-26 2670 y Fg(See)10 b(Figure)g(5.1.)2028
2770 y Fm(68)p eop
%%Page: 69 9
bop 240 -150 a
 21313290 21313290 0 0 40258437 52099153 startTexFig
240 -150 a
%%BeginDocument: target.ps
/FMversion (2.0) def 
/FrameDict 170 dict def 
systemdict /errordict known not { /errordict 10 dict def
		errordict /rangecheck { stop } put } if
FrameDict /tmprangecheck errordict /rangecheck get put 
errordict /rangecheck {FrameDict /bug true put} put 
FrameDict /bug false put 
mark 
currentfile 5 string readline
00
0000000000
cleartomark 
errordict /rangecheck FrameDict /tmprangecheck get put 
FrameDict /bug get { 
	/readline {
		/gstring exch def
		/gfile exch def
		/gindex 0 def
		{
			gfile read pop 
			dup 10 eq {exit} if 
			dup 13 eq {exit} if 
			gstring exch gindex exch put 
			/gindex gindex 1 add def 
		} loop
		pop 
		gstring 0 gindex getinterval true 
		} def
	} if
/FMVERSION {
	FMversion ne {
		/Times-Roman findfont 18 scalefont setfont
		100 100 moveto
		(FrameMaker version does not match postscript_prolog!)
		dup =
		show showpage
		} if
	} def 
/FMLOCAL {
	FrameDict begin
	0 def 
	end 
	} def 
	/gstring FMLOCAL
	/gfile FMLOCAL
	/gindex FMLOCAL
	/orgxfer FMLOCAL
	/orgproc FMLOCAL
	/organgle FMLOCAL
	/orgfreq FMLOCAL
	FrameDict /graymode true put
	/yscale FMLOCAL
	/xscale FMLOCAL
	/PrintInColor systemdict /colorimage known def
PrintInColor 
	
	{
	/HUE 0 def
	/SAT 0 def
	/BRIGHT 0 def
	% array of arrays Hue and Sat values for the separations [HUE BRIGHT]
	/Colors   
	[[0    0  ]    % black
	 [0    0  ]    % white
	 [0.00 1.0]    % red
	 [0.37 1.0]    % green
	 [0.60 1.0]    % blue
	 [0.50 1.0]    % cyan
	 [0.83 1.0]    % magenta
	 [0.16 1.0]    % comment
	 ] def
      
	/BEGINBITMAPCOLOR { 
		BITMAPCOLOR } def
	/BEGINBITMAPCOLORc { 
		BITMAPCOLORc } def
	/K { 
		Colors exch get dup
		0 get /HUE exch store 
		1 get /BRIGHT exch store
		  HUE 0 eq BRIGHT 0 eq and
			{1.0 SAT sub setgray }
			{HUE SAT BRIGHT sethsbcolor } 
		  ifelse
		} def
	/mysetgray { 
		/SAT exch 1.0 exch sub store 
		  HUE 0 eq BRIGHT 0 eq and
			{1.0 SAT sub setgray }
			{HUE SAT BRIGHT sethsbcolor } 
		  ifelse
		} bind def
	}
	
	{
	/BEGINBITMAPCOLOR { 
		BITMAPGRAY } def
	/BEGINBITMAPCOLORc { 
		BITMAPGRAYc } def
	/mysetgray { setgray } bind def
	/K { 
		pop
		} def
	}
ifelse
/max	{2 copy lt {exch} if pop} bind def
/min	{2 copy gt {exch} if pop} bind def
/mtx matrix defaultmatrix def
/setmanualfeed {
	 statusdict /manualfeed true put
	} def
/FMDOCUMENT { 
	array /FMfonts exch def
	/#copies exch def
	0 ne dup {setmanualfeed} if
	FrameDict begin
	/manualfeed exch def
	/paperheight exch def
	/paperwidth exch def
	setpapername
	manualfeed {true} {papersize} ifelse 
	{manualpapersize} {false} ifelse 
	{desperatepapersize} if
	/yscale exch def
	/xscale exch def
	currenttransfer cvlit /orgxfer exch def
	currentscreen cvlit /orgproc exch def
	/organgle exch def /orgfreq exch def
	end 
	} def 
	/pagesave FMLOCAL
	/orgmatrix FMLOCAL
	/landscape FMLOCAL
/FMBEGINPAGE {  
	FrameDict begin 
	/pagesave save def
	3.86 setmiterlimit
	/landscape exch 0 ne store
	landscape { 
		90 rotate 0 exch neg translate pop 
		}
		{ pop pop }
		ifelse
	xscale yscale scale
	/orgmatrix matrix def
	gsave 
	} def 
/FMENDPAGE {
	grestore 
	pagesave restore
	end 
	showpage
	} def 
	/fontname FMLOCAL
	/fontscale FMLOCAL
	/fontnum FMLOCAL
	/fontdict FMLOCAL
/FMDEFINEFONT {
	FrameDict begin
	/fontname exch def
	/fontscale exch def
	/fontnum exch def
	/fontdict fontname findfont fontscale scalefont def
	fontdict /Encoding get StandardEncoding eq
	{
		fontdict DiacriticEncode 
		/fontdict exch def
	} {
		fontdict NonDiacriticEncode
		/fontdict exch def
	} ifelse
	FMfonts fontnum
		fontnum fontdict definefont
	put
	end 
	} def 
/FMNORMALIZEGRAPHICS { 
	newpath
	0.0 0.0 moveto
	1 setlinewidth
	0 setlinecap
	0 mysetgray
	} bind def
/FMBEGINEPSF { 
	end 
	/FMEPSF save def
	/showpage {} def 
	FMNORMALIZEGRAPHICS 
	[/fy /fx /fh /fw /ury /urx /lly /llx] {exch def} forall 
	fx fy translate 
	rotate
	fw urx llx sub div fh ury lly sub div scale 
	llx neg lly neg translate 
	} bind def
/FMENDEPSF {
	FMEPSF restore
	FrameDict begin 
	} bind def
FrameDict begin 
/pagedimen { 
	paperheight sub abs 16 lt exch 
	paperwidth sub abs 16 lt and
	{/papername exch def} {pop} ifelse
	} def
/inch {72 mul} def
/setpapername { 
	/papersizedict 14 dict def 
	papersizedict begin
	/papername /unknown def 
		/Letter 8.5 inch 11.0 inch pagedimen
		/LetterSmall 7.68 inch 10.16 inch pagedimen
		/Tabloid 11.0 inch 17.0 inch pagedimen
		/Ledger 17.0 inch 11.0 inch pagedimen
		/Legal 8.5 inch 14.0 inch pagedimen
		/Statement 5.5 inch 8.5 inch pagedimen
		/Executive 7.5 inch 10.0 inch pagedimen
		/A3 11.69 inch 16.5 inch pagedimen
		/A4 8.26 inch 11.69 inch pagedimen
		/A4Small 7.47 inch 10.85 inch pagedimen
		/B4 10.125 inch 14.33 inch pagedimen
		/B5 7.16 inch 10.125 inch pagedimen
	end
	} def
/papersize {
	papersizedict begin
		/Letter {lettertray} def
		/LetterSmall {lettertray lettersmall} def
		/Tabloid {11x17tray} def
		/Ledger {ledgertray} def
		/Legal {legaltray} def
		/Statement {statementtray} def
		/Executive {executivetray} def
		/A3 {a3tray} def
		/A4 {a4tray} def
		/A4Small {a4tray a4small} def
		/B4 {b4tray} def
		/B5 {b5tray} def
		/unknown {unknown} def
	papersizedict dup papername known {papername} {/unknown} ifelse get
	end
	statusdict begin stopped end 
	} def
/manualpapersize {
	papersizedict begin
		/Letter {letter} def
		/LetterSmall {lettersmall} def
		/Tabloid {11x17} def
		/Ledger {ledger} def
		/Legal {legal} def
		/Statement {statement} def
		/Executive {executive} def
		/A3 {a3} def
		/A4 {a4} def
		/A4Small {a4small} def
		/B4 {b4} def
		/B5 {b5} def
		/unknown {unknown} def
	papersizedict dup papername known {papername} {/unknown} ifelse get
	end
	stopped 
	} def
/desperatepapersize {
	statusdict /setpageparams known
		{
		paperwidth paperheight 0 1 
		statusdict begin
		{setpageparams} stopped pop 
		end
		} if
	} def
/savematrix {
	orgmatrix currentmatrix pop
	} bind def
/restorematrix {
	orgmatrix setmatrix
	} bind def
/dmatrix matrix def
/dpi    72 0 dmatrix defaultmatrix dtransform
    dup mul exch   dup mul add   sqrt def
/freq dpi 18.75 div 8 div round dup 0 eq { pop 1 } if 8 mul dpi exch div def
/sangle 1 0 dmatrix defaultmatrix dtransform exch atan def
/DiacriticEncoding [
/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
/.notdef /.notdef /.notdef /.notdef /space /exclam /quotedbl
/numbersign /dollar /percent /ampersand /quotesingle /parenleft
/parenright /asterisk /plus /comma /hyphen /period /slash /zero /one
/two /three /four /five /six /seven /eight /nine /colon /semicolon
/less /equal /greater /question /at /A /B /C /D /E /F /G /H /I /J /K
/L /M /N /O /P /Q /R /S /T /U /V /W /X /Y /Z /bracketleft /backslash
/bracketright /asciicircum /underscore /grave /a /b /c /d /e /f /g /h
/i /j /k /l /m /n /o /p /q /r /s /t /u /v /w /x /y /z /braceleft /bar
/braceright /asciitilde /.notdef /Adieresis /Aring /Ccedilla /Eacute
/Ntilde /Odieresis /Udieresis /aacute /agrave /acircumflex /adieresis
/atilde /aring /ccedilla /eacute /egrave /ecircumflex /edieresis
/iacute /igrave /icircumflex /idieresis /ntilde /oacute /ograve
/ocircumflex /odieresis /otilde /uacute /ugrave /ucircumflex
/udieresis /dagger /.notdef /cent /sterling /section /bullet
/paragraph /germandbls /registered /copyright /trademark /acute
/dieresis /.notdef /AE /Oslash /.notdef /.notdef /.notdef /.notdef
/yen /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
/ordfeminine /ordmasculine /.notdef /ae /oslash /questiondown
/exclamdown /logicalnot /.notdef /florin /.notdef /.notdef
/guillemotleft /guillemotright /ellipsis /.notdef /Agrave /Atilde
/Otilde /OE /oe /endash /emdash /quotedblleft /quotedblright
/quoteleft /quoteright /.notdef /.notdef /ydieresis /Ydieresis
/fraction /currency /guilsinglleft /guilsinglright /fi /fl /daggerdbl
/periodcentered /quotesinglbase /quotedblbase /perthousand
/Acircumflex /Ecircumflex /Aacute /Edieresis /Egrave /Iacute
/Icircumflex /Idieresis /Igrave /Oacute /Ocircumflex /.notdef /Ograve
/Uacute /Ucircumflex /Ugrave /dotlessi /circumflex /tilde /macron
/breve /dotaccent /ring /cedilla /hungarumlaut /ogonek /caron
] def
	/basefontdict FMLOCAL
	/newfontdict FMLOCAL
/DiacriticEncode {
	/basefontdict exch def
	/newfontdict basefontdict maxlength dict def
	basefontdict
	{exch dup /FID ne
		{dup /Encoding eq
			{exch pop DiacriticEncoding}
			{exch}
			ifelse
			newfontdict 3 1 roll put
			}
		{pop pop}
		ifelse
		} forall
	newfontdict
	} bind def
/NonDiacriticEncode {
	/basefontdict exch def
	/newfontdict basefontdict maxlength dict def
	basefontdict
	{exch dup /FID ne
		{exch newfontdict 3 1 roll put}
		{pop pop}
		ifelse
		} forall
	newfontdict
	} bind def
	/bwidth FMLOCAL
	/bpside FMLOCAL
	/bstring FMLOCAL
	/onbits FMLOCAL
	/offbits FMLOCAL
	/xindex FMLOCAL
	/yindex FMLOCAL
	/x FMLOCAL
	/y FMLOCAL
/setpattern {
	 /bwidth  exch def
	 /bpside  exch def
	 /bstring exch def
	 /onbits 0 def  /offbits 0 def
	 freq sangle landscape {90 add} if 
		{/y exch def
		 /x exch def
		 /xindex x 1 add 2 div bpside mul cvi def
		 /yindex y 1 add 2 div bpside mul cvi def
		 bstring yindex bwidth mul xindex 8 idiv add get
		 1 7 xindex 8 mod sub bitshift and 0 ne
		 {/onbits  onbits  1 add def 1}
		 {/offbits offbits 1 add def 0}
		 ifelse
		}
		setscreen
	 {} settransfer
	 offbits offbits onbits add div mysetgray
	/graymode false store
	} bind def
/grayness {
	mysetgray
	graymode not {
		/graymode true store
		orgxfer cvx settransfer
		orgfreq organgle orgproc cvx setscreen
		} if
	} bind def
/normalize {
	transform round exch round exch itransform
	} bind def
/dnormalize {
	dtransform round exch round exch idtransform
	} bind def
/lnormalize { 
	0 dtransform exch cvi 2 idiv 2 mul 1 add exch idtransform pop
	} bind def
/H { 
	lnormalize setlinewidth
	} bind def
/Z { 
	setlinecap
	} bind def
/X { 
	fillprocs exch get exec
	} bind def
/V { 
	gsave eofill grestore
	} bind def
/N { 
	stroke
	} bind def
/M {newpath moveto} bind def
/E {lineto} bind def
/D {curveto} bind def
/O {closepath} bind def
	/n FMLOCAL
/L { 
 	/n exch def
	newpath
	normalize
	moveto 
	2 1 n {pop normalize lineto} for
	} bind def
/Y { 
	L 
	closepath
	} bind def
	/x1 FMLOCAL
	/x2 FMLOCAL
	/y1 FMLOCAL
	/y2 FMLOCAL
	/rad FMLOCAL
/R { 
	/y2 exch def
	/x2 exch def
	/y1 exch def
	/x1 exch def
	x1 y1
	x2 y1
	x2 y2
	x1 y2
	4 Y 
	} bind def
/RR { 
	/rad exch def
	normalize
	/y2 exch def
	/x2 exch def
	normalize
	/y1 exch def
	/x1 exch def
	newpath
	x1 y1 rad add moveto
	x1 y2 x2 y2 rad arcto
	x2 y2 x2 y1 rad arcto
	x2 y1 x1 y1 rad arcto
	x1 y1 x1 y2 rad arcto
	closepath
	16 {pop} repeat
	} bind def
/C { 
	grestore
	gsave
	R 
	clip
	} bind def
/U { 
	grestore
	gsave
	} bind def
/F { 
	FMfonts exch get
	setfont
	} bind def
/T { 
	moveto show
	} bind def
/RF { 
	rotate
	0 ne { -1 1 scale } if
	} bind def
/TF { 
	gsave
	moveto 
	RF
	show
	grestore
	} bind def
/P { 
	moveto
	0 32 3 2 roll widthshow
	} bind def
/PF { 
	gsave
	moveto 
	RF
	0 32 3 2 roll widthshow
	grestore
	} bind def
/S { 
	moveto
	0 exch ashow
	} bind def
/SF { 
	gsave
	moveto
	RF
	0 exch ashow
	grestore
	} bind def
/B { 
	moveto
	0 32 4 2 roll 0 exch awidthshow
	} bind def
/BF { 
	gsave
	moveto
	RF
	0 32 4 2 roll 0 exch awidthshow
	grestore
	} bind def
	/x FMLOCAL
	/y FMLOCAL
	/dx FMLOCAL
	/dy FMLOCAL
	/dl FMLOCAL
	/t FMLOCAL
	/t2 FMLOCAL
	/Cos FMLOCAL
	/Sin FMLOCAL
	/r FMLOCAL
/W { 
	dnormalize
	/dy exch def
	/dx exch def
	normalize
	/y  exch def
	/x  exch def
	/dl dx dx mul dy dy mul add sqrt def
	dl 0.0 gt {
		/t currentlinewidth def
		savematrix
		/Cos dx dl div def
		/Sin dy dl div def
		/r [Cos Sin Sin neg Cos 0.0 0.0] def
		/t2 t 2.5 mul 3.5 max def
		newpath
		x y translate
		r concat
		0.0 0.0 moveto
		dl t 2.7 mul sub 0.0 rlineto
		stroke
		restorematrix
		x dx add y dy add translate
		r concat
		t 0.67 mul setlinewidth
		t 1.61 mul neg  0.0 translate
		0.0 0.0 moveto
		t2 1.7 mul neg  t2 2.0 div     moveto
		0.0 0.0 lineto
		t2 1.7 mul neg  t2 2.0 div neg lineto
		stroke
		t setlinewidth
		restorematrix
		} if
	} bind def
/G { 
	gsave
	newpath
	normalize translate 0.0 0.0 moveto 
	dnormalize scale 
	0.0 0.0 1.0 5 3 roll arc 
	closepath fill
	grestore
	} bind def
/A { 
	gsave
	savematrix
	newpath
	2 index 2 div add exch 3 index 2 div sub exch 
	normalize 2 index 2 div sub exch 3 index 2 div add exch 
	translate 
	scale 
	0.0 0.0 1.0 5 3 roll arc 
	restorematrix
	stroke
	grestore
	} bind def
	/x FMLOCAL
	/y FMLOCAL
	/w FMLOCAL
	/h FMLOCAL
	/xx FMLOCAL
	/yy FMLOCAL
	/ww FMLOCAL
	/hh FMLOCAL
	/FMsaveobject FMLOCAL
	/FMoptop FMLOCAL
	/FMdicttop FMLOCAL
/BEGINPRINTCODE { 
	/FMdicttop countdictstack 1 add def 
	/FMoptop count 4 sub def 
	/FMsaveobject save def
	userdict begin 
	/showpage {} def 
	FMNORMALIZEGRAPHICS 
	3 index neg 3 index neg translate
	} bind def
/ENDPRINTCODE {
	count -1 FMoptop {pop pop} for 
	countdictstack -1 FMdicttop {pop end} for 
	FMsaveobject restore 
	} bind def
/gn { 
	0 
	{	46 mul 
		cf read pop 
		32 sub 
		dup 46 lt {exit} if 
		46 sub add 
		} loop
	add 
	} bind def
	/str FMLOCAL
/cfs { 
	/str sl string def 
	0 1 sl 1 sub {str exch val put} for 
	str def 
	} bind def
/ic [ 
	0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0223
	0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0223
	0
	{0 hx} {1 hx} {2 hx} {3 hx} {4 hx} {5 hx} {6 hx} {7 hx} {8 hx} {9 hx}
	{10 hx} {11 hx} {12 hx} {13 hx} {14 hx} {15 hx} {16 hx} {17 hx} {18 hx}
	{19 hx} {gn hx} {0} {1} {2} {3} {4} {5} {6} {7} {8} {9} {10} {11} {12}
	{13} {14} {15} {16} {17} {18} {19} {gn} {0 wh} {1 wh} {2 wh} {3 wh}
	{4 wh} {5 wh} {6 wh} {7 wh} {8 wh} {9 wh} {10 wh} {11 wh} {12 wh}
	{13 wh} {14 wh} {gn wh} {0 bl} {1 bl} {2 bl} {3 bl} {4 bl} {5 bl} {6 bl}
	{7 bl} {8 bl} {9 bl} {10 bl} {11 bl} {12 bl} {13 bl} {14 bl} {gn bl}
	{0 fl} {1 fl} {2 fl} {3 fl} {4 fl} {5 fl} {6 fl} {7 fl} {8 fl} {9 fl}
	{10 fl} {11 fl} {12 fl} {13 fl} {14 fl} {gn fl}
	] def
	/sl FMLOCAL
	/val FMLOCAL
	/ws FMLOCAL
	/im FMLOCAL
	/bs FMLOCAL
	/cs FMLOCAL
	/len FMLOCAL
	/pos FMLOCAL
/ms { 
	/sl exch def 
	/val 255 def 
	/ws cfs 
	/im cfs 
	/val 0 def 
	/bs cfs 
	/cs cfs 
	} bind def
400 ms 
/ip { 
	is 
	0 
	cf cs readline pop 
	{	ic exch get exec 
		add 
		} forall 
	pop 
	
	} bind def
/wh { 
	/len exch def 
	/pos exch def 
	ws 0 len getinterval im pos len getinterval copy pop
	pos len 
	} bind def
/bl { 
	/len exch def 
	/pos exch def 
	bs 0 len getinterval im pos len getinterval copy pop
	pos len 
	} bind def
/s1 1 string def
/fl { 
	/len exch def 
	/pos exch def 
	/val cf s1 readhexstring pop 0 get def
	pos 1 pos len add 1 sub {im exch val put} for
	pos len 
	} bind def
/hx { 
	3 copy getinterval 
	cf exch readhexstring pop pop 
	} bind def
	/h FMLOCAL
	/w FMLOCAL
	/d FMLOCAL
	/lb FMLOCAL
	/bitmapsave FMLOCAL
	/is FMLOCAL
	/cf FMLOCAL
/wbytes {  
	dup 
	8 eq { pop } { 1 eq { 7 add 8 idiv } { 3 add 4 idiv } ifelse } ifelse
	} bind def
/BEGINBITMAPBWc { 
	1 {} COMMONBITMAPc
	} bind def
/BEGINBITMAPGRAYc { 
	8 {} COMMONBITMAPc
	} bind def
/BEGINBITMAP2BITc { 
	2 {} COMMONBITMAPc
	} bind def
/COMMONBITMAPc { 
	/r exch def
	/d exch def
	gsave
	translate rotate scale /h exch def /w exch def
	/lb w d wbytes def 
	sl lb lt {lb ms} if 
	/bitmapsave save def 
	r                    
	/is im 0 lb getinterval def 
	ws 0 lb getinterval is copy pop 
	/cf currentfile def 
	w h d [w 0 0 h neg 0 h] 
	{ip} image 
	bitmapsave restore 
	grestore
	} bind def
/BEGINBITMAPBW { 
	1 {} COMMONBITMAP
	} bind def
/BEGINBITMAPGRAY { 
	8 {} COMMONBITMAP
	} bind def
/BEGINBITMAP2BIT { 
	2 {} COMMONBITMAP
	} bind def
/COMMONBITMAP { 
	/r exch def
	/d exch def
	gsave
	translate rotate scale /h exch def /w exch def
	/bitmapsave save def 
	r                    
	/is w d wbytes string def
	/cf currentfile def 
	w h d [w 0 0 h neg 0 h] 
	{ cf is readhexstring pop } image
	bitmapsave restore 
	grestore
	} bind def
/Fmcc {
    /proc2 exch cvlit def
    /proc1 exch cvlit def
    /newproc proc1 length proc2 length add array def
    newproc 0 proc1 putinterval
    newproc proc1 length proc2 putinterval
    newproc cvx
} bind def
/colorsetup {
	currentcolortransfer
	/gryt exch def
	/blut exch def
	/grnt exch def
	/redt exch def
	/ngrayt 256 array def
	/nredt 256 array def
	/nbluet 256 array def
	/ngreent 256 array def
	0 1 255 {
		/indx exch def
		/cynu 1 red indx get 255 div sub def
		/magu 1 green indx get 255 div sub def
		/yelu 1 blue indx get 255 div sub def
		/k cynu magu min yelu min def
		/u k currentundercolorremoval exec def
		nredt indx 1 0 cynu u sub max sub redt exec put
		ngreent indx 1 0 magu u sub max sub grnt exec put
		nbluet indx 1 0 yelu u sub max sub blut exec put
		ngrayt indx 1 k currentblackgeneration exec sub gryt exec put
	} for
	{255 mul cvi nredt exch get}
	{255 mul cvi ngreent exch get}
	{255 mul cvi nbluet exch get}
	{255 mul cvi ngrayt exch get}
	setcolortransfer
	{pop 0} setundercolorremoval
	{} setblackgeneration
	} bind def
/fakecolorsetup {
	/tran 256 string def
	0 1 255 { /ind exch def 
		tran ind
		red ind get 77 mul
		green ind get 151 mul
		blue ind get 28 mul
		add add 256 idiv put } for
	currenttransfer
	{ 255 mul cvi tran exch get 255.0 div }
	exch Fmcc settransfer
} bind def
/BITMAPCOLOR { 
	/d 8 def
	gsave
	translate rotate scale /h exch def /w exch def
	/bitmapsave save def 
	colorsetup
	/is w d wbytes string def
	/cf currentfile def 
	w h d [w 0 0 h neg 0 h] 
	{ cf is readhexstring pop } {is} {is} true 3 colorimage 
	bitmapsave restore 
	grestore
	} bind def
/BITMAPCOLORc { 
	/d 8 def
	gsave
	translate rotate scale /h exch def /w exch def
	/lb w d wbytes def 
	sl lb lt {lb ms} if 
	/bitmapsave save def 
	colorsetup
	/is im 0 lb getinterval def 
	ws 0 lb getinterval is copy pop 
	/cf currentfile def 
	w h d [w 0 0 h neg 0 h] 
	{ip} {is} {is} true 3 colorimage
	bitmapsave restore 
	grestore
	} bind def
/BITMAPGRAY { 
	8 {fakecolorsetup} COMMONBITMAP
	} bind def
/BITMAPGRAYc { 
	8 {fakecolorsetup} COMMONBITMAPc
	} bind def
/ENDBITMAP {
	} bind def
end 
(2.0) FMVERSION
1 1  2 2  0 1 2 FMDOCUMENT
/fillprocs 32 array def
fillprocs 0 { 0.000000 grayness } put
fillprocs 1 { 0.100000 grayness } put
fillprocs 2 { 0.300000 grayness } put
fillprocs 3 { 0.500000 grayness } put
fillprocs 4 { 0.700000 grayness } put
fillprocs 5 { 0.900000 grayness } put
fillprocs 6 { 0.970000 grayness } put
fillprocs 7 { 1.000000 grayness } put
fillprocs 8 {<0f1e3c78f0e1c387> 8 1 setpattern } put
fillprocs 9 {<0f87c3e1f0783c1e> 8 1 setpattern } put
fillprocs 10 {<cccccccccccccccc> 8 1 setpattern } put
fillprocs 11 {<ffff0000ffff0000> 8 1 setpattern } put
fillprocs 12 {<8142241818244281> 8 1 setpattern } put
fillprocs 13 {<03060c183060c081> 8 1 setpattern } put
fillprocs 14 {<8040201008040201> 8 1 setpattern } put
fillprocs 15 {} put
fillprocs 16 { 1.000000 grayness } put
fillprocs 17 { 0.900000 grayness } put
fillprocs 18 { 0.700000 grayness } put
fillprocs 19 { 0.500000 grayness } put
fillprocs 20 { 0.300000 grayness } put
fillprocs 21 { 0.100000 grayness } put
fillprocs 22 { 0.030000 grayness } put
fillprocs 23 { 0.000000 grayness } put
fillprocs 24 {<f0e1c3870f1e3c78> 8 1 setpattern } put
fillprocs 25 {<f0783c1e0f87c3e1> 8 1 setpattern } put
fillprocs 26 {<3333333333333333> 8 1 setpattern } put
fillprocs 27 {<0000ffff0000ffff> 8 1 setpattern } put
fillprocs 28 {<7ebddbe7e7dbbd7e> 8 1 setpattern } put
fillprocs 29 {<fcf9f3e7cf9f3f7e> 8 1 setpattern } put
fillprocs 30 {<7fbfdfeff7fbfdfe> 8 1 setpattern } put
fillprocs 31 {} put
0 18 /Times-Roman FMDEFINEFONT
1 12 /Times-Roman FMDEFINEFONT
612 792 0 FMBEGINPAGE
0 0 612 792 C
0 0 612 792 R
7 X
0 K
V
72 746 540 756 R
V
72 32.67 540 42.67 R
V
14 168 587 785 R
V
3 H
2 Z
9 X
N
7 X
90 450 68.15 33.57 122.39 728.33 G
0 X
90 450 68.15 33.57 122.39 728.33 A
14 X
90 450 83.52 33.56 202.1 531.58 G
0 X
90 450 83.52 33.56 202.1 531.58 A
5 X
90 450 83.04 33.56 333.14 355.94 G
0 X
90 450 83.04 33.56 333.14 355.94 A
0 F
(PR_COMPLETE) 273.38 353.42 T
(PR_DYING) 155.42 527.22 T
1 F
(ACK from PG_PREV) 184.98 628.69 T
(Delete PR) 130.02 604.38 T
(Install PR in kernel) 0 -270 481.46 361.86 TF
(T) 127.22 629.61 T
(imeout or) 134.13 629.61 T
0 F
(PR_FREE) 78.5 724.92 T
519.52 674.64 511.35 663.96 512.62 677.35 516.07 675.99 4 Y
V
170.57 752.06 M
 529.1 753.58 545.91 753.65 516.07 675.99 D
0.5 H
0 Z
N
1 F
(SETUP from recognized AD \050via PG neighbor\051) 224.18 758.94 T
197.93 488.51 188.14 497.8 201.36 495.11 199.65 491.81 4 Y
V
190.54 728.33 M
 204.98 731.58 204.98 731.58 274.58 719.63 D
 344.18 707.67 344.18 707.67 344.18 562.38 D
 344.18 420.77 344.18 417.19 199.67 491.83 D
N
(Error processing SETUP) 0 -270 338.42 499.65 TF
(REFUSE to PG_PREV) 0 -270 356.66 496.27 TF
(ACCEPT to PG_PREV) 222.26 739.63 T
2 X
90 450 73.44 37.24 500.18 625.37 G
3 H
2 Z
0 X
90 450 73.44 37.24 500.18 625.37 A
0 F
(PR_ACTIVE) 452.98 620.6 T
1 F
(T) 204.98 201.69 T
(imeout \050no ACK from PG_PREV\051) 211.89 201.69 T
(Delete PR \050setup & kernel\051) 0 -270 84.98 467.02 TF
(TEARDOWN \050via PG_PREV\051) 0 -270 67.7 462.59 TF
56.55 702.64 68.66 708.59 61.55 697.12 59.05 699.88 4 Y
V
539.06 594.57 M
 538.1 199.16 538.1 199.16 300.5 195.94 D
 62.9 192.72 62.9 192.72 45.15 432.27 D
 28.89 651.46 27.51 670.08 59.02 699.84 D
0.5 H
0 Z
N
(Delete PR) 208.82 181.46 T
373.9 315.65 364.33 325.14 377.48 322.16 375.69 318.91 4 Y
V
470.9 592.73 M
 471.82 278.24 471.86 266.72 375.72 318.92 D
N
(ACK from PG_PREV) 0 -270 461.3 364.07 TF
196.13 708.81 184.9 716.27 198.37 715.9 197.25 712.35 4 Y
V
191.71 565.14 M
 103.21 573.64 103.21 573.64 99.31 596.31 D
 95.42 618.98 95.42 618.98 210.68 620.87 D
 325.94 622.76 325.94 622.76 316.7 650.15 D
 307.78 676.59 307.47 677.51 197.28 712.36 D
N
69.6 691.98 73.46 704.92 77.04 691.9 73.32 691.94 4 Y
V
250.1 361.22 M
 115.7 303.04 115.7 303.04 92.66 324.07 D
 69.9 344.85 69.63 345.11 73.32 691.9 D
N
FMENDPAGE
%%EndDocument
 240 -150 a
 endTexFig
662 1085 a Fm(Figure)14 b(5.7:)j(T)m(AR)o(GET)c(state)i(diagram)-90
1217 y(is)h(b)q(ecause)i(tra)o(v)o(ersing)e(an)g(AD)g(ma)o(y)f(in)o(v)o(olv)o
(e)f(ph)o(ysically)h(tra)o(v)o(ersing)i(one)f(or)g(more)g(PGs.)25
b(Therefore,)17 b(it)f(is)g(more)f(meaningful)f(to)-90 1267
y(measure)g(p)q(er-PG,)g(rather)g(than)g(p)q(er-AD)h(setup)g(o)o(v)o(erhead.)
-28 1334 y(The)e(results)h(are)e(illustrated)g(in)g(T)m(able)g(5.2.)k(They)d
(include)g(MD4-based)f(in)o(tegrit)o(y)g(c)o(hec)o(k)h(computation)e(\(for)h
(b)q(oth)g(SETUP)h(and)-90 1384 y(A)o(CCEPT)k(pac)o(k)o(ets\))h(at)e(ev)o
(ery)i(PG)e(hop.)26 b(The)17 b(\014rst)h(ro)o(w)e(sho)o(ws)h(the)g(a)o(v)o
(erage)g(p)q(er)g(PG)g(setup)h(o)o(v)o(erhead)f(whic)o(h)f(is)h(based)g(on)f
(the)p 563 1487 854 2 v 563 1489 V 562 1537 2 50 v 571 1537
V 597 1522 a(#)d(of)g(PG)h(hops)p 972 1537 V 981 1537 V 166
w(2)p 1071 1537 V 81 w(3)p 1183 1537 V 91 w(4)p 1295 1537 V
91 w(5)p 1408 1537 V 1417 1537 V 563 1539 854 2 v 563 1541
V 562 1588 2 50 v 571 1588 V 597 1574 a(P)o(er-hop)g(o)o(v)o(erhead)p
972 1588 V 981 1588 V 93 w(50)p 1071 1588 V 59 w(57)p 1183
1588 V 71 w(54)p 1295 1588 V 70 w(58)p 1408 1588 V 1417 1588
V 563 1590 854 2 v 562 1640 2 50 v 571 1640 V 597 1625 a(Route)f(computation)
p 972 1640 V 981 1640 V 57 w(20)p 1071 1640 V 59 w(20)p 1183
1640 V 71 w(30)p 1295 1640 V 70 w(30)p 1408 1640 V 1417 1640
V 563 1642 854 2 v 562 1691 2 50 v 571 1691 V 597 1676 a(Setup)h(o)o(v)o
(erhead)p 972 1691 V 981 1691 V 132 w(50)p 1071 1691 V 49 w(170)p
1183 1691 V 49 w(215)p 1295 1691 V 49 w(290)p 1408 1691 V 1417
1691 V 563 1693 854 2 v 562 1743 2 50 v 571 1743 V 597 1728
a(T)m(otal)e(o)o(v)o(erhead)p 972 1743 V 981 1743 V 140 w(70)p
1071 1743 V 49 w(190)p 1183 1743 V 49 w(245)p 1295 1743 V 49
w(320)p 1408 1743 V 1417 1743 V 563 1745 854 2 v 563 1747 V
647 1863 a(T)m(able)h(5.2:)k(PR)c(setup)i(o)o(v)o(erhead)g(\(in)e(ms\))-90
1962 y(total)h(o)o(v)o(erhead)i(in)f(ro)o(w)g(4.)22 b(Because)17
b(route)f(computation)d(is)i(a)g(relativ)o(ely)f(exp)q(ensiv)o(e)j(op)q
(eration)e(incurred)h(only)f(at)g(the)h(\014rst)g(hop,)-90
2012 y(w)o(e)e(decouple)g(the)h(o)o(v)o(erhead)f(due)g(to)g(route)g
(computation)e(from)g(the)i(purely)g(setup-related)h(o)o(v)o(erhead)f(\(as)g
(sho)o(wn)g(in)f(ro)o(w)h(3)f(and)h(4\).)-28 2080 y(These)j(results)f(sho)o
(w)f(that)g(the)g(p)q(er)h(PG)f(setup)h(cost)g(a)o(v)o(erages)f(ab)q(out)g
(55)p Fk(ms)p Fm(.)22 b(This)15 b(n)o(um)o(b)q(er)f(is)h(quite)g(lo)o(w)f
(considering)h(that)g(it)-90 2129 y(includes)f(the)h(follo)o(wing)c(sequence)
16 b(of)d(ev)o(en)o(ts)i(at)f(ev)o(ery)h(transit)f(PG:)-39
2230 y(1.)20 b(Con)o(text)14 b(switc)o(h)g(from)e(Kernel)j(to)f(User)h(mo)q
(de)e(to)g(receiv)o(e)j(SETUP)-39 2312 y(2.)k(MD4)13 b(digest)h(computation)
-39 2395 y(3.)20 b(V)m(alidit)o(y)12 b(c)o(hec)o(king)i(\(including:)j
(timeliness,)12 b(previous)j(and)e(next)i(hop)e(reac)o(habilit)o(y)g(and)h
(PT)g(v)n(alidation\))-39 2477 y(4.)20 b(Con)o(text)14 b(switc)o(h)g(from)e
(User)j(to)f(Kernel)h(mo)q(de)e(to)g(forw)o(ard)h(SETUP)-39
2560 y(5.)20 b(Con)o(text)14 b(switc)o(h)g(from)e(Kernel)j(to)f(User)h(mo)q
(de)e(to)g(receiv)o(e)j(A)o(CCEPT)1155 2545 y Fi(6)p -90 2631
864 2 v -44 2658 a Fh(6)-26 2670 y Fg(This)11 b(do)q(es)g(not)f(o)q(ccur)g
(immediately)e(after)j(the)g(previous)e(step.)2028 2770 y Fm(69)p
eop
%%Page: 70 10
bop -39 -108 a Fm(6.)20 b(MD4)13 b(digest)h(computation)-39
-25 y(7.)20 b(PR)13 b(table)h(lo)q(okup)f(to)h(lo)q(cate)g(the)h(PR)e(in)h
(question)-39 58 y(8.)20 b(Con)o(text)14 b(switc)o(h)g(from)e(User)j(to)f
(Kernel)h(mo)q(de)e(to)g(forw)o(ard)h(A)o(CCEPT)-28 158 y(Although)e(the)h
(results)g(app)q(ear)g(reassuring,)g(a)f(real-w)o(orld,)g Fl(deployable)g
Fm(implemen)o(tation)d(w)o(ould)j(include)g(encryption-based)i(sig-)-90
208 y(natures)f(whic)o(h)e(will)f(greatly)h(increase)i(the)f(PR)f(setup)i(o)o
(v)o(erhead.)18 b(Also,)11 b(since)h(the)g(n)o(um)o(b)q(er)f(of)g(ADs)h(in)f
(our)g(conco)q(cted)i(in)o(ternet)o(w)o(ork)-90 258 y(is)i(small)e(and)i(the)
h(top)q(ology)e(is)h(simple,)e(o)o(v)o(erhead)j(due)f(to)g(route)h
(computation)d(and)i(PT)h(v)n(alidation)d(is)i(k)o(ept)g(arti\014cially)f(lo)
o(w.)21 b(On)-90 308 y(the)14 b(other)h(hand,)e(this)h(implemen)o(tation)d(w)
o(as)i(not)h(tuned)h(for)e(p)q(erformance.)240 366 y
 21313290 21313290 0 0 40258437 52099153 startTexFig
240 366 a
%%BeginDocument: pg.ps
/FMversion (2.0) def 
/FrameDict 170 dict def 
systemdict /errordict known not { /errordict 10 dict def
		errordict /rangecheck { stop } put } if
FrameDict /tmprangecheck errordict /rangecheck get put 
errordict /rangecheck {FrameDict /bug true put} put 
FrameDict /bug false put 
mark 
currentfile 5 string readline
00
0000000000
cleartomark 
errordict /rangecheck FrameDict /tmprangecheck get put 
FrameDict /bug get { 
	/readline {
		/gstring exch def
		/gfile exch def
		/gindex 0 def
		{
			gfile read pop 
			dup 10 eq {exit} if 
			dup 13 eq {exit} if 
			gstring exch gindex exch put 
			/gindex gindex 1 add def 
		} loop
		pop 
		gstring 0 gindex getinterval true 
		} def
	} if
/FMVERSION {
	FMversion ne {
		/Times-Roman findfont 18 scalefont setfont
		100 100 moveto
		(FrameMaker version does not match postscript_prolog!)
		dup =
		show showpage
		} if
	} def 
/FMLOCAL {
	FrameDict begin
	0 def 
	end 
	} def 
	/gstring FMLOCAL
	/gfile FMLOCAL
	/gindex FMLOCAL
	/orgxfer FMLOCAL
	/orgproc FMLOCAL
	/organgle FMLOCAL
	/orgfreq FMLOCAL
	FrameDict /graymode true put
	/yscale FMLOCAL
	/xscale FMLOCAL
	/PrintInColor systemdict /colorimage known def
PrintInColor 
	
	{
	/HUE 0 def
	/SAT 0 def
	/BRIGHT 0 def
	% array of arrays Hue and Sat values for the separations [HUE BRIGHT]
	/Colors   
	[[0    0  ]    % black
	 [0    0  ]    % white
	 [0.00 1.0]    % red
	 [0.37 1.0]    % green
	 [0.60 1.0]    % blue
	 [0.50 1.0]    % cyan
	 [0.83 1.0]    % magenta
	 [0.16 1.0]    % comment
	 ] def
      
	/BEGINBITMAPCOLOR { 
		BITMAPCOLOR } def
	/BEGINBITMAPCOLORc { 
		BITMAPCOLORc } def
	/K { 
		Colors exch get dup
		0 get /HUE exch store 
		1 get /BRIGHT exch store
		  HUE 0 eq BRIGHT 0 eq and
			{1.0 SAT sub setgray }
			{HUE SAT BRIGHT sethsbcolor } 
		  ifelse
		} def
	/mysetgray { 
		/SAT exch 1.0 exch sub store 
		  HUE 0 eq BRIGHT 0 eq and
			{1.0 SAT sub setgray }
			{HUE SAT BRIGHT sethsbcolor } 
		  ifelse
		} bind def
	}
	
	{
	/BEGINBITMAPCOLOR { 
		BITMAPGRAY } def
	/BEGINBITMAPCOLORc { 
		BITMAPGRAYc } def
	/mysetgray { setgray } bind def
	/K { 
		pop
		} def
	}
ifelse
/max	{2 copy lt {exch} if pop} bind def
/min	{2 copy gt {exch} if pop} bind def
/mtx matrix defaultmatrix def
/setmanualfeed {
	 statusdict /manualfeed true put
	} def
/FMDOCUMENT { 
	array /FMfonts exch def
	/#copies exch def
	0 ne dup {setmanualfeed} if
	FrameDict begin
	/manualfeed exch def
	/paperheight exch def
	/paperwidth exch def
	setpapername
	manualfeed {true} {papersize} ifelse 
	{manualpapersize} {false} ifelse 
	{desperatepapersize} if
	/yscale exch def
	/xscale exch def
	currenttransfer cvlit /orgxfer exch def
	currentscreen cvlit /orgproc exch def
	/organgle exch def /orgfreq exch def
	end 
	} def 
	/pagesave FMLOCAL
	/orgmatrix FMLOCAL
	/landscape FMLOCAL
/FMBEGINPAGE {  
	FrameDict begin 
	/pagesave save def
	3.86 setmiterlimit
	/landscape exch 0 ne store
	landscape { 
		90 rotate 0 exch neg translate pop 
		}
		{ pop pop }
		ifelse
	xscale yscale scale
	/orgmatrix matrix def
	gsave 
	} def 
/FMENDPAGE {
	grestore 
	pagesave restore
	end 
	showpage
	} def 
	/fontname FMLOCAL
	/fontscale FMLOCAL
	/fontnum FMLOCAL
	/fontdict FMLOCAL
/FMDEFINEFONT {
	FrameDict begin
	/fontname exch def
	/fontscale exch def
	/fontnum exch def
	/fontdict fontname findfont fontscale scalefont def
	fontdict /Encoding get StandardEncoding eq
	{
		fontdict DiacriticEncode 
		/fontdict exch def
	} {
		fontdict NonDiacriticEncode
		/fontdict exch def
	} ifelse
	FMfonts fontnum
		fontnum fontdict definefont
	put
	end 
	} def 
/FMNORMALIZEGRAPHICS { 
	newpath
	0.0 0.0 moveto
	1 setlinewidth
	0 setlinecap
	0 mysetgray
	} bind def
/FMBEGINEPSF { 
	end 
	/FMEPSF save def
	/showpage {} def 
	FMNORMALIZEGRAPHICS 
	[/fy /fx /fh /fw /ury /urx /lly /llx] {exch def} forall 
	fx fy translate 
	rotate
	fw urx llx sub div fh ury lly sub div scale 
	llx neg lly neg translate 
	} bind def
/FMENDEPSF {
	FMEPSF restore
	FrameDict begin 
	} bind def
FrameDict begin 
/pagedimen { 
	paperheight sub abs 16 lt exch 
	paperwidth sub abs 16 lt and
	{/papername exch def} {pop} ifelse
	} def
/inch {72 mul} def
/setpapername { 
	/papersizedict 14 dict def 
	papersizedict begin
	/papername /unknown def 
		/Letter 8.5 inch 11.0 inch pagedimen
		/LetterSmall 7.68 inch 10.16 inch pagedimen
		/Tabloid 11.0 inch 17.0 inch pagedimen
		/Ledger 17.0 inch 11.0 inch pagedimen
		/Legal 8.5 inch 14.0 inch pagedimen
		/Statement 5.5 inch 8.5 inch pagedimen
		/Executive 7.5 inch 10.0 inch pagedimen
		/A3 11.69 inch 16.5 inch pagedimen
		/A4 8.26 inch 11.69 inch pagedimen
		/A4Small 7.47 inch 10.85 inch pagedimen
		/B4 10.125 inch 14.33 inch pagedimen
		/B5 7.16 inch 10.125 inch pagedimen
	end
	} def
/papersize {
	papersizedict begin
		/Letter {lettertray} def
		/LetterSmall {lettertray lettersmall} def
		/Tabloid {11x17tray} def
		/Ledger {ledgertray} def
		/Legal {legaltray} def
		/Statement {statementtray} def
		/Executive {executivetray} def
		/A3 {a3tray} def
		/A4 {a4tray} def
		/A4Small {a4tray a4small} def
		/B4 {b4tray} def
		/B5 {b5tray} def
		/unknown {unknown} def
	papersizedict dup papername known {papername} {/unknown} ifelse get
	end
	statusdict begin stopped end 
	} def
/manualpapersize {
	papersizedict begin
		/Letter {letter} def
		/LetterSmall {lettersmall} def
		/Tabloid {11x17} def
		/Ledger {ledger} def
		/Legal {legal} def
		/Statement {statement} def
		/Executive {executive} def
		/A3 {a3} def
		/A4 {a4} def
		/A4Small {a4small} def
		/B4 {b4} def
		/B5 {b5} def
		/unknown {unknown} def
	papersizedict dup papername known {papername} {/unknown} ifelse get
	end
	stopped 
	} def
/desperatepapersize {
	statusdict /setpageparams known
		{
		paperwidth paperheight 0 1 
		statusdict begin
		{setpageparams} stopped pop 
		end
		} if
	} def
/savematrix {
	orgmatrix currentmatrix pop
	} bind def
/restorematrix {
	orgmatrix setmatrix
	} bind def
/dmatrix matrix def
/dpi    72 0 dmatrix defaultmatrix dtransform
    dup mul exch   dup mul add   sqrt def
/freq dpi 18.75 div 8 div round dup 0 eq { pop 1 } if 8 mul dpi exch div def
/sangle 1 0 dmatrix defaultmatrix dtransform exch atan def
/DiacriticEncoding [
/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
/.notdef /.notdef /.notdef /.notdef /space /exclam /quotedbl
/numbersign /dollar /percent /ampersand /quotesingle /parenleft
/parenright /asterisk /plus /comma /hyphen /period /slash /zero /one
/two /three /four /five /six /seven /eight /nine /colon /semicolon
/less /equal /greater /question /at /A /B /C /D /E /F /G /H /I /J /K
/L /M /N /O /P /Q /R /S /T /U /V /W /X /Y /Z /bracketleft /backslash
/bracketright /asciicircum /underscore /grave /a /b /c /d /e /f /g /h
/i /j /k /l /m /n /o /p /q /r /s /t /u /v /w /x /y /z /braceleft /bar
/braceright /asciitilde /.notdef /Adieresis /Aring /Ccedilla /Eacute
/Ntilde /Odieresis /Udieresis /aacute /agrave /acircumflex /adieresis
/atilde /aring /ccedilla /eacute /egrave /ecircumflex /edieresis
/iacute /igrave /icircumflex /idieresis /ntilde /oacute /ograve
/ocircumflex /odieresis /otilde /uacute /ugrave /ucircumflex
/udieresis /dagger /.notdef /cent /sterling /section /bullet
/paragraph /germandbls /registered /copyright /trademark /acute
/dieresis /.notdef /AE /Oslash /.notdef /.notdef /.notdef /.notdef
/yen /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
/ordfeminine /ordmasculine /.notdef /ae /oslash /questiondown
/exclamdown /logicalnot /.notdef /florin /.notdef /.notdef
/guillemotleft /guillemotright /ellipsis /.notdef /Agrave /Atilde
/Otilde /OE /oe /endash /emdash /quotedblleft /quotedblright
/quoteleft /quoteright /.notdef /.notdef /ydieresis /Ydieresis
/fraction /currency /guilsinglleft /guilsinglright /fi /fl /daggerdbl
/periodcentered /quotesinglbase /quotedblbase /perthousand
/Acircumflex /Ecircumflex /Aacute /Edieresis /Egrave /Iacute
/Icircumflex /Idieresis /Igrave /Oacute /Ocircumflex /.notdef /Ograve
/Uacute /Ucircumflex /Ugrave /dotlessi /circumflex /tilde /macron
/breve /dotaccent /ring /cedilla /hungarumlaut /ogonek /caron
] def
	/basefontdict FMLOCAL
	/newfontdict FMLOCAL
/DiacriticEncode {
	/basefontdict exch def
	/newfontdict basefontdict maxlength dict def
	basefontdict
	{exch dup /FID ne
		{dup /Encoding eq
			{exch pop DiacriticEncoding}
			{exch}
			ifelse
			newfontdict 3 1 roll put
			}
		{pop pop}
		ifelse
		} forall
	newfontdict
	} bind def
/NonDiacriticEncode {
	/basefontdict exch def
	/newfontdict basefontdict maxlength dict def
	basefontdict
	{exch dup /FID ne
		{exch newfontdict 3 1 roll put}
		{pop pop}
		ifelse
		} forall
	newfontdict
	} bind def
	/bwidth FMLOCAL
	/bpside FMLOCAL
	/bstring FMLOCAL
	/onbits FMLOCAL
	/offbits FMLOCAL
	/xindex FMLOCAL
	/yindex FMLOCAL
	/x FMLOCAL
	/y FMLOCAL
/setpattern {
	 /bwidth  exch def
	 /bpside  exch def
	 /bstring exch def
	 /onbits 0 def  /offbits 0 def
	 freq sangle landscape {90 add} if 
		{/y exch def
		 /x exch def
		 /xindex x 1 add 2 div bpside mul cvi def
		 /yindex y 1 add 2 div bpside mul cvi def
		 bstring yindex bwidth mul xindex 8 idiv add get
		 1 7 xindex 8 mod sub bitshift and 0 ne
		 {/onbits  onbits  1 add def 1}
		 {/offbits offbits 1 add def 0}
		 ifelse
		}
		setscreen
	 {} settransfer
	 offbits offbits onbits add div mysetgray
	/graymode false store
	} bind def
/grayness {
	mysetgray
	graymode not {
		/graymode true store
		orgxfer cvx settransfer
		orgfreq organgle orgproc cvx setscreen
		} if
	} bind def
/normalize {
	transform round exch round exch itransform
	} bind def
/dnormalize {
	dtransform round exch round exch idtransform
	} bind def
/lnormalize { 
	0 dtransform exch cvi 2 idiv 2 mul 1 add exch idtransform pop
	} bind def
/H { 
	lnormalize setlinewidth
	} bind def
/Z { 
	setlinecap
	} bind def
/X { 
	fillprocs exch get exec
	} bind def
/V { 
	gsave eofill grestore
	} bind def
/N { 
	stroke
	} bind def
/M {newpath moveto} bind def
/E {lineto} bind def
/D {curveto} bind def
/O {closepath} bind def
	/n FMLOCAL
/L { 
 	/n exch def
	newpath
	normalize
	moveto 
	2 1 n {pop normalize lineto} for
	} bind def
/Y { 
	L 
	closepath
	} bind def
	/x1 FMLOCAL
	/x2 FMLOCAL
	/y1 FMLOCAL
	/y2 FMLOCAL
	/rad FMLOCAL
/R { 
	/y2 exch def
	/x2 exch def
	/y1 exch def
	/x1 exch def
	x1 y1
	x2 y1
	x2 y2
	x1 y2
	4 Y 
	} bind def
/RR { 
	/rad exch def
	normalize
	/y2 exch def
	/x2 exch def
	normalize
	/y1 exch def
	/x1 exch def
	newpath
	x1 y1 rad add moveto
	x1 y2 x2 y2 rad arcto
	x2 y2 x2 y1 rad arcto
	x2 y1 x1 y1 rad arcto
	x1 y1 x1 y2 rad arcto
	closepath
	16 {pop} repeat
	} bind def
/C { 
	grestore
	gsave
	R 
	clip
	} bind def
/U { 
	grestore
	gsave
	} bind def
/F { 
	FMfonts exch get
	setfont
	} bind def
/T { 
	moveto show
	} bind def
/RF { 
	rotate
	0 ne { -1 1 scale } if
	} bind def
/TF { 
	gsave
	moveto 
	RF
	show
	grestore
	} bind def
/P { 
	moveto
	0 32 3 2 roll widthshow
	} bind def
/PF { 
	gsave
	moveto 
	RF
	0 32 3 2 roll widthshow
	grestore
	} bind def
/S { 
	moveto
	0 exch ashow
	} bind def
/SF { 
	gsave
	moveto
	RF
	0 exch ashow
	grestore
	} bind def
/B { 
	moveto
	0 32 4 2 roll 0 exch awidthshow
	} bind def
/BF { 
	gsave
	moveto
	RF
	0 32 4 2 roll 0 exch awidthshow
	grestore
	} bind def
	/x FMLOCAL
	/y FMLOCAL
	/dx FMLOCAL
	/dy FMLOCAL
	/dl FMLOCAL
	/t FMLOCAL
	/t2 FMLOCAL
	/Cos FMLOCAL
	/Sin FMLOCAL
	/r FMLOCAL
/W { 
	dnormalize
	/dy exch def
	/dx exch def
	normalize
	/y  exch def
	/x  exch def
	/dl dx dx mul dy dy mul add sqrt def
	dl 0.0 gt {
		/t currentlinewidth def
		savematrix
		/Cos dx dl div def
		/Sin dy dl div def
		/r [Cos Sin Sin neg Cos 0.0 0.0] def
		/t2 t 2.5 mul 3.5 max def
		newpath
		x y translate
		r concat
		0.0 0.0 moveto
		dl t 2.7 mul sub 0.0 rlineto
		stroke
		restorematrix
		x dx add y dy add translate
		r concat
		t 0.67 mul setlinewidth
		t 1.61 mul neg  0.0 translate
		0.0 0.0 moveto
		t2 1.7 mul neg  t2 2.0 div     moveto
		0.0 0.0 lineto
		t2 1.7 mul neg  t2 2.0 div neg lineto
		stroke
		t setlinewidth
		restorematrix
		} if
	} bind def
/G { 
	gsave
	newpath
	normalize translate 0.0 0.0 moveto 
	dnormalize scale 
	0.0 0.0 1.0 5 3 roll arc 
	closepath fill
	grestore
	} bind def
/A { 
	gsave
	savematrix
	newpath
	2 index 2 div add exch 3 index 2 div sub exch 
	normalize 2 index 2 div sub exch 3 index 2 div add exch 
	translate 
	scale 
	0.0 0.0 1.0 5 3 roll arc 
	restorematrix
	stroke
	grestore
	} bind def
	/x FMLOCAL
	/y FMLOCAL
	/w FMLOCAL
	/h FMLOCAL
	/xx FMLOCAL
	/yy FMLOCAL
	/ww FMLOCAL
	/hh FMLOCAL
	/FMsaveobject FMLOCAL
	/FMoptop FMLOCAL
	/FMdicttop FMLOCAL
/BEGINPRINTCODE { 
	/FMdicttop countdictstack 1 add def 
	/FMoptop count 4 sub def 
	/FMsaveobject save def
	userdict begin 
	/showpage {} def 
	FMNORMALIZEGRAPHICS 
	3 index neg 3 index neg translate
	} bind def
/ENDPRINTCODE {
	count -1 FMoptop {pop pop} for 
	countdictstack -1 FMdicttop {pop end} for 
	FMsaveobject restore 
	} bind def
/gn { 
	0 
	{	46 mul 
		cf read pop 
		32 sub 
		dup 46 lt {exit} if 
		46 sub add 
		} loop
	add 
	} bind def
	/str FMLOCAL
/cfs { 
	/str sl string def 
	0 1 sl 1 sub {str exch val put} for 
	str def 
	} bind def
/ic [ 
	0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0223
	0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0223
	0
	{0 hx} {1 hx} {2 hx} {3 hx} {4 hx} {5 hx} {6 hx} {7 hx} {8 hx} {9 hx}
	{10 hx} {11 hx} {12 hx} {13 hx} {14 hx} {15 hx} {16 hx} {17 hx} {18 hx}
	{19 hx} {gn hx} {0} {1} {2} {3} {4} {5} {6} {7} {8} {9} {10} {11} {12}
	{13} {14} {15} {16} {17} {18} {19} {gn} {0 wh} {1 wh} {2 wh} {3 wh}
	{4 wh} {5 wh} {6 wh} {7 wh} {8 wh} {9 wh} {10 wh} {11 wh} {12 wh}
	{13 wh} {14 wh} {gn wh} {0 bl} {1 bl} {2 bl} {3 bl} {4 bl} {5 bl} {6 bl}
	{7 bl} {8 bl} {9 bl} {10 bl} {11 bl} {12 bl} {13 bl} {14 bl} {gn bl}
	{0 fl} {1 fl} {2 fl} {3 fl} {4 fl} {5 fl} {6 fl} {7 fl} {8 fl} {9 fl}
	{10 fl} {11 fl} {12 fl} {13 fl} {14 fl} {gn fl}
	] def
	/sl FMLOCAL
	/val FMLOCAL
	/ws FMLOCAL
	/im FMLOCAL
	/bs FMLOCAL
	/cs FMLOCAL
	/len FMLOCAL
	/pos FMLOCAL
/ms { 
	/sl exch def 
	/val 255 def 
	/ws cfs 
	/im cfs 
	/val 0 def 
	/bs cfs 
	/cs cfs 
	} bind def
400 ms 
/ip { 
	is 
	0 
	cf cs readline pop 
	{	ic exch get exec 
		add 
		} forall 
	pop 
	
	} bind def
/wh { 
	/len exch def 
	/pos exch def 
	ws 0 len getinterval im pos len getinterval copy pop
	pos len 
	} bind def
/bl { 
	/len exch def 
	/pos exch def 
	bs 0 len getinterval im pos len getinterval copy pop
	pos len 
	} bind def
/s1 1 string def
/fl { 
	/len exch def 
	/pos exch def 
	/val cf s1 readhexstring pop 0 get def
	pos 1 pos len add 1 sub {im exch val put} for
	pos len 
	} bind def
/hx { 
	3 copy getinterval 
	cf exch readhexstring pop pop 
	} bind def
	/h FMLOCAL
	/w FMLOCAL
	/d FMLOCAL
	/lb FMLOCAL
	/bitmapsave FMLOCAL
	/is FMLOCAL
	/cf FMLOCAL
/wbytes {  
	dup 
	8 eq { pop } { 1 eq { 7 add 8 idiv } { 3 add 4 idiv } ifelse } ifelse
	} bind def
/BEGINBITMAPBWc { 
	1 {} COMMONBITMAPc
	} bind def
/BEGINBITMAPGRAYc { 
	8 {} COMMONBITMAPc
	} bind def
/BEGINBITMAP2BITc { 
	2 {} COMMONBITMAPc
	} bind def
/COMMONBITMAPc { 
	/r exch def
	/d exch def
	gsave
	translate rotate scale /h exch def /w exch def
	/lb w d wbytes def 
	sl lb lt {lb ms} if 
	/bitmapsave save def 
	r                    
	/is im 0 lb getinterval def 
	ws 0 lb getinterval is copy pop 
	/cf currentfile def 
	w h d [w 0 0 h neg 0 h] 
	{ip} image 
	bitmapsave restore 
	grestore
	} bind def
/BEGINBITMAPBW { 
	1 {} COMMONBITMAP
	} bind def
/BEGINBITMAPGRAY { 
	8 {} COMMONBITMAP
	} bind def
/BEGINBITMAP2BIT { 
	2 {} COMMONBITMAP
	} bind def
/COMMONBITMAP { 
	/r exch def
	/d exch def
	gsave
	translate rotate scale /h exch def /w exch def
	/bitmapsave save def 
	r                    
	/is w d wbytes string def
	/cf currentfile def 
	w h d [w 0 0 h neg 0 h] 
	{ cf is readhexstring pop } image
	bitmapsave restore 
	grestore
	} bind def
/Fmcc {
    /proc2 exch cvlit def
    /proc1 exch cvlit def
    /newproc proc1 length proc2 length add array def
    newproc 0 proc1 putinterval
    newproc proc1 length proc2 putinterval
    newproc cvx
} bind def
/colorsetup {
	currentcolortransfer
	/gryt exch def
	/blut exch def
	/grnt exch def
	/redt exch def
	/ngrayt 256 array def
	/nredt 256 array def
	/nbluet 256 array def
	/ngreent 256 array def
	0 1 255 {
		/indx exch def
		/cynu 1 red indx get 255 div sub def
		/magu 1 green indx get 255 div sub def
		/yelu 1 blue indx get 255 div sub def
		/k cynu magu min yelu min def
		/u k currentundercolorremoval exec def
		nredt indx 1 0 cynu u sub max sub redt exec put
		ngreent indx 1 0 magu u sub max sub grnt exec put
		nbluet indx 1 0 yelu u sub max sub blut exec put
		ngrayt indx 1 k currentblackgeneration exec sub gryt exec put
	} for
	{255 mul cvi nredt exch get}
	{255 mul cvi ngreent exch get}
	{255 mul cvi nbluet exch get}
	{255 mul cvi ngrayt exch get}
	setcolortransfer
	{pop 0} setundercolorremoval
	{} setblackgeneration
	} bind def
/fakecolorsetup {
	/tran 256 string def
	0 1 255 { /ind exch def 
		tran ind
		red ind get 77 mul
		green ind get 151 mul
		blue ind get 28 mul
		add add 256 idiv put } for
	currenttransfer
	{ 255 mul cvi tran exch get 255.0 div }
	exch Fmcc settransfer
} bind def
/BITMAPCOLOR { 
	/d 8 def
	gsave
	translate rotate scale /h exch def /w exch def
	/bitmapsave save def 
	colorsetup
	/is w d wbytes string def
	/cf currentfile def 
	w h d [w 0 0 h neg 0 h] 
	{ cf is readhexstring pop } {is} {is} true 3 colorimage 
	bitmapsave restore 
	grestore
	} bind def
/BITMAPCOLORc { 
	/d 8 def
	gsave
	translate rotate scale /h exch def /w exch def
	/lb w d wbytes def 
	sl lb lt {lb ms} if 
	/bitmapsave save def 
	colorsetup
	/is im 0 lb getinterval def 
	ws 0 lb getinterval is copy pop 
	/cf currentfile def 
	w h d [w 0 0 h neg 0 h] 
	{ip} {is} {is} true 3 colorimage
	bitmapsave restore 
	grestore
	} bind def
/BITMAPGRAY { 
	8 {fakecolorsetup} COMMONBITMAP
	} bind def
/BITMAPGRAYc { 
	8 {fakecolorsetup} COMMONBITMAPc
	} bind def
/ENDBITMAP {
	} bind def
end 
(2.0) FMVERSION
1 1  2 2  0 1 2 FMDOCUMENT
/fillprocs 32 array def
fillprocs 0 { 0.000000 grayness } put
fillprocs 1 { 0.100000 grayness } put
fillprocs 2 { 0.300000 grayness } put
fillprocs 3 { 0.500000 grayness } put
fillprocs 4 { 0.700000 grayness } put
fillprocs 5 { 0.900000 grayness } put
fillprocs 6 { 0.970000 grayness } put
fillprocs 7 { 1.000000 grayness } put
fillprocs 8 {<0f1e3c78f0e1c387> 8 1 setpattern } put
fillprocs 9 {<0f87c3e1f0783c1e> 8 1 setpattern } put
fillprocs 10 {<cccccccccccccccc> 8 1 setpattern } put
fillprocs 11 {<ffff0000ffff0000> 8 1 setpattern } put
fillprocs 12 {<8142241818244281> 8 1 setpattern } put
fillprocs 13 {<03060c183060c081> 8 1 setpattern } put
fillprocs 14 {<8040201008040201> 8 1 setpattern } put
fillprocs 15 {} put
fillprocs 16 { 1.000000 grayness } put
fillprocs 17 { 0.900000 grayness } put
fillprocs 18 { 0.700000 grayness } put
fillprocs 19 { 0.500000 grayness } put
fillprocs 20 { 0.300000 grayness } put
fillprocs 21 { 0.100000 grayness } put
fillprocs 22 { 0.030000 grayness } put
fillprocs 23 { 0.000000 grayness } put
fillprocs 24 {<f0e1c3870f1e3c78> 8 1 setpattern } put
fillprocs 25 {<f0783c1e0f87c3e1> 8 1 setpattern } put
fillprocs 26 {<3333333333333333> 8 1 setpattern } put
fillprocs 27 {<0000ffff0000ffff> 8 1 setpattern } put
fillprocs 28 {<7ebddbe7e7dbbd7e> 8 1 setpattern } put
fillprocs 29 {<fcf9f3e7cf9f3f7e> 8 1 setpattern } put
fillprocs 30 {<7fbfdfeff7fbfdfe> 8 1 setpattern } put
fillprocs 31 {} put
0 18 /Times-Roman FMDEFINEFONT
1 14 /NewCenturySchlbk-Roman FMDEFINEFONT
612 792 0 FMBEGINPAGE
0 0 612 792 C
0 0 612 792 R
7 X
0 K
V
72 746 540 756 R
V
72 32.67 540 42.67 R
V
222.72 664.75 385.28 697.85 R
0 X
V
3 H
2 Z
N
167 404 546 719 R
7 X
V
9 X
N
166 61 545 384 R
7 X
V
9 X
N
284.44 329.23 473.21 369.8 R
5 X
V
0 X
N
0 F
(Internet Protocol \050IP\051) 210.73 258.94 T
(IDPR Packet Forwarding) 288.51 343.29 T
270.98 223.86 269.9 244.83 281.93 227.62 276.45 225.74 4 Y
V
280.02 215.22 276.38 225.96 2 L
N
329.93 323.6 350.16 329.26 336.01 313.74 332.97 318.67 4 Y
V
275.59 283.74 333.19 318.77 2 L
N
456.8 234.55 458.24 213.6 445.91 230.6 451.36 232.58 4 Y
V
416.54 329.23 451.46 232.33 2 L
N
215.54 178.49 339.43 215.22 R
N
(Interface Driver) 221.63 192.31 T
400.74 176.85 524.63 213.58 R
N
(Interface Driver) 406.83 190.67 T
210.49 101.21 510.72 101.21 2 L
4 H
N
410.94 102.98 389.98 101.78 407.12 113.91 409.03 108.44 4 Y
V
464.58 175.76 M
 485.74 138.04 487.22 135.39 409.08 108.33 D
3 H
0 Z
N
289.97 160.29 280.64 179.07 298.5 168.09 294.24 164.19 4 Y
V
298.35 102.85 M
 313.98 134.64 316.28 139.32 294.27 164.14 D
N
(network) 323 106.39 T
186.54 510.15 310.43 542.56 R
2 Z
N
(Interface Driver) 193.63 520.26 T
402.74 509.49 526.63 541.9 R
N
(Interface Driver) 408.83 521.19 T
212.49 442.74 512.72 442.74 2 L
4 H
N
412.98 443.61 391.99 443.23 409.59 454.67 411.29 449.14 4 Y
V
466.58 508.53 M
 487.72 475.28 489.22 472.91 411.31 449.1 D
3 H
0 Z
N
(network) 325 446.83 T
334.72 583.99 497.28 617.09 R
5 X
V
2 Z
0 X
N
(IDPR Encapsulation) 343 594.12 T
276.68 489.72 268.99 509.27 285.87 496.77 281.27 493.24 4 Y
V
289.86 443.38 M
 294.88 468.63 295.8 473.24 281.22 493.19 D
0 Z
N
283.12 646.73 294.99 664.05 294.1 643.07 288.61 644.9 4 Y
V
255 543.39 288.7 645.12 2 L
2 Z
N
388.2 633.08 400.99 616.42 381.32 623.76 384.76 628.42 4 Y
V
336 664.04 384.96 628.27 2 L
N
449.41 558.92 458.98 540.22 440.96 551 445.19 554.96 4 Y
V
418 583.87 445.37 554.77 2 L
N
1 F
(a. encapsulation of data packets) 246.52 420.23 T
(b. transit packet switching) 262 77 T
0 F
(Internet Protocol \050IP\051) 269.73 679.49 T
204.37 245.37 366.93 282.88 R
N
263.36 665.37 430.93 701.88 R
N
FMENDPAGE
%%EndDocument
 240 366 a
 endTexFig
444 1778 a Fm(T)m(able)g(5.3:)k(IDPR)c(encapsulation)h(and)g(transit)g(pac)o
(k)o(et)g(switc)o(hing)-28 1896 y(W)m(e)i(also)g(measured)g(the)h(o)o(v)o
(erhead)f(incurred)h(b)o(y)f(IDPR)g(data)g(pac)o(k)o(ets)h(in)e(tra)o(v)o
(ersing)i(previously)f(established)h(PRs.)25 b(\(Figure)-90
1945 y(5.3)16 b(depicts)i(the)f(placemen)o(t)g(of)f(the)i(encapsulation)e
(and)h(pac)o(k)o(et)h(switc)o(hing)e(functions\).)28 b(As)17
b(b)q(efore,)h(w)o(e)f(used)h(the)f(ICMP)h(Ec)o(ho)-90 1995
y(proto)q(col.)23 b(The)15 b(results)i(in)e(T)m(able)g(5.4)f(represen)o(t)k
(the)e(the)g(round-trip)f(times)g(\(in)g(milliseconds\))f(for)h(tra)o(v)o
(ersing)g(paths)h(of)f(v)n(ariable)-90 2045 y(length.)j(F)m(or)12
b(eac)o(h)i(path)f(length)g(w)o(e)g(b)q(egan)g(b)o(y)g(timing)e(data)h(pac)o
(k)o(ets)i(without)f(IDPR)f(\(sub)q(column)h(A\).)f(These)j(n)o(um)o(b)q(ers)
d(pro)o(vide)h(a)-90 2095 y(basis)f(for)f(comparison.)16 b(W)m(e)11
b(then)h(timed)f(the)h(same)e(pac)o(k)o(et)i(\015o)o(ws)g(across)h(IDPR-con)o
(trolled)d(paths)i(\(sub)q(column)f(B\).)h(This)f(w)o(as)h(done)-90
2145 y(to)f(isolate)g(as)g(m)o(uc)o(h)f(as)h(p)q(ossible)h(the)g(o)o(v)o
(erhead)f(due)h(to)f(additional)e(pac)o(k)o(et)j(length)f(and)g(IDPR-related)
g(pro)q(cessing)h(in)f(PGs.)18 b(Finally)m(,)-90 2194 y(w)o(e)13
b Fl(plugge)n(d)h(in)f Fm(MD4-based)f(in)o(tegrit)o(y)h(c)o(hec)o(king)f(to)h
(obtain)f(the)h(timings)e(of)h(full-blo)o(wn)e(IDPR)i(pac)o(k)o(et)i(switc)o
(hing)e(\(sub)q(column)g(C\).)-28 2262 y(Unlik)o(e)i(PR)g(setup)h(o)o(v)o
(erhead,)g(the)g(n)o(um)o(b)q(ers)f(for)g(data)g(pac)o(k)o(et)g(o)o(v)o
(erhead)h(are)g(quite)f(realistic)g(since)h(all)f(proto)q(col)g(features)h
(ha)o(v)o(e)-90 2312 y(b)q(een)i(implemen)o(ted.)k(The)16 b(only)f(exception)
h(is)g(the)g(PR)g(table)f(lo)q(okup.)23 b(Recall)15 b(that)g(a)h(PG)f(uses)i
(the)f(PRid)f(\014eld)h(presen)o(t)h(in)e(eac)o(h)-90 2362
y(data)e(pac)o(k)o(et)h(to)g(lo)q(cate)f(an)h(appropriate)f(PR)g(table)h(en)o
(try)m(.)k(Because)d(the)g(v)o(olume)c(of)i(tra\016c)h(on)f(our)h(expiremen)o
(tal)e Fl("internetwork")-90 2412 y Fm(w)o(as)j(k)o(ept)h(arti\014cially)d
(lo)o(w,)h(PR)h(table)h(lo)q(okups)e(w)o(ere)i(relativ)o(ely)f(fast.)22
b(On)15 b(the)h(other)g(hand,)f(our)g(table)g(lo)q(okups)g(w)o(ere)h(p)q
(erformed)-90 2461 y(sequen)o(tially)m(.)30 b(Whereas,)20 b(a)e(more)f(p)q
(erformance-tuned)i(implemen)o(tation)c(able)j(to)g(supp)q(ort)h(large)f(v)o
(olumes)f(of)h(in)o(ter-AD)g(tra\016c)-90 2511 y(w)o(ould)13
b(necessarily)i(use)g(some)e(kind)g(of)g(a)h(fast)g(hashing)f(tec)o(hnique)i
(for)f(table)f(lo)q(okups.)-28 2579 y(Judging)i(b)o(y)g(the)h(ab)q(o)o(v)o(e)
g(results,)g(the)g(o)o(v)o(erhead)g(in)o(tro)q(duced)g(b)o(y)f(IDPR)g
(encapsulation)h(and)f(transit)h(pac)o(k)o(et)f(switc)o(hing,)g(while)-90
2629 y(not)i(negligible,)f(app)q(ears)i(to)f(b)q(e)g(su\016cien)o(tly)g(lo)o
(w)f(to)h(b)q(e)h(of)e(little)g(hindrance)i(to)f(existing)g(transp)q(ort)h
(la)o(y)o(er)e(proto)q(cols.)28 b(Ev)o(en)17 b(for)2028 2770
y(70)p eop
%%Page: 71 11
bop 240 -150 a
 21313290 18945146 0 0 40258437 52099153 startTexFig
240 -150 a
%%BeginDocument: dres.ps
/FMversion (2.0) def 
/FrameDict 170 dict def 
systemdict /errordict known not { /errordict 10 dict def
		errordict /rangecheck { stop } put } if
FrameDict /tmprangecheck errordict /rangecheck get put 
errordict /rangecheck {FrameDict /bug true put} put 
FrameDict /bug false put 
mark 
currentfile 5 string readline
00
0000000000
cleartomark 
errordict /rangecheck FrameDict /tmprangecheck get put 
FrameDict /bug get { 
	/readline {
		/gstring exch def
		/gfile exch def
		/gindex 0 def
		{
			gfile read pop 
			dup 10 eq {exit} if 
			dup 13 eq {exit} if 
			gstring exch gindex exch put 
			/gindex gindex 1 add def 
		} loop
		pop 
		gstring 0 gindex getinterval true 
		} def
	} if
/FMVERSION {
	FMversion ne {
		/Times-Roman findfont 18 scalefont setfont
		100 100 moveto
		(FrameMaker version does not match postscript_prolog!)
		dup =
		show showpage
		} if
	} def 
/FMLOCAL {
	FrameDict begin
	0 def 
	end 
	} def 
	/gstring FMLOCAL
	/gfile FMLOCAL
	/gindex FMLOCAL
	/orgxfer FMLOCAL
	/orgproc FMLOCAL
	/organgle FMLOCAL
	/orgfreq FMLOCAL
	FrameDict /graymode true put
	/yscale FMLOCAL
	/xscale FMLOCAL
	/PrintInColor systemdict /colorimage known def
PrintInColor 
	
	{
	/HUE 0 def
	/SAT 0 def
	/BRIGHT 0 def
	% array of arrays Hue and Sat values for the separations [HUE BRIGHT]
	/Colors   
	[[0    0  ]    % black
	 [0    0  ]    % white
	 [0.00 1.0]    % red
	 [0.37 1.0]    % green
	 [0.60 1.0]    % blue
	 [0.50 1.0]    % cyan
	 [0.83 1.0]    % magenta
	 [0.16 1.0]    % comment
	 ] def
      
	/BEGINBITMAPCOLOR { 
		BITMAPCOLOR } def
	/BEGINBITMAPCOLORc { 
		BITMAPCOLORc } def
	/K { 
		Colors exch get dup
		0 get /HUE exch store 
		1 get /BRIGHT exch store
		  HUE 0 eq BRIGHT 0 eq and
			{1.0 SAT sub setgray }
			{HUE SAT BRIGHT sethsbcolor } 
		  ifelse
		} def
	/mysetgray { 
		/SAT exch 1.0 exch sub store 
		  HUE 0 eq BRIGHT 0 eq and
			{1.0 SAT sub setgray }
			{HUE SAT BRIGHT sethsbcolor } 
		  ifelse
		} bind def
	}
	
	{
	/BEGINBITMAPCOLOR { 
		BITMAPGRAY } def
	/BEGINBITMAPCOLORc { 
		BITMAPGRAYc } def
	/mysetgray { setgray } bind def
	/K { 
		pop
		} def
	}
ifelse
/max	{2 copy lt {exch} if pop} bind def
/min	{2 copy gt {exch} if pop} bind def
/mtx matrix defaultmatrix def
/setmanualfeed {
	 statusdict /manualfeed true put
	} def
/FMDOCUMENT { 
	array /FMfonts exch def
	/#copies exch def
	0 ne dup {setmanualfeed} if
	FrameDict begin
	/manualfeed exch def
	/paperheight exch def
	/paperwidth exch def
	setpapername
	manualfeed {true} {papersize} ifelse 
	{manualpapersize} {false} ifelse 
	{desperatepapersize} if
	/yscale exch def
	/xscale exch def
	currenttransfer cvlit /orgxfer exch def
	currentscreen cvlit /orgproc exch def
	/organgle exch def /orgfreq exch def
	end 
	} def 
	/pagesave FMLOCAL
	/orgmatrix FMLOCAL
	/landscape FMLOCAL
/FMBEGINPAGE {  
	FrameDict begin 
	/pagesave save def
	3.86 setmiterlimit
	/landscape exch 0 ne store
	landscape { 
		90 rotate 0 exch neg translate pop 
		}
		{ pop pop }
		ifelse
	xscale yscale scale
	/orgmatrix matrix def
	gsave 
	} def 
/FMENDPAGE {
	grestore 
	pagesave restore
	end 
	showpage
	} def 
	/fontname FMLOCAL
	/fontscale FMLOCAL
	/fontnum FMLOCAL
	/fontdict FMLOCAL
/FMDEFINEFONT {
	FrameDict begin
	/fontname exch def
	/fontscale exch def
	/fontnum exch def
	/fontdict fontname findfont fontscale scalefont def
	fontdict /Encoding get StandardEncoding eq
	{
		fontdict DiacriticEncode 
		/fontdict exch def
	} {
		fontdict NonDiacriticEncode
		/fontdict exch def
	} ifelse
	FMfonts fontnum
		fontnum fontdict definefont
	put
	end 
	} def 
/FMNORMALIZEGRAPHICS { 
	newpath
	0.0 0.0 moveto
	1 setlinewidth
	0 setlinecap
	0 mysetgray
	} bind def
/FMBEGINEPSF { 
	end 
	/FMEPSF save def
	/showpage {} def 
	FMNORMALIZEGRAPHICS 
	[/fy /fx /fh /fw /ury /urx /lly /llx] {exch def} forall 
	fx fy translate 
	rotate
	fw urx llx sub div fh ury lly sub div scale 
	llx neg lly neg translate 
	} bind def
/FMENDEPSF {
	FMEPSF restore
	FrameDict begin 
	} bind def
FrameDict begin 
/pagedimen { 
	paperheight sub abs 16 lt exch 
	paperwidth sub abs 16 lt and
	{/papername exch def} {pop} ifelse
	} def
/inch {72 mul} def
/setpapername { 
	/papersizedict 14 dict def 
	papersizedict begin
	/papername /unknown def 
		/Letter 8.5 inch 11.0 inch pagedimen
		/LetterSmall 7.68 inch 10.16 inch pagedimen
		/Tabloid 11.0 inch 17.0 inch pagedimen
		/Ledger 17.0 inch 11.0 inch pagedimen
		/Legal 8.5 inch 14.0 inch pagedimen
		/Statement 5.5 inch 8.5 inch pagedimen
		/Executive 7.5 inch 10.0 inch pagedimen
		/A3 11.69 inch 16.5 inch pagedimen
		/A4 8.26 inch 11.69 inch pagedimen
		/A4Small 7.47 inch 10.85 inch pagedimen
		/B4 10.125 inch 14.33 inch pagedimen
		/B5 7.16 inch 10.125 inch pagedimen
	end
	} def
/papersize {
	papersizedict begin
		/Letter {lettertray} def
		/LetterSmall {lettertray lettersmall} def
		/Tabloid {11x17tray} def
		/Ledger {ledgertray} def
		/Legal {legaltray} def
		/Statement {statementtray} def
		/Executive {executivetray} def
		/A3 {a3tray} def
		/A4 {a4tray} def
		/A4Small {a4tray a4small} def
		/B4 {b4tray} def
		/B5 {b5tray} def
		/unknown {unknown} def
	papersizedict dup papername known {papername} {/unknown} ifelse get
	end
	statusdict begin stopped end 
	} def
/manualpapersize {
	papersizedict begin
		/Letter {letter} def
		/LetterSmall {lettersmall} def
		/Tabloid {11x17} def
		/Ledger {ledger} def
		/Legal {legal} def
		/Statement {statement} def
		/Executive {executive} def
		/A3 {a3} def
		/A4 {a4} def
		/A4Small {a4small} def
		/B4 {b4} def
		/B5 {b5} def
		/unknown {unknown} def
	papersizedict dup papername known {papername} {/unknown} ifelse get
	end
	stopped 
	} def
/desperatepapersize {
	statusdict /setpageparams known
		{
		paperwidth paperheight 0 1 
		statusdict begin
		{setpageparams} stopped pop 
		end
		} if
	} def
/savematrix {
	orgmatrix currentmatrix pop
	} bind def
/restorematrix {
	orgmatrix setmatrix
	} bind def
/dmatrix matrix def
/dpi    72 0 dmatrix defaultmatrix dtransform
    dup mul exch   dup mul add   sqrt def
/freq dpi 18.75 div 8 div round dup 0 eq { pop 1 } if 8 mul dpi exch div def
/sangle 1 0 dmatrix defaultmatrix dtransform exch atan def
/DiacriticEncoding [
/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
/.notdef /.notdef /.notdef /.notdef /space /exclam /quotedbl
/numbersign /dollar /percent /ampersand /quotesingle /parenleft
/parenright /asterisk /plus /comma /hyphen /period /slash /zero /one
/two /three /four /five /six /seven /eight /nine /colon /semicolon
/less /equal /greater /question /at /A /B /C /D /E /F /G /H /I /J /K
/L /M /N /O /P /Q /R /S /T /U /V /W /X /Y /Z /bracketleft /backslash
/bracketright /asciicircum /underscore /grave /a /b /c /d /e /f /g /h
/i /j /k /l /m /n /o /p /q /r /s /t /u /v /w /x /y /z /braceleft /bar
/braceright /asciitilde /.notdef /Adieresis /Aring /Ccedilla /Eacute
/Ntilde /Odieresis /Udieresis /aacute /agrave /acircumflex /adieresis
/atilde /aring /ccedilla /eacute /egrave /ecircumflex /edieresis
/iacute /igrave /icircumflex /idieresis /ntilde /oacute /ograve
/ocircumflex /odieresis /otilde /uacute /ugrave /ucircumflex
/udieresis /dagger /.notdef /cent /sterling /section /bullet
/paragraph /germandbls /registered /copyright /trademark /acute
/dieresis /.notdef /AE /Oslash /.notdef /.notdef /.notdef /.notdef
/yen /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
/ordfeminine /ordmasculine /.notdef /ae /oslash /questiondown
/exclamdown /logicalnot /.notdef /florin /.notdef /.notdef
/guillemotleft /guillemotright /ellipsis /.notdef /Agrave /Atilde
/Otilde /OE /oe /endash /emdash /quotedblleft /quotedblright
/quoteleft /quoteright /.notdef /.notdef /ydieresis /Ydieresis
/fraction /currency /guilsinglleft /guilsinglright /fi /fl /daggerdbl
/periodcentered /quotesinglbase /quotedblbase /perthousand
/Acircumflex /Ecircumflex /Aacute /Edieresis /Egrave /Iacute
/Icircumflex /Idieresis /Igrave /Oacute /Ocircumflex /.notdef /Ograve
/Uacute /Ucircumflex /Ugrave /dotlessi /circumflex /tilde /macron
/breve /dotaccent /ring /cedilla /hungarumlaut /ogonek /caron
] def
	/basefontdict FMLOCAL
	/newfontdict FMLOCAL
/DiacriticEncode {
	/basefontdict exch def
	/newfontdict basefontdict maxlength dict def
	basefontdict
	{exch dup /FID ne
		{dup /Encoding eq
			{exch pop DiacriticEncoding}
			{exch}
			ifelse
			newfontdict 3 1 roll put
			}
		{pop pop}
		ifelse
		} forall
	newfontdict
	} bind def
/NonDiacriticEncode {
	/basefontdict exch def
	/newfontdict basefontdict maxlength dict def
	basefontdict
	{exch dup /FID ne
		{exch newfontdict 3 1 roll put}
		{pop pop}
		ifelse
		} forall
	newfontdict
	} bind def
	/bwidth FMLOCAL
	/bpside FMLOCAL
	/bstring FMLOCAL
	/onbits FMLOCAL
	/offbits FMLOCAL
	/xindex FMLOCAL
	/yindex FMLOCAL
	/x FMLOCAL
	/y FMLOCAL
/setpattern {
	 /bwidth  exch def
	 /bpside  exch def
	 /bstring exch def
	 /onbits 0 def  /offbits 0 def
	 freq sangle landscape {90 add} if 
		{/y exch def
		 /x exch def
		 /xindex x 1 add 2 div bpside mul cvi def
		 /yindex y 1 add 2 div bpside mul cvi def
		 bstring yindex bwidth mul xindex 8 idiv add get
		 1 7 xindex 8 mod sub bitshift and 0 ne
		 {/onbits  onbits  1 add def 1}
		 {/offbits offbits 1 add def 0}
		 ifelse
		}
		setscreen
	 {} settransfer
	 offbits offbits onbits add div mysetgray
	/graymode false store
	} bind def
/grayness {
	mysetgray
	graymode not {
		/graymode true store
		orgxfer cvx settransfer
		orgfreq organgle orgproc cvx setscreen
		} if
	} bind def
/normalize {
	transform round exch round exch itransform
	} bind def
/dnormalize {
	dtransform round exch round exch idtransform
	} bind def
/lnormalize { 
	0 dtransform exch cvi 2 idiv 2 mul 1 add exch idtransform pop
	} bind def
/H { 
	lnormalize setlinewidth
	} bind def
/Z { 
	setlinecap
	} bind def
/X { 
	fillprocs exch get exec
	} bind def
/V { 
	gsave eofill grestore
	} bind def
/N { 
	stroke
	} bind def
/M {newpath moveto} bind def
/E {lineto} bind def
/D {curveto} bind def
/O {closepath} bind def
	/n FMLOCAL
/L { 
 	/n exch def
	newpath
	normalize
	moveto 
	2 1 n {pop normalize lineto} for
	} bind def
/Y { 
	L 
	closepath
	} bind def
	/x1 FMLOCAL
	/x2 FMLOCAL
	/y1 FMLOCAL
	/y2 FMLOCAL
	/rad FMLOCAL
/R { 
	/y2 exch def
	/x2 exch def
	/y1 exch def
	/x1 exch def
	x1 y1
	x2 y1
	x2 y2
	x1 y2
	4 Y 
	} bind def
/RR { 
	/rad exch def
	normalize
	/y2 exch def
	/x2 exch def
	normalize
	/y1 exch def
	/x1 exch def
	newpath
	x1 y1 rad add moveto
	x1 y2 x2 y2 rad arcto
	x2 y2 x2 y1 rad arcto
	x2 y1 x1 y1 rad arcto
	x1 y1 x1 y2 rad arcto
	closepath
	16 {pop} repeat
	} bind def
/C { 
	grestore
	gsave
	R 
	clip
	} bind def
/U { 
	grestore
	gsave
	} bind def
/F { 
	FMfonts exch get
	setfont
	} bind def
/T { 
	moveto show
	} bind def
/RF { 
	rotate
	0 ne { -1 1 scale } if
	} bind def
/TF { 
	gsave
	moveto 
	RF
	show
	grestore
	} bind def
/P { 
	moveto
	0 32 3 2 roll widthshow
	} bind def
/PF { 
	gsave
	moveto 
	RF
	0 32 3 2 roll widthshow
	grestore
	} bind def
/S { 
	moveto
	0 exch ashow
	} bind def
/SF { 
	gsave
	moveto
	RF
	0 exch ashow
	grestore
	} bind def
/B { 
	moveto
	0 32 4 2 roll 0 exch awidthshow
	} bind def
/BF { 
	gsave
	moveto
	RF
	0 32 4 2 roll 0 exch awidthshow
	grestore
	} bind def
	/x FMLOCAL
	/y FMLOCAL
	/dx FMLOCAL
	/dy FMLOCAL
	/dl FMLOCAL
	/t FMLOCAL
	/t2 FMLOCAL
	/Cos FMLOCAL
	/Sin FMLOCAL
	/r FMLOCAL
/W { 
	dnormalize
	/dy exch def
	/dx exch def
	normalize
	/y  exch def
	/x  exch def
	/dl dx dx mul dy dy mul add sqrt def
	dl 0.0 gt {
		/t currentlinewidth def
		savematrix
		/Cos dx dl div def
		/Sin dy dl div def
		/r [Cos Sin Sin neg Cos 0.0 0.0] def
		/t2 t 2.5 mul 3.5 max def
		newpath
		x y translate
		r concat
		0.0 0.0 moveto
		dl t 2.7 mul sub 0.0 rlineto
		stroke
		restorematrix
		x dx add y dy add translate
		r concat
		t 0.67 mul setlinewidth
		t 1.61 mul neg  0.0 translate
		0.0 0.0 moveto
		t2 1.7 mul neg  t2 2.0 div     moveto
		0.0 0.0 lineto
		t2 1.7 mul neg  t2 2.0 div neg lineto
		stroke
		t setlinewidth
		restorematrix
		} if
	} bind def
/G { 
	gsave
	newpath
	normalize translate 0.0 0.0 moveto 
	dnormalize scale 
	0.0 0.0 1.0 5 3 roll arc 
	closepath fill
	grestore
	} bind def
/A { 
	gsave
	savematrix
	newpath
	2 index 2 div add exch 3 index 2 div sub exch 
	normalize 2 index 2 div sub exch 3 index 2 div add exch 
	translate 
	scale 
	0.0 0.0 1.0 5 3 roll arc 
	restorematrix
	stroke
	grestore
	} bind def
	/x FMLOCAL
	/y FMLOCAL
	/w FMLOCAL
	/h FMLOCAL
	/xx FMLOCAL
	/yy FMLOCAL
	/ww FMLOCAL
	/hh FMLOCAL
	/FMsaveobject FMLOCAL
	/FMoptop FMLOCAL
	/FMdicttop FMLOCAL
/BEGINPRINTCODE { 
	/FMdicttop countdictstack 1 add def 
	/FMoptop count 4 sub def 
	/FMsaveobject save def
	userdict begin 
	/showpage {} def 
	FMNORMALIZEGRAPHICS 
	3 index neg 3 index neg translate
	} bind def
/ENDPRINTCODE {
	count -1 FMoptop {pop pop} for 
	countdictstack -1 FMdicttop {pop end} for 
	FMsaveobject restore 
	} bind def
/gn { 
	0 
	{	46 mul 
		cf read pop 
		32 sub 
		dup 46 lt {exit} if 
		46 sub add 
		} loop
	add 
	} bind def
	/str FMLOCAL
/cfs { 
	/str sl string def 
	0 1 sl 1 sub {str exch val put} for 
	str def 
	} bind def
/ic [ 
	0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0223
	0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0223
	0
	{0 hx} {1 hx} {2 hx} {3 hx} {4 hx} {5 hx} {6 hx} {7 hx} {8 hx} {9 hx}
	{10 hx} {11 hx} {12 hx} {13 hx} {14 hx} {15 hx} {16 hx} {17 hx} {18 hx}
	{19 hx} {gn hx} {0} {1} {2} {3} {4} {5} {6} {7} {8} {9} {10} {11} {12}
	{13} {14} {15} {16} {17} {18} {19} {gn} {0 wh} {1 wh} {2 wh} {3 wh}
	{4 wh} {5 wh} {6 wh} {7 wh} {8 wh} {9 wh} {10 wh} {11 wh} {12 wh}
	{13 wh} {14 wh} {gn wh} {0 bl} {1 bl} {2 bl} {3 bl} {4 bl} {5 bl} {6 bl}
	{7 bl} {8 bl} {9 bl} {10 bl} {11 bl} {12 bl} {13 bl} {14 bl} {gn bl}
	{0 fl} {1 fl} {2 fl} {3 fl} {4 fl} {5 fl} {6 fl} {7 fl} {8 fl} {9 fl}
	{10 fl} {11 fl} {12 fl} {13 fl} {14 fl} {gn fl}
	] def
	/sl FMLOCAL
	/val FMLOCAL
	/ws FMLOCAL
	/im FMLOCAL
	/bs FMLOCAL
	/cs FMLOCAL
	/len FMLOCAL
	/pos FMLOCAL
/ms { 
	/sl exch def 
	/val 255 def 
	/ws cfs 
	/im cfs 
	/val 0 def 
	/bs cfs 
	/cs cfs 
	} bind def
400 ms 
/ip { 
	is 
	0 
	cf cs readline pop 
	{	ic exch get exec 
		add 
		} forall 
	pop 
	
	} bind def
/wh { 
	/len exch def 
	/pos exch def 
	ws 0 len getinterval im pos len getinterval copy pop
	pos len 
	} bind def
/bl { 
	/len exch def 
	/pos exch def 
	bs 0 len getinterval im pos len getinterval copy pop
	pos len 
	} bind def
/s1 1 string def
/fl { 
	/len exch def 
	/pos exch def 
	/val cf s1 readhexstring pop 0 get def
	pos 1 pos len add 1 sub {im exch val put} for
	pos len 
	} bind def
/hx { 
	3 copy getinterval 
	cf exch readhexstring pop pop 
	} bind def
	/h FMLOCAL
	/w FMLOCAL
	/d FMLOCAL
	/lb FMLOCAL
	/bitmapsave FMLOCAL
	/is FMLOCAL
	/cf FMLOCAL
/wbytes {  
	dup 
	8 eq { pop } { 1 eq { 7 add 8 idiv } { 3 add 4 idiv } ifelse } ifelse
	} bind def
/BEGINBITMAPBWc { 
	1 {} COMMONBITMAPc
	} bind def
/BEGINBITMAPGRAYc { 
	8 {} COMMONBITMAPc
	} bind def
/BEGINBITMAP2BITc { 
	2 {} COMMONBITMAPc
	} bind def
/COMMONBITMAPc { 
	/r exch def
	/d exch def
	gsave
	translate rotate scale /h exch def /w exch def
	/lb w d wbytes def 
	sl lb lt {lb ms} if 
	/bitmapsave save def 
	r                    
	/is im 0 lb getinterval def 
	ws 0 lb getinterval is copy pop 
	/cf currentfile def 
	w h d [w 0 0 h neg 0 h] 
	{ip} image 
	bitmapsave restore 
	grestore
	} bind def
/BEGINBITMAPBW { 
	1 {} COMMONBITMAP
	} bind def
/BEGINBITMAPGRAY { 
	8 {} COMMONBITMAP
	} bind def
/BEGINBITMAP2BIT { 
	2 {} COMMONBITMAP
	} bind def
/COMMONBITMAP { 
	/r exch def
	/d exch def
	gsave
	translate rotate scale /h exch def /w exch def
	/bitmapsave save def 
	r                    
	/is w d wbytes string def
	/cf currentfile def 
	w h d [w 0 0 h neg 0 h] 
	{ cf is readhexstring pop } image
	bitmapsave restore 
	grestore
	} bind def
/Fmcc {
    /proc2 exch cvlit def
    /proc1 exch cvlit def
    /newproc proc1 length proc2 length add array def
    newproc 0 proc1 putinterval
    newproc proc1 length proc2 putinterval
    newproc cvx
} bind def
/colorsetup {
	currentcolortransfer
	/gryt exch def
	/blut exch def
	/grnt exch def
	/redt exch def
	/ngrayt 256 array def
	/nredt 256 array def
	/nbluet 256 array def
	/ngreent 256 array def
	0 1 255 {
		/indx exch def
		/cynu 1 red indx get 255 div sub def
		/magu 1 green indx get 255 div sub def
		/yelu 1 blue indx get 255 div sub def
		/k cynu magu min yelu min def
		/u k currentundercolorremoval exec def
		nredt indx 1 0 cynu u sub max sub redt exec put
		ngreent indx 1 0 magu u sub max sub grnt exec put
		nbluet indx 1 0 yelu u sub max sub blut exec put
		ngrayt indx 1 k currentblackgeneration exec sub gryt exec put
	} for
	{255 mul cvi nredt exch get}
	{255 mul cvi ngreent exch get}
	{255 mul cvi nbluet exch get}
	{255 mul cvi ngrayt exch get}
	setcolortransfer
	{pop 0} setundercolorremoval
	{} setblackgeneration
	} bind def
/fakecolorsetup {
	/tran 256 string def
	0 1 255 { /ind exch def 
		tran ind
		red ind get 77 mul
		green ind get 151 mul
		blue ind get 28 mul
		add add 256 idiv put } for
	currenttransfer
	{ 255 mul cvi tran exch get 255.0 div }
	exch Fmcc settransfer
} bind def
/BITMAPCOLOR { 
	/d 8 def
	gsave
	translate rotate scale /h exch def /w exch def
	/bitmapsave save def 
	colorsetup
	/is w d wbytes string def
	/cf currentfile def 
	w h d [w 0 0 h neg 0 h] 
	{ cf is readhexstring pop } {is} {is} true 3 colorimage 
	bitmapsave restore 
	grestore
	} bind def
/BITMAPCOLORc { 
	/d 8 def
	gsave
	translate rotate scale /h exch def /w exch def
	/lb w d wbytes def 
	sl lb lt {lb ms} if 
	/bitmapsave save def 
	colorsetup
	/is im 0 lb getinterval def 
	ws 0 lb getinterval is copy pop 
	/cf currentfile def 
	w h d [w 0 0 h neg 0 h] 
	{ip} {is} {is} true 3 colorimage
	bitmapsave restore 
	grestore
	} bind def
/BITMAPGRAY { 
	8 {fakecolorsetup} COMMONBITMAP
	} bind def
/BITMAPGRAYc { 
	8 {fakecolorsetup} COMMONBITMAPc
	} bind def
/ENDBITMAP {
	} bind def
end 
(2.0) FMVERSION
1 1  2 2  0 1 2 FMDOCUMENT
/fillprocs 32 array def
fillprocs 0 { 0.000000 grayness } put
fillprocs 1 { 0.100000 grayness } put
fillprocs 2 { 0.300000 grayness } put
fillprocs 3 { 0.500000 grayness } put
fillprocs 4 { 0.700000 grayness } put
fillprocs 5 { 0.900000 grayness } put
fillprocs 6 { 0.970000 grayness } put
fillprocs 7 { 1.000000 grayness } put
fillprocs 8 {<0f1e3c78f0e1c387> 8 1 setpattern } put
fillprocs 9 {<0f87c3e1f0783c1e> 8 1 setpattern } put
fillprocs 10 {<cccccccccccccccc> 8 1 setpattern } put
fillprocs 11 {<ffff0000ffff0000> 8 1 setpattern } put
fillprocs 12 {<8142241818244281> 8 1 setpattern } put
fillprocs 13 {<03060c183060c081> 8 1 setpattern } put
fillprocs 14 {<8040201008040201> 8 1 setpattern } put
fillprocs 15 {} put
fillprocs 16 { 1.000000 grayness } put
fillprocs 17 { 0.900000 grayness } put
fillprocs 18 { 0.700000 grayness } put
fillprocs 19 { 0.500000 grayness } put
fillprocs 20 { 0.300000 grayness } put
fillprocs 21 { 0.100000 grayness } put
fillprocs 22 { 0.030000 grayness } put
fillprocs 23 { 0.000000 grayness } put
fillprocs 24 {<f0e1c3870f1e3c78> 8 1 setpattern } put
fillprocs 25 {<f0783c1e0f87c3e1> 8 1 setpattern } put
fillprocs 26 {<3333333333333333> 8 1 setpattern } put
fillprocs 27 {<0000ffff0000ffff> 8 1 setpattern } put
fillprocs 28 {<7ebddbe7e7dbbd7e> 8 1 setpattern } put
fillprocs 29 {<fcf9f3e7cf9f3f7e> 8 1 setpattern } put
fillprocs 30 {<7fbfdfeff7fbfdfe> 8 1 setpattern } put
fillprocs 31 {} put
0 24 /Times-Roman FMDEFINEFONT
1 18 /Times-Roman FMDEFINEFONT
612 792 0 FMBEGINPAGE
0 0 612 792 C
0 0 612 792 R
7 X
0 K
V
72 746 540 756 R
V
72 32.67 540 42.67 R
V
172 185.82 605 477.66 R
V
3 H
2 Z
0 X
N
0 F
(16) 118 442.34 T
(256) 118 324.82 T
(64) 118 383.58 T
(512) 118 266.06 T
(1024) 118 207.3 T
389 521.56 389 185 2 L
N
495 520.75 495 185.82 2 L
N
173 477.66 605 524 R
N
171 477.66 94 477.66 94 185.82 170.29 185.82 4 L
N
174 497.17 604 497.17 2 L
N
(2) 220 505.07 T
(3) 330 503.45 T
(4) 440 504.26 T
(5) 549 505.07 T
1 F
(a) 407 483.38 T
(b) 437 481.76 T
(c) 475 482.57 T
424 496.36 424 185.82 2 L
1 H
N
462 497.99 462 187.45 2 L
N
(a) 514 482.57 T
(b) 544 480.95 T
(c) 582 481.76 T
531 495.55 531 185 2 L
N
569 497.17 569 186.63 2 L
N
95 419.94 604 419.94 2 L
3 H
N
94 358.97 603 358.97 2 L
N
95 297.19 605 297.19 2 L
N
96 247.1 605 247.1 2 L
N
0 F
(# of PG hops) 316 534 T
(Packet size \050in bytes\051) 0 -270 83 229 TF
1 F
(a. without IDPR) 205 160 T
(b. IDPR \050no integrity checking\051) 205 136 T
(c. IDPR with MD4 integrity checking) 205 112 T
( 7.5) 427 440 T
( 9) 472 440 T
(8) 403 440 T
(10) 504 439 T
(10) 539 439 T
(12) 575 439 T
285 521.75 285 186 2 L
N
(a) 298 485.38 T
(b) 334 483.76 T
(c) 366 484.57 T
319 498.36 319 187.82 2 L
1 H
N
351 496.99 351 186.45 2 L
N
(5) 295 440 T
(5) 296 379 T
(7) 366 439 T
(6) 331 440 T
(7) 330 377 T
(8) 366 378 T
(10) 296 268 T
(13.5) 353 267 T
(1) 326 268.39 T
(1) 334.33 268.39 T
(8) 301 322.73 T
(9) 328 323 T
(10.5) 354 322.39 T
(15) 293 211.73 T
(17) 329 211 T
( 20) 356 212.39 T
(a) 191 483.38 T
(b) 221 481.76 T
(c) 259 482.57 T
208 496.36 208 185.82 2 L
N
246 497.99 246 187.45 2 L
N
(4) 224 441 T
(4.5) 254 440 T
(5) 224 379 T
(5.5) 255 379 T
(4) 190 440 T
(4) 189 380 T
(6) 189 323 T
(7) 225 323 T
(8) 260 323 T
(8) 186 267.73 T
(9) 221 269 T
(10.5) 247 268.39 T
(12) 181 209.73 T
(14) 221 210 T
( 15) 254 211.39 T
(23) 395 209.73 T
(23.5) 429 209 T
( 30) 468 211.39 T
(28) 502 209.73 T
(33) 542 210 T
( 35) 575 211.39 T
(17) 396 266.73 T
(17) 436 267 T
(22) 469 268.39 T
(19) 503 266.73 T
(20) 543 267 T
( 26) 576 268.39 T
(13) 396 320.73 T
(12.5) 426 320 T
( 16) 465 321.39 T
(14) 503 320.73 T
(17) 543 321 T
( 18) 576 322.39 T
( 8) 395 379.73 T
( 9) 435 380 T
( 10) 468 381.39 T
( 10) 502 379.73 T
(12) 542 380 T
( 16) 575 381.39 T
FMENDPAGE
%%EndDocument
 240 -150 a
 endTexFig
604 994 a Fm(T)m(able)13 b(5.4:)k(P)o(ac)o(k)o(et)d(round-trip)g(dela)o(y)g
(\(in)f(ms\))-90 1129 y(large)k(pac)o(k)o(ets)h(\(e.g.,)f(1Kb)o(yte\))h(IDPR)
f(pac)o(k)o(et)g(switc)o(hing)g(dela)o(y)g(amoun)o(ts)f(to)h(less)h(than)f(1)
p Fk(ms)h Fm(p)q(er)g(PG)f(hop.)28 b(This)18 b(is)f(esp)q(ecially)-90
1179 y(encouraging)d(considering)g(that)g(the)g(MD4)g(digest)g(computation)e
(\(p)q(erformed)i(at)f(eac)o(h)i(hop\))f(alone)f(tak)o(es)h(appro)o(ximately)
e(0)p Fk(:)p Fm(7)p Fk(ms)p Fm(.)2028 2770 y(71)p eop
%%Page: 72 12
bop -90 192 a Ff(Chapter)23 b(6)-90 367 y(Conclusions)f(and)i(F)-6
b(uture)23 b(W)-6 b(ork)-90 601 y Fm(This)13 b(\014nal)f(c)o(hapter)i
(summarizes)d(the)i(con)o(tributions)g(of)f(this)h(thesis)h(and)e(concludes)i
(with)f(a)f(discussion)i(of)e(outstanding)g(issues)i(and)-90
651 y(future)g(w)o(ork.)-90 803 y Ff(6.1)70 b(Con)n(tributions)22
b(of)h(This)f(Thesis)-90 912 y Fm(This)15 b(thesis)h(represen)o(ts)h(the)f
(\014rst)f(in-depth)g(treatmen)o(t)g(of)f(access)j(con)o(trol)d(and)h(p)q
(olicy)f(enforcemen)o(t)h(in)g(in)o(ternet)o(w)o(orks.)22 b(Its)15
b(main)-90 962 y(result)j(is)g(the)g(design)g(of)f(an)h(arc)o(hitecture)h
(geared)g(to)o(w)o(ards)e(enforcing)h(a)f(broad)h(range)g(of)f(p)q(olicies.)
29 b(The)18 b(con)o(tributions)g(of)f(this)-90 1012 y(researc)o(h)f(can)e(b)q
(e)g(divided)g(in)o(to)f(three)i(ma)r(jor)d(parts:)-28 1100
y Fd(\017)21 b Fm(A)14 b(framew)o(ork)e(for)i(access)h(con)o(trol)f(in)f(in)o
(ternet)o(w)o(orks)-28 1176 y Fd(\017)21 b Fm(Design)13 b(of)h(stub)g(AD)g(p)
q(olicy)f(enforcemen)o(t)-28 1253 y Fd(\017)21 b Fm(Design)13
b(of)h(transit)g(AD)g(p)q(olicy)f(enforcemen)o(t)-90 1341 y(In)20
b(addition,)g(design)g(c)o(hoices)g(are)h(reinforced)f(b)o(y)g(exp)q(erimen)o
(tal)f(results)i(obtained)f(from)e(functional)g(implemen)o(tations)f(of)i
(the)-90 1391 y(prop)q(osed)c(mec)o(hanisms.)-90 1527 y Fe(6.1.1)55
b(F)-5 b(ramew)n(ork)-90 1621 y Fm(In)17 b(Chapter)g(1,)f(w)o(e)h(in)o(tro)q
(duced)h(the)f(problem)e(of)h(p)q(olicy)g(enforcemen)o(t)h(in)f(the)h(in)o
(ternet)o(w)o(ork)g(en)o(vironmen)o(t.)25 b(It)17 b(w)o(as)f(sho)o(wn)h(that)
-90 1671 y(di\013eren)o(t)f(t)o(yp)q(es)g(of)f(con)o(trols)g(are)h(necessary)
h(for)e(con)o(trolling)f(access)j(to)e(three)h(main)d(ob)r(jects)k(of)d(p)q
(olicy)h(\(resource)i(t)o(yp)q(es\):)22 b(i\))15 b(end-)-90
1721 y(systems,)g(ii\))g(net)o(w)o(ork)h(resources,)h(and)e(iii\))g(in)o
(ternet)o(w)o(ork)g(routes.)24 b(Owing)15 b(to)g(the)h(nature)g(of)f(service)
i(pro)o(vided)e(and)g(the)h(t)o(yp)q(es)h(of)-90 1771 y(p)q(oten)o(tial)c
(threats,)i(w)o(e)f(made)f(a)g(further)i(distinction)e(b)q(et)o(w)o(een)j
(the)e(protection)h(of)e(stub)h(and)g(transit)g(AD)g(net)o(w)o(ork)g
(resources.)-28 1838 y(F)m(or)g(eac)o(h)g(ob)r(ject)h(of)e(p)q(olicy)g(w)o(e)
h(considered)i(a)d(n)o(um)o(b)q(er)h(of)f(design)h(parameters:)-28
1927 y Fd(\017)21 b Fm(Securit)o(y)14 b(services)i(required)-28
2003 y Fd(\017)21 b Fm(Enforcemen)o(t)14 b(lo)q(cation)-28
2080 y Fd(\017)21 b Fm(Enforcemen)o(t)14 b(proto)q(col)-28
2157 y Fd(\017)21 b Fm(Principal)13 b(gran)o(ularit)o(y)-28
2233 y Fd(\017)21 b Fm(Enforcemen)o(t)14 b(gran)o(ularit)o(y)e(and)i(mo)q(de)
-90 2321 y(In)f(making)d(design)j(c)o(hoices)h(w)o(e)f(applied)f(the)h(w)o
(ell-kno)o(wn)f Fl(end-to-end)h Fm(argumen)o(t)f(whic)o(h)h(essen)o(tially)f
(states)i(that)f(the)h(placemen)o(t)e(of)-90 2371 y(con)o(trols)h(\(p)q
(olicy)m(,)f(in)h(this)h(con)o(text\))g(should)f(b)q(e)h(at)f(the)h(highest)g
(proto)q(col)f(la)o(y)o(er)g(at)g(the)h(end-p)q(oin)o(ts)g(of)e(comm)o
(unication.)j(When)e(the)-90 2421 y(resource)j(in)d(question)i(is)e(an)h
(end-system)g(that)g(engages)h(in)e(in)o(ter-AD)h(comm)o(unication,)c(the)15
b Fl(end-to-end)g Fm(argumen)o(t)e(suggests)i(that)-90 2471
y(this)g(end-system)g(should)f(b)q(e)h(able)g(to)f(protect)i(itself.)k(By)15
b(the)g(same)f(tok)o(en,)g(other)h(net)o(w)o(ork)g(resources,)i(including)d
(unequipp)q(ed)h(or)-90 2521 y(strictly-in)o(ternal)10 b(end-systems,)h(m)o
(ust)e(b)q(e)h(protected)i(at)e(AD)g(b)q(oundaries)g(b)o(y)g(b)q(order)h
(routers.)18 b(Similarly)l(,)7 b(access)12 b(to)e(in)o(ter-AD)g(routes)-90
2570 y(m)o(ust)k(also)h(b)q(e)h(con)o(trolled)f(b)q(efore)h(an)o(y)e
(tra\016c)i(is)f(allo)o(w)o(ed)f(to)h(cross)h(the)g(AD)f(b)q(oundary)m(.)22
b(Therefore,)16 b(to)f(the)h(exten)o(t)g(that)g(net)o(w)o(ork)-90
2620 y(resources)j(require)f(protection,)g(the)f(highest)g(relev)n(an)o(t)g
(endp)q(oin)o(t)g(is)g(the)g(b)q(order)h(router)g(and)f(the)g(asso)q(ciated)h
(pac)o(k)o(et-forw)o(arding)-90 2670 y(and)c(routing)f(proto)q(cols.)18
b(In)c(this)g(sense,)h(the)g Fl(end-to-end)g Fm(argumen)o(t)d(supp)q(orts)j
(implemen)o(ting)c(con)o(trols)j(at)g(the)g(net)o(w)o(ork)g(la)o(y)o(er.)2028
2770 y(72)p eop
%%Page: 73 13
bop -90 -108 a Fe(6.1.2)55 b(Stub)19 b(AD)g(P)n(olicy)f(Enforcemen)n(t)-90
-14 y Fm(Chapter)i(3)f(addressed)h(the)g(design)f(of)g(p)q(olicy)f
(enforcemen)o(t)i(for)e(stub)i(AD)f(comm)o(unicatio)o(n)d(using)j(the)h
(guidelines)f(outlined)f(in)-90 36 y(our)d(framew)o(ork.)21
b(The)16 b(goal)e(of)h(stub)g(AD)h(p)q(olicy)e(enforcemen)o(t)i(is)f(to)g(p)q
(ermit)f(only)h(authorized,)h(authen)o(ticated)g(and)f(timely)e(com-)-90
86 y(m)o(unication)i(to)h(tak)o(e)h(place)g(across)h(stub)f(AD)g(b)q
(oundaries.)27 b(Earlier,)17 b(in)g(Chapter)g(2)g(w)o(e)g(discussed)h(sev)o
(eral)g(existing)e(approac)o(hes)-90 135 y(for)g(con)o(trolling)f(in)o
(ternet)o(w)o(ork)j(comm)o(uni)o(cation)c(and)i(concluded)h(that)g(they)g
(pro)o(vide)g(solutions)f(that)g(are)h(either)h(to)q(o)e(restrictiv)o(e,)-90
185 y(insecure,)f(or)f(not)g(general)g(enough.)-28 253 y Fl(Visa)h
Fm(proto)q(col)f(presen)o(ted)j(in)d(Chapter)h(3)g(is)f(a)h(simple,)d(y)o(et)
j(p)q(o)o(w)o(erful)g(mec)o(hanism)d(for)i(con)o(trolling)g(pac)o(k)o(et)h
(tra\016c)f(at)h(stub)g(AD)-90 303 y(net)o(w)o(ork)e(b)q(oundaries.)19
b(The)14 b(primary)d(goal)h(of)h Fl(Visa)g Fm(proto)q(col)g(is)g(the)h
(protection)g(of)f(stub)g(AD)g(net)o(w)o(ork)h(and)f(end-system)h(resources)
-90 353 y(from)d(unauthorized)j(access.)19 b(This)13 b(goal)f(is)h(ac)o(hiev)
o(ed)g(b)o(y)g(requiring)g(that)g(all)e(comm)o(unication)f(b)q(e)k(\014rst)f
(authorized)h(b)o(y)e(the)i(A)o(CSs)f(in)-90 402 y(end-p)q(oin)o(t)g(ADs.)19
b(Authorization)13 b(to)g(comm)o(unicate)e(is)j(then)g(em)o(b)q(o)q(died)f
(in)g(a)g(visa)g(whic)o(h)h(is)f(issued)i(to)e(the)h(requesting)h(end-system)
-90 452 y(and)e(distributed)g(to)g(the)h(in)o(terv)o(ening)f(visa-routers.)18
b(Subsequen)o(t)d(pac)o(k)o(ets)e(carry)h(unforgeable)f(visa-stamps)e(whic)o
(h)i(are)h(v)o(eri\014ed)f(b)o(y)-90 502 y(the)h(visa-routers.)19
b(Visas)14 b(are)g(terminated)g(when)g(the)h(underlying)e(comm)o(unication)e
(exceeds)16 b(a)d(pre-determined)i(resource)h(limit.)-28 570
y(One)d(of)f(the)h(main)e(adv)n(an)o(tages)h(of)g Fl(Visa)g
Fm(is)g(that)h(visa-routers)g(do)f(not)g(b)q(ear)h(the)g(brun)o(t)g(of)f(the)
h(resp)q(onsibilit)o(y)f(for)g(making)e(access)-90 620 y(con)o(trol)15
b(decisions.)22 b(By)15 b(issuing)g(a)g(visa,)f(an)h(A)o(CS)g(has)g
(pre-computed)h(an)f(authorization)f(decision.)22 b(The)15
b(task)g(of)g(a)g(visa-router)g(is)-90 669 y(th)o(us)g(reduced)h(to)e
(ensuring)h(that)g(a)f(visa)g(is)g(v)n(alid)f(and)h(is)h(b)q(eing)f(used)h
(appropriately;)f(the)h(exp)q(ensiv)o(e)h(part)e(of)g(p)q(olicy)g(enforcemen)
o(t)-90 719 y(is)f(done)h(once)g(p)q(er)h(connection,)e(b)o(y)h(the)g(A)o
(CSs)g(of)e(the)j(end-p)q(oin)o(t)e(ADs,)g(rather)i(than)e(once)h(p)q(er)h
(pac)o(k)o(et,)e(b)o(y)g(the)h(b)q(order)h(routers.)k(In)-90
769 y(addition,)13 b Fl(Visa)h Fm(do)q(es)h(not)f(impact)f(in)o(tra-AD)g
(tra\016c)h(and)h(has)f(no)g(b)q(earing)g(up)q(on)h(end-systems)f(that)h(do)f
(not)g(partak)o(e)g(in)g(in)o(ter-AD)-90 819 y(comm)o(unication.)-28
886 y(As)k(part)f(of)g(the)h(design)f(pro)q(cess,)j(w)o(e)d(ev)n(aluated)g
(the)h(securit)o(y)g(of)f(the)h(prop)q(osed)g Fl(Visa)f Fm(proto)q(col)g
(using)g(the)h(motiv)n(ation)c(and)-90 936 y(some)e(terminology)e(\(but)j
(not)g(the)g(metho)q(ds\))g(from)e(the)i(w)o(ell-kno)o(wn)e(BAN)j(logic)d
([9].)17 b(The)c(proto)q(col)f(w)o(as)h(sho)o(wn)g(to)f(b)q(e)i(resistan)o(t)
f(to)-90 986 y(hostile)j(attac)o(ks)g(\(assuming)e(a)h(strong)h(underlying)g
(cryptosystem.\))24 b(The)16 b(securit)o(y)h(analysis)e(also)g(demonstrated)h
(the)g(limitations)-90 1036 y(to)e(the)g(b)q(eliefs)g(and)g(assurances)i
(attained)e(b)o(y)f(proto)q(col)h(participan)o(ts.)-28 1104
y(F)m(or)e(the)h(purp)q(ose)h(of)e(quan)o(tifying)e(the)j(costs)h(of)e(stub)h
(AD)f(p)q(olicy)g(enforcemen)o(t,)g(w)o(e)h(conducted)h(exp)q(erimen)o(ts)e
(with)g(a)g(protot)o(yp)q(e)-90 1153 y Fl(Visa)17 b Fm(proto)q(col)h(implem)o
(en)o(tation.)26 b(As)18 b(illustrated)g(b)o(y)f(the)h(exp)q(erimen)o(tal)f
(results)i(in)e(Chapter)h(5,)g(the)g(cost)g(of)f(the)h(initial)e(setup)-90
1203 y(phase)f(is)e(still)g(somewhat)g(high.)18 b(Ho)o(w)o(ev)o(er,)c(data)f
(pac)o(k)o(et)h(o)o(v)o(erhead)h(w)o(as)e(demonstrated)h(to)g(b)q(e)h(quite)f
(insigni\014can)o(t)f(for)g(the)i(case)g(of)-90 1253 y(non-cryptographic)f
(pac)o(k)o(et)g(signatures.)-90 1392 y Fe(6.1.3)55 b(T)-5 b(ransit)19
b(AD)g(P)n(olicy)f(Enforcemen)n(t)-90 1486 y Fm(Relativ)o(e)d(to)g(stub)h(AD)
f(access)j(con)o(trol,)d(access)i(con)o(trol)e(with)h(resp)q(ect)h(to)f
(transit)g(net)o(w)o(ork)f(resources)j(is)e(a)f(new)h(phenomenon.)22
b(It)-90 1536 y(has)14 b(b)q(een)h(brough)o(t)f(ab)q(out)g(b)o(y)f(\(among)f
(other)j(factors\))f(the)h(increasing)f(commercializati)o(on)d(of)i(transit)h
(in)o(ternet)o(w)o(ork)h(facilities.)-28 1604 y(The)20 b(framew)o(ork)e
(discussion)i(in)f(Chapter)h(1)f(suggested)i(that)f(con)o(trolling)e(the)i
(usage)g(of)f(\(i.e.,)g(access)j(to\))d(transit)h(net)o(w)o(ork)-90
1653 y(resources)h(\(suc)o(h)f(as)f(routers)h(and)f(links\))f(requires)j(a)d
(new)h(generation)h(of)e(routing)g(and)h(pac)o(k)o(et-forw)o(arding)f(proto)q
(cols)h(b)q(ecause)-90 1703 y(of)d(the)h(need)g(to)f(co)q(ordinate)g(transit)
h(p)q(olicies)f(among)e(all)h(in)o(terv)o(ening)h(ADs.)26 b(This)16
b(rules)h(out)f(unilateral)f(p)q(olicy)h(enforcemen)o(t)g(at)-90
1753 y(pac)o(k)o(et-forw)o(arding)f(time.)21 b(Instead,)16
b(in)o(ternet)o(w)o(ork)g(routing)f(decisions)h(m)o(ust)f(b)q(e)h(made)e
(according)h(to)h(p)q(olicy-related)f(parameters)-90 1803 y(suc)o(h)g(as)f
(access)h(righ)o(ts)f(and)g(cost,)g(in)f(addition)g(to)h(the)g(traditional)f
(parameters)h(of)f(connectivit)o(y)h(and)g(dela)o(y)m(.)-28
1870 y(Chapter)k(4)e(addressed)i(the)f(design)g(of)f(proto)q(cols)h(for)f
Fc(secure)g Fm(con)o(trol)g(of)g(transit)h(in)o(ternet)o(w)o(ork)g(tra\016c)g
(using)f(In)o(ter)i(Domain)-90 1920 y(P)o(olicy)13 b(Routing)g(\(IDPR\))g(as)
h(the)h(design)f(foundation.)j(W)m(e)c(concen)o(trated)j(on)e(PR)f(setup)i
(and)f(pac)o(k)o(et-forw)o(arding)f(proto)q(cols.)-28 1988
y(W)m(e)18 b(b)q(egan)g(b)o(y)g(iden)o(tifying)f(p)q(oten)o(tial)g(securit)o
(y)i(threats)h(facing)d(IDPR)g(and)h(discussed)i(a)e(n)o(um)o(b)q(er)f(of)h
(defense)h(mec)o(hanisms.)-90 2038 y(Sp)q(ecial)14 b(atten)o(tion)h(w)o(as)f
(paid)g(to)g(the)h(costs)g(of)f(implemen)o(ting)d(securit)o(y)16
b(services.)21 b(In)14 b(particular,)g(w)o(e)h(considered)h(\(and)e(ev)n
(aluated\))-90 2088 y(a)e(range)h(of)f(data)h(in)o(tegrit)o(y)f(scenarios)i
(v)n(arying)d(in)h(b)q(oth)h(strength)h(and)f(cost.)18 b(The)13
b(\015exibilit)o(y)e(to)i(select)h(a)e(desired)i(tradeo\013)g(b)q(et)o(w)o
(een)-90 2137 y(securit)o(y)h(and)f(p)q(erformance)f(is)h(built)f(in)o(to)g
(the)i(arc)o(hitecture.)-28 2205 y(After)h(sp)q(ecifying)g(PR)f(setup)h(and)f
(pac)o(k)o(et-forw)o(arding)g(proto)q(cols)h(w)o(e)f(conducted)i(a)e
(thorough)g(analysis)g(of)g(their)g(securit)o(y)m(.)23 b(As)-90
2255 y(in)14 b Fl(Visa)g Fm(proto)q(col,)g(this)h(analysis)e(iden)o(ti\014ed)
i(the)g(exact)g(b)q(eliefs)g(attained)f(b)o(y)g(the)h(proto)q(col)f
(participan)o(ts,)g(i.e.,)f(PGs.)20 b(A)o(t)15 b(the)g(same)-90
2305 y(time,)i(it)h(rev)o(ealed)g(that)g(certain)h(goals)e(are)h(ultimately)e
(unattainable,)i(e.g.,)f(reliable)h(v)o(eri\014cation)f(of)h(the)g(exact)h
(path)f(a)g(pac)o(k)o(et)-90 2355 y(tra)o(v)o(erses.)-28 2422
y(Exp)q(erimen)o(tal)c(results)h(obtained)g(from)d(actual)j(proto)q(col)f
(implemen)o(tatio)o(ns)e(app)q(ear)j(v)o(ery)g(reassuring.)21
b(The)15 b(cost)g(of)f(PR)g(setup)-90 2472 y(w)o(as)j(sho)o(wn)g(to)g(b)q(e)h
(tolerable,)f(at)g(around)g(55)p Fk(ms)g Fm(p)q(er)h(PG)f(hop.)27
b(The)18 b(o)o(v)o(erhead)f(cost)h(of)f(data)f(pac)o(k)o(et)i(switc)o(hing)f
(in)f(IDPR)h(is)g(of)-90 2522 y(greater)e(concern)g(than)f(the)g(cost)h(of)e
(PR)h(setup.)19 b(Ho)o(w)o(ev)o(er,)14 b(our)f(measuremen)o(ts)h(indicated)f
(that)h(ev)o(en)h(for)e(large)h(pac)o(k)o(et)g(sizes)h(\(e.g.,)-90
2572 y(1Kb)o(yte\))f(pac)o(k)o(et-switc)o(hing)g(o)o(v)o(erhead)h(p)q(er)f
(PG)g(hop)g(amoun)o(ted)e(to)i(less)h(than)e(0)p Fk(:)p Fm(5)p
Fk(ms)p Fm(.)2028 2770 y(73)p eop
%%Page: 74 14
bop -90 -108 a Fe(6.1.4)55 b(Securit)n(y)18 b(.vs.)24 b(Cost)-90
-14 y Fm(Securit)o(y)13 b(and)f(p)q(erformance)g(are)h(alw)o(a)o(ys)e(at)h(o)
q(dds.)18 b(This)12 b(is)g(neither)h(surprising)g(nor)f(easily)g(remedied.)17
b(Throughout)12 b(this)h(thesis,)g(w)o(e)-90 36 y(attempted)i(to)g(reduce)h
(as)f(m)o(uc)o(h)f(as)h(p)q(ossible)h(the)f(adv)o(erse)h(e\013ects)h(of)e
(our)g(proto)q(cols)g(\(namely)m(,)e(added)i(costs\))h(without)f
(sacri\014cing)-90 86 y(securit)o(y)m(.)-28 153 y(Certain)i(t)o(yp)q(es)h(of)
f(o)o(v)o(erhead)g(are)g(di\016cult,)g(if)f(not)h(imp)q(ossible,)f(to)h(a)o
(v)o(oid.)26 b(F)m(or)16 b(example,)g(reducing)i(the)f(n)o(um)o(b)q(er)g(of)f
(pac)o(k)o(ets)-90 203 y(exc)o(hanged)h(during)f(connection)h(setup)g(in)f
Fl(Visa)g Fm(proto)q(col)g(or)g(PR)g(setup)i(in)d(IDPR)h(is)g(not)h(feasible)
f(without)f(sacri\014cing)i(securit)o(y)m(.)-90 253 y(On)e(the)h(other)g
(hand,)f(using)g Fl(light-weight)f Fm(data)h(authen)o(tication)f(metho)q(ds)h
(can)h(greatly)e(in\015uence)j(pac)o(k)o(et-switc)o(hing)e(o)o(v)o(erhead)g
(in)-90 303 y(visa-routers)g(and)e(PGs.)-28 370 y(An)e(imp)q(ortan)o(t)d(con)
o(tribution)i(of)f(this)h(thesis)h(is)f(the)h(dev)o(elopmen)o(t)e(of)g
(encryption-free)j(metho)q(ds)e(for)f(v)o(erifying)g(data)h(authen)o(ticit)o
(y)m(.)-90 420 y(In)15 b(App)q(endix)h(A,)e(w)o(e)i(describ)q(e)h(t)o(w)o(o)d
(metho)q(ds)h(for)g(computing)e(MD4)i(message)g(digests)h(based)f(on)g(a)g
(secret)i(quan)o(tit)o(y)m(.)k(W)m(e)15 b(b)q(eliev)o(e)-90
470 y(the)f(strength)i(of)d(these)i(metho)q(ds)f(to)f(b)q(e)i(at)f(the)g(v)o
(ery)g(least)g(equal)g(to)g(the)g(strength)h(of)e(the)i(underlying)e(one-w)o
(a)o(y)h(hash)g(function.)-90 625 y Ff(6.2)70 b(F)-6 b(uture)23
b(W)-6 b(ork)-90 734 y Fm(This)14 b(thesis)h(represen)o(ts)i(a)d(\014rst)h
(attempt)e(at)h(consolidating)f(p)q(olicy)h(enforcemen)o(t)g(mec)o(hanisms.)j
(There)f(remain)c(n)o(umerous)i(opp)q(or-)-90 784 y(tunities)g(for)g(future)g
(researc)o(h;)h(a)f(few)g(of)f(them)g(are)i(discussed)g(b)q(elo)o(w.)-90
922 y Fe(6.2.1)55 b(Multicasting)-90 1017 y Fm(Multicasting)13
b(is)g(a)h(useful)f(and)h(con)o(v)o(enien)o(t)f(tec)o(hnique)i(for)e(comm)o
(unication)d(within)j(no)q(de)h(groups)g([86)o(].)j(Multicasting)c(supp)q
(ort)h(for)-90 1067 y(the)g(in)o(ternet)o(w)o(ork)h(en)o(vironmen)o(t)e(ha)o
(v)o(e)g(b)q(een)i(prop)q(osed)g(in)f([18)o(].)j(Tw)o(o)d(t)o(yp)q(es)g(of)g
(m)o(ulticast)e(predominate:)-39 1168 y(1.)20 b(Multicasting)13
b(within)h(small,)d(static)k(and)f(short-term)g(groups,)g(e.g.,)f(for)h(the)h
(purp)q(ose)g(of)f(tele-)g(or)h(video-conferencing.)k(This)14
1217 y(t)o(yp)q(e)14 b(of)f(comm)o(unication)e(t)o(ypically)h(has)i(high)g
(bandwidth)f(requiremen)o(ts.)-39 1300 y(2.)20 b(Multicasting)15
b(within)f(large,)i(dynamic)d(and)j(long-term)e(groups,)h(e.g.,)g(name)f(or)i
(time)e(serv)o(ers.)25 b(T)o(ypically)m(,)13 b(comm)o(unication)14
1350 y(is)h(infrequen)o(t)g(and)g(not)f(bandwidth-in)o(tensiv)o(e,)g(e.g.,)g
(global)f(time)h(serv)o(er)i(up)q(dates)g(can)f(tak)o(e)g(place)g(once)h(ev)o
(ery)f(hour.)-90 1451 y Fl(Visa)h Fm(proto)q(col,)f(as)h(sp)q(eci\014ed,)i
(pro)o(vides)e(no)f(sp)q(ecial)i(supp)q(ort)f(for)g(either)h(t)o(yp)q(e)f(of)
f(m)o(ulticasting.)19 b(Consequen)o(tly)m(,)c Fk(n)g Fm(separate)h(visas)-90
1501 y(w)o(ould)e(b)q(e)i(required)g(for)f(a)g(m)o(ulticast)e(group)i(mem)o
(b)q(er)f(to)h(comm)o(unicate)e(with)i Fk(n)g Fm(p)q(eers)h(assuming)e
Fl(typ)n(e)i(1)g Fm(m)o(ulticast.)k(Things)15 b(get)-90 1551
y(m)o(uc)o(h)d(w)o(orse)i(when)g Fk(n)f Fm(is)g(not)g(kno)o(wn)g(in)g(adv)n
(ance)h(\()p Fl(typ)n(e)g(2)g Fm(m)o(ulticast\))e(and)h(the)h(exact)g(lo)q
(cations)e(of)h(the)h(p)q(eers)h(are)f(not)f(kno)o(wn.)k(W)m(e)-90
1601 y(b)q(eliev)o(e)d(this)g(to)f(b)q(e)h(a)f(problem)g(not)g(unique)h(to)f
Fl(Visa)g Fm(proto)q(col)h(but)g(inheren)o(t)g(to)f(an)o(y)g(strong)h(net)o
(w)o(ork)g(access)h(con)o(trol)f(mec)o(hanism.)-28 1668 y(IDPR)f(is)g(also)f
(not)h(equipp)q(ed)h(with)e(m)o(ulticast)g(supp)q(ort.)18 b(In)13
b(order)h(to)f(ac)o(hiev)o(e)g Fl(typ)n(e)h(1)f Fm(m)o(ulticast)f(using)h
(the)g(proto)q(cols)g(sp)q(eci\014ed)-90 1718 y(in)i(Chapter)i(4,)e(ev)o(ery)
h(group)g(mem)o(b)q(er)e(m)o(ust)h(set)h(up)g Fk(n)f Fm(distinct)h(PRs,)g
(one)g(to)f(eac)o(h)i(p)q(eer.)24 b(Moreo)o(v)o(er,)17 b(subsequen)o(t)g
(tra\016c)f(w)o(ould)-90 1768 y(ha)o(v)o(e)11 b(to)f(b)q(e)i(replicated)f
(individually)e(for)h(ev)o(ery)i(suc)o(h)g(PR.)e(Ideally)m(,)g(w)o(e)h(w)o
(ould)f(lik)o(e)g(to)h(a)o(v)o(oid)e(unnecessary)k(replication)e(and)f
(excessiv)o(e)-90 1818 y(state)i(in)f(PGs.)17 b(This)11 b(can)g(b)q(e)h(made)
e(p)q(ossible)h(if)f(IDPR)h(is)g(augmen)o(ted)f(to)h(allo)o(w)e(setup)j(of)f
(m)o(ulti-destination)d(PR)j("trees")h(in)f(addition)-90 1867
y(to)16 b(regular,)f(single-destination)g(PRs.)24 b(F)m(urthermore,)15
b(subsequen)o(t)j(data)d(tra\016c)h(m)o(ust)f(b)q(e)h(m)o(ultiplexed)e(along)
g(ev)o(ery)j(tree)g(branc)o(h)-90 1917 y(in)c(transit)i(PGs.)-28
1985 y(Supp)q(orting)d Fl(typ)n(e)h(2)e Fm(m)o(ulticasting)f(is)h(more)g
(complicated)f(b)q(ecause)j(of)e(large)h(group)f(sizes)i(and)e(v)o(olatile)f
(group)i(mem)o(b)q(ership.)j(One)-90 2035 y(p)q(ossible)c(solution)f(is)h(to)
g(treat)g(suc)o(h)h(m)o(ulticast)d(tra\016c)i(as)g(b)q(eing)g("exempt")f
(from)f(certain)i(con)o(trols.)17 b(F)m(or)11 b(example,)f(w)o(e)h(could)f
(restrict)-90 2085 y(uncon)o(trolled)k(m)o(ulticast)e(to)i(w)o(ell-kno)o(wn)e
(groups)i(suc)o(h)h(as)f(time)e(or)i(name)f(serv)o(ers.)19
b(The)c(main)c(dra)o(wbac)o(k)j(is)g(that)g(an)f(in)o(truder)i(can)-90
2134 y(use)i(this)f Fl(b)n(ack-do)n(or)h Fm(as)f(an)g(opp)q(ortunit)o(y)f
(for)h(abuse)h(b)o(y)f(\015o)q(o)q(ding)f(an)h(AD)g(with)g(fraudulen)o(t)g
(tra\016c.)25 b(Alternativ)o(ely)m(,)15 b(m)o(ulticasting)-90
2184 y(can)f(b)q(e)h(restricted)h(to)d(destinations)h(\(p)q(eers\))i(that)e
(ha)o(v)o(e)g(existing)f(PRs.)-28 2252 y(F)m(ull)h(supp)q(ort)h(of)f(m)o
(ulticasting)e(in)i(the)h(presence)i(of)d(p)q(olicy)g(enforcemen)o(t)h(ma)o
(y)d(pro)o(v)o(e)j(to)f(b)q(e)i(imp)q(ossible,)c(ho)o(w)o(ev)o(er,)j(it)f
(remains)-90 2302 y(sub)r(ject)h(to)f(future)h(w)o(ork)e(to)h(determine)g
(exactly)g(to)f(what)h(exten)o(t)h(m)o(ulticasting)d(can)i(co)q(exist)g(with)
g(p)q(olicy)f(enforcemen)o(t.)-90 2440 y Fe(6.2.2)55 b(F)-5
b(ault)19 b(T)-5 b(olerance)-90 2535 y Fm(F)m(ault)17 b(tolerance)h(in)g
Fl(Visa)f Fm(and)h(IDPR)f(has)h(not)f(b)q(een)i(extensiv)o(ely)f(considered)h
(in)f(this)f(thesis.)31 b(This)17 b(do)q(es)i(not)e(imply)f(that)h(the)-90
2585 y(sub)r(ject)j(is)e(unimp)q(ortan)o(t,)f(quite)h(the)h(con)o(trary)m(.)
31 b(In)18 b(this)g(section,)i(w)o(e)e(consider)h(the)g(issues)g(of)f(state)h
(reco)o(v)o(ery)g(and)f(connection)-90 2634 y(repair.)2028
2770 y(74)p eop
%%Page: 75 15
bop -90 -108 a Fc(6.2.2.1)48 b(State)15 b(Reco)o(v)o(ery)-90
-14 y Fm(State)f(reco)o(v)o(ery)h(is)f(the)g(problem)f(of)g(reestablishing)h
(lost)g(state)h(whenev)o(er)g(a)e(visa-router)h(or)g(a)g(PG)f(crashes)j(and)e
(reapp)q(ears)h(shortly)-90 36 y(thereafter.)-28 104 y(When)j(a)f
(visa-router)h(crashes,)i(its)d(visa-table)g(is)h(lost.)29
b Fl(Visa)17 b Fm(proto)q(col)g(description)h(incorp)q(orates)h(a)e(means)g
(for)g(an)h(A)o(CS)f(to)-90 153 y(reestablish)c(a)f(visa-table)f(in)h(a)g
("re-incarnated")h(visa-router.)k(Ho)o(w)o(ev)o(er,)c(the)f(imp)q(ortan)o(t)f
(dra)o(wbac)o(k)h(of)f(this)i(metho)q(d)e(is)h(that)g(A)o(CSs,)-90
203 y(unlik)o(e)j(visa-routers,)g(do)g(not)g(k)o(eep)h(up-to-date)f
(visa-tables,)g(i.e.,)f(a)h(visa-table)g(en)o(try)g(in)g(an)g(A)o(CS)g(do)q
(es)h(not)f(re\015ect)i(an)o(y)e(resource)-90 253 y(usage)h(since)g(a)f
(corresp)q(onding)h(visa)f(w)o(as)h(originally)d(issued.)23
b(This)15 b(is)h(b)q(ecause,)h(all)d(records)j(of)e(resource)i(usage)f(are)g
(irreco)o(v)o(erably)-90 303 y(lost)e(when)g(a)g(visa-router)g(crashes.)19
b(Therefore,)c(simply)d(refreshing)j(a)e(visa-router)i(ma)o(y)c(not)j(b)q(e)h
(an)e(optimal)f(decision.)-28 370 y(IDPR)j(do)q(es)g(not)g(curren)o(tly)h(sp)
q(ecify)f(an)o(y)g(mec)o(hanism)e(for)h(the)i(reco)o(v)o(ery)g(from)d(PG)i
(crashes.)22 b(Belo)o(w,)15 b(w)o(e)g(outline)g(one)g(p)q(ossible)-90
420 y(solution.)-28 488 y(If)d(a)f(PG)h(crashes,)h(it)f(loses)g(its)g(en)o
(tire)g(PR)g(table.)17 b(Ho)o(w)o(ev)o(er,)12 b(w)o(e)h(assume)e(that)h(all)e
(PGs)i(ha)o(v)o(e)g(reliable)f(\(p)q(erhaps,)i(stored)g(in)f(stable)-90
538 y(storage\))j(kno)o(wledge)f(of)g(their)g(neigh)o(b)q(or)h(PGs.)k(When)c
(a)f(PG)g(reco)o(v)o(ers)i(from)c(a)i(crash)i(it)e(\014rst)h(announces)g
(itself)f(to)g(the)h(neigh)o(b)q(ors.)-90 588 y(Eac)o(h)h(neigh)o(b)q(or)f
(then)h(pro)q(ceeds)i(to)d(searc)o(h)i(its)e(PR)g(table)h(for)f(all)f(en)o
(tries)i(that)g(sp)q(ecify)g(the)g(said)f(PG)g(as)h(either)g(previous)g(or)f
(next)-90 637 y(PG)e(hop.)k(Ha)o(ving)12 b(collected)i(all)d(suc)o(h)j(en)o
(tries,)f(eac)o(h)h(neigh)o(b)q(or)e(comp)q(oses)h(a)g(sp)q(ecial)g(REFRESH)f
(pac)o(k)o(et)i(whic)o(h)e(it)h(forw)o(ards)g(to)f(the)-90
687 y(PG)h(in)f(question.)18 b(Up)q(on)13 b(receiving)g(REFRESH)g(pac)o(k)o
(ets)g(from)e(all)h(of)g(its)h(neigh)o(b)q(ors,)g(a)f(PG)h(should)g(b)q(e)g
(able)g(to)f(reconstruct)j(its)e(PR)-90 737 y(table)h(with)f(high)h(accuracy)
m(,)g(including)e(ev)o(en)j(suc)o(h)g(details)e(as)h(pac)o(k)o(et)h(and)e
(data)h(meters.)-28 805 y(This)g(approac)o(h)f(w)o(orks)g(b)q(est)i(for)e
(reco)o(v)o(ering)h(PRs)f(for)g(whic)o(h)h(the)g(crashed)g(PG)g(is)f
(TRANSIT.)f(This)i(is)f(b)q(ecause)i(b)q(oth)f(previous)-90
855 y(and)19 b(next)i(hop)e(PGs)h(are)g(de\014ned)g(for)g(TRANSITs.)35
b(Therefore,)22 b(in)d(order)h(to)g(fully)e(reco)o(v)o(er)j(a)e
Fl(lost)g Fm(PR,)g(a)h(PG)f(m)o(ust)g(receiv)o(e)-90 904 y(t)o(w)o(o)d
(REFRESH)g(pac)o(k)o(ets)h(\(from)d(t)o(w)o(o)i(of)g(its)g(neigh)o(b)q(ors\))
g(suc)o(h)h(that)f(eac)o(h)h(con)o(taining)e(a)h(matc)o(hing)e(record)k(for)e
(the)g(said)g(PR.)g(By)-90 954 y(com)o(bining)d(the)k(information)12
b(in)j(the)i(records,)g(a)e(PG)h(can)g(recreate)h(an)f(en)o(try)g(in)f(its)h
(PR)f(table.)24 b(Resource)17 b(usage)f(meters)f(can)h(b)q(e)-90
1004 y(reco)o(v)o(ered)g(b)o(y)d(taking)g(the)i(smaller)d(set)j(of)e(v)n
(alues)h(from)e(the)i(t)o(w)o(o)g(REFRESH)g(pac)o(k)o(ets.)-28
1072 y(It)k(is)g(sligh)o(tly)e(more)h(problematic)f(to)i(reco)o(v)o(er)h(PRs)
f(that)g(sp)q(ecify)g(the)g(failed)f(PG)h(as)f(either)i(ORIGINA)m(TOR)e(or)h
(T)m(AR)o(GET.)-90 1121 y(Since)e(there)h(is)f(but)g(a)f(single)h(source)h
(of)e(information,)e(only)i(one)h(REFRESH)f(can)h(b)q(e)h(exp)q(ected.)25
b(Hence,)18 b(there)f(is)e(no)h(longer)f(the)-90 1171 y(assurance)k(from)d(t)
o(w)o(o)h(indep)q(enden)o(t)h(sources.)31 b(Moreo)o(v)o(er,)18
b(in)f(b)q(oth)h(cases,)h(a)e(REFRESH)h(alw)o(a)o(ys)e(comes)h(from)f(a)h
(neigh)o(b)q(or)g(in)g(a)-90 1221 y(di\013eren)o(t)d(\(though)f
(directly-connected\))i(AD.)e(This)g(raises)g(the)h(issue)g(of)e(trust,)i
(i.e.,)e(what)h(kind)f(of)h(assurances)i(are)e(necessary)j(for)c(a)-90
1271 y(PG)h(to)g(reestablish)h(its)f(PR)f(table)h(reliably?)k(P)o(erhaps)d
(ev)o(ery)g(PG)f(should)f(store)i(copies)g(of)e(signed)h(SETUP)h(pac)o(k)o
(ets)g(for)e(eac)o(h)i(activ)o(e)-90 1321 y(PR)g(just)g(in)f(case)i(a)f
(neigh)o(b)q(or)f(crashes)j(and)e(subsequen)o(tly)h(demands)e(strong)h
(evidence)h(of)f(PRs')f(existence.)-90 1451 y Fc(6.2.2.2)48
b(Connection)14 b(and)h(Route)f(Repair)-90 1545 y Fm(An)g(issue)g(related)g
(to)g(state)g(reco)o(v)o(ery)h(is)f(connection)g(and)f(route)i(repair.)j
(When)c(a)f(visa-router)h(or)g(a)f(PG)g(crashes)j(and)d(then)i(fails)d(to)-90
1595 y(reco)o(v)o(er,)j(previously)e(authorized)i(tra\016c)f(will)e(b)q(e)j
(unable)e(to)h(propagate)g(as)g(exp)q(ected.)-28 1663 y(In)19
b Fl(Visa)p Fm(,)h(unless)g(an)f(alternate)h(visa-router)g(is)f(a)o(v)n
(ailable,)f(connection)h(repair)h(will)e(not)h(succeed.)36
b(T)m(o)19 b(allo)o(w)e(for)i Fl(on-the-\015y)-90 1713 y Fm(adaptation)13
b(to)h(crashes,)h(all)d(p)q(oten)o(tial)i("bac)o(kup")f(visa-routers)i(m)o
(ust)e(replicate)h(the)g(necessary)i(state.)-28 1780 y(In)e(IDPR,)e(when)i(a)
f(PG)g(crashes,)h(it)f(ma)o(y)f(still)g(b)q(e)i(p)q(ossible)g(to)f(utilize)g
(the)h(original)d(PR.)i(This)g(is)g(b)q(ecause)i(a)e(PR)g(sp)q(eci\014es)i
(ADs,)-90 1830 y(not)h(ph)o(ysical)g(PGs.)26 b(Hence,)18 b(if)e(there)h(is)g
(an)f(alternate)h(PG,)e Fl(p)n(ar)n(al)r(lel)h Fm(to)g(the)h(one)g(that)f
(failed)f(\(i.e.,)h(a)g(PG)g(in)g(the)h(same)f(AD)g(and)-90
1880 y(the)i(same)e(AD\),)h(route)g(repair)h(ma)o(y)d(succeed,)20
b(esp)q(ecially)d(if)g(PR)f(state)i(is)f(replicated)h(in)f(parallel)f(PGs)h
(at)g(setup)h(time.)27 b(Barring)-90 1930 y(replication,)15
b(the)i(previous)f(hop)g(PG)g(ma)o(y)e(attempt)h(to)h(repair)g(the)h(PR)e(b)o
(y)h(setting)g(up)g(appropriate)g(state)h(in)f(the)g(alternate)h(PG;)-90
1980 y(ho)o(w)o(ev)o(er,)d(it)f(m)o(ust)g(b)q(e)i(able)e(to)h(pro)q(duce)h(a)
f(cop)o(y)g(of)f(the)h(original)e(SETUP)j(pac)o(k)o(et.)-28
2047 y(If)f(a)g(PG)f(crashes)j(and)e(no)g(parallel)e(PGs)i(are)h(a)o(v)n
(ailable,)c(the)k(issue)f(of)g(route)g(repair)h(b)q(ecomes)f(more)f
(complicated.)k(Su\016ce)d(it)g(to)-90 2097 y(sa)o(y)f(that,)f(b)q(ecause)j
(of)d(p)q(olicy)h(considerations,)g(a)g(transit)g(PG)f(can)i(not)e(attempt)h
(route)g(repair)g(unilaterally)m(.)j(In)d(other)h(w)o(ords,)f(a)f(PR)-90
2147 y(can)i(not)g(b)q(e)g(mo)q(di\014ed)f(without)g(prior)h(authorization)f
(from)f(its)i(original)e(source.)-28 2215 y(One)j(solution)f(is)g(to)g
(tear-do)o(wn)h(the)g(PR)f(and)g(let)g(the)h(source)h(recompute)f(an)f
(alternate)g(route.)21 b(This)14 b(approac)o(h)g(is)g(simple)f(and)-90
2264 y(requires)i(no)f(sp)q(ecial)g(proto)q(col)g(supp)q(ort.)k(Ho)o(w)o(ev)o
(er,)c(it)g(in)o(v)o(olv)o(es)f(a)g(signi\014can)o(t)h(amoun)o(t)e(of)h(o)o
(v)o(erhead.)-28 2332 y(Alternativ)o(ely)m(,)19 b(the)g(source)h(can)f
(pre-compute)g(a)g(n)o(um)o(b)q(er)f(of)g(di\013eren)o(t)i(PRs)e(for)h(the)g
(same)f(destination)h(and)f Fl(bund)r(le)i Fm(them)-90 2382
y(together)c(in)e(a)h(single)f(SETUP)i(pac)o(k)o(et.)21 b(All)14
b(of)h(the)g(enclosed)h(PRs)f(can)g(then)h(b)q(e)f(set)h(up)f(sim)o
(ultaneously)m(.)k(When)c(a)f(a)h(transit)g(PG)-90 2432 y(b)q(ecomes)j(una)o
(v)n(ailable,)f(the)h(previous)g(hop)g(PG)g(can)g(switc)o(h)g(to)g(a)g
("sibling")e(PR)i(transparen)o(tly)m(.)30 b(This)18 b(tec)o(hnique)h(is)e
(kno)o(wn)h(as)-90 2482 y Fl(A)n(daptive)d(Multi-Path)g(Sour)n(c)n(e)g(R)n
(outing)f Fm(and)g(is)g(sub)r(ject)h(of)e(curren)o(t)j(and)d(future)i
(researc)o(h)h([8)o(].)2028 2770 y(75)p eop
%%Page: 76 16
bop -90 -108 a Fe(6.2.3)55 b(Accoun)n(ting)19 b(and)g(Billing)-90
-14 y Fm(In)o(ternet)o(w)o(ork)e(comm)o(unication)c(has)k(b)q(een,)h(un)o
(til)e(no)o(w,)g(treated)i(mostly)c(as)j(a)f(free)h(\(or)g(\014xed-cost\))h
(go)q(o)q(d)e([13)o(].)25 b(This)17 b(is)f(lik)o(ely)f(to)-90
36 y(c)o(hange)f(with)g(the)g(adv)o(en)o(t)g(of)f(in)o(ternet)o(w)o(ork)i(p)q
(olicy)e(enforcemen)o(t)h(and)g(commercially-)o(o)o(wned)d(and)j(op)q(erated)
h(transit)f(facilities.)-28 104 y(If)h(comm)o(unication)d(is)j(to)g(b)q(e)h
(c)o(harged)g(for)f(on)g(a)g(usage-sensitiv)o(e)h(basis,)f(accoun)o(ting)h(m)
o(ust)e(tak)o(e)h(place)h(in)e(transit)i(ADs.)22 b(Con-)-90
153 y(siderations)17 b(for)f(usage)h(accoun)o(ting)f(are)h(extensiv)o(ely)g
(discussed)h(in)e([33)o(,)g(16].)25 b(IDPR,)15 b(b)o(y)i(virtue)f(of)g(main)o
(taining)d(state)18 b(in)e(p)q(olicy)-90 203 y(gatew)o(a)o(ys,)d(can)h
(easily)g(supp)q(ort)g(accoun)o(ting)g(on)g(the)g(basis)g(of)f(pac)o(k)o
(ets,)i(or)e(PR)h(duration)1366 188 y Fi(1)1384 203 y Fm(.)-28
271 y(Cost)k(reco)o(v)o(ery)h(is)e(an)g(en)o(tirely)h(di\013eren)o(t)g
(matter.)28 b(As)18 b(Clark)f(p)q(oin)o(ts)h(out)f(in)g([13)o(],)g(it)h(is)f
(a)g(v)o(ery)h(complicated)e(problem)g(with)-90 321 y(man)o(y)g(unresolv)o
(ed)i(issues.)30 b(One)18 b(of)f(the)h(more)f(di\016cult)g(ones)h(is)f(the)i
(problem)d(of)h(reliable)g(billing.)27 b(Lo)q(oking)16 b(to)i(the)g(real-w)o
(orld)-90 370 y(for)c(an)h(analogy)m(,)d(credit)j(card)h(billing)c(statemen)o
(ts)j(often)g(include)f(itemized)g(c)o(harges)i(that)e(help)h(the)g(consumer)
g(in)f(iden)o(tifying)f(and)-90 420 y(v)o(erifying)e(individual)g(c)o
(harges.)18 b(F)m(urthermore,)12 b(most)g(credit)h(card)g(companies)e(are)i
(willing)e(to)h(pro)o(vide)g(copies)h(of)f(signed)h(receipts)h(to)-90
470 y(customers)h(who)f(ha)o(v)o(e)h Fl(tr)n(ouble)f Fm(remem)o(b)q(ering)f
(certain)i(purc)o(hases.)22 b(In)15 b(other)g(w)o(ords,)g(a)f(customer)h(can)
f(c)o(ho)q(ose)i(to)e(main)o(tain)e(a)i(sort)-90 520 y(of)g(a)f("stateless")i
(mo)q(del)e(with)h(resp)q(ect)i(to)e(the)h(purc)o(hases)h(made)d(and)h(still)
f(b)q(e)h(assured)i(of)d(the)i(v)n(alidit)o(y)d(of)i(individual)e(items)h
(billed)-90 570 y(at)h(the)g(end)h(of)e(the)h(mon)o(th.)-28
637 y(Ideally)m(,)d(a)h(transit)g(AD)g(billing)e(for)i(service)i(w)o(ould)d
(pro)o(vide)h(an)g(equiv)n(alen)o(t)f(of)h(a)g(signed)g(statemen)o(t)g(to)g
(its)g(stub)h(AD)f(subscrib)q(ers.)-90 687 y(Whether)j(or)f(not)g(this)g
(billing)d(in)o(tegrit)o(y)j(can)g(b)q(e)g(accomplished)f(remains)g(to)h(b)q
(e)g(seen.)-90 825 y Fe(6.2.4)55 b(In)n(tegration)-90 919 y
Fm(In)10 b(Chapter)g(1,)g(w)o(e)f(argued)h(for)f(dividing)f(the)j(discussion)
f(of)f(securit)o(y)h(according)g(to)f(the)h(t)o(yp)q(e)h(of)e(resource)i(b)q
(eing)f(protected.)18 b(Ho)o(w)o(ev)o(er,)-90 969 y(from)13
b(a)h(tec)o(hnical)h(and)f(p)q(olicy)g(p)q(ersp)q(ectiv)o(e,)i(it)e(is)g
(essen)o(tial)h(for)f(these)i(t)o(w)o(o)e(t)o(yp)q(es)i(of)d(p)q(olicy)h
(enforcemen)o(t)h(to)f(b)q(e)h(co)q(ordinated)g(and)-90 1019
y(consisten)o(t.)100 1004 y Fi(2)141 1019 y Fm(T)m(o)f(this)h(end,)g(w)o(e)g
(discuss)h(an)f(in)o(tegrated)g(view)g(of)f(p)q(olicy)h(enforcemen)o(t)g
(supp)q(ort.)22 b(W)m(e)14 b(fo)q(cus)i(on)e(t)o(w)o(o)h(opp)q(ortunities)-90
1069 y(for)f(in)o(tegration)f({)g(b)q(order)i(routers)g(and)f(sp)q(ecialized)
h(serv)o(ers.)-90 1198 y Fc(6.2.4.1)48 b(Border)14 b(Routers)-90
1292 y Fm(The)f(hea)o(viest)f(burden)h(of)f(p)q(olicy)f(enforcemen)o(t)i
(falls)e(on)h(the)g(b)q(order)h(routers.)19 b(This)12 b(is)g(particularly)g
(true)h(of)e(b)q(order)i(routers)h(in)d(stub)-90 1342 y(ADs)j(whic)o(h)g
(need)h(to)e(implemen)o(t)f(con)o(trols)i(at)f(the)i(gran)o(ularit)o(y)d(of)i
(b)q(oth)g(ADs)g(and)f(end-systems,)h(i.e.,)f Fl(Visa)g Fm(and)h(IDPR.)-28
1410 y(F)m(or)19 b(lo)q(cally)e(originated)h(tra\016c,)i(the)f(b)q(order)h
(router)g(needs)g(to)f(con)o(trol:)27 b(i\))19 b(source)h(end-system)f
(access)i(to)d(the)i(outside,)g(ii\))-90 1460 y(destination)14
b(AD)f(and)h(end-system,)f(and)h(iii\))e(in)o(ter-AD)i(route)g(access.)20
b(T)m(ra\016c)14 b(coming)d(in)j(from)e(the)i(outside)g(has)g(to)g(b)q(e)g
(con)o(trolled)-90 1510 y(on)g(the)h(same)f(basis,)g(with)g(the)h(exception)g
(of)f(route)h(selection)g(\(if)f(routes)h(are)g(comp)q(osed)f(at)h(the)g
(source\).)21 b(Ho)o(w)o(ev)o(er,)14 b(it)g(is)h(p)q(ossible)-90
1559 y(for)f(a)f(b)q(order)i(router)g(in)e(a)h(destination)f(AD)h(to)g
(refuse)h(incoming)d(tra\016c)i(based)g(on)g(the)g(route)h(it)e(follo)o(w)o
(ed.)-28 1627 y(No)f(attempt)g(has)g(b)q(een)i(made)d(in)g(this)i(thesis)g
(to)f(in)o(tegrate)g(and)g(streamline)g(the)h(t)o(w)o(o)e(t)o(yp)q(es)j(of)d
(enforcemen)o(t)i(mec)o(hanisms.)i(This)-90 1677 y(do)q(es)i(not)f(imply)d
(that)j(in)o(tegration)f(is)h(not)g(p)q(ossible)g(or)g(desirable.)25
b(On)16 b(the)h(con)o(trary)m(,)f(signi\014can)o(t)g(p)q(erformance)f(b)q
(ene\014ts)j(can)e(b)q(e)-90 1727 y(gained)d(through)h(in)o(tegration.)-28
1794 y Fl(Visa)20 b Fm(and)g(IDPR)g(can)h(b)q(ene\014t)g(substan)o(tially)f
(from)e(sharing)i(man)o(y)f(t)o(yp)q(es)i(of)e(information.)35
b(F)m(or)20 b(example,)g(a)g(visa-router)-90 1844 y(main)o(tains)14
b(a)j(visa-table)f(where)i(ev)o(ery)g(en)o(try)f(refers)i(to)d(a)h
(connection)h(b)q(et)o(w)o(een)g(t)o(w)o(o)e(end-systems.)28
b(Similarly)l(,)14 b(a)j(PG)f(in)h(a)f(stub)-90 1894 y(AD)f(main)o(tains)e(a)
i(host-table)h(where)g(ev)o(ery)h(en)o(try)f(p)q(oin)o(ts)f(to)g(a)g(PR.)g
(If)g(a)g(router)h(implemen)o(ts)d(b)q(oth)j Fl(Visa)f Fm(and)g(IDPR,)g(it)g
(is)g(more)-90 1944 y(than)i(lik)o(ely)f(that)h(the)h(same)e(information)e
(is)j(duplicated)g(in)g(the)g(t)o(w)o(o)g(tables.)28 b(Merging)17
b(these)h(t)o(w)o(o)f(tables)g(in)o(to)f(one)i(can)f(sa)o(v)o(e)g(a)-90
1994 y(lot)d(of)g(storage)h(space.)22 b(Moreo)o(v)o(er,)15
b(pro)q(cessing)h(o)o(v)o(erhead)f(can)g(b)q(e)g(reduced)h(if)e(only)g(a)h
(single)f(table)h(lo)q(okup)f(is)g(p)q(erformed)g(for)h(b)q(oth)-90
2043 y(proto)q(cols.)-90 2173 y Fc(6.2.4.2)48 b(Sp)q(ecialized)13
b(Serv)o(ers)-90 2267 y Fm(Net)o(w)o(ork)h(administrators)d(need)k(to)e
(create)i(consisten)o(t)f(p)q(olicies)f(across)h(all)e(three)j(t)o(yp)q(es)f
(of)f(con)o(trols)g(addressed.)20 b(This)13 b(ma)o(y)e(in)o(v)o(olv)o(e)-90
2317 y(more)j(than)i(one)f(serv)o(er)i(function.)22 b(In)15
b(a)g(stub)h(AD,)f(net)o(w)o(ork)g(administrators)f(will)g(de\014ne)j(whic)o
(h)e(end-systems)h(will)d(b)q(e)j(reac)o(hable)-90 2367 y(from)h(the)i
(outside.)32 b(These)19 b(p)q(olicies)f(are)h(then)g(enforced)h(b)o(y)e(the)h
(particular)f(Access)j(Con)o(trol)c(Serv)o(er)j(\(A)o(CS\))f(used.)32
b(The)19 b(A)o(CS)-90 2417 y(con)o(trols)g(the)g(inclusion)e(of)h(particular)
h(principals)f(and)g(ob)r(jects)i(\(e.g.,)e(end-system)h(addresses\))i(in)d
(router)h(access)h(con)o(trol)f(lists.)-90 2466 y(F)m(or)c(those)h
(end-systems)g(that)g(are)f(made)g(accessible,)h(net)o(w)o(ork)g
(administrators)e(will)g(w)o(an)o(t)h(to)g(monitor)e(the)j(end-system)g(con)o
(trols)-90 2516 y(emplo)o(y)o(ed)c(to)i(mak)o(e)e(sure)j(that)f(unreac)o
(hable)h(end-systems)f(are)h(not)f(vulnerable)f(to)h(external)h(access.)p
-90 2592 864 2 v -44 2619 a Fh(1)-26 2630 y Fg(Actually)m(,)9
b(IDPR)j(already)d(supp)q(orts)h(pac)o(k)o(et,)f(data)i(and)f(time)h(coun)o
(ters)e(on)i(a)h(p)q(er)e(PR)i(basis.)-44 2658 y Fh(2)-26 2670
y Fg(This)f(is)h(similar)d(to)j(the)e(in)o(tegrated)f(la)o(y)o(er)h(pro)q
(cessing)f(argumen)o(t)g(presen)o(ted)g(in)i([14)o(].)2028
2770 y Fm(76)p eop
%%Page: 77 17
bop -28 -108 a Fm(These)11 b(same)e(net)o(w)o(ork)h(administrators)f(will)f
(create)j(p)q(olicies)f(to)g(b)q(e)g(used)h(in)e(selecting)i(routes.)17
b(The)10 b(same)f(in)o(ter-AD)h(relationships)-90 -59 y(and)g(trust)g(lev)o
(els)g(that)g(determine)g(the)g(end-system)g(and)g(net)o(w)o(ork)g(resource)i
(access)f(p)q(olicies)f(will)e(determine)i(route)h(selection)f(criteria.)-90
-9 y(Once)k(routes)g(are)f(selected)h(for)f(p)q(ossible)f(use)i(b)o(y)e(the)i
(AD,)e(route)h(serv)o(ers)i(are)e(resp)q(onsible)g(for)g(handing)f(out)g
(routes)i(to)e(end-systems)-90 41 y(\(or)k(b)q(order)h(routers\))g(within)e
(the)h(AD.)f(Therefore,)i(net)o(w)o(ork)f(administrators)f(m)o(ust)f(also)h
(sp)q(ecify)i(access)g(con)o(trol)f(lists)g(to)f(con)o(trol)-90
91 y(distribution)i(of)f(the)i(route)g(serv)o(ers')g(routes.)29
b(A)18 b(route)f(serv)o(er,)j(therefore,)f(is)e(in)o(v)o(olv)o(ed)e(in)i(all)
f(three)j(t)o(yp)q(es)f(of)e(p)q(olicy)h({)g(net)o(w)o(ork)-90
141 y(resource)h(con)o(trol)e(p)q(olicies)f(are)h(considered)i(in)d(route)i
(computation,)d(follo)o(w)o(ed)g(b)o(y)i(route)g(selection)h(p)q(olicies,)f
(and)f(\014nally)g(b)o(y)h(end-)-90 190 y(system)h(p)q(olicies)h(that)f(con)o
(trol)h(distribution)f(of)g(routes.)30 b(Finally)m(,)16 b(for)h(h)o(ybrid)g
(ADs)h(that)f(supp)q(ort)i(some)e(transit)g(tra\016c)h(as)g(w)o(ell)-90
240 y(as)d(end-system)h(access,)h(transit)e(routing)g(p)q(olicies,)g(adv)o
(ertised)h(via)e(the)i(in)o(ter-AD)f(routing)g(proto)q(col,)g(m)o(ust)f(b)q
(e)i(co)q(ordinated)f(with)-90 290 y(stub-AD)f(net)o(w)o(ork)g(resource)i
(con)o(trols.)-28 358 y(In)h(the)g(case)g(of)f(transit)h(ADs,)f(there)i(is)e
(less)i(of)d(a)h(concern)i(with)e(co)q(ordinating)g(sev)o(eral)h(t)o(yp)q(es)
g(of)f(p)q(olicy)m(.)25 b(Ho)o(w)o(ev)o(er,)17 b(net)o(w)o(ork)-90
408 y(administrators)d(will)f(need)j(to)q(ols)f(to)g(assist)h(them)e(in)h
(comp)q(osing)e(useful)j(transit)f(p)q(olicies.)22 b(Suc)o(h)15
b(p)q(olicies)g(m)o(ust)f(on)h(the)h(one)f(hand)-90 457 y(realize)e(the)h
(AD's)f(con)o(trol)g(requiremen)o(ts,)g(and)g(on)f(the)i(other)g(hand,)e(b)q
(e)i(as)f(compatible)e(as)j(p)q(ossible)f(with)g(the)g(p)q(olicies)g(of)g
(all)e(other)-90 507 y(ADs.)18 b(If)12 b(no)h(atten)o(tion)f(is)h(paid)f(to)g
(compatibilit)o(y)m(,)d(then)k(the)h(transit)f(service)h(ma)o(y)d(b)q(e)i(of)
f(little)g(use)h(to)g(an)o(y)o(one)f(in)h(the)g(in)o(ternet)o(w)o(ork.)-90
646 y Fe(6.2.5)55 b(Other)18 b(P)n(olicy)g(Routing)h(Approac)n(hes)-90
740 y Fm(The)e(IDPR)f(arc)o(hitecture)j(describ)q(ed)f(in)f(this)f(thesis)i
(is)f(not)f(the)h(only)f(p)q(ossible)h(paradigm)e(for)h(P)o(olicy)g(Routing.)
25 b(Other)18 b(existing)-90 790 y(prop)q(osals)f(review)o(ed)i(in)e(Chapter)
h(2)f(are)g(no)h(matc)o(h)e(for)h(IDPR)g(insofar)f(as)i(the)g(range)f(of)g(p)
q(olicies)g(supp)q(orted.)30 b(Nev)o(ertheless,)20 b(it)-90
840 y(is)c(conceiv)n(able)g(that)h(other,)g(radically)e(di\013eren)o(t)i
(approac)o(hes)g(ma)o(y)d(b)q(e)j(more)e(suitable)i(to)f(P)o(olicy)f
(Routing.)24 b(\(Alternativ)o(e)17 b(P)o(olicy)-90 890 y(Routing)c(approac)o
(hes)i(are)g(discussed)h(in)e([7)o(].\))20 b(F)m(or)13 b(example,)g(it)h(has)
h(b)q(een)g(suggested)h(that)e(IDRP)g(\(not)h(IDPR\))f(b)q(e)h(augmen)o(ted)e
(to)-90 939 y(include)g(full)f(AD-lev)o(el)h(paths)h(coupled)f(with)g(asso)q
(ciated)h(p)q(olicies)g(along)e(the)i(distance)g(v)o(ector)g(tables)f(it)g
(already)g(exc)o(hanges)1948 924 y Fi(3)1968 939 y Fm(.)18
b(It)13 b(is)-90 989 y(unclear)h(at)g(the)h(time)d(of)h(this)h(writing)g
(whether)h(the)f(resultan)o(t)h(arc)o(hitecture)g(can)f(con)o(tend)h(with)f
(IDPR.)p -90 2631 864 2 v -44 2658 a Fh(3)-26 2670 y Fg(D.)d(Estrin,)f(priv)n
(ate)g(comm)o(unica)o(tion)o(,)f(Marc)o(h)i(1990.)2028 2770
y Fm(77)p eop
%%Page: 78 18
bop -90 192 a Ff(Reference)21 b(List)-48 424 y Fm([1])e(Adv)n(anced)d(Micro)f
(Devices,)h(Inc.,)e Fl(AMD)j(MOS)f(Micr)n(opr)n(o)n(c)n(essors)f(and)h
(Peripher)n(als)g(Data)g(Bo)n(ok)p Fm(,)f Fc(Adv)m(anced)i(Micro)g(De-)16
474 y(vices,)f(Inc.)p Fm(,)d(Sunn)o(yv)n(ale,)g(CA.)h(1987)-48
557 y([2])19 b(ANSI,)10 b Fl(Interme)n(diate)h(System)h(to)f(Interme)n(diate)
g(System)h(Inter-Domain)g(R)n(outeing)g(Information)f(Exchange)i(Pr)n(oto)n
(c)n(ol)p Fm(,)d Fc(ANSI)16 607 y(Do)q(cumen)o(t)k(X3S3.3/90-132)p
Fm(,)e(June)j(1990.)-48 690 y([3])k(E.)g(Biham,)e(A.)i(Shamir,)e
Fl(Di\013er)n(ential)i(Cryptanalysis)g(of)g(DES-like)h(Cryptosystems)p
Fm(,)f Fc(Pro)q(ceedings)g(of)h(CR)l(YPTO'90)p Fm(,)16 740
y(August)15 b(1990.)-48 823 y([4])k(M.)14 b(Bishop,)f Fl(A)h(Se)n(curity)h(A)
o(nalysis)f(of)h(V)m(ersion)f(2)h(of)g(the)g(Network)e(Time)h(Pr)n(oto)n(c)n
(ol)h(\(NTP\))p Fm(,)d Fc(Dartmouth)h(College)i(T)l(ec)o(h-)16
872 y(nical)g(Rep)q(ort)f(PCS-TR91-154)p Fm(,)e(Jan)o(uary)i(1991.)-48
955 y([5])19 b Fl(Blacker)14 b(F)m(r)n(ont)f(End)h(Interfac)n(e)f(Contr)n(ol)
g(Do)n(cument)g Fc(DDN)h(Proto)q(col)e(Handb)q(o)q(ok,)i(V)l(ol.)g(1)p
Fm(,)e(DDN)g(Net)o(w)o(ork)g(Information)16 1005 y(Cen)o(ter,)j(SRI)e(In)o
(ternational,)g(1985.)-48 1088 y([6])19 b(A.)14 b(Birrell,)f(B.)g(Lampson,)f
(R.)g(Needham,)h(M.)g(Sc)o(hro)q(eder,)i Fl(A)f(Glob)n(al)g(A)o(uthentic)n
(ation)h(Servic)n(e)g(Without)g(Glob)n(al)f(T)m(rust)p Fm(,)e
Fc(Pro-)16 1138 y(ceedings)i(of)i(1986)f(IEEE)i(Symp)q(osium)d(on)h(Securit)o
(y)e(and)j(Priv)m(acy)p Fm(,)d(Ma)o(y)g(1986.)-48 1221 y([7])19
b(L.)11 b(Breslau)g(and)g(D.)f(Estrin,)h Fl(Design)h(of)g(Inter-A)n(dministr)
n(ative)f(Domain)h(R)n(outing)h(Pr)n(oto)n(c)n(ols)p Fm(,)d
Fc(Pro)q(ceedings)g(of)i(1990)f(A)o(CM)16 1271 y(Sigcomm)k(Conference)p
Fm(,)c(Septem)o(b)q(er)k(1990.)-48 1354 y([8])k(L.)d(Breslau,)i(D.)d(Estrin,)
j(and)e(L.)g(Zhang,)g Fl(A)n(daptive)i(Multi-Path)f(Sour)n(c)n(e)g(R)n
(outing)p Fm(,)h Fc(DRAFT,)g(in)g(submission)d(to)k(1991)16
1404 y(A)o(CM)e(Sigcomm)d(Conference)p Fm(,)e(April)h(1991.)-48
1487 y([9])19 b(M.)d(Burro)o(ws,)g(M.)f(Abadi,)h(and)f(R.)g(Needham,)g
Fl(A)i(L)n(o)n(gic)f(of)g(A)o(uthentic)n(ation)p Fm(,)g Fc(Pro)q(ceedings)g
(of)h(A)o(CM)i(Symp)q(osium)d(on)16 1537 y(Op)q(erating)e(System)h(Principl)o
(es)p Fm(,)10 b(Decem)o(b)q(er)k(1989.)-69 1620 y([10])19 b(CCITT,)10
b Fl(The)i(Dir)n(e)n(ctory,)f(Part)h(1:)17 b(Overview)11 b(of)h(Conc)n(epts,)
g(Mo)n(dels,)g(and)h(Servic)n(es)p Fm(,)d Fc(CCITT)k(Recommendation)9
b(X.500)p Fm(,)16 1669 y(Decem)o(b)q(er)15 b(1988.)-69 1752
y([11])k(CCITT,)14 b Fl(The)h(Dir)n(e)n(ctory)f(A)o(uthentic)n(ation)h(F)m(r)
n(amework)p Fm(,)d Fc(CCITT)17 b(Recommendation)c(X.509)p Fm(,)g(1988.)-69
1835 y([12])19 b(D.)h(Clark,)h Fl(Design)g(Philosophy)h(of)e(the)h(D)o(ARP)m
(A)g(Internet)g(Pr)n(oto)n(c)n(ols)p Fm(,)g Fc(Pro)q(ceedings)f(of)j(1988)g
(A)o(CM)h(SIGCOMM)16 1885 y(Symp)q(osium)p Fm(,)11 b(August)k(1988.)-69
1968 y([13])k(D.)e(Clark,)h Fl(Policy)g(R)n(outing)h(in)f(Internet)h(Pr)n
(oto)n(c)n(ols)p Fm(,)e Fc(Journal)h(of)i(In)o(ternet)o(w)o(or)o(kin)o(g:)27
b(Researc)o(h)19 b(and)h(Exp)q(erience)p Fm(,)16 2018 y(V)m(ol.)13
b(1,)g(No.)g(1,)g(Octob)q(er)j(1990.)-69 2101 y([14])j(D.)13
b(Clark)h(and)g(D.)f(T)m(ennenhouse,)h Fl(A)o(r)n(chite)n(ctur)n(al)g
(Consider)n(ations)g(for)h(a)g(New)f(Gener)n(ation)h(of)g(Pr)n(oto)n(c)n(ols)
p Fm(,)e Fc(Pro)q(ceedings)h(of)16 2151 y(1990)i(A)o(CM)g(SIGCOMM)g(Symp)q
(osium)p Fm(,)11 b(Septem)o(b)q(er)k(1990.)-69 2234 y([15])k(D.)d(Clark,)g
(D.)g(Wilson,)f Fl(A)i(Comp)n(arison)g(of)h(Commer)n(cial)e(and)i(Military)e
(Computer)h(Se)n(curity)g(Policies)p Fm(,)f Fc(Pro)q(ceedings)h(of)16
2284 y(1987)f(IEEE)h(Symp)q(osium)c(on)j(Securit)o(y)d(and)i(Priv)m(acy)p
Fm(,)e(Ma)o(y)h(1987.)-69 2367 y([16])19 b(R.)f(Co)q(cc)o(hi,)j(D.)d(Estrin,)
i(S.)f(Shenk)o(er,)i(L.)d(Zhang,)i Fl(A)f(Study)i(of)e(Priority)g(Pricing)g
(in)h(Multiple)f(Servic)n(e)g(Class)g(Networks)p Fm(,)16 2417
y Fc(DRAFT,)d(in)f(submission)d(to)j(1991)h(A)o(CM)g(SIGCOMM)g(Symp)q(osium)p
Fm(,)11 b(April)j(1991.)-69 2500 y([17])19 b(D.)13 b(Da)o(vies)h(and)g(W.)f
(Price,)h Fl(Se)n(curity)h(F)m(or)f(Computer)h(Networks)p Fm(,)d
Fc(New)17 b(Y)l(ork,)f(NY:Wiley)p Fm(,)d(1984.)-69 2583 y([18])19
b(S.)13 b(Deering,)h Fl(Multic)n(ast)g(R)n(outing)h(in)f(Internetworks)g(and)
h(Extende)n(d)h(LANs)p Fm(,)c Fc(Pro)q(ceedings)h(of)i(1988)g(A)o(CM)h
(SIGCOMM)16 2633 y(Symp)q(osium)p Fm(,)11 b(August)k(1988.)2028
2770 y(78)p eop
%%Page: 79 19
bop -69 -108 a Fm([19])19 b(W.)d(Di\016e,)h Fl(The)g(First)g(T)m(en)g(Y)m(e)n
(ars)g(of)h(Public-Key)f(Crypto)n(gr)n(aphy)p Fm(,)g Fc(Pro)q(ceedings)g(of)i
(the)f(IEEE)p Fm(,)g(V)m(ol.)d(76,)h(No.)h(5,)f(Ma)o(y)16 -59
y(1988.)-69 22 y([20])j(W.)e(Di\016e)g(and)g(M.)g(Hellman,)f
Fl(New)h(Dir)n(e)n(ctions)h(in)g(Crypto)n(gr)n(aphy)p Fm(,)g
Fc(IEEE)j(T)l(ransactions)d(on)h(Information)e(Theory)p Fm(,)16
72 y(V)m(ol.)c(22,)g(No.)g(11,)g(No)o(v)o(em)o(b)q(er,)f(1976.)-69
153 y([21])19 b(Digital)c(Equipmen)o(t)h(Corp)q(oration,)g
Fl(Interme)n(diate)h(System)h(to)g(Interme)n(diate)f(System)g(Intr)n
(a-Domain)h(R)n(outeing)h(Exchange)16 203 y(Pr)n(oto)n(c)n(ol)p
Fm(,)13 b(Octob)q(er)j(1989.)-69 284 y([22])j(E.)14 b(Dijkstra,)e
Fl(Self-Stabilization)j(in)f(Spite)h(of)g(Distribute)n(d)f(Contr)n(ol)p
Fm(,)f Fc(Comm)o(unication)o(s)g(of)i(the)g(A)o(CM)p Fm(,)e(No)o(v)o(em)o(b)q
(er)g(1974.)-69 365 y([23])19 b(T.)12 b(El)g(Gamal,)d Fl(A)k(Public)g(Key)h
(Cryptosystem)f(and)h(a)f(Signatur)n(e)h(Base)n(d)f(on)h(Discr)n(ete)f(L)n(o)
n(garithms)p Fm(,)e Fc(IEEE)16 b(T)l(ransaction)c(on)16 415
y(Information)h(Theory)p Fm(,)g(V)m(ol.)f(31,)h(July)h(1985.)-69
496 y([24])19 b(D.)11 b(Estrin,)h Fl(Contr)n(ols)g(for)h(Inter-Or)n
(ganization)f(Networks)p Fm(,)f Fc(IEEE)j(T)l(ransactions)d(on)i(Soft)o(w)o
(are)e(Engineering)p Fm(,)e(F)m(ebruary)16 546 y(1987.)-69
627 y([25])19 b(D.)g(Estrin,)i Fl(Inter)n(c)n(onne)n(ction)g(Pr)n(oto)n(c)n
(ols)e(for)h(Inter)n(or)n(ganization)g(Networks)p Fm(,)f Fc(IEEE)24
b(Journal)c(on)i(Selected)e(Areas)i(in)16 676 y(Comm)o(unications)p
Fm(,)10 b(Decem)o(b)q(er)k(1987.)-69 757 y([26])19 b(D.)f(Estrin,)h
Fl(Policy)f(R)n(e)n(quir)n(ements)h(for)f(Inter)g(A)n(dministr)n(ative)f
(Domain)j(R)n(outing)p Fm(,)f Fc(Computer)g(Net)o(w)o(orks)h(and)f(ISDN)16
807 y(Systems)p Fm(,)12 b(T)m(o)h(app)q(ear)i(in)e(1991.)-69
888 y([27])19 b(D.)12 b(Estrin,)g(J.)g(Mogul,)g(G.)f(Tsudik,)h
Fl(Visa)h(Pr)n(oto)n(c)n(ols)f(for)h(Contr)n(ol)r(ling)g(Inter-Or)n
(ganizational)f(Datagr)n(am)i(Flow)p Fm(,)d Fc(IEEE)k(Jour-)16
938 y(nal)g(on)h(Selected)d(Areas)j(in)e(Comm)o(unications)p
Fm(,)c(Ma)o(y)k(1989.)-69 1019 y([28])19 b(D.)11 b(Estrin)h(and)f(M.)g
(Steenstrup,)i Fl(Inter-Domain)g(Policy)g(R)n(outing:)18 b(Overview)12
b(of)g(A)o(r)n(chite)n(ctur)n(e)f(and)j(Pr)n(oto)n(c)n(ols)p
Fm(,)c Fc(A)o(CM)k(Com-)16 1069 y(puter)g(Comm)o(unications)f(Review)p
Fm(,)g(Jan)o(uary)g(1991.)-69 1150 y([29])19 b(D.)f(Estrin)h(and)f(G.)f
(Tsudik,)i Fl(Se)n(cur)n(e)g(Contr)n(ol)g(of)g(T)m(r)n(ansit)e(Internetwork)i
(T)m(r)n(a\016c)p Fm(,)f Fc(Computer)h(Net)o(w)o(orks)h(and)g(ISDN)16
1200 y(Systems)p Fm(,)12 b(T)m(o)h(app)q(ear)i(in)e(1991.)-69
1281 y([30])19 b(D.)13 b(Estrin)h(and)f(G.)f(Tsudik,)h(End-to-End)h
Fl(A)o(r)n(gument)g(for)g(Network-L)n(ayer)f(A)n(c)n(c)n(ess)h(Contr)n(ols)p
Fm(,)e Fc(Journal)h(of)h(In)o(ternet)o(w)o(ork-)16 1331 y(ing:)20
b(Researc)o(h)15 b(and)g(Exp)q(erience)p Fm(,)d(V)m(ol.)h(2,)g(No.)g(2,)g(Ma)
o(y)h(1991.)-69 1412 y([31])19 b(D.)g(Estrin)h(and)f(G.)f(Tsudik,)i
Fl(Se)n(curity)f(Issues)h(in)g(Policy)g(R)n(outing)p Fm(,)g
Fc(Pro)q(ceedings)g(of)h(1989)h(IEEE)h(Symp)q(osium)d(on)16
1461 y(Securit)o(y)14 b(and)h(Priv)m(acy)p Fm(,)e(Ma)o(y)g(1989.)-69
1542 y([32])19 b(D.)d(Estrin)h(and)f(G.)f(Tsudik,)h Fl(Visa)h(Scheme)h(for)f
(Inter-Or)n(ganization)f(Network)g(Se)n(curity)p Fm(,)g Fc(Pro)q(ceedings)h
(of)h(1987)g(IEEE)16 1592 y(Symp)q(osium)c(on)h(Securit)o(y)f(and)h(Priv)m
(acy)p Fm(,)e(April)g(1987.)-69 1673 y([33])19 b(D.)10 b(Estrin)i(and)e(L.)g
(Zhang,)h Fl(Design)i(Consider)n(ations)f(for)f(Usage)h(A)n(c)n(c)n(ounting)h
(and)f(F)m(e)n(e)n(db)n(ack)h(in)f(Internetworks)p Fm(,)e Fc(SIGCOMM)16
1723 y(Computer)15 b(Comm)o(unication)o(s)e(Review)p Fm(,)g(Octob)q(er)i
(1990.)-69 1804 y([34])k(Europ)q(ean)11 b(Computer)f(Man)o(ufacturers)h(Asso)
q(ciation,)g Fl(Inter-Domain)h(Interme)n(diate)f(Systems)h(R)n(outing)p
Fm(,)f Fc(T)l(ec)o(hnical)e(Rep)q(ort)16 1854 y(ECMA/TC32-TG10/89/56)p
Fm(,)14 b(Ma)o(y)f(1989.)-69 1935 y([35])19 b(L.)14 b(F)m(ord)f(and)h(D.)f(F)
m(ulk)o(erson,)g Fl(Flows)i(in)g(Networks)p Fm(,)d Fc(Princeton,)h
(NJ:Princeton)h(Univ)o(ersit)n(y)f(Press)p Fm(,)f(1962.)-69
2016 y([36])19 b(J.)13 b(Galvin,)e(K.)i(McCloghrie,)f(J.)h(Da)o(vin,)e
Fl(Se)n(cur)n(e)j(Management)h(of)f(SNMP)g(Networks)p Fm(,)e
Fc(Pro)q(ceedings)g(of)i(1991)h(In)o(tegrated)16 2066 y(Net)o(w)o(ork)h
(Managemen)o(t)e(Symp)q(osium)p Fm(,)d(April)i(1991.)-69 2147
y([37])19 b(M.)c(Gasser,)h(A.)f(Goldstein,)g(C.)g(Kaufman,)e(B.)i(Lampson,)f
Fl(The)i(Digital)g(System)h(Se)n(curity)f(A)o(r)n(chite)n(ctur)n(e)p
Fm(,)d Fc(Pro)q(ceedings)j(of)16 2197 y(1989)g(National)e(Computer)g(Securit)
o(y)g(Conference)p Fm(,)d(No)o(v)o(eb)q(er)k(1989.)-69 2278
y([38])k(D.)13 b(Gom)o(b)q(erg,)e Fl(A)j(Mo)n(del)h(of)f(Inter-administr)n
(ation)f(Network)h(User)g(A)o(uthentic)n(ation)g(and)h(A)n(c)n(c)n(ess)f
(Contr)n(ol)p Fm(,)e Fc(MITRE)k(Corp.)16 2327 y(T)l(ec)o(hnical)e(Rep)q(ort)h
(MTR-87W00003)p Fm(,)e(Decem)o(b)q(er)h(1987.)-69 2408 y([39])19
b(S.)f(Hares,)i(D.)d(Katz)i Fl(A)n(dministr)n(ative)f(Domains)h(and)h(R)n
(outing)f(Domains,)i(a)e(Mo)n(del)g(for)f(R)n(outing)h(in)g(the)g(Internet)p
Fm(,)g Fc(RF)o(C)16 2458 y(1136,)d(SRI)f(Net)o(w)o(ork)h(Information)c(Cen)o
(ter)p Fm(,)g(Decem)o(b)q(er)j(1989.)-69 2539 y([40])k(C.)14
b(Hedric)o(k,)g Fl(A)o(n)h(Intr)n(o)n(duction)g(to)g(IGRP)p
Fm(,)f Fc(Rutgers)g(Univ)o(ersit)n(y)f(T)l(ec)o(hnical)h(Rep)q(ort)p
Fm(,)e(Octob)q(er)j(1989.)-69 2620 y([41])k(E.)14 b(Horo)o(witz)g(and)f(S.)h
(Sahni,)f Fl(F)m(undamentals)i(of)g(Computer)g(A)o(lgorithms)p
Fm(,)d Fc(Ro)q(c)o(kville,)i(MD:Computer)g(Science)h(Press)p
Fm(,)16 2670 y(1978.)2028 2770 y(79)p eop
%%Page: 80 20
bop -69 -108 a Fm([42])19 b(IEEE)k(802.10,)f(Standard)g(for)g(In)o(terop)q
(erable)i(LAN)e(Securit)o(y,)i Fc(LAN)i(Securit)o(y)d(W)l(orking)h(Group,)i
(P802.10/D6)p Fm(,)16 -59 y(Septem)o(b)q(er)15 b(1989.)-69
23 y([43])k(In)o(ternational)c(Standards)i(Organization,)e
Fl(Information)i(Pr)n(o)n(c)n(essing)f(Systems)h({)g(Op)n(en)g(Systems)g
(Inter)n(c)n(onne)n(ction)g({)g(Basic)16 73 y(R)n(efer)n(enc)n(e)e(Mo)n(del)p
Fm(,)f Fc(ISO)h(7498)p Fm(,)e(1977)-69 155 y([44])19 b(In)o(ternational)14
b(Standards)g(Organization,)f Fl(Se)n(curity)h(A)o(r)n(chite)n(ctur)n(e)p
Fm(,)e Fc(ISO)k(7498-2-1988\(E\))p Fm(,)11 b(1988)-69 237 y([45])19
b(In)o(ternational)14 b(Standards)g(Organization,)f Fl(OSI)i(R)n(outeing)g(F)
m(r)n(amework)p Fm(,)e Fc(ISO/TF)i(9575)p Fm(,)e(Jan)o(uary)h(1989.)-69
318 y([46])19 b(P)m(.)13 b(Karger,)h Fl(A)o(uthentic)n(ation)h(and)g(Discr)n
(etionary)f(Contr)n(ol)g(in)h(Computer)f(Networks)p Fm(,)e
Fc(Computer)i(Net)o(w)o(orks)h(and)f(ISDN)16 368 y(Systems)p
Fm(,)e(Jan)o(uary)i(1986.)-69 450 y([47])19 b(C.)12 b(Ken)o(t)i(and)e(J.)h
(Mogul,)e Fl(F)m(r)n(agmentation)j(Consider)n(e)n(d)f(Harmful)p
Fm(,)f Fc(Pro)q(ceedings)g(of)h(1987)h(A)o(CM)h(SIGCOMM)g(Symp)q(o-)16
500 y(sium)p Fm(,)d(August)i(1987.)-69 582 y([48])19 b(S.)c(Ken)o(t,)h
Fl(Pr)n(oto)n(c)n(ols)f(and)i(T)m(e)n(chniques)f(for)f(Data)i(Communic)n
(ation)f(Networks)p Fm(,)e Fc(Englew)o(o)q(o)q(d)i(Cli\013s,)h(NJ:Pren)o
(tice)d(Hall)p Fm(,)16 631 y(1980.)-69 713 y([49])19 b(A.)14
b(Konheim,)e(Cryptograph)o(y)p Fl(,)i(a)h(Primer)e Fc(New)k(Y)l(ork,)f
(NY:Wiley)p Fm(,)d(1981.)-69 795 y([50])19 b(M.)c(Lepp)h(and)f(M.)g
(Steenstrup,)i Fl(A)o(n)f(A)o(r)n(chite)n(ctur)n(e)f(for)g(Inter-Domain)h
(Policy)g(R)n(outing)p Fm(,)g Fc(BBN)i(Rep)q(ort)e(Num)o(b)q(er)g(7345)p
Fm(,)16 845 y(July)e(1990,)e(BBN)j(Corp)q(oration,)e(Cam)o(bridge,)f(MA)i
(02138.)-69 927 y([51])19 b(J.)e(Linn,)g Fl(Privacy)h(Enhanc)n(ement)h(for)e
(Internet)h(Ele)n(ctr)n(onic)f(Mail.)g(Part)g(I:)h(Message)g(Encipherment)g
(and)h(A)o(uthentic)n(ation)16 977 y(Pr)n(o)n(c)n(e)n(dur)n(es)p
Fm(,)13 b Fc(RF)o(C)j(1113,)g(SRI)f(Net)o(w)o(ork)g(Information)e(Cen)o(ter)p
Fm(,)f(Jan)o(uary)i(1989.)-69 1058 y([52])19 b(M.)14 b(Little,)f
Fl(Dissimilar)h(Gateway)h(Pr)n(oto)n(c)n(ol)f(\(DGP\))p Fm(,)g
Fc(W)l(orking)g(P)o(ap)q(er)p Fm(,)f(1988.)-69 1140 y([53])19
b(K.)12 b(Lougheed)h(and)f(Y.)f(Rekh)o(ter,)i Fl(Bor)n(der)g(Gateway)g(Pr)n
(oto)n(c)n(ol)p Fm(,)f Fc(RF)o(C)h(1163,)h(SRI)g(Net)o(w)o(ork)f(Information)
e(Cen)o(ter)p Fm(,)f(June)16 1190 y(1990.)-69 1272 y([54])19
b(K.)13 b(Lougheed)g(and)g(Y.)g(Rekh)o(ter,)g Fl(Bor)n(der)h(Gateway)g(Pr)n
(oto)n(c)n(ol)e Fc(RF)o(C)j(1105,)g(SRI)f(Net)o(w)o(ork)g(Information)e(Cen)o
(ter)p Fm(,)f(June)16 1322 y(1989.)-69 1403 y([55])19 b(J.)11
b(McQuillan,)g Fl(A)n(daptive)h(R)n(outing)h(A)o(lgorithms)f(for)g
(Distribute)n(d)f(Computer)i(Networks)p Fm(,)d Fc(BBN)j(Inc,)h(BBN)f(TR)g
(2831)p Fm(,)d(Ma)o(y)16 1453 y(1974.)-69 1535 y([56])19 b(J.)g(McQuillan,)f
(I.)f(Ric)o(her,)j(E.)e(Rosen,)h Fl(The)g(New)f(R)n(outing)i(A)o(lgorithm)e
(for)g(the)h(ARP)m(ANET)p Fm(,)e Fc(IEEE)23 b(T)l(ransactions)c(on)16
1585 y(Comm)o(unications)p Fm(,)10 b(Ma)o(y)j(1980.)-69 1667
y([57])19 b(R.)13 b(Merkle,)h Fl(One-way)h(Hash)g(functions)h(and)f(DES)p
Fm(,)g Fc(Pro)q(ceedings)e(of)i(CR)l(YPTO)h(89)p Fm(,)d(August)i(1989.)-69
1749 y([58])k(D.)f(Mills,)g Fl(On)h(the)g(A)n(c)n(cur)n(acy)f(and)i
(Stability)e(of)h(Clo)n(cks)g(Synchr)n(onize)n(d)g(by)h(the)f(Network)f(Time)
g(Pr)n(oto)n(c)n(ol)g(in)h(the)g(Internet)16 1798 y(System)p
Fm(,)14 b Fc(A)o(CM)j(Computer)d(Comm)o(unication)o(s)f(Review)p
Fm(,)g(Jan)o(uary)h(1990.)-69 1880 y([59])19 b(D.)13 b(Mills,)f
Fl(Internet)j(Time)f(Synchr)n(onization:)20 b(the)15 b(Network)e(Time)h(Pr)n
(oto)n(c)n(ol)p Fm(,)f Fc(RF)o(C)j(1129,)f(SRI)g(Net)o(w)o(ork)g(Information)
16 1930 y(Cen)o(ter)p Fm(,)d(Octob)q(er)k(1989.)-69 2012 y([60])j(P)m(.)d(Mo)
q(c)o(k)n(ap)q(etris,)g Fl(Domain)i(Names)e(-)h(Implementation)g(and)g(Sp)n
(e)n(ci\014c)n(ation)p Fm(,)g Fc(RF)o(C)h(1035,)h(SRI)e(Net)o(w)o(ork)h
(Information)16 2062 y(Cen)o(ter)p Fm(,)12 b(No)o(v)o(em)o(b)q(er)i(1987.)-69
2143 y([61])19 b(J.)e(Mogul,)f Fl(Simple)i(and)g(Flexible)g(Datagr)n(am)f(A)n
(c)n(c)n(ess)h(Contr)n(ols)f(for)g(Unix-b)n(ase)n(d)h(Gateways)p
Fm(,)f Fc(Pro)q(ceedings)g(of)i(Summer)16 2193 y(1989)d(USENIX)g(T)l(ec)o
(hnical)e(Conference)p Fm(,)e(August)i(1989.)-69 2275 y([62])19
b(J.)14 b(Mo)o(y)m(,)e Fl(The)i(Op)n(en)h(Shortest)f(Path)h(First)e(\(OSPF\))
i(Sp)n(e)n(ci\014c)n(ation)p Fm(,)f Fc(RF)o(C)h(1131,)g(SRI)g(Net)o(w)o(ork)g
(Information)d(Cen)o(ter)p Fm(,)16 2325 y(Octob)q(er)k(1989.)-69
2407 y([63])j(J.)14 b(Mracek,)g Fl(Network)g(A)n(c)n(c)n(ess)g(Contr)n(ol)g
(in)h(Multi-Net)f(Internet)h(T)m(r)n(ansp)n(ort)p Fm(,)d Fc(S.B.)k(Thesis,)e
(MIT)j(Departmen)o(t)12 b(of)j(Elec-)16 2457 y(trical)f(Engineering)f(and)i
(Computer)f(Science)p Fm(,)e(June)j(1983.)-69 2538 y([64])k(S.)12
b(Mulender)h(et)f(al,)f Fl(A)o(mo)n(eb)n(a:)18 b(A)13 b(Distribute)n(d)f(Op)n
(er)n(ating)h(System)g(for)g(the)g(1990s)p Fm(,)f Fc(IEEE)j(Computer)p
Fm(,)10 b(V)m(ol.)g(23,)i(No.)f(5,)g(Ma)o(y)16 2588 y(1990.)-69
2670 y([65])19 b(T.)14 b(Narten,)g Fl(Internet)h(R)n(outing)p
Fm(,)f Fc(Pro)q(ceedings)f(of)i(1988)h(A)o(CM)g(SIGCOMM)g(Symp)q(osium)p
Fm(,)11 b(August)k(1989.)2028 2770 y(80)p eop
%%Page: 81 21
bop -69 -108 a Fm([66])19 b(National)c(Bureau)h(of)f(Standards,)i
Fl(F)m(e)n(der)n(al)e(Information)i(Pr)n(o)n(c)n(essing)f(Standar)n(ds)p
Fm(,)h(National)d(Bureau)j(of)e(Standards,)h(Publi-)16 -59
y(cation)e(46,)f(1977.)-69 24 y([67])19 b(R.)13 b(Needham)g(and)g(M.)g(Sc)o
(hro)q(eder,)h Fl(Using)h(Encryption)g(for)e(A)o(uthentic)n(ation)i(in)f(L)n
(ar)n(ge)h(Networks)e(of)h(Computers)p Fm(,)f Fc(Comm)o(u-)16
74 y(nications)h(of)h(the)g(A)o(CM)p Fm(,)f(V)m(ol.)e(21,)h(No.)g(12,)g
(Decem)o(b)q(er)h(1978.)-69 157 y([68])19 b(R.)c(Needham)f(and)h(M.)g(Sc)o
(hro)q(eder,)h Fl(A)o(uthentic)n(ation)h(R)n(evisite)n(d)p
Fm(,)d Fc(A)o(CM)k(Op)q(erating)d(Systems)h(Review)p Fm(,)e(V)m(ol.)g(21,)g
(No.)h(7,)16 207 y(Jan)o(uary)f(1987.)-69 290 y([69])19 b(D.)13
b(Nessett,)h Fl(F)m(actors)g(A\013e)n(cting)h(Distribute)n(d)e(System)i(Se)n
(curity)p Fm(,)d Fc(IEEE)17 b(T)l(ransaction)c(on)h(Soft)o(w)o(are)f
(Engineering)p Fm(,)d(V)m(ol.)16 340 y(SE-13,)j(1987.)-69 423
y([70])19 b(M.)14 b(P)o(adlipsky)m(,)e Fl(The)j(Elements)g(of)f(Networking)h
(Style)p Fm(,)e Fc(Englew)o(o)q(o)q(d)i(Cli\013s,)g(NJ:Pren)o(tice)e(Hall)p
Fm(,)g(1985.)-69 506 y([71])19 b(R.)e(P)o(erlman,)g Fl(Network)g(L)n(ayer)h
(Pr)n(oto)n(c)n(ols)f(with)h(Byzantine)h(R)n(obustness)p Fm(,)g
Fc(Ph.D.)g(Dissertation)o(,)f(MIT)j(LCS)f(TR-429)p Fm(,)16
556 y(Octob)q(er)c(1988.)-69 639 y([72])j(R.)g(P)o(erlman,)f
Fl(F)m(ault-T)m(oler)n(ant)h(Br)n(o)n(adc)n(ast)h(of)g(R)n(outing)g
(Information)p Fm(,)g Fc(Computer)h(Net)o(w)o(orks)g(and)g(ISDN)h(Systems)p
Fm(,)16 689 y(Decem)o(b)q(er)15 b(1983.)-69 772 y([73])k(J.)14
b(P)o(ostel,)g Fl(Internet)h(Pr)n(oto)n(c)n(ol)p Fm(,)d Fc(RF)o(C)k(791,)g
(SRI)f(Net)o(w)o(ork)h(Information)d(Cen)o(ter)p Fm(,)f(Septem)o(b)q(er)i
(1981.)-69 855 y([74])19 b(J.)13 b(P)o(ostel,)g Fl(Internet)h(Contr)n(ol)f
(Message)i(Pr)n(oto)n(c)n(ol)p Fm(,)c Fc(RF)o(C)k(792,)g(SRI)f(Net)o(w)o(ork)
g(Information)e(Cen)o(ter)p Fm(,)f(Septem)o(b)q(er)i(1981.)-69
938 y([75])19 b(R.)13 b(Riv)o(est,)g Fl(The)i(MD4)h(Message)f(Digest)g(A)o
(lgorithm)p Fm(,)e Fc(Pro)q(ceedings)g(of)i(CR)l(YPTO'90)p
Fm(,)f(August)g(1990.)-69 1021 y([76])19 b(R.)12 b(Riv)o(est,)g(A.)h(Shamir)e
(and)h(L.)h(Adleman,)e Fl(A)i(Metho)n(d)i(for)e(Obtaining)h(Digital)g
(Signatur)n(es)g(and)g(Public)g(Key)g(Cryptosystems)p Fm(,)16
1070 y Fc(Comm)o(unications)f(of)i(the)g(A)o(CM)p Fm(,)f(F)m(ebruary)g(1978.)
-69 1153 y([77])19 b(E.)14 b(Rosen,)g Fl(Exterior)g(Gateway)h(Pr)n(oto)n(c)n
(ol)f(\(EGP\))p Fm(,)g Fc(RF)o(C)i(827,)f(SRI)h(Net)o(w)o(ork)f(Information)e
(Cen)o(ter)p Fm(,)f(Octob)q(er)j(1982.)-69 1236 y([78])k(J.)11
b(Saltzer,)h(D.)e(Reed,)i(and)f(D.)f(Clark,)g Fl(End-to-End)k(A)o(r)n
(guments)e(in)g(System)g(Design)p Fm(,)g Fc(A)o(CM)h(T)l(ransactions)e(on)h
(Computer)16 1286 y(Systems)p Fm(,)g(June)j(1984.)-69 1369
y([79])k(J.)i(Saltzer)g(and)f(M.)g(Sc)o(hro)q(eder,)k Fl(Pr)n(ote)n(ction)d
(of)g(Information)g(in)g(Computer)g(Systems)p Fm(,)h Fc(Pro)q(ceedings)f(of)i
(the)f(IEEE)p Fm(,)16 1419 y(Septem)o(b)q(er)15 b(1975.)-69
1502 y([80])k(M.)11 b(Sat)o(y)o(anara)o(y)o(an,)f Fl(Sc)n(alable,)j(Se)n(cur)
n(e,)g(and)g(Highly)g(A)o(vailable)f(File)g(A)n(c)n(c)n(ess)p
Fm(,)f Fc(IEEE)j(Computer)p Fm(,)c(V)m(ol.)g(23,)h(No.)f(5,)i(Ma)o(y)e(1990.)
-69 1585 y([81])19 b(SDNS)c(Proto)q(col)f(and)g(Signaling)e(W)m(orking)h
(Group,)h(SP3)g(Subgroup,)g Fl(SDNS)i(Se)n(cur)n(e)g(Data)f(Network)g(System)
g(Se)n(curity)g(Pr)n(o-)16 1635 y(to)n(c)n(ol)g(3)g(\(SP3\))p
Fm(,)f Fc(SDN.301)h(Revision)f(1.5)i(1989-05-15)-69 1718 y
Fm([82])j(A.)12 b(Shimizu,)f(S.)h(Miy)o(aguc)o(hi,)f Fl(F)m(ast)i(Data)h
(Encryption)g(A)o(lgorithm)e(\(FEAL\))p Fm(,)g Fc(Pro)q(ceedings)g(of)i(EUR)o
(OCR)l(YPT'87)p Fm(,)d(April)16 1768 y(1987)-69 1851 y([83])19
b(K.)d(Sollings,)e Fl(Casc)n(ade)n(d)k(A)o(uthentic)n(ation)p
Fm(,)e Fc(Pro)q(ceedings)f(of)j(1987)g(IEEE)h(Symp)q(osium)d(on)i(Securit)o
(y)d(and)j(Priv)m(acy)p Fm(,)16 1901 y(April)c(1987.)-69 1984
y([84])19 b(M.)f(Steenstrup)j(and)d(Op)q(en)i(Routing)d(W)m(orking)g(Group,)i
Fl(Inter-Domain)h(Policy)f(R)n(outing)h(Sp)n(e)n(ci\014c)n(ation)p
Fm(,)g Fc(BBN)h(Rep)q(ort)16 2033 y(Num)o(b)q(er)15 b(7346)p
Fm(,)e(Decem)o(b)q(er)h(1990,)e(BBN)j(Corp)q(oration,)e(Cam)o(bridge)f(MA)i
(02138.)-69 2117 y([85])19 b(J.)12 b(Steiner,)g Fl(The)h(Kerb)n(er)n(os)f
(Network)g(A)o(uthentic)n(ation)h(Servic)n(e)f(Overview)p Fm(,)f
Fc(MIT)j(Pro)s(ject)d(A)o(thena)h(RF)o(C,)h(Draft)f(1)p Fm(,)f(April)16
2166 y(1989.)-69 2249 y([86])19 b(A.)14 b(T)m(anen)o(baum,)d
Fl(Computer)k(Networks)p Fm(,)d Fc(Englew)o(o)q(o)q(d)j(Cli\013s,)g(NJ:Pren)o
(tice)f(Hall)p Fm(,)e(1981.)-69 2332 y([87])19 b(P)m(.)10 b(Tsuc)o(hiy)o(a,)h
Fl(E\016cient)h(and)h(R)n(obust)f(Policy)g(R)n(outing)h(using)f(Multiple)f
(Hier)n(ar)n(chic)n(al)g(A)n(ddr)n(esses)p Fm(,)f Fc(DRAFT,)j(in)e(submissio)
o(n)16 2382 y(to)16 b(1991)f(A)o(CM)i(SIGCOMM)f(Symp)q(osium)p
Fm(,)11 b(April)i(1991.)-69 2465 y([88])19 b(G.)13 b(Tsudik,)g
Fl(Datagr)n(am)i(A)o(uthentic)n(ation)g(in)g(Internet)f(Gateways)p
Fm(,)g Fc(IEEE)j(Journal)c(on)i(Selected)e(Areas)j(in)e(Comm)o(uni-)16
2515 y(cations)p Fm(,)e(Ma)o(y)i(1989.)-69 2598 y([89])19 b(U.S.)11
b(Departmen)o(t)g(of)g(Defense,)i Fl(T)m(ruste)n(d)f(Computer)g(System)h
(Evaluation)g(Criteria)p Fm(,)d Fc(Standard)h(5200.28-STD)p
Fm(,)f(Decem)o(b)q(er)16 2648 y(1985.)2028 2770 y(81)p eop
%%Page: 82 22
bop -69 -108 a Fm([90])19 b(V.)e(V)m(o)o(ydo)q(c)o(k)f(and)h(S.)g(Ken)o(t,)h
Fl(Se)n(curity)f(Me)n(chanisms)i(in)f(High-level)f(Network)f(Pr)n(oto)n(c)n
(ols)p Fm(,)h Fc(A)o(CM)j(Computing)d(Surv)o(eys)p Fm(,)16
-59 y(June)e(1983.)-69 24 y([91])k(S.)e(W)m(alk)o(er,)f Fl(Network)h(Se)n
(curity:)24 b(the)18 b(Parts)f(of)g(the)h(Sum)p Fm(,)g Fc(Pro)q(ceedings)f
(of)h(1989)h(IEEE)i(Symp)q(osium)c(on)i(Securit)o(y)16 74 y(and)d(Priv)m(acy)
p Fm(,)d(Ma)o(y)g(1989.)2028 2770 y(82)p eop
%%Page: 83 23
bop -90 192 a Ff(App)r(endix)22 b(A)-90 367 y(Message)h(Authen)n(tication)e
(with)h(One-W)-6 b(a)n(y)23 b(Hash)g(F)-6 b(unctions)-90 601
y Fm(In)19 b(this)g(app)q(endix,)g(w)o(e)g(discuss)h(some)e(p)q(oten)o(tial)h
(applications)e(of)i(fast)f(one-w)o(a)o(y)g(hash)i(functions)e(to)h(the)h
(problem)d(of)h(message)-90 651 y(authen)o(tication.)f(Sev)o(eral)12
b(metho)q(ds)e(for)i(protection)f(against)g(message)g(substitution)h(are)g
(presen)o(ted.)19 b(The)12 b(securit)o(y)g(of)f(the)h(prop)q(osed)-90
701 y(metho)q(ds)h(is)h(conjectured)i(to)e(b)q(e)g(equiv)n(alen)o(t)f(to)h
(the)g(strength)i(of)d(the)h(underlying)g(one-w)o(a)o(y)f(hash)h(function.)
-90 856 y Ff(A.1)69 b(In)n(tro)r(duction)-90 965 y Fm(In)15
b(recen)o(t)i(y)o(ears,)f(some)f(imp)q(ortan)o(t)e(adv)n(ances)j(w)o(ere)h
(made)d(in)h(the)h(area)f(of)g(fast)g(one-w)o(a)o(y)g(hash)h(functions)f(for)
g(message)g(in)o(tegrit)o(y)m(.)-90 1014 y(One)f(of)e(these)j(functions,)d
(Riv)o(est's)h(Message)h(Digest)f(algorithm)e(\(MD4\)[75)o(],)h(is)h
(considered)h(b)o(y)f(man)o(y)e(in)i(the)g(securit)o(y)h(comm)o(unit)o(y)-90
1064 y(to)e(b)q(e)g(the)h(most)d(promising)g(\(and)i(hereto)h(un)o(brok)o
(en\))f(metho)q(d.)k(Due)c(to)g(its)g(structure,)i(MD4)d(lends)h(itself)g(to)
f(soft)o(w)o(are)h(implemen)o(ta-)-90 1114 y(tions)i(that)g(can)h(p)q(erform)
e(at)i(sp)q(eeds)h(signi\014can)o(tly)d(higher)h(than)h(earlier,)f
(encryption-based)h(in)o(tegrit)o(y)f(metho)q(ds,)f(e.g.,)g(DES-based)-90
1164 y(MA)o(C[66)o(,)g(17].)-28 1232 y(In)g(brief,)g(MD4)g(computes)g(a)g
(128-bit)f(digest)h(of)g(an)g(arbitrary)g(length)g(message.)18
b(Its)c(basic)f(input)g(unit)g(is)g(a)g(512-bit)f(data)h(blo)q(c)o(k.)-90
1281 y(It)h(is)g(conjectured)h(that)f(MD4)g(p)q(ossesses)i(the)f(follo)o
(wing)c(prop)q(erties:)-39 1382 y(1.)20 b(The)14 b(di\016cult)o(y)f(of)g
(computing)g(t)o(w)o(o)g(distinct)h(messages,)g Fk(M)981 1388
y Fi(1)1013 1382 y Fm(and)g Fk(M)1134 1388 y Fi(2)1167 1382
y Fm(suc)o(h)h(that)f Fk(M)5 b(D)q Fm(4\()p Fk(M)1508 1388
y Fi(1)1527 1382 y Fm(\))11 b(=)h Fk(M)5 b(D)q Fm(4\()p Fk(M)1755
1388 y Fi(2)1774 1382 y Fm(\))14 b(is)g(on)g(the)g(order)14
1432 y(of)f(2)82 1417 y Fi(64)131 1432 y Fm(op)q(erations.)-39
1515 y(2.)20 b(Giv)o(en)11 b(a)h(message)f(digest,)h Fk(M)5
b(D)q Fm(,)13 b(the)f(di\016cult)o(y)f(of)h(computing)e(a)h(message,)h
Fk(M)17 b Fm(suc)o(h)12 b(that)g Fk(M)5 b(D)q Fm(4\()p Fk(M)g
Fm(\))12 b(=)g Fk(M)5 b(D)13 b Fm(is)f(on)g(the)g(order)14
1565 y(of)h(2)82 1550 y Fi(128)147 1565 y Fm(op)q(erations.)-90
1666 y(The)f(second)h(prop)q(ert)o(y)g(is)f(of)f(particular)h(in)o(terest.)18
b(It)12 b(is)g(based)g(on)g(the)g(fact)g(that)g(MD4)f(maps)g(2)1451
1651 y Fi(512)1514 1666 y Fm(512-bit)g(blo)q(c)o(ks)h(in)o(to)f(2)1880
1651 y Fi(128)1943 1666 y Fm(128-bit)-90 1716 y(digests.)28
b(Consequen)o(tly)m(,)17 b(on)g(the)g(a)o(v)o(erage,)g([2)673
1701 y Fi(512)724 1716 y Fk(=)p Fm(2)766 1701 y Fi(128)834
1716 y Fm(=)g(2)904 1701 y Fi(384)955 1716 y Fm(])g(blo)q(c)o(ks)g(are)g
(hashed)g(in)o(to)g(the)g(same)f(128-bit)g(digest.)27 b(Therefore,)-90
1765 y(giv)o(en)14 b(a)h(message)f(digest,)h(it)g(tak)o(es,)g(on)f(the)i(a)o
(v)o(erage,)e(2)823 1750 y Fi(128)890 1765 y Fm(trials)g(b)q(efore)i(disco)o
(v)o(ering)e(one)h(of)g(the)g(2)1556 1750 y Fi(384)1622 1765
y Fm(messages)g(that)g(maps)f(in)o(to)-90 1815 y(that)g(digest.)-90
1970 y Ff(A.2)69 b(Motiv)l(ation)-90 2079 y Fm(In)12 b(the)h(realm)e(of)h
(secure)i(comm)o(unicatio)o(ns,)c(message)i(in)o(tegrit)o(y)g(alone)f(do)q
(es)i(not)g(pro)o(vide)f(su\016cien)o(t)g(defense)i(against)e(some)f(attac)o
(ks.)-90 2129 y(While)e(a)g(strong)h(one-w)o(a)o(y)f(hash)h(function)f
(protects)j(against)d(data)g(mo)q(di\014cation,)f(protection)i(against)f
Fl(message)i(substitution)f Fm(requires)-90 2179 y(that)j(the)g(message)g(in)
o(tegrit)o(y)f(v)n(alue)g(b)q(e)h(irrepro)q(ducible.)19 b(Encryption-based)13
b(in)o(tegrit)o(y)f(metho)q(ds)h(pro)o(vide)f(this)h(service)h(since)g(one)f
(of)-90 2229 y(the)d(inputs)g(to)g(the)g(in)o(tegrit)o(y)f(function)g(is)h(a)
f(secret)j(k)o(ey)e(\(e.g.,)f(DES\).)h(This)f(is)h(not)f(the)i(case)f(with)g
(MD4.)16 b(Since)10 b(MD4)f(implemen)o(tations)-90 2278 y(are)15
b(readily)e(a)o(v)n(ailable,)f(an)o(y)o(one)i(can)g(pro)q(duce)i(an)e(MD4)f
(v)n(alue)h(of)f(an)h(arbitrary)g(message)g(and)g(insert)h([)p
Fk(msg)q(;)7 b(M)e(D)q Fm(4\()p Fk(msg)q Fm(\)])16 b(in)o(to)d(the)-90
2328 y(stream.)18 b(One)d(simple)e(solution)g(is)h(to)g(require)h(that)f(the)
h(message)e(source)j(encrypt)f(the)g(MD4)e(v)n(alue)h(of)f(eac)o(h)i
(message.)j(In)c(a)g(public)-90 2378 y(k)o(ey)h(cryptosystem,)h(this)f(can)h
(b)q(e)g(done)f(with)g(the)h(sender's)h(priv)n(ate)e(k)o(ey)m(.)22
b(In)15 b(a)g(con)o(v)o(en)o(tional)f(cryptosystem,)i(the)g(sender)h(can)e
(use)-90 2428 y(the)f(secret)i(k)o(ey)e(shared)h(amongst)d(the)j(appropriate)
f(parties.)-28 2496 y(While)h(this)g(simple)e(approac)o(h)i(solv)o(es)h(the)f
(message)g(substitution)g(problem,)f(it)h(has)g(some)f(dra)o(wbac)o(ks.)22
b(Ev)o(en)16 b(though)e(the)i(use)-90 2545 y(of)g(exp)q(ensiv)o(e)i
(encryption)f(is)g(limited)d(to)j(signing)e(a)i(short)g(\014xed-length)g
(message)f(digest,)h(encryption)h(still)d(tak)o(es)j(its)e(toll.)25
b(Ev)o(en)-90 2595 y(the)18 b(fastest)g(commercially)c(a)o(v)n(ailable)h
(cryptographic)i(devices)i(op)q(erate)f(at)f(rates)h(ab)q(out)f(an)g(order)h
(of)f(magnitude)e(b)q(ehind)j(MD4,)-90 2645 y(esp)q(ecially)m(,)13
b(for)h(small)d(data)j(units)g([1)o(].)2028 2770 y(83)p eop
%%Page: 84 24
bop -28 -108 a Fm(Dra)o(wing)14 b(from)g(the)i(discussion)f(ab)q(o)o(v)o(e,)g
(an)g(ideal)f(scenario)i(for)f(coun)o(tering)h(b)q(oth)f(message)g
(substitution)g(and)g(message)g(mo)q(di-)-90 -59 y(\014cation)f(attac)o(ks)h
(w)o(ould:)j(i\))c(a)o(v)o(oid)f(encryption)i(altogether,)f(and)h(ii\))e(pro)
q(duce)j(unforgeable)e(in)o(tegrit)o(y)g(v)n(alues.)19 b(Initially)m(,)12
b(these)j(t)o(w)o(o)-90 -9 y(prop)q(erties)i(app)q(ear)g(to)f(b)q(e)g(at)g(o)
q(dds,)g(ho)o(w)o(ev)o(er,)g(some)f(inno)o(v)n(ativ)o(e)g(application)f(of)i
(fast)f(one-w)o(a)o(y)h(hash)g(functions)g(ma)o(y)e(b)q(e)i(able)g(to)-90
41 y(reconcile)f(them.)-90 196 y Ff(A.3)69 b(Proto)r(col)23
b(Description)-90 305 y Fm(W)m(e)17 b(supp)q(ose)h(that)f(t)o(w)o(o)f
(principals,)h Fk(A)g Fm(and)g Fk(B)r Fm(,)g(w)o(ould)g(lik)o(e)f(to)g(comm)o
(unicate)f(o)o(v)o(er)i(an)g(insecure)h(c)o(hannel.)28 b(F)m(urthermore,)17
b(there)-90 355 y(exist)c(secure)i(means)d(of)g(principal)g(authen)o
(tication)h([67)o(,)f(90)o(,)h(85)o(].)k(A)o(t)c(the)h(time)d(of)h(session)i
(initiation,)c(after)k(m)o(utual)c(authen)o(tication)-90 405
y(is)j(ac)o(hiev)o(ed,)g(one)h(of)f(principals,)f(sa)o(y)m(,)g
Fk(A)p Fm(,)h(generates)i(a)e(random)f(512-bit)g(v)n(alue,)g
Fk(S)1238 411 y Fj(AB)1292 405 y Fm(.)18 b Fk(A)c Fm(then)g(comm)o(uni)o
(cates)e Fk(S)1754 411 y Fj(AB)1821 405 y Fm(to)h Fk(B)j Fm(in)d(secret)-90
454 y(\(using)h(encryption,)g(if)f(necessary\).)-28 522 y(When)k
Fk(A)g Fm(has)f(a)h(message)f Fk(M)21 b Fm(to)c(send)g(to)f
Fk(B)r Fm(,)i(it)e(computes)g Fk(M)5 b(D)1058 528 y Fj(M)1111
522 y Fm(=)16 b Fk(M)5 b(D)q Fm(4\()p Fk(M)g Fd(jj)p Fk(S)1370
528 y Fj(AB)1424 522 y Fm(\))1440 507 y Fi(1)1458 522 y Fm(.)26
b(It)17 b(then)g(sends)h([)p Fk(M)r(;)7 b(M)e(D)1907 528 y
Fj(M)1943 522 y Fm(])16 b(to)h Fk(B)r Fm(.)-90 572 y(Since)c
Fk(B)h Fm(p)q(ossesses)h Fk(S)263 578 y Fj(AB)317 572 y Fm(,)d(it)g(can)g
(re-compute)g Fk(M)5 b(D)q Fm(4\()p Fk(M)g Fd(jj)p Fk(S)881
578 y Fj(AB)934 572 y Fm(\))12 b(and)g(v)o(erify)g Fk(M)5 b(D)1234
578 y Fj(M)1271 572 y Fm(.)17 b(W)m(e)12 b(refer)h(to)f(this)g(metho)q(d)f
(as)i(the)f Fl(se)n(cr)n(et)h(su\016x)-90 622 y Fm(tec)o(hnique.)-28
689 y(Alternativ)o(ely)m(,)h Fk(A)h Fm(and)g Fk(B)i Fm(can)e(agree)h(to)f
(compute)f Fk(M)5 b(D)896 695 y Fj(M)948 689 y Fm(as)15 b Fk(M)5
b(D)q Fm(4\()p Fk(S)1142 695 y Fj(AB)1196 689 y Fd(jj)p Fk(M)g
Fm(\))14 b(and)h(use)h Fk(S)1475 695 y Fj(AB)1543 689 y Fm(as)f(a)g
Fl(se)n(cr)n(et)g(pr)n(e\014x)p Fm(.)22 b(The)15 b(secret)-90
739 y(pre\014x)g(metho)q(d)f(w)o(as)h(dev)o(elop)q(ed)g(indep)q(enden)o(tly)h
(b)o(y)e(the)i(In)o(ternet)g(Securit)o(y)f(and)g(Priv)n(acy)f(W)m(orking)f
(Group)i(\(SPW)o(G\))1866 724 y Fi(2)1898 739 y Fm(for)g(use)g(in)-90
789 y(Simple)d(Net)o(w)o(ork)i(Managemen)o(t)f(Proto)q(col)h(\(SNMP\))g
([36].)-90 944 y Ff(A.4)69 b(Informal)23 b(Analysis)-90 1053
y Fm(Throughout)16 b(the)g(follo)o(wing)d(discussion)k(it)e(is)h(assumed)f
(that)h(an)g(in)o(truder)g(has)g(the)h(abilit)o(y)d(to)i(record)h(and)e
(analyze)h(messages)g(as)-90 1103 y(w)o(ell)f(as)h(insert)g(fraudulen)o(t)g
(messages)g(in)o(to)f(the)h(message)f(stream.)24 b(In)15 b(order)i(to)e(moun)
o(t)f(a)i(successful)h(attac)o(k)f(or)g(e\013ectiv)o(ely)g
Fl(br)n(e)n(ak)-90 1153 y Fm(the)h(proto)q(col,)g(an)f(in)o(truder)i(has)f
(to)f(b)q(e)h(able)g(to)f(pro)q(duce)i(a)f(fraudulen)o(t)f(message)h(and)f
(an)h(accompan)o(ying)d(digest)j(suc)o(h)h(that)e(the)-90 1202
y(\()p Fk(messag)q(e;)7 b(dig)q(est)p Fm(\))17 b(pair)c(is)h(accepted)i(as)e
(gen)o(uine)g(b)o(y)f(an)o(y)h(of)f(the)h(legitimate)e(principals.)-28
1270 y(The)j(follo)o(wing)c(observ)n(ations)j(are)g(based)h(on)e(the)i
(second)g(prop)q(ert)o(y)1073 1255 y Fi(3)1106 1270 y Fm(of)e(the)i(MD4)e
(algorithm:)-28 1371 y Fd(\017)21 b Fc(Claim)15 b(1:)k Fl(Given)c(a)g
(message)h(digest,)e Fk(M)5 b(D)q Fl(,)15 b(and)h(a)f(message)h
Fk(M)1086 1377 y Fi(1)1104 1371 y Fl(,)f(the)g(di\016culty)g(of)g(c)n
(omputing)g(a)g(message,)h Fk(M)1872 1377 y Fi(2)1905 1371
y Fl(such)g(that)14 1421 y Fk(M)5 b(D)q Fm(4\()p Fk(M)171 1427
y Fi(2)190 1421 y Fd(jj)p Fk(M)254 1427 y Fi(1)272 1421 y Fm(\))12
b(=)f Fk(M)5 b(D)17 b Fl(is)d(on)h(the)g(or)n(der)g(of)f Fm(2)790
1406 y Fi(128)857 1421 y Fl(op)n(er)n(ations.)-28 1504 y Fd(\017)21
b Fc(Claim)15 b(2:)k Fl(Given)c(a)g(message)h(digest,)e Fk(M)5
b(D)q Fl(,)15 b(and)h(a)f(message)h Fk(M)1086 1510 y Fi(1)1104
1504 y Fl(,)f(the)g(di\016culty)g(of)g(c)n(omputing)g(a)g(message,)h
Fk(M)1872 1510 y Fi(2)1905 1504 y Fl(such)g(that)14 1554 y
Fk(M)5 b(D)q Fm(4\()p Fk(M)171 1560 y Fi(1)190 1554 y Fd(jj)p
Fk(M)254 1560 y Fi(2)272 1554 y Fm(\))12 b(=)f Fk(M)5 b(D)17
b Fl(is)d(on)h(the)g(or)n(der)g(of)f Fm(2)790 1539 y Fi(128)857
1554 y Fl(op)n(er)n(ations.)-28 1654 y Fm(Assuming)h(these)j(t)o(w)o(o)e
(claims)e(hold,)i(the)g(only)g(v)o(en)o(ue)h(left)f(to)g(the)g(in)o(truder)h
(is)f(the)h Fl(brute)g(for)n(c)n(e)e Fm(attac)o(k.)25 b(F)m(or)16
b(most)f(purp)q(oses,)-90 1704 y(attac)o(ks)h(that)g(tak)o(e)g(on)f(the)h
(order)h(of)e(2)552 1689 y Fi(128)619 1704 y Fm(are)h(considered)h
Fl(futile)p Fm(,)e(i.e.,)g(the)h(system)g(b)q(eing)g(attac)o(k)o(ed)g(is)f
(considered)i(secure)1948 1689 y Fi(4)1985 1704 y Fm(Still,)-90
1754 y(understanding)i(the)g(details)f(of)f(p)q(ossible)i(attac)o(ks)f(is)g
(of)g(in)o(terest.)32 b(As)19 b(describ)q(ed)h(b)q(elo)o(w,)e(the)h(t)o(w)o
(o)f(seemingly)f(similar)e(metho)q(ds)-90 1804 y(prop)q(osed)g(di\013er)f(in)
g(their)g(abilit)o(y)e(to)i(withstand)g(brute)g(force)h(attac)o(ks.)-90
1942 y Fe(A.4.1)56 b(De\014nitions)-28 2036 y Fd(\017)21 b
Fm(Giv)o(en)12 b(t)o(w)o(o)h(512-bit)f(blo)q(c)o(ks,)h Fk(M)528
2042 y Fi(1)560 2036 y Fm(and)h Fk(M)681 2042 y Fi(2)699 2036
y Fm(,)f(w)o(e)h(sa)o(y)f(that)g Fk(M)985 2042 y Fi(1)1016
2036 y Fd(\021)f Fk(M)1100 2042 y Fi(2)1132 2036 y Fm(if)g
Fk(M)5 b(D)q Fm(4\()p Fk(M)1326 2042 y Fi(1)1345 2036 y Fm(\))12
b(=)g Fk(M)5 b(D)q Fm(4\()p Fk(M)1574 2042 y Fi(2)1593 2036
y Fm(\).)18 b(The)c(')p Fd(\021)p Fm(')e(sym)o(b)q(ol)g(denotes)14
2085 y(that)h Fk(M)143 2091 y Fi(1)175 2085 y Fm(and)g Fk(M)295
2091 y Fi(2)327 2085 y Fm(are)g Fl(pr)n(e\014x-e)n(quivalent)p
Fm(.)18 b(F)m(or)13 b(a)g(giv)o(en)f(512-bit)g(blo)q(c)o(k)h
Fk(M)5 b Fm(,)13 b(let)g Fk(P)6 b(E)r(C)1405 2091 y Fj(M)1454
2085 y Fm(denote)14 b(the)f Fl(pr)n(e\014x-e)n(quivalenc)n(e)i(class)14
2135 y Fm(of)e Fk(M)5 b Fm(.)-28 2218 y Fd(\017)21 b Fm(Tw)o(o)14
b(512-bit)f(blo)q(c)o(ks,)h Fk(M)427 2224 y Fi(1)469 2195 y
Fk(:)459 2218 y Fm(=)f Fk(M)544 2224 y Fi(2)577 2218 y Fm(if)h(for)g(all)f
(blo)q(c)o(ks)h Fk(M)5 b Fm(,)14 b Fk(M)5 b(D)q Fm(4\()p Fk(M)g
Fd(jj)p Fk(M)1161 2224 y Fi(1)1179 2218 y Fm(\))13 b(=)g Fk(M)5
b(D)q Fm(4\()p Fk(M)g Fd(jj)p Fk(M)1479 2224 y Fi(2)1497 2218
y Fm(\).)20 b(The)15 b(')1653 2195 y Fk(:)1643 2218 y Fm(=')e(sym)o(b)q(ol)g
(denotes)j(that)14 2268 y Fk(M)54 2274 y Fi(1)87 2268 y Fm(and)d
Fk(M)207 2274 y Fi(2)240 2268 y Fm(are)h Fl(su\016x-e)n(quivalent)p
Fm(.)k(Let)d Fk(S)r(E)r(C)792 2274 y Fj(M)843 2268 y Fm(denote)g(the)f
Fl(su\016x-e)n(quivalenc)n(e)i(class)d Fm(of)h(a)f(512-bit)g(blo)q(c)o(k)g
Fk(M)5 b Fm(.)p -90 2348 864 2 v -44 2375 a Fh(1)-26 2387 y
Fb(jj)11 b Fg(denotes)e(concatenation)o(.)-44 2415 y Fh(2)-26
2427 y Fg(S.)i(Cro)q(c)o(k)o(er,)f(S.)h(Ken)o(t,)g(Priv)n(ate)f(Comm)o
(unication)o(,)f(Decem)o(b)q(er)g(1990.)-44 2454 y Fh(3)-26
2466 y Fg(See)h(Section)g(A.1.)-44 2494 y Fh(4)-26 2506 y Fg(Brute)g(force)g
(attac)o(k)g(on)h(DES)g(requires)f Fa(only)i Fg(on)f(the)g(order)f(of)i(2)878
2494 y Fh(56)922 2506 y Fg(op)q(erations.)2028 2770 y Fm(84)p
eop
%%Page: 85 25
bop -90 -108 a Fe(A.4.2)56 b(Secret)17 b(Pre\014x)-90 -14 y
Fm(A)12 b(naiv)o(e)g(in)o(truder)h(wishing)e(to)h(disco)o(v)o(er)g(the)h
(secret)h(pre\014x)f(w)o(ould)f(\014rst)g(record)i(a)e(message)f(M)i
(accompanied)e(b)o(y)g(its)i(in)o(tegrit)o(y)e(v)n(alue,)-90
36 y Fk(M)5 b(D)q Fm(4\()p Fk(S)52 42 y Fj(AB)106 36 y Fd(jj)p
Fk(M)g Fm(\).)19 b(He)c(w)o(ould)f(then)h(need)g(to)g(try)f(on)h(the)g(a)o(v)
o(erage)f(2)1021 21 y Fi(128)1087 36 y Fm(p)q(ossibilities)g(b)q(efore)h
(disco)o(v)o(ering)g(a)f(pre\014x)h(string)1929 25 y(^)1922
36 y Fk(S)i Fm(where)-83 75 y(^)-90 86 y Fk(S)d Fd(\021)e Fk(S)18
92 y Fj(AB)72 86 y Fm(.)-28 153 y(One)k(imp)q(ortan)o(t)c(observ)n(ation)j
(that)f(can)h(b)q(e)g(made)e(b)o(y)i(a)f(more)f Fl(astute)i
Fm(in)o(truder)g(is)f(that)h(the)g(secret)i(pre\014x,)e Fk(S)1773
159 y Fj(AB)1827 153 y Fm(,)f(is)g(not)h(really)-90 203 y(what)g(is)h(needed)
h(to)e Fl(br)n(e)n(ak)g Fm(the)h(proto)q(col.)23 b(In)16 b(other)g(w)o(ords,)
f(the)i(secret)g(pre\014x)f(is)g(su\016cien)o(t,)g(y)o(et)f(not)h(necessary)m
(,)h(for)e(a)g(successful)-90 253 y(attac)o(k.)j(Instead,)13
b(to)g(attain)g(the)h(goal)d(of)i(comp)q(osing)f Fl(genuine)i
Fm(messages,)f(the)g(in)o(truder)h(needs)h(only)d(the)i(in)o(termediate)e
(MD4)h(v)n(alue)-90 303 y(of)d Fk(S)-21 309 y Fj(AB)33 303
y Fm(,)h(i.e.,)f Fk(M)5 b(D)q Fm(4\()p Fk(S)274 309 y Fj(AB)329
303 y Fm(\).)17 b(The)11 b(length)g(of)f Fk(M)5 b(D)q Fm(4\()p
Fk(S)766 309 y Fj(AB)821 303 y Fm(\))11 b(is)f(128)g(bits)h(regardless)i(of)d
(the)h(length)g(of)g Fk(S)1533 309 y Fj(AB)1587 303 y Fm(.)17
b(Nev)o(ertheless,)c(the)f(n)o(um)o(b)q(er)-90 353 y(of)h(op)q(erations)h
(required)h(to)f(\014nd)g Fk(M)5 b(D)q Fm(4\()p Fk(S)598 359
y Fj(AB)652 353 y Fm(\))14 b(remains)f(a)h(heft)o(y)g(2)998
338 y Fi(128)1049 353 y Fm(.)-28 420 y(The)g(subtle)f(di\013erence)i(b)q(et)o
(w)o(een)f(the)g Fl(naive)f Fm(and)g(the)g(more)f Fl(e)n(duc)n(ate)n(d)i
Fm(brute)g(force)f(attac)o(ks)g(is)g(that,)g(in)f(the)i(latter,)f(the)g(in)o
(truder)-90 470 y(is)g(guaran)o(teed)i(to)e(disco)o(v)o(er)h
Fk(M)5 b(D)q Fm(4\()p Fk(S)515 476 y Fj(AB)569 470 y Fm(\))14
b(\(hence,)h(successfully)g(attac)o(king)d(the)j(proto)q(col\))e(in)g(at)h
(most)e(2)1616 455 y Fi(128)1681 470 y Fm(op)q(erations.)18
b(This)c(is)f(in)-90 520 y(con)o(trast)i(to)f(the)g(former)f(where)i(on)f
(the)h Fc(a)o(v)o(erage)e Fm(2)767 505 y Fi(128)832 520 y Fm(op)q(erations)h
(are)h(required.)k(In)14 b(summary)m(,)d(the)j(shortcut)i(mak)o(es)c(the)j
(attac)o(k)-90 570 y Fl(deterministic)e Fm(as)h(opp)q(osed)g(to)g
Fl(pr)n(ob)n(abilistic)p Fm(.)-90 708 y Fe(A.4.3)56 b(Secret)17
b(Su\016x)-90 803 y Fm(A)f(brute)h(force)f(attac)o(k)g(on)g(the)g(secret)i
(su\016x)e(v)n(arian)o(t)f(is)g(similar)f(in)h(that)h(the)g(in)o(truder)h(w)o
(ould)e(need)i(to)e(try)i(on)e(the)i(a)o(v)o(erage)f(2)2019
788 y Fi(128)-90 853 y Fm(p)q(ossibilities)e(b)q(efore)g(disco)o(v)o(ering)g
(an)537 842 y(^)530 853 y Fk(S)j Fm(suc)o(h)e(that)g Fk(M)5
b(D)q Fm(4\()p Fk(M)g Fd(jj)949 842 y Fm(^)943 853 y Fk(S)q
Fm(\))13 b(=)f Fk(M)5 b(D)q Fm(4\()p Fk(M)g Fd(jj)p Fk(S)1253
859 y Fj(AB)1306 853 y Fm(\).)19 b(Ho)o(w)o(ev)o(er,)14 b(the)h(probabilit)o
(y)e(that)1914 842 y(^)1907 853 y Fk(S)i Fm(=)d Fk(S)2016 859
y Fj(AB)-90 902 y Fm(is)i(only)f(1)p Fk(=)p Fm(2)106 887 y
Fi(384)171 902 y Fm(\(since)h(there)i(are,)d(on)h(the)h(a)o(v)o(erage,)e(2)
786 887 y Fi(384)851 902 y Fm(512-bit)g(blo)q(c)o(ks)h(whic)o(h)f(are)i
(hashed)f(in)o(to)f(the)i(same)e(128-bit)g(MD4)g(v)n(alue\).)-90
952 y(On)h(the)h(other)f(hand,)f(\014nding)h(an)478 942 y(^)471
952 y Fk(S)i Fm(suc)o(h)f(that)703 942 y(^)696 952 y Fk(S)746
929 y(:)735 952 y Fm(=)d Fk(S)804 958 y Fj(AB)872 952 y Fm(is,)h(for)h(all)e
(purp)q(oses,)j(equiv)n(alen)o(t)e(to)h(\014nding)f Fk(S)1641
958 y Fj(AB)1695 952 y Fm(.)-28 1020 y(A)o(t)k(this)h(p)q(oin)o(t)e(in)h
(time,)f(b)q(ecause)i(of)f(MD4's)f(relativ)o(ely)h(recen)o(t)h(in)o(tro)q
(duction,)f(and,)h(hence,)g(limited)d(analysis)i(thereof,)h(little)-90
1070 y(can)e(b)q(e)g(said)f(with)g(certain)o(t)o(y)g(ab)q(out)h(the)g(a)o(v)o
(erage)f(size)h(of)f(su\016x-equiv)n(alence)g(classes.)24 b(One)16
b(conjecture)h(that)f(can)f(b)q(e)h(made)e(with)-90 1119 y(some)j(degree)i
(of)e(certain)o(t)o(y)h(is)g(that)f(the)i(size)f(of)f(an)h(a)o(v)o(erage)f
(su\016x-equiv)n(alence)h(class)g(is)g(no)f(greater)i(than)f(that)f(of)g(an)h
(a)o(v)o(erage)-90 1169 y(pre\014x-equiv)n(alence)d(class.)-28
1237 y(This)f(do)q(es)h(not)f(imply)m(,)c(ho)o(w)o(ev)o(er,)k(that)g(it)g
(tak)o(es)g(at)g(most)f(2)942 1222 y Fi(128)1007 1237 y Fm(op)q(erations)i
(to)e(\014nd)1351 1226 y(^)1344 1237 y Fk(S)1393 1213 y(:)1383
1237 y Fm(=)f Fk(S)1452 1243 y Fj(AB)1506 1237 y Fm(.)18 b(Note)d(that)f(the)
g(in)o(truder)h(has)f(to)-90 1287 y(record)h(m)o(ultiple)c
Fl(genuine)k Fm(messages)f(and)f(compute)h(their)g(resp)q(ectiv)o(e)h
(digests)g(at)e(eac)o(h)i(step)f(of)f(the)i(attac)o(k.)j(Th)o(us,)13
b(the)i(n)o(um)o(b)q(er)e(of)-90 1337 y(op)q(erations)h(required)h(to)f
(\014nd)416 1326 y(^)409 1337 y Fk(S)i Fm(is)e Fk(N)g Fd(\002)c
Fm(2)602 1322 y Fi(128)667 1337 y Fm(where)15 b Fk(N)k Fm(is)14
b(the)g(size)h(of)e(the)h(in)o(truder's)h Fl(message)g(test)g(p)n(o)n(ol)p
Fm(.)-28 1404 y(W)m(e)e(also)f(note)h(that,)f(in)g(the)i(su\016x)e(v)n(arian)
o(t,)f(there)j(app)q(ears)g(to)e(b)q(e)i(no)e(coun)o(terpart)i(to)f(the)g
(shortcut)h(describ)q(ed)g(in)e(the)i(previous)-90 1454 y(section.)-90
1609 y Ff(A.5)69 b(Cost)-90 1718 y Fm(It)15 b(is)f(eviden)o(t)h(from)d(the)j
(ab)q(o)o(v)o(e)f(discussion)h(that,)g(pro)o(vided)f(MD4's)g(conjectured)i
(prop)q(erties)g(hold,)d(b)q(oth)i(secret)h(su\016x)f(and)f(secret)-90
1768 y(pre\014x)d(v)n(arian)o(ts)e(pro)o(vide)h(strong)h(protection)f
(against)g(unauthorized)g(message)g(fabrication)f(and)h(tamp)q(ering.)16
b(Just)11 b(as)f(there)h(are)g(some)-90 1818 y(subtle)j(di\013erences)h
(among)c(the)i(t)o(w)o(o)g(v)n(arian)o(ts)f(with)h(resp)q(ect)i(to)e(their)g
(abilit)o(y)e(to)i(withstand)g(attac)o(ks,)g(there)h(are)g(also)e
(di\013erences)j(in)-90 1867 y(their)f(resp)q(ectiv)o(e)i(cost.)-28
1935 y(The)d(pre\014x)h(v)n(arian)o(t)d(costs)j(close)f(to)g(nothing,)e
(since)j(the)f(in)o(termediate)f(MD4)g(v)n(alue)g(of)g(the)i(secret)g
(pre\014x)g(can)f(b)q(e)g(pre-computed)-90 1985 y(and)i(used)h(as)g(a)f(sort)
g(of)g(a)g Fl(initialization)g(ve)n(ctor)g Fm(for)g(v)o(erifying)f(message)h
(signatures.)23 b(F)m(urthermore,)15 b(the)h(concept)h(of)d(a)h
Fl(pr)n(e\014x)h Fm(can)-90 2035 y(b)q(e)f(abandoned)e(altogether)i(in)e(fa)o
(v)o(or)g(of)g(a)h(128-bit)e Fl(MD4)k(initialization)e(ve)n(ctor)p
Fm(.)-28 2102 y(Secret)i(su\016x)e(costs)h(sligh)o(tly)d(more)h(as)h(no)f
(pre-computation)g(can)h(b)q(e)h(done.)j(The)c(cost)h(amoun)o(ts)d(to)i
(exactly)g(one)g(extra)g(512-bit)-90 2152 y(blo)q(c)o(k)g(MD4)f(computation)f
(p)q(er)j(message.)-90 2307 y Ff(A.6)69 b(An)23 b(Extension)-90
2416 y Fm(A)o(t)17 b(this)f(time,)g(an)o(y)g(proto)q(col)g(requiring)h(on)f
(the)h(order)h(of)e(2)909 2401 y Fi(128)977 2416 y Fm(op)q(erations)h(to)f
(defeat)h(is)g(considered)h(strong,)f(i.e.,)e(secure.)29 b(Nev-)-90
2466 y(ertheless,)19 b(it)e(is)f(conceiv)n(able)h(that)g(a)f(need)i(for)f
(stronger)g(proto)q(cols)g(ma)o(y)e(arise)i(in)g(the)g(future.)28
b(F)m(or)16 b(this)h(reason,)h(w)o(e)f(consider)g(a)-90 2516
y(com)o(bination)10 b(of)i(the)g(secret)j(su\016x/secret)f(pre\014x)f(v)n
(arian)o(ts.)k(In)12 b(this)h(third)f(v)n(arian)o(t,)f(the)i(MD4)f(v)n(alue)f
(of)h(a)g(message)g(is)g(computed)g(b)o(y)-90 2566 y(using)g(a)g(secret)i
(initialization)c(v)o(ector)j(and)f(b)o(y)g(app)q(ending)g(an)g(\(also)f
(secret\))k(512-bit)c(su\016x.)17 b(The)c(cost)g(of)e(this)h(v)n(arian)o(t)g
(is)g(equiv)n(alen)o(t)2028 2770 y(85)p eop
%%Page: 86 26
bop -90 -108 a Fm(to)14 b(the)g(cost)g(of)f(the)i(su\016x)e(metho)q(d)g
(alone)591 -124 y Fi(5)609 -108 y Fm(,)h(while)f(the)h(brute)h(force)f(attac)
o(k)g(w)o(ould)f(require)h(2)1433 -124 y Fi(256)1499 -108 y
Fm(op)q(erations.)k(This)13 b(is)h(signi\014can)o(tly)-90 -59
y(stronger)h(than)f(either)g(of)g(the)g(t)o(w)o(o)g(metho)q(ds)f(discussed)j
(th)o(us)e(far.)-90 96 y Ff(A.7)69 b(Applications)-90 205 y
Fm(The)16 b(secret)i(su\016x/pre\014x)e(metho)q(ds)f(are)h(particularly)f
(applicable)g(to)h(en)o(vironmen)o(ts)f(where)i(high)e(bandwidth)g(and)g(lo)o
(w)g(dela)o(y)g(re-)-90 255 y(quiremen)o(ts)10 b(ha)o(v)o(e,)h(un)o(til)e(no)
o(w,)i(made)e(the)i(implemen)o(tation)c(of)j(certain)h(securit)o(y)h
(services)g(prohibitiv)o(ely)d(exp)q(ensiv)o(e,)j(e.g.,)e(pac)o(k)o(etized)
-90 305 y(v)o(oice)16 b(and)g(video)g(applications.)24 b(Also,)16
b(net)o(w)o(ork)h(la)o(y)o(er)f(proto)q(cols,)g(e.g.,)g(In)o(ter-Domain)e(P)o
(olicy)h(Routing)g(\(IDPR\))h([84)o(])g(and)g Fl(Visa)-90 355
y Fm(proto)q(col)e([27)o(],)f(can)h(b)q(ene\014t)h(substan)o(tially)e(from)f
(encryption-free)j(message)f(authen)o(tication.)-90 510 y Ff(A.8)69
b(Summary)-90 619 y Fm(In)16 b(conclusion,)g(fast)f(one-w)o(a)o(y)h(hash)g
(functions)g(suc)o(h)g(as)g(MD4)f(can)h(b)q(e)h(used)f(as)g(a)g(foundation)f
(for)g(some)g(no)o(v)o(el)g(implemen)o(tations)-90 668 y(of)i(securit)o(y)h
(services.)30 b(In)18 b(particular,)f(simple)f(and)i(inexp)q(ensiv)o(e)g
(secret)h(pre\014x)f(and)f(secret)j(su\016x)d(metho)q(ds)g(pro)o(vide)g
(protection)-90 718 y(against)g(message)f(substitution)i(attac)o(ks)f(when)h
(used)g(in)f(conjunction)g(with)g(a)g(strong)g(one-w)o(a)o(y)g(hash)g
(function)g(\(whic)o(h)g(protects)-90 768 y(against)c(message)h(mo)q
(di\014cation\).)i(The)e(strength)h(of)e(the)i(metho)q(ds)e(presen)o(ted)j
(herein)f(is)e(largely)g(dep)q(enden)o(t)j(on)e(the)g(abilit)o(y)e(of)h(the)
-90 818 y(underlying)h(hash)g(function)f(to)h(withstand)g(hostile)g(attac)o
(ks.)p -90 2631 864 2 v -44 2658 a Fh(5)-26 2670 y Fg(As)e(men)o(tioned)c(ab)
q(o)o(v)o(e,)i(the)h(secret)f(pre\014x)g(metho)q(d)f(adds)i(no)g(cost)g(to)g
(digest)f(computatio)o(n.)2028 2770 y Fm(86)p eop
%%Trailer
end
userdict /end-hook known{end-hook}if
%%EOF