%!PS-Adobe-2.0 %%Creator: dvips(k) 5.92b Copyright 2002 Radical Eye Software %%Title: paper.dvi %%Pages: 14 %%PageOrder: Ascend %%BoundingBox: 0 0 612 792 %%DocumentFonts: Helvetica-Bold Helvetica Times-Bold Times-Roman CMMI10 %%+ CMR10 CMR7 Arial CMSY10 CMMI7 CMMI8 Times-Italic CMEX10 CMSY7 CMR8 %%+ Helvectia Courier %%EndComments %DVIPSWebPage: (www.radicaleye.com) %DVIPSCommandLine: dvips -G0 -t letter -o paper.ps paper.dvi %DVIPSParameters: dpi=600, compressed %DVIPSSource: TeX output 2005.04.25:0817 %%BeginProcSet: texc.pro %! /TeXDict 300 dict def TeXDict begin/N{def}def/B{bind def}N/S{exch}N/X{S N}B/A{dup}B/TR{translate}N/isls false N/vsize 11 72 mul N/hsize 8.5 72 mul N/landplus90{false}def/@rigin{isls{[0 landplus90{1 -1}{-1 1}ifelse 0 0 0]concat}if 72 Resolution div 72 VResolution div neg scale isls{ landplus90{VResolution 72 div vsize mul 0 exch}{Resolution -72 div hsize mul 0}ifelse TR}if Resolution VResolution vsize -72 div 1 add mul TR[ matrix currentmatrix{A A round sub abs 0.00001 lt{round}if}forall round exch round exch]setmatrix}N/@landscape{/isls true N}B/@manualfeed{ statusdict/manualfeed true put}B/@copies{/#copies X}B/FMat[1 0 0 -1 0 0] N/FBB[0 0 0 0]N/nn 0 N/IEn 0 N/ctr 0 N/df-tail{/nn 8 dict N nn begin /FontType 3 N/FontMatrix fntrx N/FontBBox FBB N string/base X array /BitMaps X/BuildChar{CharBuilder}N/Encoding IEn N end A{/foo setfont}2 array copy cvx N load 0 nn put/ctr 0 N[}B/sf 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/E{pop nn A definefont setfont}B/Cw{Cd A length 5 sub get}B/Ch{Cd A length 4 sub get }B/Cx{128 Cd A length 3 sub get sub}B/Cy{Cd A length 2 sub get 127 sub} B/Cdx{Cd A length 1 sub get}B/Ci{Cd A type/stringtype ne{ctr get/ctr ctr 1 add N}if}B/id 0 N/rw 0 N/rc 0 N/gp 0 N/cp 0 N/G 0 N/CharBuilder{save 3 1 roll S A/base get 2 index get S/BitMaps get S get/Cd X pop/ctr 0 N Cdx 0 Cx Cy Ch sub Cx Cw add Cy setcachedevice Cw Ch true[1 0 0 -1 -.1 Cx sub Cy .1 sub]/id Ci N/rw Cw 7 add 8 idiv string N/rc 0 N/gp 0 N/cp 0 N{ rc 0 ne{rc 1 sub/rc X rw}{G}ifelse}imagemask restore}B/G{{id gp get/gp gp 1 add N A 18 mod S 18 idiv pl S get exec}loop}B/adv{cp add/cp X}B /chg{rw cp id gp 4 index getinterval putinterval A gp add/gp X adv}B/nd{ /cp 0 N rw exit}B/lsh{rw cp 2 copy get A 0 eq{pop 1}{A 255 eq{pop 254}{ A A add 255 and S 1 and or}ifelse}ifelse put 1 adv}B/rsh{rw cp 2 copy get A 0 eq{pop 128}{A 255 eq{pop 127}{A 2 idiv S 128 and or}ifelse} ifelse put 1 adv}B/clr{rw cp 2 index string putinterval adv}B/set{rw cp fillstr 0 4 index getinterval putinterval adv}B/fillstr 18 string 0 1 17 {2 copy 255 put pop}for N/pl[{adv 1 chg}{adv 1 chg nd}{1 add chg}{1 add chg nd}{adv lsh}{adv lsh nd}{adv rsh}{adv rsh nd}{1 add adv}{/rc X nd}{ 1 add set}{1 add clr}{adv 2 chg}{adv 2 chg nd}{pop nd}]A{bind pop} forall N/D{/cc X A type/stringtype ne{]}if nn/base get cc ctr put nn /BitMaps get S ctr S sf 1 ne{A A length 1 sub A 2 index S get sf div put }if put/ctr ctr 1 add N}B/I{cc 1 add D}B/bop{userdict/bop-hook known{ bop-hook}if/SI save N @rigin 0 0 moveto/V matrix currentmatrix A 1 get A mul exch 0 get A mul add .99 lt{/QV}{/RV}ifelse load def pop pop}N/eop{ SI restore userdict/eop-hook known{eop-hook}if showpage}N/@start{ userdict/start-hook known{start-hook}if pop/VResolution X/Resolution X 1000 div/DVImag X/IEn 256 array N 2 string 0 1 255{IEn S A 360 add 36 4 index cvrs cvn put}for pop 65781.76 div/vsize X 65781.76 div/hsize X}N /p{show}N/RMat[1 0 0 -1 0 0]N/BDot 260 string N/Rx 0 N/Ry 0 N/V{}B/RV/v{ /Ry X/Rx X V}B statusdict begin/product where{pop false[(Display)(NeXT) (LaserWriter 16/600)]{A length product length le{A length product exch 0 exch getinterval eq{pop true exit}if}{pop}ifelse}forall}{false}ifelse end{{gsave TR -.1 .1 TR 1 1 scale Rx Ry false RMat{BDot}imagemask grestore}}{{gsave TR -.1 .1 TR Rx Ry scale 1 1 false RMat{BDot} imagemask grestore}}ifelse B/QV{gsave newpath transform round exch round exch itransform moveto Rx 0 rlineto 0 Ry neg rlineto Rx neg 0 rlineto fill grestore}B/a{moveto}B/delta 0 N/tail{A/delta X 0 rmoveto}B/M{S p delta add tail}B/b{S p tail}B/c{-4 M}B/d{-3 M}B/e{-2 M}B/f{-1 M}B/g{0 M} B/h{1 M}B/i{2 M}B/j{3 M}B/k{4 M}B/w{0 rmoveto}B/l{p -4 w}B/m{p -3 w}B/n{ p -2 w}B/o{p -1 w}B/q{p 1 w}B/r{p 2 w}B/s{p 3 w}B/t{p 4 w}B/x{0 S rmoveto}B/y{3 2 roll p a}B/bos{/SS save N}B/eos{SS restore}B end %%EndProcSet %%BeginProcSet: 8r.enc % File 8r.enc as of 2002-03-12 for PSNFSS 9 % % This is the encoding vector for Type1 and TrueType fonts to be used % with TeX. This file is part of the PSNFSS bundle, version 9 % % Authors: S. Rahtz, P. MacKay, Alan Jeffrey, B. Horn, K. Berry, W. Schmidt % % Idea is to have all the characters normally included in Type 1 fonts % available for typesetting. This is effectively the characters in Adobe % Standard Encoding + ISO Latin 1 + extra characters from Lucida + Euro. % % Character code assignments were made as follows: % % (1) the Windows ANSI characters are almost all in their Windows ANSI % positions, because some Windows users cannot easily reencode the % fonts, and it makes no difference on other systems. The only Windows % ANSI characters not available are those that make no sense for % typesetting -- rubout (127 decimal), nobreakspace (160), softhyphen % (173). quotesingle and grave are moved just because it's such an % irritation not having them in TeX positions. % % (2) Remaining characters are assigned arbitrarily to the lower part % of the range, avoiding 0, 10 and 13 in case we meet dumb software. % % (3) Y&Y Lucida Bright includes some extra text characters; in the % hopes that other PostScript fonts, perhaps created for public % consumption, will include them, they are included starting at 0x12. % % (4) Remaining positions left undefined are for use in (hopefully) % upward-compatible revisions, if someday more characters are generally % available. % % (5) hyphen appears twice for compatibility with both ASCII and Windows. % % (6) /Euro is assigned to 128, as in Windows ANSI % /TeXBase1Encoding [ % 0x00 (encoded characters from Adobe Standard not in Windows 3.1) /.notdef /dotaccent /fi /fl /fraction /hungarumlaut /Lslash /lslash /ogonek /ring /.notdef /breve /minus /.notdef % These are the only two remaining unencoded characters, so may as % well include them. /Zcaron /zcaron % 0x10 /caron /dotlessi % (unusual TeX characters available in, e.g., Lucida Bright) /dotlessj /ff /ffi /ffl /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef % very contentious; it's so painful not having quoteleft and quoteright % at 96 and 145 that we move the things normally found there down to here. /grave /quotesingle % 0x20 (ASCII begins) /space /exclam /quotedbl /numbersign /dollar /percent /ampersand /quoteright /parenleft /parenright /asterisk /plus /comma /hyphen /period /slash % 0x30 /zero /one /two /three /four /five /six /seven /eight /nine /colon /semicolon /less /equal /greater /question % 0x40 /at /A /B /C /D /E /F /G /H /I /J /K /L /M /N /O % 0x50 /P /Q /R /S /T /U /V /W /X /Y /Z /bracketleft /backslash /bracketright /asciicircum /underscore % 0x60 /quoteleft /a /b /c /d /e /f /g /h /i /j /k /l /m /n /o % 0x70 /p /q /r /s /t /u /v /w /x /y /z /braceleft /bar /braceright /asciitilde /.notdef % rubout; ASCII ends % 0x80 /Euro /.notdef /quotesinglbase /florin /quotedblbase /ellipsis /dagger /daggerdbl /circumflex /perthousand /Scaron /guilsinglleft /OE /.notdef /.notdef /.notdef % 0x90 /.notdef /.notdef /.notdef /quotedblleft /quotedblright /bullet /endash /emdash /tilde /trademark /scaron /guilsinglright /oe /.notdef /.notdef /Ydieresis % 0xA0 /.notdef % nobreakspace /exclamdown /cent /sterling /currency /yen /brokenbar /section /dieresis /copyright /ordfeminine /guillemotleft /logicalnot /hyphen % Y&Y (also at 45); Windows' softhyphen /registered /macron % 0xD0 /degree /plusminus /twosuperior /threesuperior /acute /mu /paragraph /periodcentered /cedilla /onesuperior /ordmasculine /guillemotright /onequarter /onehalf /threequarters /questiondown % 0xC0 /Agrave /Aacute /Acircumflex /Atilde /Adieresis /Aring /AE /Ccedilla /Egrave /Eacute /Ecircumflex /Edieresis /Igrave /Iacute /Icircumflex /Idieresis % 0xD0 /Eth /Ntilde /Ograve /Oacute /Ocircumflex /Otilde /Odieresis /multiply /Oslash /Ugrave /Uacute /Ucircumflex /Udieresis /Yacute /Thorn /germandbls % 0xE0 /agrave /aacute /acircumflex /atilde /adieresis /aring /ae /ccedilla /egrave /eacute /ecircumflex /edieresis /igrave /iacute /icircumflex /idieresis % 0xF0 /eth /ntilde /ograve /oacute /ocircumflex /otilde /odieresis /divide /oslash /ugrave /uacute /ucircumflex /udieresis /yacute /thorn /ydieresis ] def %%EndProcSet %%BeginProcSet: aae443f0.enc % Thomas Esser, Dec 2002. public domain % % Encoding for: % cmmi10 cmmi12 cmmi5 cmmi6 cmmi7 cmmi8 cmmi9 cmmib10 % /TeXaae443f0Encoding [ /Gamma /Delta /Theta /Lambda /Xi /Pi /Sigma /Upsilon /Phi /Psi /Omega /alpha /beta /gamma /delta /epsilon1 /zeta /eta /theta /iota /kappa /lambda /mu /nu /xi /pi /rho /sigma /tau /upsilon /phi /chi /psi /omega /epsilon /theta1 /pi1 /rho1 /sigma1 /phi1 /arrowlefttophalf /arrowleftbothalf /arrowrighttophalf /arrowrightbothalf /arrowhookleft /arrowhookright /triangleright /triangleleft /zerooldstyle /oneoldstyle /twooldstyle /threeoldstyle /fouroldstyle /fiveoldstyle /sixoldstyle /sevenoldstyle /eightoldstyle /nineoldstyle /period /comma /less /slash /greater /star /partialdiff /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 /flat /natural /sharp /slurbelow /slurabove /lscript /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 /dotlessi /dotlessj /weierstrass /vector /tie /psi /.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 /Gamma /Delta /Theta /Lambda /Xi /Pi /Sigma /Upsilon /Phi /Psi /.notdef /.notdef /Omega /alpha /beta /gamma /delta /epsilon1 /zeta /eta /theta /iota /kappa /lambda /mu /nu /xi /pi /rho /sigma /tau /upsilon /phi /chi /psi /tie /.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 /.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 ] def %%EndProcSet %%BeginProcSet: f7b6d320.enc % Thomas Esser, Dec 2002. public domain % % Encoding for: % cmb10 cmbx10 cmbx12 cmbx5 cmbx6 cmbx7 cmbx8 cmbx9 cmbxsl10 % cmdunh10 cmr10 cmr12 cmr17cmr6 cmr7 cmr8 cmr9 cmsl10 cmsl12 cmsl8 % cmsl9 cmss10cmss12 cmss17 cmss8 cmss9 cmssbx10 cmssdc10 cmssi10 % cmssi12 cmssi17 cmssi8cmssi9 cmssq8 cmssqi8 cmvtt10 % /TeXf7b6d320Encoding [ /Gamma /Delta /Theta /Lambda /Xi /Pi /Sigma /Upsilon /Phi /Psi /Omega /ff /fi /fl /ffi /ffl /dotlessi /dotlessj /grave /acute /caron /breve /macron /ring /cedilla /germandbls /ae /oe /oslash /AE /OE /Oslash /suppress /exclam /quotedblright /numbersign /dollar /percent /ampersand /quoteright /parenleft /parenright /asterisk /plus /comma /hyphen /period /slash /zero /one /two /three /four /five /six /seven /eight /nine /colon /semicolon /exclamdown /equal /questiondown /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 /quotedblleft /bracketright /circumflex /dotaccent /quoteleft /a /b /c /d /e /f /g /h /i /j /k /l /m /n /o /p /q /r /s /t /u /v /w /x /y /z /endash /emdash /hungarumlaut /tilde /dieresis /suppress /.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 /Gamma /Delta /Theta /Lambda /Xi /Pi /Sigma /Upsilon /Phi /Psi /.notdef /.notdef /Omega /ff /fi /fl /ffi /ffl /dotlessi /dotlessj /grave /acute /caron /breve /macron /ring /cedilla /germandbls /ae /oe /oslash /AE /OE /Oslash /suppress /dieresis /.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 /.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 ] def %%EndProcSet %%BeginProcSet: bbad153f.enc % Thomas Esser, Dec 2002. public domain % % Encoding for: % cmsy10 cmsy5 cmsy6 cmsy7 cmsy8 cmsy9 % /TeXbbad153fEncoding [ /minus /periodcentered /multiply /asteriskmath /divide /diamondmath /plusminus /minusplus /circleplus /circleminus /circlemultiply /circledivide /circledot /circlecopyrt /openbullet /bullet /equivasymptotic /equivalence /reflexsubset /reflexsuperset /lessequal /greaterequal /precedesequal /followsequal /similar /approxequal /propersubset /propersuperset /lessmuch /greatermuch /precedes /follows /arrowleft /arrowright /arrowup /arrowdown /arrowboth /arrownortheast /arrowsoutheast /similarequal /arrowdblleft /arrowdblright /arrowdblup /arrowdbldown /arrowdblboth /arrownorthwest /arrowsouthwest /proportional /prime /infinity /element /owner /triangle /triangleinv /negationslash /mapsto /universal /existential /logicalnot /emptyset /Rfractur /Ifractur /latticetop /perpendicular /aleph /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 /union /intersection /unionmulti /logicaland /logicalor /turnstileleft /turnstileright /floorleft /floorright /ceilingleft /ceilingright /braceleft /braceright /angbracketleft /angbracketright /bar /bardbl /arrowbothv /arrowdblbothv /backslash /wreathproduct /radical /coproduct /nabla /integral /unionsq /intersectionsq /subsetsqequal /supersetsqequal /section /dagger /daggerdbl /paragraph /club /diamond /heart /spade /arrowleft /.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 /minus /periodcentered /multiply /asteriskmath /divide /diamondmath /plusminus /minusplus /circleplus /circleminus /.notdef /.notdef /circlemultiply /circledivide /circledot /circlecopyrt /openbullet /bullet /equivasymptotic /equivalence /reflexsubset /reflexsuperset /lessequal /greaterequal /precedesequal /followsequal /similar /approxequal /propersubset /propersuperset /lessmuch /greatermuch /precedes /follows /arrowleft /spade /.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 /.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 ] def %%EndProcSet %%BeginProcSet: texps.pro %! TeXDict begin/rf{findfont dup length 1 add dict begin{1 index/FID ne 2 index/UniqueID ne and{def}{pop pop}ifelse}forall[1 index 0 6 -1 roll exec 0 exch 5 -1 roll VResolution Resolution div mul neg 0 0]FontType 0 ne{/Metrics exch def dict begin Encoding{exch dup type/integertype ne{ pop pop 1 sub dup 0 le{pop}{[}ifelse}{FontMatrix 0 get div Metrics 0 get div def}ifelse}forall Metrics/Metrics currentdict end def}{{1 index type /nametype eq{exit}if exch pop}loop}ifelse[2 index currentdict end definefont 3 -1 roll makefont/setfont cvx]cvx def}def/ObliqueSlant{dup sin S cos div neg}B/SlantFont{4 index mul add}def/ExtendFont{3 -1 roll mul exch}def/ReEncodeFont{CharStrings rcheck{/Encoding false def dup[ exch{dup CharStrings exch known not{pop/.notdef/Encoding true def}if} forall Encoding{]exch pop}{cleartomark}ifelse}if/Encoding exch def}def end %%EndProcSet %%BeginProcSet: special.pro %! TeXDict begin/SDict 200 dict N SDict begin/@SpecialDefaults{/hs 612 N /vs 792 N/ho 0 N/vo 0 N/hsc 1 N/vsc 1 N/ang 0 N/CLIP 0 N/rwiSeen false N /rhiSeen false N/letter{}N/note{}N/a4{}N/legal{}N}B/@scaleunit 100 N /@hscale{@scaleunit div/hsc X}B/@vscale{@scaleunit div/vsc X}B/@hsize{ /hs X/CLIP 1 N}B/@vsize{/vs X/CLIP 1 N}B/@clip{/CLIP 2 N}B/@hoffset{/ho X}B/@voffset{/vo X}B/@angle{/ang X}B/@rwi{10 div/rwi X/rwiSeen true N}B /@rhi{10 div/rhi X/rhiSeen true N}B/@llx{/llx X}B/@lly{/lly X}B/@urx{ /urx X}B/@ury{/ury X}B/magscale true def end/@MacSetUp{userdict/md known {userdict/md get type/dicttype eq{userdict begin md length 10 add md maxlength ge{/md md dup length 20 add dict copy def}if end md begin /letter{}N/note{}N/legal{}N/od{txpose 1 0 mtx defaultmatrix dtransform S atan/pa X newpath clippath mark{transform{itransform moveto}}{transform{ itransform lineto}}{6 -2 roll transform 6 -2 roll transform 6 -2 roll transform{itransform 6 2 roll itransform 6 2 roll itransform 6 2 roll curveto}}{{closepath}}pathforall newpath counttomark array astore/gc xdf pop ct 39 0 put 10 fz 0 fs 2 F/|______Courier fnt invertflag{PaintBlack} if}N/txpose{pxs pys scale ppr aload pop por{noflips{pop S neg S TR pop 1 -1 scale}if xflip yflip and{pop S neg S TR 180 rotate 1 -1 scale ppr 3 get ppr 1 get neg sub neg ppr 2 get ppr 0 get neg sub neg TR}if xflip yflip not and{pop S neg S TR pop 180 rotate ppr 3 get ppr 1 get neg sub neg 0 TR}if yflip xflip not and{ppr 1 get neg ppr 0 get neg TR}if}{ noflips{TR pop pop 270 rotate 1 -1 scale}if xflip yflip and{TR pop pop 90 rotate 1 -1 scale ppr 3 get ppr 1 get neg sub neg ppr 2 get ppr 0 get neg sub neg TR}if xflip yflip not and{TR pop pop 90 rotate ppr 3 get ppr 1 get neg sub neg 0 TR}if yflip xflip not and{TR pop pop 270 rotate ppr 2 get ppr 0 get neg sub neg 0 S TR}if}ifelse scaleby96{ppr aload pop 4 -1 roll add 2 div 3 1 roll add 2 div 2 copy TR .96 dup scale neg S neg S TR}if}N/cp{pop pop showpage pm restore}N end}if}if}N/normalscale{ Resolution 72 div VResolution 72 div neg scale magscale{DVImag dup scale }if 0 setgray}N/psfts{S 65781.76 div N}N/startTexFig{/psf$SavedState save N userdict maxlength dict begin/magscale true def normalscale currentpoint TR/psf$ury psfts/psf$urx psfts/psf$lly psfts/psf$llx psfts /psf$y psfts/psf$x psfts currentpoint/psf$cy X/psf$cx X/psf$sx psf$x psf$urx psf$llx sub div N/psf$sy psf$y psf$ury psf$lly sub div N psf$sx psf$sy scale psf$cx psf$sx div psf$llx sub psf$cy psf$sy div psf$ury sub TR/showpage{}N/erasepage{}N/setpagedevice{pop}N/copypage{}N/p 3 def @MacSetUp}N/doclip{psf$llx psf$lly psf$urx psf$ury currentpoint 6 2 roll newpath 4 copy 4 2 roll moveto 6 -1 roll S lineto S lineto S lineto closepath clip newpath moveto}N/endTexFig{end psf$SavedState restore}N /@beginspecial{SDict begin/SpecialSave save N gsave normalscale currentpoint TR @SpecialDefaults count/ocount X/dcount countdictstack N} N/@setspecial{CLIP 1 eq{newpath 0 0 moveto hs 0 rlineto 0 vs rlineto hs neg 0 rlineto closepath clip}if ho vo TR hsc vsc scale ang rotate rwiSeen{rwi urx llx sub div rhiSeen{rhi ury lly sub div}{dup}ifelse scale llx neg lly neg TR}{rhiSeen{rhi ury lly sub div dup scale llx neg lly neg TR}if}ifelse CLIP 2 eq{newpath llx lly moveto urx lly lineto urx ury lineto llx ury lineto closepath clip}if/showpage{}N/erasepage{}N /setpagedevice{pop}N/copypage{}N newpath}N/@endspecial{count ocount sub{ pop}repeat countdictstack dcount sub{end}repeat grestore SpecialSave restore end}N/@defspecial{SDict begin}N/@fedspecial{end}B/li{lineto}B /rl{rlineto}B/rc{rcurveto}B/np{/SaveX currentpoint/SaveY X N 1 setlinecap newpath}N/st{stroke SaveX SaveY moveto}N/fil{fill SaveX SaveY moveto}N/ellipse{/endangle X/startangle X/yrad X/xrad X/savematrix matrix currentmatrix N TR xrad yrad scale 0 0 1 startangle endangle arc savematrix setmatrix}N end %%EndProcSet TeXDict begin @defspecial userdict begin /draftcopy-CurrentPage 0 def /draftcopy-old-BOPhook { } def currentdict /bop-hook known{ /draftcopy-old-BOPhook /bop-hook load def } if /bop-hook{ draftcopy-old-BOPhook /draftcopy-CurrentPage draftcopy-CurrentPage 1 add def draftcopy-CurrentPage 0 ge draftcopy-CurrentPage 99999 le and { gsave 200 70 translate 65 rotate /Times-Roman findfont 215 1 mul scalefont setfont 0 0 moveto 0.85 setgray (DRAFT) show grestore } if } def end @fedspecial end %%BeginFont: CMR8 %!PS-AdobeFont-1.1: CMR8 1.0 %%CreationDate: 1991 Aug 20 16:39:40 % Copyright (C) 1997 American Mathematical Society. All Rights Reserved. 11 dict begin /FontInfo 7 dict dup begin /version (1.0) readonly def /Notice (Copyright (C) 1997 American Mathematical Society. All Rights Reserved) readonly def /FullName (CMR8) readonly def /FamilyName (Computer Modern) readonly def /Weight (Medium) readonly def /ItalicAngle 0 def /isFixedPitch false def end readonly def /FontName /CMR8 def /PaintType 0 def /FontType 1 def /FontMatrix [0.001 0 0 0.001 0 0] readonly def /Encoding 256 array 0 1 255 {1 index exch /.notdef put} for dup 0 /.notdef put readonly def /FontBBox{-36 -250 1070 750}readonly def /UniqueID 5000791 def currentdict end currentfile eexec D9D66F633B846A97B686A97E45A3D0AA052A014267B7904EB3C0D3BD0B83D891 016CA6CA4B712ADEB258FAAB9A130EE605E61F77FC1B738ABC7C51CD46EF8171 9098D5FEE67660E69A7AB91B58F29A4D79E57022F783EB0FBBB6D4F4EC35014F D2DECBA99459A4C59DF0C6EBA150284454E707DC2100C15B76B4C19B84363758 469A6C558785B226332152109871A9883487DD7710949204DDCF837E6A8708B8 2BDBF16FBC7512FAA308A093FE5CF4E9D2405B169CD5365D6ECED5D768D66D6C 68618B8C482B341F8CA38E9BB9BAFCFAAD9C2F3FD033B62690986ED43D9C9361 3645B82392D5CAE11A7CB49D7E2E82DCD485CBA1772CE422BB1D7283AD675B65 48A7EA0069A883EC1DAA3E1F9ECE7586D6CF0A128CD557C7E5D7AA3EA97EBAD3 9619D1BFCF4A6D64768741EDEA0A5B0EFBBF347CDCBE2E03D756967A16B613DB 0FC45FA2A3312E0C46A5FD0466AB097C58FFEEC40601B8395E52775D0AFCD7DB 8AB317333110531E5C44A4CB4B5ACD571A1A60960B15E450948A5EEA14DD330F EA209265DB8E1A1FC80DCD3860323FD26C113B041A88C88A21655878680A4466 FA10403D24BB97152A49B842C180E4D258C9D48F21D057782D90623116830BA3 9902B3C5F2F2DD01433B0D7099C07DBDE268D0FFED5169BCD03D48B2F058AD62 D8678C626DC7A3F352152C99BA963EF95F8AD11DB8B0D351210A17E4C2C55AD8 9EB64172935D3C20A398F3EEEEC31551966A7438EF3FEE422C6D4E05337620D5 ACC7B52BED984BFAAD36EF9D20748B05D07BE4414A63975125D272FAD83F76E6 10FFF8363014BE526D580873C5A42B70FA911EC7B86905F13AFE55EB0273F582 83158793B8CC296B8DE1DCCF1250FD57CB0E035C7EDA3B0092ED940D37A05493 2EC54E09B984FCA4AB7D2EA182BCF1263AA244B07EC0EA901C077A059F709F30 4384CB5FA748F2054FAD9A7A43D4EA427918BD414F766531136B60C3477C6632 BEFE3897B58C19276A301926C2AEF2756B367319772C9B201C49B4D935A8267B 041D6F1783B6AEA4DAC4F5B3507D7032AA640AAB12E343A4E9BDCF419C04A721 3888B25AF4E293AACED9A6BDC78E61DA1C424C6503CC1885F762BFD4563ABA4F D926227FAD2B2D4975835541F5A0BBA874AA656B669D3E22F1A25B405D9BC6FC DB308C382A34735A77C8C901D8677A92A0F2F2753F80963D2DEF4BCD6FB8D177 029FE0352B7DB16ACFD082D0F8427039F94A74EDF62F1B3D0C1A9599A88EE1F1 5F10832E2F0A1F6CA9FA00143C3494D618C9AA53D0AA2DD1B2BD7C06D0A946D7 32CBADA2DC3F081E95BFC01DCAA529DEBBA13839D42FA2DBD86F8780E516E9F7 B4F2FBF38824822ECBF4C42DE2A59AABFDD0901DDDE8AC5FC937EF2729FD5BE6 ECB2162940AAB06BA12189A36C24F3CBB25A3046F6EF8B46FB8A89E7DF41FAC4 B51256A01DC5AE00F8F45F69C420E56E42745FCF6020374F4CB5A00958B25930 F7D6DF2075ACD479230A041D0A7A761980CE1673D349AC06E5E9EB7069C98D82 33F57E348081C4EFC405929F8899AF80B534E697B591C5C680D3E60F240BB769 F0BCFE594E2C2740EB7BAD748A66E76F41E835A7BCA8A16731652E5D08AB0D74 1A812588F72188A641398AE81C31E7A826409E98DAE39E84FF3C1E471DDB6796 1A8A6FEA6DC4DB9FC39DC0533DBE7AFCC5FBD07D5ED112EFAA3779523EFF030D F276B00634E6A68898D2565818F4338CF0A0D83394CD09D007EB1831C25F6EDD BEA94BFFFF5DA41797CA51039915CA2208054A391F66119184AE023E9489FBE4 5AFE834FE25AAA3C9C3BDB6C5DD301833596F7F76A083C6F11D90582B2F8AFE9 4284E028B10E26740071E1884FE5B25C31BC9E8F411A1E58B2933AE790CA9ECC 1E5F2DDC09863A390E367AD4CC0A869C313950EDFD6C8500651EC8686D041884 74158E9B16E032B91FA92B578EC9A38F51730A346F1CD7FDF0854EEBDB4AC5B2 DE427E7B23CC47644A44447F138F3AD653DA6BA8A9DDE84BA780BD3E3F474DC0 B30E97030113ED84607C488DEF6D2044BFBD701CAEE0D14F52F408EE2CA9A13C 526E2888DD92F3DFEF08FF 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 cleartomark %%EndFont %%BeginFont: CMSY7 %!PS-AdobeFont-1.1: CMSY7 1.0 %%CreationDate: 1991 Aug 15 07:21:52 % Copyright (C) 1997 American Mathematical Society. All Rights Reserved. 11 dict begin /FontInfo 7 dict dup begin /version (1.0) readonly def /Notice (Copyright (C) 1997 American Mathematical Society. All Rights Reserved) readonly def /FullName (CMSY7) readonly def /FamilyName (Computer Modern) readonly def /Weight (Medium) readonly def /ItalicAngle -14.035 def /isFixedPitch false def end readonly def /FontName /CMSY7 def /PaintType 0 def /FontType 1 def /FontMatrix [0.001 0 0 0.001 0 0] readonly def /Encoding 256 array 0 1 255 {1 index exch /.notdef put} for dup 0 /.notdef put readonly def /FontBBox{-15 -951 1252 782}readonly def /UniqueID 5000817 def currentdict end currentfile eexec D9D66F633B846A97B686A97E45A3D0AA052F09F9C8ADE9D907C058B87E9B6964 7D53359E51216774A4EAA1E2B58EC3176BD1184A633B951372B4198D4E8C5EF4 A213ACB58AA0A658908035BF2ED8531779838A960DFE2B27EA49C37156989C85 E21B3ABF72E39A89232CD9F4237FC80C9E64E8425AA3BEF7DED60B122A52922A 221A37D9A807DD01161779DDE7D251491EBF65A98C9FE2B1CF8D725A70281949 8F4AFFE638BBA6B12386C7F32BA350D62EA218D5B24EE612C2C20F43CD3BFD0D F02B185B692D7B27BEC7290EEFDCF92F95DDEB507068DE0B0B0351E3ECB8E443 E611BE0A41A1F8C89C3BC16B352C3443AB6F665EAC5E0CC4229DECFC58E15765 424C919C273E7FA240BE7B2E951AB789D127625BBCB7033E005050EB2E12B1C8 E5F3AD1F44A71957AD2CC53D917BFD09235601155886EE36D0C3DD6E7AA2EF9C C402C77FF1549E609A711FC3C211E64E8F263D60A57E9F2B47E3480B978AAF63 868AEA25DA3D5413467B76D2F02F8097D2841EDA6677731A6ACFEC0BABF1016A 089B2D24F47B9D66B677886B90AA787AD865B5F78EE434AA47B7B0F1244A4215 251FDCC670FD01A92226E2C667C2344298D001575BDF782D969D836ECA11E229 C7A17E28F70F9B17273FF243452DA885068A8BCB5165534F3996CBD8D97307DB 593D606C197AFC259E691C242F6E1E651575B6852AAD54567905E6F542DCA109 7F6DA24DC9112FBF7CE48B387953787B2BCB841873AED2DFA83339D39E14F4DD 3A51584527AC3A93630D121E2AE0C89D9C3F2FFA767743B1276BE1E648041010 0FD510F1A8 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 cleartomark %%EndFont %%BeginFont: CMEX10 %!PS-AdobeFont-1.1: CMEX10 1.00 %%CreationDate: 1992 Jul 23 21:22:48 % Copyright (C) 1997 American Mathematical Society. All Rights Reserved. 11 dict begin /FontInfo 7 dict dup begin /version (1.00) readonly def /Notice (Copyright (C) 1997 American Mathematical Society. All Rights Reserved) readonly def /FullName (CMEX10) readonly def /FamilyName (Computer Modern) readonly def /Weight (Medium) readonly def /ItalicAngle 0 def /isFixedPitch false def end readonly def /FontName /CMEX10 def /PaintType 0 def /FontType 1 def /FontMatrix [0.001 0 0 0.001 0 0] readonly def /Encoding 256 array 0 1 255 {1 index exch /.notdef put} for dup 88 /summationdisplay put readonly def /FontBBox{-24 -2960 1454 772}readonly def /UniqueID 5000774 def currentdict end currentfile eexec D9D66F633B846A97B686A97E45A3D0AA052A014267B7904EB3C0D3BD0B83D891 016CA6CA4B712ADEB258FAAB9A130EE605E61F77FC1B738ABC7C51CD46EF8171 9098D5FEE67660E69A7AB91B58F29A4D79E57022F783EB0FBBB6D4F4EC35014F D2DECBA99459A4C59DF0C6EBA150284454E707DC2100C15B76B4C19B84363758 469A6C558785B226332152109871A9883487DD7710949204DDCF837E6A8708B8 2BDBF16FBC7512FAA308A093FE5CF5B8CAC6A7BEB5D02276E511FFAF2AE11910 DE076F24311D94D07CACC323F360887F1EA11BDDA7927FF3325986FDB0ABDFC8 8E4B40E7988921D551EC0867EBCA44C05657F0DC913E7B3004A5F3E1337B6987 FEBC45F989C8DC6DC0AD577E903F05D0D54208A0AE7F28C734F130C133B48422 BED48639A2B74E4C08F2E710E24A99F347E0F4394CE64EACB549576E89044E52 EABE595BC964156D9D8C2BAB0F49664E951D7C1A3D1789C47F03C7051A63D5E8 DF04FAAC47351E82CAE0794AA9692C6452688A74A7A6A7AD09B8A9783C235EC1 EA2156261B8FB331827145DE315B6EC1B3D8B67B3323F761EAF4C223BB214C4C 6B062D1B281F5041D068319F4911058376D8EFBA59884BA3318C5BC95684F281 E0591BC0D1B2A4592A137FF301610019B8AC46AE6E48BC091E888E4487688350 E9AD5074EE4848271CE4ACC38D8CBC8F3DB32813DDD5B341AF9A6601281ABA38 4A978B98483A63FCC458D0E3BCE6FD830E7E09B0DB987A6B63B74638FC9F21A5 8C68479E1A85225670D79CDDE5AC0B77F5A994CA700B5F0FF1F97FC63EFDE023 8135F04A9D20C31998B12AE06676C362141AAAA395CDEF0A49E0141D335965F2 FB4198499799CECCC8AA5D255264784CD30A3E8295888EFBC2060ADDD7BAC45A EEEECDFF7A47A88E69D84C9E572616C1AC69A34B5F0D0DE8EE4EDF9F4ADE0387 680924D8D5B73EF04EAD7F45977CA8AD73D4DD45DE1966A3B8251C0386164C35 5880DD2609C80E96D1AB861C9259748E98F6711D4E241A269ED51FF328344664 3AF9F18DCE671611DB2F5D3EA77EE734D2BED623F973E6840B8DAD1E2C3C2666 DD4DD1C1C8384F906A7BAACDF441BB0AAEA2A697E453D89E61340D3A13F615FF 3E64BC24A22786C838BF3BAF6B2829B5E16372EE3B9347142EE6853C37C61423 540C793D56EF624F68D2BD0C0A43524C3DD7DE1A30702B79032D9EAF715668AC 6701F3B3E54B877104A17D328FA3B6F17B484771428F11365153D779E59132B8 8AA4D47495417DC5F6CC5315B779C2B12A4EA32D16BE254D2EF2E0FEE0021791 B46226F1A45386FA41C56864FD6EEBE29E98E00C279EBA6F17ABFC1F8E0519F0 A9E5A7FFDBFF06D6475D65A977BEA0F5DACFAB70461E8E08B1BFD3D31ABB37C0 5C42D17ACBC194B89A50063B9C2F02ED26A99FF436DFEACD70511658C9554FA6 6EB73CA3F0A8F17C8C34B79C6A5BB7C395190BA6822EBBB81A40EEE29A69E316 9AC9134E9DF5007B32E8CFA45579F310413D25E82691774DF4B83610A41BCFFE E2119028B24BFAED5197C3ECAC5F0D0D66D17E69 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 cleartomark %%EndFont %%BeginFont: CMMI8 %!PS-AdobeFont-1.1: CMMI8 1.100 %%CreationDate: 1996 Jul 23 07:53:54 % Copyright (C) 1997 American Mathematical Society. All Rights Reserved. 11 dict begin /FontInfo 7 dict dup begin /version (1.100) readonly def /Notice (Copyright (C) 1997 American Mathematical Society. All Rights Reserved) readonly def /FullName (CMMI8) readonly def /FamilyName (Computer Modern) readonly def /Weight (Medium) readonly def /ItalicAngle -14.04 def /isFixedPitch false def end readonly def /FontName /CMMI8 def /PaintType 0 def /FontType 1 def /FontMatrix [0.001 0 0 0.001 0 0] readonly def /Encoding 256 array 0 1 255 {1 index exch /.notdef put} for dup 0 /.notdef put readonly def /FontBBox{-24 -250 1110 750}readonly def /UniqueID 5087383 def currentdict end currentfile eexec D9D66F633B846A97B686A97E45A3D0AA0529731C99A784CCBE85B4993B2EEBDE 3B12D472B7CF54651EF21185116A69AB1096ED4BAD2F646635E019B6417CC77B 532F85D811C70D1429A19A5307EF63EB5C5E02C89FC6C20F6D9D89E7D91FE470 B72BEFDA23F5DF76BE05AF4CE93137A219ED8A04A9D7D6FDF37E6B7FCDE0D90B 986423E5960A5D9FBB4C956556E8DF90CBFAEC476FA36FD9A5C8175C9AF513FE D919C2DDD26BDC0D99398B9F4D03D6A8F05B47AF95EF28A9C561DBDC98C47CF5 5250011D19E9366EB6FD153D3A100CAA6212E3D5D93990737F8D326D347B7EDC 4391C9DF440285B8FC159D0E98D4258FC57892DDF753642CD526A96ACEDA4120 788F22B1D09F149794E66DD1AC2C2B3BC6FEC59D626F427CD5AE9C54C7F78F62 C36F49B3C2E5E62AFB56DCEE87445A12A942C14AE618D1FE1B11A9CF9FAA1F32 617B598CE5058715EF3051E228F72F651040AD99A741F247C68007E68C84E9D1 D0BF99AA5D777D88A7D3CED2EA67F4AE61E8BC0495E7DA382E82DDB2B009DD63 532C74E3BE5EC555A014BCBB6AB31B8286D7712E0E926F8696830672B8214E9B 5D0740C16ADF0AFD47C4938F373575C6CA91E46D88DE24E682DEC44B57EA8AF8 4E57D45646073250D82C4B50CBBB0B369932618301F3D4186277103B53B3C9E6 DB42D6B30115F67B9D078220D5752644930643BDF9FACF684EBE13E39B65055E B1BD054C324962025EC79E1D155936FE32D9F2224353F2A46C3558EF216F6BB2 A304BAF752BEEC36C4440B556AEFECF454BA7CBBA7537BCB10EBC21047333A89 8936419D857CD9F59EBA20B0A3D9BA4A0D3395336B4CDA4BA6451B6E4D1370FA D9BDABB7F271BC1C6C48D9DF1E5A6FAE788F5609DE3C48D47A67097C547D9817 AD3A7CCE2B771843D69F860DA4059A71494281C0AD8D4BAB3F67BB6739723C04 AE05F9E35B2B2CB9C7874C114F57A185C8563C0DCCA93F8096384D71A2994748 A3C7C8B8AF54961A8838AD279441D9A5EB6C1FE26C98BD025F353124DA68A827 AE2AF8D25CA48031C242AA433EEEBB8ABA4B96821786C38BACB5F58C3D5DA011 85B385124C2B6534F3CD1866AF92009D93B97F763AA3EF13138392F069D50047 8870276F0114020385BAE28CC213D0E27EC4CE1E07DF6E80403D5BE5E08E72F7 565A94B950379E70F419980AADBEC6F56112938FFD64BAF7863CBF39910A2667 716AC8DB3C6B015B5474C9D74D93C5AAF7B9E13D9E17CB9B4305370387155EDE B6CA764AA529E059DBF93A7FD65EF0DBB9B56AF600DF7A7F9DB24BC65095941E 73C4C96D1D9F23286A5F233CC2144540BB79C47D7A74163407FDC1A58C6AF3A9 C95ED2CA1ACB8FDD42811BF5D811C91D3C968C16A72B3B6CA1F30182B24D9D55 6E0A57B1471A20FECB230C021B99D48F83507B9A30E75B69B94D3A8C354E369E 1F4A44DD0CBEA89A6B5A44D575D78C3CAE09A6BE0428F0CC489E28CD0CC647C3 83BBC4C4512DD7534F62CDDD4F12E9903FCF5B68699FE51E847E6F1E8BEFC97C BE2403097EA6AE3BD87A39838CC1AE906B7F64E7D584C8CF15E31DB1407239D6 E2A34C9DA3121309A790707A39CD3E1E44A9 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 cleartomark %%EndFont %%BeginFont: CMMI7 %!PS-AdobeFont-1.1: CMMI7 1.100 %%CreationDate: 1996 Jul 23 07:53:53 % Copyright (C) 1997 American Mathematical Society. All Rights Reserved. 11 dict begin /FontInfo 7 dict dup begin /version (1.100) readonly def /Notice (Copyright (C) 1997 American Mathematical Society. All Rights Reserved) readonly def /FullName (CMMI7) readonly def /FamilyName (Computer Modern) readonly def /Weight (Medium) readonly def /ItalicAngle -14.04 def /isFixedPitch false def end readonly def /FontName /CMMI7 def /PaintType 0 def /FontType 1 def /FontMatrix [0.001 0 0 0.001 0 0] readonly def /Encoding 256 array 0 1 255 {1 index exch /.notdef put} for dup 0 /.notdef put readonly def /FontBBox{0 -250 1171 750}readonly def /UniqueID 5087382 def currentdict end currentfile eexec D9D66F633B846A97B686A97E45A3D0AA0529731C99A784CCBE85B4993B2EEBDE 3B12D472B7CF54651EF21185116A69AB1096ED4BAD2F646635E019B6417CC77B 532F85D811C70D1429A19A5307EF63EB5C5E02C89FC6C20F6D9D89E7D91FE470 B72BEFDA23F5DF76BE05AF4CE93137A219ED8A04A9D7D6FDF37E6B7FCDE0D90B 986423E5960A5D9FBB4C956556E8DF90CBFAEC476FA36FD9A5C8175C9AF513FE D919C2DDD26BDC0D99398B9F4D03D77639DF1232A4D6233A9CAF69B151DFD33F C0962EAC6E3EBFB8AD256A3C654EAAF9A50C51BC6FA90B61B60401C235AFAB7B B078D20B4B8A6D7F0300CF694E6956FF9C29C84FCC5C9E8890AA56B1BC60E868 DA8488AC4435E6B5CE34EA88E904D5C978514D7E476BF8971D419363125D4811 4D886EDDDCDDA8A6B0FDA5CF0603EA9FA5D4393BEBB26E1AB11C2D74FFA6FEE3 FAFBC6F05B801C1C3276B11080F5023902B56593F3F6B1F37997038F36B9E3AB 76C2E97E1F492D27A8E99F3E947A47166D0D0D063E4E6A9B535DC9F1BED129C5 123775D5D68787A58C93009FD5DA55B19511B95168C83429BD2D878207C39770 012318EA7AA39900C97B9D3859E3D0B04750B8390BF1F1BC29DC22BCAD50ECC6 A3C633D0937A59E859E5185AF9F56704708D5F1C50F78F43DFAC43C4E7DC9413 44CEFE43279AFD3C167C942889A352F2FF806C2FF8B3EB4908D50778AA58CFFC 4D1B14597A06A994ED8414BBE8B26E74D49F6CF54176B7297CDA112A69518050 01337CBA5478EB984CDD22020DAED9CA8311C33FBCC84177F5CE870E709FC608 D28B3A7208EFF72988C136142CE79B4E9C7B3FE588E9824ABC6F04D141E589B3 914A73A42801305439862414F893D5B6C327A7EE2730DEDE6A1597B09C258F05 261BC634F64C9F8477CD51634BA648FC70F659C90DC042C0D6B68CD1DF36D615 24F362B85A58D65A8E6DFD583EF9A79A428F2390A0B5398EEB78F4B5A89D9AD2 A517E0361749554ABD6547072398FFDD863E40501C316F28FDDF8B550FF8D663 9843D0BEA42289F85BD844891DB42EC7C51229D33EE7E83B1290404C799B8E8C 889787CDC2B27F188AB67448F8867C398C58491975019BEE06486E51008591A0 44FB355A5637A3E541FEF1CCC1F5284CDC29D085309C0731D659D734AEED9A87 E6607A643ADE3B2BCE79FAB2D3F50D42B93A6619847883F8289CB7BFAC5CA9A7 B0E141DA358246FD2264197E94DFE8A4A2335CDFD04F3D653A276D2AE4082B8A F01FEAD6C9634979311B19DBFBD26E51522DC6BECF44E4574DD3628B201B617E 52FB14B84FC0AFC8638A68D1098D583D32EAAB2BE661C0DC58BF04D0B0E8369D D91028475F3C8AE91E0A2D6CC40B9C3644894D942E28631DB118093B3693E0EA 4D52D8E9FE6C033BD9F9E71DB0285C7AC97C332811396B4DE0CE3D94AC9AE7F9 81C41BDEE08EDB69CA0B253D1EC78C32AE7A45364E1556583340C5762A021D89 F2CA017AEA686A4E4E5C744B67A9AC8BD0E706BCE6DEF734CC54DD8FA4DEB92D A132F4DBA51F822E39990765C2B577C055333F328E4A60C527BC2DC21E49C80A D8C29E135EA9993B7A93AF2D1F88F2D6C88627CCCDDF11A16A79E702617BCB62 8E55E167767CD78FC42D7F9DA1709FC1C2D06CF5ECE235FECF81CB5E46687B07 8A49E3AD4F939DE2D0161B9A0AE89EC6C2EE90C50D075AC2B743ABFD1A88FEFF 5E80EE00C44C66D2C181807E0F9FD9C579CD4B428D650908577942F2332DD9E8 83F377BFB35058C1FA183B3F7CAE104F43AB25F03F5DFFBB229E667AF4ECDCD1 AE6F9002862F26DF8A1A395BFC5DBB0B684A1419BE92DA8F63D0F36461B8EC12 77A47AD68A1A99B4FF1C9683C5B438F5CD6588100220986ED4758659EAEE2583 D4BEA85941BF41E097291FDBF3A16A1A416997EDC0138FAB9D1118257E7CCAE8 E63AEA046F12026B56AD5E1848B5F7E392FFF4DFF16C6E5F269CFF40D87E6272 06728C74D6D0423D3F3483B2BB1BCDD38E344A248E042DBF4E9080264A455AF6 9AA4A70A5D65739CEE919DC9EE6240CBE192FA048B30713B3BCC9A6AA0ADB103 F61E00E96AA4AFA52CAB03FDB17B84D17C6285467D562A88A997E4FDA4AD41D2 A627FE312419C6D3FF11DD7E7BE22E8E90909B710C18F9D554F1E35EE1277D2B 03E7D2D31F3973EA64955C6702670AD3B25AD50141D72894DEAF278A1E366A1A FA588BF2903020BECA4D16C48439B6D668EA7E3D2EE6B4E0E16AECBFCE60C0AE 10D3E17692950EF2E9108F5C7364AE42BBAD58B9433A3A22034D84156F0D2533 C9558BFA856AA57DC9289DAD4CAD9B0733F6796D75A2EA2D70A710FC4D84C268 9EB3ED270E49167B68C635B28EFBFA6FBAE516981F905B49400462B65B508533 EEFE2DED719929CFAF27F9BBFC8A8C2C0B5D76448016A05D79F061F7D3BE6E42 4F53166E4A4162A96B60AC68100891958B720542F66376AA8D62594F8DE262D3 8C6F08CA6B98325979E93E011A3488AB3F0656B81DAE46C25FBE8781DA1F7FF1 CB388F036934B7B151758A7C436658EF6EB0B8EF2977D34B0DAD0EC10C420569 82512AB74F955801EC6C9539ED7CB22430DE3614A2A26E27231162D6077B2C7D 0248DB2ED7C50CE0DCCA32B161283EA31420E0ED51FCE99939BEACE93FB9F585 E7F85A95F5218F5845932969F31E83FD25660CF0548138D7C4C3A208972404FB A72D9ADB5172D561A4095E4F4070AE0E7C093C791C493AAD2608EC43D4BF4943 42E4E97B5EF5C59076958F726A70CCFF39722D4CA7B6B3CD259428781AAE1A93 D8D6664EADD2AE1B3236EC5D19DE2AE8B73678836B78F97FCFDEE67D7A4E1B5E 41238F605B12643056AD32168EE23A47E28EEA2D45367F084AE6EB9225183BB2 1C8AF81F1070A9613CD6A30D11C30E9AD2BBDFF442459FE3F77CC2BD4806DA89 BB167C9EBCE73BB1EC7FE147E45EB68A96D2FEC1DA760CFEB05D1DDBF1098EB5 D1342AC30B94E74A5823FDC7367820496F6173075E29F328902E4E21C7C2CFA9 6415B6B5B006DF62507A1D811E78B2F946CE8D145541BC324CB858219F697857 FCAAAB98CDAD60AA259416EFFEF279946A273A42B10C268E1C0E31C9143F7EF7 6E215D53FC6943BC9E7DCED1EB7449EFD33CED9461767EB264AF12A97CA5DCB7 4879960FDA072DA27DC48230724455E224BE444F063E6E0C1FF7982DF4D004A4 E3EC8E67BFAAE9AF9EE8118BD231053A89C0BE12E13F36CDDBB816694A53938F 5D761F6726D65CED756C84F841E89E3B6A01742C8A17C74B95C165F87128BBE7 D779261278EC8B3FF506A96038D9DE8DCB0F186DFEB715F108E91103EA86570E D648D097750D53AB67A14953E0D9925808E2400C8489BD5D7FAE24FB03BB12A4 F9C8380399627F5025D24DB7C87600C859D54E07EF1F1FD6DF1601CF47B3A690 4A434680A7DBFCC8A0211AD4273797D63B2A28CBAA8071B50900A72FA2BC8906 4D13913A1B28DDF267D58E0C51EC3FF7C1B4025939A13C449A6B407CEA946E1A 9BDBE21E584FB7AB2D8D47DD097CB69E6C4275C63F6BF28B8CA7EB23B9723355 5C598477CA8B86B3608E59B3FF89A31C76F55B33EA511C202ACFEC9320FFF76A A8E125D45088B0A3344FF46A786261D6BE5D011AC6CE7C7938F4D8BD208867E4 90C1A4D47CD89A2572E4CDC3105C0BCD09EBF8B0736F866C1FC064A0E3645959 AF02143540F555F5CB9A9C158AE1753D86918DC326B700901717B8C19353F6B6 E19FCDD4D9624CBD8D65592E59811C08D8D6F61ABF62D2E2A3018D0A442271FD FBFF4C923B80D068F6FE396564AD24DD2C588A3D0E63FC56D587DE4F42EA2D51 FDFDDB09A6C1CE9A12514608B059CC6643D9288C167A1DF5B72981EC58F39A37 90F9FB9C06F4182E2E576B69A4522EE91B8270DF0BBA3E0B5F35192C1A6C6EC5 723E5C2D7B10ABFF65E472E3F2D61881FA2CBBBB3D324010269F73DC0B7F7BE4 56B793A4F8DDC7A30940AB97E7FB9C1734D75769129E4D5B942AC8EA638489BE 664EE291BFA64BB87625570FF748EF29D88CCFFF67BA3405757A1E0A47C4A352 35FF5E 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 cleartomark %%EndFont %%BeginFont: CMSY10 %!PS-AdobeFont-1.1: CMSY10 1.0 %%CreationDate: 1991 Aug 15 07:20:57 % Copyright (C) 1997 American Mathematical Society. All Rights Reserved. 11 dict begin /FontInfo 7 dict dup begin /version (1.0) readonly def /Notice (Copyright (C) 1997 American Mathematical Society. All Rights Reserved) readonly def /FullName (CMSY10) readonly def /FamilyName (Computer Modern) readonly def /Weight (Medium) readonly def /ItalicAngle -14.035 def /isFixedPitch false def end readonly def /FontName /CMSY10 def /PaintType 0 def /FontType 1 def /FontMatrix [0.001 0 0 0.001 0 0] readonly def /Encoding 256 array 0 1 255 {1 index exch /.notdef put} for dup 0 /.notdef put readonly def /FontBBox{-29 -960 1116 775}readonly def /UniqueID 5000820 def currentdict end currentfile eexec D9D66F633B846A97B686A97E45A3D0AA052F09F9C8ADE9D907C058B87E9B6964 7D53359E51216774A4EAA1E2B58EC3176BD1184A633B951372B4198D4E8C5EF4 A213ACB58AA0A658908035BF2ED8531779838A960DFE2B27EA49C37156989C85 E21B3ABF72E39A89232CD9F4237FC80C9E64E8425AA3BEF7DED60B122A52922A 221A37D9A807DD01161779DDE7D31FF2B87F97C73D63EECDDA4C49501773468A 27D1663E0B62F461F6E40A5D6676D1D12B51E641C1D4E8E2771864FC104F8CBF 5B78EC1D88228725F1C453A678F58A7E1B7BD7CA700717D288EB8DA1F57C4F09 0ABF1D42C5DDD0C384C7E22F8F8047BE1D4C1CC8E33368FB1AC82B4E96146730 DE3302B2E6B819CB6AE455B1AF3187FFE8071AA57EF8A6616B9CB7941D44EC7A 71A7BB3DF755178D7D2E4BB69859EFA4BBC30BD6BB1531133FD4D9438FF99F09 4ECC068A324D75B5F696B8688EEB2F17E5ED34CCD6D047A4E3806D000C199D7C 515DB70A8D4F6146FE068DC1E5DE8BC570317AAEA74A842CFD26F9591866F5A0 9B4EAD7395F5196B36997F1D59E88165C94739E74C2B40820F8C972B175ED79D 87C9E323C3CDD5C2BEE6409017767534E19F45AFCE2C6687733451AD2E75D112 42040BADFF90F5FCE19923CC1D0C66453991CA813BBC16B5DFFE423A00EEEE9E 22A0EA62FF516AAEC38300AB23C68B9D93EEE7BC29CCC9239E337780666AD40C 145318FED577D49BFF4E830A04E80486B5D937FC8B4836F65C17A8156E13C59C 7ACC1C66D44381A5E35D15A62513BB8C2973DD373ED8E6AE4BE2C863C3A80E74 EA8550662A757841F87789D30EF521F1677432CE0C8E4188AF3634041CD8DDC0 F37566D21B1E71EAE7A9C1EB9B559013200D2896FDE00469335D09698BF7B16D 8E686BDA247174A6A9E28FCE8D6B96C3021F80A10FF2DE858D97408668CB8F70 D0BDDC7BB4378BF1E056FD8C478D9135578F09200E9ACF2A459C85A97CCB762C E8E6DBD31CB3E8526185DE2EAAD73FFFF26043D2B0F3A25523302A5764A49007 E0D2652B5EBC3C0974BE27063D0C1A8DAE673A9717553B905D8106E4296C6D22 A01D848D42D7440C5264E8E05F041BC80C1FF3A94E32D3658EB9AF2BAB472EAC 4A01AD01CDAB21AA6DB9EE0D81032FA771DB4E5D9E0465D3AE25A54D10D39A33 22AAC024DBC4D62A5B6D0FF21B4F0FD5FB33E4A379645FAE736F 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 cleartomark %%EndFont %%BeginFont: CMR7 %!PS-AdobeFont-1.1: CMR7 1.0 %%CreationDate: 1991 Aug 20 16:39:21 % Copyright (C) 1997 American Mathematical Society. All Rights Reserved. 11 dict begin /FontInfo 7 dict dup begin /version (1.0) readonly def /Notice (Copyright (C) 1997 American Mathematical Society. All Rights Reserved) readonly def /FullName (CMR7) readonly def /FamilyName (Computer Modern) readonly def /Weight (Medium) readonly def /ItalicAngle 0 def /isFixedPitch false def end readonly def /FontName /CMR7 def /PaintType 0 def /FontType 1 def /FontMatrix [0.001 0 0 0.001 0 0] readonly def /Encoding 256 array 0 1 255 {1 index exch /.notdef put} for dup 0 /.notdef put readonly def /FontBBox{-27 -250 1122 750}readonly def /UniqueID 5000790 def currentdict end currentfile eexec D9D66F633B846A97B686A97E45A3D0AA052A014267B7904EB3C0D3BD0B83D891 016CA6CA4B712ADEB258FAAB9A130EE605E61F77FC1B738ABC7C51CD46EF8171 9098D5FEE67660E69A7AB91B58F29A4D79E57022F783EB0FBBB6D4F4EC35014F D2DECBA99459A4C59DF0C6EBA150284454E707DC2100C15B76B4C19B84363758 469A6C558785B226332152109871A9883487DD7710949204DDCF837E6A8708B8 2BDBF16FBC7512FAA308A093FE5CF5B8CABB9FFC6CC3F1E9AE32F234EB60FE7D E34995B1ACFF52428EA20C8ED4FD73E3935CEBD40E0EAD70C0887A451E1B1AC8 47AEDE4191CCDB8B61345FD070FD30C4F375D8418DDD454729A251B3F61DAE7C 8882384282FDD6102AE8EEFEDE6447576AFA181F27A48216A9CAD730561469E4 78B286F22328F2AE84EF183DE4119C402771A249AAC1FA5435690A28D1B47486 1060C8000D3FE1BF45133CF847A24B4F8464A63CEA01EC84AA22FD005E74847E 01426B6890951A7DD1F50A5F3285E1F958F11FC7F00EE26FEE7C63998EA1328B C9841C57C80946D2C2FC81346249A664ECFB08A2CE075036CEA7359FCA1E90C0 F686C3BB27EEFA45D548F7BD074CE60E626A4F83C69FE93A5324133A78362F30 8E8DCC80DD0C49E137CDC9AC08BAE39282E26A7A4D8C159B95F227BDA2A281AF A9DAEBF31F504380B20812A211CF9FEB112EC29A3FB3BD3E81809FC6293487A7 455EB3B879D2B4BD46942BB1243896264722CB59146C3F65BD59B96A74B12BB2 9A1354AF174932210C6E19FE584B1B14C00E746089CBB17E68845D7B3EA05105 EEE461E3697FCF835CBE6D46C75523478E766832751CF6D96EC338BDAD57D53B 52F5340FAC9FE0456AD13101824234B262AC0CABA43B62EBDA39795BAE6CFE97 563A50AAE1F195888739F2676086A9811E5C9A4A7E0BF34F3E25568930ADF80F 0BDDAC3B634AD4BA6A59720EA4749236CF0F79ABA4716C340F98517F6F06D9AB 7ED8F46FC1868B5F3D3678DF71AA772CF1F7DD222C6BF19D8EF0CFB7A76FC6D1 0AD323C176134907AB375F20CFCD667AB094E2C7CB2179C4283329C9E435E7A4 1E042AD0BAA059B3F862236180B34D3FCED833472577BACD472A4A78141CA32C B3C74E1A0AE0520B950B826B0ABD81766035058ED1654D00FE541CAD1D246C0E DE85FCD3C0BF7A70B913487B1A527EA823C00C39DB61FD6641B140FCED8580D8 046741D2494B4E7CA1F120CBB0A532BE049CABEB70A39018E8212F8178E93C98 B377AE2880FE39BA0EE29451857DB34964DA26ACA4CD23CE284ACE37D89571FF CB67DE7AE379B74B32ECACC5F3DE0566CE9EE820E96F27653C75935851CD9360 A83C7EE8270383CB8A80715BC2B62B1F709235A5A73D99710D7665182D461095 B98C8A0FEA44F0F1959055D50BABC7880E7BA1CA4CD72531A240A622663A0A1F DBE4FB907F97515CB1100282C9A0241F65F84EBAB1701FC105BD25F82807F4CB 6A5EDB5CB156A7D55F64146818245C113781C1076F148B510763D6FD43BF322D 01718C2A81B481008937D9D939C42B491AD9AE63570C07C4188C8B9A441CF77D 080047A70AD3A1E23AAF07B9251DEEB1973D9713986B9DB0EE0DAD50E46957DC AC85E6FCC653FEAE5E27DD42D96C78C0E0A30A6E11247C5D14AE50E54628274B 89E6756E1490CC1C4828BA48B0C58C9EA690F723F90BD6774AFC886D4C8566AA 109BB0061C0B7DA5D7E99697F7FE64ECC51B11A799466C9A7BA5093B0651C742 DFDCE9F6AC2764D109CD3EA9D1E43D457E1BFC0EF9F468B18ACDB7722E461E2D 83A52B72A37A96AF40851E3CAC0C35BFA537C76CF1821A7A96CC3B75B8C9B05B 300902358EC92E883CC78B6BA1EFB262074411E2E349F3F1D4C2A5BA4EF07284 F834694209E549CD3E4034334CA03E1165D0E3FFD1E905DCF5D0CC186FEC11A5 C1AD10889CD8F8845ECFBE566D4B7D06386AB794D0E5A62443E9F3D87B56B7A7 0B9928CD7ADBBA0C8B57A5EDF77648B3A95CFEBFF9D2DE51B6778849B9873A08 B3057D5CBCAFE9F56E66A1710C79CF265BEF38F4345FDF2A37E250346D591D15 EF9E38F376E52737D1B6A2E4C2B1958A84F8A73F3F34A51574F7 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 cleartomark %%EndFont %%BeginFont: CMR10 %!PS-AdobeFont-1.1: CMR10 1.00B %%CreationDate: 1992 Feb 19 19:54:52 % Copyright (C) 1997 American Mathematical Society. All Rights Reserved. 11 dict begin /FontInfo 7 dict dup begin /version (1.00B) readonly def /Notice (Copyright (C) 1997 American Mathematical Society. All Rights Reserved) readonly def /FullName (CMR10) readonly def /FamilyName (Computer Modern) readonly def /Weight (Medium) readonly def /ItalicAngle 0 def /isFixedPitch false def end readonly def /FontName /CMR10 def /PaintType 0 def /FontType 1 def /FontMatrix [0.001 0 0 0.001 0 0] readonly def /Encoding 256 array 0 1 255 {1 index exch /.notdef put} for dup 0 /.notdef put readonly def /FontBBox{-251 -250 1009 969}readonly def /UniqueID 5000793 def currentdict end currentfile eexec D9D66F633B846A97B686A97E45A3D0AA052A014267B7904EB3C0D3BD0B83D891 016CA6CA4B712ADEB258FAAB9A130EE605E61F77FC1B738ABC7C51CD46EF8171 9098D5FEE67660E69A7AB91B58F29A4D79E57022F783EB0FBBB6D4F4EC35014F D2DECBA99459A4C59DF0C6EBA150284454E707DC2100C15B76B4C19B84363758 469A6C558785B226332152109871A9883487DD7710949204DDCF837E6A8708B8 2BDBF16FBC7512FAA308A093FE5CF7158F1163BC1F3352E22A1452E73FECA8A4 87100FB1FFC4C8AF409B2067537220E605DA0852CA49839E1386AF9D7A1A455F D1F017CE45884D76EF2CB9BC5821FD25365DDEA6E45F332B5F68A44AD8A530F0 92A36FAC8D27F9087AFEEA2096F839A2BC4B937F24E080EF7C0F9374A18D565C 295A05210DB96A23175AC59A9BD0147A310EF49C551A417E0A22703F94FF7B75 409A5D417DA6730A69E310FA6A4229FC7E4F620B0FC4C63C50E99E179EB51E4C 4BC45217722F1E8E40F1E1428E792EAFE05C5A50D38C52114DFCD24D54027CBF 2512DD116F0463DE4052A7AD53B641A27E81E481947884CE35661B49153FA19E 0A2A860C7B61558671303DE6AE06A80E4E450E17067676E6BBB42A9A24ACBC3E B0CA7B7A3BFEA84FED39CCFB6D545BB2BCC49E5E16976407AB9D94556CD4F008 24EF579B6800B6DC3AAF840B3FC6822872368E3B4274DD06CA36AF8F6346C11B 43C772CC242F3B212C4BD7018D71A1A74C9A94ED0093A5FB6557F4E0751047AF D72098ECA301B8AE68110F983796E581F106144951DF5B750432A230FDA3B575 5A38B5E7972AABC12306A01A99FCF8189D71B8DBF49550BAEA9CF1B97CBFC7CC 96498ECC938B1A1710B670657DE923A659DB8757147B140A48067328E7E3F9C3 7D1888B284904301450CE0BC15EEEA00E48CCD6388F3FC3A38ED682C65299D6C 67201AC4BEC92930ED59A43AFA43F24F6ACBEA592A03841835D631F03C2C1A78 D554F14F748CFE52EE1255995118829A77F388B119B21C90975F74DE5E4A6DA9 C531C14FDA14B4AA1EC720F6CE0342AD2CFE20771E4F80ECEB0ACA2CF89E2280 6BA7F408F14F24DEEFB988141457533E4822D51A43231D49BE8B184483530CDF 6B37AE44174A99A2367CDFA06D801B1588A55CD8FBC5B1A6903110F1BC42EC5F FCCE6840E8ADC084E63A7C5C45FE6953D18AD1C2573314AF568A69608A9B3825 8DDD825D7E8041DCDA231DFB8E6ABD97BCDCA95500E72B2A64F2F989A6D7AD7C 875D0E0E051ACBD893E30EA56145D44F2DC60EA9D0F7D62021E05D2624B00B93 92171DBF9964BBEC03013F324BD4B1E3053CEED520CD0E02D3BD8695B3C1D422 9FD5F78A6F1810C4440733ACD23081486B1EE2221ABD2BFB1E06C263CAE8AE94 4698EBF555690B5BF175FB78B3E80571E61BB3FE38E49F75EC083CEE7A5DDFC7 AC37A6D9E49F46CA0B3AAE98A934A36A6D0B76A496FE37B34D462E79BDFB28B4 401DD4CF5332C97454C391CC416121B01D96EFFDA1C1A2EA1ED458125708627E 72CCE10E01B80EDF84C1658B6FF324C0F901CA8D4C7AAA3C6A2F2658F1ED7A0E 4228AA7DBA4A7AFEF4D272BD4AC3B6D90EDA8D4462328555D68A53069A1166B3 568EED4311DA1028846B3EF82C41D778B61CA2AF63443672BFFE3D58AE05D48E F48C6F8A770233D0676F819F10A2206E7DE284FDDA71B916A652240455904C5C C23A9125DC4A46E6ACFD9CC88DC11214B5E384598A7886C7D0ED2C924F114D5C 4EA02B2EDDB0BBED695D217287D5E26DE7641BACC92D152C2C955FF55514F5AA 306B89FDBD8FE7F3BE8652589BACC5F2D3CD70F4F9F72B5E6EF1385238AF1F99 F9C6FC4FF7290EA677603C36D9D496EE76E0D33ACB0CD9323DD30EAA35959B9D 0B3D683D5F29D6801B476291ACD1533C499CD686C2EBC79FD4E17DE6B862FF83 2B6E02FDE9277259183B1CEBA00E5055B51FFBBFB5043293F925453D6D0C7D50 46650524F2F2F7679EF60E398A440ED4868E7D69F6F09A040FACB689E97EDEE4 6A3F409030EE739169453982DB3775E2054E1F031B3B8F639295B3BDAB2B3F93 4CF50A549D7C06D4F4DE73AB61AE7575B49E408D531F242FBADD3568AF9E11B7 21C909FCF4A03E6F8F65D40B4B8B102A7371F5190C37310EBB52511046451DC4 D18A4FF33E0796A5F88A34390BEDE27B244439C2DCE72709E540FA939BB86CEC BEFCB50DC4031BC739029879111C0BF1FCA718F347C432CF3E969862DBF4FD46 8C35FDDA088A2DFCCA7C0686B2A4A92930F7EA8C1DAC8D5EFA1E3002936FEC21 4320629036455658CA73552DE3AF406F181F748007B820B7095056E0367606C7 009C2C7C88901798D6446A392BC9C26680763E75E5788C57423403E7C83DAB74 88A13EA139B4444E658629106BAC05E247D653BEA889CF235A8033E4457ED685 B45872CA04348319AFB8B28B0FC4E6C9AB84AB52A9F2A0950D23472911ECB370 87A378B68A9015F51BC45A0017B1E4AA3CD80B80323DABDF52FDF7702C2719C7 B84751D30E0300CA67F5DFB9118BA05E0FE50D28385639B1F68C19958390875D 5FEBAF5094F2A935F447BE610370AC01A049E013A2FEF8F08E84D34556B56521 2C628A23FA1D895DA95339310589ED37DE9B995D4C9EFAED225BFBF4210A67F9 BB05E659741C875E1797D1C5CBB043F5D6207B1567EED39C2C86B9C5FF5C0177 E13066C94101568D08686137568ED409C049DFE7739BDDC9669EC69BB407203E E06E794DE3A0E0EDBEEF5456ED4950224107F0127AFD7AD13C0BF61C1B5F9CCD EEF9432BB7F8B4C7187E41F159A7F5BA848F409C9794DE716DF1315AE4367026 2BEB9F37D8B5EE36E1E988629FE424036995275C2CE51AE16BB14C590B046711 0F20F14D6F27E127DBD70F67A0342C48DAA1F0C77A8F5147CD64072C698D4ADB D19F4C7EF9E13E8E35436DE778499298FBDB33B504820974CA16A82B52F8A28D 67F29825F87C517883A2935C9980ACFCEA6650F9027803D523630DFE17C8E7AC EF9B415A415E678F41C5FFAD9753B6D8E45A17916F5CD308615B71AF43F73D80 DFA5D140069FBA6E0B5B2738DB790D39BD5B578ED4A025EA2CEFE788A05641A8 9F9CC5CBD735EE31F8F30F802098F9C17AE97BAF965907CE743446AE57CDF35E 252034E45B5497E58E115278BE3477D9A8A9CBFDAFD7A86091B3AC7F99E339DD 5AF4BF01B8EEE55C5275759E21096A000796633A7B19CC5E91275735C84A0BC9 2D5E2053F76BE94A4085C6E7AD060F99386B90A48FDB8D34B509E205445901A5 CB65FE49F72EE231B45E5F421563484DB6613809456471CEB5A8D4BA3DF45D53 E68E8201546621A3F288B05FE705CE32E972A4E849E3856B03D8D3456EE0DD82 02FBD6534771BD10C56B68F0468D26A2843DCA34A3BDEB1979453B5F88062D49 91510280D6D18C3C9EC46612FBE91C52096313697AB0736DCAAC5A0ADDC0BDE5 5471048A44EFE095A10F9126626122604FD1CDE5D662D87B215BE06E4DE296AD 6802DF465B7C4A61DA3622FC331867A970F9342F87522B3BEEB730429A075912 408E620425E5C70C00D059F2BD5F5A0C55A1EB63B2709DEF3D043716778E3B03 21BDBCE89DC7FD679A9B28FA55BF1D0F7B5E34F31E2977BBDD4D2D83F9C58B51 0BEFA7551CF63C8934D89FD792CEA4FDA7702722858F04C6B5D638370D572A57 E08BC1E2B2745118262CDF81AA40F316DE6F04DE2D668BC1F4C1AAC825660C95 75488C1F41DC85804F6D294E06770671A777FE880A16AD6B33C6E1E02AC2C0FA A3E0FECAF6C29DC4C1216FE9B1D47D461D7873D7A9C4973E48E3C7CECEC48EBB 14617E26DDA9D2E3EDB5C22F12C2B1242E5DA67A1A7ACB95E561027088229736 5A3E2A58F62B27AEFB53BE80AE7E77DEDBEEF7D372D1875C63D9C26F590C98DA E91F9DFE100BA7CC43A2F4704C5EE61F67920C1B1072694E22E22BFAE2FA453D A49BE0EE097DD0D7E5FE6BBB01776344F0984E72D16B8148BE99A981DBE5F1BE 21F952E0018533D6CAB4EAFBBA8386ED26A23A815F67FA263E7455578DEA7D1B 50E2AC0D51B8AE692383FE5160D044B6953134F69FCCBDC13D01D1D8303C398C 3483072321C699793014E66EDE9EFE2FBAB51A0DB6D9223E12BB395711493D96 9755C59C607253685B6D8B3B2DCEA9D3CAAD1B6FDE0F36744A05EA1492C75079 B9A90BEE96EC908EBE3D328ED1BA32F98A36E95621C8BFF715B551C5E4D311C9 87195CAB672AB639803058C6203E1900982621A445E3778031DD052B53F25AE0 C1D39A1FFC50805DC46EBBA139D8DF5E911E2143AC93076DA475AF4E700E573C FE9E742E7B953829F45214B2721D3EF2FFA52BF1B59F0E1D38D155DB9507DF1A D9D1338411CBFAA9AED8C4E372BE6D7B29C1FB8ADF4428FB4F 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 cleartomark %%EndFont %%BeginFont: CMMI10 %!PS-AdobeFont-1.1: CMMI10 1.100 %%CreationDate: 1996 Jul 23 07:53:57 % Copyright (C) 1997 American Mathematical Society. All Rights Reserved. 11 dict begin /FontInfo 7 dict dup begin /version (1.100) readonly def /Notice (Copyright (C) 1997 American Mathematical Society. All Rights Reserved) readonly def /FullName (CMMI10) readonly def /FamilyName (Computer Modern) readonly def /Weight (Medium) readonly def /ItalicAngle -14.04 def /isFixedPitch false def end readonly def /FontName /CMMI10 def /PaintType 0 def /FontType 1 def /FontMatrix [0.001 0 0 0.001 0 0] readonly def /Encoding 256 array 0 1 255 {1 index exch /.notdef put} for dup 0 /.notdef put readonly def /FontBBox{-32 -250 1048 750}readonly def /UniqueID 5087385 def currentdict end currentfile eexec D9D66F633B846A97B686A97E45A3D0AA0529731C99A784CCBE85B4993B2EEBDE 3B12D472B7CF54651EF21185116A69AB1096ED4BAD2F646635E019B6417CC77B 532F85D811C70D1429A19A5307EF63EB5C5E02C89FC6C20F6D9D89E7D91FE470 B72BEFDA23F5DF76BE05AF4CE93137A219ED8A04A9D7D6FDF37E6B7FCDE0D90B 986423E5960A5D9FBB4C956556E8DF90CBFAEC476FA36FD9A5C8175C9AF513FE D919C2DDD26BDC0D99398B9F4D03D5993DFC0930297866E1CD0A319B6B1FD958 9E394A533A081C36D456A09920001A3D2199583EB9B84B4DEE08E3D12939E321 990CD249827D9648574955F61BAAA11263A91B6C3D47A5190165B0C25ABF6D3E 6EC187E4B05182126BB0D0323D943170B795255260F9FD25F2248D04F45DFBFB DEF7FF8B19BFEF637B210018AE02572B389B3F76282BEB29CC301905D388C721 59616893E774413F48DE0B408BC66DCE3FE17CB9F84D205839D58014D6A88823 D9320AE93AF96D97A02C4D5A2BB2B8C7925C4578003959C46E3CE1A2F0EAC4BF 8B9B325E46435BDE60BC54D72BC8ACB5C0A34413AC87045DC7B84646A324B808 6FD8E34217213E131C3B1510415CE45420688ED9C1D27890EC68BD7C1235FAF9 1DAB3A369DD2FC3BE5CF9655C7B7EDA7361D7E05E5831B6B8E2EEC542A7B38EE 03BE4BAC6079D038ACB3C7C916279764547C2D51976BABA94BA9866D79F13909 95AA39B0F03103A07CBDF441B8C5669F729020AF284B7FF52A29C6255FCAACF1 74109050FBA2602E72593FBCBFC26E726EE4AEF97B7632BC4F5F353B5C67FED2 3EA752A4A57B8F7FEFF1D7341D895F0A3A0BE1D8E3391970457A967EFF84F6D8 47750B1145B8CC5BD96EE7AA99DDC9E06939E383BDA41175233D58AD263EBF19 AFC0E2F840512D321166547B306C592B8A01E1FA2564B9A26DAC14256414E4C8 42616728D918C74D13C349F4186EC7B9708B86467425A6FDB3A396562F7EE4D8 40B43621744CF8A23A6E532649B66C2A0002DD04F8F39618E4F572819DD34837 B5A08E643FDCA1505AF6A1FA3DDFD1FA758013CAED8ACDDBBB334D664DFF5B53 956017667584E6F16103D733BAE8A38B284A51E2BEE8E389961403DCB416B35D 4011901380E645B0F9CE140CE1C7A3ED3CD40CDC8DF1710CC75F24CD957BF399 82C448EF27EF17254F50DFF04A6326022D22BFCC7E1A6D51E29D3EF8550D8187 3D329D7557907D9636BF9F32A7B23432ACEA5EA9F61433AC3D46F0A993F3BCAC 1E2D96B55C996BA9BEF6DD438A4B0BE2CF6F1F627FB0640854CEA6DEE3E775CD 7E765462FC4193A478F7203C4FB30B8D39A3D9E16F41FC5FC0D41B5B423BAC3B F299EC69886170A8E34CDFB8B2F9DD432C58C07E575193924BEDC3029A1DD258 09FB22133E980A58CEEA88ADD4EC4A1D1B7C53D14AB8924C9FD437F6A9EA3D64 8ABBBDE954D771CFD946F071DEC795CEE5CC4B0DC37DA95ED6C2001CC2BAD3B1 7F8AE93530A6E8B7F3D93D1A83C020D013DC50C65B113421D587329A1C28909C AE93E741E3E4B75CD0DB9B16256643698C45D41364091DF58F19EEEFE47BAC75 29FA6BF6508CE6198BB39495DF8F294E87DD549F8144FC7B843AF1697A578B8A 5CB5F48ECE2C8C66A3EBC7834A0653D7A5DA72C6937B23F5C750CC885E940AD4 EF697AA4A7261A852B87D488F65467C20B55F77CD41D45795F9C6E8F184BAE54 D9FA3385214110E1748091AA3EEBE93837628556E4409BA317D156338D4B9225 409C6F24EBB40411C39A9A96AA03FA37D3E290DA703A93B200AB9E03DE74970E 97591999F97E1658110435F37732325FAC856940F38B29BFA4E22E2EA098713D 7DB4566FB1D930B9BFBB97B0F553F3E9E4FBBB48E938D0FDA09ADFFCC6C94D5E 6FF3FA183E798C795648684EA847AFF52977FB9D80F59314D4A3150164E544F6 8E7AD9E949DE39DA2CCB772B84676F40305793B432745EC49D519ABFAD392D33 939F9640CC3168E5F6F822ACE46C08081374BE6A190292A218E31F9967F8F605 B591E32F0604A2DE2AC98F997BFBA73D0861D5A1F901EB23A6CF4AAD7D2363F1 142BEED438FAE0A8BF5131EAFC27FA97252A0CB41C6090B9E8C162A01CF96FD5 19DADD49CFEFF87DA051B946D88A73A44DE9F07446A7EA63A2CE2EF9420D5FA6 BF6D159E67C6089B6BA08FE51EB82B4ED54EE44B0CF8B2E17F683665768D6838 2D799D53537C821B73F4587572ADA4747FABFEC0797687DCF56784DD12888D7C 7655BC797CB11255D6A7522C6547E1BB0E9304EDD16E1B21AEF49E6D9D9D4A54 3CDB7B6449EA6988EC70D4DD614F15CC18778AFEC638B2D08CAD1F2A7DF9F329 3A0E97CAEC94A53CB1D36710F90B1548A8F262447765B477E8FFAC8F8F8BFE67 9439579043F17C7A4F1221B30A916776BD0599AB5A96F05A7CCCD8B3BBE922BA D265713EA492CCE4BE75659CDBDAB6A41711B1A92919B3D635C504E4920B8764 6E818F90B4713B95C6DD79EDC017133350D2D62B41B20CA50BF486C73BC1891E EC507419F31F965DAE2C30A7D4BE24D72F2E8573A6D93EC58C26A009B92DEC27 640906822C2870DFC89466C299D4953538F87CCCFD2898369396106D57DCCA2C 05D55BBBC0C2D018CBBBC5DAB0FE2F07C23338BD3804419E05FB3DB25CDA0CD8 D5E0FED2C97E1ECE4D5BA252E901B7156D6442D3AC59F19A2C64C9CEA4E0444D 2082EE02565F896989F45343134F8BC8D961BCA5608FE1C94B9B204348CFF9AE AC3773D964471723FD27AE7C623CC02A16F35FBCBE2F6D423DF00336B87ED66C 26DDECD9D0BAC3A3D9209461DE5781DFB48872223151400DFF651ADCD39C292F AC9E37F7AF880C2D177DEF3DD516EA853B9CED9264A9F9A70C080777A007EFAD 374582CDAF9943B06B20D9BCC987FEC80F9D222E15C7EB8183DCAE81B7319220 541ECCF82156FFA2A603EC4FE0345D11F380C6FCDEA87667586D702E66EB8BC5 4051F7228A09EB11E8BD23B86B58691752B7C0669ADDD07865BD022592BDEBA6 593B320724FCC770B8D71FCAF12C119E34BFDF8CB711AA78B9488844CA12A1B6 95D3D137D3EC43BB49FFA3200372A2F0FD9AAD5999D83602ACE45C59E4353C96 D3A3367B5BA4F9741A5562808E8D03A906CAA93B08B05147B002BDF5EFC09C28 465BAEEBC767529635BA550B7D1B5572CCAF981464BF36D2E0881F06B9725A1C 26E1CB46A9BDDE123F7AC61A189D27F28A01172741F73019D6853C92C5AC26B7 1F07630CF64958CCC680AB604615E4D8A38A2D3F371AE5E8F24B95289A598B8C 37742E857A935ECB4EDC6311E868803A9FC669D8D5FE46FD78C35F29A2132C5C 9EBB0AA4D2C8561385B712295B08D971323544FBB6D8C00E76C4CABC54D16F65 365C618562153DB0E3E0D23ED69687EDB401EE0799D43A6B82615D096E80F3E1 5FE656A5D2E74506FB26101DE5C250850A2ED10A91CC08D1DE6D3D6ED8C18D78 9AF071CD69B1FF2FAC5B3817CA045AB6B315B2F8DC61CC4FBEE3B2DF27478232 9189706A0332B2B7664FECD2C32C5BAFDA5D604FF4126FE930A7359F9E28B974 8626CF4870740689CC8BD279FFE0F8A531CB4D288221B59931EF70217DA1EB94 0A66B6E92264626B2F91D5D3FBF5FB048B7466971F2F1DEE36320B0B32561C4A 5A5DFE1DC496B03AC28C2D9FDF9F5F44A7B3E364E2139B8AEE817E8F2F7D88FC CE840F75D298B4347E9F9212179BB062EDD440A38D1102EA0F7AD086E8C7A3DC D045DA2E660BC11D017FF1568EC0C6D6C5F74019062DD127B2C4172DAEBD372D FE817CA300851353EE0504EBE54B4C06C1016529C1F9AFA3D038B1940D417A24 2A5CA45B0CA5046BB67165820674F5407C8B2ABFBDCD9A46199DA191188BD773 2FA51BCAE8A10DC96C5BEAC4545B0FEA5DFD6E320680B9762026BE0985EE435B 754A9DF4A77E97AEE2B902E631011B7454CE1537A3F21E0CF97FCB7DF03A4346 68390F646AF0A0657DCA0C9C7C316C7F91F6511B80223855F3A83665B1C6E069 7C92BBF5E351DAA4CD8C0E3FB883F0C607FB4433772B16AD1034A28C6E2A48B6 21326923EF7978342E8C51F1F084318837575E034195A4D18EC26BD7D17BB152 402A20B89F1593245E3D7BDF796DD41B431827CB96251194F316ADFE4A98E02E E9C3A4F7A9424B3BC81E2C4C214315D3F9516AF11DCDB135902F6C3F9E650DA3 48B54A11624E45320DBADE4BBD594526CA9E7D09AF9F361CD3BBFF049624D37F E2F34AC7063BD120E8B2BA8FFED181D16018D5E6CB6E04C4B81C29068CA3CCE5 3836992ED8DD0E5596B799199E59D6C21E33F6EC19B6DF41D942911A36746600 42A27DA3AEC1B52E8D656032A9427A380D91615F4A503DB506C6E773A79CA167 00B1BD5E548650C5385853B29E0695C1B60F85F37B6A3E4D1689D7DA160CE58B DCEA02086372E26D5B820A6873D981C2BCA7F9AE2A55F63A04FF75A1380728A8 6FBA3A13E882C8E26DE3B24394FA7D34C0F160B4976EE0967450C74DA7E60CFE CC1181152406394E33366CC6D467C58E3AAE96B35F0D0DCBDA58509475547E18 C0F0E1CEBB3CB62FA2AEC46D0F158FA2861A3C3863900BA8DAFFCA923289C0D0 53669D1621ED913D2862289583D306B6823511A4D807A7CA5B9A870A38EB6A7B EB4B9745A5223EF025FDBE0F31946067F8BAEC01F75CFF3AEE1D499AA4F2D124 5F31ACEB573DBAAA53663AB6D6E10FFB8097282E14E30BA888F4F0BE0A6F4314 9EC0E243F713F60614BA8714A14D25D722DAF0A67C6C5265AA2A59F34254515B 98E1A90B38A1854A895B85860D44327167F262C90893FC57AD52846F62544611 74EB6F8E677177232540386D564380BE113E3176C0C21B78499DA244A2A814B3 E0ED74F9118B882016B6B5FEA78F3807EC76FC154842C5FBA8E5C890F9AC0063 8F4517D5C64131E95FA7E63851325ED5DBC3EA4AE46284CABA05440C3F04E6C0 0E598D4744F8ABAA75C8769894C126F037A45BF275D4A2C448B81DD41BAB18AD 327405D0161F6C061B73DE2564F322699C29C5304FC6EA7A5165F9C40EB81443 0972CCD60BF9D4FA677041FB7386FC1EF0E1DE37B63D911C0952C0A5B53C2450 69A6C9FE69D639463A6614993E1FA2A7AA2AF24B1A20F2A43BD7E79B5AEFDB07 C8C94A40E6DA37E43F8576B50C3B8AB0FA0E427D6FB2E9E4A424B59BD2B7F52C 300E1022F826CE48094D5EF6EA747CB3B2703C3437AAEB184389B9D04EC440EF 2B1C6918C9AB58D2F4E53B216EDF0912A3873A449DBB1AC8864B595E392DC303 10163007174EF5F6157C4A4E93023CC771E45EB8A74CDEA93087457931D7D249 FC10688D22723E35C29896434D2804F14C3D73AA8C5B5BEC1C4389885BAD0056 BEEF2BC8A32E3E201001A02AD9320AC34171B87059682AC10CFC8E3CE4C5979D F406A2972542432FC9BAFF79402056916C1B000215D9F0FBACC4B59065301E3E AF3EAB06E38F2D6749F478BC96209FF009292E487129DB405046516EB5B90800 4EA976093DD6D78DF3D06D3F0A77EE8BBF20038368654EB0E22088FD88C17191 6B7FBA5A4870E24C 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 cleartomark %%EndFont TeXDict begin 40258431 52099146 1000 600 600 (paper.dvi) @start /Fa 133[50 2[50 2[50 50 50 1[50 50 50 50 50 2[50 50 50 50 50 1[50 50 39[50 4[50 50 50 1[50 1[50 50 46[{ TeXBase1Encoding ReEncodeFont }24 83.022 /Courier rf /Fb 206[35 35 10[59 37[{ TeXf7b6d320Encoding ReEncodeFont }3 66.4176 /CMR8 rf /Fc 255[52{ TeXbbad153fEncoding ReEncodeFont }1 58.1154 /CMSY7 rf /Fd 167[120 88[{}1 83.022 /CMEX10 rf /Fe 138[46 25 36 36 46 4[25 41 3[46 1[41 1[41 1[46 14[56 1[56 27[46 46 46 46 2[23 46[{ TeXBase1Encoding ReEncodeFont }18 91.3242 /Times-Italic rf /Ff 134[37 37 55 37 42 23 32 32 1[42 42 42 60 23 37 1[23 42 42 23 37 42 37 42 42 8[51 69 1[60 46 42 51 1[51 60 55 69 3[28 60 60 51 51 60 55 1[51 12[42 42 42 42 42 1[21 28 21 2[28 28 40[{ TeXBase1Encoding ReEncodeFont }51 83.022 /Times-Italic rf /Fg 177[56 78[{ TeXaae443f0Encoding ReEncodeFont }1 66.4176 /CMMI8 rf /Fh 137[33 2[31 4[41 59 21 35 1[23 1[32 5[36 97[{ TeXaae443f0Encoding ReEncodeFont }9 58.1154 /CMMI7 rf /Fi 252[42 1[23 65{ TeXbbad153fEncoding ReEncodeFont }3 83.022 /CMSY10 rf /Fj 134[37 1[54 37 37 21 29 25 1[37 37 37 58 21 2[21 37 2[33 37 33 37 33 9[71 21[54 18[19 46[{ TeXBase1Encoding ReEncodeFont }22 74.7198 /Times-Roman rf /Fk 206[25 49[{ TeXBase1Encoding ReEncodeFont }1 49.8132 /Times-Roman rf /Fl 206[29 49[{ TeXBase1Encoding ReEncodeFont }1 58.1154 /Times-Roman rf /Fm 133[29 33 33 48 33 37 22 26 29 37 37 33 37 55 18 37 1[18 37 33 22 29 37 29 37 33 9[66 2[44 37 48 52 41 52 2[44 52 1[26 2[41 2[48 44 48 5[22 22 6[33 33 33 2[17 22 17 2[22 22 36[37 37 2[{ TeXBase1Encoding ReEncodeFont }51 66.4176 /Times-Bold rf /Fn 138[46 2[37 5[23 2[23 1[42 1[37 2[46 42 12[55 13[51 11[28 42 42 42 42 42 42 42 42 42 42 48[{ TeXBase1Encoding ReEncodeFont }21 83.022 /Times-Bold rf /Fo 194[51 3[33 6[33 33 49[{ TeXf7b6d320Encoding ReEncodeFont }4 58.1154 /CMR7 rf /Fp 194[65 3[42 2[42 42 2[42 42 42 4[65 1[32 32 2[69 37[{ TeXf7b6d320Encoding ReEncodeFont }11 83.022 /CMR10 rf /Fq 136[59 2[30 3[42 40 50 1[25 43 1[29 20[49 5[67 1[57 8[59 63 3[65 42 65 1[23 58[{ TeXaae443f0Encoding ReEncodeFont }17 83.022 /CMMI10 rf /Fr 105[42 1[37 37 24[37 42 42 60 42 42 23 32 28 42 42 42 42 65 23 42 23 23 42 42 28 37 42 37 42 37 3[28 1[28 51 60 60 78 60 60 51 46 55 60 46 60 60 74 51 60 32 28 60 60 46 51 60 55 55 60 5[23 23 42 42 42 42 42 42 42 42 42 42 23 21 28 21 47 1[28 28 28 1[69 3[28 29[46 46 2[{ TeXBase1Encoding ReEncodeFont }81 83.022 /Times-Roman rf /Fs 82[33 50[44 50 1[72 1[55 33 39 44 55 55 50 55 83 28 55 1[28 55 50 33 44 55 44 55 50 7[72 1[100 72 72 66 55 72 1[61 78 72 94 66 78 1[39 1[78 61 66 72 72 66 72 7[50 50 50 50 50 50 50 50 50 50 1[25 43[55 2[{ TeXBase1Encoding ReEncodeFont }57 99.6264 /Times-Bold rf /Ft 134[42 2[42 1[23 42 28 2[46 46 1[18 2[18 46 46 23 46 3[46 9[78 1[60 11[23 5[60 67[{ TeXBase1Encoding ReEncodeFont }18 83.022 /Helvetica rf /Fu 134[50 50 72 50 55 28 50 33 2[55 55 83 22 1[22 22 55 55 1[55 55 50 1[55 7[66 66 94 2[61 15[72 2[66 101 17[28 46[{ TeXBase1Encoding ReEncodeFont }28 99.6264 /Helvetica rf /Fv 82[50 53[116 1[91 50 1[58 2[91 91 133 42 83 1[42 91 91 1[83 1[83 15[100 4[108 9[108 2[108 65[{ TeXBase1Encoding ReEncodeFont }19 149.44 /Helvetica-Bold rf end %%EndProlog %%BeginSetup %%Feature: *Resolution 600dpi TeXDict begin %%BeginPaperSize: Letter letter %%EndPaperSize end %%EndSetup %%Page: 1 1 TeXDict begin 1 0 bop 663 272 a Fv(A)41 b(DoS\255limiting)f(Netw)m(ork) i(Ar)m(c)o(hitecture)435 633 y Fu(Xiao)o(w)o(ei)29 b(Y)-14 b(ang)271 724 y Ft(Univ)n(ersity)23 b(of)g(Calif)n(or)r(nia)h(at)628 816 y(Ir)r(vine)360 940 y Fu(xwy@ics)o(.uci.edu)1601 633 y(Da)n(vid)29 b(W)m(ether)o(all)1494 724 y Ft(Univ)n(ersity)22 b(of)h(W)m(ashington)1414 849 y Fu(djw@cs)o(.w)o(ashington.edu)2848 633 y(T)-12 b(om)28 b(Anderson)2712 724 y Ft(Univ)n(ersity)23 b(of)g(W)m(ashington)2624 849 y Fu(tom@cs)o(.w)o(ashington.edu)0 1353 y Fs(ABSTRA)-5 b(CT)0 1478 y Fr(W)e(e)23 b(present)e(the)h(design) f(and)g(e)n(v)n(aluation)f(of)i(a)g(netw)o(ork)f(archi-)0 1569 y(tecture)j(that)g(limits)g(the)h(impact)e(of)h(Denial)g(of)g (Service)f(\(DoS\))0 1660 y(\003oods)k(from)f(the)h(outset.)g(Our)g(w)o (ork)g(b)n(uilds)g(on)g(earlier)f(w)o(ork)0 1752 y(on)21 b(capabilities)h(in)g(which)f(senders)h(obtain)f(short-term)f(autho-)0 1843 y(rizations)f(from)f(recei)n(v)o(ers)h(that)g(the)o(y)g(use)h(to)f (stamp)h(their)f(pack-)0 1934 y(ets.)25 b(Unlik)o(e)19 b(pre)n(vious)f(w)o(ork,)g(ho)n(we)n(v)o(er)m(,)f(our)i(design)f (addresses)0 2026 y(the)25 b(full)f(range)g(of)g(possible)g(attacks)h (against)f(communication)0 2117 y(between)h(pairs)h(of)f(hosts,)i (including)d(spoofed)g(pack)o(et)h(\003oods,)0 2208 y(netw)o(ork)16 b(and)g(host)h(bottlenecks,)f(and)g(router)f(state)j(e)o(xhaustion.)0 2300 y(W)-7 b(e)21 b(use)f(simulation)f(to)h(sho)n(w)g(that)g(attack)g (traf)n(\002c)f(can)h(only)f(de-)0 2391 y(grade)29 b(le)o(gitimate)h (traf)n(\002c)g(to)h(a)g(limited)f(e)o(xtent,)i(signi\002cantly)0 2482 y(outperforming)12 b(pre)n(viously)h(proposed)h(DoS)h(solutions.W) -7 b(e)16 b(use)0 2574 y(a)k(modi\002ed)e(Linux)g(k)o(ernel)h (implementation)e(to)i(ar)o(gue)f(that)i(our)0 2665 y(design)32 b(can)g(run)f(on)h(gigabit)f(links)i(using)f(only)f(ine)o(xpensi)n(v)o (e)0 2756 y(of)n(f-the-shelf)20 b(hardw)o(are.)32 b(Our)23 b(design)f(is)i(also)g(easy)f(to)g(transi-)0 2848 y(tion)17 b(into)h(practice,)f(pro)o(viding)e(incremental)h(bene\002t)i(for)f (incre-)0 2939 y(mental)j(deplo)o(yment.)0 3183 y Fs(1.)99 b(INTR)m(ODUCTION)75 3300 y Fr(Denial)33 b(of)g(Service)f(\(DoS\))h (attacks)g(ha)n(v)o(e)g(become)f(an)h(in-)0 3391 y(creasing)23 b(threat)g(to)h(the)f(reliability)g(of)g(the)h(Internet.)34 b(An)23 b(early)0 3482 y(study)17 b(sho)n(wed)f(that)h(DoS)h(attacks)f (occurred)e(at)j(a)g(rate)f(of)g(nearly)0 3574 y(4000)e(attacks)i(per)g (week)g([15].)22 b(In)17 b(2001,)f(a)h(DoS)g(attack)g([3])f(w)o(as)0 3665 y(able)21 b(to)g(tak)o(e)f(do)n(wn)g(se)n(v)o(en)g(of)g(the)h (thirteen)f(DNS)i(root)e(serv)o(ers.)0 3756 y(Recently)-5 b(,)32 b(DoS)e(attacks)h(ha)n(v)o(e)e(been)h(used)g(for)f(online)h(e)o (xtor)n(-)0 3847 y(tion;)c(in)e(March)f(2004,)h(se)n(v)o(eral)f (British)i(gambling)d(sites)j(were)0 3939 y(subject)e(to)h(repeated)e (DoS)h(attacks,)h(and)f(some)g(paid)g(of)n(f)g(to)g(go)0 4030 y(back)d(to)g(normal)f(b)n(usiness)h(operations.)75 4121 y(The)h(importance)e(of)i(the)g(problem)e(has)j(led)f(to)g(a)h (raft)f(of)g(pro-)0 4213 y(posed)28 b(solutions.)48 b(Researchers)28 b(ha)n(v)o(e)g(proposed)e(ingress)i(\002l-)0 4304 y(tering)21 b(to)h(pre)n(v)o(ent)e(the)h(use)h(of)f(spoofed)f(source)h(addresses)h ([6],)0 4395 y(traceback)14 b(to)h(locate)g(the)g(source)g(of)g(the)g (disrupting)f(pack)o(ets)g([19,)0 4487 y(21,)25 b(20,)h(23],)f(o)o(v)o (erlay-based)d(\002ltering)i([10,)h(1,)h(12])f(to)g(protect)0 4578 y(approaches)e(to)j(serv)o(ers,)g(pushback)d(of)i(traf)n(\002c)h (\002lters)g(into)f(the)0 4669 y(netw)o(ork)15 b([13,)i(8],)g(address)f (isolation)g(to)h(distinguish)f(client)g(and)0 4761 y(serv)o(er)j(traf) n(\002c)g([7],)g(and)g(most)h(recently)-5 b(,)18 b(recei)n(v)o(er)n (-dri)n(v)o(en)e(capa-)0 4852 y(bilities)21 b([2,)e(24].)75 4943 y(Each)29 b(of)h(these)g(proposals)f(has)i(merit)e(and)h(pro)o (vides)e(tech-)0 5035 y(niques)22 b(and)g(mechanisms)f(that)i(can)f (help)g(to)h(address)f(the)h(DoS)0 5126 y(problem.)63 b(Y)-8 b(et)34 b(we)g(ar)o(gue)d(that,)37 b(by)c(their)g(nature,)j (each)d(ad-)0 5217 y(dresses)16 b(only)f(an)h(aspect)g(of)g(DoS)g (rather)f(than)g(the)h(o)o(v)o(erall)e(prob-)0 5309 y(lem.)25 b(In)18 b(contrast,)h(our)f(goal)h(in)g(this)g(paper)f(is)i(to)g(pro)o (vide)d(a)i(\002rst)0 5400 y(cut)j(at)h(a)g(comprehensi)n(v)o(e)c (solution)j(to)g(the)g(DoS)h(problem.)30 b(W)-7 b(e)2000 1353 y(be)o(gin)20 b(by)g(de\002ning)g(what)h(we)h(require)e(of)g(a)i (DoS-limiting)e(net-)2000 1445 y(w)o(ork)26 b(architecture:)37 b(that)27 b(it)g(ensure)f(that)h(an)o(y)f(tw)o(o)h(le)o(gitimate)2000 1536 y(nodes)d(be)g(able)h(to)f(ef)n(fecti)n(v)o(ely)f(communicate)g (despite)h(the)h(ar)n(-)2000 1627 y(bitrary)e(beha)n(vior)g(of)i Fq(k)j Fr(attacking)23 b(hosts.)i(W)-7 b(e)26 b(limit)f(ourselv)o(es) 2000 1719 y(to)k(open)g(netw)o(orks,)h(such)f(as)h(the)f(Internet,)h (where)f(the)g(com-)2000 1810 y(municating)17 b(hosts)j(are)f(not)g (kno)n(wn)f(in)i(adv)n(ance;)e(this)i(rules)f(out)2000 1901 y(statically)d(con\002gured)e(netw)o(orks)i(that,)h(for)e(e)o (xample,)h(only)f(per)n(-)2000 1993 y(mit)20 b(le)o(gitimate)g(hosts)g (to)h(send)f(pack)o(ets)g(to)g(each)g(other)-5 b(.)2075 2084 y(W)e(e)24 b(tak)o(e)g(as)g(a)g(starting)g(point)f(for)g(our)g (architecture)f(the)h(no-)2000 2175 y(tion)18 b(of)g(capabilities)f(as) i(proposed)d(by)i(Anderson)f(et)h(al.)h([2])e(and)2000 2267 y(re\002ned)h(by)h(Perrig)g(and)g(Song)f([24].Our)g(attraction)g (to)i(capabil-)2000 2358 y(ities)28 b(is)f(that)g(the)o(y)f(cut)h(to)g (the)g(heart)f(of)h(the)g(DoS)g(problem)e(by)2000 2449 y(allo)n(wing)d(destinations)h(to)g(control)f(the)h(pack)o(ets)g(the)o (y)g(recei)n(v)o(e.)2000 2540 y(That)i(is,)i(the)o(y)d(of)n(fer)g(an)i (architectural)d(vision)i(that)g(may)g(serv)o(e)2000 2632 y(as)c(the)g(basis)g(of)f(a)h(long-term)d(solution.)26 b(This)20 b(is)i(also)f(the)f(chal-)2000 2723 y(lenge)26 b(that)h(we)h(f)o(ace.)45 b(As)28 b(an)f(architectural)e(vision,)k (capabili-)2000 2814 y(ties)22 b(are)e(either)h(little)g(understood)e (at)i(a)g(detailed)g(le)n(v)o(el)f(or)h(lea)n(v)o(e)2000 2906 y(man)o(y)j(important)f(questions)i(unanswered.)38 b(In)24 b(our)h(w)o(ork,)g(we)2000 2997 y(consider)19 b(a)i(more)f(complete)f(set)i(of)g(possible)f(attacks)g(on)g(these)2000 3088 y(systems,)f(including)d(those)j(that)f(\003ood)g(the)g(setup)g (channel,)f(that)2000 3180 y(e)o(xhaust)33 b(router)h(state,)k(that)d (consume)e(netw)o(ork)h(bandwidth,)2000 3271 y(and)22 b(so)i(forth.)32 b(A)24 b(k)o(e)o(y)e(contrib)n(ution)f(of)i(our)f(w)o (ork)g(is)i(the)f(care-)2000 3362 y(ful)g(design)g(and)g(e)n(v)n (aluation)f(of)i(a)g(more)e(complete)h(capability-)2000 3454 y(based)d(netw)o(ork)f(architecture.)2075 3545 y(W)-7 b(e)33 b(ha)n(v)o(e)g(also)g(designed)e(our)h(system)h(to)g(be)f (practical)g(in)2000 3636 y(three)f(k)o(e)o(y)g(respects.)59 b(First,)35 b(we)d(bound)e(both)h(the)g(computa-)2000 3728 y(tion)c(and)g(state)h(needed)f(to)g(process)g(capabilities.)47 b(W)-7 b(e)29 b(report)2000 3819 y(on)k(an)h(implementation)e(that)i (suggests)g(our)g(design)f(will)i(be)2000 3910 y(able)29 b(to)h(operate)e(at)i(gigabit)e(speeds)i(with)g(commodity)d(hard-)2000 4002 y(w)o(are.)62 b(Second,)34 b(we)f(ha)n(v)o(e)f(designed)g(our)g (system)g(to)h(be)g(in-)2000 4093 y(crementally)24 b(deplo)o(yable)g (in)i(the)g(current)f(Internet.)41 b(This)26 b(can)2000 4184 y(be)g(done)f(by)h(placing)f(inline)h(pack)o(et)g(processing)f (box)o(es)g(adja-)2000 4276 y(cent)h(to)h(routers)f(at)h(trust)g (boundaries)d(and)i(points)g(of)h(conges-)2000 4367 y(tion,)d(and)f (upgrading)d(hosts)k(to)g(tak)o(e)f(adv)n(antage)f(of)h(them.)35 b(No)2000 4458 y(changes)23 b(to)i(Internet)e(routing)g(or)h(le)o(gac)o (y)e(routers)i(are)g(needed,)2000 4550 y(and)j(no)h(cross-pro)o(vider)c (relationships)j(are)h(required.)46 b(Third,)2000 4641 y(our)27 b(design)h(pro)o(vides)e(a)j(spectrum)e(of)h(solutions)g(that) h(can)f(be)2000 4732 y(mix)o(ed)d(and)h(matched)f(to)h(some)h(e)o (xtent.)42 b(Our)26 b(intent)g(is)h(to)g(see)2000 4824 y(ho)n(w)e(f)o(ar)h(it)h(is)g(possible)e(to)h(go)g(to)n(w)o(ards)f (limiting)h(DoS)g(with)g(a)2000 4915 y(practical)k(implementation,)i(b) n(ut)f(we)h(are)f(pragmatic)f(enough)2000 5006 y(to)h(realize)g(that)f (others)h(may)f(apply)g(a)h(dif)n(ferent)f(cost-bene\002t)2000 5098 y(tradeof)n(f.)2075 5189 y(The)17 b(remainder)e(of)i(this)h(paper) f(discusses)g(our)g(w)o(ork)g(in)g(more)2000 5280 y(detail.)39 b(W)-7 b(e)26 b(discuss)f(related)g(w)o(ork)f(in)h(Section)f(2,)i(moti) n(v)n(ating)2000 5372 y(our)19 b(approach)f(in)j(Section)e(3.)25 b(Section)20 b(4)h(describes)e(a)i(concrete)1929 5649 y(1)p eop end %%Page: 2 2 TeXDict begin 2 1 bop 0 83 a Fr(implementation)23 b(of)i(our)f (architecture)g(and)g(illustrates)i(its)g(be-)0 174 y(ha)n(vior)-5 b(.)27 b(Sections)21 b(5,)g(6)g(and)g(7)g(e)n(v)n(aluate)f(our)g (approach)f(using)h(a)0 266 y(combination)i(of)i(simulation,)g (analysis,)h(and)f(a)h(k)o(ernel)e(imple-)0 357 y(mentation.)56 b(Section)30 b(8)h(discusses)g(deplo)o(yment)e(issues,)34 b(and)0 448 y(Section)20 b(9)g(summarizes)f(our)h(w)o(ork.)0 718 y Fs(2.)99 b(RELA)-9 b(TED)26 b(W)o(ORK)75 834 y Fr(Our)i(design)h(le)n(v)o(erages)e(aspects)j(of)e(se)n(v)o(eral)h(pre) n(vious)e(pro-)0 925 y(posals)21 b(to)g(address)f(DoS)h(attacks.)27 b(In)20 b(this)i(section,)e(we)h(discuss)0 1016 y(this)d(pre)n(vious)f (w)o(ork,)g(using)h(sample)f(attack)h(scenarios)f(to)h(illus-)0 1108 y(trate)24 b(the)g(strengths)g(and)g(weaknesses)g(of)f(the)i (prior)e(w)o(ork)g(and)0 1199 y(to)d(moti)n(v)n(ate)g(our)f(approach.) 75 1290 y(Early)i(w)o(ork)h(in)g(the)h(area)f(of)f(denial)h(of)g (service)g(tar)o(geted)f(the)0 1382 y(goal)33 b(of)g(making)g(all)h (sources)f(identi\002able;)39 b(while)34 b(this)g(is)g(a)0 1473 y(k)o(e)o(y)h(step)h(to)n(w)o(ards)g(addressing)e(DoS)i(attacks,)k (it)d(is)f(insuf)n(\002-)0 1564 y(cient)27 b(in)h(itself)f(as)h(a)g (complete)e(solution.)45 b(F)o(or)27 b(e)o(xample,)g(tw)o(o)0 1656 y(w)o(ays)k(to)f(pro)o(vide)e(source)i(identity)f(are)i(ingress)f (\002ltering)f([6])0 1747 y(and)f(traceback)e([19,)k(20,)f(21].)48 b(W)m(ith)29 b(ingress)f(\002ltering,)h(edge)0 1838 y(routers)d (discard)g(pack)o(ets)g(with)h(source)f(addresses)g(outside)g(of)0 1930 y(the)d(local)f(pre\002x;)i(with)f(traceback,)e(routers)h(stamp)h (pack)o(ets)f(or)0 2021 y(record)k(state)h(to)h(enable)e(the)h(recei)n (v)o(er)e(to)j(determine)d(the)i(path)0 2112 y(of)f(an)o(y)g(arri)n (ving)f(unw)o(anted)g(pack)o(ets.)43 b(A)27 b(simple)f(attack)h(foils)0 2204 y(both)g(approaches,)g(ho)n(we)n(v)o(er)-5 b(.)45 b(An)28 b(attack)o(er)f(can)g(\003ood)g(a)h(link)0 2295 y(in)19 b(the)g(middle)f(of)g(the)h(netw)o(ork,)e(causing)h(useful)g (pack)o(ets)h(to)g(be)0 2386 y(dropped)f(due)i(to)h(congestion;)e(the)i (attack)o(er)f(can)g(then)g(hide)g(her)0 2478 y(tracks)27 b(by)g(using)f(the)h(IP)h(TTL)f(\002eld)g(to)g(cause)g(the)g (disrupting)0 2569 y(pack)o(ets)f(to)g(be)g(dropped)e(by)i(the)g(netw)o (ork)f(immediately)g(after)0 2660 y(the)d(congested)f(link,)h(such)g (that)g(the)o(y)f(ne)n(v)o(er)g(arri)n(v)o(e)g(at)i(the)f(des-)0 2752 y(tination.)34 b(From)23 b(the)g(destination')-5 b(s)23 b(perspecti)n(v)o(e,)f(the)i(netw)o(ork)0 2843 y(simply)h(appears)g(to)h(be)g(brok)o(en:)34 b(pack)o(ets)26 b(sent)g(by)f(a)h(w)o(orking)0 2934 y(host)j(are)h(discarded)e(by)h (the)h(netw)o(ork,)g(with)g(no)f(e)n(vidence)f(of)0 3026 y(the)h(cause)g(of)g(their)f(demise)h(visible)g(to)g(either)g(the)g (source)f(or)0 3117 y(the)20 b(destination.)75 3208 y(One)k(might)f (think)h(that)g(per)n(-\003o)n(w)g(f)o(air)g(queueing)e([4])h(w)o(ould) 0 3300 y(help,)h(by)g(ensuring)f(that)h(each)g(\003o)n(w)g(gets)h(its)g (f)o(air)f(share)g(of)g(the)0 3391 y(bottleneck)f(bandwidth.)37 b(If)25 b(we)h(assume)e(ingress)h(\002ltering,)g(so)0 3482 y(that)g(an)f(attack)o(er)g(cannot)g(spoof)f(source)h(addresses,)h Fq(k)j Fr(attack-)0 3574 y(ing)20 b(hosts)h(sending)f(to)h(the)f (destination)g(can)g(limit)h(a)g(good)f(con-)0 3665 y(nection)k(to)g Fp(1)p Fq(=k)s Fr(,)h(e)n(v)o(en)f(if)h(the)f(destination)g(kno)n(ws)f (it)j(does)e(not)0 3756 y(w)o(ant)d(an)o(y)g(of)g(the)g(attack)g(traf)n (\002c.)28 b(There)21 b(is)h(a)g(further)e(problem,)0 3847 y(ho)n(we)n(v)o(er)-5 b(.)52 b(If)30 b(f)o(air)f(queueing)f(is)j (de\002ned)d(for)i(\003o)n(ws)g(\(pairs)f(of)0 3939 y(hosts)i(as)h (sources)e(and)h(sinks\),)i(an)e(attack)o(er)f(in)h(control)f(of)g Fq(k)0 4030 y Fr(well-positioned)22 b(hosts)j(can)f(create)f(a)i(lar)o (ge)e(number)f(of)i(\003o)n(ws)0 4121 y(between)j(those)i(hosts,)h (each)e(of)g(which)g(w)o(ould)f(appear)g(to)i(be)0 4213 y(le)o(gitimate)23 b(from)f(the)i(perspecti)n(v)o(e)e(of)h(the)g(f)o (air)h(queued)e(router)-5 b(.)0 4304 y(The)17 b(ef)n(fect)g(w)o(ould)g (be)g(to)h(limit)g(the)g(useful)e(traf)n(\002c)i(to)f(only)g Fp(1)p Fq(=k)1864 4274 y Fo(2)0 4395 y Fr(of)24 b(the)h(congested)e (link.)37 b(F)o(or)24 b(e)o(xample,)g(a)h(thousand)e(compro-)0 4487 y(mised)33 b(hosts,)i(if)e(well-placed,)h(could)e(cut)h(a)g (gigabit)e(link)i(to)0 4578 y(only)19 b(a)i(kilobit)f(of)g(useful)f (traf)n(\002c.)75 4669 y(Another)30 b(alternati)n(v)o(e)g(that)i(has)f (been)g(proposed)e(is)k(for)e(the)0 4761 y(netw)o(ork)g(to)h(limit)g (communication)d(to)j(pre-established)e(pat-)0 4852 y(terns;)42 b(for)34 b(e)o(xample,)j(le)o(gitimate)e(hosts)g(could)e(be)i(gi)n(v)o (en)f(an)0 4943 y(authenticator)c(of)n(f-line)g(that)j(permits)e(them)h (to)g(send)g(to)g(spe-)0 5035 y(ci\002c)22 b(destinations.)e(SOS)i ([10])f(and)f(Mayday)g([1])h(tak)o(e)g(this)h(ap-)0 5126 y(proach.)17 b(Our)h(goal)g(is)h(to)g(design)e(an)i(open)e(netw)o(ork,) g(one)h(where)0 5217 y(an)o(y)32 b(tw)o(o)h(hosts)g(can)f(communicate)f (without)h(prior)g(arrange-)0 5309 y(ment;)20 b(our)f(w)o(ork)g(can)h (thus)g(be)g(seen)g(as)g(automating)f(the)h(pro)o(vi-)0 5400 y(sion)g(of)g(the)g(of)n(f-line)f(authenticator)f(in)i(SOS)i(or)d (Mayday)-5 b(.)2075 83 y(Researchers)28 b(ha)n(v)o(e)h(also)g(proposed) e(gi)n(ving)h(priority)f(to)j(the)2000 174 y(pack)o(ets)e(the)h (destination)e(has)i(declared)f(it)h(w)o(ants)g(to)g(recei)n(v)o(e.) 2000 266 y(Again,)19 b(this)h(is)h(a)g(k)o(e)o(y)f(step,)g(b)n(ut)g(it) h(is)g(insuf)n(\002cient)e(in)h(itself)h(as)g(it)2000 357 y(does)k(not)g(address)f(attacks)h(that)h(e)o(xhaust)e(netw)o(ork)g (resources.)2000 448 y(An)19 b(insidious)g(aspect)g(of)g(the)h (Internet)e(model)g(is)i(that)g(recei)n(v)o(ers)2000 540 y(ha)n(v)o(e)g(no)g(control)f(o)o(v)o(er)g(the)i(resources)f (consumed)e(on)j(their)f(be-)2000 631 y(half;)35 b(a)30 b(host)g(can)g(recei)n(v)o(e)f(\(and)g(ha)n(v)o(e)g(to)i(pay)e(for!\)) 54 b(an)30 b(in\002-)2000 722 y(nite)c(stream)g(of)f(pack)o(ets)h(from) f(the)h(same)g(host,)h(re)o(gardless)e(of)2000 814 y(whether)j(those)g (pack)o(ets)h(are)f(desired.)50 b(One)29 b(solution)f(to)h(this)2000 905 y(problem)14 b(is)j(pushback:)k(the)16 b(installation)g(of)g(recei) n(v)o(er)n(-speci\002ed)2000 996 y(\002lters)i(at)g(routers)f(in)h(the) g(middle)f(of)g(the)h(netw)o(ork,)f(to)h(cause)f(un-)2000 1088 y(w)o(anted)24 b(pack)o(ets)g(to)g(be)g(dropped)e(before)h(the)o (y)h(e)n(v)o(er)f(reach)h(the)2000 1179 y(destination.)48 b(Unfortunately)-5 b(,)27 b(since)h(sources)g(can)g(arbitrarily)2000 1270 y(specify)23 b(the)g(contents)g(of)g(pack)o(ets,)g(there)g(is)i (no)e(practical)g(w)o(ay)2000 1362 y(for)30 b(a)g(\002lter)h(to)g (discriminate)e(against)h(the)g(pack)o(ets)g(from)f(un-)2000 1453 y(w)o(anted)20 b(sources)g(vs.)27 b(desired)20 b(sources,)g (without)g(ha)n(ving)g(some)2000 1544 y(kind)29 b(of)i(authenticator)d (in)j(each)f(pack)o(et.)55 b(Our)30 b(w)o(ork)f(can)i(be)2000 1636 y(seen)20 b(as)h(a)g(rob)n(ust)e(implementation)f(of)i(such)g(an)g (authenticator)-5 b(.)2075 1727 y(Anderson)22 b(et)j(al.)37 b(propose)22 b(putting)h(a)h(capability)-5 b(,)24 b(or)g(tok)o(en,)2000 1818 y(into)g(each)g(data)g(pack)o(et)g(to)g(demonstrate)f(that)i(the)f (pack)o(et)g(w)o(as)2000 1910 y(requested)f(by)h(the)g(recei)n(v)o(er)f ([2].)37 b(Communication)22 b(tak)o(es)i(tw)o(o)2000 2001 y(steps:)47 b(\002rst,)34 b(the)d(sender)f(requests)g(permission)g (to)h(send;)36 b(af-)2000 2092 y(ter)21 b(v)o(erifying)e(the)j(sender)e (is)j(good,)d(the)h(recei)n(v)o(er)f(pro)o(vides)g(the)2000 2183 y(sender)33 b(with)g(an)h(authenticator)e(tok)o(en.)64 b(When)33 b(included)f(in)2000 2275 y(a)27 b(data)g(pack)o(et,)h(this)g (tok)o(en)e(v)o(eri\002es)h(to)g(the)g(netw)o(ork)f(that)i(the)2000 2366 y(pack)o(ets)21 b(were)h(authorized)d(by)i(the)h(recei)n(v)o(er)-5 b(.)28 b(Needless)22 b(to)g(say)-5 b(,)2000 2457 y(by)20 b(itself)h(this)g(only)f(pro)o(vides)f(proof)g(that)h(the)h(recei)n(v)o (er)e(w)o(anted)2000 2549 y(the)27 b(pack)o(et;)i(it)f(does)e(not)h (pre)n(v)o(ent)d(attacks)j(against)f(the)h(initial)2000 2640 y(request)32 b(pack)o(et,)i(attacks)f(against)e(the)i(router)e (state)i(or)f(com-)2000 2731 y(putation)d(needed)f(to)j(v)o(erify)d (the)i(pack)o(et,)i(and)e(so)g(forth.)54 b(F)o(or)2000 2823 y(e)o(xample,)18 b(Anderson)f(et)j(al.)25 b(use)20 b(a)f(separate)g(o)o(v)o(erlay)e(for)i(trans-)2000 2914 y(mitting)f(the)i(request)e(pack)o(ets;)h(an)h(attack)f(against)f(this) i(channel)2000 3005 y(w)o(ould)d(disrupt)g(hosts)i(that)f(had)f(not)h (yet)g(established)f(a)i(capabil-)2000 3097 y(ity)h(to)h(send.)2075 3188 y(In)28 b(SIFF)-7 b(,)30 b(Perrig)f(et)h(al.)52 b(impro)o(v)o(e)27 b(on)i(the)g(approach)e(tak)o(en)2000 3279 y(by)j(Anderson)f(et)i(al.,)i(by)d(eliminating)g(the)g(separate)h (o)o(v)o(erlay)2000 3371 y(channel)20 b(for)h(request)g(pack)o(ets.)29 b(Instead,)21 b(routers)f(stamp)i(pack-)2000 3462 y(ets)30 b(with)f(a)h(k)o(e)o(y)f(that,)i(when)e(used)g(in)g(a)h(data)f(pack)o (et,)i(pro)o(v)o(es)2000 3553 y(that)19 b(the)g(recei)n(v)o(er)e(had)h (returned)f(the)i(stamp)g(to)g(the)f(sender)m(,)g(and)2000 3645 y(thus,)27 b(authorized)c(the)j(communication)d([24].)40 b(W)-7 b(e)26 b(adopt)f(this)2000 3736 y(approach,)h(with)i(some)f (enhancements)e(moti)n(v)n(ated)g(by)i(weak-)2000 3827 y(nesses)21 b(of)g(the)f(SIFF)i(proposal.)j(First,)c(in)g(SIFF)-7 b(,)22 b(router)d(stamps)2000 3919 y(are)e(embedded)e(in)j(normal)e(IP) i(pack)o(ets;)g(because)e(header)h(space)2000 4010 y(is)29 b(constrained,)e(this)i(requires)e(each)g(router)g(stamp)g(to)h(be)g(e) o(x-)2000 4101 y(tremely)15 b(short)g(\(2)g(bits\),)h(and)f(thus)h (potentially)e(disco)o(v)o(erable)f(by)2000 4193 y(brute-force)18 b(attack.)26 b(W)-7 b(e)21 b(sho)n(w)g(ho)n(w)f(to)g(combine)g(the)g (security)2000 4284 y(of)25 b(long)f(stamps)h(with)g(the)h(ef)n (\002cienc)o(y)d(of)i(short)g(stamps.)39 b(Sec-)2000 4375 y(ond,)30 b(initial)g(request)f(pack)o(ets)g(are)g(forw)o(arded)e (with)j(lo)n(w)f(pri-)2000 4467 y(ority;)d(this)f(is)h(vulnerable)c(to) j(the)g(follo)n(wing)d(attack.)38 b(A)25 b(set)h(of)2000 4558 y(attacking)20 b(hosts)i(can)g(establish)g(a)g(set)g(of)g (\223appro)o(v)o(ed\224)c(connec-)2000 4649 y(tions)27 b(purely)e(amongst)h(themselv)o(es,)h(through)e(a)i(shared)f(link;)2000 4741 y(by)d(\003ooding)g(pack)o(ets)h(on)f(these)h(appro)o(v)o(ed)d (connections,)i(the)o(y)2000 4832 y(can)35 b(pre)n(v)o(ent)f(an)o(y)h (further)f(connections)g(from)h(being)g(estab-)2000 4923 y(lished)23 b(through)e(that)j(link.)33 b(W)-7 b(e)25 b(address)e(this)h(through)d(a)i(more)2000 5015 y(careful)14 b(treatment)g(of)h(request)g(pack)o(ets.)23 b(Finally)-5 b(,)15 b(because)g(routers)2000 5106 y(ha)n(v)o(e)21 b(no)h(state,)h(the)o(y)f(allo)n(w)g(all)h(pack)o(ets)f(through)e(with) i(a)h(v)n(alid)2000 5197 y(stamp.)55 b(Thus,)33 b(if)d(a)h(recei)n(v)o (er)e(incorrectly)g(grants)h(a)h(capabil-)2000 5289 y(ity)24 b(to)g(an)g(attack)o(er)m(,)f(that)h(attack)o(er)g(is)g(then)g(free)f (to)h(send)g(to)g(the)2000 5380 y(recei)n(v)o(er)j(at)i(an)f(arbitrary) f(rate)i(\(\002lling)f(its)i(access)f(link\))f(until)1929 5649 y(2)p eop end %%Page: 3 3 TeXDict begin 3 2 bop 0 83 a Fr(the)21 b(permission)e(e)o(xpires.)26 b(Gi)n(v)o(en)20 b(the)g(constants)g(suggested)g(by)0 174 y(Perrig)29 b(et)h(al.,)i(an)e(attack)o(er)f(at)h(a)g (well-connected)d(node)h(need)0 266 y(only)23 b(spoof)g(a)h(single)g (le)o(gitimate)g(request)f(e)n(v)o(ery)f(fe)n(w)i(seconds)0 357 y(\(e.g.,)d(from)f(each)h(of)g(its)i(attacking)d(nodes)h(in)g (turn\))g(in)g(order)g(to)0 448 y(\003ood)28 b(the)i(netw)o(ork;)i(a)e (typical)e(web)h(serv)o(er)g(will)g(only)g(kno)n(w)0 540 y(after)24 b(a)h(connection)d(starts)j(whether)f(the)g(traf)n (\002c)g(is)i(le)o(gitimate.)0 631 y(Our)k(approach,)g(by)f(contrast,)j (allo)n(ws)e(for)g(\002ne-grained)e(con-)0 722 y(trol)20 b(o)o(v)o(er)g(ho)n(w)g(man)o(y)f(pack)o(ets)i(can)f(be)g(sent)h(based) g(on)f(a)h(single)0 814 y(authorization.)75 905 y(In)31 b(summary)-5 b(,)32 b(e)o(xisting)f(proposed)f(DoS)h(solutions)g(ha)n (v)o(e)g(a)0 996 y(number)f(of)h(good)f(ideas,)k(b)n(ut)d(are)g(either) g(impractical)g(or)g(in-)0 1088 y(ef)n(fecti)n(v)o(e)f(against)h (certain)g(types)h(of)f(attacks.)59 b(Since)32 b(the)g(at-)0 1179 y(tack)o(er)25 b(is)h(free)f(to)h(choose)e(the)i(type)e(of)i (attack,)g(our)e(goal)h(is)i(to)0 1270 y(be)j(comprehensi)n(v)o(e:)43 b(an)o(y)30 b(tw)o(o)h(le)o(gitimate)f(nodes)f(should)h(be)0 1362 y(able)21 b(to)g(ef)n(fecti)n(v)o(ely)e(communicate,)g(despite)i (the)g(arbitrary)e(be-)0 1453 y(ha)n(vior)i(of)g Fq(k)k Fr(attacking)c(hosts.)30 b(In)21 b(her)h(landmark)e(dissertation,)0 1544 y(Perlman)26 b(sho)n(wed)g(that)h(this)g(w)o(as)h(possible)e(to)h (achie)n(v)o(e)f(in)h(the)0 1636 y(more)d(general)f(conte)o(xt)g(of)i (Byzantine)e(routers,)i(b)n(ut)f(at)h(an)g(im-)0 1727 y(practical)e(cost)h([17].)33 b(Thus,)24 b(we)g(further)e(restrict)h (ourselv)o(es)g(to)0 1818 y(solutions)15 b(that)h(might)g(be)f (practically)g(implemented)f(in)i(today')-5 b(s)0 1910 y(technology)g(,)15 b(e.g.,)i(with)g(limited)h(state)g(at)g(each)f (router)f(and)h(with)0 2001 y(reasonable)i(amounts)g(of)h(computation)e (at)i(each)g(hop.)0 2186 y Fs(3.)99 b(DESIGN)25 b(O)-5 b(VER)g(VIEW)75 2302 y Fr(In)21 b(this)h(section,)f(we)g(moti)n(v)n (ate)f(the)i(k)o(e)o(y)e(components)g(of)h(our)0 2393 y(design.)j(W)-7 b(e)19 b(pro)o(vide)e(further)f(details)j(in)g (Section)f(4.)24 b(The)18 b(o)o(v)o(er)n(-)0 2485 y(all)34 b(goal)f(of)g(our)g(design)f(is)j(to)e(strictly)h(limit)g(the)f(impact) g(of)0 2576 y(pack)o(et)23 b(\003oods)g(so)g(that)h(tw)o(o)f(hosts)h (can)f(communicate)e(despite)0 2667 y(attacks)e(by)f(other)g(hosts.)25 b(T)-7 b(o)19 b(achie)n(v)o(e)e(this,)j(we)f(start)g(with)g(stan-)0 2759 y(dard)d(IP)i(forw)o(arding)d(and)i(routing.)22 b(W)-7 b(e)19 b(then)e(e)o(xtend)f(hosts)h(and)0 2850 y(routers)27 b(with)h(the)f(handling)f(described)h(belo)n(w)-5 b(,)28 b(conceptually)0 2941 y(at)e(the)f(IP)h(le)n(v)o(el.)40 b(F)o(or)25 b(simplicity)g(of)g(e)o(xposition)e(we)j(consider)0 3033 y(a)20 b(netw)o(ork)e(in)i(which)f(all)h(routers)f(and)g(hosts)h (run)f(our)g(protocol.)0 3124 y(Ho)n(we)n(v)o(er)m(,)29 b(our)g(design)f(only)h(requires)f(upgrades)f(at)j(netw)o(ork)0 3215 y(locations)19 b(that)h(are)g(trust)g(boundaries)e(or)h(that)h(e)o (xperience)e(con-)0 3307 y(gestion.)0 3457 y Fs(3.1)99 b(P)o(ack)o(ets)26 b(with)f(Capabilities)75 3574 y Fr(T)-7 b(o)30 b(pre)n(v)o(ent)e(a)j(destination)e(from)g(losing)g(connecti)n (vity)f(be-)0 3665 y(cause)21 b(of)g(a)g(\003ood)f(of)h(unw)o(anted)f (pack)o(ets,)g(those)h(pack)o(ets)g(must)0 3756 y(be)16 b(discarded)e(by)h(the)h(netw)o(ork)e(before)g(the)o(y)h(reach)g(a)h (congested)0 3847 y(link.)33 b(Otherwise)22 b(the)h(damage)f(has)h (already)f(been)g(done.)32 b(This)0 3939 y(in)27 b(turn)e(requires)h (that)g(routers)g(ha)n(v)o(e)g(a)h(means)f(of)g(identifying)0 4030 y(w)o(anted)21 b(pack)o(ets)g(and)f(pro)o(viding)f(them)i(with)g (preferential)e(ser)n(-)0 4121 y(vice.)59 b(T)-7 b(o)32 b(cleanly)f(accomplish)f(this,)35 b(we)d(require)e(that)i(each)0 4213 y(pack)o(et)17 b(carry)h(information)d(that)j(each)g(router)f(can) h(check)f(to)h(de-)0 4304 y(termine)d(that)h(it)h(is)g(w)o(anted)e(by)h (the)g(destination.)22 b(F)o(ollo)n(wing)15 b([2],)0 4395 y(we)21 b(refer)e(to)h(this)h(e)o(xplicit)f(information)d(as)k(a)g (capability)-5 b(.)75 4487 y(Compared)25 b(to)h(schemes)h(that)f (describe)g(unw)o(anted)f(pack)o(ets)0 4578 y(using)31 b(implicit)g(features)g([13,)i(8],)h(capabilities)d(ha)n(v)o(e)f (signif-)0 4669 y(icant)h(potential)f(bene\002ts.)57 b(The)o(y)29 b(do)i(not)f(require)g(a)h(dif)n(\002cult)0 4761 y(inference)23 b(problem)g(to)i(be)f(solv)o(ed,)h(are)f(precise)h (since)f(attack-)0 4852 y(ers)j(cannot)f(spoof)f(them,)j(and)e(are)h (not)f(foiled)g(by)h(end-to-end)0 4943 y(encryption.)k(Ho)n(we)n(v)o (er)m(,)22 b(to)h(be)g(viable)f(as)i(a)f(solution,)g(capabil-)0 5035 y(ities)i(must)f(meet)g(se)n(v)o(eral)f(implied)g(requirements.)34 b(First,)25 b(the)o(y)0 5126 y(must)h(be)f(granted)g(by)g(the)h (destination)e(to)i(the)g(sender)m(,)g(so)g(that)0 5217 y(the)o(y)g(can)g(be)g(stamped)g(on)g(pack)o(ets.)43 b(This)26 b(raises)h(an)g(ob)o(vious)0 5309 y(bootstrap)20 b(issue,)j(which)e(we)h(address)f(shortly)-5 b(.)29 b(Second,)20 b(capa-)0 5400 y(bilities)27 b(must)g(be)g(unfor)o(geable)c(and)j(not)h (readily)e(transferable)2041 405 y @beginspecial 80 @llx 460 @lly 750 @urx 600 @ury 2280 @rwi @setspecial %%BeginDocument: ./figures/bootstrap.eps %!PS-Adobe-3.0 EPSF-3.0 %%Title: Microsoft PowerPoint - powerpoint-bits %%Creator: PScript5.dll Version 5.2.2 %%CreationDate: 2/6/2005 22:0:38 %%BoundingBox: 13 12 780 599 %%Pages: 1 %%Orientation: Landscape %%PageOrder: Ascend %%DocumentNeededResources: (atend) %%DocumentSuppliedResources: (atend) %%DocumentData: Clean7Bit %%TargetDevice: (HP LaserJet 4200) (3010.107) 0 %%LanguageLevel: 3 %%EndComments %%BeginDefaults %%PageBoundingBox: 13 12 780 599 %%ViewingOrientation: 0 1 -1 0 %%EndDefaults %%BeginProlog %%BeginResource: file Pscript_WinNT_ErrorHandler 5.0 0 /currentpacking where{pop/oldpack currentpacking def/setpacking where{pop false setpacking}if}if/$brkpage 64 dict def $brkpage begin/prnt{dup type/stringtype ne{=string cvs}if dup length 6 mul/tx exch def/ty 10 def currentpoint/toy exch def/tox exch def 1 setgray newpath tox toy 2 sub moveto 0 ty rlineto tx 0 rlineto 0 ty neg rlineto closepath fill tox toy moveto 0 setgray show}bind def /nl{currentpoint exch pop lmargin exch moveto 0 -10 rmoveto}def/=={/cp 0 def typeprint nl}def/typeprint{dup type exec}readonly def/lmargin 72 def/rmargin 72 def/tprint{dup length cp add rmargin gt{nl/cp 0 def}if dup length cp add/cp exch def prnt}readonly def/cvsprint{=string cvs tprint( )tprint}readonly def /integertype{cvsprint}readonly def/realtype{cvsprint}readonly def/booleantype {cvsprint}readonly def/operatortype{(--)tprint =string cvs tprint(-- )tprint} readonly def/marktype{pop(-mark- )tprint}readonly def/dicttype{pop (-dictionary- )tprint}readonly def/nulltype{pop(-null- )tprint}readonly def /filetype{pop(-filestream- )tprint}readonly def/savetype{pop(-savelevel- ) tprint}readonly def/fonttype{pop(-fontid- )tprint}readonly def/nametype{dup xcheck not{(/)tprint}if cvsprint}readonly def/stringtype{dup rcheck{(\()tprint tprint(\))tprint}{pop(-string- )tprint}ifelse}readonly def/arraytype{dup rcheck {dup xcheck{({)tprint{typeprint}forall(})tprint}{([)tprint{typeprint}forall(]) tprint}ifelse}{pop(-array- )tprint}ifelse}readonly def/packedarraytype{dup rcheck{dup xcheck{({)tprint{typeprint}forall(})tprint}{([)tprint{typeprint} forall(])tprint}ifelse}{pop(-packedarray- )tprint}ifelse}readonly def/courier /Courier findfont 10 scalefont def end errordict/handleerror{systemdict begin $error begin $brkpage begin newerror{/newerror false store vmstatus pop pop 0 ne{grestoreall}if errorname(VMerror)ne{showpage}if initgraphics courier setfont lmargin 720 moveto errorname(VMerror)eq{userdict/ehsave known{clear userdict /ehsave get restore 2 vmreclaim}if vmstatus exch pop exch pop PrtVMMsg}{ (ERROR: )prnt errorname prnt nl(OFFENDING COMMAND: )prnt/command load prnt $error/ostack known{nl nl(STACK:)prnt nl nl $error/ostack get aload length{==} repeat}if}ifelse systemdict/showpage get exec(%%[ Error: )print errorname =print(; OffendingCommand: )print/command load =print( ]%%)= flush}if end end end}dup 0 systemdict put dup 4 $brkpage put bind readonly put/currentpacking where{pop/setpacking where{pop oldpack setpacking}if}if %%EndResource userdict /Pscript_WinNT_Incr 230 dict dup begin put %%BeginResource: file Pscript_FatalError 5.0 0 userdict begin/FatalErrorIf{{initgraphics findfont 1 index 0 eq{exch pop}{dup length dict begin{1 index/FID ne{def}{pop pop}ifelse}forall/Encoding {ISOLatin1Encoding}stopped{StandardEncoding}if def currentdict end /ErrFont-Latin1 exch definefont}ifelse exch scalefont setfont counttomark 3 div cvi{moveto show}repeat showpage quit}{cleartomark}ifelse}bind def end %%EndResource userdict begin/PrtVMMsg{vmstatus exch sub exch pop gt{[ (This job requires more memory than is available in this printer.)100 500 (Try one or more of the following, and then print again:)100 485 (For the output format, choose Optimize For Portability.)115 470 (In the Device Settings page, make sure the Available PostScript Memory is accurate.) 115 455(Reduce the number of fonts in the document.)115 440 (Print the document in parts.)115 425 12/Times-Roman showpage (%%[ PrinterError: Low Printer VM ]%%)= true FatalErrorIf}if}bind def end version cvi 2016 ge{/VM?{pop}bind def}{/VM? userdict/PrtVMMsg get def}ifelse %%BeginResource: file Pscript_Win_Basic 5.0 0 /d/def load def/,/load load d/~/exch , d/?/ifelse , d/!/pop , d/`/begin , d/^ /index , d/@/dup , d/+/translate , d/$/roll , d/U/userdict , d/M/moveto , d/- /rlineto , d/&/currentdict , d/:/gsave , d/;/grestore , d/F/false , d/T/true , d/N/newpath , d/E/end , d/Ac/arc , d/An/arcn , d/A/ashow , d/D/awidthshow , d/C /closepath , d/V/div , d/O/eofill , d/L/fill , d/I/lineto , d/-c/curveto , d/-M /rmoveto , d/+S/scale , d/Ji/setfont , d/Lc/setlinecap , d/Lj/setlinejoin , d /Lw/setlinewidth , d/Lm/setmiterlimit , d/sd/setdash , d/S/show , d/LH/showpage , d/K/stroke , d/W/widthshow , d/R/rotate , d/L2? false/languagelevel where{pop languagelevel 2 ge{pop true}if}if d L2?{/xS/xshow , d/yS/yshow , d/zS/xyshow , d}if/b{bind d}bind d/bd{bind d}bind d/xd{~ d}bd/ld{, d}bd/bn/bind ld/lw/Lw ld /lc/Lc ld/lj/Lj ld/sg/setgray ld/ADO_mxRot null d/self & d/OrgMx matrix currentmatrix d/reinitialize{: OrgMx setmatrix[/TextInit/GraphInit/UtilsInit counttomark{@ where{self eq}{F}?{cvx exec}{!}?}repeat cleartomark ;}b /initialize{`{/Pscript_Win_Data where{!}{U/Pscript_Win_Data & put}?/ADO_mxRot ~ d/TextInitialised? F d reinitialize E}{U/Pscript_Win_Data 230 dict @ ` put /ADO_mxRot ~ d/TextInitialised? F d reinitialize}?}b/terminate{!{& self eq {exit}{E}?}loop E}b/suspend/terminate , d/resume{` Pscript_Win_Data `}b U ` /lucas 21690 d/featurebegin{countdictstack lucas[}b/featurecleanup{stopped {cleartomark @ lucas eq{! exit}if}loop countdictstack ~ sub @ 0 gt{{E}repeat} {!}?}b E/snap{transform 0.25 sub round 0.25 add ~ 0.25 sub round 0.25 add ~ itransform}b/dsnap{dtransform round ~ round ~ idtransform}b/nonzero_round{@ 0.5 ge{round}{@ -0.5 lt{round}{0 ge{1}{-1}?}?}?}b/nonzero_dsnap{dtransform nonzero_round ~ nonzero_round ~ idtransform}b U<04>cvn{}put/rr{1 ^ 0 - 0 ~ - neg 0 - C}b/irp{4 -2 $ + +S fx 4 2 $ M 1 ^ 0 - 0 ~ - neg 0 -}b/rp{4 2 $ M 1 ^ 0 - 0 ~ - neg 0 -}b/solid{[]0 sd}b/g{@ not{U/DefIf_save save put}if U/DefIf_bool 2 ^ put}b/DefIf_El{if U/DefIf_bool get not @{U/DefIf_save get restore}if}b/e {DefIf_El !}b/UDF{L2?{undefinefont}{!}?}b/UDR{L2?{undefineresource}{! !}?}b /freeVM{/Courier findfont[40 0 0 -40 0 0]makefont Ji 2 vmreclaim}b/hfRedefFont {findfont @ length dict `{1 ^/FID ne{d}{! !}?}forall & E @ ` ~{/CharStrings 1 dict `/.notdef 0 d & E d}if/Encoding 256 array 0 1 255{1 ^ ~/.notdef put}for d E definefont !}bind d/hfMkCIDFont{/CIDFont findresource @ length 2 add dict `{1 ^ @/FID eq ~ @/XUID eq ~/UIDBase eq or or{! !}{d}?}forall/CDevProc ~ d/Metrics2 16 dict d/CIDFontName 1 ^ d & E 1 ^ ~/CIDFont defineresource ![~]composefont !} bind d %%EndResource %%BeginResource: file Pscript_Win_Utils_L2 5.0 0 /rf/rectfill , d/fx{1 1 dtransform @ 0 ge{1 sub 0.5}{1 add -0.5}? 3 -1 $ @ 0 ge {1 sub 0.5}{1 add -0.5}? 3 1 $ 4 1 $ idtransform 4 -2 $ idtransform}b/BZ{4 -2 $ snap + +S fx rf}b/rs/rectstroke , d/rc/rectclip , d/UtilsInit{currentglobal{F setglobal}if}b/scol{! setcolor}b/colspA/DeviceGray d/colspABC/DeviceRGB d /colspRefresh{colspABC setcolorspace}b/SetColSpace{colspABC setcolorspace}b /resourcestatus where{!/ColorRendering/ProcSet resourcestatus{! ! T}{F}?}{F}? not{/ColorRendering<>/defineresource where{!/ProcSet defineresource !}{! !}?}if/buildcrdname{/ColorRendering/ProcSet findresource ` mark GetHalftoneName @ type @/nametype ne ~/stringtype ne and{!/none}if(.) GetPageDeviceName @ type @/nametype ne ~/stringtype ne and{!/none}if(.)5 ^ 0 5 -1 1{^ length add}for string 6 1 $ 5 ^ 5{~ 1 ^ cvs length 1 ^ length 1 ^ sub getinterval}repeat ! cvn 3 1 $ ! ! E}b/definecolorrendering{~ buildcrdname ~ /ColorRendering defineresource !}b/findcolorrendering where{!}{ /findcolorrendering{buildcrdname @/ColorRendering resourcestatus{! ! T}{ /ColorRendering/ProcSet findresource ` GetSubstituteCRD E F}?}b}? /selectcolorrendering{findcolorrendering !/ColorRendering findresource setcolorrendering}b/G2UBegin{findresource/FontInfo get/GlyphNames2Unicode get `}bind d/G2CCBegin{findresource/FontInfo get/GlyphNames2HostCode get `}bind d /G2UEnd{E}bind d/AddFontInfoBegin{/FontInfo 8 dict @ `}bind d/AddFontInfo{ /GlyphNames2Unicode 16 dict d/GlyphNames2HostCode 16 dict d}bind d /AddFontInfoEnd{E d}bind d/T0AddCFFMtx2{/CIDFont findresource/Metrics2 get ` d E}bind d %%EndResource end %%EndProlog %%BeginSetup [ 0 1 -1 0 0 0 ] false Pscript_WinNT_Incr dup /initialize get exec 1 setlinecap 1 setlinejoin /mysetup [ 72 600 V 0 0 -72 600 V 11.99905 779.0003 ] def %%EndSetup %%Page: 1 1 %%PageBoundingBox: 13 12 780 599 %%EndPageComments %%BeginPageSetup /DeviceRGB dup setcolorspace /colspABC exch def mysetup concat colspRefresh %%EndPageSetup Pscript_WinNT_Incr begin %%BeginResource: file Pscript_WinNT_Compat 5.0 0 userdict/Pscript_WinNT_Compat 19 dict dup begin/bd{bind def}bind def/ld{load def}bd/$x matrix def/ANSIVec[16#0/grave 16#1/acute 16#2/circumflex 16#3/tilde 16#4/macron 16#5/breve 16#6/dotaccent 16#7/dieresis 16#8/ring 16#9/cedilla 16#A /hungarumlaut 16#B/ogonek 16#C/caron 16#D/dotlessi 16#27/quotesingle 16#60 /grave 16#7C/bar 16#82/quotesinglbase 16#83/florin 16#84/quotedblbase 16#85 /ellipsis 16#86/dagger 16#87/daggerdbl 16#88/circumflex 16#89/perthousand 16#8A /Scaron 16#8B/guilsinglleft 16#8C/OE 16#91/quoteleft 16#92/quoteright 16#93 /quotedblleft 16#94/quotedblright 16#95/bullet 16#96/endash 16#97/emdash 16#98 /tilde 16#99/trademark 16#9A/scaron 16#9B/guilsinglright 16#9C/oe 16#9F /Ydieresis 16#A0/space 16#A1/exclamdown 16#A4/currency 16#A5/yen 16#A6 /brokenbar 16#A7/section 16#A8/dieresis 16#A9/copyright 16#AA/ordfeminine 16#AB /guillemotleft 16#AC/logicalnot 16#AD/hyphen 16#AE/registered 16#AF/macron 16#B0/degree 16#B1/plusminus 16#B2/twosuperior 16#B3/threesuperior 16#B4/acute 16#B5/mu 16#B6/paragraph 16#B7/periodcentered 16#B8/cedilla 16#B9/onesuperior 16#BA/ordmasculine 16#BB/guillemotright 16#BC/onequarter 16#BD/onehalf 16#BE /threequarters 16#BF/questiondown 16#C0/Agrave 16#C1/Aacute 16#C2/Acircumflex 16#C3/Atilde 16#C4/Adieresis 16#C5/Aring 16#C6/AE 16#C7/Ccedilla 16#C8/Egrave 16#C9/Eacute 16#CA/Ecircumflex 16#CB/Edieresis 16#CC/Igrave 16#CD/Iacute 16#CE /Icircumflex 16#CF/Idieresis 16#D0/Eth 16#D1/Ntilde 16#D2/Ograve 16#D3/Oacute 16#D4/Ocircumflex 16#D5/Otilde 16#D6/Odieresis 16#D7/multiply 16#D8/Oslash 16#D9/Ugrave 16#DA/Uacute 16#DB/Ucircumflex 16#DC/Udieresis 16#DD/Yacute 16#DE /Thorn 16#DF/germandbls 16#E0/agrave 16#E1/aacute 16#E2/acircumflex 16#E3 /atilde 16#E4/adieresis 16#E5/aring 16#E6/ae 16#E7/ccedilla 16#E8/egrave 16#E9 /eacute 16#EA/ecircumflex 16#EB/edieresis 16#EC/igrave 16#ED/iacute 16#EE /icircumflex 16#EF/idieresis 16#F0/eth 16#F1/ntilde 16#F2/ograve 16#F3/oacute 16#F4/ocircumflex 16#F5/otilde 16#F6/odieresis 16#F7/divide 16#F8/oslash 16#F9 /ugrave 16#FA/uacute 16#FB/ucircumflex 16#FC/udieresis 16#FD/yacute 16#FE/thorn 16#FF/ydieresis]def currentdict{dup type/operatortype eq{[exch]cvx def}{pop pop}ifelse}forall/initialize{currentdict exch begin begin}bind def/terminate{ /@FL where not{pop end end}{pop}ifelse}bind def/suspend/terminate load def /resume/initialize load def/RS{/pagesave where{pop pagesave restore}{$x matrix invertmatrix concat}ifelse}def/SS{/pagesave save def}def/CB{pop pop pop pop}def /B{pop pop pop pop}def/:/gsave load def/;/grestore load def/N/newpath load def end put %%EndResource end reinitialize Pscript_WinNT_Compat begin /$x mysetup def end Pscript_WinNT_Incr dup /suspend get exec Pscript_WinNT_Compat dup /initialize get exec %%BeginDocument: Pscript_Win_PassThrough userdict /GpPBeg {gsave initclip 13 dict begin /c {curveto} bind def /l {lineto} bind def /m {moveto} bind def /NP {newpath} bind def /CP {closepath} bind def /SC {setrgbcolor} bind def /S {stroke} bind def /F {fill} bind def /AF {eofill} bind def 1 eq {setdash setlinewidth setmiterlimit setlinejoin setlinecap} if} put /GSE {end grestore} def 0 GpPBeg NP 196 196 m 6196 196 l 6196 4696 l 196 4696 l CP eoclip 1 1 1 SC NP 195 195 m 6196 195 l 6196 4696 l 195 4696 l CP AF GSE userdict /GpPBeg {gsave initclip 13 dict begin /c {curveto} bind def /l {lineto} bind def /m {moveto} bind def /NP {newpath} bind def /CP {closepath} bind def /SC {setrgbcolor} bind def /S {stroke} bind def /F {fill} bind def /AF {eofill} bind def 1 eq {setdash setlinewidth setmiterlimit setlinejoin setlinecap} if} put /GSE {end grestore} def 1 0 8 6.2500 [] 0 1 GpPBeg 0.0039 0.0039 0.0039 SC NP 2358 2196 m 2358 2546 l 2858 2546 l 2858 2196 l CP S GSE 1 0 8 6.2500 [] 0 1 GpPBeg 0.0039 0.0039 0.0039 SC NP 1346 2196 m 1346 2546 l 1896 2546 l 1896 2196 l CP S GSE 1 0 8 6.2500 [] 0 1 GpPBeg 0.0039 0.0039 0.0039 SC NP 4346 2196 m 4346 2546 l 4846 2546 l 4846 2196 l CP S GSE %%EndDocument Pscript_WinNT_Compat dup /suspend get exec Pscript_WinNT_Incr dup /resume get exec /DeviceRGB dup setcolorspace /colspABC exch def 0 0 0 1 scol Pscript_WinNT_Incr begin %%BeginResource: file Pscript_Text 5.0 0 /TextInit{TextInitialised? not{/Pscript_Windows_Font & d/TextInitialised? T d /fM[1 0 0 1 0 0]d/mFM matrix d/iMat[1 0 0.212557 1 0 0]d}if}b/copyfont{1 ^ length add dict `{1 ^/FID ne{d}{! !}?}forall & E}b/EncodeDict 11 dict d/bullets {{/bullet}repeat}b/rF{3 copyfont @ ` ~ EncodeDict ~ get/Encoding ~ 3 ^/0 eq{& /CharStrings known{CharStrings/Eth known not{! EncodeDict/ANSIEncodingOld get} if}if}if d E}b/mF{@ 7 1 $ findfont ~{@/Encoding get @ StandardEncoding eq{! T}{ {ISOLatin1Encoding}stopped{! F}{eq}?{T}{@ ` T 32 1 127{Encoding 1 ^ get StandardEncoding 3 -1 $ get eq and}for E}?}?}{F}?{1 ^ ~ rF}{0 copyfont}? 6 -2 $ ! ! ~ !/pd_charset @ where{~ get 128 eq{@ FDV 2 copy get @ length array copy put pd_CoverFCRange}if}{!}? 2 ^ ~ definefont fM 5 4 -1 $ put fM 4 0 put fM makefont Pscript_Windows_Font 3 1 $ put}b/sLT{: Lw -M currentpoint snap M 0 - 0 Lc K ;}b/xUP null d/yUP null d/uW null d/xSP null d/ySP null d/sW null d/sSU{N /uW ~ d/yUP ~ d/xUP ~ d}b/sU{xUP yUP uW sLT}b/sST{N/sW ~ d/ySP ~ d/xSP ~ d}b/sT {xSP ySP sW sLT}b/sR{: + R 0 0 M}b/sRxy{: matrix astore concat 0 0 M}b/eR/; , d /AddOrigFP{{&/FontInfo known{&/FontInfo get length 6 add}{6}? dict ` /WinPitchAndFamily ~ d/WinCharSet ~ d/OrigFontType ~ d/OrigFontStyle ~ d /OrigFontName ~ d & E/FontInfo ~ d}{! ! ! ! !}?}b/mFS{makefont Pscript_Windows_Font 3 1 $ put}b/mF42D{0 copyfont `/FontName ~ d 2 copy ~ sub 1 add dict `/.notdef 0 d 2 copy 1 ~{@ 3 ^ sub Encoding ~ get ~ d}for & E /CharStrings ~ d ! ! & @ E/FontName get ~ definefont}b/mF42{15 dict ` @ 4 1 $ FontName ~ d/FontType 0 d/FMapType 2 d/FontMatrix[1 0 0 1 0 0]d 1 ^ 254 add 255 idiv @ array/Encoding ~ d 0 1 3 -1 $ 1 sub{@ Encoding 3 1 $ put}for/FDepVector Encoding length array d/CharStrings 2 dict `/.notdef 0 d & E d 0 1 Encoding length 1 sub{@ @ 10 lt{! FontName length 1 add string}{100 lt{FontName length 2 add string}{FontName length 3 add string}?}? @ 0 FontName @ length string cvs putinterval @ 3 -1 $ @ 4 1 $ 3 string cvs FontName length ~ putinterval cvn 1 ^ 256 mul @ 255 add 3 -1 $ 4 ^ findfont mF42D FDepVector 3 1 $ put}for & @ E /FontName get ~ definefont ! ! ! mF}b/mF_OTF_V{~ ! ~ ! 4 -1 $ ! findfont 2 ^ ~ definefont fM @ @ 4 6 -1 $ neg put 5 0 put 90 matrix R matrix concatmatrix makefont Pscript_Windows_Font 3 1 $ put}b/mF_TTF_V{3{~ !}repeat 3 -1 $ ! findfont 1 ^ ~ definefont Pscript_Windows_Font 3 1 $ put}b/UmF{L2? {Pscript_Windows_Font ~ undef}{!}?}b/UmF42{@ findfont/FDepVector get{/FontName get undefinefont}forall undefinefont}b %%EndResource end reinitialize Pscript_WinNT_Incr begin %%BeginResource: file Pscript_Encoding256 5.0 0 /CharCol256Encoding[/.notdef/breve/caron/dotaccent/dotlessi/fi/fl/fraction /hungarumlaut/Lslash/lslash/minus/ogonek/ring/Zcaron/zcaron/.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/Euro/.notdef/quotesinglbase/florin/quotedblbase/ellipsis /dagger/daggerdbl/circumflex/perthousand/Scaron/guilsinglleft/OE/.notdef /.notdef/.notdef/.notdef/quoteleft/quoteright/quotedblleft/quotedblright/bullet /endash/emdash/tilde/trademark/scaron/guilsinglright/oe/.notdef/.notdef /Ydieresis/.notdef/exclamdown/cent/sterling/currency/yen/brokenbar/section /dieresis/copyright/ordfeminine/guillemotleft/logicalnot/.notdef/registered /macron/degree/plusminus/twosuperior/threesuperior/acute/mu/paragraph /periodcentered/cedilla/onesuperior/ordmasculine/guillemotright/onequarter /onehalf/threequarters/questiondown/Agrave/Aacute/Acircumflex/Atilde/Adieresis /Aring/AE/Ccedilla/Egrave/Eacute/Ecircumflex/Edieresis/Igrave/Iacute /Icircumflex/Idieresis/Eth/Ntilde/Ograve/Oacute/Ocircumflex/Otilde/Odieresis /multiply/Oslash/Ugrave/Uacute/Ucircumflex/Udieresis/Yacute/Thorn/germandbls /agrave/aacute/acircumflex/atilde/adieresis/aring/ae/ccedilla/egrave/eacute /ecircumflex/edieresis/igrave/iacute/icircumflex/idieresis/eth/ntilde/ograve /oacute/ocircumflex/otilde/odieresis/divide/oslash/ugrave/uacute/ucircumflex /udieresis/yacute/thorn/ydieresis]def EncodeDict/256 CharCol256Encoding put %%EndResource end reinitialize %%IncludeResource: font Arial Pscript_WinNT_Incr begin %%BeginResource: file Pscript_Win_Euro_L2 5.0 0 /UseT3EuroFont{/currentdistillerparams where{pop currentdistillerparams /CoreDistVersion get 4000 le}{false}ifelse}bind def/NewEuroT3Font?{dup/FontType get 3 eq{dup/EuroFont known exch/BaseFont known and}{pop false}ifelse}bind def /T1FontHasEuro{dup/CharStrings known not{dup NewEuroT3Font?{dup/EuroGlyphName get exch/EuroFont get/CharStrings get exch known{true}{false}ifelse}{pop false} ifelse}{dup/FontType get 1 eq{/CharStrings get/Euro known}{dup/InfoDict known{ /InfoDict get/Euro known}{/CharStrings get/Euro known}ifelse}ifelse}ifelse}bind def/FontHasEuro{findfont dup/Blend known{pop true}{T1FontHasEuro}ifelse}bind def/EuroEncodingIdx 1 def/EuroFontHdr{12 dict begin/FontInfo 10 dict dup begin /version(001.000)readonly def/Notice(Copyright (c)1999 Adobe Systems Incorporated. All Rights Reserved.)readonly def/FullName(Euro)readonly def /FamilyName(Euro)readonly def/Weight(Regular)readonly def/isFixedPitch false def/ItalicAngle 0 def/UnderlinePosition -100 def/UnderlineThickness 50 def end readonly def/FontName/Euro def/Encoding 256 array 0 1 255{1 index exch/.notdef put}for def/PaintType 0 def/FontType 1 def/FontMatrix[0.001 0 0 0.001 0 0]def /FontBBox{-25 -23 1500 804}readonly def currentdict end dup/Private 20 dict dup begin/ND{def}def/NP{put}def/lenIV -1 def/RD{string currentfile exch readhexstring pop}def/-|{string currentfile exch readstring pop}executeonly def /|-{def}executeonly def/|{put}executeonly def/BlueValues[-20 0 706 736 547 572] |-/OtherBlues[-211 -203]|-/BlueScale 0.0312917 def/MinFeature{16 16}|-/StdHW [60]|-/StdVW[71]|-/ForceBold false def/password 5839 def/Erode{8.5 dup 3 -1 roll 0.1 mul exch 0.5 sub mul cvi sub dup mul 71 0 dtransform dup mul exch dup mul add le{pop pop 1.0 1.0}{pop pop 0.0 1.5}ifelse}def/OtherSubrs[{}{}{} {systemdict/internaldict known not{pop 3}{1183615869 systemdict/internaldict get exec dup/startlock known{/startlock get exec}{dup/strtlck known{/strtlck get exec}{pop 3}ifelse}ifelse}ifelse}executeonly]|-/Subrs 5 array dup 0 <8E8B0C100C110C110C210B>put dup 1<8B8C0C100B>put dup 2<8B8D0C100B>put dup 3<0B> put dup 4<8E8C8E0C100C110A0B>put |- 2 index/CharStrings 256 dict dup begin /.notdef<8b8b0d0e>def end end put put dup/FontName get exch definefont pop}bind def/AddEuroGlyph{2 index exch EuroEncodingIdx 1 eq{EuroFontHdr}if systemdict begin/Euro findfont dup dup/Encoding get 5 1 roll/Private get begin/CharStrings get dup 3 index known{pop pop pop pop end end}{begin 1 index exch def end end end EuroEncodingIdx dup 1 add/EuroEncodingIdx exch def exch put}ifelse}bind def /GetNewXUID{currentdict/XUID known{[7 XUID aload pop]true}{currentdict/UniqueID known{[7 UniqueID]true}{false}ifelse}ifelse}bind def/BuildT3EuroFont{exch 16 dict begin dup/FontName exch def findfont dup/Encoding get/Encoding exch def dup length 1 add dict copy dup/FID undef begin dup dup/FontName exch def /Encoding 256 array 0 1 255{1 index exch/.notdef put}for def GetNewXUID{/XUID exch def}if currentdict end definefont pop/BaseFont exch findfont 1000 scalefont def/EuroFont exch findfont 1000 scalefont def pop/EuroGlyphName exch def/FontType 3 def/FontMatrix[.001 0 0 .001 0 0]def/FontBBox BaseFont/FontBBox get def/Char 1 string def/BuildChar{exch dup begin/Encoding get 1 index get /Euro eq{BaseFont T1FontHasEuro{false}{true}ifelse}{false}ifelse{EuroFont setfont pop userdict/Idx 0 put EuroFont/Encoding get{EuroGlyphName eq{exit} {userdict/Idx Idx 1 add put}ifelse}forall userdict/Idx get}{dup dup Encoding exch get BaseFont/Encoding get 3 1 roll put BaseFont setfont}ifelse Char 0 3 -1 roll put Char stringwidth newpath 0 0 moveto Char true charpath flattenpath pathbbox setcachedevice 0 0 moveto Char show end}bind def currentdict end dup /FontName get exch definefont pop}bind def/AddEuroToT1Font{dup findfont dup length 10 add dict copy dup/FID undef begin/EuroFont 3 -1 roll findfont 1000 scalefont def CharStrings dup length 1 add dict copy begin/Euro{EuroFont setfont pop EuroGBBox aload pop setcachedevice 0 0 moveto EuroGName glyphshow} bind def currentdict end/CharStrings exch def GetNewXUID{/XUID exch def}if 3 1 roll/EuroGBBox exch def/EuroGName exch def currentdict end definefont pop}bind def/BuildNewFont{UseT3EuroFont{BuildT3EuroFont}{pop AddEuroToT1Font}ifelse}bind def/UseObliqueEuro{findfont/FontMatrix get dup 2 get 0 eq exch dup 0 get exch 3 get eq and UseT3EuroFont or}bind def %%EndResource end reinitialize /Arial FontHasEuro not { /Euro.Arial [556 0 24 -19 541 703 ] AddEuroGlyph /Euro /Arial /Arial-Copy BuildNewFont } if F /F0 0 /256 T /Arial mF /F0S96 F0 [150 0 0 -150 0 0 ] mFS F0S96 Ji 4456 2422 M (dest)[83 83 75 0]xS 1406 2422 M (sender)[75 83 83 83 83 0]xS 2406 2422 M (router)[50 83 83 42 83 0]xS Pscript_WinNT_Compat begin /$x mysetup def end Pscript_WinNT_Incr dup /suspend get exec Pscript_WinNT_Compat dup /initialize get exec %%BeginDocument: Pscript_Win_PassThrough userdict /GpPBeg {gsave initclip 13 dict begin /c {curveto} bind def /l {lineto} bind def /m {moveto} bind def /NP {newpath} bind def /CP {closepath} bind def /SC {setrgbcolor} bind def /S {stroke} bind def /F {fill} bind def /AF {eofill} bind def 1 eq {setdash setlinewidth setmiterlimit setlinejoin setlinecap} if} put /GSE {end grestore} def 1 0 8 6.2500 [] 0 1 GpPBeg 0.0039 0.0039 0.0039 SC NP 3308 2196 m 3308 2546 l 3808 2546 l 3808 2196 l CP S GSE %%EndDocument Pscript_WinNT_Compat dup /suspend get exec Pscript_WinNT_Incr dup /resume get exec /DeviceRGB dup setcolorspace /colspABC exch def 0 0 0 1 scol 3356 2422 M (router)[50 83 83 42 83 0]xS Pscript_WinNT_Compat begin /$x mysetup def end Pscript_WinNT_Incr dup /suspend get exec Pscript_WinNT_Compat dup /initialize get exec %%BeginDocument: Pscript_Win_PassThrough userdict /GpPBeg {gsave initclip 13 dict begin /c {curveto} bind def /l {lineto} bind def /m {moveto} bind def /NP {newpath} bind def /CP {closepath} bind def /SC {setrgbcolor} bind def /S {stroke} bind def /F {fill} bind def /AF {eofill} bind def 1 eq {setdash setlinewidth setmiterlimit setlinejoin setlinecap} if} put /GSE {end grestore} def 1 1 10 6.2500 [] 0 1 GpPBeg 0.0039 0.0039 0.0039 SC NP 1896 2346 m 2346 2346 l S GSE 1 1 10 6.2500 [] 0 1 GpPBeg 0.0039 0.0039 0.0039 SC NP 2846 2346 m 3296 2346 l S GSE 1 1 10 6.2500 [] 0 1 GpPBeg 0.0039 0.0039 0.0039 SC NP 3796 2346 m 4346 2346 l S GSE 1 0 8 6.2500 [] 0 1 GpPBeg 0.0039 0.0039 0.0039 SC NP 2396 1846 m 2396 1946 l 3746 1946 l 3746 1846 l CP S GSE userdict /GpPBeg {gsave initclip 13 dict begin /c {curveto} bind def /l {lineto} bind def /m {moveto} bind def /NP {newpath} bind def /CP {closepath} bind def /SC {setrgbcolor} bind def /S {stroke} bind def /F {fill} bind def /AF {eofill} bind def 1 eq {setdash setlinewidth setmiterlimit setlinejoin setlinecap} if} put /GSE {end grestore} def 0 GpPBeg 0.0039 0.0039 0.0039 SC NP 2693 2143 m 2698 2137 l 2704 2142 l 2699 2148 l CP 2703 2130 m 2708 2123 l 2714 2128 l 2709 2135 l CP 2713 2117 m 2718 2110 l 2724 2115 l 2719 2122 l CP 2723 2103 m 2728 2097 l 2734 2102 l 2729 2108 l CP 2733 2090 m 2738 2083 l 2744 2088 l 2739 2095 l CP 2743 2077 m 2748 2070 l 2754 2075 l 2749 2082 l CP 2753 2063 m 2758 2057 l 2764 2062 l 2759 2068 l CP 2763 2050 m 2768 2043 l 2774 2048 l 2769 2055 l CP 2773 2037 m 2778 2030 l 2784 2035 l 2779 2042 l CP 2783 2023 m 2788 2017 l 2794 2022 l 2789 2028 l CP 2793 2010 m 2798 2003 l 2804 2008 l 2799 2015 l CP 2776 1998 m 2846 1946 l 2816 2028 l CP F GSE userdict /GpPBeg {gsave initclip 13 dict begin /c {curveto} bind def /l {lineto} bind def /m {moveto} bind def /NP {newpath} bind def /CP {closepath} bind def /SC {setrgbcolor} bind def /S {stroke} bind def /F {fill} bind def /AF {eofill} bind def 1 eq {setdash setlinewidth setmiterlimit setlinejoin setlinecap} if} put /GSE {end grestore} def 0 GpPBeg 0.0039 0.0039 0.0039 SC NP 3443 2148 m 3438 2142 l 3444 2137 l 3449 2143 l CP 3433 2135 m 3428 2128 l 3434 2123 l 3439 2130 l CP 3423 2122 m 3418 2115 l 3424 2110 l 3429 2117 l CP 3413 2108 m 3408 2102 l 3414 2097 l 3419 2103 l CP 3403 2095 m 3398 2088 l 3404 2083 l 3409 2090 l CP 3393 2082 m 3388 2075 l 3394 2070 l 3399 2077 l CP 3383 2068 m 3378 2062 l 3384 2057 l 3389 2063 l CP 3373 2055 m 3368 2048 l 3374 2043 l 3379 2050 l CP 3363 2042 m 3358 2035 l 3364 2030 l 3369 2037 l CP 3353 2028 m 3348 2022 l 3354 2017 l 3359 2023 l CP 3343 2015 m 3338 2008 l 3344 2003 l 3349 2010 l CP 3326 2028 m 3296 1946 l 3366 1998 l CP F GSE 0 GpPBeg /datasrc def /paintproc {64 64 8 [1 0 0 1 0 0] datasrc false 3 colorimage } def /languagelevel where {pop languagelevel} {1} ifelse 1 eq {0.0039 0.0039 0.0039 SC} {/pd 20 dict def pd /PaintType 1 put pd /PatternType 1 put pd /TilingType 1 put pd /BBox [0 0 64 64] put pd /XStep 64 put pd /YStep 64 put pd /PaintProc { begin paintproc end } put pd [5.9999 0 0 5.9999 0 0] makepattern setpattern } ifelse NP 2696 1846 m 2996 1846 l 2996 1946 l 2696 1946 l CP AF GSE 1 0 8 6.2500 [] 0 1 GpPBeg 0.0039 0.0039 0.0039 SC NP 2696 1846 m 2696 1946 l 2996 1946 l 2996 1846 l CP S GSE 0 GpPBeg /datasrc def /paintproc {64 64 8 [1 0 0 1 0 0] datasrc false 3 colorimage } def /languagelevel where {pop languagelevel} {1} ifelse 1 eq {0.0039 0.0039 0.0039 SC} {/pd 20 dict def pd /PaintType 1 put pd /PatternType 1 put pd /TilingType 1 put pd /BBox [0 0 64 64] put pd /XStep 64 put pd /YStep 64 put pd /PaintProc { begin paintproc end } put pd [5.9999 0 0 5.9999 0 0] makepattern setpattern } ifelse NP 3096 1846 m 3396 1846 l 3396 1946 l 3096 1946 l CP AF GSE 1 0 8 6.2500 [] 0 1 GpPBeg 0.0039 0.0039 0.0039 SC NP 3096 1846 m 3096 1946 l 3396 1946 l 3396 1846 l CP S GSE userdict /GpPBeg {gsave initclip 13 dict begin /c {curveto} bind def /l {lineto} bind def /m {moveto} bind def /NP {newpath} bind def /CP {closepath} bind def /SC {setrgbcolor} bind def /S {stroke} bind def /F {fill} bind def /AF {eofill} bind def 1 eq {setdash setlinewidth setmiterlimit setlinejoin setlinecap} if} put /GSE {end grestore} def 0 GpPBeg 0.0039 0.0039 0.0039 SC NP 3796 1893 m 3971 1893 l 3973 1893 3974 1894 3974 1896 c 3974 1898 3973 1899 3971 1899 c 3796 1899 l 3794 1899 3793 1898 3793 1896 c 3793 1894 3794 1893 3796 1893 c CP 3963 1871 m 4046 1896 l 3963 1921 l CP F GSE %%EndDocument Pscript_WinNT_Compat dup /suspend get exec Pscript_WinNT_Incr dup /resume get exec /DeviceRGB dup setcolorspace /colspABC exch def 0 0 0 1 scol 2806 1782 M (request)[50 83 83 83 83 75 0]xS Pscript_WinNT_Compat begin /$x mysetup def end Pscript_WinNT_Incr dup /suspend get exec Pscript_WinNT_Compat dup /initialize get exec %%BeginDocument: Pscript_Win_PassThrough userdict /GpPBeg {gsave initclip 13 dict begin /c {curveto} bind def /l {lineto} bind def /m {moveto} bind def /NP {newpath} bind def /CP {closepath} bind def /SC {setrgbcolor} bind def /S {stroke} bind def /F {fill} bind def /AF {eofill} bind def 1 eq {setdash setlinewidth setmiterlimit setlinejoin setlinecap} if} put /GSE {end grestore} def 1 0 8 6.2500 [] 0 1 GpPBeg 0.0039 0.0039 0.0039 SC NP 2946 2787 m 2946 2887 l 4296 2887 l 4296 2787 l CP S GSE userdict /GpPBeg {gsave initclip 13 dict begin /c {curveto} bind def /l {lineto} bind def /m {moveto} bind def /NP {newpath} bind def /CP {closepath} bind def /SC {setrgbcolor} bind def /S {stroke} bind def /F {fill} bind def /AF {eofill} bind def 1 eq {setdash setlinewidth setmiterlimit setlinejoin setlinecap} if} put /GSE {end grestore} def 0 GpPBeg 0.0039 0.0039 0.0039 SC NP 4057 2753 m 4064 2748 l 4069 2755 l 4062 2760 l CP 4071 2744 m 4079 2739 l 4083 2747 l 4076 2751 l CP 4086 2735 m 4093 2731 l 4097 2738 l 4090 2742 l CP 4100 2726 m 4107 2722 l 4111 2729 l 4104 2733 l CP 4114 2717 m 4121 2713 l 4125 2720 l 4118 2724 l CP 4128 2709 m 4135 2704 l 4140 2711 l 4132 2716 l CP 4142 2700 m 4149 2695 l 4154 2702 l 4147 2707 l CP 4156 2691 m 4163 2686 l 4168 2694 l 4161 2698 l CP 4170 2682 m 4177 2678 l 4182 2685 l 4175 2689 l CP 4185 2673 m 4192 2669 l 4196 2676 l 4189 2680 l CP 4199 2664 m 4206 2660 l 4210 2667 l 4203 2671 l CP 4213 2656 m 4220 2651 l 4224 2658 l 4217 2663 l CP 4227 2647 m 4234 2642 l 4238 2649 l 4231 2654 l CP 4241 2638 m 4248 2633 l 4253 2640 l 4246 2645 l CP 4255 2629 m 4262 2625 l 4267 2632 l 4260 2636 l CP 4269 2620 m 4276 2616 l 4281 2623 l 4274 2627 l CP 4283 2611 m 4291 2607 l 4295 2614 l 4288 2618 l CP 4298 2603 m 4305 2598 l 4309 2605 l 4302 2610 l CP 4312 2594 m 4319 2589 l 4323 2596 l 4316 2601 l CP 4326 2585 m 4333 2580 l 4337 2588 l 4330 2592 l CP 4340 2576 m 4347 2572 l 4352 2579 l 4344 2583 l CP 4354 2567 m 4361 2563 l 4366 2570 l 4359 2574 l CP 4368 2558 m 4375 2554 l 4380 2561 l 4373 2565 l CP 4382 2550 m 4389 2545 l 4394 2552 l 4387 2557 l CP 4080 2773 m 3996 2796 l 4053 2731 l CP F GSE 0 GpPBeg /datasrc def /paintproc {64 64 8 [1 0 0 1 0 0] datasrc false 3 colorimage } def /languagelevel where {pop languagelevel} {1} ifelse 1 eq {0.0039 0.0039 0.0039 SC} {/pd 20 dict def pd /PaintType 1 put pd /PatternType 1 put pd /TilingType 1 put pd /BBox [0 0 64 64] put pd /XStep 64 put pd /YStep 64 put pd /PaintProc { begin paintproc end } put pd [5.9999 0 0 5.9999 0 0] makepattern setpattern } ifelse NP 3346 2786 m 3646 2786 l 3646 2886 l 3346 2886 l CP AF GSE 1 0 8 6.2500 [] 0 1 GpPBeg 0.0039 0.0039 0.0039 SC NP 3346 2787 m 3346 2887 l 3646 2887 l 3646 2787 l CP S GSE 0 GpPBeg /datasrc def /paintproc {64 64 8 [1 0 0 1 0 0] datasrc false 3 colorimage } def /languagelevel where {pop languagelevel} {1} ifelse 1 eq {0.0039 0.0039 0.0039 SC} {/pd 20 dict def pd /PaintType 1 put pd /PatternType 1 put pd /TilingType 1 put pd /BBox [0 0 64 64] put pd /XStep 64 put pd /YStep 64 put pd /PaintProc { begin paintproc end } put pd [5.9999 0 0 5.9999 0 0] makepattern setpattern } ifelse NP 3746 2786 m 4046 2786 l 4046 2886 l 3746 2886 l CP AF GSE 1 0 8 6.2500 [] 0 1 GpPBeg 0.0039 0.0039 0.0039 SC NP 3746 2787 m 3746 2887 l 4046 2887 l 4046 2787 l CP S GSE userdict /GpPBeg {gsave initclip 13 dict begin /c {curveto} bind def /l {lineto} bind def /m {moveto} bind def /NP {newpath} bind def /CP {closepath} bind def /SC {setrgbcolor} bind def /S {stroke} bind def /F {fill} bind def /AF {eofill} bind def 1 eq {setdash setlinewidth setmiterlimit setlinejoin setlinecap} if} put /GSE {end grestore} def 0 GpPBeg 0.0039 0.0039 0.0039 SC NP 2721 2843 m 2896 2843 l 2898 2843 2899 2844 2899 2846 c 2899 2848 2898 2849 2896 2849 c 2721 2849 l 2719 2849 2718 2848 2718 2846 c 2718 2844 2719 2843 2721 2843 c CP 2729 2871 m 2646 2846 l 2729 2821 l CP F GSE %%EndDocument Pscript_WinNT_Compat dup /suspend get exec Pscript_WinNT_Incr dup /resume get exec /DeviceRGB dup setcolorspace /colspABC exch def 0 0 0 1 scol 3306 3022 M (response)[50 83 75 83 83 83 76 0]xS Pscript_WinNT_Compat begin /$x mysetup def end Pscript_WinNT_Incr dup /suspend get exec Pscript_WinNT_Compat dup /initialize get exec %%BeginDocument: Pscript_Win_PassThrough userdict /GpPBeg {gsave initclip 13 dict begin /c {curveto} bind def /l {lineto} bind def /m {moveto} bind def /NP {newpath} bind def /CP {closepath} bind def /SC {setrgbcolor} bind def /S {stroke} bind def /F {fill} bind def /AF {eofill} bind def 1 eq {setdash setlinewidth setmiterlimit setlinejoin setlinecap} if} put /GSE {end grestore} def 0 GpPBeg 0.0039 0.0039 0.0039 SC NP 3667 2723 m 3675 2720 l 3678 2729 l 3670 2731 l CP 3683 2718 m 3692 2716 l 3694 2724 l 3686 2726 l CP 3700 2714 m 3708 2712 l 3710 2720 l 3702 2722 l CP 3716 2710 m 3724 2708 l 3726 2716 l 3718 2718 l CP 3732 2705 m 3740 2703 l 3742 2711 l 3734 2713 l CP 3748 2701 m 3756 2699 l 3758 2707 l 3750 2709 l CP 3764 2697 m 3772 2695 l 3774 2703 l 3766 2705 l CP 3780 2693 m 3788 2690 l 3790 2698 l 3782 2701 l CP 3796 2688 m 3804 2686 l 3806 2694 l 3798 2696 l CP 3812 2684 m 3820 2682 l 3822 2690 l 3814 2692 l CP 3828 2680 m 3836 2678 l 3839 2686 l 3831 2688 l CP 3845 2675 m 3853 2673 l 3855 2681 l 3847 2683 l CP 3861 2671 m 3869 2669 l 3871 2677 l 3863 2679 l CP 3877 2667 m 3885 2665 l 3887 2673 l 3879 2675 l CP 3893 2662 m 3901 2660 l 3903 2668 l 3895 2671 l CP 3909 2658 m 3917 2656 l 3919 2664 l 3911 2666 l CP 3925 2654 m 3933 2652 l 3935 2660 l 3927 2662 l CP 3941 2650 m 3949 2647 l 3951 2656 l 3943 2658 l CP 3957 2645 m 3965 2643 l 3967 2651 l 3959 2653 l CP 3973 2641 m 3981 2639 l 3984 2647 l 3975 2649 l CP 3989 2637 m 3997 2635 l 4000 2643 l 3992 2645 l CP 4006 2632 m 4014 2630 l 4016 2638 l 4008 2640 l CP 4022 2628 m 4030 2626 l 4032 2634 l 4024 2636 l CP 4038 2624 m 4046 2622 l 4048 2630 l 4040 2632 l CP 4054 2620 m 4062 2617 l 4064 2625 l 4056 2628 l CP 4070 2615 m 4078 2613 l 4080 2621 l 4072 2623 l CP 4086 2611 m 4094 2609 l 4096 2617 l 4088 2619 l CP 4102 2607 m 4110 2605 l 4112 2613 l 4104 2615 l CP 4118 2602 m 4126 2600 l 4128 2608 l 4120 2610 l CP 4134 2598 m 4142 2596 l 4145 2604 l 4137 2606 l CP 4150 2594 m 4159 2592 l 4161 2600 l 4153 2602 l CP 4167 2589 m 4175 2587 l 4177 2595 l 4169 2598 l CP 4183 2585 m 4191 2583 l 4193 2591 l 4185 2593 l CP 4199 2581 m 4207 2579 l 4209 2587 l 4201 2589 l CP 4215 2577 m 4223 2574 l 4225 2583 l 4217 2585 l CP 4231 2572 m 4239 2570 l 4241 2578 l 4233 2580 l CP 4247 2568 m 4255 2566 l 4257 2574 l 4249 2576 l CP 4263 2564 m 4271 2562 l 4273 2570 l 4265 2572 l CP 4279 2559 m 4287 2557 l 4290 2565 l 4281 2567 l CP 4295 2555 m 4303 2553 l 4306 2561 l 4298 2563 l CP 4312 2551 m 4320 2549 l 4322 2557 l 4314 2559 l CP 4328 2547 m 4336 2544 l 4338 2552 l 4330 2555 l CP 4344 2542 m 4345 2542 l 4347 2550 l 4346 2550 l CP 3683 2749 m 3596 2746 l 3670 2700 l CP F GSE %%EndDocument Pscript_WinNT_Compat dup /suspend get exec Pscript_WinNT_Incr dup /resume get exec /DeviceRGB dup setcolorspace /colspABC exch def 0 0 0 1 scol /F0SA7 F0 [167 0 0 -167 0 0 ] mFS F0SA7 Ji 2106 1922 M (\(1\))[56 92 0]xS 4332 2888 M (\(2\))[56 92 0]xS Pscript_WinNT_Compat begin /$x mysetup def end Pscript_WinNT_Incr dup /suspend get exec Pscript_WinNT_Compat dup /initialize get exec %%BeginDocument: Pscript_Win_PassThrough userdict /GpPBeg {gsave initclip 13 dict begin /c {curveto} bind def /l {lineto} bind def /m {moveto} bind def /NP {newpath} bind def /CP {closepath} bind def /SC {setrgbcolor} bind def /S {stroke} bind def /F {fill} bind def /AF {eofill} bind def 1 eq {setdash setlinewidth setmiterlimit setlinejoin setlinecap} if} put /GSE {end grestore} def 0 GpPBeg 0.0039 0.0039 0.0039 SC NP 4649 1896 m 4649 2121 l 4649 2123 4648 2124 4646 2124 c 4644 2124 4643 2123 4643 2121 c 4643 1896 l 4643 1894 4644 1893 4646 1893 c 4648 1893 4649 1894 4649 1896 c CP 4671 2113 m 4646 2196 l 4621 2113 l CP F GSE userdict /GpPBeg {gsave initclip 13 dict begin /c {curveto} bind def /l {lineto} bind def /m {moveto} bind def /NP {newpath} bind def /CP {closepath} bind def /SC {setrgbcolor} bind def /S {stroke} bind def /F {fill} bind def /AF {eofill} bind def 1 eq {setdash setlinewidth setmiterlimit setlinejoin setlinecap} if} put /GSE {end grestore} def 0 GpPBeg 0.0039 0.0039 0.0039 SC NP 4296 1893 m 4471 1893 l 4473 1893 4474 1894 4474 1896 c 4474 1898 4473 1899 4471 1899 c 4296 1899 l 4294 1899 4293 1898 4293 1896 c 4293 1894 4294 1893 4296 1893 c CP 4463 1871 m 4546 1896 l 4463 1921 l CP F GSE userdict /GpPBeg {gsave initclip 13 dict begin /c {curveto} bind def /l {lineto} bind def /m {moveto} bind def /NP {newpath} bind def /CP {closepath} bind def /SC {setrgbcolor} bind def /S {stroke} bind def /F {fill} bind def /AF {eofill} bind def 1 eq {setdash setlinewidth setmiterlimit setlinejoin setlinecap} if} put /GSE {end grestore} def 0 GpPBeg 0.0039 0.0039 0.0039 SC NP 4649 2546 m 4649 2771 l 4649 2773 4648 2774 4646 2774 c 4644 2774 4643 2773 4643 2771 c 4643 2546 l 4643 2544 4644 2543 4646 2543 c 4648 2543 4649 2544 4649 2546 c CP 4671 2763 m 4646 2846 l 4621 2763 l CP F GSE %%EndDocument Pscript_WinNT_Compat dup /suspend get exec Pscript_WinNT_Incr dup /resume get exec LH %%PageTrailer %%Trailer %%DocumentNeededResources: %%+ font Arial %%DocumentSuppliedResources: %%+ procset Pscript_WinNT_ErrorHandler 5.0 0 %%+ procset Pscript_FatalError 5.0 0 %%+ procset Pscript_Win_Basic 5.0 0 %%+ procset Pscript_Win_Utils_L2 5.0 0 %%+ procset Pscript_WinNT_Compat 5.0 0 %%+ procset Pscript_Text 5.0 0 %%+ procset Pscript_Encoding256 5.0 0 %%+ procset Pscript_Win_Euro_L2 5.0 0 Pscript_WinNT_Incr dup /terminate get exec %%EOF %%EndDocument @endspecial 2000 656 a Fn(Figur)o(e)j(1:)43 b Fm(A)24 b(sender)g(obtaining)i(initial)f(capabilities)i(by)d(\(1\))g(sending) 2000 747 y(a)d(r)o(equest)g(to)g(the)g(destination,)i(to)e(which)g(r)o (outers)h(add)f(pr)o(e-capabilities;)2000 839 y(and)g(\(2\))g(r)o(ecei) o(ving)j(a)d(r)o(esponse,)h(to)f(which)g(the)h(destination)g(added)f (capa-)2000 930 y(bilities.)2000 1181 y Fr(across)c(senders)g(or)g (destinations.)23 b(This)18 b(is)g(to)f(pre)n(v)o(ent)f(attack)o(ers) 2000 1273 y(stealing)22 b(or)g(sharing)f(v)n(alid)g(capabilities.)31 b(Third,)21 b(routers)h(must)2000 1364 y(be)h(able)f(to)h(v)o(erify)f (capabilities)g(without)g(trusting)g(hosts.)33 b(This)2000 1455 y(ensures)22 b(malicious)g(hosts)h(cannot)e(spoof)h(capabilities)g (instead)2000 1547 y(of)27 b(spoo\002ng)f(pack)o(ets.)45 b(F)o(ourth,)28 b(capabilities)f(must)g(e)o(xpire)f(so)2000 1638 y(that)i(a)g(destination)e(can)i(cut)g(of)n(f)f(a)h(sender)f(from) g(whom)g(it)h(no)2000 1729 y(longer)c(w)o(ants)i(to)f(recei)n(v)o(e)g (pack)o(ets.)40 b(Finally)-5 b(,)26 b(to)g(be)f(practical,)2000 1821 y(capabilities)20 b(must)g(add)g(little)h(o)o(v)o(erhead)c(in)k (the)f(common)e(case.)2000 1912 y(The)30 b(rest)h(or)f(our)g(design)g (is)h(geared)f(to)n(w)o(ards)g(meeting)f(these)2000 2003 y(requirements.)2000 2179 y Fs(3.2)99 b(Bootstrapping)26 b(Capabilities)2075 2295 y Fr(In)i(our)f(design,)j(capabilities)e(are)g (initially)g(obtained)f(using)2000 2386 y(request)22 b(pack)o(ets)h(\(that)g(do)g(not)f(ha)n(v)o(e)h(capabilities\).)33 b(These)23 b(re-)2000 2478 y(quests)g(are)f(sent)h(from)f(a)h(sender)f (to)h(a)g(destination.)31 b(The)23 b(desti-)2000 2569 y(nation)d(then)h(returns)g(capabilities)g(to)h(the)f(sender)g(if)h(it) g(chooses)2000 2660 y(to)f(authorize)e(the)i(sender)f(for)g(further)g (pack)o(ets.)26 b(This)21 b(is)h(sho)n(wn)2000 2752 y(in)j(Figure)f(1)i (for)e(a)h(single)g(direction)f(of)h(transfer;)i(each)d(direc-)2000 2843 y(tion)d(is)h(handled)e(independently)-5 b(.)25 b(Once)d(the)f(sender)g(has)g(capa-)2000 2934 y(bilities,)i(the)f(netw) o(ork)e(is)j(bootstrapped)d(in)i(the)g(sense)g(that)g(fur)n(-)2000 3026 y(ther)h(pack)o(ets)h(can)f(carry)g(capabilities)h(that)g(routers) f(can)g(check)2000 3117 y(to)d(discard)g(unauthorized)d(traf)n(\002c.) 2075 3208 y(Ignoring)24 b(le)o(gac)o(y)h(issues)j(for)f(the)g(moment,)g (we)g(e)o(xpect)g(the)2000 3300 y(number)19 b(of)h(pack)o(ets)g (without)g(associated)h(capabilities)f(will)i(be)2000 3391 y(small.)42 b(This)26 b(is)g(because)f(one)h(capability)e(co)o(v)o (ers)h(all)h(connec-)2000 3482 y(tions)f(between)f(tw)o(o)h(hosts,)i (and)d(ne)n(w)h(capabilities)g(for)f(a)h(long)2000 3574 y(transfer)h(can)g(be)g(obtained)f(using)i(the)f(current)f(capability)h (be-)2000 3665 y(fore)i(it)h(e)o(xpires.)50 b(Nonetheless,)30 b(it)f(is)h(crucial)e(that)h(the)f(initial)2000 3756 y(request)d(channel)g(not)h(open)f(an)h(a)n(v)o(enue)e(for)i(DoS)g (attacks,)h(ei-)2000 3847 y(ther)22 b(by)g(\003ooding)f(a)i (destination)e(or)i(blocking)d(the)j(requests)f(of)2000 3939 y(le)o(gitimate)k(senders.)43 b(W)-7 b(e)27 b(tackle)f(each)g(of)g (these)h(aspects)g(in)f(a)2000 4030 y(dif)n(ferent)i(manner)-5 b(.)54 b(The)30 b(\002rst)h(is)g(straightforw)o(ard:)42 b(we)31 b(rate-)2000 4121 y(limit)d(requests)g(at)h(all)f(netw)o(ork)f (locations.)48 b(Request)28 b(pack)o(ets)2000 4213 y(should)15 b(comprise)g(only)h(a)g(small)h(fraction)e(of)h(bandwidth.)22 b(Ev)o(en)2000 4304 y(with)i(one)g(100)f(byte)h(request)g(for)g(a)g (10KB)h(\003o)n(w)-5 b(,)24 b(request)g(traf-)2000 4395 y(\002c)k(is)g(1\045)g(of)f(the)h(bandwidth.)44 b(This)28 b(allo)n(ws)g(us)f(to)h(rate-limit)2000 4487 y(request)e(traf)n(\002c)g (to)h(be)f(no)g(more)g(than)g(5\045)g(of)h(the)f(capacity)g(of)2000 4578 y(each)g(link.)45 b(The)27 b(added)f(mar)o(gin)f(is)j(to)f (accommodate)e(b)n(ursts.)2000 4669 y(This)i(pre)n(v)o(ents)e (signi\002cant)i(\003oods)f(on)h(the)g(destination)f(while)2000 4761 y(ensuring)18 b(that)j(we)f(ha)n(v)o(e)g(suf)n(\002cient)g (request)f(bandwidth.)2075 4852 y(It)k(is)i(more)d(challenging)g(to)h (pre)n(v)o(ent)f(requests)h(from)f(attack-)2000 4943 y(ers)27 b(from)e(o)o(v)o(erwhelming)f(requests)i(from)f(le)o(gitimate) h(clients.)2000 5035 y(Ideally)-5 b(,)24 b(gi)n(v)o(en)g(that)h(we)h (ha)n(v)o(e)e(suf)n(\002cient)g(request)h(bandwidth,)2000 5126 y(we)h(w)o(ould)f(lik)o(e)h(to)g(use)g(per)n(-source)e(f)o(air)h (queuing.)40 b(This)26 b(is)g(to)2000 5217 y(ensure)17 b(that)g(no)g(source)g(can)g(o)o(v)o(erwhelm)f(others,)h(re)o(gardless) f(of)2000 5309 y(ho)n(w)f(man)o(y)f(dif)n(ferent)f(destinations)i(it)h (contacts.)23 b(Ho)n(we)n(v)o(er)m(,)14 b(this)2000 5400 y(is)21 b(problematic)d(because)i(source)f(addresses)h(may)g(be)g (spoofed,)1929 5649 y(3)p eop end %%Page: 4 4 TeXDict begin 4 3 bop 103 1219 a @beginspecial 0 @llx 0 @lly 813 @urx 585 @ury 2032 @rwi @setspecial %%BeginDocument: figures/resource-2.eps %!PS-Adobe-2.0 EPSF-2.0 %%Title: stdin %%Creator: fig2dev Version 3.2 Patchlevel 3d %%CreationDate: Mon Feb 7 21:13:43 2005 %%For: yxw@marlon (Xiaowei Yang,,,) %%BoundingBox: 0 0 813 585 %%Magnification: 1.0000 %%EndComments /$F2psDict 200 dict def $F2psDict begin $F2psDict /mtrx matrix put /col-1 {0 setgray} bind def /col0 {0.000 0.000 0.000 srgb} bind def /col1 {0.000 0.000 1.000 srgb} bind def /col2 {0.000 1.000 0.000 srgb} bind def /col3 {0.000 1.000 1.000 srgb} bind def /col4 {1.000 0.000 0.000 srgb} bind def /col5 {1.000 0.000 1.000 srgb} bind def /col6 {1.000 1.000 0.000 srgb} bind def /col7 {1.000 1.000 1.000 srgb} bind def /col8 {0.000 0.000 0.560 srgb} bind def /col9 {0.000 0.000 0.690 srgb} bind def /col10 {0.000 0.000 0.820 srgb} bind def /col11 {0.530 0.810 1.000 srgb} bind def /col12 {0.000 0.560 0.000 srgb} bind def /col13 {0.000 0.690 0.000 srgb} bind def /col14 {0.000 0.820 0.000 srgb} bind def /col15 {0.000 0.560 0.560 srgb} bind def /col16 {0.000 0.690 0.690 srgb} bind def /col17 {0.000 0.820 0.820 srgb} bind def /col18 {0.560 0.000 0.000 srgb} bind def /col19 {0.690 0.000 0.000 srgb} bind def /col20 {0.820 0.000 0.000 srgb} bind def /col21 {0.560 0.000 0.560 srgb} bind def /col22 {0.690 0.000 0.690 srgb} bind def /col23 {0.820 0.000 0.820 srgb} bind def /col24 {0.500 0.190 0.000 srgb} bind def /col25 {0.630 0.250 0.000 srgb} bind def /col26 {0.750 0.380 0.000 srgb} bind def /col27 {1.000 0.500 0.500 srgb} bind def /col28 {1.000 0.630 0.630 srgb} bind def /col29 {1.000 0.750 0.750 srgb} bind def /col30 {1.000 0.880 0.880 srgb} bind def /col31 {1.000 0.840 0.000 srgb} bind def end save newpath 0 585 moveto 0 0 lineto 813 0 lineto 813 585 lineto closepath clip newpath 117.6 582.5 translate 1 -1 scale /cp {closepath} bind def /ef {eofill} bind def /gr {grestore} bind def /gs {gsave} bind def /sa {save} bind def /rs {restore} bind def /l {lineto} bind def /m {moveto} bind def /rm {rmoveto} bind def /n {newpath} bind def /s {stroke} bind def /sh {show} bind def /slc {setlinecap} bind def /slj {setlinejoin} bind def /slw {setlinewidth} bind def /srgb {setrgbcolor} bind def /rot {rotate} bind def /sc {scale} bind def /sd {setdash} bind def /ff {findfont} bind def /sf {setfont} bind def /scf {scalefont} bind def /sw {stringwidth} bind def /tr {translate} bind def /tnt {dup dup currentrgbcolor 4 -2 roll dup 1 exch sub 3 -1 roll mul add 4 -2 roll dup 1 exch sub 3 -1 roll mul add 4 -2 roll dup 1 exch sub 3 -1 roll mul add srgb} bind def /shd {dup dup currentrgbcolor 4 -2 roll mul 4 -2 roll mul 4 -2 roll mul srgb} bind def /reencdict 12 dict def /ReEncode { reencdict begin /newcodesandnames exch def /newfontname exch def /basefontname exch def /basefontdict basefontname findfont def /newfont basefontdict maxlength dict def basefontdict { exch dup /FID ne { dup /Encoding eq { exch dup length array copy newfont 3 1 roll put } { exch newfont 3 1 roll put } ifelse } { pop pop } ifelse } forall newfont /FontName newfontname put newcodesandnames aload pop 128 1 255 { newfont /Encoding get exch /.notdef put } for newcodesandnames length 2 idiv { newfont /Encoding get 3 1 roll put } repeat newfontname newfont definefont pop end } def /isovec [ 8#055 /minus 8#200 /grave 8#201 /acute 8#202 /circumflex 8#203 /tilde 8#204 /macron 8#205 /breve 8#206 /dotaccent 8#207 /dieresis 8#210 /ring 8#211 /cedilla 8#212 /hungarumlaut 8#213 /ogonek 8#214 /caron 8#220 /dotlessi 8#230 /oe 8#231 /OE 8#240 /space 8#241 /exclamdown 8#242 /cent 8#243 /sterling 8#244 /currency 8#245 /yen 8#246 /brokenbar 8#247 /section 8#250 /dieresis 8#251 /copyright 8#252 /ordfeminine 8#253 /guillemotleft 8#254 /logicalnot 8#255 /hyphen 8#256 /registered 8#257 /macron 8#260 /degree 8#261 /plusminus 8#262 /twosuperior 8#263 /threesuperior 8#264 /acute 8#265 /mu 8#266 /paragraph 8#267 /periodcentered 8#270 /cedilla 8#271 /onesuperior 8#272 /ordmasculine 8#273 /guillemotright 8#274 /onequarter 8#275 /onehalf 8#276 /threequarters 8#277 /questiondown 8#300 /Agrave 8#301 /Aacute 8#302 /Acircumflex 8#303 /Atilde 8#304 /Adieresis 8#305 /Aring 8#306 /AE 8#307 /Ccedilla 8#310 /Egrave 8#311 /Eacute 8#312 /Ecircumflex 8#313 /Edieresis 8#314 /Igrave 8#315 /Iacute 8#316 /Icircumflex 8#317 /Idieresis 8#320 /Eth 8#321 /Ntilde 8#322 /Ograve 8#323 /Oacute 8#324 /Ocircumflex 8#325 /Otilde 8#326 /Odieresis 8#327 /multiply 8#330 /Oslash 8#331 /Ugrave 8#332 /Uacute 8#333 /Ucircumflex 8#334 /Udieresis 8#335 /Yacute 8#336 /Thorn 8#337 /germandbls 8#340 /agrave 8#341 /aacute 8#342 /acircumflex 8#343 /atilde 8#344 /adieresis 8#345 /aring 8#346 /ae 8#347 /ccedilla 8#350 /egrave 8#351 /eacute 8#352 /ecircumflex 8#353 /edieresis 8#354 /igrave 8#355 /iacute 8#356 /icircumflex 8#357 /idieresis 8#360 /eth 8#361 /ntilde 8#362 /ograve 8#363 /oacute 8#364 /ocircumflex 8#365 /otilde 8#366 /odieresis 8#367 /divide 8#370 /oslash 8#371 /ugrave 8#372 /uacute 8#373 /ucircumflex 8#374 /udieresis 8#375 /yacute 8#376 /thorn 8#377 /ydieresis] def /Times-Roman /Times-Roman-iso isovec ReEncode /$F2psBegin {$F2psDict begin /$F2psEnteredState save def} def /$F2psEnd {$F2psEnteredState restore end} def $F2psBegin 10 setmiterlimit 0 slj 0 slc 0.06299 0.06299 sc % % Fig objects follow % % Polyline 15.000 slw n 5985 4230 m 8685 4230 l 8685 5085 l 5985 5085 l gs col0 s gr % Polyline n 8100 4230 m 8100 5085 l gs col0 s gr % Polyline n 7470 4230 m 7470 5085 l gs col0 s gr % Polyline n 6840 4230 m 6840 5085 l gs col0 s gr % Polyline n 5985 5130 m 8685 5130 l 8685 5985 l 5985 5985 l gs col0 s gr % Polyline n 8100 5130 m 8100 5985 l gs col0 s gr % Polyline n 7470 5130 m 7470 5985 l gs col0 s gr % Polyline n 6840 5130 m 6840 5985 l gs col0 s gr % Polyline n 5985 6030 m 8685 6030 l 8685 6885 l 5985 6885 l gs col0 s gr % Polyline n 8100 6030 m 8100 6885 l gs col0 s gr % Polyline n 7470 6030 m 7470 6885 l gs col0 s gr % Polyline n 6840 6030 m 6840 6885 l gs col0 s gr % Polyline n 5985 6930 m 8685 6930 l 8685 7785 l 5985 7785 l gs col0 s gr % Polyline n 8100 6930 m 8100 7785 l gs col0 s gr % Polyline n 7470 6930 m 7470 7785 l gs col0 s gr % Polyline n 6840 6930 m 6840 7785 l gs col0 s gr % Polyline n 6030 8370 m 8730 8370 l 8730 9225 l 6030 9225 l gs col0 s gr % Polyline n 8145 8370 m 8145 9225 l gs col0 s gr % Polyline n 7515 8370 m 7515 9225 l gs col0 s gr % Polyline n 6885 8370 m 6885 9225 l gs col0 s gr % Polyline n 5895 1530 m 8595 1530 l 8595 2385 l 5895 2385 l gs col0 s gr % Polyline n 5895 630 m 8595 630 l 8595 1485 l 5895 1485 l gs col0 s gr % Polyline n 8010 630 m 8010 1485 l gs col0 s gr % Polyline n 7380 630 m 7380 1485 l gs col0 s gr % Polyline n 6750 630 m 6750 1485 l gs col0 s gr % Polyline n 8010 1530 m 8010 2385 l gs col0 s gr % Polyline n 7380 1530 m 7380 2385 l gs col0 s gr % Polyline n 6750 1530 m 6750 2385 l gs col0 s gr % Polyline gs clippath 6270 8700 m 6270 8580 l 5915 8580 l 6215 8640 l 5915 8700 l cp eoclip n 3060 5940 m 3060 8640 l 6255 8640 l gs col0 s gr gr % arrowhead n 5915 8700 m 6215 8640 l 5915 8580 l 5975 8640 l 5915 8700 l cp gs 0.00 setgray ef gr col0 s % Polyline gs clippath 6180 1185 m 6180 1065 l 5825 1065 l 6125 1125 l 5825 1185 l cp eoclip n 3420 1125 m 6165 1125 l gs col0 s gr gr % arrowhead n 5825 1185 m 6125 1125 l 5825 1065 l 5885 1125 l 5825 1185 l cp gs 0.00 setgray ef gr col0 s % Polyline gs clippath 6315 8970 m 6315 8850 l 5960 8850 l 6260 8910 l 5960 8970 l cp eoclip n 2385 8910 m 6300 8910 l gs col0 s gr gr % arrowhead n 5960 8970 m 6260 8910 l 5960 8850 l 6020 8910 l 5960 8970 l cp gs 0.00 setgray ef gr col0 s % Polyline n -45 4947 m -180 4947 -180 5760 135 arcto 4 {pop} repeat -180 5895 4545 5895 135 arcto 4 {pop} repeat 4680 5895 4680 5082 135 arcto 4 {pop} repeat 4680 4947 -45 4947 135 arcto 4 {pop} repeat cp gs col0 s gr % Polyline gs clippath -165 5460 m -165 5340 l -519 5340 l -219 5400 l -519 5460 l cp eoclip n -1845 5400 m -180 5400 l gs col0 s gr gr % arrowhead n -519 5460 m -219 5400 l -519 5340 l -459 5400 l -519 5460 l cp gs 0.00 setgray ef gr col0 s % Polyline gs clippath 6090 5550 m 6090 5430 l 5735 5430 l 6035 5490 l 5735 5550 l cp eoclip n 4680 5490 m 6075 5490 l gs col0 s gr gr % arrowhead n 5735 5550 m 6035 5490 l 5735 5430 l 5795 5490 l 5735 5550 l cp gs 0.00 setgray ef gr col0 s /Times-Roman-iso ff 540.00 scf sf 5940 405 m gs 1 -1 sc (path-identifier queue) col0 sh gr /Times-Roman-iso ff 540.00 scf sf 2160 900 m gs 1 -1 sc (requests ) col0 sh gr /Times-Roman-iso ff 540.00 scf sf -90 5580 m gs 1 -1 sc (capability checking) col0 sh gr /Times-Roman-iso ff 540.00 scf sf 135 4590 m gs 1 -1 sc (regular packets ) col0 sh gr /Times-Roman-iso ff 540.00 scf sf 4905 5220 m gs 1 -1 sc (yes) col0 sh gr /Times-Roman-iso ff 540.00 scf sf -810 8505 m gs 1 -1 sc (legacy packets) col0 sh gr /Times-Roman-iso ff 540.00 scf sf 3150 6840 m gs 1 -1 sc (no) col0 sh gr /Times-Roman-iso ff 540.00 scf sf 6075 8235 m gs 1 -1 sc (low priority queue) col0 sh gr /Times-Roman-iso ff 540.00 scf sf 6030 3915 m gs 1 -1 sc (per sender queue) col0 sh gr $F2psEnd rs %%EndDocument @endspecial 0 1393 a Fn(Figur)o(e)26 b(2:)37 b Fm(Queue)22 b(management)i(at)e(a)f(capability)j(r)o(outer)-7 b(.)37 b(Ther)o(e)23 b(ar)o(e)0 1484 y(thr)o(ee)e(types)g(of)f(traf\002c:)29 b(r)o(equests)21 b(that)g(ar)o(e)g(rate-limited;)k(r)o(egular)e(pack-)0 1576 y(ets)15 b(with)g(associated)i(capabilities)g(that)f(r)o(ecei)o(v) o(e)i(pr)o(efer)o(ential)g(f)n(orwarding;)0 1667 y(and)f(legacy)h (traf\002c)g(that)f(competes)i(f)n(or)f(any)e(r)o(emaining)j(band)o (width.)0 1921 y Fr(allo)n(wing)24 b(attack)o(ers)g(to)h(interfere)f (with)h(le)o(gitimate)f(traf)n(\002c)g(and)0 2013 y(e)o(xhaust)29 b(router)g(resources.)54 b(T)-7 b(o)30 b(solv)o(e)g(this)g(problem)f (we)h(re-)0 2104 y(quire)d(an)h(authenticated)e(source)h(identi\002er) -5 b(.)48 b(One)28 b(possibility)0 2195 y(is)j(ingress)e(\002ltering,)i (b)n(ut)f(we)g(discarded)e(this)i(as)g(too)g(fragile.)0 2287 y(Another)24 b(possibility)h(is)h(to)g(sign)f(pack)o(ets)g(using)g (a)h(public)e(k)o(e)o(y)0 2378 y(infrastructure,)18 b(b)n(ut)i(we)g (discarded)f(this)i(as)g(too)f(hea)n(vyweight.)75 2469 y(Instead,)i(we)h(b)n(uild)g(a)g(path)f(identi\002er)g(analogous)f(to)i (Pi)h([23])0 2561 y(and)f(use)i(it)f(as)h(an)f(approximate)d(source)j (locator)-5 b(.)35 b(Each)24 b(router)0 2652 y(tags)16 b(the)f(request)f(with)i(a)f(small)h(\(16)e(bit\))i(pseudo-random)11 b(v)n(alue)0 2743 y(deri)n(v)o(ed)27 b(from)g(its)j(incoming)d(interf)o (ace.)49 b(The)28 b(tags)h(act)g(as)g(an)0 2835 y(identi\002er)17 b(for)f(a)i(netw)o(ork)e(path.)23 b(W)-7 b(e)18 b(then)f(f)o(air)n (-queue)e(requests,)0 2926 y(using)h(the)h(combination)d(of)j(the)g (current)e(router')-5 b(s)16 b(incoming)f(in-)0 3017 y(terf)o(ace)25 b(and)g(the)h(pre)n(vious)e(router')-5 b(s)25 b(tag)h(to)g(identify)e(a)i(queue.)0 3109 y(This)17 b(is)h(sho)n(wn)e(in)h(Figure)f(2.)24 b(As)18 b(a)f(better)f (approximation,)e(tags)0 3200 y(from)24 b(earlier)h(routers)f(can)h(be) g(used)g(within)g(a)h(gi)n(v)o(en)e(queue)g(to)0 3291 y(break)j(ties.)49 b(Equi)n(v)n(alently)-5 b(,)27 b(instead)h(of)f (stamping)g(path)h(iden-)0 3383 y(ti\002ers)k(at)f(each)f(router)m(,)i (autonomous)c(domains)i(\(ASes\))h(may)0 3474 y(stamp)24 b(pack)o(ets)f(only)g(at)i(their)e(trust)h(boundary)-5 b(,)22 b(at)i(the)g(ingress)0 3565 y(to)31 b(the)g(domain)e(and)i(at)g (the)g(customer)e(attach,)k(pro)o(vided)c(the)0 3657 y(stamp)34 b(is)h(unique)d(across)j(all)f(inputs)g(to)g(the)g(AS.)g (Queueing)0 3748 y(could)19 b(then)h(be)g(in)g(terms)h(meaningful)d(to) i(the)g(AS.)75 3839 y(Queueing)27 b(based)i(on)g(a)g(path)g (identi\002er)f(has)i(tw)o(o)f(bene\002ts.)0 3930 y(First)j(the)f (number)f(of)h(queues)f(is)i(bounded)d(because)h(the)i(tag)0 4022 y(space)g(is)i(bounded.)59 b(This)33 b(in)g(turn)e(bounds)g(the)i (comple)o(xity)0 4113 y(of)25 b(f)o(air)h(queuing,)e(ensuring)g(that)i (we)f(will)h(not)g(e)o(xhaust)e(router)0 4204 y(resources.)62 b(Second,)35 b(the)e(scheme)f(of)n(fers)g(defense-in-depth)0 4296 y(because)26 b(each)g(router)g(\(or)g(AS\))h(places)g(the)f(most)h (trust)g(in)g(the)0 4387 y(router)21 b(\(AS\))g(that)h(precedes)f(it.) 30 b(Therefore,)20 b(an)h(attack)o(er)h(at)g(the)0 4478 y(edge)f(of)g(the)h(netw)o(ork)e(or)i(a)g(compromised)d(router)h(who)h (writes)0 4570 y(arbitrary)26 b(tags)h(can)g(at)h(most)f(cause)g(queue) f(contention)f(at)j(the)0 4661 y(ne)o(xt)20 b(do)n(wnstream)e(router)h (\(AS\).)i(One)f(consequence)e(of)i(this)h(is)0 4752 y(that)e(senders)f(in)h(the)g(same)g(identity)f(group)f(share)h(f)o (ate,)h(localiz-)0 4844 y(ing)g(the)h(impact)f(of)h(an)g(attack)f(and)g (pro)o(viding)e(an)j(incenti)n(v)o(e)e(for)0 4935 y(impro)o(v)o(ed)f (local)k(security)-5 b(.)0 5101 y Fs(3.3)99 b(Destination)25 b(P)n(olicies)75 5217 y Fr(The)19 b(ne)o(xt)g(question)g(we)h(consider) e(is)j(ho)n(w)e(a)h(destination)f(can)0 5309 y(determine)e(whether)h (to)g(authorize)f(a)i(request.)24 b(This)19 b(is)g(a)g(matter)0 5400 y(of)i(polic)o(y)-5 b(,)19 b(and)i(it)h(depends)d(on)i(the)g(role) g(the)g(destination)f(plays)2041 687 y @beginspecial 80 @llx 420 @lly 780 @urx 670 @ury 2280 @rwi @setspecial %%BeginDocument: ./figures/capabilities.eps %!PS-Adobe-3.0 EPSF-3.0 %%Title: Microsoft PowerPoint - powerpoint-bits %%Creator: PScript5.dll Version 5.2.2 %%CreationDate: 2/6/2005 20:54:33 %%BoundingBox: 13 12 780 599 %%Pages: 1 %%Orientation: Landscape %%PageOrder: Ascend %%DocumentNeededResources: (atend) %%DocumentSuppliedResources: (atend) %%DocumentData: Clean7Bit %%TargetDevice: (HP LaserJet 4200) (3010.107) 0 %%LanguageLevel: 3 %%EndComments %%BeginDefaults %%PageBoundingBox: 13 12 780 599 %%ViewingOrientation: 0 1 -1 0 %%EndDefaults %%BeginProlog %%BeginResource: file Pscript_WinNT_ErrorHandler 5.0 0 /currentpacking where{pop/oldpack currentpacking def/setpacking where{pop false setpacking}if}if/$brkpage 64 dict def $brkpage begin/prnt{dup type/stringtype ne{=string cvs}if dup length 6 mul/tx exch def/ty 10 def currentpoint/toy exch def/tox exch def 1 setgray newpath tox toy 2 sub moveto 0 ty rlineto tx 0 rlineto 0 ty neg rlineto closepath fill tox toy moveto 0 setgray show}bind def /nl{currentpoint exch pop lmargin exch moveto 0 -10 rmoveto}def/=={/cp 0 def typeprint nl}def/typeprint{dup type exec}readonly def/lmargin 72 def/rmargin 72 def/tprint{dup length cp add rmargin gt{nl/cp 0 def}if dup length cp add/cp exch def prnt}readonly def/cvsprint{=string cvs tprint( )tprint}readonly def /integertype{cvsprint}readonly def/realtype{cvsprint}readonly def/booleantype {cvsprint}readonly def/operatortype{(--)tprint =string cvs tprint(-- )tprint} readonly def/marktype{pop(-mark- )tprint}readonly def/dicttype{pop (-dictionary- )tprint}readonly def/nulltype{pop(-null- )tprint}readonly def /filetype{pop(-filestream- )tprint}readonly def/savetype{pop(-savelevel- ) tprint}readonly def/fonttype{pop(-fontid- )tprint}readonly def/nametype{dup xcheck not{(/)tprint}if cvsprint}readonly def/stringtype{dup rcheck{(\()tprint tprint(\))tprint}{pop(-string- )tprint}ifelse}readonly def/arraytype{dup rcheck {dup xcheck{({)tprint{typeprint}forall(})tprint}{([)tprint{typeprint}forall(]) tprint}ifelse}{pop(-array- )tprint}ifelse}readonly def/packedarraytype{dup rcheck{dup xcheck{({)tprint{typeprint}forall(})tprint}{([)tprint{typeprint} forall(])tprint}ifelse}{pop(-packedarray- )tprint}ifelse}readonly def/courier /Courier findfont 10 scalefont def end errordict/handleerror{systemdict begin $error begin $brkpage begin newerror{/newerror false store vmstatus pop pop 0 ne{grestoreall}if errorname(VMerror)ne{showpage}if initgraphics courier setfont lmargin 720 moveto errorname(VMerror)eq{userdict/ehsave known{clear userdict /ehsave get restore 2 vmreclaim}if vmstatus exch pop exch pop PrtVMMsg}{ (ERROR: )prnt errorname prnt nl(OFFENDING COMMAND: )prnt/command load prnt $error/ostack known{nl nl(STACK:)prnt nl nl $error/ostack get aload length{==} repeat}if}ifelse systemdict/showpage get exec(%%[ Error: )print errorname =print(; OffendingCommand: )print/command load =print( ]%%)= flush}if end end end}dup 0 systemdict put dup 4 $brkpage put bind readonly put/currentpacking where{pop/setpacking where{pop oldpack setpacking}if}if %%EndResource userdict /Pscript_WinNT_Incr 230 dict dup begin put %%BeginResource: file Pscript_FatalError 5.0 0 userdict begin/FatalErrorIf{{initgraphics findfont 1 index 0 eq{exch pop}{dup length dict begin{1 index/FID ne{def}{pop pop}ifelse}forall/Encoding {ISOLatin1Encoding}stopped{StandardEncoding}if def currentdict end /ErrFont-Latin1 exch definefont}ifelse exch scalefont setfont counttomark 3 div cvi{moveto show}repeat showpage quit}{cleartomark}ifelse}bind def end %%EndResource userdict begin/PrtVMMsg{vmstatus exch sub exch pop gt{[ (This job requires more memory than is available in this printer.)100 500 (Try one or more of the following, and then print again:)100 485 (For the output format, choose Optimize For Portability.)115 470 (In the Device Settings page, make sure the Available PostScript Memory is accurate.) 115 455(Reduce the number of fonts in the document.)115 440 (Print the document in parts.)115 425 12/Times-Roman showpage (%%[ PrinterError: Low Printer VM ]%%)= true FatalErrorIf}if}bind def end version cvi 2016 ge{/VM?{pop}bind def}{/VM? userdict/PrtVMMsg get def}ifelse %%BeginResource: file Pscript_Win_Basic 5.0 0 /d/def load def/,/load load d/~/exch , d/?/ifelse , d/!/pop , d/`/begin , d/^ /index , d/@/dup , d/+/translate , d/$/roll , d/U/userdict , d/M/moveto , d/- /rlineto , d/&/currentdict , d/:/gsave , d/;/grestore , d/F/false , d/T/true , d/N/newpath , d/E/end , d/Ac/arc , d/An/arcn , d/A/ashow , d/D/awidthshow , d/C /closepath , d/V/div , d/O/eofill , d/L/fill , d/I/lineto , d/-c/curveto , d/-M /rmoveto , d/+S/scale , d/Ji/setfont , d/Lc/setlinecap , d/Lj/setlinejoin , d /Lw/setlinewidth , d/Lm/setmiterlimit , d/sd/setdash , d/S/show , d/LH/showpage , d/K/stroke , d/W/widthshow , d/R/rotate , d/L2? false/languagelevel where{pop languagelevel 2 ge{pop true}if}if d L2?{/xS/xshow , d/yS/yshow , d/zS/xyshow , d}if/b{bind d}bind d/bd{bind d}bind d/xd{~ d}bd/ld{, d}bd/bn/bind ld/lw/Lw ld /lc/Lc ld/lj/Lj ld/sg/setgray ld/ADO_mxRot null d/self & d/OrgMx matrix currentmatrix d/reinitialize{: OrgMx setmatrix[/TextInit/GraphInit/UtilsInit counttomark{@ where{self eq}{F}?{cvx exec}{!}?}repeat cleartomark ;}b /initialize{`{/Pscript_Win_Data where{!}{U/Pscript_Win_Data & put}?/ADO_mxRot ~ d/TextInitialised? F d reinitialize E}{U/Pscript_Win_Data 230 dict @ ` put /ADO_mxRot ~ d/TextInitialised? F d reinitialize}?}b/terminate{!{& self eq {exit}{E}?}loop E}b/suspend/terminate , d/resume{` Pscript_Win_Data `}b U ` /lucas 21690 d/featurebegin{countdictstack lucas[}b/featurecleanup{stopped {cleartomark @ lucas eq{! exit}if}loop countdictstack ~ sub @ 0 gt{{E}repeat} {!}?}b E/snap{transform 0.25 sub round 0.25 add ~ 0.25 sub round 0.25 add ~ itransform}b/dsnap{dtransform round ~ round ~ idtransform}b/nonzero_round{@ 0.5 ge{round}{@ -0.5 lt{round}{0 ge{1}{-1}?}?}?}b/nonzero_dsnap{dtransform nonzero_round ~ nonzero_round ~ idtransform}b U<04>cvn{}put/rr{1 ^ 0 - 0 ~ - neg 0 - C}b/irp{4 -2 $ + +S fx 4 2 $ M 1 ^ 0 - 0 ~ - neg 0 -}b/rp{4 2 $ M 1 ^ 0 - 0 ~ - neg 0 -}b/solid{[]0 sd}b/g{@ not{U/DefIf_save save put}if U/DefIf_bool 2 ^ put}b/DefIf_El{if U/DefIf_bool get not @{U/DefIf_save get restore}if}b/e {DefIf_El !}b/UDF{L2?{undefinefont}{!}?}b/UDR{L2?{undefineresource}{! !}?}b /freeVM{/Courier findfont[40 0 0 -40 0 0]makefont Ji 2 vmreclaim}b/hfRedefFont {findfont @ length dict `{1 ^/FID ne{d}{! !}?}forall & E @ ` ~{/CharStrings 1 dict `/.notdef 0 d & E d}if/Encoding 256 array 0 1 255{1 ^ ~/.notdef put}for d E definefont !}bind d/hfMkCIDFont{/CIDFont findresource @ length 2 add dict `{1 ^ @/FID eq ~ @/XUID eq ~/UIDBase eq or or{! !}{d}?}forall/CDevProc ~ d/Metrics2 16 dict d/CIDFontName 1 ^ d & E 1 ^ ~/CIDFont defineresource ![~]composefont !} bind d %%EndResource %%BeginResource: file Pscript_Win_Utils_L2 5.0 0 /rf/rectfill , d/fx{1 1 dtransform @ 0 ge{1 sub 0.5}{1 add -0.5}? 3 -1 $ @ 0 ge {1 sub 0.5}{1 add -0.5}? 3 1 $ 4 1 $ idtransform 4 -2 $ idtransform}b/BZ{4 -2 $ snap + +S fx rf}b/rs/rectstroke , d/rc/rectclip , d/UtilsInit{currentglobal{F setglobal}if}b/scol{! setcolor}b/colspA/DeviceGray d/colspABC/DeviceRGB d /colspRefresh{colspABC setcolorspace}b/SetColSpace{colspABC setcolorspace}b /resourcestatus where{!/ColorRendering/ProcSet resourcestatus{! ! T}{F}?}{F}? not{/ColorRendering<>/defineresource where{!/ProcSet defineresource !}{! !}?}if/buildcrdname{/ColorRendering/ProcSet findresource ` mark GetHalftoneName @ type @/nametype ne ~/stringtype ne and{!/none}if(.) GetPageDeviceName @ type @/nametype ne ~/stringtype ne and{!/none}if(.)5 ^ 0 5 -1 1{^ length add}for string 6 1 $ 5 ^ 5{~ 1 ^ cvs length 1 ^ length 1 ^ sub getinterval}repeat ! cvn 3 1 $ ! ! E}b/definecolorrendering{~ buildcrdname ~ /ColorRendering defineresource !}b/findcolorrendering where{!}{ /findcolorrendering{buildcrdname @/ColorRendering resourcestatus{! ! T}{ /ColorRendering/ProcSet findresource ` GetSubstituteCRD E F}?}b}? /selectcolorrendering{findcolorrendering !/ColorRendering findresource setcolorrendering}b/G2UBegin{findresource/FontInfo get/GlyphNames2Unicode get `}bind d/G2CCBegin{findresource/FontInfo get/GlyphNames2HostCode get `}bind d /G2UEnd{E}bind d/AddFontInfoBegin{/FontInfo 8 dict @ `}bind d/AddFontInfo{ /GlyphNames2Unicode 16 dict d/GlyphNames2HostCode 16 dict d}bind d /AddFontInfoEnd{E d}bind d/T0AddCFFMtx2{/CIDFont findresource/Metrics2 get ` d E}bind d %%EndResource end %%EndProlog %%BeginSetup [ 0 1 -1 0 0 0 ] false Pscript_WinNT_Incr dup /initialize get exec 1 setlinecap 1 setlinejoin /mysetup [ 72 600 V 0 0 -72 600 V 11.99905 779.0003 ] def %%EndSetup %%Page: 1 1 %%PageBoundingBox: 13 12 780 599 %%EndPageComments %%BeginPageSetup /DeviceRGB dup setcolorspace /colspABC exch def mysetup concat colspRefresh %%EndPageSetup Pscript_WinNT_Incr begin %%BeginResource: file Pscript_WinNT_Compat 5.0 0 userdict/Pscript_WinNT_Compat 19 dict dup begin/bd{bind def}bind def/ld{load def}bd/$x matrix def/ANSIVec[16#0/grave 16#1/acute 16#2/circumflex 16#3/tilde 16#4/macron 16#5/breve 16#6/dotaccent 16#7/dieresis 16#8/ring 16#9/cedilla 16#A /hungarumlaut 16#B/ogonek 16#C/caron 16#D/dotlessi 16#27/quotesingle 16#60 /grave 16#7C/bar 16#82/quotesinglbase 16#83/florin 16#84/quotedblbase 16#85 /ellipsis 16#86/dagger 16#87/daggerdbl 16#88/circumflex 16#89/perthousand 16#8A /Scaron 16#8B/guilsinglleft 16#8C/OE 16#91/quoteleft 16#92/quoteright 16#93 /quotedblleft 16#94/quotedblright 16#95/bullet 16#96/endash 16#97/emdash 16#98 /tilde 16#99/trademark 16#9A/scaron 16#9B/guilsinglright 16#9C/oe 16#9F /Ydieresis 16#A0/space 16#A1/exclamdown 16#A4/currency 16#A5/yen 16#A6 /brokenbar 16#A7/section 16#A8/dieresis 16#A9/copyright 16#AA/ordfeminine 16#AB /guillemotleft 16#AC/logicalnot 16#AD/hyphen 16#AE/registered 16#AF/macron 16#B0/degree 16#B1/plusminus 16#B2/twosuperior 16#B3/threesuperior 16#B4/acute 16#B5/mu 16#B6/paragraph 16#B7/periodcentered 16#B8/cedilla 16#B9/onesuperior 16#BA/ordmasculine 16#BB/guillemotright 16#BC/onequarter 16#BD/onehalf 16#BE /threequarters 16#BF/questiondown 16#C0/Agrave 16#C1/Aacute 16#C2/Acircumflex 16#C3/Atilde 16#C4/Adieresis 16#C5/Aring 16#C6/AE 16#C7/Ccedilla 16#C8/Egrave 16#C9/Eacute 16#CA/Ecircumflex 16#CB/Edieresis 16#CC/Igrave 16#CD/Iacute 16#CE /Icircumflex 16#CF/Idieresis 16#D0/Eth 16#D1/Ntilde 16#D2/Ograve 16#D3/Oacute 16#D4/Ocircumflex 16#D5/Otilde 16#D6/Odieresis 16#D7/multiply 16#D8/Oslash 16#D9/Ugrave 16#DA/Uacute 16#DB/Ucircumflex 16#DC/Udieresis 16#DD/Yacute 16#DE /Thorn 16#DF/germandbls 16#E0/agrave 16#E1/aacute 16#E2/acircumflex 16#E3 /atilde 16#E4/adieresis 16#E5/aring 16#E6/ae 16#E7/ccedilla 16#E8/egrave 16#E9 /eacute 16#EA/ecircumflex 16#EB/edieresis 16#EC/igrave 16#ED/iacute 16#EE /icircumflex 16#EF/idieresis 16#F0/eth 16#F1/ntilde 16#F2/ograve 16#F3/oacute 16#F4/ocircumflex 16#F5/otilde 16#F6/odieresis 16#F7/divide 16#F8/oslash 16#F9 /ugrave 16#FA/uacute 16#FB/ucircumflex 16#FC/udieresis 16#FD/yacute 16#FE/thorn 16#FF/ydieresis]def currentdict{dup type/operatortype eq{[exch]cvx def}{pop pop}ifelse}forall/initialize{currentdict exch begin begin}bind def/terminate{ /@FL where not{pop end end}{pop}ifelse}bind def/suspend/terminate load def /resume/initialize load def/RS{/pagesave where{pop pagesave restore}{$x matrix invertmatrix concat}ifelse}def/SS{/pagesave save def}def/CB{pop pop pop pop}def /B{pop pop pop pop}def/:/gsave load def/;/grestore load def/N/newpath load def end put %%EndResource end reinitialize Pscript_WinNT_Compat begin /$x mysetup def end Pscript_WinNT_Incr dup /suspend get exec Pscript_WinNT_Compat dup /initialize get exec %%BeginDocument: Pscript_Win_PassThrough userdict /GpPBeg {gsave initclip 13 dict begin /c {curveto} bind def /l {lineto} bind def /m {moveto} bind def /NP {newpath} bind def /CP {closepath} bind def /SC {setrgbcolor} bind def /S {stroke} bind def /F {fill} bind def /AF {eofill} bind def 1 eq {setdash setlinewidth setmiterlimit setlinejoin setlinecap} if} put /GSE {end grestore} def 0 GpPBeg NP 196 196 m 6196 196 l 6196 4696 l 196 4696 l CP eoclip 1 1 1 SC NP 195 195 m 6196 195 l 6196 4696 l 195 4696 l CP AF GSE userdict /GpPBeg {gsave initclip 13 dict begin /c {curveto} bind def /l {lineto} bind def /m {moveto} bind def /NP {newpath} bind def /CP {closepath} bind def /SC {setrgbcolor} bind def /S {stroke} bind def /F {fill} bind def /AF {eofill} bind def 1 eq {setdash setlinewidth setmiterlimit setlinejoin setlinecap} if} put /GSE {end grestore} def 1 0 8 6.2500 [] 0 1 GpPBeg 0.0039 0.0039 0.0039 SC NP 1046 1746 m 1046 1996 l 5546 1996 l 5546 1746 l CP S GSE %%EndDocument Pscript_WinNT_Compat dup /suspend get exec Pscript_WinNT_Incr dup /resume get exec /DeviceRGB dup setcolorspace /colspABC exch def 0 0 0 1 scol Pscript_WinNT_Incr begin %%BeginResource: file Pscript_Text 5.0 0 /TextInit{TextInitialised? not{/Pscript_Windows_Font & d/TextInitialised? T d /fM[1 0 0 1 0 0]d/mFM matrix d/iMat[1 0 0.212557 1 0 0]d}if}b/copyfont{1 ^ length add dict `{1 ^/FID ne{d}{! !}?}forall & E}b/EncodeDict 11 dict d/bullets {{/bullet}repeat}b/rF{3 copyfont @ ` ~ EncodeDict ~ get/Encoding ~ 3 ^/0 eq{& /CharStrings known{CharStrings/Eth known not{! EncodeDict/ANSIEncodingOld get} if}if}if d E}b/mF{@ 7 1 $ findfont ~{@/Encoding get @ StandardEncoding eq{! T}{ {ISOLatin1Encoding}stopped{! F}{eq}?{T}{@ ` T 32 1 127{Encoding 1 ^ get StandardEncoding 3 -1 $ get eq and}for E}?}?}{F}?{1 ^ ~ rF}{0 copyfont}? 6 -2 $ ! ! ~ !/pd_charset @ where{~ get 128 eq{@ FDV 2 copy get @ length array copy put pd_CoverFCRange}if}{!}? 2 ^ ~ definefont fM 5 4 -1 $ put fM 4 0 put fM makefont Pscript_Windows_Font 3 1 $ put}b/sLT{: Lw -M currentpoint snap M 0 - 0 Lc K ;}b/xUP null d/yUP null d/uW null d/xSP null d/ySP null d/sW null d/sSU{N /uW ~ d/yUP ~ d/xUP ~ d}b/sU{xUP yUP uW sLT}b/sST{N/sW ~ d/ySP ~ d/xSP ~ d}b/sT {xSP ySP sW sLT}b/sR{: + R 0 0 M}b/sRxy{: matrix astore concat 0 0 M}b/eR/; , d /AddOrigFP{{&/FontInfo known{&/FontInfo get length 6 add}{6}? dict ` /WinPitchAndFamily ~ d/WinCharSet ~ d/OrigFontType ~ d/OrigFontStyle ~ d /OrigFontName ~ d & E/FontInfo ~ d}{! ! ! ! !}?}b/mFS{makefont Pscript_Windows_Font 3 1 $ put}b/mF42D{0 copyfont `/FontName ~ d 2 copy ~ sub 1 add dict `/.notdef 0 d 2 copy 1 ~{@ 3 ^ sub Encoding ~ get ~ d}for & E /CharStrings ~ d ! ! & @ E/FontName get ~ definefont}b/mF42{15 dict ` @ 4 1 $ FontName ~ d/FontType 0 d/FMapType 2 d/FontMatrix[1 0 0 1 0 0]d 1 ^ 254 add 255 idiv @ array/Encoding ~ d 0 1 3 -1 $ 1 sub{@ Encoding 3 1 $ put}for/FDepVector Encoding length array d/CharStrings 2 dict `/.notdef 0 d & E d 0 1 Encoding length 1 sub{@ @ 10 lt{! FontName length 1 add string}{100 lt{FontName length 2 add string}{FontName length 3 add string}?}? @ 0 FontName @ length string cvs putinterval @ 3 -1 $ @ 4 1 $ 3 string cvs FontName length ~ putinterval cvn 1 ^ 256 mul @ 255 add 3 -1 $ 4 ^ findfont mF42D FDepVector 3 1 $ put}for & @ E /FontName get ~ definefont ! ! ! mF}b/mF_OTF_V{~ ! ~ ! 4 -1 $ ! findfont 2 ^ ~ definefont fM @ @ 4 6 -1 $ neg put 5 0 put 90 matrix R matrix concatmatrix makefont Pscript_Windows_Font 3 1 $ put}b/mF_TTF_V{3{~ !}repeat 3 -1 $ ! findfont 1 ^ ~ definefont Pscript_Windows_Font 3 1 $ put}b/UmF{L2? {Pscript_Windows_Font ~ undef}{!}?}b/UmF42{@ findfont/FDepVector get{/FontName get undefinefont}forall undefinefont}b %%EndResource end reinitialize Pscript_WinNT_Incr begin %%BeginResource: file Pscript_Encoding256 5.0 0 /CharCol256Encoding[/.notdef/breve/caron/dotaccent/dotlessi/fi/fl/fraction /hungarumlaut/Lslash/lslash/minus/ogonek/ring/Zcaron/zcaron/.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/Euro/.notdef/quotesinglbase/florin/quotedblbase/ellipsis /dagger/daggerdbl/circumflex/perthousand/Scaron/guilsinglleft/OE/.notdef /.notdef/.notdef/.notdef/quoteleft/quoteright/quotedblleft/quotedblright/bullet /endash/emdash/tilde/trademark/scaron/guilsinglright/oe/.notdef/.notdef /Ydieresis/.notdef/exclamdown/cent/sterling/currency/yen/brokenbar/section /dieresis/copyright/ordfeminine/guillemotleft/logicalnot/.notdef/registered /macron/degree/plusminus/twosuperior/threesuperior/acute/mu/paragraph /periodcentered/cedilla/onesuperior/ordmasculine/guillemotright/onequarter /onehalf/threequarters/questiondown/Agrave/Aacute/Acircumflex/Atilde/Adieresis /Aring/AE/Ccedilla/Egrave/Eacute/Ecircumflex/Edieresis/Igrave/Iacute /Icircumflex/Idieresis/Eth/Ntilde/Ograve/Oacute/Ocircumflex/Otilde/Odieresis /multiply/Oslash/Ugrave/Uacute/Ucircumflex/Udieresis/Yacute/Thorn/germandbls /agrave/aacute/acircumflex/atilde/adieresis/aring/ae/ccedilla/egrave/eacute /ecircumflex/edieresis/igrave/iacute/icircumflex/idieresis/eth/ntilde/ograve /oacute/ocircumflex/otilde/odieresis/divide/oslash/ugrave/uacute/ucircumflex /udieresis/yacute/thorn/ydieresis]def EncodeDict/256 CharCol256Encoding put %%EndResource end reinitialize %%IncludeResource: font Arial Pscript_WinNT_Incr begin %%BeginResource: file Pscript_Win_Euro_L2 5.0 0 /UseT3EuroFont{/currentdistillerparams where{pop currentdistillerparams /CoreDistVersion get 4000 le}{false}ifelse}bind def/NewEuroT3Font?{dup/FontType get 3 eq{dup/EuroFont known exch/BaseFont known and}{pop false}ifelse}bind def /T1FontHasEuro{dup/CharStrings known not{dup NewEuroT3Font?{dup/EuroGlyphName get exch/EuroFont get/CharStrings get exch known{true}{false}ifelse}{pop false} ifelse}{dup/FontType get 1 eq{/CharStrings get/Euro known}{dup/InfoDict known{ /InfoDict get/Euro known}{/CharStrings get/Euro known}ifelse}ifelse}ifelse}bind def/FontHasEuro{findfont dup/Blend known{pop true}{T1FontHasEuro}ifelse}bind def/EuroEncodingIdx 1 def/EuroFontHdr{12 dict begin/FontInfo 10 dict dup begin /version(001.000)readonly def/Notice(Copyright (c)1999 Adobe Systems Incorporated. All Rights Reserved.)readonly def/FullName(Euro)readonly def /FamilyName(Euro)readonly def/Weight(Regular)readonly def/isFixedPitch false def/ItalicAngle 0 def/UnderlinePosition -100 def/UnderlineThickness 50 def end readonly def/FontName/Euro def/Encoding 256 array 0 1 255{1 index exch/.notdef put}for def/PaintType 0 def/FontType 1 def/FontMatrix[0.001 0 0 0.001 0 0]def /FontBBox{-25 -23 1500 804}readonly def currentdict end dup/Private 20 dict dup begin/ND{def}def/NP{put}def/lenIV -1 def/RD{string currentfile exch readhexstring pop}def/-|{string currentfile exch readstring pop}executeonly def /|-{def}executeonly def/|{put}executeonly def/BlueValues[-20 0 706 736 547 572] |-/OtherBlues[-211 -203]|-/BlueScale 0.0312917 def/MinFeature{16 16}|-/StdHW [60]|-/StdVW[71]|-/ForceBold false def/password 5839 def/Erode{8.5 dup 3 -1 roll 0.1 mul exch 0.5 sub mul cvi sub dup mul 71 0 dtransform dup mul exch dup mul add le{pop pop 1.0 1.0}{pop pop 0.0 1.5}ifelse}def/OtherSubrs[{}{}{} {systemdict/internaldict known not{pop 3}{1183615869 systemdict/internaldict get exec dup/startlock known{/startlock get exec}{dup/strtlck known{/strtlck get exec}{pop 3}ifelse}ifelse}ifelse}executeonly]|-/Subrs 5 array dup 0 <8E8B0C100C110C110C210B>put dup 1<8B8C0C100B>put dup 2<8B8D0C100B>put dup 3<0B> put dup 4<8E8C8E0C100C110A0B>put |- 2 index/CharStrings 256 dict dup begin /.notdef<8b8b0d0e>def end end put put dup/FontName get exch definefont pop}bind def/AddEuroGlyph{2 index exch EuroEncodingIdx 1 eq{EuroFontHdr}if systemdict begin/Euro findfont dup dup/Encoding get 5 1 roll/Private get begin/CharStrings get dup 3 index known{pop pop pop pop end end}{begin 1 index exch def end end end EuroEncodingIdx dup 1 add/EuroEncodingIdx exch def exch put}ifelse}bind def /GetNewXUID{currentdict/XUID known{[7 XUID aload pop]true}{currentdict/UniqueID known{[7 UniqueID]true}{false}ifelse}ifelse}bind def/BuildT3EuroFont{exch 16 dict begin dup/FontName exch def findfont dup/Encoding get/Encoding exch def dup length 1 add dict copy dup/FID undef begin dup dup/FontName exch def /Encoding 256 array 0 1 255{1 index exch/.notdef put}for def GetNewXUID{/XUID exch def}if currentdict end definefont pop/BaseFont exch findfont 1000 scalefont def/EuroFont exch findfont 1000 scalefont def pop/EuroGlyphName exch def/FontType 3 def/FontMatrix[.001 0 0 .001 0 0]def/FontBBox BaseFont/FontBBox get def/Char 1 string def/BuildChar{exch dup begin/Encoding get 1 index get /Euro eq{BaseFont T1FontHasEuro{false}{true}ifelse}{false}ifelse{EuroFont setfont pop userdict/Idx 0 put EuroFont/Encoding get{EuroGlyphName eq{exit} {userdict/Idx Idx 1 add put}ifelse}forall userdict/Idx get}{dup dup Encoding exch get BaseFont/Encoding get 3 1 roll put BaseFont setfont}ifelse Char 0 3 -1 roll put Char stringwidth newpath 0 0 moveto Char true charpath flattenpath pathbbox setcachedevice 0 0 moveto Char show end}bind def currentdict end dup /FontName get exch definefont pop}bind def/AddEuroToT1Font{dup findfont dup length 10 add dict copy dup/FID undef begin/EuroFont 3 -1 roll findfont 1000 scalefont def CharStrings dup length 1 add dict copy begin/Euro{EuroFont setfont pop EuroGBBox aload pop setcachedevice 0 0 moveto EuroGName glyphshow} bind def currentdict end/CharStrings exch def GetNewXUID{/XUID exch def}if 3 1 roll/EuroGBBox exch def/EuroGName exch def currentdict end definefont pop}bind def/BuildNewFont{UseT3EuroFont{BuildT3EuroFont}{pop AddEuroToT1Font}ifelse}bind def/UseObliqueEuro{findfont/FontMatrix get dup 2 get 0 eq exch dup 0 get exch 3 get eq and UseT3EuroFont or}bind def %%EndResource end reinitialize /Arial FontHasEuro not { /Euro.Arial [556 0 24 -19 541 703 ] AddEuroGlyph /Euro /Arial /Arial-Copy BuildNewFont } if F /F0 0 /256 T /Arial mF /F0SC8 F0 [200 0 0 -200 0 0 ] mFS F0SC8 Ji 2406 1470 M (Pre)[133 67 0]xS 2717 1470 M (-)S 2784 1470 M (capability \(routers\))[100 111 111 112 112 45 45 44 56 100 56 67 67 111 111 56 111 67 99 0]xS /F0S96 F0 [150 0 0 -150 0 0 ] mFS F0S96 Ji 1094 1922 M (cache)[75 83 75 83 0]xS 1493 1922 M (-)S 1543 1922 M (bit\(1\))[84 33 42 50 83 0]xS 2011 1932 M (timestamp\(7\))[42 33 125 83 75 42 83 125 83 50 83 0]xS 3002 1922 M (hash\(src)[83 83 75 83 50 75 50 0]xS 3618 1922 M (IP, )[42 100 42 0]xS 3844 1922 M (dest)[83 83 75 0]xS 4169 1922 M (IP, time, secret\)\(56\))[42 100 41 42 42 33 125 83 42 42 75 83 74 50 83 42 50 50 83 83 0]xS Pscript_WinNT_Compat begin /$x mysetup def end Pscript_WinNT_Incr dup /suspend get exec Pscript_WinNT_Compat dup /initialize get exec %%BeginDocument: Pscript_Win_PassThrough userdict /GpPBeg {gsave initclip 13 dict begin /c {curveto} bind def /l {lineto} bind def /m {moveto} bind def /NP {newpath} bind def /CP {closepath} bind def /SC {setrgbcolor} bind def /S {stroke} bind def /F {fill} bind def /AF {eofill} bind def 1 eq {setdash setlinewidth setmiterlimit setlinejoin setlinecap} if} put /GSE {end grestore} def 1 1 10 6.2500 [] 0 1 GpPBeg 0.0039 0.0039 0.0039 SC NP 1946 1746 m 1946 1996 l S GSE 1 1 10 6.2500 [] 0 1 GpPBeg 0.0039 0.0039 0.0039 SC NP 2946 1746 m 2946 1996 l S GSE 1 0 8 6.2500 [] 0 1 GpPBeg 0.0039 0.0039 0.0039 SC NP 1058 2846 m 1058 3096 l 5558 3096 l 5558 2846 l CP S GSE %%EndDocument Pscript_WinNT_Compat dup /suspend get exec Pscript_WinNT_Incr dup /resume get exec /DeviceRGB dup setcolorspace /colspABC exch def 0 0 0 1 scol F0SC8 Ji 2589 2570 M (Capability \(hosts\))[144 112 111 112 111 45 45 44 56 100 56 66 111 111 100 56 100 0]xS F0S96 Ji 1106 3022 M (cache)[75 83 75 83 0]xS 1505 3022 M (-)S 1555 3022 M (bit\(1\))[84 33 42 50 83 0]xS 2023 3032 M (timestamp\(7\))[42 33 125 83 75 42 83 125 83 50 83 0]xS 3286 3022 M (hash\(pre)[83 83 75 83 50 83 51 0]xS 3877 3022 M (-)S 3927 3022 M (capability, N, T\)\(56\))[75 83 84 84 83 33 33 33 43 74 42 42 108 42 42 93 50 50 83 83 0]xS Pscript_WinNT_Compat begin /$x mysetup def end Pscript_WinNT_Incr dup /suspend get exec Pscript_WinNT_Compat dup /initialize get exec %%BeginDocument: Pscript_Win_PassThrough userdict /GpPBeg {gsave initclip 13 dict begin /c {curveto} bind def /l {lineto} bind def /m {moveto} bind def /NP {newpath} bind def /CP {closepath} bind def /SC {setrgbcolor} bind def /S {stroke} bind def /F {fill} bind def /AF {eofill} bind def 1 eq {setdash setlinewidth setmiterlimit setlinejoin setlinecap} if} put /GSE {end grestore} def 1 1 10 6.2500 [] 0 1 GpPBeg 0.0039 0.0039 0.0039 SC NP 1958 2846 m 1958 3096 l S GSE 1 1 10 6.2500 [] 0 1 GpPBeg 0.0039 0.0039 0.0039 SC NP 2958 2846 m 2958 3096 l S GSE %%EndDocument Pscript_WinNT_Compat dup /suspend get exec Pscript_WinNT_Incr dup /resume get exec LH %%PageTrailer %%Trailer %%DocumentNeededResources: %%+ font Arial %%DocumentSuppliedResources: %%+ procset Pscript_WinNT_ErrorHandler 5.0 0 %%+ procset Pscript_FatalError 5.0 0 %%+ procset Pscript_Win_Basic 5.0 0 %%+ procset Pscript_Win_Utils_L2 5.0 0 %%+ procset Pscript_WinNT_Compat 5.0 0 %%+ procset Pscript_Text 5.0 0 %%+ procset Pscript_Encoding256 5.0 0 %%+ procset Pscript_Win_Euro_L2 5.0 0 Pscript_WinNT_Incr dup /terminate get exec %%EOF %%EndDocument @endspecial 2456 938 a Fn(Figur)o(e)f(3:)25 b Fm(F)n(ormat)18 b(of)f(capabilities.)2000 1193 y Fr(in)26 b(the)g(netw)o(ork.)40 b(W)-7 b(e)27 b(consider)e(the)h(tw)o(o)g(e)o(xtreme)e(cases)j(of)e(a) 2000 1284 y(client)f(and)f(public)g(serv)o(er)g(to)h(ar)o(gue)e(that)i (simple)g(policies)g(can)2000 1376 y(be)c(ef)n(fecti)n(v)o(e.)2075 1467 y(A)28 b(client)g(may)f(act)h(in)g(a)g(w)o(ay)g(that)g(by)f(def)o (ault)g(allo)n(ws)h(it)g(to)2000 1558 y(contact)g(an)o(y)g(serv)o(er)f (b)n(ut)i(not)f(otherwise)g(be)h(contacted,)g(as)h(is)2000 1650 y(done)20 b(by)h(\002re)n(w)o(alls)g(and)g(N)m(A)-9 b(T)21 b(box)o(es)f(today)-5 b(.)26 b(T)-7 b(o)22 b(do)e(this,)i(it)g (ac-)2000 1741 y(cepts)28 b(incoming)f(requests)h(that)h(match)f (outgoing)e(requests)i(it)2000 1832 y(has)d(already)e(made)h(and)g (refuses)g(them)h(otherwise.)37 b(Note)24 b(that)2000 1924 y(the)17 b(destination)f(can)i(readily)e(do)h(this)h(because)f (capabilities)g(are)2000 2015 y(added)22 b(to)i(e)o(xisting)f(pack)o (ets)g(\(since)g(the)o(y)g(are)h(a)g(logical)f(e)o(xten-)2000 2106 y(sion)f(of)h(the)f(IP)h(layer\))f(rather)g(than)g(carried)f(as)j (separate)e(pack-)2000 2198 y(ets.)44 b(The)27 b(request)e(pack)o(et)h (that)h(reaches)f(the)g(destination)g(will)2000 2289 y(thus)20 b(contain)f(higher)g(layer)h(data)g(such)g(as)h(a)f(TCP)h (SYN.)2075 2380 y(A)27 b(public)e(serv)o(er)h(may)g(initially)h(grant)f (all)h(requests)f(with)h(a)2000 2472 y(def)o(ault)19 b(number)f(of)h(bytes)h(and)f(timeout,)g(using)g(the)h(path)f(iden-) 2000 2563 y(ti\002er)34 b(to)h(f)o(airly)f(serv)o(e)f(dif)n(ferent)g (sources)h(when)g(the)g(load)g(is)2000 2654 y(high.)56 b(If)31 b(an)o(y)f(of)h(the)g(senders)g(misbeha)n(v)o(e,)h(by)e (sending)g(un-)2000 2746 y(e)o(xpected)23 b(pack)o(ets)i(or)f (\003oods,)i(that)f(sender)f(can)g(be)h(temporar)n(-)2000 2837 y(ily)30 b(blacklisted)f(and)g(its)i(capability)d(will)j(soon)e(e) o(xpire.)52 b(This)2000 2928 y(blacklisting)29 b(is)j(possible)e (because)g(the)h(handshak)o(e)e(in)m(v)n(olv)o(ed)2000 3020 y(in)e(the)h(capability)e(e)o(xchange)f(weakly)i(authenticates)f (that)i(the)2000 3111 y(source)f(address)h(corresponds)e(to)i(a)h(real) f(host.)49 b(The)27 b(result)i(is)2000 3202 y(that)k(misbeha)n(ving)e (senders)h(are)h(quickly)e(contained.)61 b(More)2000 3294 y(sophisticated)35 b(policies)g(may)g(be)h(based)f(on)h(HTTP)f (cookies)2000 3385 y(that)30 b(identify)f(returning)f(customers,)k (CAPTCHAs)f(that)f(dis-)2000 3476 y(tinguish)19 b(zombies)h(from)f (real)h(users)g([9],)g(and)f(so)i(forth.)2000 3640 y Fs(3.4)99 b(Unf)n(or)o(geable)25 b(Capabilities)2075 3756 y Fr(Ha)n(ving)16 b(pro)o(vided)f(a)j(bootstrap)e(mechanism)g(and) h(polic)o(y)-5 b(,)16 b(we)2000 3847 y(turn)24 b(our)g(attention)g(to)g (the)h(form)f(of)g(capabilities)h(themselv)o(es.)2000 3939 y(Our)e(k)o(e)o(y)f(requirement)f(is)j(that)f(an)g(attack)o(er)f (can)h(neither)f(for)o(ge)2000 4030 y(a)k(capability)-5 b(,)26 b(nor)g(mak)o(e)f(use)i(of)f(a)g(capability)f(that)h(the)o(y)g (steal)2000 4121 y(or)d(transfer)g(from)f(another)g(party)-5 b(.)34 b(W)-7 b(e)24 b(also)g(need)f(capabilities)2000 4213 y(to)d(e)o(xpire.)2075 4304 y(W)-7 b(e)16 b(use)f(cryptography)c (to)16 b(accomplish)e(this)h(by)g(binding)f(each)2000 4395 y(capability)23 b(to)h(a)h(speci\002c)g(router)e(and)g(source)h (and)g(destination)2000 4487 y(IP)19 b(address)f(at)i(a)f(speci\002c)g (time.)24 b(This)19 b(pre-capability)e(is)i(sho)n(wn)2000 4578 y(in)28 b(Figure)g(3.)49 b(Each)28 b(router)f(that)i(forw)o(ards)e (a)i(request)e(pack)o(et)2000 4669 y(generates)14 b(its)i(o)n(wn)f (pre-capability)e(and)h(attaches)i(it)g(to)f(the)g(pack)o(et.)2000 4761 y(It)i(consists)g(of)g(a)g(local)g(router)f(timestamp)g(and)h(a)g (cryptographic)2000 4852 y(hash)k(of)f(that)h(timestamp)g(plus)g(the)g (source)f(and)g(destination)g(IP)2000 4943 y(addresses)d(and)g(a)g(slo) n(wly-changing)d(secret)k(kno)n(wn)e(only)g(to)i(the)2000 5035 y(router)-5 b(.)36 b(Observ)o(e)23 b(that)h(each)g(router)f(can)h (v)o(erify)f(for)h(itself)g(that)2000 5126 y(a)c(purported)d (pre-capability)h(attached)h(to)h(a)g(pack)o(et)f(is)i(v)n(alid)e(by) 2000 5217 y(re-computing)28 b(the)j(hash,)j(since)e(it)g(kno)n(ws)f (all)g(of)h(the)f(inputs)2000 5309 y(\(and)17 b(is)i(the)f(only)g (party)f(that)i(does\).)k(The)18 b(slo)n(wly-changing)d(se-)2000 5400 y(cret)k(changes)g(at)h(twice)g(the)f(rate)h(of)f(the)h(timestamp) f(rollo)o(v)o(er)e(to)1929 5649 y(4)p eop end %%Page: 5 5 TeXDict begin 5 4 bop 0 83 a Fr(ensure)16 b(that)h(the)g (pre-capability)e(is)j(e)o(xpired)d(within)i(at)h(most)f(the)0 174 y(timestamp)j(rollo)o(v)o(er)f(period.)24 b(This)d(trick)f(allo)n (ws)h(us)g(to)g(use)g(the)0 266 y(high-order)27 b(bit)j(of)f(router)g (time)g(v)n(alues)h(to)g(indicate)f(whether)0 357 y(the)g(current)g(or) g(pre)n(vious)f(router)g(secret)h(should)g(be)g(used)g(for)0 448 y(v)n(alidation.)46 b(That)28 b(is,)i(only)d(one)g(hash)h(must)g (be)f(tried)h(e)n(v)o(en)e(if)0 540 y(the)e(router)f(secret)i(w)o(as)g (changed)d(right)h(after)h(issuing)g(the)h(pre-)0 631 y(capability)-5 b(.)75 722 y(The)35 b(destination)f(thus)i(recei)n(v)o (es)f(an)g(ordered)f(list)i(of)g(pre-)0 814 y(capabilities)c(that)g (corresponds)d(to)j(a)g(speci\002c)h(netw)o(ork)d(path)0 905 y(with)25 b(\002x)o(ed)e(source)h(and)g(destination)f(IP)i (endpoints.)37 b(It)24 b(is)i(that)0 996 y(correspondence)j(that)j(pre) n(v)o(ents)e(an)i(attack)o(er)g(from)f(transfer)n(-)0 1088 y(ring)26 b(a)h(capability)f(for)g(its)i(o)n(wn)e(use:)39 b(it)28 b(cannot)d(generally)h(ar)n(-)0 1179 y(range)31 b(to)h(send)f(pack)o(ets)h(with)g(a)g(speci\002c)g(source)f(and)h (desti-)0 1270 y(nation)26 b(IP)h(address)f(through)e(a)j(speci\002c)g (sequence)e(of)i(routers)0 1362 y(unless)d(it)g(is)h(co-located)d(with) i(the)f(source.)35 b(In)23 b(the)h(latter)g(case,)0 1453 y(the)e(attack)o(er)g(is)h(indistinguishable)d(from)h(the)i(source)e (as)i(f)o(ar)f(as)0 1544 y(the)i(netw)o(ork)e(is)j(concerned,)d(and)h (shares)h(its)h(f)o(ate)f(in)g(the)g(same)0 1636 y(manner)19 b(as)i(for)e(requests.)75 1727 y(Similarly)-5 b(,)15 b(we)h(assume)f(that)g(local)g(netw)o(orks)f(use)i(some)f(mech-)0 1818 y(anism)21 b(to)h(pre)n(v)o(ent)d(impersonation.)26 b(If)21 b(a)h(host)f(can)g(both)g(snoop)0 1910 y(the)27 b(pack)o(ets)g(and)g(spoof)f(the)h(source)g(addresses)g(of)g(its)h (neigh-)0 2001 y(bors,)22 b(then)f(it)i(can)f(ef)n(fecti)n(v)o(ely)e (disrupt)h(an)o(y)g(host)h(on)g(that)g(local)0 2092 y(netw)o(ork.)47 b(\(Other)m(,)28 b(more)f(de)n(v)n(astating)f(attacks)i(are)g(also)g (pos-)0 2183 y(sible,)h(such)d(as)i(transparently)d(replacing)g (content.\))44 b(Physical)0 2275 y(restrictions)31 b(and/or)g(link)g (layer)g(encryption)f(can)h(be)h(used)g(to)0 2366 y(pre)n(v)o(ent)23 b(this)j(scenario,)f(b)n(ut)g(e)n(v)o(en)f(in)h(the)g(w)o(orse)g(case,) i(imper)n(-)0 2457 y(sonation)20 b(has)h(no)f(ef)n(fect)h(in)g(our)f (system)h(on)f(nodes)g(outside)h(the)0 2549 y(local)f(netw)o(ork.)75 2640 y(If)30 b(the)g(destination)f(wishes)h(to)h(authorize)d(that)i (path,)i(it)f(re-)0 2731 y(turns)18 b(an)f(ordered)f(list)j(of)f (capabilities)g(to)g(the)g(sender)f(via)h(pack-)0 2823 y(ets)30 b(sent)f(in)h(the)f(re)n(v)o(erse)f(direction.)50 b(Conceptually)-5 b(,)29 b(the)h(pre-)0 2914 y(capabilities)15 b(we)h(ha)n(v)o(e)e(described)g(could)g(directly)h(serv)o(e)f(as)i (these)0 3005 y(capabilities.)58 b(Ho)n(we)n(v)o(er)m(,)32 b(we)g(will)g(process)f(them)g(further)f(to)0 3097 y(pro)o(vide)18 b(greater)h(control)g(as)i(is)g(described)e(ne)o(xt.)0 3283 y Fs(3.5)99 b(Fine\255Grained)26 b(Capabilities)75 3400 y Fr(W)-7 b(e)16 b(observ)o(e)e(that)h(the)g(decision)g(by)g(a)g (destination)f(as)i(to)g(whether)0 3491 y(to)24 b(recei)n(v)o(e)f(traf) n(\002c)h(from)f(a)i(gi)n(v)o(en)e(sender)g(should)g(not)h(be)g(a)h (bi-)0 3582 y(nary)34 b(one.)69 b(This)36 b(is)g(because)e(e)n(v)o(en)g (ef)n(fecti)n(v)o(e)g(policies)h(will)0 3673 y(sometimes)28 b(mak)o(e)g(the)h(wrong)e(decision)h(and)g(authorize)f(traf-)0 3765 y(\002c)g(that)f(ultimately)g(is)i(not)e(w)o(anted.)43 b(F)o(or)26 b(e)o(xample,)g(with)h(our)0 3856 y(blacklist)k(serv)o(er)f (polic)o(y)g(an)h(attack)o(er)f(will)i(be)f(authorized)e(at)0 3947 y(least)f(once,)f(and)g(with)g(our)f(client)h(polic)o(y)f(the)h (serv)o(er)f(a)i(client)0 4039 y(accesses)19 b(may)g(pro)o(v)o(e)e(to)h (be)h(untrustw)o(orthy)-5 b(.)21 b(If)e(authorizations)0 4130 y(were)d(binary)-5 b(,)15 b(attack)o(ers)g(whose)h(requests)f (were)h(granted)e(w)o(ould)0 4221 y(be)k(able)g(to)g(arbitrarily)e (\003ood)h(the)h(destination)f(until)h(their)f(capa-)0 4313 y(bilities)32 b(e)o(xpire,)h(allo)n(wing)e(e)n(v)o(en)g(a)h(v)o (ery)e(small)i(rate)g(of)f(f)o(alse)0 4404 y(authorizations)h(to)i(den) o(y)e(service.)65 b(This)34 b(ar)o(gues)f(for)g(a)h(v)o(ery)0 4495 y(short)g(e)o(xpiration)e(period,)37 b(yet)d(protocol)f(dynamics)g (such)h(as)0 4587 y(TCP)20 b(timeouts)f(place)g(a)h(lo)n(wer)f(bound)f (on)h(what)g(is)h(reasonable.)75 4678 y(T)-7 b(o)16 b(tackle)g(this)h (problem,)e(we)i(design)f(\002ne-grained)e(capabili-)0 4769 y(ties)20 b(that)f(grant)f(the)g(right)h(to)g(send)f(up)g(to)h Fq(N)29 b Fr(bytes)18 b(along)g(a)h(path)0 4861 y(within)27 b(the)h(ne)o(xt)f Fq(T)39 b Fr(seconds,)28 b(e.g.,)h(100KB)e(in)g(10)g (seconds)1847 4831 y Fl(1)1879 4861 y Fr(.)0 4952 y(That)21 b(is,)i(we)f(limit)g(the)f(amount)f(of)i(data)f(as)h(well)g(as)h(the)e (period)0 5043 y(of)32 b(v)n(alidity)-5 b(.)59 b(The)31 b(form)g(of)h(these)g(capabilities)g(is)g(sho)n(wn)g(in)0 5135 y(Figure)24 b(3.)39 b(The)24 b(destination)g(con)m(v)o(erts)f(the) i(pre-capabilities)e(it)p 0 5238 761 4 v 8 5294 a Fk(1)37 5325 y Fj(An)k(alternati)n(v)o(e)g(w)o(ould)h(be)f(to)g(b)o(uild)g (rapid)g(capability)g(re)n(v)o(ocation.)0 5400 y(W)-6 b(e)18 b(belie)n(v)o(e)i(this)f(to)f(be)i(a)e(less)h(tractable)g (problem.)2041 498 y @beginspecial 70 @llx 450 @lly 730 @urx 620 @ury 2280 @rwi @setspecial %%BeginDocument: ./figures/bounds.eps %!PS-Adobe-3.0 EPSF-3.0 %%Title: Microsoft PowerPoint - powerpoint-bits %%Creator: PScript5.dll Version 5.2.2 %%CreationDate: 2/6/2005 21:32:12 %%BoundingBox: 13 12 780 599 %%Pages: 1 %%Orientation: Landscape %%PageOrder: Ascend %%DocumentNeededResources: (atend) %%DocumentSuppliedResources: (atend) %%DocumentData: Clean7Bit %%TargetDevice: (HP LaserJet 4200) (3010.107) 0 %%LanguageLevel: 3 %%EndComments %%BeginDefaults %%PageBoundingBox: 13 12 780 599 %%ViewingOrientation: 0 1 -1 0 %%EndDefaults %%BeginProlog %%BeginResource: file Pscript_WinNT_ErrorHandler 5.0 0 /currentpacking where{pop/oldpack currentpacking def/setpacking where{pop false setpacking}if}if/$brkpage 64 dict def $brkpage begin/prnt{dup type/stringtype ne{=string cvs}if dup length 6 mul/tx exch def/ty 10 def currentpoint/toy exch def/tox exch def 1 setgray newpath tox toy 2 sub moveto 0 ty rlineto tx 0 rlineto 0 ty neg rlineto closepath fill tox toy moveto 0 setgray show}bind def /nl{currentpoint exch pop lmargin exch moveto 0 -10 rmoveto}def/=={/cp 0 def typeprint nl}def/typeprint{dup type exec}readonly def/lmargin 72 def/rmargin 72 def/tprint{dup length cp add rmargin gt{nl/cp 0 def}if dup length cp add/cp exch def prnt}readonly def/cvsprint{=string cvs tprint( )tprint}readonly def /integertype{cvsprint}readonly def/realtype{cvsprint}readonly def/booleantype {cvsprint}readonly def/operatortype{(--)tprint =string cvs tprint(-- )tprint} readonly def/marktype{pop(-mark- )tprint}readonly def/dicttype{pop (-dictionary- )tprint}readonly def/nulltype{pop(-null- )tprint}readonly def /filetype{pop(-filestream- )tprint}readonly def/savetype{pop(-savelevel- ) tprint}readonly def/fonttype{pop(-fontid- )tprint}readonly def/nametype{dup xcheck not{(/)tprint}if cvsprint}readonly def/stringtype{dup rcheck{(\()tprint tprint(\))tprint}{pop(-string- )tprint}ifelse}readonly def/arraytype{dup rcheck {dup xcheck{({)tprint{typeprint}forall(})tprint}{([)tprint{typeprint}forall(]) tprint}ifelse}{pop(-array- )tprint}ifelse}readonly def/packedarraytype{dup rcheck{dup xcheck{({)tprint{typeprint}forall(})tprint}{([)tprint{typeprint} forall(])tprint}ifelse}{pop(-packedarray- )tprint}ifelse}readonly def/courier /Courier findfont 10 scalefont def end errordict/handleerror{systemdict begin $error begin $brkpage begin newerror{/newerror false store vmstatus pop pop 0 ne{grestoreall}if errorname(VMerror)ne{showpage}if initgraphics courier setfont lmargin 720 moveto errorname(VMerror)eq{userdict/ehsave known{clear userdict /ehsave get restore 2 vmreclaim}if vmstatus exch pop exch pop PrtVMMsg}{ (ERROR: )prnt errorname prnt nl(OFFENDING COMMAND: )prnt/command load prnt $error/ostack known{nl nl(STACK:)prnt nl nl $error/ostack get aload length{==} repeat}if}ifelse systemdict/showpage get exec(%%[ Error: )print errorname =print(; OffendingCommand: )print/command load =print( ]%%)= flush}if end end end}dup 0 systemdict put dup 4 $brkpage put bind readonly put/currentpacking where{pop/setpacking where{pop oldpack setpacking}if}if %%EndResource userdict /Pscript_WinNT_Incr 230 dict dup begin put %%BeginResource: file Pscript_FatalError 5.0 0 userdict begin/FatalErrorIf{{initgraphics findfont 1 index 0 eq{exch pop}{dup length dict begin{1 index/FID ne{def}{pop pop}ifelse}forall/Encoding {ISOLatin1Encoding}stopped{StandardEncoding}if def currentdict end /ErrFont-Latin1 exch definefont}ifelse exch scalefont setfont counttomark 3 div cvi{moveto show}repeat showpage quit}{cleartomark}ifelse}bind def end %%EndResource userdict begin/PrtVMMsg{vmstatus exch sub exch pop gt{[ (This job requires more memory than is available in this printer.)100 500 (Try one or more of the following, and then print again:)100 485 (For the output format, choose Optimize For Portability.)115 470 (In the Device Settings page, make sure the Available PostScript Memory is accurate.) 115 455(Reduce the number of fonts in the document.)115 440 (Print the document in parts.)115 425 12/Times-Roman showpage (%%[ PrinterError: Low Printer VM ]%%)= true FatalErrorIf}if}bind def end version cvi 2016 ge{/VM?{pop}bind def}{/VM? userdict/PrtVMMsg get def}ifelse %%BeginResource: file Pscript_Win_Basic 5.0 0 /d/def load def/,/load load d/~/exch , d/?/ifelse , d/!/pop , d/`/begin , d/^ /index , d/@/dup , d/+/translate , d/$/roll , d/U/userdict , d/M/moveto , d/- /rlineto , d/&/currentdict , d/:/gsave , d/;/grestore , d/F/false , d/T/true , d/N/newpath , d/E/end , d/Ac/arc , d/An/arcn , d/A/ashow , d/D/awidthshow , d/C /closepath , d/V/div , d/O/eofill , d/L/fill , d/I/lineto , d/-c/curveto , d/-M /rmoveto , d/+S/scale , d/Ji/setfont , d/Lc/setlinecap , d/Lj/setlinejoin , d /Lw/setlinewidth , d/Lm/setmiterlimit , d/sd/setdash , d/S/show , d/LH/showpage , d/K/stroke , d/W/widthshow , d/R/rotate , d/L2? false/languagelevel where{pop languagelevel 2 ge{pop true}if}if d L2?{/xS/xshow , d/yS/yshow , d/zS/xyshow , d}if/b{bind d}bind d/bd{bind d}bind d/xd{~ d}bd/ld{, d}bd/bn/bind ld/lw/Lw ld /lc/Lc ld/lj/Lj ld/sg/setgray ld/ADO_mxRot null d/self & d/OrgMx matrix currentmatrix d/reinitialize{: OrgMx setmatrix[/TextInit/GraphInit/UtilsInit counttomark{@ where{self eq}{F}?{cvx exec}{!}?}repeat cleartomark ;}b /initialize{`{/Pscript_Win_Data where{!}{U/Pscript_Win_Data & put}?/ADO_mxRot ~ d/TextInitialised? F d reinitialize E}{U/Pscript_Win_Data 230 dict @ ` put /ADO_mxRot ~ d/TextInitialised? F d reinitialize}?}b/terminate{!{& self eq {exit}{E}?}loop E}b/suspend/terminate , d/resume{` Pscript_Win_Data `}b U ` /lucas 21690 d/featurebegin{countdictstack lucas[}b/featurecleanup{stopped {cleartomark @ lucas eq{! exit}if}loop countdictstack ~ sub @ 0 gt{{E}repeat} {!}?}b E/snap{transform 0.25 sub round 0.25 add ~ 0.25 sub round 0.25 add ~ itransform}b/dsnap{dtransform round ~ round ~ idtransform}b/nonzero_round{@ 0.5 ge{round}{@ -0.5 lt{round}{0 ge{1}{-1}?}?}?}b/nonzero_dsnap{dtransform nonzero_round ~ nonzero_round ~ idtransform}b U<04>cvn{}put/rr{1 ^ 0 - 0 ~ - neg 0 - C}b/irp{4 -2 $ + +S fx 4 2 $ M 1 ^ 0 - 0 ~ - neg 0 -}b/rp{4 2 $ M 1 ^ 0 - 0 ~ - neg 0 -}b/solid{[]0 sd}b/g{@ not{U/DefIf_save save put}if U/DefIf_bool 2 ^ put}b/DefIf_El{if U/DefIf_bool get not @{U/DefIf_save get restore}if}b/e {DefIf_El !}b/UDF{L2?{undefinefont}{!}?}b/UDR{L2?{undefineresource}{! !}?}b /freeVM{/Courier findfont[40 0 0 -40 0 0]makefont Ji 2 vmreclaim}b/hfRedefFont {findfont @ length dict `{1 ^/FID ne{d}{! !}?}forall & E @ ` ~{/CharStrings 1 dict `/.notdef 0 d & E d}if/Encoding 256 array 0 1 255{1 ^ ~/.notdef put}for d E definefont !}bind d/hfMkCIDFont{/CIDFont findresource @ length 2 add dict `{1 ^ @/FID eq ~ @/XUID eq ~/UIDBase eq or or{! !}{d}?}forall/CDevProc ~ d/Metrics2 16 dict d/CIDFontName 1 ^ d & E 1 ^ ~/CIDFont defineresource ![~]composefont !} bind d %%EndResource %%BeginResource: file Pscript_Win_Utils_L2 5.0 0 /rf/rectfill , d/fx{1 1 dtransform @ 0 ge{1 sub 0.5}{1 add -0.5}? 3 -1 $ @ 0 ge {1 sub 0.5}{1 add -0.5}? 3 1 $ 4 1 $ idtransform 4 -2 $ idtransform}b/BZ{4 -2 $ snap + +S fx rf}b/rs/rectstroke , d/rc/rectclip , d/UtilsInit{currentglobal{F setglobal}if}b/scol{! setcolor}b/colspA/DeviceGray d/colspABC/DeviceRGB d /colspRefresh{colspABC setcolorspace}b/SetColSpace{colspABC setcolorspace}b /resourcestatus where{!/ColorRendering/ProcSet resourcestatus{! ! T}{F}?}{F}? not{/ColorRendering<>/defineresource where{!/ProcSet defineresource !}{! !}?}if/buildcrdname{/ColorRendering/ProcSet findresource ` mark GetHalftoneName @ type @/nametype ne ~/stringtype ne and{!/none}if(.) GetPageDeviceName @ type @/nametype ne ~/stringtype ne and{!/none}if(.)5 ^ 0 5 -1 1{^ length add}for string 6 1 $ 5 ^ 5{~ 1 ^ cvs length 1 ^ length 1 ^ sub getinterval}repeat ! cvn 3 1 $ ! ! E}b/definecolorrendering{~ buildcrdname ~ /ColorRendering defineresource !}b/findcolorrendering where{!}{ /findcolorrendering{buildcrdname @/ColorRendering resourcestatus{! ! T}{ /ColorRendering/ProcSet findresource ` GetSubstituteCRD E F}?}b}? /selectcolorrendering{findcolorrendering !/ColorRendering findresource setcolorrendering}b/G2UBegin{findresource/FontInfo get/GlyphNames2Unicode get `}bind d/G2CCBegin{findresource/FontInfo get/GlyphNames2HostCode get `}bind d /G2UEnd{E}bind d/AddFontInfoBegin{/FontInfo 8 dict @ `}bind d/AddFontInfo{ /GlyphNames2Unicode 16 dict d/GlyphNames2HostCode 16 dict d}bind d /AddFontInfoEnd{E d}bind d/T0AddCFFMtx2{/CIDFont findresource/Metrics2 get ` d E}bind d %%EndResource end %%EndProlog %%BeginSetup [ 0 1 -1 0 0 0 ] false Pscript_WinNT_Incr dup /initialize get exec 1 setlinecap 1 setlinejoin /mysetup [ 72 600 V 0 0 -72 600 V 11.99905 779.0003 ] def %%EndSetup %%Page: 1 1 %%PageBoundingBox: 13 12 780 599 %%EndPageComments %%BeginPageSetup /DeviceRGB dup setcolorspace /colspABC exch def mysetup concat colspRefresh %%EndPageSetup Pscript_WinNT_Incr begin %%BeginResource: file Pscript_WinNT_Compat 5.0 0 userdict/Pscript_WinNT_Compat 19 dict dup begin/bd{bind def}bind def/ld{load def}bd/$x matrix def/ANSIVec[16#0/grave 16#1/acute 16#2/circumflex 16#3/tilde 16#4/macron 16#5/breve 16#6/dotaccent 16#7/dieresis 16#8/ring 16#9/cedilla 16#A /hungarumlaut 16#B/ogonek 16#C/caron 16#D/dotlessi 16#27/quotesingle 16#60 /grave 16#7C/bar 16#82/quotesinglbase 16#83/florin 16#84/quotedblbase 16#85 /ellipsis 16#86/dagger 16#87/daggerdbl 16#88/circumflex 16#89/perthousand 16#8A /Scaron 16#8B/guilsinglleft 16#8C/OE 16#91/quoteleft 16#92/quoteright 16#93 /quotedblleft 16#94/quotedblright 16#95/bullet 16#96/endash 16#97/emdash 16#98 /tilde 16#99/trademark 16#9A/scaron 16#9B/guilsinglright 16#9C/oe 16#9F /Ydieresis 16#A0/space 16#A1/exclamdown 16#A4/currency 16#A5/yen 16#A6 /brokenbar 16#A7/section 16#A8/dieresis 16#A9/copyright 16#AA/ordfeminine 16#AB /guillemotleft 16#AC/logicalnot 16#AD/hyphen 16#AE/registered 16#AF/macron 16#B0/degree 16#B1/plusminus 16#B2/twosuperior 16#B3/threesuperior 16#B4/acute 16#B5/mu 16#B6/paragraph 16#B7/periodcentered 16#B8/cedilla 16#B9/onesuperior 16#BA/ordmasculine 16#BB/guillemotright 16#BC/onequarter 16#BD/onehalf 16#BE /threequarters 16#BF/questiondown 16#C0/Agrave 16#C1/Aacute 16#C2/Acircumflex 16#C3/Atilde 16#C4/Adieresis 16#C5/Aring 16#C6/AE 16#C7/Ccedilla 16#C8/Egrave 16#C9/Eacute 16#CA/Ecircumflex 16#CB/Edieresis 16#CC/Igrave 16#CD/Iacute 16#CE /Icircumflex 16#CF/Idieresis 16#D0/Eth 16#D1/Ntilde 16#D2/Ograve 16#D3/Oacute 16#D4/Ocircumflex 16#D5/Otilde 16#D6/Odieresis 16#D7/multiply 16#D8/Oslash 16#D9/Ugrave 16#DA/Uacute 16#DB/Ucircumflex 16#DC/Udieresis 16#DD/Yacute 16#DE /Thorn 16#DF/germandbls 16#E0/agrave 16#E1/aacute 16#E2/acircumflex 16#E3 /atilde 16#E4/adieresis 16#E5/aring 16#E6/ae 16#E7/ccedilla 16#E8/egrave 16#E9 /eacute 16#EA/ecircumflex 16#EB/edieresis 16#EC/igrave 16#ED/iacute 16#EE /icircumflex 16#EF/idieresis 16#F0/eth 16#F1/ntilde 16#F2/ograve 16#F3/oacute 16#F4/ocircumflex 16#F5/otilde 16#F6/odieresis 16#F7/divide 16#F8/oslash 16#F9 /ugrave 16#FA/uacute 16#FB/ucircumflex 16#FC/udieresis 16#FD/yacute 16#FE/thorn 16#FF/ydieresis]def currentdict{dup type/operatortype eq{[exch]cvx def}{pop pop}ifelse}forall/initialize{currentdict exch begin begin}bind def/terminate{ /@FL where not{pop end end}{pop}ifelse}bind def/suspend/terminate load def /resume/initialize load def/RS{/pagesave where{pop pagesave restore}{$x matrix invertmatrix concat}ifelse}def/SS{/pagesave save def}def/CB{pop pop pop pop}def /B{pop pop pop pop}def/:/gsave load def/;/grestore load def/N/newpath load def end put %%EndResource end reinitialize Pscript_WinNT_Compat begin /$x mysetup def end Pscript_WinNT_Incr dup /suspend get exec Pscript_WinNT_Compat dup /initialize get exec %%BeginDocument: Pscript_Win_PassThrough userdict /GpPBeg {gsave initclip 13 dict begin /c {curveto} bind def /l {lineto} bind def /m {moveto} bind def /NP {newpath} bind def /CP {closepath} bind def /SC {setrgbcolor} bind def /S {stroke} bind def /F {fill} bind def /AF {eofill} bind def 1 eq {setdash setlinewidth setmiterlimit setlinejoin setlinecap} if} put /GSE {end grestore} def 0 GpPBeg NP 196 196 m 6196 196 l 6196 4696 l 196 4696 l CP eoclip 1 1 1 SC NP 195 195 m 6196 195 l 6196 4696 l 195 4696 l CP AF GSE userdict /GpPBeg {gsave initclip 13 dict begin /c {curveto} bind def /l {lineto} bind def /m {moveto} bind def /NP {newpath} bind def /CP {closepath} bind def /SC {setrgbcolor} bind def /S {stroke} bind def /F {fill} bind def /AF {eofill} bind def 1 eq {setdash setlinewidth setmiterlimit setlinejoin setlinecap} if} put /GSE {end grestore} def 0 GpPBeg 0.0039 0.0039 0.0039 SC NP 1099 1871 m 1099 2346 l 1099 2348 1098 2349 1096 2349 c 1094 2349 1093 2348 1093 2346 c 1093 1871 l 1093 1869 1094 1868 1096 1868 c 1098 1868 1099 1869 1099 1871 c CP 1071 1879 m 1096 1796 l 1121 1879 l CP F GSE 1 1 10 6.2500 [] 0 1 GpPBeg 0.0039 0.0039 0.0039 SC NP 1396 2546 m 4796 2546 l S GSE %%EndDocument Pscript_WinNT_Compat dup /suspend get exec Pscript_WinNT_Incr dup /resume get exec /DeviceRGB dup setcolorspace /colspABC exch def 0 0 0 1 scol Pscript_WinNT_Incr begin %%BeginResource: file Pscript_Text 5.0 0 /TextInit{TextInitialised? not{/Pscript_Windows_Font & d/TextInitialised? T d /fM[1 0 0 1 0 0]d/mFM matrix d/iMat[1 0 0.212557 1 0 0]d}if}b/copyfont{1 ^ length add dict `{1 ^/FID ne{d}{! !}?}forall & E}b/EncodeDict 11 dict d/bullets {{/bullet}repeat}b/rF{3 copyfont @ ` ~ EncodeDict ~ get/Encoding ~ 3 ^/0 eq{& /CharStrings known{CharStrings/Eth known not{! EncodeDict/ANSIEncodingOld get} if}if}if d E}b/mF{@ 7 1 $ findfont ~{@/Encoding get @ StandardEncoding eq{! T}{ {ISOLatin1Encoding}stopped{! F}{eq}?{T}{@ ` T 32 1 127{Encoding 1 ^ get StandardEncoding 3 -1 $ get eq and}for E}?}?}{F}?{1 ^ ~ rF}{0 copyfont}? 6 -2 $ ! ! ~ !/pd_charset @ where{~ get 128 eq{@ FDV 2 copy get @ length array copy put pd_CoverFCRange}if}{!}? 2 ^ ~ definefont fM 5 4 -1 $ put fM 4 0 put fM makefont Pscript_Windows_Font 3 1 $ put}b/sLT{: Lw -M currentpoint snap M 0 - 0 Lc K ;}b/xUP null d/yUP null d/uW null d/xSP null d/ySP null d/sW null d/sSU{N /uW ~ d/yUP ~ d/xUP ~ d}b/sU{xUP yUP uW sLT}b/sST{N/sW ~ d/ySP ~ d/xSP ~ d}b/sT {xSP ySP sW sLT}b/sR{: + R 0 0 M}b/sRxy{: matrix astore concat 0 0 M}b/eR/; , d /AddOrigFP{{&/FontInfo known{&/FontInfo get length 6 add}{6}? dict ` /WinPitchAndFamily ~ d/WinCharSet ~ d/OrigFontType ~ d/OrigFontStyle ~ d /OrigFontName ~ d & E/FontInfo ~ d}{! ! ! ! !}?}b/mFS{makefont Pscript_Windows_Font 3 1 $ put}b/mF42D{0 copyfont `/FontName ~ d 2 copy ~ sub 1 add dict `/.notdef 0 d 2 copy 1 ~{@ 3 ^ sub Encoding ~ get ~ d}for & E /CharStrings ~ d ! ! & @ E/FontName get ~ definefont}b/mF42{15 dict ` @ 4 1 $ FontName ~ d/FontType 0 d/FMapType 2 d/FontMatrix[1 0 0 1 0 0]d 1 ^ 254 add 255 idiv @ array/Encoding ~ d 0 1 3 -1 $ 1 sub{@ Encoding 3 1 $ put}for/FDepVector Encoding length array d/CharStrings 2 dict `/.notdef 0 d & E d 0 1 Encoding length 1 sub{@ @ 10 lt{! FontName length 1 add string}{100 lt{FontName length 2 add string}{FontName length 3 add string}?}? @ 0 FontName @ length string cvs putinterval @ 3 -1 $ @ 4 1 $ 3 string cvs FontName length ~ putinterval cvn 1 ^ 256 mul @ 255 add 3 -1 $ 4 ^ findfont mF42D FDepVector 3 1 $ put}for & @ E /FontName get ~ definefont ! ! ! mF}b/mF_OTF_V{~ ! ~ ! 4 -1 $ ! findfont 2 ^ ~ definefont fM @ @ 4 6 -1 $ neg put 5 0 put 90 matrix R matrix concatmatrix makefont Pscript_Windows_Font 3 1 $ put}b/mF_TTF_V{3{~ !}repeat 3 -1 $ ! findfont 1 ^ ~ definefont Pscript_Windows_Font 3 1 $ put}b/UmF{L2? {Pscript_Windows_Font ~ undef}{!}?}b/UmF42{@ findfont/FDepVector get{/FontName get undefinefont}forall undefinefont}b %%EndResource end reinitialize Pscript_WinNT_Incr begin %%BeginResource: file Pscript_Encoding256 5.0 0 /CharCol256Encoding[/.notdef/breve/caron/dotaccent/dotlessi/fi/fl/fraction /hungarumlaut/Lslash/lslash/minus/ogonek/ring/Zcaron/zcaron/.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/Euro/.notdef/quotesinglbase/florin/quotedblbase/ellipsis /dagger/daggerdbl/circumflex/perthousand/Scaron/guilsinglleft/OE/.notdef /.notdef/.notdef/.notdef/quoteleft/quoteright/quotedblleft/quotedblright/bullet /endash/emdash/tilde/trademark/scaron/guilsinglright/oe/.notdef/.notdef /Ydieresis/.notdef/exclamdown/cent/sterling/currency/yen/brokenbar/section /dieresis/copyright/ordfeminine/guillemotleft/logicalnot/.notdef/registered /macron/degree/plusminus/twosuperior/threesuperior/acute/mu/paragraph /periodcentered/cedilla/onesuperior/ordmasculine/guillemotright/onequarter /onehalf/threequarters/questiondown/Agrave/Aacute/Acircumflex/Atilde/Adieresis /Aring/AE/Ccedilla/Egrave/Eacute/Ecircumflex/Edieresis/Igrave/Iacute /Icircumflex/Idieresis/Eth/Ntilde/Ograve/Oacute/Ocircumflex/Otilde/Odieresis /multiply/Oslash/Ugrave/Uacute/Ucircumflex/Udieresis/Yacute/Thorn/germandbls /agrave/aacute/acircumflex/atilde/adieresis/aring/ae/ccedilla/egrave/eacute /ecircumflex/edieresis/igrave/iacute/icircumflex/idieresis/eth/ntilde/ograve /oacute/ocircumflex/otilde/odieresis/divide/oslash/ugrave/uacute/ucircumflex /udieresis/yacute/thorn/ydieresis]def EncodeDict/256 CharCol256Encoding put %%EndResource end reinitialize %%IncludeResource: font Arial Pscript_WinNT_Incr begin %%BeginResource: file Pscript_Win_Euro_L2 5.0 0 /UseT3EuroFont{/currentdistillerparams where{pop currentdistillerparams /CoreDistVersion get 4000 le}{false}ifelse}bind def/NewEuroT3Font?{dup/FontType get 3 eq{dup/EuroFont known exch/BaseFont known and}{pop false}ifelse}bind def /T1FontHasEuro{dup/CharStrings known not{dup NewEuroT3Font?{dup/EuroGlyphName get exch/EuroFont get/CharStrings get exch known{true}{false}ifelse}{pop false} ifelse}{dup/FontType get 1 eq{/CharStrings get/Euro known}{dup/InfoDict known{ /InfoDict get/Euro known}{/CharStrings get/Euro known}ifelse}ifelse}ifelse}bind def/FontHasEuro{findfont dup/Blend known{pop true}{T1FontHasEuro}ifelse}bind def/EuroEncodingIdx 1 def/EuroFontHdr{12 dict begin/FontInfo 10 dict dup begin /version(001.000)readonly def/Notice(Copyright (c)1999 Adobe Systems Incorporated. All Rights Reserved.)readonly def/FullName(Euro)readonly def /FamilyName(Euro)readonly def/Weight(Regular)readonly def/isFixedPitch false def/ItalicAngle 0 def/UnderlinePosition -100 def/UnderlineThickness 50 def end readonly def/FontName/Euro def/Encoding 256 array 0 1 255{1 index exch/.notdef put}for def/PaintType 0 def/FontType 1 def/FontMatrix[0.001 0 0 0.001 0 0]def /FontBBox{-25 -23 1500 804}readonly def currentdict end dup/Private 20 dict dup begin/ND{def}def/NP{put}def/lenIV -1 def/RD{string currentfile exch readhexstring pop}def/-|{string currentfile exch readstring pop}executeonly def /|-{def}executeonly def/|{put}executeonly def/BlueValues[-20 0 706 736 547 572] |-/OtherBlues[-211 -203]|-/BlueScale 0.0312917 def/MinFeature{16 16}|-/StdHW [60]|-/StdVW[71]|-/ForceBold false def/password 5839 def/Erode{8.5 dup 3 -1 roll 0.1 mul exch 0.5 sub mul cvi sub dup mul 71 0 dtransform dup mul exch dup mul add le{pop pop 1.0 1.0}{pop pop 0.0 1.5}ifelse}def/OtherSubrs[{}{}{} {systemdict/internaldict known not{pop 3}{1183615869 systemdict/internaldict get exec dup/startlock known{/startlock get exec}{dup/strtlck known{/strtlck get exec}{pop 3}ifelse}ifelse}ifelse}executeonly]|-/Subrs 5 array dup 0 <8E8B0C100C110C110C210B>put dup 1<8B8C0C100B>put dup 2<8B8D0C100B>put dup 3<0B> put dup 4<8E8C8E0C100C110A0B>put |- 2 index/CharStrings 256 dict dup begin /.notdef<8b8b0d0e>def end end put put dup/FontName get exch definefont pop}bind def/AddEuroGlyph{2 index exch EuroEncodingIdx 1 eq{EuroFontHdr}if systemdict begin/Euro findfont dup dup/Encoding get 5 1 roll/Private get begin/CharStrings get dup 3 index known{pop pop pop pop end end}{begin 1 index exch def end end end EuroEncodingIdx dup 1 add/EuroEncodingIdx exch def exch put}ifelse}bind def /GetNewXUID{currentdict/XUID known{[7 XUID aload pop]true}{currentdict/UniqueID known{[7 UniqueID]true}{false}ifelse}ifelse}bind def/BuildT3EuroFont{exch 16 dict begin dup/FontName exch def findfont dup/Encoding get/Encoding exch def dup length 1 add dict copy dup/FID undef begin dup dup/FontName exch def /Encoding 256 array 0 1 255{1 index exch/.notdef put}for def GetNewXUID{/XUID exch def}if currentdict end definefont pop/BaseFont exch findfont 1000 scalefont def/EuroFont exch findfont 1000 scalefont def pop/EuroGlyphName exch def/FontType 3 def/FontMatrix[.001 0 0 .001 0 0]def/FontBBox BaseFont/FontBBox get def/Char 1 string def/BuildChar{exch dup begin/Encoding get 1 index get /Euro eq{BaseFont T1FontHasEuro{false}{true}ifelse}{false}ifelse{EuroFont setfont pop userdict/Idx 0 put EuroFont/Encoding get{EuroGlyphName eq{exit} {userdict/Idx Idx 1 add put}ifelse}forall userdict/Idx get}{dup dup Encoding exch get BaseFont/Encoding get 3 1 roll put BaseFont setfont}ifelse Char 0 3 -1 roll put Char stringwidth newpath 0 0 moveto Char true charpath flattenpath pathbbox setcachedevice 0 0 moveto Char show end}bind def currentdict end dup /FontName get exch definefont pop}bind def/AddEuroToT1Font{dup findfont dup length 10 add dict copy dup/FID undef begin/EuroFont 3 -1 roll findfont 1000 scalefont def CharStrings dup length 1 add dict copy begin/Euro{EuroFont setfont pop EuroGBBox aload pop setcachedevice 0 0 moveto EuroGName glyphshow} bind def currentdict end/CharStrings exch def GetNewXUID{/XUID exch def}if 3 1 roll/EuroGBBox exch def/EuroGName exch def currentdict end definefont pop}bind def/BuildNewFont{UseT3EuroFont{BuildT3EuroFont}{pop AddEuroToT1Font}ifelse}bind def/UseObliqueEuro{findfont/FontMatrix get dup 2 get 0 eq exch dup 0 get exch 3 get eq and UseT3EuroFont or}bind def %%EndResource end reinitialize /Arial FontHasEuro not { /Euro.Arial [556 0 24 -19 541 703 ] AddEuroGlyph /Euro /Arial /Arial-Copy BuildNewFont } if F /F0 0 /256 T /Arial mF /F0S96 F0 [150 0 0 -150 0 0 ] mFS F0S96 Ji 1356 2722 M (t)S /F0S85 F0 [133 0 0 -133 0 0 ] mFS F0S85 Ji 1398 2764 M (s)S F0S96 Ji 1706 1732 M (< \(t)[88 42 50 0]xS F0S85 Ji 1928 1774 M (2)S F0S96 Ji 2002 1732 M (-)S 2051 1732 M (t)S F0S85 Ji 2093 1774 M (1)S F0S96 Ji 2167 1732 M (\) x N)[50 42 74 42 0]xS 1556 2722 M (t)S F0S85 Ji 1598 2764 M (1)S F0S96 Ji 3706 2722 M (t)S F0S85 Ji 3748 2764 M (4)S F0S96 Ji 4656 2772 M (t)S F0S85 Ji 4698 2814 M (s)S F0S96 Ji 4765 2772 M (+T)[87 0]xS 2506 2722 M (t)S F0S85 Ji 2548 2764 M (2)S F0S96 Ji 1046 1696 M (ttl)[42 42 0]xS Pscript_WinNT_Compat begin /$x mysetup def end Pscript_WinNT_Incr dup /suspend get exec Pscript_WinNT_Compat dup /initialize get exec %%BeginDocument: Pscript_Win_PassThrough userdict /GpPBeg {gsave initclip 13 dict begin /c {curveto} bind def /l {lineto} bind def /m {moveto} bind def /NP {newpath} bind def /CP {closepath} bind def /SC {setrgbcolor} bind def /S {stroke} bind def /F {fill} bind def /AF {eofill} bind def 1 eq {setdash setlinewidth setmiterlimit setlinejoin setlinecap} if} put /GSE {end grestore} def 0 GpPBeg 0.0039 0.0039 0.0039 SC NP 3296 2993 m 3621 2993 l 3623 2993 3624 2994 3624 2996 c 3624 2998 3623 2999 3621 2999 c 3296 2999 l 3294 2999 3293 2998 3293 2996 c 3293 2994 3294 2993 3296 2993 c CP 3613 2971 m 3696 2996 l 3613 3021 l CP F GSE %%EndDocument Pscript_WinNT_Compat dup /suspend get exec Pscript_WinNT_Incr dup /resume get exec /DeviceRGB dup setcolorspace /colspABC exch def 0 0 0 1 scol 2956 3046 M (time)[42 33 125 0]xS 2906 2722 M (t)S F0S85 Ji 2948 2764 M (3)S Pscript_WinNT_Compat begin /$x mysetup def end Pscript_WinNT_Incr dup /suspend get exec Pscript_WinNT_Compat dup /initialize get exec %%BeginDocument: Pscript_Win_PassThrough userdict /GpPBeg {gsave initclip 13 dict begin /c {curveto} bind def /l {lineto} bind def /m {moveto} bind def /NP {newpath} bind def /CP {closepath} bind def /SC {setrgbcolor} bind def /S {stroke} bind def /F {fill} bind def /AF {eofill} bind def 1 eq {setdash setlinewidth setmiterlimit setlinejoin setlinecap} if} put /GSE {end grestore} def 0 GpPBeg 0.8515 0.8515 0.8515 SC NP 1646 2546 m 1646 2096 l 1896 2346 l 1896 1896 l 2546 2546 l 1646 2546 l CP AF GSE 1 1 10 6.2500 [] 0 1 GpPBeg 0.0039 0.0039 0.0039 SC NP 1646 2546 m 1646 2096 l 1896 2346 l 1896 1896 l 2546 2546 l 1646 2546 l CP S GSE 0 GpPBeg 0.8515 0.8515 0.8515 SC NP 2946 2546 m 2946 2196 l 3146 2396 l 3146 2096 l 3396 2396 l 3396 2146 l 3796 2546 l 2946 2546 l CP AF GSE 1 1 10 6.2500 [] 0 1 GpPBeg 0.0039 0.0039 0.0039 SC NP 2946 2546 m 2946 2196 l 3146 2396 l 3146 2096 l 3396 2396 l 3396 2146 l 3796 2546 l 2946 2546 l CP S GSE 1 1 10 6.2500 [] 0 1 GpPBeg 0.0039 0.0039 0.0039 SC NP 1646 1746 m 1646 1846 l S GSE 1 1 10 6.2500 [] 0 1 GpPBeg 0.0039 0.0039 0.0039 SC NP 2546 1746 m 2546 1846 l S GSE 1 1 10 6.2500 [] 0 1 GpPBeg 0.0039 0.0039 0.0039 SC NP 2946 1746 m 2946 1846 l S GSE 1 1 10 6.2500 [] 0 1 GpPBeg 0.0039 0.0039 0.0039 SC NP 3796 1746 m 3796 1846 l S GSE userdict /GpPBeg {gsave initclip 13 dict begin /c {curveto} bind def /l {lineto} bind def /m {moveto} bind def /NP {newpath} bind def /CP {closepath} bind def /SC {setrgbcolor} bind def /S {stroke} bind def /F {fill} bind def /AF {eofill} bind def 1 eq {setdash setlinewidth setmiterlimit setlinejoin setlinecap} if} put /GSE {end grestore} def 0 GpPBeg 0.0039 0.0039 0.0039 SC NP 1721 1793 m 2471 1793 l 2473 1793 2474 1794 2474 1796 c 2474 1798 2473 1799 2471 1799 c 1721 1799 l 1719 1799 1718 1798 1718 1796 c 1718 1794 1719 1793 1721 1793 c CP 1729 1821 m 1646 1796 l 1729 1771 l CP 2463 1771 m 2546 1796 l 2463 1821 l CP F GSE userdict /GpPBeg {gsave initclip 13 dict begin /c {curveto} bind def /l {lineto} bind def /m {moveto} bind def /NP {newpath} bind def /CP {closepath} bind def /SC {setrgbcolor} bind def /S {stroke} bind def /F {fill} bind def /AF {eofill} bind def 1 eq {setdash setlinewidth setmiterlimit setlinejoin setlinecap} if} put /GSE {end grestore} def 0 GpPBeg 0.0039 0.0039 0.0039 SC NP 3021 1793 m 3721 1793 l 3723 1793 3724 1794 3724 1796 c 3724 1798 3723 1799 3721 1799 c 3021 1799 l 3019 1799 3018 1798 3018 1796 c 3018 1794 3019 1793 3021 1793 c CP 3029 1821 m 2946 1796 l 3029 1771 l CP 3713 1771 m 3796 1796 l 3713 1821 l CP F GSE %%EndDocument Pscript_WinNT_Compat dup /suspend get exec Pscript_WinNT_Incr dup /resume get exec /DeviceRGB dup setcolorspace /colspABC exch def 0 0 0 1 scol F0S96 Ji 3006 1722 M (< \(t)[88 42 50 0]xS F0S85 Ji 3228 1764 M (4)S F0S96 Ji 3302 1722 M (-)S 3351 1722 M (t)S F0S85 Ji 3393 1764 M (3)S F0S96 Ji 3467 1722 M (\) x N)[50 42 74 42 0]xS 4406 1722 M (< N)[88 42 0]xS Pscript_WinNT_Compat begin /$x mysetup def end Pscript_WinNT_Incr dup /suspend get exec Pscript_WinNT_Compat dup /initialize get exec %%BeginDocument: Pscript_Win_PassThrough userdict /GpPBeg {gsave initclip 13 dict begin /c {curveto} bind def /l {lineto} bind def /m {moveto} bind def /NP {newpath} bind def /CP {closepath} bind def /SC {setrgbcolor} bind def /S {stroke} bind def /F {fill} bind def /AF {eofill} bind def 1 eq {setdash setlinewidth setmiterlimit setlinejoin setlinecap} if} put /GSE {end grestore} def 1 1 10 6.2500 [] 0 1 GpPBeg 0.0039 0.0039 0.0039 SC NP 4346 1746 m 4346 1846 l S GSE 1 1 10 6.2500 [] 0 1 GpPBeg 0.0039 0.0039 0.0039 SC NP 4796 1746 m 4796 1846 l S GSE userdict /GpPBeg {gsave initclip 13 dict begin /c {curveto} bind def /l {lineto} bind def /m {moveto} bind def /NP {newpath} bind def /CP {closepath} bind def /SC {setrgbcolor} bind def /S {stroke} bind def /F {fill} bind def /AF {eofill} bind def 1 eq {setdash setlinewidth setmiterlimit setlinejoin setlinecap} if} put /GSE {end grestore} def 0 GpPBeg 0.0039 0.0039 0.0039 SC NP 4421 1793 m 4721 1793 l 4723 1793 4724 1794 4724 1796 c 4724 1798 4723 1799 4721 1799 c 4421 1799 l 4419 1799 4418 1798 4418 1796 c 4418 1794 4419 1793 4421 1793 c CP 4429 1821 m 4346 1796 l 4429 1771 l CP 4713 1771 m 4796 1796 l 4713 1821 l CP F GSE 0 GpPBeg 0.8515 0.8515 0.8515 SC NP 4346 2546 m 4346 2296 l 4446 2396 l 4446 2146 l 4596 2296 l 4596 2046 l 4696 2196 l 4696 1996 l 4796 2096 l 4796 2546 l 4346 2546 l CP AF GSE 1 1 10 6.2500 [] 0 1 GpPBeg 0.0039 0.0039 0.0039 SC NP 4346 2546 m 4346 2296 l 4446 2396 l 4446 2146 l 4596 2296 l 4596 2046 l 4696 2196 l 4696 1996 l 4796 2096 l 4796 2546 l 4346 2546 l CP S GSE 1 1 10 6.2500 [] 0 1 GpPBeg 0.0039 0.0039 0.0039 SC NP 1396 2496 m 1396 2596 l S GSE 1 1 10 6.2500 [] 0 1 GpPBeg 0.0039 0.0039 0.0039 SC NP 4796 2496 m 4796 2596 l S GSE 1 1 10 6.2500 [] 0 1 GpPBeg 0.0039 0.0039 0.0039 SC NP 2946 2496 m 2946 2596 l S GSE 1 1 10 6.2500 [] 0 1 GpPBeg 0.0039 0.0039 0.0039 SC NP 3796 2496 m 3796 2596 l S GSE 1 1 10 6.2500 [] 0 1 GpPBeg 0.0039 0.0039 0.0039 SC NP 2546 2496 m 2546 2596 l S GSE 1 1 10 6.2500 [] 0 1 GpPBeg 0.0039 0.0039 0.0039 SC NP 1646 2496 m 1646 2596 l S GSE %%EndDocument Pscript_WinNT_Compat dup /suspend get exec Pscript_WinNT_Incr dup /resume get exec LH %%PageTrailer %%Trailer %%DocumentNeededResources: %%+ font Arial %%DocumentSuppliedResources: %%+ procset Pscript_WinNT_ErrorHandler 5.0 0 %%+ procset Pscript_FatalError 5.0 0 %%+ procset Pscript_Win_Basic 5.0 0 %%+ procset Pscript_Win_Utils_L2 5.0 0 %%+ procset Pscript_WinNT_Compat 5.0 0 %%+ procset Pscript_Text 5.0 0 %%+ procset Pscript_Encoding256 5.0 0 %%+ procset Pscript_Win_Euro_L2 5.0 0 Pscript_WinNT_Incr dup /terminate get exec %%EOF %%EndDocument @endspecial 2098 748 a Fn(Figur)o(e)g(4:)25 b Fm(Bound)17 b(on)g(the)g(bytes)g(of)g(a)g(capability)i(with)e(caching)o(.)2000 1007 y Fr(recei)n(v)o(es)j(from)g(routers)h(to)g(full)g(capabilities)g (by)g(hashing)f(them)2000 1098 y(with)31 b Fq(N)41 b Fr(and)30 b Fq(T)12 b Fr(.)58 b(Each)30 b(destination)h(can)g(choose)f Fq(N)40 b Fr(and)31 b Fq(T)2000 1190 y Fr(\(within)c(limits\))g(for)g (each)g(request,)h(using)f(an)o(y)g(method)f(from)2000 1281 y(simple)e(def)o(aults)f(to)h(models)f(of)g(prior)g(beha)n(vior)-5 b(.)35 b(The)23 b(full)h(ca-)2000 1372 y(pabilities,)d(consisting)f(of) h Fq(N)9 b Fr(,)21 b Fq(T)12 b Fr(,)21 b(the)g(router)e(timestamps,)i (and)2000 1464 y(hash)16 b(v)n(alues,)h(are)g(then)f(returned)f(using)h (the)g(re)n(v)o(erse)g(channel)f(to)2000 1555 y(authorize)21 b(the)h(sender)-5 b(.)31 b(F)o(or)22 b(longer)f(\003o)n(ws,)i(the)f (sender)g(should)2000 1646 y(rene)n(w)d(these)i(capabilities)f(before)e (the)o(y)i(reach)f(their)h(limits.)2075 1738 y(W)m(ith)f(this)i (scheme,)e(routers)f(v)o(erify)g(their)i(portion)e(of)h(the)h(ca-)2000 1829 y(pabilities)e(by)g(re-computing)d(the)k(hashes)f(much)f(as)i (before,)e(e)o(x-)2000 1920 y(cept)h(that)h(no)n(w)g(tw)o(o)g(hashes)f (are)h(required)e(instead)i(of)f(one.)24 b(The)2000 2012 y(routers)i(no)n(w)h(perform)e(tw)o(o)j(further)e(checks,)i(one)f(for)f Fq(N)37 b Fr(and)2000 2103 y(one)23 b(for)g Fq(T)12 b Fr(.)36 b(First,)25 b(routers)e(check)g(that)h(their)f(local)h(time)g (is)h(no)2000 2194 y(greater)k(than)h(the)g(router)f(timestamp)h(plus)g Fq(T)42 b Fr(to)30 b(ensure)f(that)2000 2286 y(the)24 b(capability)e(has)i(not)g(e)o(xpired;)f Fq(T)36 b Fr(is)24 b(limited)g(to)g(half)f(of)h(the)2000 2377 y(maximum)19 b(router)g(timestamp)h(to)h(enable)e(this,)i(and)f(the)h(replay)2000 2468 y(of)k(v)o(ery)f(old)h(capabilities)g(\(for)f(which)h(the)g(local) g(router)f(clock)2000 2560 y(has)18 b(wrapped\))e(are)i(handled)e(as)j (before)d(by)i(changing)e(the)i(long-)2000 2651 y(li)n(v)o(ed)25 b(router)g(secret.)42 b(Second,)26 b(routers)f(check)g(that)h(the)g (capa-)2000 2742 y(bility)21 b(will)i(not)e(be)g(used)h(for)f(more)f (than)i(N)g(bytes.)29 b(This)21 b(check)2000 2834 y(is)h(conceptually)d (simple,)j(b)n(ut)f(it)h(requires)f(state)h(and)f(raises)h(the)2000 2925 y(concern)g(that)h(attack)o(ers)h(may)f(e)o(xhaust)g(router)f (state.)36 b(W)-7 b(e)25 b(deal)2000 3016 y(with)20 b(this)h(concern)d (ne)o(xt.)2000 3183 y Fs(3.6)99 b(Bounded)27 b(Router)f(State)2075 3300 y Fr(W)-7 b(e)24 b(wish)f(to)g(ensure)f(that)h(attack)o(ers)g (cannot)f(e)o(xhaust)g(router)2000 3391 y(memory)i(to)h(bypass)g (capability)g(limits.)41 b(This)26 b(is)g(especially)f(a)2000 3482 y(concern)d(gi)n(v)o(en)h(that)i(we)f(are)g(counting)f(the)h (bytes)g(sent)h(with)f(a)2000 3574 y(capability)29 b(and)g(colluding)g (attack)o(ers)h(may)f(create)h(man)o(y)f(au-)2000 3665 y(thorized)19 b(connections)f(across)i(a)h(tar)o(get)e(link.)2075 3756 y(T)-7 b(o)31 b(handle)g(this)i(problem,)f(we)g(design)g(an)f (algorithm)f(that)2000 3847 y(bounds)19 b(the)i(bytes)g(sent)g(using)g (a)g(capability)f(while)h(using)f(only)2000 3939 y(a)h(\002x)o(ed)e (amount)h(of)g(router)f(state)i(no)f(matter)g(what)h(the)f(attack)o(er) 2000 4030 y(beha)n(vior)-5 b(.)39 b(In)25 b(the)g(w)o(orst)h(case,)g(a) g(capability)e(may)h(be)g(used)g(to)2000 4121 y(send)k Fp(2)p Fq(N)38 b Fr(bytes)29 b(in)g Fq(T)41 b Fr(seconds.)51 b(The)29 b(same)h(capability)e(will)2000 4213 y(still)20 b(be)f(precisely)f(limited)h(to)g Fq(N)28 b Fr(bytes)19 b(if)g(there)g(is)h(no)e(memory)2000 4304 y(pressure.)2075 4395 y(The)34 b(high)h(le)n(v)o(el)g(idea)g(of)g(the)g(algorithm)f(is)i (to)g(mak)o(e)f(the)2000 4487 y(router)29 b(k)o(eep)h(state)h(only)e (for)h(capabilities)g(that)g(observ)o(e)f(traf-)2000 4578 y(\002c)22 b(at)g(a)g(rate)f(f)o(aster)h(than)f Fq(N)r(=T)12 b Fr(.)27 b(The)21 b(router)f(does)i(not)f(need)f(to)2000 4669 y(k)o(eep)c(state)h(for)f(other)g(capabilities)g(because)g(the)o (y)g(will)i(not)e(send)2000 4761 y(more)25 b(than)h Fq(N)35 b Fr(bytes)26 b(before)f(the)h(capability)f(is)i(e)o(xpired)e(in)h Fq(T)2000 4852 y Fr(seconds.)39 b(T)-7 b(o)25 b(accomplish)f(this,)i (we)g(con)m(v)o(ert)d(bytes)i(to)g(equi)n(v-)2000 4943 y(alent)h(units)h(of)f(time,)i(i.e.,)g Fq(L)f Fr(bytes)f(are)h(treated) f(as)h Fq(L)c Fi(\003)g Fq(T)9 b(=)-5 b(N)2000 5035 y Fr(seconds)19 b(w)o(orth)h(of)g(usage.)2075 5126 y(In)25 b(more)f(detail,)i(when)f(a)h(router)e(recei)n(v)o(es)g(a)i(pack)o(et)f (with)g(a)2000 5217 y(v)n(alid)20 b(capability)g(for)h(which)f(it)i (does)f(not)g(ha)n(v)o(e)f(state,)i(it)f(be)o(gins)2000 5309 y(to)g(track)g(byte)h(counts)e(for)h(the)h(capability)e(and)h (also)h(associates)2000 5400 y(a)c(minimal)f(time-to-li)n(v)o(e)f(\()p Fq(ttl)r Fr(\))g(with)i(the)g(state.)25 b(The)17 b Fq(ttl)i Fr(is)g(set)f(to)1929 5649 y(5)p eop end %%Page: 6 6 TeXDict begin 6 5 bop 0 83 a Fr(the)18 b(time)h(equi)n(v)n(alent)d(v)n (alue)i(of)f(the)i(pack)o(et,)e Fq(L)11 b Fi(\003)g Fq(T)e(=)-5 b(N)27 b Fr(seconds.)0 174 y(This)32 b Fq(ttl)i Fr(is)f(decremented)c (as)k(time)f(passes)h(\(our)d(implemen-)0 266 y(tation)e(simply)g(sets) h(an)f(e)o(xpiration)f(time)h(of)g Fq(now)f Fp(+)d Fq(ttl)r Fr(\))k(and)0 357 y(incremented)19 b(as)j(subsequent)e(pack)o(ets)g (are)h(char)o(ged)e(to)j(the)f(ca-)0 448 y(pability)-5 b(.)22 b(When)16 b(the)g Fq(ttl)h Fr(reaches)e(zero)h(it)g(is)h (permissible)e(for)g(the)0 540 y(router)k(to)h(reclaim)g(the)g(state)h (for)f(use)g(with)h(a)f(ne)n(w)g(capability)-5 b(.)75 631 y(W)e(e)28 b(no)n(w)e(sho)n(w)g(that)h(this)g(scheme)f(bounds)f (the)i(number)e(of)0 722 y(bytes)e(sent)h(using)f(a)g(capability)-5 b(.)33 b(Referring)22 b(to)i(Figure)e(4,)i(sup-)0 814 y(pose)19 b(that)g(the)g(router)f(created)g(the)h(capability)g(at)g (time)g Fq(t)1659 826 y Fh(s)1714 814 y Fr(and)g(it)0 905 y(e)o(xpires)d(at)i(time)f Fq(t)529 917 y Fh(s)571 905 y Fp(+)7 b Fq(T)12 b Fr(.)22 b(Further)16 b(suppose)g(that)h(the)g (router)f(cre-)0 996 y(ates)23 b(state)h(for)e(the)h(capability)f(at)h (time)g Fq(t)1208 1008 y Fo(1)1273 996 y Fq(>)k(t)1395 1008 y Fh(s)1431 996 y Fr(,)d(and)e(reclaims)0 1088 y(the)27 b(state)g(when)f(its)h Fq(ttl)i Fr(reaches)d(zero)g(at)h(time)g Fq(t)1472 1100 y Fo(2)1544 1088 y Fq(<)34 b(t)1673 1100 y Fh(s)1732 1088 y Fp(+)22 b Fq(T)12 b Fr(.)0 1179 y(Then)19 b(by)h(the)g(de\002nition)e(of)i(the)g Fq(ttl)r Fr(,)g(the)f (capability)g(must)h(ha)n(v)o(e)0 1270 y(been)h(used)g(for)g(less)h (than)f Fp(\()p Fq(t)845 1282 y Fo(2)902 1270 y Fi(\000)e Fq(t)1016 1282 y Fo(1)1054 1270 y Fp(\))p Fq(=T)30 b Fi(\003)19 b Fq(N)31 b Fr(bytes)21 b(from)f Fq(t)1776 1282 y Fo(1)1836 1270 y Fr(to)0 1362 y Fq(t)30 1374 y Fo(2)67 1362 y Fr(.)25 b(This)19 b(may)f(occur)f(more)h(than)g(once,)g (b)n(ut)g(re)o(gardless)f(of)h(ho)n(w)0 1453 y(man)o(y)j(times)h(it)h (occurs)e(the)h(time)g(interv)n(als)f(can)h(total)g(no)g(more)0 1544 y(than)28 b Fq(T)39 b Fr(seconds.)48 b(This)28 b(in)g(turn)g (means)g(that)g(the)g(total)g(bytes)0 1636 y(used)d(for)g(the)g (capability)f(must)i(be)f(less)h(that)g Fq(T)9 b(=T)32 b Fi(\003)22 b Fq(N)41 b Fp(=)32 b Fq(N)0 1727 y Fr(bytes.)45 b(If)27 b(a)g(capability)f(has)h(state)h(at)f(time)g(immediately)f (pre-)0 1818 y(ceding)16 b Fq(t)269 1830 y Fh(s)313 1818 y Fp(+)8 b Fq(T)29 b Fr(because)16 b(its)j Fq(ttl)g Fr(has)f(not)f (reached)f(zero,)h(then)g(up)0 1910 y(to)23 b Fq(N)33 b Fr(bytes)23 b(can)g(be)g(sent)h(at)g(a)f(rate)h(f)o(aster)f(than)g Fq(N)r(=T)12 b Fr(.)33 b(There-)0 2001 y(fore,)23 b(at)g(most)g Fq(N)30 b Fp(+)20 b Fq(N)37 b Fp(=)27 b(2)p Fq(N)32 b Fr(bytes)23 b(can)g(be)g(sent)g(before)f(the)0 2092 y(capability)d(is)i (e)o(xpired.)75 2183 y(W)-7 b(e)16 b(no)n(w)f(sho)n(w)g(that)g(this)h (scheme)f(requires)f(only)g(\002x)o(ed)h(mem-)0 2275 y(ory)22 b(to)g(a)n(v)n(oid)g(reclaiming)f(state)j(with)e(non-zero)e Fq(ttl)25 b Fr(v)n(alues,)d(as)0 2366 y(required)29 b(abo)o(v)o(e.)55 b(Suppose)30 b(the)h(capacity)f(of)g(the)h(input)f(link)0 2457 y(is)e Fq(C)6 b Fr(.)47 b(T)-7 b(o)27 b(ha)n(v)o(e)f(state)i(at)g (time)f Fq(t)p Fr(,)i(a)f(capability)e(must)h(be)g(used)0 2549 y(to)f(send)f(f)o(aster)g(than)g Fq(N)r(=T)37 b Fr(before)24 b Fq(t)p Fr(.)41 b(Otherwise,)27 b(the)e Fq(ttl)i Fr(as-)0 2640 y(sociated)e(with)g(the)h(state)g(will)g(reach)e (zero)h(and)g(the)g(state)h(may)0 2731 y(be)h(reclaimed.)46 b(There)27 b(can)g(be)h(at)g(most)f Fq(C)t(=)p Fp(\()p Fq(N)r(=T)12 b Fp(\))27 b Fr(such)g(ca-)0 2823 y(pabilities.)45 b(If)27 b(we)g(require)f(that)h(the)g(minimum)e Fq(N)r(=T)38 b Fr(rate)27 b(be)0 2914 y(greater)h(than)h(an)g(architectural)e (constraint)h Fp(\()p Fq(N)r(=T)12 b Fp(\))1578 2926 y Fh(min)1705 2914 y Fr(,)31 b(then)0 3005 y(we)16 b(bound)d(the)i (state)h(a)g(router)e(needs)h(to)g Fq(C)t(=)p Fp(\()p Fq(N)r(=T)d Fp(\))1514 3017 y Fh(min)1656 3005 y Fr(records.)0 3097 y(As)24 b(an)f(e)o(xample,)g(if)g(the)g(minimum)f(sending)g(rate)h (is)i(4K)e(bytes)0 3188 y(in)f(10)f(seconds,)h(a)g(router)f(with)h(a)g (gigabit)f(input)g(line)h(will)h(only)0 3279 y(need)g(312,500)d (records.)33 b(If)23 b(each)g(record)f(requires)g(100)g(bytes,)0 3371 y(then)d(a)h(line)f(card)g(with)h(32MB)f(of)g(memory)f(will)i(ne)n (v)o(er)e(run)h(out)0 3462 y(of)h(state.)0 3640 y Fs(3.7)99 b(Secur)n(e)27 b(and)e(Ef\002cient)i(Capabilities)75 3756 y Fr(W)-7 b(e)23 b(w)o(ant)e(capabilities)h(to)g(be)f(both)g (secure,)g(in)h(that)g(the)o(y)f(are)0 3847 y(dif)n(\002cult)k(to)h (disco)o(v)o(er)e(or)h(bypass,)i(and)e(ef)n(\002cient,)h(in)g(that)f (the)o(y)0 3939 y(consume)k(little)h(bandwidth.)53 b(These)29 b(properties)g(are)h(in)g(con-)0 4030 y(\003ict,)23 b(since)g(security) f(bene\002ts)g(from)f(long)h(capabilities)g(\(i.e.,)g(a)0 4121 y(long)15 b(k)o(e)o(y)h(length\))e(while)i(ef)n(\002cienc)o(y)f (bene\002ts)h(from)f(short)g(ones.)0 4213 y(T)-7 b(o)20 b(reconcile)f(these)i(f)o(actors,)e(we)i(observ)o(e)e(that)h(most)g (bytes)g(re-)0 4304 y(side)27 b(in)f(long)g(\003o)n(ws)h(for)e(which)h (the)h(same)f(capability)g(is)h(used)0 4395 y(repeatedly)c(on)i(pack)o (ets)f(of)h(the)g(\003o)n(w)-5 b(.)39 b(Thus)24 b(we)i(use)f(long)f (ca-)0 4487 y(pabilities)j(\(64)f(bits)h(per)f(router\))g(to)h(ensure)f (security)-5 b(,)27 b(and)f(de-)0 4578 y(sign)f(a)g(mechanism)e(to)i (cache)f(capabilities)g(at)h(routers)f(so)h(that)0 4669 y(the)o(y)20 b(can)h(be)g(omitted)f(for)h(bandwidth)e(ef)n(\002cienc)o (y)-5 b(.)26 b(W)-7 b(e)22 b(belie)n(v)o(e)0 4761 y(that)e(this)g(is)g (a)g(better)f(tradeof)n(f)f(than)h(short)g(capabilities)g(that)h(are)0 4852 y(al)o(w)o(ays)30 b(present,)h(e.g.,)g(SIFF)f(uses)g(2)g(bits)g (per)f(router)-5 b(.)52 b(Short)0 4943 y(capabilities)30 b(are)g(vulnerable)e(to)j(a)f(brute)g(force)f(attack)h(if)h(the)0 5035 y(beha)n(vior)22 b(of)i(indi)n(vidual)e(routers)h(can)h(be)g (inferred,)f(e.g.,)h(from)0 5126 y(bandwidth)16 b(ef)n(fects,)h(and)g (do)g(not)g(pro)o(vide)f(ef)n(fecti)n(v)o(e)g(protection)0 5217 y(with)k(a)h(limited)f(initial)h(deplo)o(yment.)75 5309 y(In)26 b(our)g(design,)i(when)e(a)h(sender)f(obtains)g(ne)n(w)h (capabilities)0 5400 y(from)e(a)h(recei)n(v)o(er)m(,)f(it)i(chooses)e (a)h(random)e(\003o)n(w)i(nonce)f(and)g(in-)2000 83 y(cludes)e(it)i (together)e(with)h(the)f(list)i(of)f(capabilities)g(in)g(its)h(pack-) 2000 174 y(ets.)i(When)20 b(a)h(router)e(recei)n(v)o(es)h(a)h(pack)o (et)f(with)h(a)g(v)n(alid)f(capabil-)2000 266 y(ity)k(and)g(if)h(it)g (has)f(suf)n(\002cient)g(memory)-5 b(,)23 b(it)i(caches)f(the)h (capabil-)2000 357 y(ity)-5 b(,)25 b(and)f(initializes)i(a)f(byte)f (counter)f(and)h(a)i Fq(ttl)g Fr(\002eld)f(using)f Fq(N)2000 448 y Fr(and)j Fq(T)39 b Fr(in)27 b(the)g(capability)-5 b(.)45 b(The)28 b(router)e(then)h(sets)h(the)f(cache-)2000 540 y(bit)c(\002eld)g(of)g(the)f(capability)g(in)h(the)g(pack)o(et)f (to)h(signal)g(this;)i(this)2000 631 y(bit)31 b(reaches)g(the)h (destination)e(and)h(is)h(con)m(v)o(e)o(yed)c(back)j(to)h(the)2000 722 y(sender)d(via)h(re)n(v)o(erse)f(traf)n(\002c.)55 b(Subsequent)28 b(pack)o(ets)i(can)g(then)2000 814 y(omit)21 b(the)g(capability)-5 b(.)27 b(If)21 b(all)h(capability-enabled)c (routers)j(from)2000 905 y(a)e(sender)g(to)g(a)g(recei)n(v)o(er)f (cached)g(the)h(sender')-5 b(s)19 b(capabilities,)g(the)2000 996 y(sender)25 b(only)g(needs)h(to)g(include)f(the)h(\003o)n(w)g (nonce)f(in)h(its)h(pack-)2000 1088 y(ets.)39 b(Routers)24 b(look)g(up)g(pack)o(ets)h(that)f(omit)h(capabilities)f(using)2000 1179 y(their)15 b(source)f(and)h(destination)f(IP)i(addresses,)f(and)g (compare)f(the)2000 1270 y(cached)j(\003o)n(w)i(nonces)e(with)h(those)h (in)f(pack)o(ets.)24 b(A)19 b(matching)e(in-)2000 1362 y(dicates)26 b(that)h(a)g(router)e(has)i(v)n(alidated)e(the)i(\003o)n (w')-5 b(s)27 b(capabilities)2000 1453 y(in)c(pre)n(vious)e(pack)o (ets.)32 b(The)22 b(pack)o(ets)g(are)h(then)f(subject)g(to)h(byte)2000 1544 y(limit)d(and)g(e)o(xpiration)e(time)j(checking)d(as)j(before.) 2075 1636 y(F)o(or)26 b(this)i(scheme)e(to)h(w)o(ork)g(well,)i(hosts)e (must)g(kno)n(w)f(when)2000 1727 y(routers)18 b(e)n(vict)i(their)f (capabilities)g(from)f(the)i(cache.)k(Otherwise,)2000 1818 y(pack)o(ets)g(will)h(arri)n(v)o(e)e(at)h(a)h(router)e(e)o (xpecting)f(that)i(the)h(capabil-)2000 1910 y(ity)f(is)h(cached)e(when) h(in)g(f)o(act)g(it)h(is)g(not.)36 b(Such)24 b(pack)o(ets)g(will)h(be) 2000 2001 y(demoted)f(to)h(le)o(gac)o(y)f(pack)o(ets)h(as)h(we)g (describe)f(ne)o(xt.)40 b(T)-7 b(o)25 b(han-)2000 2092 y(dle)18 b(this)h(concern,)e(we)i(observ)o(e)e(that)h(hosts)h(can)f (conserv)n(ati)n(v)o(ely)2000 2183 y(model)25 b(router)g(cache)g(e)n (viction.)42 b(This)26 b(is)h(because)e(the)o(y)h(kno)n(w)2000 2275 y Fq(N)9 b Fr(,)29 b Fq(T)12 b Fr(,)29 b(the)e(length)g(of)g (their)h(pack)o(ets)f(and)g(the)g(time)h(at)g(which)2000 2366 y(the)o(y)23 b(were)h(sent.)37 b(Further)m(,)23 b(by)h(the)g(construction)e(of)i(our)f(algo-)2000 2457 y(rithm,)18 b(e)n(viction)f(should)g(be)h(rare)g(for)g(high-rate)e (\003o)n(ws,)j(and)f(it)h(is)2000 2549 y(only)24 b(these)i(\003o)n(ws)g (that)f(need)g(to)g(remain)g(in)g(cache)g(to)h(achie)n(v)o(e)2000 2640 y(o)o(v)o(erall)19 b(bandwidth)f(ef)n(\002cienc)o(y)-5 b(.)2000 2808 y Fs(3.8)99 b(Route)25 b(Changes)h(and)f(F)n(ailur)n(es) 2075 2924 y Fr(T)-7 b(o)22 b(be)g(rob)n(ust,)f(our)g(design)h(must)g (also)g(accommodate)d(route)2000 3015 y(changes)32 b(and)h(f)o(ailures) f(such)h(as)h(router)e(restarts)i(and)e(pack)o(et)2000 3107 y(loss.)42 b(The)25 b(main)g(consequence)f(of)h(a)h(route)f (change)f(or)i(router)2000 3198 y(f)o(ailure)e(is)i(that)f(a)g(pack)o (et)f(may)h(arri)n(v)o(e)f(at)h(a)g(router)f(that)h(has)g(no)2000 3289 y(associated)c(capability)f(state,)i(i.e.,)g(there)f(are)g(no)g (cached)f(capa-)2000 3381 y(bilities)27 b(and)f(e)n(v)o(en)g(carried)f (capabilities)i(cannot)e(be)i(v)n(alidated)2000 3472 y(because)21 b(the)o(y)g(are)h(for)f(the)h(wrong)e(router)h(or)g(the)h (router)e(secret)2000 3563 y(has)g(been)g(lost.)2075 3655 y(This)f(situation)h(should)e(be)i(infrequent,)d(b)n(ut)j(we)g (nonetheless)2000 3746 y(de\002ne)25 b(a)i(scheme)f(to)g(handle)f(it)i (with)g(a)f(minimum)f(of)h(disrup-)2000 3837 y(tion.)46 b(First,)30 b(we)e(demote)e(such)h(pack)o(ets)g(to)h(be)f(the)h(same)f (pri-)2000 3929 y(ority)19 b(as)i(le)o(gac)o(y)e(traf)n(\002c)g (\(which)h(ha)n(v)o(e)f(no)h(associated)g(capabili-)2000 4020 y(ties\))d(by)g(changing)e(a)j(\002eld)f(in)g(the)g(capability)f (header)-5 b(.)24 b(The)o(y)16 b(are)2000 4111 y(lik)o(ely)25 b(to)h(reach)f(the)g(destination)g(in)g(normal)g(operation)e(when)2000 4203 y(there)d(is)i(little)g(congestion.)j(The)20 b(destination)g(then) h(signals)g(the)2000 4294 y(sender)i(to)h(tell)g(it)g(that)g(the)g (path)f(has)h(changed)e(and)h(it)h(must)g(re-)2000 4385 y(acquire)15 b(capabilities.)23 b(W)-7 b(e)18 b(use)e(an)g(ECN-lik)o(e) h([18])e(mechanism)2000 4477 y(to)23 b(reliably)g(deli)n(v)o(er)f(up)h (to)g(one)g(signal)g(per)g(R)-5 b(TT)f(.)23 b(In)g(the)g(w)o(orst)2000 4568 y(case,)j(if)g(the)f(entire)g(\003ight)g(of)g(pack)o(ets)f(is)i (repeatedly)e(lost,)j(the)2000 4659 y(host)f(can)f(retransmit)g(the)h (capability)f(request)g(before)g(resend-)2000 4751 y(ing)20 b(the)g(data)g(pack)o(ets.)2000 4918 y Fs(3.9)99 b(Balancing)25 b(A)-5 b(uthorized)27 b(T)-7 b(raf\002c)2075 5035 y Fr(Capabilities)15 b(ensure)f(that)i(only)e(authorized)f(traf)n(\002c)i(will)h(com-)2000 5126 y(pete)24 b(for)g(the)g(bandwidth)f(to)h(reach)g(a)h(destination.) 36 b(This)25 b(rules)2000 5217 y(out)15 b(man)o(y)f(kinds)h(of)g(DoS)h (b)n(ut)f(remains)g(vulnerable)e(to)j(\003oods)f(of)2000 5309 y(authorized)g(traf)n(\002c.)24 b(T)-7 b(o)18 b(see)g(this,)g (consider)f(a)h(pair)f(of)g(colluding)2000 5400 y(attack)o(ers)e(who)h (authorize)e(high-rate)g(transfers)h(between)g(them-)1929 5649 y(6)p eop end %%Page: 7 7 TeXDict begin 7 6 bop 0 83 a Fr(selv)o(es.)25 b(The)o(y)19 b(can)g(then)g(\003ood)g(the)h(path)f(and)g(disrupt)g(other)g(au-)0 174 y(thorized)24 b(traf)n(\002c)i(sent)f(to)h(a)g(destination)f(that)g (shares)h(the)f(path.)0 266 y(This)c(w)o(ould)f(allo)n(w)-5 b(,)20 b(for)g(e)o(xample,)g(a)h(compromised)d(insider)j(to)0 357 y(authorize)29 b(\003oods)h(on)g(an)g(access)h(link)f(by)g(outside) g(attack)o(ers.)0 448 y(This)19 b(kind)f(of)h(attack)g(is)h(little)f (addressed)f(by)h(other)f(approaches)0 540 y(to)24 b(DoS,)h(b)n(ut)f(f) o(alls)h(within)f(our)g(goal)g(of)g(being)f(rob)n(ust)h(to)g(arbi-)0 631 y(trary)19 b(attacks.)75 722 y(T)-7 b(o)31 b(mitigate)g(this)h (attack,)h(we)f(require)e(a)i(bandwidth)d(allo-)0 814 y(cation)21 b(mechanism)g(to)h(arbitrate)f(between)g(authorized)e(traf) n(\002c.)0 905 y(Since)h(we)h(do)f(not)g(kno)n(w)f(which)h(authorized)f (\003o)n(ws,)h(if)h(an)o(y)-5 b(,)19 b(are)0 996 y(malicious,)26 b(we)g(simply)f(seek)h(to)g(gi)n(v)o(e)e(each)i(capability)e(a)i(rea-)0 1088 y(sonable)h(share)g(of)g(the)h(netw)o(ork)e(bandwidth.)45 b(T)-7 b(o)28 b(do)f(this)h(we)0 1179 y(use)g(per)n(-sender)f(f)o(air)n (-queuing)e(based)j(on)g(source)f(IP)h(address.)0 1270 y(This)d(is)i(sho)n(wn)d(in)i(Figure)e(2.)41 b(The)25 b(source)f(address)h(is)h(tied)g(to)0 1362 y(a)g(real)g(host)g(because) g(it)g(is)h(\(weakly\))e(v)n(alidated)g(by)g(the)h(hand-)0 1453 y(shak)o(e)20 b(implicit)f(in)h(the)g(capability)f(e)o(xchange.)j (Users)f(will)f(no)n(w)0 1544 y(get)k(a)g(decreasing)e(share)i(of)f (the)h(netw)o(ork)e(as)j(it)f(becomes)f(b)n(us-)0 1636 y(ier)i(in)g(terms)g(of)g(users)g(\(whether)f(due)g(to)h(le)o(gitimate) f(usage)h(or)0 1727 y(colluding)c(attack)o(ers\))h(b)n(ut)h(the)o(y)f (will)h(be)g(little)g(af)n(fected)f(unless)0 1818 y(the)c(number)e(of)h (attack)o(ers)g(is)i(much)e(lar)o(ger)f(than)h(the)h(number)e(of)0 1910 y(le)o(gitimate)k(users.)27 b(W)-7 b(e)23 b(note)d(that)h(queuing) e(could)h(be)h(based)f(on)0 2001 y(destination)25 b(address)g(instead)h (of)f(source)g(address)h(with)g(much)0 2092 y(the)i(same)g (bene\002cial)g(ef)n(fect;)j(lik)o(e)n(wise,)f(an)e(autonomous)e(do-)0 2183 y(main)f(might)g(allocate)g(resources)g(to)h(pre\002x)e(blocks,)i (and)f(then)0 2275 y(to)15 b(hosts)h(within)f(each)g(block.)23 b(The)15 b(best)g(choice)g(is)h(lik)o(ely)f(a)h(mat-)0 2366 y(ter)j(of)f(AS)h(polic)o(y)-5 b(,)17 b(e.g.,)h(depending)e(on)i (whether)g(the)g(source)g(or)0 2457 y(destination)h(is)i(a)g(direct)f (customer)f(of)h(the)g(AS.)75 2549 y(One)25 b(important)f (consideration)f(is)j(that)f(we)h(limit)g(the)f(num-)0 2640 y(ber)31 b(of)h(queues)f(to)h(bound)e(the)i(implementation)e (comple)o(xity)0 2731 y(of)h(f)o(air)h(queuing.)56 b(T)-7 b(o)32 b(do)f(this,)k(we)c(again)g(f)o(all)h(back)e(on)i(our)0 2823 y(router)16 b(state)i(bound,)e(and)g(f)o(air)n(-queue)g(o)o(v)o (er)f(the)j(\003o)n(ws)f(that)g(ha)n(v)o(e)0 2914 y(their)33 b(capabilities)f(in)h(cache.)62 b(In)33 b(this)g(manner)m(,)h(the)f (higher)n(-)0 3005 y(rate)f(\003o)n(ws)h(that)f(send)g(more)f(rapidly)g (than)g Fq(N)r(=T)43 b Fr(will)33 b(f)o(airly)0 3097 y(share)e(the)g(bandwidth.)57 b(These)31 b(are)g(the)g(\003o)n(ws)h (that)f(we)h(care)0 3188 y(most)26 b(about)f(limiting.)43 b(W)-7 b(e)27 b(obtain)f(no)g(bounded)d(f)o(airness)j(for)0 3279 y(\003o)n(ws)i(that)f(sometimes)g(f)o(all)h(belo)n(w)f(this)h (rate,)h(b)n(ut)e(recall)h(that)0 3371 y(these)35 b(\003o)n(ws)g(are)g (limited)g(to)g Fp(2)p Fq(N)r(=T)46 b Fr(in)35 b(an)o(y)f(case.)69 b(Starv)n(a-)0 3462 y(tion)23 b(of)h(these)g(\003o)n(ws)g(is)h(pre)n(v) o(ented)c(because)i(all)h(pack)o(ets)g(from)0 3553 y(slo)n(w-rate)19 b(\003o)n(ws)i(are)f(queued)e(together)h(and,)g(when)g(necessary)-5 b(,)0 3645 y(dropped)24 b(randomly)-5 b(.)42 b(An)27 b(alternati)n(v)o(e)e(approach)f(w)o(ould)i(ha)n(v)o(e)0 3736 y(been)32 b(to)g(hash)h(the)f(\003o)n(ws)h(to)g(a)f(\002x)o(ed)g (number)f(of)h(queues)g(in)0 3827 y(the)23 b(manner)e(of)i(stochastic)g (f)o(air)g(queuing)e([22].)32 b(Ho)n(we)n(v)o(er)m(,)21 b(we)0 3919 y(belie)n(v)o(e)i(our)g(scheme)h(has)g(the)g(potential)f (to)i(pre)n(v)o(ent)d(attack)o(ers)0 4010 y(from)g(using)g(deliberate)g (hash)h(collisions)g(to)g(cro)n(wd)f(out)g(le)o(giti-)0 4101 y(mate)e(users.)0 4279 y Fs(3.10)99 b(Short)26 b(or)f(Slo)o(w)g (Connections)75 4395 y Fr(W)-7 b(e)20 b(also)f(brie\003y)g(consider)f (ho)n(w)h(short)f(or)h(slo)n(w)h(connections)0 4487 y(f)o(are)25 b(with)g(our)f(design.)39 b(These)25 b(connections)e(will)j(e)o (xperience)0 4578 y(a)g(higher)e(relati)n(v)o(e)h(o)o(v)o(erhead)d (than)j(long)g(or)g(f)o(ast)h(connections.)0 4669 y(In)k(the)g(e)o (xtreme,)g(the)o(y)g(may)f(require)g(a)h(capability)f(e)o(xchange)0 4761 y(for)18 b(each)g(pack)o(et.)23 b(Ho)n(we)n(v)o(er)m(,)17 b(se)n(v)o(eral)g(f)o(actors)h(suggest)g(that)h(our)0 4852 y(design)27 b(is)h(w)o(orkable)e(e)n(v)o(en)g(in)h(this)h(re)o (gime.)45 b(First,)29 b(the)e(ef)n(fect)0 4943 y(on)j(aggre)o(gate)e (ef)n(\002cienc)o(y)h(is)i(lik)o(ely)f(to)h(be)f(v)o(ery)f(small)i(gi)n (v)o(en)0 5035 y(that)g(most)g(bytes)f(belong)f(to)i(long)f(\003o)n (ws.)57 b(Second,)32 b(perhaps)0 5126 y(more)17 b(importantly)f(than)h (byte)h(o)o(v)o(erhead,)d(our)i(design)g(does)h(not)0 5217 y(introduce)29 b(an)o(y)h(added)g(latenc)o(y)-5 b(,)32 b(e.g.,)h(in)e(the)g(form)f(of)h(hand-)0 5309 y(shak)o(es.)39 b(This)25 b(is)g(because)g(capabilities)f(are)h (carried)f(on)g(e)o(xist-)0 5400 y(ing)j(pack)o(ets,)i(e.g.,)f(a)g (request)f(may)g(be)h(b)n(undled)d(with)j(a)g(TCP)2208 1728 y @beginspecial 0 @llx 0 @lly 890 @urx 1037 @ury 1780 @rwi @setspecial %%BeginDocument: figures/packets.eps %!PS-Adobe-2.0 EPSF-2.0 %%Title: stdin %%Creator: fig2dev Version 3.2 Patchlevel 5-alpha5 %%CreationDate: Mon Feb 7 22:52:57 2005 %%For: yxw@blood (Xiaowei Yang,,,) %%BoundingBox: 0 0 890 1037 %Magnification: 1.0000 %%EndComments /$F2psDict 200 dict def $F2psDict begin $F2psDict /mtrx matrix put /col-1 {0 setgray} bind def /col0 {0.000 0.000 0.000 srgb} bind def /col1 {0.000 0.000 1.000 srgb} bind def /col2 {0.000 1.000 0.000 srgb} bind def /col3 {0.000 1.000 1.000 srgb} bind def /col4 {1.000 0.000 0.000 srgb} bind def /col5 {1.000 0.000 1.000 srgb} bind def /col6 {1.000 1.000 0.000 srgb} bind def /col7 {1.000 1.000 1.000 srgb} bind def /col8 {0.000 0.000 0.560 srgb} bind def /col9 {0.000 0.000 0.690 srgb} bind def /col10 {0.000 0.000 0.820 srgb} bind def /col11 {0.530 0.810 1.000 srgb} bind def /col12 {0.000 0.560 0.000 srgb} bind def /col13 {0.000 0.690 0.000 srgb} bind def /col14 {0.000 0.820 0.000 srgb} bind def /col15 {0.000 0.560 0.560 srgb} bind def /col16 {0.000 0.690 0.690 srgb} bind def /col17 {0.000 0.820 0.820 srgb} bind def /col18 {0.560 0.000 0.000 srgb} bind def /col19 {0.690 0.000 0.000 srgb} bind def /col20 {0.820 0.000 0.000 srgb} bind def /col21 {0.560 0.000 0.560 srgb} bind def /col22 {0.690 0.000 0.690 srgb} bind def /col23 {0.820 0.000 0.820 srgb} bind def /col24 {0.500 0.190 0.000 srgb} bind def /col25 {0.630 0.250 0.000 srgb} bind def /col26 {0.750 0.380 0.000 srgb} bind def /col27 {1.000 0.500 0.500 srgb} bind def /col28 {1.000 0.630 0.630 srgb} bind def /col29 {1.000 0.750 0.750 srgb} bind def /col30 {1.000 0.880 0.880 srgb} bind def /col31 {1.000 0.840 0.000 srgb} bind def end save newpath 0 1037 moveto 0 0 lineto 890 0 lineto 890 1037 lineto closepath clip newpath -17.1 1184.2 translate 1 -1 scale /cp {closepath} bind def /ef {eofill} bind def /gr {grestore} bind def /gs {gsave} bind def /sa {save} bind def /rs {restore} bind def /l {lineto} bind def /m {moveto} bind def /rm {rmoveto} bind def /n {newpath} bind def /s {stroke} bind def /sh {show} bind def /slc {setlinecap} bind def /slj {setlinejoin} bind def /slw {setlinewidth} bind def /srgb {setrgbcolor} bind def /rot {rotate} bind def /sc {scale} bind def /sd {setdash} bind def /ff {findfont} bind def /sf {setfont} bind def /scf {scalefont} bind def /sw {stringwidth} bind def /tr {translate} bind def /tnt {dup dup currentrgbcolor 4 -2 roll dup 1 exch sub 3 -1 roll mul add 4 -2 roll dup 1 exch sub 3 -1 roll mul add 4 -2 roll dup 1 exch sub 3 -1 roll mul add srgb} bind def /shd {dup dup currentrgbcolor 4 -2 roll mul 4 -2 roll mul 4 -2 roll mul srgb} bind def /reencdict 12 dict def /ReEncode { reencdict begin /newcodesandnames exch def /newfontname exch def /basefontname exch def /basefontdict basefontname findfont def /newfont basefontdict maxlength dict def basefontdict { exch dup /FID ne { dup /Encoding eq { exch dup length array copy newfont 3 1 roll put } { exch newfont 3 1 roll put } ifelse } { pop pop } ifelse } forall newfont /FontName newfontname put newcodesandnames aload pop 128 1 255 { newfont /Encoding get exch /.notdef put } for newcodesandnames length 2 idiv { newfont /Encoding get 3 1 roll put } repeat newfontname newfont definefont pop end } def /isovec [ 8#055 /minus 8#200 /grave 8#201 /acute 8#202 /circumflex 8#203 /tilde 8#204 /macron 8#205 /breve 8#206 /dotaccent 8#207 /dieresis 8#210 /ring 8#211 /cedilla 8#212 /hungarumlaut 8#213 /ogonek 8#214 /caron 8#220 /dotlessi 8#230 /oe 8#231 /OE 8#240 /space 8#241 /exclamdown 8#242 /cent 8#243 /sterling 8#244 /currency 8#245 /yen 8#246 /brokenbar 8#247 /section 8#250 /dieresis 8#251 /copyright 8#252 /ordfeminine 8#253 /guillemotleft 8#254 /logicalnot 8#255 /hyphen 8#256 /registered 8#257 /macron 8#260 /degree 8#261 /plusminus 8#262 /twosuperior 8#263 /threesuperior 8#264 /acute 8#265 /mu 8#266 /paragraph 8#267 /periodcentered 8#270 /cedilla 8#271 /onesuperior 8#272 /ordmasculine 8#273 /guillemotright 8#274 /onequarter 8#275 /onehalf 8#276 /threequarters 8#277 /questiondown 8#300 /Agrave 8#301 /Aacute 8#302 /Acircumflex 8#303 /Atilde 8#304 /Adieresis 8#305 /Aring 8#306 /AE 8#307 /Ccedilla 8#310 /Egrave 8#311 /Eacute 8#312 /Ecircumflex 8#313 /Edieresis 8#314 /Igrave 8#315 /Iacute 8#316 /Icircumflex 8#317 /Idieresis 8#320 /Eth 8#321 /Ntilde 8#322 /Ograve 8#323 /Oacute 8#324 /Ocircumflex 8#325 /Otilde 8#326 /Odieresis 8#327 /multiply 8#330 /Oslash 8#331 /Ugrave 8#332 /Uacute 8#333 /Ucircumflex 8#334 /Udieresis 8#335 /Yacute 8#336 /Thorn 8#337 /germandbls 8#340 /agrave 8#341 /aacute 8#342 /acircumflex 8#343 /atilde 8#344 /adieresis 8#345 /aring 8#346 /ae 8#347 /ccedilla 8#350 /egrave 8#351 /eacute 8#352 /ecircumflex 8#353 /edieresis 8#354 /igrave 8#355 /iacute 8#356 /icircumflex 8#357 /idieresis 8#360 /eth 8#361 /ntilde 8#362 /ograve 8#363 /oacute 8#364 /ocircumflex 8#365 /otilde 8#366 /odieresis 8#367 /divide 8#370 /oslash 8#371 /ugrave 8#372 /uacute 8#373 /ucircumflex 8#374 /udieresis 8#375 /yacute 8#376 /thorn 8#377 /ydieresis] def /Times-Roman /Times-Roman-iso isovec ReEncode /DrawEllipse { /endangle exch def /startangle exch def /yrad exch def /xrad exch def /y exch def /x exch def /savematrix mtrx currentmatrix def x y tr xrad yrad sc 0 0 1 startangle endangle arc closepath savematrix setmatrix } def /$F2psBegin {$F2psDict begin /$F2psEnteredState save def} def /$F2psEnd {$F2psEnteredState restore end} def $F2psBegin 10 setmiterlimit 0 slj 0 slc 0.06000 0.06000 sc % % Fig objects follow % % % here starts figure with depth 50 % Ellipse 7.500 slw n 7350 8475 75 75 0 360 DrawEllipse gs 0.00 setgray ef gr gs col0 s gr % Ellipse n 8400 8475 75 75 0 360 DrawEllipse gs 0.00 setgray ef gr gs col0 s gr % Ellipse n 6375 8475 75 75 0 360 DrawEllipse gs 0.00 setgray ef gr gs col0 s gr % Ellipse n 7425 17625 75 75 0 360 DrawEllipse gs 0.00 setgray ef gr gs col0 s gr % Ellipse n 8400 17625 75 75 0 360 DrawEllipse gs 0.00 setgray ef gr gs col0 s gr % Ellipse n 6525 17625 75 75 0 360 DrawEllipse gs 0.00 setgray ef gr gs col0 s gr % Polyline 0 slj 0 slc n 5100 2475 m 7350 2475 l 7350 3300 l 5100 3300 l cp gs col0 s gr % Polyline n 2850 4125 m 11850 4125 l 11850 4950 l 2850 4950 l cp gs col0 s gr % Polyline n 7350 4950 m 11850 4950 l 11850 5775 l 7350 5775 l cp gs col0 s gr % Polyline n 2850 4950 m 7350 4950 l 7350 5775 l 2850 5775 l cp gs col0 s gr % Polyline n 2850 5775 m 11850 5775 l 11850 6600 l 2850 6600 l cp gs col0 s gr % Polyline n 2850 6600 m 11850 6600 l 11850 7950 l 2850 7950 l cp gs col0 s gr % Polyline n 2850 7950 m 11850 7950 l 11850 9075 l 2850 9075 l cp gs col0 s gr % Polyline n 2850 9075 m 11850 9075 l 11850 9900 l 2850 9900 l cp gs col0 s gr % Polyline n 2850 9900 m 11850 9900 l 11850 11250 l 2850 11250 l cp gs col0 s gr % Polyline n 2850 12000 m 11850 12000 l 11850 12825 l 2850 12825 l cp gs col0 s gr % Polyline n 2850 14100 m 7350 14100 l 7350 14925 l 2850 14925 l cp gs col0 s gr % Polyline n 7350 14100 m 11850 14100 l 11850 14925 l 7350 14925 l cp gs col0 s gr % Polyline n 2850 12825 m 11850 12825 l 11850 14100 l 2850 14100 l cp gs col0 s gr % Polyline n 2850 17100 m 11850 17100 l 11850 18225 l 2850 18225 l cp gs col0 s gr % Polyline n 2850 18225 m 11850 18225 l 11850 19575 l 2850 19575 l cp gs col0 s gr % Polyline n 14096 19725 m 14104 19725 l gs col0 s gr % Polyline n 2850 2475 m 5100 2475 l 5100 3300 l 2850 3300 l cp gs col0 s gr % Polyline n 7350 2475 m 11850 2475 l 11850 3300 l 7350 3300 l cp gs col0 s gr % Polyline n 12075 14100 m 12375 14400 l 12375 16650 l 12525 16800 l 12375 17025 l 12375 19275 l 12075 19575 l gs col0 s gr % Polyline n 2850 15750 m 11850 15750 l 11850 17100 l 2850 17100 l cp gs col0 s gr % Polyline n 7852 14925 m 11856 14925 l 11856 15750 l 7852 15750 l cp gs col0 s gr % Polyline n 2850 14925 m 7848 14925 l 7848 15750 l 2850 15750 l cp gs col0 s gr /Times-Roman-iso ff 480.00 scf sf 5850 4650 m gs 1 -1 sc (header\(16\)) col0 sh gr /Times-Roman-iso ff 480.00 scf sf 3375 5475 m gs 1 -1 sc (capability num\(8\)) col0 sh gr /Times-Roman-iso ff 480.00 scf sf 7950 5475 m gs 1 -1 sc (capability ptr\(8\)) col0 sh gr /Times-Roman-iso ff 480.00 scf sf 5850 6300 m gs 1 -1 sc (path-id 1 \(16\)) col0 sh gr /Times-Roman-iso ff 480.00 scf sf 6000 12600 m gs 1 -1 sc (header\(16\)) col0 sh gr /Times-Roman-iso ff 480.00 scf sf 7950 14625 m gs 1 -1 sc (capability ptr\(8\)) col0 sh gr /Times-Roman-iso ff 480.00 scf sf 3375 14625 m gs 1 -1 sc (capability num\(8\)) col0 sh gr /Times-Roman-iso ff 480.00 scf sf 5625 16575 m gs 1 -1 sc (capability 1 \(64\)) col0 sh gr /Times-Roman-iso ff 480.00 scf sf 5625 19050 m gs 1 -1 sc (capability n \(64\)) col0 sh gr /Times-Roman-iso ff 480.00 scf sf 6000 13650 m gs 1 -1 sc (flow nonce\(48\)) col0 sh gr /Times-Roman-iso ff 480.00 scf sf 5100 7425 m gs 1 -1 sc (blank capability 1 \(64\)) col0 sh gr /Times-Roman-iso ff 480.00 scf sf 5100 10725 m gs 1 -1 sc (blank capability n \(64\)) col0 sh gr /Times-Roman-iso ff 660.00 scf sf 300 7875 m gs 1 -1 sc (Request) col0 sh gr /Times-Roman-iso ff 480.00 scf sf 7950 3000 m gs 1 -1 sc (upper protocol\(8\)) col0 sh gr /Times-Roman-iso ff 480.00 scf sf 5475 3000 m gs 1 -1 sc (type\(4\)) col0 sh gr /Times-Roman-iso ff 660.00 scf sf 450 3075 m gs 1 -1 sc (Header) col0 sh gr /Times-Roman-iso ff 480.00 scf sf 2850 3000 m gs 1 -1 sc (version\(4\)) col0 sh gr /Times-Roman-iso ff 480.00 scf sf 5850 9675 m gs 1 -1 sc (path-id n \(16\)) col0 sh gr /Times-Roman-iso ff 660.00 scf sf 300 15900 m gs 1 -1 sc (Regular) col0 sh gr /Times-Roman-iso ff 480.00 scf sf 12750 16950 m gs 1 -1 sc (ommitable) col0 sh gr /Times-Roman-iso ff 480.00 scf sf 4650 15525 m gs 1 -1 sc (N\(10\)) col0 sh gr /Times-Roman-iso ff 480.00 scf sf 9075 15525 m gs 1 -1 sc (T\(6\)) col0 sh gr % here ends figure; $F2psEnd rs showpage %%Trailer %EOF %%EndDocument @endspecial 2000 1903 a Fn(Figur)o(e)20 b(5:)25 b Fm(T)-5 b(ypes)18 b(of)f(capability)j(pack)o(ets.)i(Sizes)c(ar)o(e)g(in)g (bits.)j(The)d(units)2000 1994 y(f)n(or)g Fg(N)23 b Fm(ar)o(e)18 b(KB;)f(the)g(units)g(f)n(or)g(T)g(ar)o(e)h(seconds.)2000 2265 y Fr(SYN)27 b(and)f(the)g(capability)g(returned)e(on)i(the)h(TCP)g (SYN)m(A)m(CK.)2000 2356 y(Third,)g(\003o)n(ws)h(in)f(our)f(design)g (are)h(de\002ned)f(on)g(sender)h(to)g(des-)2000 2448 y(tination)i(basis)h(because)e(the)o(y)h(are)g(logically)g(at)h(the)f (IP)h(le)n(v)o(el.)2000 2539 y(Thus)25 b(all)h(TCP)h(connections)c(or)j (DNS)g(e)o(xchanges)d(between)i(a)2000 2630 y(pair)20 b(of)g(hosts)g(can)g(tak)o(e)g(place)g(using)g(a)g(single)h(capability) -5 b(.)2000 2815 y Fs(3.11)99 b(Summary)2075 2931 y Fr(Our)17 b(design)h(is)h(based)e(on)h(capabilities,)g(information)e(carried)2000 3022 y(with)31 b(pack)o(ets)h(that)f(presents)g(e)n(vidence)f(that)i (the)g(destination)2000 3113 y(has)25 b(authorized)e(pack)o(ets)h(from) g(the)h(sender)-5 b(.)39 b(Senders)24 b(request)2000 3205 y(capabilities)c(using)h(a)g(protected)e(bootstrap)h(channel,)f (and)i(des-)2000 3296 y(tinations)27 b(grant)f(requests)h(to)g(allo)n (w)g(the)g(transfer)f(of)h Fq(N)37 b Fr(bytes)2000 3387 y(in)e Fq(T)46 b Fr(seconds)34 b(using)g(an)h(appropriate)d(polic)o(y) -5 b(.)67 b(Capability-)2000 3479 y(enabled)23 b(routers)h(at)i(trust)f (boundaries)d(and)j(locations)f(of)g(con-)2000 3570 y(gestion)j(v)n (alidate)g(capabilities)g(to)g(preferentially)f(drop)g(unau-)2000 3661 y(thorized)e(transfers)h(and)g(arbitrate)g(bandwidth)f(among)g (autho-)2000 3753 y(rized)k(ones.)50 b(Capabilities)29 b(are)g(cached)f(at)h(routers)f(for)g(band-)2000 3844 y(width)k(ef)n(\002cienc)o(y)f(for)h(long)f(transfers)h(and)g (piggyback)o(ed)d(on)2000 3935 y(pack)o(ets)d(to)i(a)n(v)n(oid)e(e)o (xtra)g(round)g(trips)h(for)f(short)h(connections.)2000 4027 y(The)33 b(state)h(and)f(computation)e(needed)h(at)i(routers)f(is) h(strictly)2000 4118 y(bounded)17 b(re)o(gardless)i(of)h(attack)o(er)g (beha)n(vior)-5 b(.)2000 4371 y Fs(4.)99 b(PR)m(O)l(T)n(OCOL)2075 4487 y Fr(In)16 b(this)h(section)g(we)g(describe)f(the)h(operation)e (of)h(our)g(protocol)2000 4578 y(in)26 b(terms)g(of)f(ho)n(w)h(hosts)g (and)f(routers)g(process)h(pack)o(ets.)41 b(This)2000 4669 y(pro)o(vides)25 b(a)i(more)g(detailed)f(vie)n(w)h(of)g(the)g (components)d(in)k(the)2000 4761 y(pre)n(vious)20 b(section)h(as)h(the) o(y)f(are)g(used)h(in)f(the)h(common)d(case)j(for)2000 4852 y(data)h(transfer;)g(we)h(consider)e(attacks)h(more)f (systematically)g(in)2000 4943 y(the)e(follo)n(wing)f(sections.)2075 5035 y(There)25 b(are)g(three)h(elements)f(in)h(our)f(protocol:)35 b(pack)o(ets)25 b(that)2000 5126 y(carry)18 b(capability)g (information;)f(hosts)i(that)g(act)h(as)g(senders)e(and)2000 5217 y(destinations;)23 b(and)e(routers)h(that)g(process)g(capability)g (informa-)2000 5309 y(tion.)h(W)-7 b(e)17 b(describe)e(each)h(in)g (turn.)23 b(W)-7 b(e)17 b(ignore)e(le)o(gac)o(y)f(concerns)2000 5400 y(for)19 b(the)i(moment,)d(returning)g(to)j(them)e(in)i(Section)f (8.)1929 5649 y(7)p eop end %%Page: 8 8 TeXDict begin 8 7 bop 0 83 a Fs(4.1)99 b(P)o(ack)o(ets)26 b(with)f(Capabilities)75 199 y Fr(Other)e(than)h(le)o(gac)o(y)e(traf)n (\002c,)i(all)h(pack)o(ets)e(carry)g(a)i(capability)0 291 y(header)18 b(that)g(e)o(xtends)g(the)h(beha)n(vior)e(of)h(IP)-9 b(.)19 b(W)-7 b(e)20 b(implement)d(this)0 382 y(as)28 b(a)f(shim)g(layer)f(abo)o(v)o(e)f(IP)-9 b(,)27 b(piggybacking)c (capability)j(infor)n(-)0 473 y(mation)k(on)g(normal)g(pack)o(ets)h(so) g(that)g(there)f(are)h(no)f(separate)0 565 y(capability)19 b(pack)o(ets.)75 656 y(There)25 b(are)g(tw)o(o)h(types)g(of)f(pack)o (ets)g(from)g(the)h(standpoint)e(of)0 747 y(capabilities:)44 b(request)29 b(pack)o(ets)g(and)g(re)o(gular)f(pack)o(ets.)53 b(The)o(y)0 839 y(share)28 b(an)h(identifying)d(capability)i(header)f (and)h(are)h(sho)n(wn)f(in)0 930 y(Figure)d(5.)42 b(Request)25 b(pack)o(ets)h(carry)f(a)h(list)h(of)e(blank)g(capabili-)0 1021 y(ties)e(and)e(path)g(identi\002ers)g(that)h(are)g(\002lled)f(in)h (by)g(routers)e(as)j(the)0 1112 y(request)k(tra)n(v)o(els)g(to)n(w)o (ards)f(the)i(destination.)45 b(Re)o(gular)26 b(pack)o(ets)0 1204 y(ha)n(v)o(e)i(tw)o(o)h(formats:)41 b(pack)o(ets)28 b(that)g(carry)g(both)f(a)i(\003o)n(w)g(nonce)0 1295 y(and)23 b(a)h(list)h(of)f(v)n(alid)f(capabilities)h(obtained)e(from)h (the)g(destina-)0 1386 y(tion,)32 b(and)d(pack)o(ets)g(that)h(carry)f (only)f(a)i(\003o)n(w)g(nonce.)52 b(\(Recall)0 1478 y(that)21 b(a)g(\003o)n(w)g(is)h(de\002ned)d(by)i(a)g(source)f(and)g(a)h (destination)f(IP)h(ad-)0 1569 y(dress.\))26 b(A)21 b(re)o(gular)e (pack)o(et)h(with)h(a)g(list)g(of)f(capabilities)h(may)f(be)0 1660 y(used)f(to)h(request)f(a)h(ne)n(w)g(set)g(of)g(capabilities.)k(W) -7 b(e)21 b(refer)e(to)h(such)0 1752 y(pack)o(ets)26 b(as)g(rene)n(w)o(al)f(pack)o(ets.)42 b(If)26 b(a)g(re)o(gular)e(pack)o (et)h(does)h(not)0 1843 y(pass)f(the)g(capability)f(check,)g(it)i(may)e (be)h(demoted)e(to)i(lo)n(w)f(pri-)0 1934 y(ority)f(traf)n(\002c)g (that)g(is)i(treated)e(as)h(le)o(gac)o(y)e(traf)n(\002c.)34 b(Such)23 b(pack)o(ets)0 2026 y(are)d(called)g(demoted)f(pack)o(ets.)75 2117 y(W)-7 b(e)21 b(use)f(the)f(lo)n(west)h(tw)o(o)h(bits)f(of)f(the)h Ff(type)g Fr(\002eld)g(in)g(the)f(capa-)0 2208 y(bility)k(header)f(to)h (indicate)f(the)h(type)g(and)f(the)h(format)f(of)h(pack-)0 2300 y(ets:)i(request)16 b(pack)o(et,)h(re)o(gular)f(pack)o(et)h(with)g (a)h(\003o)n(w)f(nonce)f(only)-5 b(,)0 2391 y(re)o(gular)22 b(pack)o(et)h(with)h(both)f(a)h(\003o)n(w)g(nonce)f(and)g(a)h(list)h (of)e(capa-)0 2482 y(bilities,)30 b(and)d(rene)n(w)o(al)g(pack)o(et.)47 b(One)27 b(bit)h(in)g(the)f Ff(type)h Fr(\002eld)g(is)0 2574 y(used)g(by)h(routers)e(to)i(indicate)f(that)h(the)f(pack)o(et)g (has)h(been)f(de-)0 2665 y(moted.)33 b(The)23 b(remaining)e(bit)j (indicates)e(whether)h(there)f(is)i(also)0 2756 y(return)i(information) g(being)g(carried)h(in)h(the)f(re)n(v)o(erse)g(direction)0 2848 y(to)18 b(a)g(sender)-5 b(.)24 b(This)18 b(information)d(may)j (be:)23 b(a)c(list)g(of)e(capabilities)0 2939 y(granted)h(by)i(the)g (destination;)f(which)g(capabilities)h(are)g(cached;)0 3030 y(or)j(a)i(demote)d(noti\002cation)h(that)h(solicits)g(a)h(ne)n(w) e(capability)g(re-)0 3122 y(quest)i(\(e.g.,)h(due)f(to)g(a)h(route)f (change\).)39 b(An)o(y)24 b(return)h(informa-)0 3213 y(tion)20 b(follo)n(ws)g(the)g(capability)f(payload.)75 3304 y(Each)28 b(capability)f(is)j(as)f(described)e(in)i(Section)f(3:) 42 b(a)28 b(64)h(bit)0 3396 y(v)n(alue,)22 b(brok)o(en)e(do)n(wn)h (into)h(1)g(bit)g(used)g(for)f(cache)g(signaling,)h(7)0 3487 y(bits)d(of)f(router)f(timestamp)g(in)h(seconds)g(\(a)g(modulo)f (128)g(clock\),)0 3578 y(and)f(56)g(bits)h(of)f(a)h(k)o(e)o(yed)e (hash.)23 b(Although)15 b(routers)h(count)f(bytes,)0 3670 y(the)20 b(units)g(for)g Fq(N)30 b Fr(in)20 b(Figure)f(5)i(are)f (in)g(KB,)h(for)f(compactness.)0 3823 y Fs(4.2)99 b(Senders)27 b(and)e(Destinations)75 3939 y Fr(T)-7 b(o)21 b(send)g(to)g(a)h (destination)e(for)g(which)h(it)h(has)f(no)g(v)n(alid)f(capa-)0 4030 y(bilities,)i(a)g(sender)e(must)i(\002rst)g(send)f(a)g(request.)28 b(This)21 b(will)h(typi-)0 4121 y(cally)e(be)h(combined)d(with)j(the)g (\002rst)g(pack)o(et)f(that)g(it)i(sends,)e(such)0 4213 y(as)27 b(a)g(TCP)g(SYN.)g(When)f(the)g(request)g(arri)n(v)o(es)f(at)i (the)f(destina-)0 4304 y(tion,)17 b(it)i(must)e(decide)g(whether)f(to)i (grant)e(or)h(refuse)g(the)g(transfer)-5 b(.)0 4395 y(This)17 b(is)i(a)e(polic)o(y)f(issue,)j(and)d(we)i(described)e(some)h(simple)g (poli-)0 4487 y(cies)i(in)f(Section)g(3.3.)24 b(If)18 b(the)g(destination)f(chooses)h(to)g(authorize)0 4578 y(the)23 b(transfer)m(,)e(it)j(sends)f(a)g(response)e(back)h(to)h(the)g (sender)m(,)f(again)0 4669 y(combined)d(with)i(another)f(pack)o(et,)g (such)h(as)h(a)f(TCP)h(SYN)m(A)m(CK.)0 4761 y(\(This)k(SYN)m(A)m(CK)i (will)f(also)g(carry)f(a)h(request)f(for)g(the)h(re)n(v)o(erse)0 4852 y(direction.)37 b(W)-7 b(e)25 b(omit)g(this)g(re)n(v)o(erse)e (setup)i(for)f(ease)h(of)f(e)o(xposi-)0 4943 y(tion,)k(as)f(it)g (occurs)f(in)h(e)o(xactly)f(the)g(same)h(manner)e(as)j(the)e(for)n(-)0 5035 y(w)o(ard)32 b(setup.\))60 b(If)32 b(the)g(destination)f(had)g (instead)h(refused)f(the)0 5126 y(transfer)m(,)j(it)f(may)f(send)h(an)f (ICMP)h(error)f(noti\002cation)f(to)i(the)0 5217 y(sender)-5 b(.)75 5309 y(Once)21 b(the)h(sender)f(recei)n(v)o(es)g(capabilities,)h (the)g(remainder)e(of)0 5400 y(the)36 b(transfer)e(is)j(straightforw)o (ard.)69 b(The)35 b(sender)g(sends)h(data)2000 83 y(pack)o(ets)17 b(with)g(the)g(capabilities)f(that)h(are)g(needed)f(to)h(ensure)f(that) 2000 174 y(the)k(pack)o(ets)f(will)i(pass)f(through)e(the)h(netw)o (ork.)24 b(Initially)19 b(this)i(is)2000 266 y(the)32 b(entire)g(list)h(of)f(capabilities.)60 b(The)32 b(destination)f (observ)o(es)2000 357 y(whether)25 b(an)o(y)h(routers)f(set)i(the)f (cache)g(bits)h(for)e(their)i(capabili-)2000 448 y(ties,)19 b(and)f(if)g(so)h(con)m(v)o(e)o(ys)d(the)i(non-cached)e(capabilities)i (back)f(to)2000 540 y(the)23 b(sender)-5 b(.)34 b(In)23 b(the)h(normal)e(case,)i(the)g(\003o)n(w)f(nonce)f(and)h(capa-)2000 631 y(bilities)c(will)h(be)f(cached)f(at)h(e)n(v)o(ery)f(router)m(,)f (enabling)g(the)i(source)2000 722 y(to)32 b(transmit)g(most)h(pack)o (ets)f(carrying)f(only)g(the)i(\003o)n(w)f(nonce.)2000 814 y(The)18 b(sender)f(also)h(runs)g(the)g(same)g(model)f(of)h (capability)f(e)o(xpira-)2000 905 y(tion)k(and)g(cache)g(e)o(xpiration) f(as)i(routers)f(to)h(conserv)n(ati)n(v)o(ely)d(de-)2000 996 y(termine)e(when)g(routers)h(will)g(ha)n(v)o(e)g(their)f (capabilities)h(in)g(cache,)2000 1088 y(and)j(when)h(to)g(rene)n(w)f (the)h(capabilities.)30 b(The)22 b(destination)f(does)2000 1179 y(not)15 b(need)h(to)g(model)f(router)g(beha)n(vior)-5 b(.)22 b(Additionally)-5 b(,)15 b(the)h(desti-)2000 1270 y(nation)h(may)g(echo)h(back)f(a)h(router')-5 b(s)17 b(demote)g(signal)h(to)g(a)g(sender)2000 1362 y(if)31 b(there)g(w)o(as)g(a)h(route)e(change)g(or)g(f)o(ailure.)57 b(In)31 b(this)g(case)h(the)2000 1453 y(sender)19 b(must)h(request)g(a) h(ne)n(w)f(set)h(of)f(capabilities.)2000 1617 y Fs(4.3)99 b(Routers)2075 1734 y Fr(Routers)31 b(route)g(and)h(forw)o(ard)e(pack)o (ets)h(in)h(the)g(same)g(man-)2000 1825 y(ner)22 b(as)h(is)g(done)e(in) i(the)f(Internet)f(today)-5 b(,)21 b(and)h(additionally)f(pro-)2000 1916 y(cess)k(pack)o(ets)g(according)d(to)j(the)g(capability)e (information)f(that)2000 2008 y(the)o(y)i(carry)-5 b(.)39 b(At)25 b(a)h(high)e(le)n(v)o(el,)i(routers)e(share)h(the)h(capacity)e (of)2000 2099 y(each)g(outgoing)f(link)h(between)g(three)h(classes)g (of)g(traf)n(\002c.)38 b(This)2000 2190 y(is)20 b(sho)n(wn)f(in)g (Figure)g(2.)24 b(Request)c(pack)o(ets,)f(which)f(do)h(not)g(ha)n(v)o (e)2000 2282 y(v)n(alid)k(capabilities,)g(are)h(guaranteed)d(access)j (to)f(a)h(small,)g(\002x)o(ed)2000 2373 y(fraction)15 b(of)i(the)f(link)h(\(5\045)f(is)i(our)d(def)o(ault\))h(and)g(are)h (rate-limited)2000 2464 y(not)25 b(to)g(e)o(xceed)f(this)i(amount.)39 b(Re)o(gular)25 b(pack)o(ets)g(with)g(associ-)2000 2556 y(ated)j(capabilities)g(may)f(use)i(the)f(remainder)e(of)i(the)g (capacity)-5 b(.)2000 2647 y(W)e(e)31 b(describe)f(the)h(processing)e (of)h(these)h(tw)o(o)f(classes)i(belo)n(w)-5 b(.)2000 2738 y(The)18 b(third)g(class)i(is)f(le)o(gac)o(y)e(traf)n(\002c.)24 b(This)19 b(is)h(treated)e(as)h(the)g(lo)n(w-)2000 2829 y(est)32 b(priority)-5 b(,)33 b(obtaining)d(bandwidth)g(that)i(is)g (not)g(needed)e(for)2000 2921 y(either)24 b(requests)g(or)g(re)o(gular) f(pack)o(ets)i(in)f(the)h(traditional)e(FIFO)2000 3012 y(manner)-5 b(.)2023 3177 y Fe(4.3.1)90 b(Requests)2075 3293 y Fr(If)25 b(a)h(router)f(does)g(not)h(ha)n(v)o(e)f(space)g(for)h (an)f(arri)n(ving)f(request)2000 3384 y(pack)o(et,)34 b(the)e(last)h(pack)o(et)e(that)h(w)o(ould)f(be)h(sent)h(according)c (to)2000 3475 y(f)o(air)e(queueing)e(is)k(dropped,)d(and)h(a)h (rate-limited)e(ICMP)i(error)2000 3567 y(message)h(is)i(returned)d(to)i (the)g(sender)-5 b(.)54 b(Assuming)29 b(the)h(arri)n(v-)2000 3658 y(ing)h(pack)o(et)g(is)i(not)f(dropped,)g(the)f(router)g(then)g (modi\002es)h(the)2000 3749 y(pack)o(et)e(to)g(add)g(a)h (pre-capability)c(and)j(path)g(identi\002er)g(at)h(the)2000 3841 y(end)i(of)h(the)g(list.)68 b(The)33 b(pre-capability)f(is)j (computed)d(as)j(the)2000 3932 y(hash)29 b(of)f(a)i(router)e(secret,)j (the)e(current,)g(local)g(router)f(time)h(in)2000 4023 y(seconds)c(using)h(its)h(modulo)e(128)g(clock,)i(and)e(the)i(source)e (and)2000 4115 y(destination)g(IP)h(addresses)f(of)h(the)g(pack)o(et.) 41 b(This)26 b(is)h(sho)n(wn)e(in)2000 4206 y(Figure)16 b(3.)24 b(The)17 b(pre-capability)e(is)j(written)f(to)g(the)g(pack)o (et,)g(com-)2000 4297 y(plete)j(with)h(timestamp,)e(and)h(the)h(cache)f (bit)g(cleared.)25 b(The)20 b(path)2000 4389 y(identi\002er)25 b(is)h(a)g(constant)f(that)h(identi\002es)f(the)h(incoming)e(inter)n(-) 2000 4480 y(f)o(ace,)17 b(run)e(through)g(a)h(pseudo-random)d(function) h(so)j(that)g(dif)n(fer)n(-)2000 4571 y(ent)23 b(routers)f(are)g(lik)o (ely)h(to)g(produce)e(v)n(alues)i(spread)f(across)h(the)2000 4663 y(identi\002er)j(space.)45 b(The)27 b(router)f(then)g(f)o(air)h (queues)f(the)h(request)2000 4754 y(for)18 b(onw)o(ard)g(transmission,) g(in)h(our)f(implementation)f(using)i(the)2000 4845 y(incoming)j (interf)o(ace)g(and)h(the)h(pre)n(vious)e(hop')-5 b(s)23 b(path)g(identi\002er)2000 4937 y(to)d(select)h(the)f(queue.)2023 5101 y Fe(4.3.2)90 b(Re)l(gular)21 b(P)-7 b(ac)n(k)o(ets)2075 5217 y Fr(Re)o(gular)14 b(pack)o(ets)h(may)g(carry)f(only)g(a)i(\003o)n (w)f(nonce,)g(or)g(a)h(nonce)2000 5309 y(as)j(well)g(as)g(a)g(list)h (of)e(capabilities.)24 b(The)18 b(purpose)f(of)h(processing)2000 5400 y(at)g(a)f(router)g(is)h(simply)f(to)g(check)g(that)g(the)h(pack)o (et)f(is)h(authorized,)1929 5649 y(8)p eop end %%Page: 9 9 TeXDict begin 9 8 bop 197 1025 a @beginspecial 0 @llx 0 @lly 904 @urx 615 @ury 1808 @rwi @setspecial %%BeginDocument: figures/dumbbell.eps %!PS-Adobe-2.0 EPSF-2.0 %%Title: stdin %%Creator: fig2dev Version 3.2 Patchlevel 3d %%CreationDate: Mon Feb 7 18:07:10 2005 %%For: yxw@marlon (Xiaowei Yang,,,) %%BoundingBox: 0 0 904 615 %%Magnification: 1.0000 %%EndComments /$F2psDict 200 dict def $F2psDict begin $F2psDict /mtrx matrix put /col-1 {0 setgray} bind def /col0 {0.000 0.000 0.000 srgb} bind def /col1 {0.000 0.000 1.000 srgb} bind def /col2 {0.000 1.000 0.000 srgb} bind def /col3 {0.000 1.000 1.000 srgb} bind def /col4 {1.000 0.000 0.000 srgb} bind def /col5 {1.000 0.000 1.000 srgb} bind def /col6 {1.000 1.000 0.000 srgb} bind def /col7 {1.000 1.000 1.000 srgb} bind def /col8 {0.000 0.000 0.560 srgb} bind def /col9 {0.000 0.000 0.690 srgb} bind def /col10 {0.000 0.000 0.820 srgb} bind def /col11 {0.530 0.810 1.000 srgb} bind def /col12 {0.000 0.560 0.000 srgb} bind def /col13 {0.000 0.690 0.000 srgb} bind def /col14 {0.000 0.820 0.000 srgb} bind def /col15 {0.000 0.560 0.560 srgb} bind def /col16 {0.000 0.690 0.690 srgb} bind def /col17 {0.000 0.820 0.820 srgb} bind def /col18 {0.560 0.000 0.000 srgb} bind def /col19 {0.690 0.000 0.000 srgb} bind def /col20 {0.820 0.000 0.000 srgb} bind def /col21 {0.560 0.000 0.560 srgb} bind def /col22 {0.690 0.000 0.690 srgb} bind def /col23 {0.820 0.000 0.820 srgb} bind def /col24 {0.500 0.190 0.000 srgb} bind def /col25 {0.630 0.250 0.000 srgb} bind def /col26 {0.750 0.380 0.000 srgb} bind def /col27 {1.000 0.500 0.500 srgb} bind def /col28 {1.000 0.630 0.630 srgb} bind def /col29 {1.000 0.750 0.750 srgb} bind def /col30 {1.000 0.880 0.880 srgb} bind def /col31 {1.000 0.840 0.000 srgb} bind def end save newpath 0 615 moveto 0 0 lineto 904 0 lineto 904 615 lineto closepath clip newpath -53.9 657.6 translate 1 -1 scale /cp {closepath} bind def /ef {eofill} bind def /gr {grestore} bind def /gs {gsave} bind def /sa {save} bind def /rs {restore} bind def /l {lineto} bind def /m {moveto} bind def /rm {rmoveto} bind def /n {newpath} bind def /s {stroke} bind def /sh {show} bind def /slc {setlinecap} bind def /slj {setlinejoin} bind def /slw {setlinewidth} bind def /srgb {setrgbcolor} bind def /rot {rotate} bind def /sc {scale} bind def /sd {setdash} bind def /ff {findfont} bind def /sf {setfont} bind def /scf {scalefont} bind def /sw {stringwidth} bind def /tr {translate} bind def /tnt {dup dup currentrgbcolor 4 -2 roll dup 1 exch sub 3 -1 roll mul add 4 -2 roll dup 1 exch sub 3 -1 roll mul add 4 -2 roll dup 1 exch sub 3 -1 roll mul add srgb} bind def /shd {dup dup currentrgbcolor 4 -2 roll mul 4 -2 roll mul 4 -2 roll mul srgb} bind def /DrawEllipse { /endangle exch def /startangle exch def /yrad exch def /xrad exch def /y exch def /x exch def /savematrix mtrx currentmatrix def x y tr xrad yrad sc 0 0 1 startangle endangle arc closepath savematrix setmatrix } def /$F2psBegin {$F2psDict begin /$F2psEnteredState save def} def /$F2psEnd {$F2psEnteredState restore end} def $F2psBegin 10 setmiterlimit 0 slj 0 slc 0.06299 0.06299 sc % % Fig objects follow % 7.500 slw % Ellipse n 1935 2970 45 45 0 360 DrawEllipse gs 0.00 setgray ef gr gs col0 s gr % Ellipse n 1935 3285 45 45 0 360 DrawEllipse gs 0.00 setgray ef gr gs col0 s gr % Ellipse n 1935 2655 45 45 0 360 DrawEllipse gs 0.00 setgray ef gr gs col0 s gr % Ellipse n 1935 8010 45 45 0 360 DrawEllipse gs 0.00 setgray ef gr gs col0 s gr % Ellipse n 1935 8325 45 45 0 360 DrawEllipse gs 0.00 setgray ef gr gs col0 s gr % Ellipse n 1935 7695 45 45 0 360 DrawEllipse gs 0.00 setgray ef gr gs col0 s gr 30.000 slw % Ellipse n 10576 5488 542 542 0 360 DrawEllipse gs col0 s gr % Ellipse n 1969 1848 542 542 0 360 DrawEllipse gs col0 s gr % Ellipse n 1980 4095 542 542 0 360 DrawEllipse gs col0 s gr % Ellipse n 1968 6746 542 542 0 360 DrawEllipse gs col0 s gr % Ellipse n 1993 9282 542 542 0 360 DrawEllipse gs col0 s gr % Ellipse n 12818 3394 542 542 0 360 DrawEllipse gs col0 s gr % Ellipse n 12825 7554 542 542 0 360 DrawEllipse gs col0 s gr % Ellipse n 4756 5487 542 542 0 360 DrawEllipse gs col0 s gr % Polyline n 5310 5490 m 10035 5490 l gs col0 s gr % Polyline n 12420 3780 m 10980 5085 l gs col0 s gr % Polyline n 10980 5850 m 12420 7200 l gs col0 s gr % Polyline n 2295 2295 m 4410 5085 l gs col0 s gr % Polyline n 2430 4410 m 4230 5265 l gs col0 s gr % Polyline n 2520 6570 m 4230 5670 l gs col0 s gr % Polyline n 2340 8865 m 4365 5850 l gs col0 s gr /Times-Roman ff 540.00 scf sf 13410 2880 m gs 1 -1 sc (server) col0 sh gr /Times-Roman ff 540.00 scf sf 11655 4680 m gs 1 -1 sc (10ms) col0 sh gr /Times-Roman ff 540.00 scf sf 11700 6435 m gs 1 -1 sc (10ms) col0 sh gr /Times-Roman ff 540.00 scf sf 3240 3150 m gs 1 -1 sc (10ms) col0 sh gr /Times-Roman ff 540.00 scf sf 855 1080 m gs 1 -1 sc (10 legitimate clients) col0 sh gr /Times-Roman ff 540.00 scf sf 900 10440 m gs 1 -1 sc (1~100 attackers) col0 sh gr /Times-Roman ff 540.00 scf sf 6300 5130 m gs 1 -1 sc (10Mb, 10ms) col0 sh gr /Times-Roman ff 540.00 scf sf 6525 6210 m gs 1 -1 sc (bottleneck) col0 sh gr /Times-Roman ff 540.00 scf sf 13410 7065 m gs 1 -1 sc (colluder) col0 sh gr $F2psEnd rs %%EndDocument @endspecial 490 1199 a Fn(Figur)o(e)20 b(6:)25 b Fm(Simulation)18 b(topology)0 1473 y Fr(update)29 b(the)i(cached)e(information)f(as)j (needed,)h(and)e(schedule)0 1565 y(the)23 b(pack)o(et)g(for)g(forw)o (arding.)32 b(This)23 b(logic)g(is)i(detailed)d(because)0 1656 y(of)i(the)g(combination)e(of)j(man)o(y)e(simple)h(cases.)38 b(W)-7 b(e)26 b(pro)o(vide)c(it)0 1747 y(for)e(completeness.)75 1839 y(T)-7 b(o)19 b(forw)o(ard)f(a)i(re)o(gular)e(pack)o(et,)h(a)h (router)e(\002rst)i(tries)g(to)g(locate)0 1930 y(an)32 b(entry)f(for)g(the)h(\003o)n(w)g(using)g(the)g(source)f(and)g(the)h (destina-)0 2021 y(tion)20 b(IP)h(address)g(from)e(the)i(pack)o(et.)26 b(An)21 b(entry)e(will)j(e)o(xist)f(if)g(the)0 2113 y(router)j(has)h (recei)n(v)o(ed)f(a)h(v)n(alid)g(re)o(gular)f(pack)o(et)g(from)g(that)i (\003o)n(w)0 2204 y(in)d(the)h(recent)e(past.)35 b(The)23 b(cache)f(entry)h(stores)g(the)h(v)n(alid)e(capa-)0 2295 y(bility)-5 b(,)27 b(the)g(\003o)n(w)g(nonce,)g(the)f(authorized)f (bytes)h(to)h(send)f(\()p Fq(N)9 b Fr(\),)0 2387 y(the)20 b(v)n(alid)f(time)i(\()p Fq(T)12 b Fr(\),)18 b(and)i(the)g Ff(ttl)g Fr(and)g(byte)f(count)g(as)i(described)0 2478 y(in)f(Section)g(3.6.)75 2569 y(If)k(there)h(is)h(a)f(cached)f(entry)g (for)g(the)h(\003o)n(w)-5 b(,)26 b(the)f(router)f(com-)0 2661 y(pares)f(the)g(\003o)n(w)g(nonce)f(to)h(the)g(pack)o(et.)32 b(If)23 b(there)g(is)h(a)f(match,)g(it)0 2752 y(further)i(checks)g(the) i(byte)e(count)h(and)f(the)h Ff(ttl)p Fr(,)j(increments)c(the)0 2843 y(byte)g(count,)i(and)e(then)g(f)o(air)h(queues)f(the)h(pack)o(et) f(as)i(described)0 2935 y(belo)n(w)-5 b(.)23 b(If)c(the)f(\003o)n(w)h (nonce)f(does)g(not)g(match,)g(this)i(could)d(be)i(the)0 3026 y(\002rst)30 b(pack)o(et)f(with)h(a)g(rene)n(wed)e(capability)-5 b(,)31 b(and)e(so)h(the)f(capa-)0 3117 y(bility)21 b(is)i(check)o(ed)d (and)h(if)h(v)n(alid,)f(replaced)f(in)i(the)f(cache)g(entry)-5 b(.)0 3209 y(Equi)n(v)n(alently)g(,)14 b(if)j(there)f(is)h(not)f(a)h (cached)e(entry)h(for)g(the)g(\003o)n(w)-5 b(,)17 b(the)0 3300 y(capability)24 b(is)i(check)o(ed,)e(and)h(if)g(v)n(alid,)g(it)h (is)f(updated)f(with)h(the)0 3391 y(ne)n(w)f(information,)f(and)g(the)h (capability)g(is)h(mark)o(ed)e(as)i(cached)0 3483 y(in)31 b(the)g(pack)o(et.)57 b(The)31 b(capability)f(v)n(alidation)f(uses)j (the)f(infor)n(-)0 3574 y(mation)20 b(in)g(the)g(pack)o(et)g(\226)g (the)h(source)e(address,)h(destination)f(ad-)0 3665 y(dress,)25 b(timestamp,)g Fq(N)9 b Fr(,)25 b(and)f Fq(T)35 b Fr(\226)25 b(plus)f(the)g(router')-5 b(s)23 b(secret,)j(to)0 3757 y(recompute)18 b(the)i(tw)o(o)g(hash)f(functions)f(to)i(produce)e(the)i (capabil-)0 3848 y(ity)h(v)n(alue.)27 b(The)20 b(router)g(also)h (checks)g(that)g(the)g(byte)f(count)g(does)0 3939 y(not)c(e)o(xceed)g Fq(N)9 b Fr(,)18 b(and)e(the)g(current)g(time)h(doesnot)e(e)o(xceed)h (the)h(ca-)0 4030 y(pability)22 b(e)o(xpiration)e(time:)30 b(timestamp)22 b(+)h Fq(T)12 b Fr(,)22 b(and)g(updates)g(the)0 4122 y(entry')-5 b(s)26 b Fq(ttl)r Fr(.)42 b(An)o(y)25 b(pack)o(et)g(with)i(a)f(v)n(alid)g(capability)f(or)g(a)i(\003o)n(w)0 4213 y(nonce)c(is)i(scheduled)d(using)i(f)o(air)f(queuing,)g(in)h(our)f (implemen-)0 4304 y(tation,)f(across)h(the)f(source)g(addresses)g(of)g (the)h(\003o)n(ws)g(cached)e(at)0 4396 y(the)f(router)-5 b(.)75 4487 y(If)27 b(the)g(pack)o(et')-5 b(s)27 b(\003o)n(w)g(nonce)f (is)i(not)e(v)n(alid)h(and)g(there)f(is)i(no)0 4578 y(capability)19 b(pro)o(vided)f(with)j(the)f(pack)o(et,)g(or)g(if)h(the)f(capability)g (is)0 4670 y(not)29 b(v)n(alid,)i(the)f(pack)o(et)f(is)i(mark)o(ed)d (as)i(demoted)e(and)h(queued)0 4761 y(along)19 b(with)i(le)o(gac)o(y)d (pack)o(ets.)75 4852 y(Finally)-5 b(,)29 b(the)f(capability)e(in)i(the) g(pack)o(et)f(is)i(updated)d(in)i(tw)o(o)0 4944 y(cases.)c(First,)17 b(if)e(the)h(pack)o(et)e(is)i(a)g(rene)n(w)o(al,)f(a)h(fresh)f (pre-capability)0 5035 y(is)23 b(minted)e(and)g(placed)g(in)h(the)g (pack)o(et.)29 b(Second,)20 b(the)i(cache)g(bit)0 5126 y(is)f(set)g(if)g(the)f(capability)f(is)i(cached.)0 5375 y Fs(5.)99 b(SIMULA)-9 b(TION)25 b(RESUL)-9 b(TS)2075 83 y Fr(In)22 b(this)h(section,)g(we)g(use)f Ff(ns)h Fr(to)g(simulate)g(our)e(design)h(to)h(see)2000 174 y(ho)n(w)k(well)h (it)g(limits)h(the)e(impact)g(of)h(DoS)f(\003oods.)47 b(W)-7 b(e)29 b(set)f(up)2000 266 y(\002x)o(ed)20 b(length)f(transfers) h(between)g(le)o(gitimate)g(users)h(and)f(a)h(des-)2000 357 y(tination)27 b(under)f(v)n(arious)h(attacks.)48 b(W)-7 b(e)29 b(then)f(measure:)39 b(i\))29 b(the)2000 448 y(a)n(v)o(erage)23 b(fraction)h(of)g(completed)g(transfers,)h(and)f (ii\))h(the)g(a)n(v)o(er)n(-)2000 540 y(age)k(time)h(of)f(the)g (transfers)g(that)g(complete.)52 b(W)-7 b(e)30 b(do)f(this)h(for)2000 631 y(both)23 b(our)g(design)h(and)f(SIFF)i(to)f(pro)o(vide)e(a)i (point)g(of)f(compari-)2000 722 y(son)h(with)g(a)h(simpler)e (capability)g(scheme.)37 b(These)24 b(metrics)g(are)2000 814 y(useful)g(because)g(a)g(successful)h(DoS)f(attack)h(will)g(cause)f (hea)n(vy)2000 905 y(loss)17 b(that)f(will)i(both)d(slo)n(w)i(le)o (gitimate)f(transfers)g(and)f(e)n(v)o(entually)2000 996 y(pre)n(v)o(ent)j(them)i(from)f(completing.)2075 1088 y(W)-7 b(e)21 b(simulate)f(the)h(dumbbell)d(topology)g(sho)n(wn)i(in)g (Figure)g(6.)2000 1179 y(The)31 b(bottleneck)g(link)g(in)h(our)f (simulation)g(is)i(pro)o(visioned)c(to)2000 1270 y(gi)n(v)o(e)16 b(a)h(le)o(gitimate)f(user)g(a)h(nominal)f(throughput)d(of)k(1Mb/s)f(o) o(v)o(er)2000 1362 y(a)j(bottleneck)f(link)h(with)g(a)g(nominal)f (capacity)g(of)h(10Mb/s.)24 b(The)2000 1453 y(R)-5 b(TT)25 b(is)h(60ms.)39 b(Each)24 b(attack)o(er)h(\003oods)f(at)i(the)f(rate)g (of)g(a)g(le)o(git-)2000 1544 y(imate)30 b(user)m(,)h(1Mb/s,)h(and)d (we)h(v)n(ary)f(intensity)g(of)h(the)f(attacks)2000 1636 y(from)i(1/10)g(of)h(the)h(bottleneck)d(bandwidth)h(to)h(10)g(times)h (the)2000 1727 y(bottleneck)19 b(bandwidth)g(by)i(v)n(arying)e(the)i (number)e(of)i(attack)o(ers)2000 1818 y(from)g(1)g(to)h(100.)29 b(W)-7 b(e)23 b(use)f(these)g(relati)n(v)o(ely)f(lo)n(w)h(rates)g(to)g (speed)2000 1910 y(the)k(simulation,)i(since)e(the)h(k)o(e)o(y)f(v)n (ariables)g(are)h(the)f(ratios)h(be-)2000 2001 y(tween)c(attack,)h(le)o (gitimate)f(user)g(and)g(bottleneck)e(bandwidths,)2000 2092 y(gi)n(v)o(en)c(that)i(there)f(is)h(a)g(bandwidth-delay)d(product) g(suf)n(\002cient)i(to)2000 2183 y(a)n(v)n(oid)i(small)g(windo)n(w)g (ef)n(fects.)2075 2275 y(Each)14 b(le)o(gitimate)h(user)g(sends)g(a)h (20KB)f(\002le)h(a)f(thousand)f(times,)2000 2366 y(the)19 b(ne)o(xt)g(transfer)g(starting)g(after)g(the)g(pre)n(vious)f(one)h (completes)2000 2457 y(or)e(aborts)g(due)f(to)i(e)o(xcessi)n(v)o(e)e (loss.)25 b(T)-7 b(o)17 b(create)g(a)h(scenario)e(that)i(is)2000 2549 y(not)g(highly)f(dependent)f(on)i(speci\002c)g(implementation)e (choices,)2000 2640 y(we)i(also)h(use)f(a)h(TCP)g(that)f(is)h (modi\002ed)e(to)h(ha)n(v)o(e)g(a)g(more)g(aggres-)2000 2731 y(si)n(v)o(e)f(connection)e(establishment)h(algorithm.)23 b(Speci\002cally)-5 b(,)17 b(ca-)2000 2823 y(pability)d(requests)h(are) g(piggyback)o(ed)d(on)j(TCP)h(SYNs,)h(the)e(time-)2000 2914 y(out)32 b(for)g(TCP)h(SYNs)g(is)h(\002x)o(ed)d(at)i(one)f(second) g(\(without)f(e)o(x-)2000 3005 y(ponential)h(back)o(of)n(f\),)i(and)f (up)g(to)g(eight)g(retransmissions)g(are)2000 3097 y(performed.)42 b(TCP)28 b(data)f(e)o(xchange)e(aborts)h(the)h(connection)e(if)2000 3188 y(its)32 b(retransmission)f(timeout)g(for)g(a)h(re)o(gular)e(data) h(pack)o(et)g(e)o(x-)2000 3279 y(ceeds)25 b(16)g(seconds.)41 b(W)-7 b(e)26 b(also)g(rate-limit)f(capability)g(requests)2000 3371 y(to)d Fp(1\045)g Fr(of)g(the)g(link)g(capacity)-5 b(,)21 b(do)n(wn)f(from)h(our)h(def)o(ault)f(of)h Fp(5\045)p Fr(,)2000 3462 y(to)e(stress)h(our)f(design.)2075 3553 y(W)-7 b(e)16 b(note)f(that)g(TCP)h(inef)n(\002ciencies)e(limit)i(the)f (ef)n(fecti)n(v)o(e)f(through-)2000 3645 y(put)29 b(of)h(a)g(le)o (gitimate)f(user)h(to)g(be)f(no)h(more)e(than)i(533Kb/s)e(in)2000 3736 y(our)34 b(scenario,)k(gi)n(v)o(en)c(the)h(transfer)f(of)g(20KB)h (with)h(a)f(60ms)2000 3827 y(R)-5 b(TT)f(.)34 b(This)h(implies)g(that)f (there)g(is)i(virtually)d(no)h(bandwidth)2000 3919 y(contention)25 b(with)i(a)g(pool)f(of)g(10)h(le)o(gitimate)f(users)h(\226)g(the)f (con-)2000 4010 y(tention)21 b(ef)n(fects)h(we)h(see)g(come)e(directly) h(from)f(massed)h(attack-)2000 4101 y(ers.)2000 4279 y Fs(5.1)99 b(Legacy)25 b(P)o(ack)o(et)h(Flood)2075 4395 y Fr(The)g(\002rst)i(scenario)f(we)g(consider)f(is)i(that)f(of)g(each)g (attack)o(er)2000 4487 y(\003ooding)18 b(the)i(destination)f(with)h(le) o(gac)o(y)e(traf)n(\002c)i(at)g(1Mb/s.)25 b(Fig-)2000 4578 y(ure)g(7)h(sho)n(ws)f(the)h(fraction)f(of)g(completions)f(and)h (the)h(a)n(v)o(erage)2000 4669 y(completion)19 b(time)j(for)e(our)h (design)g(in)g(comparison)e(with)j(SIFF)-7 b(,)2000 4761 y(and)26 b(with)g(current)f(Internet.)42 b(W)-7 b(e)27 b(see)g(that)f(our)g(design)f(main-)2000 4852 y(tains)i(the)g(fraction) e(of)i(completions)e(near)h Fp(100\045)h Fr(and)f(the)h(a)n(v-)2000 4943 y(erage)g(completion)g(time)h(remains)g(small)h(as)g(the)f (intensity)g(of)2000 5035 y(attacks)i(increases.)54 b(That)30 b(is,)j(our)d(design)f(limits)i(the)f(impact)2000 5126 y(of)d(le)o(gac)o(y)f(traf)n(\002c)h(\003oods.)47 b(This)28 b(is)h(because)e(we)h(treat)f(le)o(gac)o(y)2000 5217 y(traf)n(\002c)h(as)h(lo)n(wer)f(priority)f(than)h(request)g(traf)n (\002c.)49 b(SIFF)29 b(treats)2000 5309 y(both)g(le)o(gac)o(y)g(and)g (request)h(pack)o(ets)g(as)h(equally)e(lo)n(w)h(priority)2000 5400 y(traf)n(\002c.)69 b(Therefore,)37 b(when)d(the)i(intensity)e(of)h (le)o(gac)o(y)f(traf)n(\002c)1929 5649 y(9)p eop end %%Page: 10 10 TeXDict begin 10 9 bop 200 1050 a @beginspecial 50 @llx 50 @lly 410 @urx 302 @ury 1800 @rwi @setspecial %%BeginDocument: figures/legacy-rate.eps %!PS-Adobe-2.0 EPSF-2.0 %%Title: legacy-rate.eps %%Creator: gnuplot 4.0 patchlevel 0 %%CreationDate: Wed Feb 9 10:28:54 2005 %%DocumentFonts: (atend) %%BoundingBox: 50 50 410 302 %%Orientation: Portrait %%EndComments /gnudict 256 dict def gnudict begin /Color false def /Solid false def /gnulinewidth 5.000 def /userlinewidth gnulinewidth def /vshift -120 def /dl {10.0 mul} def /hpt_ 31.5 def /vpt_ 31.5 def /hpt hpt_ def /vpt vpt_ def /Rounded false def /M {moveto} bind def /L {lineto} bind def /R {rmoveto} bind def /V {rlineto} bind def /N {newpath moveto} bind def /C {setrgbcolor} bind def /f {rlineto fill} bind def /vpt2 vpt 2 mul def /hpt2 hpt 2 mul def /Lshow { currentpoint stroke M 0 vshift R show } def /Rshow { currentpoint stroke M dup stringwidth pop neg vshift R show } def /Cshow { currentpoint stroke M dup stringwidth pop -2 div vshift R show } def /UP { dup vpt_ mul /vpt exch def hpt_ mul /hpt exch def /hpt2 hpt 2 mul def /vpt2 vpt 2 mul def } def /DL { Color {setrgbcolor Solid {pop []} if 0 setdash } {pop pop pop 0 setgray Solid {pop []} if 0 setdash} ifelse } def /BL { stroke userlinewidth 2 mul setlinewidth Rounded { 1 setlinejoin 1 setlinecap } if } def /AL { stroke userlinewidth 2 div setlinewidth Rounded { 1 setlinejoin 1 setlinecap } if } def /UL { dup gnulinewidth mul /userlinewidth exch def dup 1 lt {pop 1} if 10 mul /udl exch def } def /PL { stroke userlinewidth setlinewidth Rounded { 1 setlinejoin 1 setlinecap } if } def /LTw { PL [] 1 setgray } def /LTb { BL [] 0 0 0 DL } def /LTa { AL [1 udl mul 2 udl mul] 0 setdash 0 0 0 setrgbcolor } def /LT0 { PL [] 1 0 0 DL } def /LT1 { PL [4 dl 2 dl] 0 1 0 DL } def /LT2 { PL [2 dl 3 dl] 0 0 1 DL } def /LT3 { PL [1 dl 1.5 dl] 1 0 1 DL } def /LT4 { PL [5 dl 2 dl 1 dl 2 dl] 0 1 1 DL } def /LT5 { PL [4 dl 3 dl 1 dl 3 dl] 1 1 0 DL } def /LT6 { PL [2 dl 2 dl 2 dl 4 dl] 0 0 0 DL } def /LT7 { PL [2 dl 2 dl 2 dl 2 dl 2 dl 4 dl] 1 0.3 0 DL } def /LT8 { PL [2 dl 2 dl 2 dl 2 dl 2 dl 2 dl 2 dl 4 dl] 0.5 0.5 0.5 DL } def /Pnt { stroke [] 0 setdash gsave 1 setlinecap M 0 0 V stroke grestore } def /Dia { stroke [] 0 setdash 2 copy vpt add M hpt neg vpt neg V hpt vpt neg V hpt vpt V hpt neg vpt V closepath stroke Pnt } def /Pls { stroke [] 0 setdash vpt sub M 0 vpt2 V currentpoint stroke M hpt neg vpt neg R hpt2 0 V stroke } def /Box { stroke [] 0 setdash 2 copy exch hpt sub exch vpt add M 0 vpt2 neg V hpt2 0 V 0 vpt2 V hpt2 neg 0 V closepath stroke Pnt } def /Crs { stroke [] 0 setdash exch hpt sub exch vpt add M hpt2 vpt2 neg V currentpoint stroke M hpt2 neg 0 R hpt2 vpt2 V stroke } def /TriU { stroke [] 0 setdash 2 copy vpt 1.12 mul add M hpt neg vpt -1.62 mul V hpt 2 mul 0 V hpt neg vpt 1.62 mul V closepath stroke Pnt } def /Star { 2 copy Pls Crs } def /BoxF { stroke [] 0 setdash exch hpt sub exch vpt add M 0 vpt2 neg V hpt2 0 V 0 vpt2 V hpt2 neg 0 V closepath fill } def /TriUF { stroke [] 0 setdash vpt 1.12 mul add M hpt neg vpt -1.62 mul V hpt 2 mul 0 V hpt neg vpt 1.62 mul V closepath fill } def /TriD { stroke [] 0 setdash 2 copy vpt 1.12 mul sub M hpt neg vpt 1.62 mul V hpt 2 mul 0 V hpt neg vpt -1.62 mul V closepath stroke Pnt } def /TriDF { stroke [] 0 setdash vpt 1.12 mul sub M hpt neg vpt 1.62 mul V hpt 2 mul 0 V hpt neg vpt -1.62 mul V closepath fill} def /DiaF { stroke [] 0 setdash vpt add M hpt neg vpt neg V hpt vpt neg V hpt vpt V hpt neg vpt V closepath fill } def /Pent { stroke [] 0 setdash 2 copy gsave translate 0 hpt M 4 {72 rotate 0 hpt L} repeat closepath stroke grestore Pnt } def /PentF { stroke [] 0 setdash gsave translate 0 hpt M 4 {72 rotate 0 hpt L} repeat closepath fill grestore } def /Circle { stroke [] 0 setdash 2 copy hpt 0 360 arc stroke Pnt } def /CircleF { stroke [] 0 setdash hpt 0 360 arc fill } def /C0 { BL [] 0 setdash 2 copy moveto vpt 90 450 arc } bind def /C1 { BL [] 0 setdash 2 copy moveto 2 copy vpt 0 90 arc closepath fill vpt 0 360 arc closepath } bind def /C2 { BL [] 0 setdash 2 copy moveto 2 copy vpt 90 180 arc closepath fill vpt 0 360 arc closepath } bind def /C3 { BL [] 0 setdash 2 copy moveto 2 copy vpt 0 180 arc closepath fill vpt 0 360 arc closepath } bind def /C4 { BL [] 0 setdash 2 copy moveto 2 copy vpt 180 270 arc closepath fill vpt 0 360 arc closepath } bind def /C5 { BL [] 0 setdash 2 copy moveto 2 copy vpt 0 90 arc 2 copy moveto 2 copy vpt 180 270 arc closepath fill vpt 0 360 arc } bind def /C6 { BL [] 0 setdash 2 copy moveto 2 copy vpt 90 270 arc closepath fill vpt 0 360 arc closepath } bind def /C7 { BL [] 0 setdash 2 copy moveto 2 copy vpt 0 270 arc closepath fill vpt 0 360 arc closepath } bind def /C8 { BL [] 0 setdash 2 copy moveto 2 copy vpt 270 360 arc closepath fill vpt 0 360 arc closepath } bind def /C9 { BL [] 0 setdash 2 copy moveto 2 copy vpt 270 450 arc closepath fill vpt 0 360 arc closepath } bind def /C10 { BL [] 0 setdash 2 copy 2 copy moveto vpt 270 360 arc closepath fill 2 copy moveto 2 copy vpt 90 180 arc closepath fill vpt 0 360 arc closepath } bind def /C11 { BL [] 0 setdash 2 copy moveto 2 copy vpt 0 180 arc closepath fill 2 copy moveto 2 copy vpt 270 360 arc closepath fill vpt 0 360 arc closepath } bind def /C12 { BL [] 0 setdash 2 copy moveto 2 copy vpt 180 360 arc closepath fill vpt 0 360 arc closepath } bind def /C13 { BL [] 0 setdash 2 copy moveto 2 copy vpt 0 90 arc closepath fill 2 copy moveto 2 copy vpt 180 360 arc closepath fill vpt 0 360 arc closepath } bind def /C14 { BL [] 0 setdash 2 copy moveto 2 copy vpt 90 360 arc closepath fill vpt 0 360 arc } bind def /C15 { BL [] 0 setdash 2 copy vpt 0 360 arc closepath fill vpt 0 360 arc closepath } bind def /Rec { newpath 4 2 roll moveto 1 index 0 rlineto 0 exch rlineto neg 0 rlineto closepath } bind def /Square { dup Rec } bind def /Bsquare { vpt sub exch vpt sub exch vpt2 Square } bind def /S0 { BL [] 0 setdash 2 copy moveto 0 vpt rlineto BL Bsquare } bind def /S1 { BL [] 0 setdash 2 copy vpt Square fill Bsquare } bind def /S2 { BL [] 0 setdash 2 copy exch vpt sub exch vpt Square fill Bsquare } bind def /S3 { BL [] 0 setdash 2 copy exch vpt sub exch vpt2 vpt Rec fill Bsquare } bind def /S4 { BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt Square fill Bsquare } bind def /S5 { BL [] 0 setdash 2 copy 2 copy vpt Square fill exch vpt sub exch vpt sub vpt Square fill Bsquare } bind def /S6 { BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt vpt2 Rec fill Bsquare } bind def /S7 { BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt vpt2 Rec fill 2 copy vpt Square fill Bsquare } bind def /S8 { BL [] 0 setdash 2 copy vpt sub vpt Square fill Bsquare } bind def /S9 { BL [] 0 setdash 2 copy vpt sub vpt vpt2 Rec fill Bsquare } bind def /S10 { BL [] 0 setdash 2 copy vpt sub vpt Square fill 2 copy exch vpt sub exch vpt Square fill Bsquare } bind def /S11 { BL [] 0 setdash 2 copy vpt sub vpt Square fill 2 copy exch vpt sub exch vpt2 vpt Rec fill Bsquare } bind def /S12 { BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt2 vpt Rec fill Bsquare } bind def /S13 { BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt2 vpt Rec fill 2 copy vpt Square fill Bsquare } bind def /S14 { BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt2 vpt Rec fill 2 copy exch vpt sub exch vpt Square fill Bsquare } bind def /S15 { BL [] 0 setdash 2 copy Bsquare fill Bsquare } bind def /D0 { gsave translate 45 rotate 0 0 S0 stroke grestore } bind def /D1 { gsave translate 45 rotate 0 0 S1 stroke grestore } bind def /D2 { gsave translate 45 rotate 0 0 S2 stroke grestore } bind def /D3 { gsave translate 45 rotate 0 0 S3 stroke grestore } bind def /D4 { gsave translate 45 rotate 0 0 S4 stroke grestore } bind def /D5 { gsave translate 45 rotate 0 0 S5 stroke grestore } bind def /D6 { gsave translate 45 rotate 0 0 S6 stroke grestore } bind def /D7 { gsave translate 45 rotate 0 0 S7 stroke grestore } bind def /D8 { gsave translate 45 rotate 0 0 S8 stroke grestore } bind def /D9 { gsave translate 45 rotate 0 0 S9 stroke grestore } bind def /D10 { gsave translate 45 rotate 0 0 S10 stroke grestore } bind def /D11 { gsave translate 45 rotate 0 0 S11 stroke grestore } bind def /D12 { gsave translate 45 rotate 0 0 S12 stroke grestore } bind def /D13 { gsave translate 45 rotate 0 0 S13 stroke grestore } bind def /D14 { gsave translate 45 rotate 0 0 S14 stroke grestore } bind def /D15 { gsave translate 45 rotate 0 0 S15 stroke grestore } bind def /DiaE { stroke [] 0 setdash vpt add M hpt neg vpt neg V hpt vpt neg V hpt vpt V hpt neg vpt V closepath stroke } def /BoxE { stroke [] 0 setdash exch hpt sub exch vpt add M 0 vpt2 neg V hpt2 0 V 0 vpt2 V hpt2 neg 0 V closepath stroke } def /TriUE { stroke [] 0 setdash vpt 1.12 mul add M hpt neg vpt -1.62 mul V hpt 2 mul 0 V hpt neg vpt 1.62 mul V closepath stroke } def /TriDE { stroke [] 0 setdash vpt 1.12 mul sub M hpt neg vpt 1.62 mul V hpt 2 mul 0 V hpt neg vpt -1.62 mul V closepath stroke } def /PentE { stroke [] 0 setdash gsave translate 0 hpt M 4 {72 rotate 0 hpt L} repeat closepath stroke grestore } def /CircE { stroke [] 0 setdash hpt 0 360 arc stroke } def /Opaque { gsave closepath 1 setgray fill grestore 0 setgray closepath } def /DiaW { stroke [] 0 setdash vpt add M hpt neg vpt neg V hpt vpt neg V hpt vpt V hpt neg vpt V Opaque stroke } def /BoxW { stroke [] 0 setdash exch hpt sub exch vpt add M 0 vpt2 neg V hpt2 0 V 0 vpt2 V hpt2 neg 0 V Opaque stroke } def /TriUW { stroke [] 0 setdash vpt 1.12 mul add M hpt neg vpt -1.62 mul V hpt 2 mul 0 V hpt neg vpt 1.62 mul V Opaque stroke } def /TriDW { stroke [] 0 setdash vpt 1.12 mul sub M hpt neg vpt 1.62 mul V hpt 2 mul 0 V hpt neg vpt -1.62 mul V Opaque stroke } def /PentW { stroke [] 0 setdash gsave translate 0 hpt M 4 {72 rotate 0 hpt L} repeat Opaque stroke grestore } def /CircW { stroke [] 0 setdash hpt 0 360 arc Opaque stroke } def /BoxFill { gsave Rec 1 setgray fill grestore } def /BoxColFill { gsave Rec /Fillden exch def currentrgbcolor /ColB exch def /ColG exch def /ColR exch def /ColR ColR Fillden mul Fillden sub 1 add def /ColG ColG Fillden mul Fillden sub 1 add def /ColB ColB Fillden mul Fillden sub 1 add def ColR ColG ColB setrgbcolor fill grestore } def % % PostScript Level 1 Pattern Fill routine % Usage: x y w h s a XX PatternFill % x,y = lower left corner of box to be filled % w,h = width and height of box % a = angle in degrees between lines and x-axis % XX = 0/1 for no/yes cross-hatch % /PatternFill { gsave /PFa [ 9 2 roll ] def PFa 0 get PFa 2 get 2 div add PFa 1 get PFa 3 get 2 div add translate PFa 2 get -2 div PFa 3 get -2 div PFa 2 get PFa 3 get Rec gsave 1 setgray fill grestore clip currentlinewidth 0.5 mul setlinewidth /PFs PFa 2 get dup mul PFa 3 get dup mul add sqrt def 0 0 M PFa 5 get rotate PFs -2 div dup translate 0 1 PFs PFa 4 get div 1 add floor cvi { PFa 4 get mul 0 M 0 PFs V } for 0 PFa 6 get ne { 0 1 PFs PFa 4 get div 1 add floor cvi { PFa 4 get mul 0 2 1 roll M PFs 0 V } for } if stroke grestore } def % /Symbol-Oblique /Symbol findfont [1 0 .167 1 0 0] makefont dup length dict begin {1 index /FID eq {pop pop} {def} ifelse} forall currentdict end definefont pop end %%EndProlog gnudict begin gsave 50 50 translate 0.050 0.050 scale 0 setgray newpath (Helvetica) findfont 360 scalefont setfont 1.000 UL LTb 1836 1080 M 63 0 V 4689 0 R -63 0 V -4905 0 R gsave 0 setgray ( 0) Rshow grestore 1.000 UL LTb 1836 1721 M 63 0 V 4689 0 R -63 0 V -4905 0 R gsave 0 setgray ( 0.2) Rshow grestore 1.000 UL LTb 1836 2363 M 63 0 V 4689 0 R -63 0 V -4905 0 R gsave 0 setgray ( 0.4) Rshow grestore 1.000 UL LTb 1836 3004 M 63 0 V 4689 0 R -63 0 V -4905 0 R gsave 0 setgray ( 0.6) Rshow grestore 1.000 UL LTb 1836 3646 M 63 0 V 4689 0 R -63 0 V -4905 0 R gsave 0 setgray ( 0.8) Rshow grestore 1.000 UL LTb 1836 4287 M 63 0 V 4689 0 R -63 0 V -4905 0 R gsave 0 setgray ( 1) Rshow grestore 1.000 UL LTb 1836 1080 M 0 63 V 0 3465 R 0 -63 V 0 -3825 R gsave 0 setgray ( 1) Cshow grestore 1.000 UL LTb 2551 1080 M 0 31 V 0 3497 R 0 -31 V 2970 1080 M 0 31 V 0 3497 R 0 -31 V 3266 1080 M 0 31 V 0 3497 R 0 -31 V 3497 1080 M 0 31 V 0 3497 R 0 -31 V 3685 1080 M 0 31 V 0 3497 R 0 -31 V 3844 1080 M 0 31 V 0 3497 R 0 -31 V 3982 1080 M 0 31 V 0 3497 R 0 -31 V 4103 1080 M 0 31 V 0 3497 R 0 -31 V 4212 1080 M 0 63 V 0 3465 R 0 -63 V 0 -3825 R gsave 0 setgray ( 10) Cshow grestore 1.000 UL LTb 4927 1080 M 0 31 V 0 3497 R 0 -31 V 5346 1080 M 0 31 V 0 3497 R 0 -31 V 5642 1080 M 0 31 V 0 3497 R 0 -31 V 5873 1080 M 0 31 V 0 3497 R 0 -31 V 6061 1080 M 0 31 V 0 3497 R 0 -31 V 6220 1080 M 0 31 V 0 3497 R 0 -31 V 6358 1080 M 0 31 V 0 3497 R 0 -31 V 6479 1080 M 0 31 V 0 3497 R 0 -31 V 6588 1080 M 0 63 V 0 3465 R 0 -63 V 0 -3825 R gsave 0 setgray ( 100) Cshow grestore 1.000 UL LTb 1.000 UL LTb 1836 1080 M 4752 0 V 0 3528 V -4752 0 V 0 -3528 V LTb 360 2844 M gsave 0 setgray currentpoint gsave translate 90 rotate 0 0 M (Fraction of completion) Cshow grestore grestore LTb 4212 180 M gsave 0 setgray (Number of attackers) Cshow grestore 1.000 UP 2.000 UP 1.000 UL LT0 LTb 4212 2043 M gsave 0 setgray (Internet) Rshow grestore LT0 4428 2043 M 279 0 V 1836 4287 M 715 0 V 715 0 V 419 0 V 297 0 V 230 0 V 715 -605 V 5642 1284 L 419 -195 V 297 -7 V 230 -2 V 1836 4287 Box 2551 4287 Box 3266 4287 Box 3685 4287 Box 3982 4287 Box 4212 4287 Box 4927 3682 Box 5642 1284 Box 6061 1089 Box 6358 1082 Box 6588 1080 Box 4567 2043 Box 2.000 UP 1.000 UL LT1 LTb 4212 1683 M gsave 0 setgray (siff) Rshow grestore LT1 4428 1683 M 279 0 V 1836 4287 M 715 0 V 715 0 V 419 0 V 297 0 V 230 0 V 715 -12 V 715 -356 V 419 -528 V 297 -339 V 230 -153 V 1836 4287 Star 2551 4287 Star 3266 4287 Star 3685 4287 Star 3982 4287 Star 4212 4287 Star 4927 4275 Star 5642 3919 Star 6061 3391 Star 6358 3052 Star 6588 2899 Star 4567 1683 Star 2.000 UP 1.000 UL LT2 LTb 4212 1323 M gsave 0 setgray (our design) Rshow grestore LT2 4428 1323 M 279 0 V 1836 4287 M 715 0 V 715 0 V 419 0 V 297 0 V 230 0 V 715 0 V 715 0 V 419 0 V 297 0 V 230 0 V 1836 4287 Pls 2551 4287 Pls 3266 4287 Pls 3685 4287 Pls 3982 4287 Pls 4212 4287 Pls 4927 4287 Pls 5642 4287 Pls 6061 4287 Pls 6358 4287 Pls 6588 4287 Pls 4567 1323 Pls 1.000 UL LTb 1836 1080 M 4752 0 V 0 3528 V -4752 0 V 0 -3528 V 1.000 UP stroke grestore end showpage %%Trailer %%DocumentFonts: Helvetica %%EndDocument @endspecial 1058 x @beginspecial 50 @llx 50 @lly 410 @urx 302 @ury 1800 @rwi @setspecial %%BeginDocument: figures/legacy-time.eps %!PS-Adobe-2.0 EPSF-2.0 %%Title: legacy-time.eps %%Creator: gnuplot 4.0 patchlevel 0 %%CreationDate: Wed Feb 9 10:28:54 2005 %%DocumentFonts: (atend) %%BoundingBox: 50 50 410 302 %%Orientation: Portrait %%EndComments /gnudict 256 dict def gnudict begin /Color false def /Solid false def /gnulinewidth 5.000 def /userlinewidth gnulinewidth def /vshift -120 def /dl {10.0 mul} def /hpt_ 31.5 def /vpt_ 31.5 def /hpt hpt_ def /vpt vpt_ def /Rounded false def /M {moveto} bind def /L {lineto} bind def /R {rmoveto} bind def /V {rlineto} bind def /N {newpath moveto} bind def /C {setrgbcolor} bind def /f {rlineto fill} bind def /vpt2 vpt 2 mul def /hpt2 hpt 2 mul def /Lshow { currentpoint stroke M 0 vshift R show } def /Rshow { currentpoint stroke M dup stringwidth pop neg vshift R show } def /Cshow { currentpoint stroke M dup stringwidth pop -2 div vshift R show } def /UP { dup vpt_ mul /vpt exch def hpt_ mul /hpt exch def /hpt2 hpt 2 mul def /vpt2 vpt 2 mul def } def /DL { Color {setrgbcolor Solid {pop []} if 0 setdash } {pop pop pop 0 setgray Solid {pop []} if 0 setdash} ifelse } def /BL { stroke userlinewidth 2 mul setlinewidth Rounded { 1 setlinejoin 1 setlinecap } if } def /AL { stroke userlinewidth 2 div setlinewidth Rounded { 1 setlinejoin 1 setlinecap } if } def /UL { dup gnulinewidth mul /userlinewidth exch def dup 1 lt {pop 1} if 10 mul /udl exch def } def /PL { stroke userlinewidth setlinewidth Rounded { 1 setlinejoin 1 setlinecap } if } def /LTw { PL [] 1 setgray } def /LTb { BL [] 0 0 0 DL } def /LTa { AL [1 udl mul 2 udl mul] 0 setdash 0 0 0 setrgbcolor } def /LT0 { PL [] 1 0 0 DL } def /LT1 { PL [4 dl 2 dl] 0 1 0 DL } def /LT2 { PL [2 dl 3 dl] 0 0 1 DL } def /LT3 { PL [1 dl 1.5 dl] 1 0 1 DL } def /LT4 { PL [5 dl 2 dl 1 dl 2 dl] 0 1 1 DL } def /LT5 { PL [4 dl 3 dl 1 dl 3 dl] 1 1 0 DL } def /LT6 { PL [2 dl 2 dl 2 dl 4 dl] 0 0 0 DL } def /LT7 { PL [2 dl 2 dl 2 dl 2 dl 2 dl 4 dl] 1 0.3 0 DL } def /LT8 { PL [2 dl 2 dl 2 dl 2 dl 2 dl 2 dl 2 dl 4 dl] 0.5 0.5 0.5 DL } def /Pnt { stroke [] 0 setdash gsave 1 setlinecap M 0 0 V stroke grestore } def /Dia { stroke [] 0 setdash 2 copy vpt add M hpt neg vpt neg V hpt vpt neg V hpt vpt V hpt neg vpt V closepath stroke Pnt } def /Pls { stroke [] 0 setdash vpt sub M 0 vpt2 V currentpoint stroke M hpt neg vpt neg R hpt2 0 V stroke } def /Box { stroke [] 0 setdash 2 copy exch hpt sub exch vpt add M 0 vpt2 neg V hpt2 0 V 0 vpt2 V hpt2 neg 0 V closepath stroke Pnt } def /Crs { stroke [] 0 setdash exch hpt sub exch vpt add M hpt2 vpt2 neg V currentpoint stroke M hpt2 neg 0 R hpt2 vpt2 V stroke } def /TriU { stroke [] 0 setdash 2 copy vpt 1.12 mul add M hpt neg vpt -1.62 mul V hpt 2 mul 0 V hpt neg vpt 1.62 mul V closepath stroke Pnt } def /Star { 2 copy Pls Crs } def /BoxF { stroke [] 0 setdash exch hpt sub exch vpt add M 0 vpt2 neg V hpt2 0 V 0 vpt2 V hpt2 neg 0 V closepath fill } def /TriUF { stroke [] 0 setdash vpt 1.12 mul add M hpt neg vpt -1.62 mul V hpt 2 mul 0 V hpt neg vpt 1.62 mul V closepath fill } def /TriD { stroke [] 0 setdash 2 copy vpt 1.12 mul sub M hpt neg vpt 1.62 mul V hpt 2 mul 0 V hpt neg vpt -1.62 mul V closepath stroke Pnt } def /TriDF { stroke [] 0 setdash vpt 1.12 mul sub M hpt neg vpt 1.62 mul V hpt 2 mul 0 V hpt neg vpt -1.62 mul V closepath fill} def /DiaF { stroke [] 0 setdash vpt add M hpt neg vpt neg V hpt vpt neg V hpt vpt V hpt neg vpt V closepath fill } def /Pent { stroke [] 0 setdash 2 copy gsave translate 0 hpt M 4 {72 rotate 0 hpt L} repeat closepath stroke grestore Pnt } def /PentF { stroke [] 0 setdash gsave translate 0 hpt M 4 {72 rotate 0 hpt L} repeat closepath fill grestore } def /Circle { stroke [] 0 setdash 2 copy hpt 0 360 arc stroke Pnt } def /CircleF { stroke [] 0 setdash hpt 0 360 arc fill } def /C0 { BL [] 0 setdash 2 copy moveto vpt 90 450 arc } bind def /C1 { BL [] 0 setdash 2 copy moveto 2 copy vpt 0 90 arc closepath fill vpt 0 360 arc closepath } bind def /C2 { BL [] 0 setdash 2 copy moveto 2 copy vpt 90 180 arc closepath fill vpt 0 360 arc closepath } bind def /C3 { BL [] 0 setdash 2 copy moveto 2 copy vpt 0 180 arc closepath fill vpt 0 360 arc closepath } bind def /C4 { BL [] 0 setdash 2 copy moveto 2 copy vpt 180 270 arc closepath fill vpt 0 360 arc closepath } bind def /C5 { BL [] 0 setdash 2 copy moveto 2 copy vpt 0 90 arc 2 copy moveto 2 copy vpt 180 270 arc closepath fill vpt 0 360 arc } bind def /C6 { BL [] 0 setdash 2 copy moveto 2 copy vpt 90 270 arc closepath fill vpt 0 360 arc closepath } bind def /C7 { BL [] 0 setdash 2 copy moveto 2 copy vpt 0 270 arc closepath fill vpt 0 360 arc closepath } bind def /C8 { BL [] 0 setdash 2 copy moveto 2 copy vpt 270 360 arc closepath fill vpt 0 360 arc closepath } bind def /C9 { BL [] 0 setdash 2 copy moveto 2 copy vpt 270 450 arc closepath fill vpt 0 360 arc closepath } bind def /C10 { BL [] 0 setdash 2 copy 2 copy moveto vpt 270 360 arc closepath fill 2 copy moveto 2 copy vpt 90 180 arc closepath fill vpt 0 360 arc closepath } bind def /C11 { BL [] 0 setdash 2 copy moveto 2 copy vpt 0 180 arc closepath fill 2 copy moveto 2 copy vpt 270 360 arc closepath fill vpt 0 360 arc closepath } bind def /C12 { BL [] 0 setdash 2 copy moveto 2 copy vpt 180 360 arc closepath fill vpt 0 360 arc closepath } bind def /C13 { BL [] 0 setdash 2 copy moveto 2 copy vpt 0 90 arc closepath fill 2 copy moveto 2 copy vpt 180 360 arc closepath fill vpt 0 360 arc closepath } bind def /C14 { BL [] 0 setdash 2 copy moveto 2 copy vpt 90 360 arc closepath fill vpt 0 360 arc } bind def /C15 { BL [] 0 setdash 2 copy vpt 0 360 arc closepath fill vpt 0 360 arc closepath } bind def /Rec { newpath 4 2 roll moveto 1 index 0 rlineto 0 exch rlineto neg 0 rlineto closepath } bind def /Square { dup Rec } bind def /Bsquare { vpt sub exch vpt sub exch vpt2 Square } bind def /S0 { BL [] 0 setdash 2 copy moveto 0 vpt rlineto BL Bsquare } bind def /S1 { BL [] 0 setdash 2 copy vpt Square fill Bsquare } bind def /S2 { BL [] 0 setdash 2 copy exch vpt sub exch vpt Square fill Bsquare } bind def /S3 { BL [] 0 setdash 2 copy exch vpt sub exch vpt2 vpt Rec fill Bsquare } bind def /S4 { BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt Square fill Bsquare } bind def /S5 { BL [] 0 setdash 2 copy 2 copy vpt Square fill exch vpt sub exch vpt sub vpt Square fill Bsquare } bind def /S6 { BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt vpt2 Rec fill Bsquare } bind def /S7 { BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt vpt2 Rec fill 2 copy vpt Square fill Bsquare } bind def /S8 { BL [] 0 setdash 2 copy vpt sub vpt Square fill Bsquare } bind def /S9 { BL [] 0 setdash 2 copy vpt sub vpt vpt2 Rec fill Bsquare } bind def /S10 { BL [] 0 setdash 2 copy vpt sub vpt Square fill 2 copy exch vpt sub exch vpt Square fill Bsquare } bind def /S11 { BL [] 0 setdash 2 copy vpt sub vpt Square fill 2 copy exch vpt sub exch vpt2 vpt Rec fill Bsquare } bind def /S12 { BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt2 vpt Rec fill Bsquare } bind def /S13 { BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt2 vpt Rec fill 2 copy vpt Square fill Bsquare } bind def /S14 { BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt2 vpt Rec fill 2 copy exch vpt sub exch vpt Square fill Bsquare } bind def /S15 { BL [] 0 setdash 2 copy Bsquare fill Bsquare } bind def /D0 { gsave translate 45 rotate 0 0 S0 stroke grestore } bind def /D1 { gsave translate 45 rotate 0 0 S1 stroke grestore } bind def /D2 { gsave translate 45 rotate 0 0 S2 stroke grestore } bind def /D3 { gsave translate 45 rotate 0 0 S3 stroke grestore } bind def /D4 { gsave translate 45 rotate 0 0 S4 stroke grestore } bind def /D5 { gsave translate 45 rotate 0 0 S5 stroke grestore } bind def /D6 { gsave translate 45 rotate 0 0 S6 stroke grestore } bind def /D7 { gsave translate 45 rotate 0 0 S7 stroke grestore } bind def /D8 { gsave translate 45 rotate 0 0 S8 stroke grestore } bind def /D9 { gsave translate 45 rotate 0 0 S9 stroke grestore } bind def /D10 { gsave translate 45 rotate 0 0 S10 stroke grestore } bind def /D11 { gsave translate 45 rotate 0 0 S11 stroke grestore } bind def /D12 { gsave translate 45 rotate 0 0 S12 stroke grestore } bind def /D13 { gsave translate 45 rotate 0 0 S13 stroke grestore } bind def /D14 { gsave translate 45 rotate 0 0 S14 stroke grestore } bind def /D15 { gsave translate 45 rotate 0 0 S15 stroke grestore } bind def /DiaE { stroke [] 0 setdash vpt add M hpt neg vpt neg V hpt vpt neg V hpt vpt V hpt neg vpt V closepath stroke } def /BoxE { stroke [] 0 setdash exch hpt sub exch vpt add M 0 vpt2 neg V hpt2 0 V 0 vpt2 V hpt2 neg 0 V closepath stroke } def /TriUE { stroke [] 0 setdash vpt 1.12 mul add M hpt neg vpt -1.62 mul V hpt 2 mul 0 V hpt neg vpt 1.62 mul V closepath stroke } def /TriDE { stroke [] 0 setdash vpt 1.12 mul sub M hpt neg vpt 1.62 mul V hpt 2 mul 0 V hpt neg vpt -1.62 mul V closepath stroke } def /PentE { stroke [] 0 setdash gsave translate 0 hpt M 4 {72 rotate 0 hpt L} repeat closepath stroke grestore } def /CircE { stroke [] 0 setdash hpt 0 360 arc stroke } def /Opaque { gsave closepath 1 setgray fill grestore 0 setgray closepath } def /DiaW { stroke [] 0 setdash vpt add M hpt neg vpt neg V hpt vpt neg V hpt vpt V hpt neg vpt V Opaque stroke } def /BoxW { stroke [] 0 setdash exch hpt sub exch vpt add M 0 vpt2 neg V hpt2 0 V 0 vpt2 V hpt2 neg 0 V Opaque stroke } def /TriUW { stroke [] 0 setdash vpt 1.12 mul add M hpt neg vpt -1.62 mul V hpt 2 mul 0 V hpt neg vpt 1.62 mul V Opaque stroke } def /TriDW { stroke [] 0 setdash vpt 1.12 mul sub M hpt neg vpt 1.62 mul V hpt 2 mul 0 V hpt neg vpt -1.62 mul V Opaque stroke } def /PentW { stroke [] 0 setdash gsave translate 0 hpt M 4 {72 rotate 0 hpt L} repeat Opaque stroke grestore } def /CircW { stroke [] 0 setdash hpt 0 360 arc Opaque stroke } def /BoxFill { gsave Rec 1 setgray fill grestore } def /BoxColFill { gsave Rec /Fillden exch def currentrgbcolor /ColB exch def /ColG exch def /ColR exch def /ColR ColR Fillden mul Fillden sub 1 add def /ColG ColG Fillden mul Fillden sub 1 add def /ColB ColB Fillden mul Fillden sub 1 add def ColR ColG ColB setrgbcolor fill grestore } def % % PostScript Level 1 Pattern Fill routine % Usage: x y w h s a XX PatternFill % x,y = lower left corner of box to be filled % w,h = width and height of box % a = angle in degrees between lines and x-axis % XX = 0/1 for no/yes cross-hatch % /PatternFill { gsave /PFa [ 9 2 roll ] def PFa 0 get PFa 2 get 2 div add PFa 1 get PFa 3 get 2 div add translate PFa 2 get -2 div PFa 3 get -2 div PFa 2 get PFa 3 get Rec gsave 1 setgray fill grestore clip currentlinewidth 0.5 mul setlinewidth /PFs PFa 2 get dup mul PFa 3 get dup mul add sqrt def 0 0 M PFa 5 get rotate PFs -2 div dup translate 0 1 PFs PFa 4 get div 1 add floor cvi { PFa 4 get mul 0 M 0 PFs V } for 0 PFa 6 get ne { 0 1 PFs PFa 4 get div 1 add floor cvi { PFa 4 get mul 0 2 1 roll M PFs 0 V } for } if stroke grestore } def % /Symbol-Oblique /Symbol findfont [1 0 .167 1 0 0] makefont dup length dict begin {1 index /FID eq {pop pop} {def} ifelse} forall currentdict end definefont pop end %%EndProlog gnudict begin gsave 50 50 translate 0.050 0.050 scale 0 setgray newpath (Helvetica) findfont 360 scalefont setfont 1.000 UL LTb 1404 1080 M 63 0 V 5121 0 R -63 0 V -5337 0 R gsave 0 setgray ( 0) Rshow grestore 1.000 UL LTb 1404 1668 M 63 0 V 5121 0 R -63 0 V -5337 0 R gsave 0 setgray ( 1) Rshow grestore 1.000 UL LTb 1404 2256 M 63 0 V 5121 0 R -63 0 V -5337 0 R gsave 0 setgray ( 2) Rshow grestore 1.000 UL LTb 1404 2844 M 63 0 V 5121 0 R -63 0 V -5337 0 R gsave 0 setgray ( 3) Rshow grestore 1.000 UL LTb 1404 3432 M 63 0 V 5121 0 R -63 0 V -5337 0 R gsave 0 setgray ( 4) Rshow grestore 1.000 UL LTb 1404 4020 M 63 0 V 5121 0 R -63 0 V -5337 0 R gsave 0 setgray ( 5) Rshow grestore 1.000 UL LTb 1404 4608 M 63 0 V 5121 0 R -63 0 V -5337 0 R gsave 0 setgray ( 6) Rshow grestore 1.000 UL LTb 1404 1080 M 0 63 V 0 3465 R 0 -63 V 0 -3825 R gsave 0 setgray ( 1) Cshow grestore 1.000 UL LTb 2184 1080 M 0 31 V 0 3497 R 0 -31 V 2641 1080 M 0 31 V 0 3497 R 0 -31 V 2965 1080 M 0 31 V 0 3497 R 0 -31 V 3216 1080 M 0 31 V 0 3497 R 0 -31 V 3421 1080 M 0 31 V 0 3497 R 0 -31 V 3594 1080 M 0 31 V 0 3497 R 0 -31 V 3745 1080 M 0 31 V 0 3497 R 0 -31 V 3877 1080 M 0 31 V 0 3497 R 0 -31 V 3996 1080 M 0 63 V 0 3465 R 0 -63 V 0 -3825 R gsave 0 setgray ( 10) Cshow grestore 1.000 UL LTb 4776 1080 M 0 31 V 0 3497 R 0 -31 V 5233 1080 M 0 31 V 0 3497 R 0 -31 V 5557 1080 M 0 31 V 0 3497 R 0 -31 V 5808 1080 M 0 31 V 0 3497 R 0 -31 V 6013 1080 M 0 31 V 0 3497 R 0 -31 V 6186 1080 M 0 31 V 0 3497 R 0 -31 V 6337 1080 M 0 31 V 0 3497 R 0 -31 V 6469 1080 M 0 31 V 0 3497 R 0 -31 V 6588 1080 M 0 63 V 0 3465 R 0 -63 V 0 -3825 R gsave 0 setgray ( 100) Cshow grestore 1.000 UL LTb 1.000 UL LTb 1404 1080 M 5184 0 V 0 3528 V -5184 0 V 0 -3528 V LTb 360 2844 M gsave 0 setgray currentpoint gsave translate 90 rotate 0 0 M (File transfer time \(s\)) Cshow grestore grestore LTb 3996 180 M gsave 0 setgray (Number of attackers) Cshow grestore 1.000 UP 2.000 UP 1.000 UL LT0 LTb 3780 4365 M gsave 0 setgray (Internet) Rshow grestore LT0 3996 4365 M 279 0 V 1404 1265 M 780 0 V 781 1 V 456 3 V 324 8 V 140 3331 V 1404 1265 Box 2184 1265 Box 2965 1266 Box 3421 1269 Box 3745 1277 Box 4135 4365 Box 2.000 UP 1.000 UL LT1 LTb 3780 4005 M gsave 0 setgray (siff) Rshow grestore LT1 3996 4005 M 279 0 V 1404 1265 M 780 0 V 781 0 V 456 1 V 324 2 V 251 414 V 780 647 V 781 737 V 456 274 V 324 185 V 251 100 V 1404 1265 Star 2184 1265 Star 2965 1265 Star 3421 1266 Star 3745 1268 Star 3996 1682 Star 4776 2329 Star 5557 3066 Star 6013 3340 Star 6337 3525 Star 6588 3625 Star 4135 4005 Star 2.000 UP 1.000 UL LT2 LTb 3780 3645 M gsave 0 setgray (our design) Rshow grestore LT2 3996 3645 M 279 0 V 1404 1265 M 780 0 V 781 0 V 456 0 V 324 1 V 251 0 V 780 0 V 781 0 V 456 0 V 324 0 V 251 0 V 1404 1265 Pls 2184 1265 Pls 2965 1265 Pls 3421 1265 Pls 3745 1266 Pls 3996 1266 Pls 4776 1266 Pls 5557 1266 Pls 6013 1266 Pls 6337 1266 Pls 6588 1266 Pls 4135 3645 Pls 1.000 UL LTb 1404 1080 M 5184 0 V 0 3528 V -5184 0 V 0 -3528 V 1.000 UP stroke grestore end showpage %%Trailer %%DocumentFonts: Helvetica %%EndDocument @endspecial 0 2283 a Fn(Figur)o(e)19 b(7:)50 b Fm(Legacy)18 b(traf\002c)f(\003ooding)g(does)g(not)f(incr)o(ease)j(the)d(\002le)h (trans-)0 2374 y(fer)26 b(time)g(or)g(decr)o(ease)h(the)e(fraction)i (of)e(completed)j(transfers)e(with)g(our)0 2465 y(design.)37 b(W)o(ith)23 b(SIFF)-6 b(,)20 b(\002le)j(transfer)g(time)h(incr)o (eases)g(and)d(the)i(fraction)h(of)0 2557 y(completed)30 b(transfer)g(dr)o(ops)e(when)h(the)f(intensity)i(of)e(attack)h(incr)o (eases;)0 2648 y(with)24 b(Inter)o(net,)i(transfer)f(time)g(incr)o (eases)g(shar)o(ply)l(,)h(and)e(the)g(fraction)h(of)0 2739 y(completion)19 b(quickly)f(appr)o(oaches)g(zer)o(o.)0 3002 y Fr(e)o(xceeds)k(the)h(bottleneck)f(bandwidth,)g(a)h(le)o (gitimate)g(user')-5 b(s)23 b(re-)0 3093 y(quest)j(pack)o(ets)f(be)o (gin)g(to)h(suf)n(fer)f(losses.)43 b(W)-7 b(e)27 b(see)f(this)h(in)f (Fig-)0 3185 y(ure)19 b(7)h(when)f(the)h(number)e(of)h(attack)o(ers)h (is)g(greater)f(than)g(10)g(and)0 3276 y(the)e(fraction)e(of)i (completions)e(drops)h(and)g(the)h(completion)e(time)0 3367 y(increases.)57 b(When)31 b(the)g(aggre)o(gate)d(attack)j (bandwidth)e Fq(B)1773 3379 y Fh(a)1845 3367 y Fr(is)0 3459 y(greater)20 b(than)h(the)g(bottleneck)e(bandwidth)g Fq(B)1342 3471 y Fh(l)1368 3459 y Fr(,)i(the)h(pack)o(et)e(loss)0 3550 y(rate)27 b Fq(p)h Fr(is)g(approximately)c Fp(\()p Fq(B)907 3562 y Fh(a)972 3550 y Fi(\000)f Fq(B)1123 3562 y Fh(l)1148 3550 y Fp(\))p Fq(=B)1285 3562 y Fh(a)1325 3550 y Fr(.)47 b(Once)27 b(a)g(request)0 3641 y(pack)o(et)20 b(gets)h(through,)e(a)i(client')-5 b(s)21 b(subsequent)e(pack)o(ets)i (are)f(au-)0 3733 y(thorized)k(pack)o(ets)h(and)f(are)h(treated)g(with) g(higher)f(priority)-5 b(.)39 b(So)0 3824 y(the)23 b(probability)d (that)j(a)f(\002le)i(transfer)d(completes)h(with)h(SIFF)g(is)0 3915 y(equal)17 b(to)h(the)g(probability)e(a)i(request)g(gets)g (through)e(within)h(nine)0 4007 y(tries,)j(i.e.,)g Fp(\(1)e Fi(\000)f Fq(p)543 3976 y Fo(9)580 4007 y Fp(\))p Fr(.)26 b(When)20 b(the)g(number)e(of)i(attack)o(ers)g(is)h(100,)0 4098 y Fq(p)h Fr(is)h Fp(90\045)p Fr(,)e(gi)n(ving)g(a)h(completion)d (rate)j(of)g Fp(\(1)d Fi(\000)g Fp(0)p Fq(:)p Fp(9)1547 4068 y Fo(9)1583 4098 y Fp(\))26 b(=)g(0)p Fq(:)p Fp(61)p Fr(.)0 4189 y(This)c(is)h(consistent)e(with)h(our)g(results.)30 b(Similarly)-5 b(,)21 b(the)h(a)n(v)o(erage)0 4281 y(time)e(for)g(a)h (transfer)e(to)h(complete)f(with)i(up)e(to)i(9)f(tries)h(is:)265 4523 y Fq(T)314 4535 y Fh(av)r(g)446 4523 y Fp(=)i(\()610 4419 y Fo(9)566 4444 y Fd(X)572 4621 y Fh(i)p Fo(=1)700 4523 y Fi(\001)p Fq(i)18 b Fi(\001)g Fq(p)853 4489 y Fh(i)p Fc(\000)p Fo(1)984 4523 y Fi(\001)h Fp(\(1)f Fi(\000)g Fq(p)p Fp(\)\))p Fq(=)p Fp(\(1)g Fi(\000)g Fq(p)1566 4489 y Fo(9)1603 4523 y Fp(\))0 4761 y Fr(When)26 b(there)g(are)g(100)g (attack)o(ers,)h(this)g(time)f(is)h(4.05)f(seconds,)0 4852 y(which)20 b(is)h(again)e(consistent)h(with)g(our)g(results.)75 4943 y(W)m(ith)g(Internet,)f(le)o(gitimate)g(users')h(traf)n(\002c)g (and)f(attack)h(traf)n(\002c)0 5035 y(are)30 b(treated)g(alik)o(e.)55 b(Therefore,)31 b(e)n(v)o(ery)e(pack)o(et)g(from)g(a)i(le)o(git-)0 5126 y(imate)f(user)g(encounters)f(a)h(loss)h(rate)g(of)f Fq(p)p Fr(.)55 b(The)30 b(probability)0 5217 y(for)g Fq(n)i Fr(pack)o(ets)f(to)g(get)g(through,)g(each)g(within)g(a)g(\002x) o(ed)g(num-)0 5309 y(ber)d(of)h(retransmissions)e Fq(k)33 b Fr(is)c Fp(\(1)c Fi(\000)f Fq(p)1169 5279 y Fh(k)1210 5309 y Fp(\))1242 5279 y Fh(n)1287 5309 y Fr(.)51 b(This)29 b(probability)0 5400 y(decreases)22 b(e)o(xponentially)e(with)j Fq(n)p Fr(.)32 b(This)23 b(e)o(xplains)f(the)g(results)2200 1050 y @beginspecial 50 @llx 50 @lly 410 @urx 302 @ury 1800 @rwi @setspecial %%BeginDocument: figures/rts-rate.eps %!PS-Adobe-2.0 EPSF-2.0 %%Title: rts-rate.eps %%Creator: gnuplot 4.0 patchlevel 0 %%CreationDate: Mon Feb 7 21:20:23 2005 %%DocumentFonts: (atend) %%BoundingBox: 50 50 410 302 %%Orientation: Portrait %%EndComments /gnudict 256 dict def gnudict begin /Color false def /Solid false def /gnulinewidth 5.000 def /userlinewidth gnulinewidth def /vshift -120 def /dl {10.0 mul} def /hpt_ 31.5 def /vpt_ 31.5 def /hpt hpt_ def /vpt vpt_ def /Rounded false def /M {moveto} bind def /L {lineto} bind def /R {rmoveto} bind def /V {rlineto} bind def /N {newpath moveto} bind def /C {setrgbcolor} bind def /f {rlineto fill} bind def /vpt2 vpt 2 mul def /hpt2 hpt 2 mul def /Lshow { currentpoint stroke M 0 vshift R show } def /Rshow { currentpoint stroke M dup stringwidth pop neg vshift R show } def /Cshow { currentpoint stroke M dup stringwidth pop -2 div vshift R show } def /UP { dup vpt_ mul /vpt exch def hpt_ mul /hpt exch def /hpt2 hpt 2 mul def /vpt2 vpt 2 mul def } def /DL { Color {setrgbcolor Solid {pop []} if 0 setdash } {pop pop pop 0 setgray Solid {pop []} if 0 setdash} ifelse } def /BL { stroke userlinewidth 2 mul setlinewidth Rounded { 1 setlinejoin 1 setlinecap } if } def /AL { stroke userlinewidth 2 div setlinewidth Rounded { 1 setlinejoin 1 setlinecap } if } def /UL { dup gnulinewidth mul /userlinewidth exch def dup 1 lt {pop 1} if 10 mul /udl exch def } def /PL { stroke userlinewidth setlinewidth Rounded { 1 setlinejoin 1 setlinecap } if } def /LTw { PL [] 1 setgray } def /LTb { BL [] 0 0 0 DL } def /LTa { AL [1 udl mul 2 udl mul] 0 setdash 0 0 0 setrgbcolor } def /LT0 { PL [] 1 0 0 DL } def /LT1 { PL [4 dl 2 dl] 0 1 0 DL } def /LT2 { PL [2 dl 3 dl] 0 0 1 DL } def /LT3 { PL [1 dl 1.5 dl] 1 0 1 DL } def /LT4 { PL [5 dl 2 dl 1 dl 2 dl] 0 1 1 DL } def /LT5 { PL [4 dl 3 dl 1 dl 3 dl] 1 1 0 DL } def /LT6 { PL [2 dl 2 dl 2 dl 4 dl] 0 0 0 DL } def /LT7 { PL [2 dl 2 dl 2 dl 2 dl 2 dl 4 dl] 1 0.3 0 DL } def /LT8 { PL [2 dl 2 dl 2 dl 2 dl 2 dl 2 dl 2 dl 4 dl] 0.5 0.5 0.5 DL } def /Pnt { stroke [] 0 setdash gsave 1 setlinecap M 0 0 V stroke grestore } def /Dia { stroke [] 0 setdash 2 copy vpt add M hpt neg vpt neg V hpt vpt neg V hpt vpt V hpt neg vpt V closepath stroke Pnt } def /Pls { stroke [] 0 setdash vpt sub M 0 vpt2 V currentpoint stroke M hpt neg vpt neg R hpt2 0 V stroke } def /Box { stroke [] 0 setdash 2 copy exch hpt sub exch vpt add M 0 vpt2 neg V hpt2 0 V 0 vpt2 V hpt2 neg 0 V closepath stroke Pnt } def /Crs { stroke [] 0 setdash exch hpt sub exch vpt add M hpt2 vpt2 neg V currentpoint stroke M hpt2 neg 0 R hpt2 vpt2 V stroke } def /TriU { stroke [] 0 setdash 2 copy vpt 1.12 mul add M hpt neg vpt -1.62 mul V hpt 2 mul 0 V hpt neg vpt 1.62 mul V closepath stroke Pnt } def /Star { 2 copy Pls Crs } def /BoxF { stroke [] 0 setdash exch hpt sub exch vpt add M 0 vpt2 neg V hpt2 0 V 0 vpt2 V hpt2 neg 0 V closepath fill } def /TriUF { stroke [] 0 setdash vpt 1.12 mul add M hpt neg vpt -1.62 mul V hpt 2 mul 0 V hpt neg vpt 1.62 mul V closepath fill } def /TriD { stroke [] 0 setdash 2 copy vpt 1.12 mul sub M hpt neg vpt 1.62 mul V hpt 2 mul 0 V hpt neg vpt -1.62 mul V closepath stroke Pnt } def /TriDF { stroke [] 0 setdash vpt 1.12 mul sub M hpt neg vpt 1.62 mul V hpt 2 mul 0 V hpt neg vpt -1.62 mul V closepath fill} def /DiaF { stroke [] 0 setdash vpt add M hpt neg vpt neg V hpt vpt neg V hpt vpt V hpt neg vpt V closepath fill } def /Pent { stroke [] 0 setdash 2 copy gsave translate 0 hpt M 4 {72 rotate 0 hpt L} repeat closepath stroke grestore Pnt } def /PentF { stroke [] 0 setdash gsave translate 0 hpt M 4 {72 rotate 0 hpt L} repeat closepath fill grestore } def /Circle { stroke [] 0 setdash 2 copy hpt 0 360 arc stroke Pnt } def /CircleF { stroke [] 0 setdash hpt 0 360 arc fill } def /C0 { BL [] 0 setdash 2 copy moveto vpt 90 450 arc } bind def /C1 { BL [] 0 setdash 2 copy moveto 2 copy vpt 0 90 arc closepath fill vpt 0 360 arc closepath } bind def /C2 { BL [] 0 setdash 2 copy moveto 2 copy vpt 90 180 arc closepath fill vpt 0 360 arc closepath } bind def /C3 { BL [] 0 setdash 2 copy moveto 2 copy vpt 0 180 arc closepath fill vpt 0 360 arc closepath } bind def /C4 { BL [] 0 setdash 2 copy moveto 2 copy vpt 180 270 arc closepath fill vpt 0 360 arc closepath } bind def /C5 { BL [] 0 setdash 2 copy moveto 2 copy vpt 0 90 arc 2 copy moveto 2 copy vpt 180 270 arc closepath fill vpt 0 360 arc } bind def /C6 { BL [] 0 setdash 2 copy moveto 2 copy vpt 90 270 arc closepath fill vpt 0 360 arc closepath } bind def /C7 { BL [] 0 setdash 2 copy moveto 2 copy vpt 0 270 arc closepath fill vpt 0 360 arc closepath } bind def /C8 { BL [] 0 setdash 2 copy moveto 2 copy vpt 270 360 arc closepath fill vpt 0 360 arc closepath } bind def /C9 { BL [] 0 setdash 2 copy moveto 2 copy vpt 270 450 arc closepath fill vpt 0 360 arc closepath } bind def /C10 { BL [] 0 setdash 2 copy 2 copy moveto vpt 270 360 arc closepath fill 2 copy moveto 2 copy vpt 90 180 arc closepath fill vpt 0 360 arc closepath } bind def /C11 { BL [] 0 setdash 2 copy moveto 2 copy vpt 0 180 arc closepath fill 2 copy moveto 2 copy vpt 270 360 arc closepath fill vpt 0 360 arc closepath } bind def /C12 { BL [] 0 setdash 2 copy moveto 2 copy vpt 180 360 arc closepath fill vpt 0 360 arc closepath } bind def /C13 { BL [] 0 setdash 2 copy moveto 2 copy vpt 0 90 arc closepath fill 2 copy moveto 2 copy vpt 180 360 arc closepath fill vpt 0 360 arc closepath } bind def /C14 { BL [] 0 setdash 2 copy moveto 2 copy vpt 90 360 arc closepath fill vpt 0 360 arc } bind def /C15 { BL [] 0 setdash 2 copy vpt 0 360 arc closepath fill vpt 0 360 arc closepath } bind def /Rec { newpath 4 2 roll moveto 1 index 0 rlineto 0 exch rlineto neg 0 rlineto closepath } bind def /Square { dup Rec } bind def /Bsquare { vpt sub exch vpt sub exch vpt2 Square } bind def /S0 { BL [] 0 setdash 2 copy moveto 0 vpt rlineto BL Bsquare } bind def /S1 { BL [] 0 setdash 2 copy vpt Square fill Bsquare } bind def /S2 { BL [] 0 setdash 2 copy exch vpt sub exch vpt Square fill Bsquare } bind def /S3 { BL [] 0 setdash 2 copy exch vpt sub exch vpt2 vpt Rec fill Bsquare } bind def /S4 { BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt Square fill Bsquare } bind def /S5 { BL [] 0 setdash 2 copy 2 copy vpt Square fill exch vpt sub exch vpt sub vpt Square fill Bsquare } bind def /S6 { BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt vpt2 Rec fill Bsquare } bind def /S7 { BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt vpt2 Rec fill 2 copy vpt Square fill Bsquare } bind def /S8 { BL [] 0 setdash 2 copy vpt sub vpt Square fill Bsquare } bind def /S9 { BL [] 0 setdash 2 copy vpt sub vpt vpt2 Rec fill Bsquare } bind def /S10 { BL [] 0 setdash 2 copy vpt sub vpt Square fill 2 copy exch vpt sub exch vpt Square fill Bsquare } bind def /S11 { BL [] 0 setdash 2 copy vpt sub vpt Square fill 2 copy exch vpt sub exch vpt2 vpt Rec fill Bsquare } bind def /S12 { BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt2 vpt Rec fill Bsquare } bind def /S13 { BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt2 vpt Rec fill 2 copy vpt Square fill Bsquare } bind def /S14 { BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt2 vpt Rec fill 2 copy exch vpt sub exch vpt Square fill Bsquare } bind def /S15 { BL [] 0 setdash 2 copy Bsquare fill Bsquare } bind def /D0 { gsave translate 45 rotate 0 0 S0 stroke grestore } bind def /D1 { gsave translate 45 rotate 0 0 S1 stroke grestore } bind def /D2 { gsave translate 45 rotate 0 0 S2 stroke grestore } bind def /D3 { gsave translate 45 rotate 0 0 S3 stroke grestore } bind def /D4 { gsave translate 45 rotate 0 0 S4 stroke grestore } bind def /D5 { gsave translate 45 rotate 0 0 S5 stroke grestore } bind def /D6 { gsave translate 45 rotate 0 0 S6 stroke grestore } bind def /D7 { gsave translate 45 rotate 0 0 S7 stroke grestore } bind def /D8 { gsave translate 45 rotate 0 0 S8 stroke grestore } bind def /D9 { gsave translate 45 rotate 0 0 S9 stroke grestore } bind def /D10 { gsave translate 45 rotate 0 0 S10 stroke grestore } bind def /D11 { gsave translate 45 rotate 0 0 S11 stroke grestore } bind def /D12 { gsave translate 45 rotate 0 0 S12 stroke grestore } bind def /D13 { gsave translate 45 rotate 0 0 S13 stroke grestore } bind def /D14 { gsave translate 45 rotate 0 0 S14 stroke grestore } bind def /D15 { gsave translate 45 rotate 0 0 S15 stroke grestore } bind def /DiaE { stroke [] 0 setdash vpt add M hpt neg vpt neg V hpt vpt neg V hpt vpt V hpt neg vpt V closepath stroke } def /BoxE { stroke [] 0 setdash exch hpt sub exch vpt add M 0 vpt2 neg V hpt2 0 V 0 vpt2 V hpt2 neg 0 V closepath stroke } def /TriUE { stroke [] 0 setdash vpt 1.12 mul add M hpt neg vpt -1.62 mul V hpt 2 mul 0 V hpt neg vpt 1.62 mul V closepath stroke } def /TriDE { stroke [] 0 setdash vpt 1.12 mul sub M hpt neg vpt 1.62 mul V hpt 2 mul 0 V hpt neg vpt -1.62 mul V closepath stroke } def /PentE { stroke [] 0 setdash gsave translate 0 hpt M 4 {72 rotate 0 hpt L} repeat closepath stroke grestore } def /CircE { stroke [] 0 setdash hpt 0 360 arc stroke } def /Opaque { gsave closepath 1 setgray fill grestore 0 setgray closepath } def /DiaW { stroke [] 0 setdash vpt add M hpt neg vpt neg V hpt vpt neg V hpt vpt V hpt neg vpt V Opaque stroke } def /BoxW { stroke [] 0 setdash exch hpt sub exch vpt add M 0 vpt2 neg V hpt2 0 V 0 vpt2 V hpt2 neg 0 V Opaque stroke } def /TriUW { stroke [] 0 setdash vpt 1.12 mul add M hpt neg vpt -1.62 mul V hpt 2 mul 0 V hpt neg vpt 1.62 mul V Opaque stroke } def /TriDW { stroke [] 0 setdash vpt 1.12 mul sub M hpt neg vpt 1.62 mul V hpt 2 mul 0 V hpt neg vpt -1.62 mul V Opaque stroke } def /PentW { stroke [] 0 setdash gsave translate 0 hpt M 4 {72 rotate 0 hpt L} repeat Opaque stroke grestore } def /CircW { stroke [] 0 setdash hpt 0 360 arc Opaque stroke } def /BoxFill { gsave Rec 1 setgray fill grestore } def /BoxColFill { gsave Rec /Fillden exch def currentrgbcolor /ColB exch def /ColG exch def /ColR exch def /ColR ColR Fillden mul Fillden sub 1 add def /ColG ColG Fillden mul Fillden sub 1 add def /ColB ColB Fillden mul Fillden sub 1 add def ColR ColG ColB setrgbcolor fill grestore } def % % PostScript Level 1 Pattern Fill routine % Usage: x y w h s a XX PatternFill % x,y = lower left corner of box to be filled % w,h = width and height of box % a = angle in degrees between lines and x-axis % XX = 0/1 for no/yes cross-hatch % /PatternFill { gsave /PFa [ 9 2 roll ] def PFa 0 get PFa 2 get 2 div add PFa 1 get PFa 3 get 2 div add translate PFa 2 get -2 div PFa 3 get -2 div PFa 2 get PFa 3 get Rec gsave 1 setgray fill grestore clip currentlinewidth 0.5 mul setlinewidth /PFs PFa 2 get dup mul PFa 3 get dup mul add sqrt def 0 0 M PFa 5 get rotate PFs -2 div dup translate 0 1 PFs PFa 4 get div 1 add floor cvi { PFa 4 get mul 0 M 0 PFs V } for 0 PFa 6 get ne { 0 1 PFs PFa 4 get div 1 add floor cvi { PFa 4 get mul 0 2 1 roll M PFs 0 V } for } if stroke grestore } def % /Symbol-Oblique /Symbol findfont [1 0 .167 1 0 0] makefont dup length dict begin {1 index /FID eq {pop pop} {def} ifelse} forall currentdict end definefont pop end %%EndProlog gnudict begin gsave 50 50 translate 0.050 0.050 scale 0 setgray newpath (Helvetica) findfont 360 scalefont setfont 1.000 UL LTb 1836 1080 M 63 0 V 4689 0 R -63 0 V -4905 0 R gsave 0 setgray ( 0) Rshow grestore 1.000 UL LTb 1836 1721 M 63 0 V 4689 0 R -63 0 V -4905 0 R gsave 0 setgray ( 0.2) Rshow grestore 1.000 UL LTb 1836 2363 M 63 0 V 4689 0 R -63 0 V -4905 0 R gsave 0 setgray ( 0.4) Rshow grestore 1.000 UL LTb 1836 3004 M 63 0 V 4689 0 R -63 0 V -4905 0 R gsave 0 setgray ( 0.6) Rshow grestore 1.000 UL LTb 1836 3646 M 63 0 V 4689 0 R -63 0 V -4905 0 R gsave 0 setgray ( 0.8) Rshow grestore 1.000 UL LTb 1836 4287 M 63 0 V 4689 0 R -63 0 V -4905 0 R gsave 0 setgray ( 1) Rshow grestore 1.000 UL LTb 1836 1080 M 0 63 V 0 3465 R 0 -63 V 0 -3825 R gsave 0 setgray ( 1) Cshow grestore 1.000 UL LTb 2551 1080 M 0 31 V 0 3497 R 0 -31 V 2970 1080 M 0 31 V 0 3497 R 0 -31 V 3266 1080 M 0 31 V 0 3497 R 0 -31 V 3497 1080 M 0 31 V 0 3497 R 0 -31 V 3685 1080 M 0 31 V 0 3497 R 0 -31 V 3844 1080 M 0 31 V 0 3497 R 0 -31 V 3982 1080 M 0 31 V 0 3497 R 0 -31 V 4103 1080 M 0 31 V 0 3497 R 0 -31 V 4212 1080 M 0 63 V 0 3465 R 0 -63 V 0 -3825 R gsave 0 setgray ( 10) Cshow grestore 1.000 UL LTb 4927 1080 M 0 31 V 0 3497 R 0 -31 V 5346 1080 M 0 31 V 0 3497 R 0 -31 V 5642 1080 M 0 31 V 0 3497 R 0 -31 V 5873 1080 M 0 31 V 0 3497 R 0 -31 V 6061 1080 M 0 31 V 0 3497 R 0 -31 V 6220 1080 M 0 31 V 0 3497 R 0 -31 V 6358 1080 M 0 31 V 0 3497 R 0 -31 V 6479 1080 M 0 31 V 0 3497 R 0 -31 V 6588 1080 M 0 63 V 0 3465 R 0 -63 V 0 -3825 R gsave 0 setgray ( 100) Cshow grestore 1.000 UL LTb 1.000 UL LTb 1836 1080 M 4752 0 V 0 3528 V -4752 0 V 0 -3528 V LTb 360 2844 M gsave 0 setgray currentpoint gsave translate 90 rotate 0 0 M (Fraction of completion) Cshow grestore grestore LTb 4212 180 M gsave 0 setgray (Number of attackers) Cshow grestore 1.000 UP 2.000 UP 1.000 UL LT0 LTb 4212 1683 M gsave 0 setgray (siff) Rshow grestore LT0 4428 1683 M 279 0 V 1836 4287 M 715 0 V 715 0 V 419 0 V 297 0 V 230 0 V 715 -1 V 715 -157 V 419 -929 V 297 -39 V 230 -161 V 1836 4287 Star 2551 4287 Star 3266 4287 Star 3685 4287 Star 3982 4287 Star 4212 4287 Star 4927 4286 Star 5642 4129 Star 6061 3200 Star 6358 3161 Star 6588 3000 Star 4567 1683 Star 2.000 UP 1.000 UL LT1 LTb 4212 1323 M gsave 0 setgray (our design) Rshow grestore LT1 4428 1323 M 279 0 V 1836 4287 M 715 0 V 715 0 V 419 0 V 297 0 V 230 0 V 715 0 V 715 0 V 419 0 V 297 0 V 230 0 V 1836 4287 Pls 2551 4287 Pls 3266 4287 Pls 3685 4287 Pls 3982 4287 Pls 4212 4287 Pls 4927 4287 Pls 5642 4287 Pls 6061 4287 Pls 6358 4287 Pls 6588 4287 Pls 4567 1323 Pls 1.000 UL LTb 1836 1080 M 4752 0 V 0 3528 V -4752 0 V 0 -3528 V 1.000 UP stroke grestore end showpage %%Trailer %%DocumentFonts: Helvetica %%EndDocument @endspecial 1058 x @beginspecial 50 @llx 50 @lly 410 @urx 302 @ury 1800 @rwi @setspecial %%BeginDocument: figures/rts-time.eps %!PS-Adobe-2.0 EPSF-2.0 %%Title: rts-time.eps %%Creator: gnuplot 4.0 patchlevel 0 %%CreationDate: Mon Feb 7 21:20:23 2005 %%DocumentFonts: (atend) %%BoundingBox: 50 50 410 302 %%Orientation: Portrait %%EndComments /gnudict 256 dict def gnudict begin /Color false def /Solid false def /gnulinewidth 5.000 def /userlinewidth gnulinewidth def /vshift -120 def /dl {10.0 mul} def /hpt_ 31.5 def /vpt_ 31.5 def /hpt hpt_ def /vpt vpt_ def /Rounded false def /M {moveto} bind def /L {lineto} bind def /R {rmoveto} bind def /V {rlineto} bind def /N {newpath moveto} bind def /C {setrgbcolor} bind def /f {rlineto fill} bind def /vpt2 vpt 2 mul def /hpt2 hpt 2 mul def /Lshow { currentpoint stroke M 0 vshift R show } def /Rshow { currentpoint stroke M dup stringwidth pop neg vshift R show } def /Cshow { currentpoint stroke M dup stringwidth pop -2 div vshift R show } def /UP { dup vpt_ mul /vpt exch def hpt_ mul /hpt exch def /hpt2 hpt 2 mul def /vpt2 vpt 2 mul def } def /DL { Color {setrgbcolor Solid {pop []} if 0 setdash } {pop pop pop 0 setgray Solid {pop []} if 0 setdash} ifelse } def /BL { stroke userlinewidth 2 mul setlinewidth Rounded { 1 setlinejoin 1 setlinecap } if } def /AL { stroke userlinewidth 2 div setlinewidth Rounded { 1 setlinejoin 1 setlinecap } if } def /UL { dup gnulinewidth mul /userlinewidth exch def dup 1 lt {pop 1} if 10 mul /udl exch def } def /PL { stroke userlinewidth setlinewidth Rounded { 1 setlinejoin 1 setlinecap } if } def /LTw { PL [] 1 setgray } def /LTb { BL [] 0 0 0 DL } def /LTa { AL [1 udl mul 2 udl mul] 0 setdash 0 0 0 setrgbcolor } def /LT0 { PL [] 1 0 0 DL } def /LT1 { PL [4 dl 2 dl] 0 1 0 DL } def /LT2 { PL [2 dl 3 dl] 0 0 1 DL } def /LT3 { PL [1 dl 1.5 dl] 1 0 1 DL } def /LT4 { PL [5 dl 2 dl 1 dl 2 dl] 0 1 1 DL } def /LT5 { PL [4 dl 3 dl 1 dl 3 dl] 1 1 0 DL } def /LT6 { PL [2 dl 2 dl 2 dl 4 dl] 0 0 0 DL } def /LT7 { PL [2 dl 2 dl 2 dl 2 dl 2 dl 4 dl] 1 0.3 0 DL } def /LT8 { PL [2 dl 2 dl 2 dl 2 dl 2 dl 2 dl 2 dl 4 dl] 0.5 0.5 0.5 DL } def /Pnt { stroke [] 0 setdash gsave 1 setlinecap M 0 0 V stroke grestore } def /Dia { stroke [] 0 setdash 2 copy vpt add M hpt neg vpt neg V hpt vpt neg V hpt vpt V hpt neg vpt V closepath stroke Pnt } def /Pls { stroke [] 0 setdash vpt sub M 0 vpt2 V currentpoint stroke M hpt neg vpt neg R hpt2 0 V stroke } def /Box { stroke [] 0 setdash 2 copy exch hpt sub exch vpt add M 0 vpt2 neg V hpt2 0 V 0 vpt2 V hpt2 neg 0 V closepath stroke Pnt } def /Crs { stroke [] 0 setdash exch hpt sub exch vpt add M hpt2 vpt2 neg V currentpoint stroke M hpt2 neg 0 R hpt2 vpt2 V stroke } def /TriU { stroke [] 0 setdash 2 copy vpt 1.12 mul add M hpt neg vpt -1.62 mul V hpt 2 mul 0 V hpt neg vpt 1.62 mul V closepath stroke Pnt } def /Star { 2 copy Pls Crs } def /BoxF { stroke [] 0 setdash exch hpt sub exch vpt add M 0 vpt2 neg V hpt2 0 V 0 vpt2 V hpt2 neg 0 V closepath fill } def /TriUF { stroke [] 0 setdash vpt 1.12 mul add M hpt neg vpt -1.62 mul V hpt 2 mul 0 V hpt neg vpt 1.62 mul V closepath fill } def /TriD { stroke [] 0 setdash 2 copy vpt 1.12 mul sub M hpt neg vpt 1.62 mul V hpt 2 mul 0 V hpt neg vpt -1.62 mul V closepath stroke Pnt } def /TriDF { stroke [] 0 setdash vpt 1.12 mul sub M hpt neg vpt 1.62 mul V hpt 2 mul 0 V hpt neg vpt -1.62 mul V closepath fill} def /DiaF { stroke [] 0 setdash vpt add M hpt neg vpt neg V hpt vpt neg V hpt vpt V hpt neg vpt V closepath fill } def /Pent { stroke [] 0 setdash 2 copy gsave translate 0 hpt M 4 {72 rotate 0 hpt L} repeat closepath stroke grestore Pnt } def /PentF { stroke [] 0 setdash gsave translate 0 hpt M 4 {72 rotate 0 hpt L} repeat closepath fill grestore } def /Circle { stroke [] 0 setdash 2 copy hpt 0 360 arc stroke Pnt } def /CircleF { stroke [] 0 setdash hpt 0 360 arc fill } def /C0 { BL [] 0 setdash 2 copy moveto vpt 90 450 arc } bind def /C1 { BL [] 0 setdash 2 copy moveto 2 copy vpt 0 90 arc closepath fill vpt 0 360 arc closepath } bind def /C2 { BL [] 0 setdash 2 copy moveto 2 copy vpt 90 180 arc closepath fill vpt 0 360 arc closepath } bind def /C3 { BL [] 0 setdash 2 copy moveto 2 copy vpt 0 180 arc closepath fill vpt 0 360 arc closepath } bind def /C4 { BL [] 0 setdash 2 copy moveto 2 copy vpt 180 270 arc closepath fill vpt 0 360 arc closepath } bind def /C5 { BL [] 0 setdash 2 copy moveto 2 copy vpt 0 90 arc 2 copy moveto 2 copy vpt 180 270 arc closepath fill vpt 0 360 arc } bind def /C6 { BL [] 0 setdash 2 copy moveto 2 copy vpt 90 270 arc closepath fill vpt 0 360 arc closepath } bind def /C7 { BL [] 0 setdash 2 copy moveto 2 copy vpt 0 270 arc closepath fill vpt 0 360 arc closepath } bind def /C8 { BL [] 0 setdash 2 copy moveto 2 copy vpt 270 360 arc closepath fill vpt 0 360 arc closepath } bind def /C9 { BL [] 0 setdash 2 copy moveto 2 copy vpt 270 450 arc closepath fill vpt 0 360 arc closepath } bind def /C10 { BL [] 0 setdash 2 copy 2 copy moveto vpt 270 360 arc closepath fill 2 copy moveto 2 copy vpt 90 180 arc closepath fill vpt 0 360 arc closepath } bind def /C11 { BL [] 0 setdash 2 copy moveto 2 copy vpt 0 180 arc closepath fill 2 copy moveto 2 copy vpt 270 360 arc closepath fill vpt 0 360 arc closepath } bind def /C12 { BL [] 0 setdash 2 copy moveto 2 copy vpt 180 360 arc closepath fill vpt 0 360 arc closepath } bind def /C13 { BL [] 0 setdash 2 copy moveto 2 copy vpt 0 90 arc closepath fill 2 copy moveto 2 copy vpt 180 360 arc closepath fill vpt 0 360 arc closepath } bind def /C14 { BL [] 0 setdash 2 copy moveto 2 copy vpt 90 360 arc closepath fill vpt 0 360 arc } bind def /C15 { BL [] 0 setdash 2 copy vpt 0 360 arc closepath fill vpt 0 360 arc closepath } bind def /Rec { newpath 4 2 roll moveto 1 index 0 rlineto 0 exch rlineto neg 0 rlineto closepath } bind def /Square { dup Rec } bind def /Bsquare { vpt sub exch vpt sub exch vpt2 Square } bind def /S0 { BL [] 0 setdash 2 copy moveto 0 vpt rlineto BL Bsquare } bind def /S1 { BL [] 0 setdash 2 copy vpt Square fill Bsquare } bind def /S2 { BL [] 0 setdash 2 copy exch vpt sub exch vpt Square fill Bsquare } bind def /S3 { BL [] 0 setdash 2 copy exch vpt sub exch vpt2 vpt Rec fill Bsquare } bind def /S4 { BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt Square fill Bsquare } bind def /S5 { BL [] 0 setdash 2 copy 2 copy vpt Square fill exch vpt sub exch vpt sub vpt Square fill Bsquare } bind def /S6 { BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt vpt2 Rec fill Bsquare } bind def /S7 { BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt vpt2 Rec fill 2 copy vpt Square fill Bsquare } bind def /S8 { BL [] 0 setdash 2 copy vpt sub vpt Square fill Bsquare } bind def /S9 { BL [] 0 setdash 2 copy vpt sub vpt vpt2 Rec fill Bsquare } bind def /S10 { BL [] 0 setdash 2 copy vpt sub vpt Square fill 2 copy exch vpt sub exch vpt Square fill Bsquare } bind def /S11 { BL [] 0 setdash 2 copy vpt sub vpt Square fill 2 copy exch vpt sub exch vpt2 vpt Rec fill Bsquare } bind def /S12 { BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt2 vpt Rec fill Bsquare } bind def /S13 { BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt2 vpt Rec fill 2 copy vpt Square fill Bsquare } bind def /S14 { BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt2 vpt Rec fill 2 copy exch vpt sub exch vpt Square fill Bsquare } bind def /S15 { BL [] 0 setdash 2 copy Bsquare fill Bsquare } bind def /D0 { gsave translate 45 rotate 0 0 S0 stroke grestore } bind def /D1 { gsave translate 45 rotate 0 0 S1 stroke grestore } bind def /D2 { gsave translate 45 rotate 0 0 S2 stroke grestore } bind def /D3 { gsave translate 45 rotate 0 0 S3 stroke grestore } bind def /D4 { gsave translate 45 rotate 0 0 S4 stroke grestore } bind def /D5 { gsave translate 45 rotate 0 0 S5 stroke grestore } bind def /D6 { gsave translate 45 rotate 0 0 S6 stroke grestore } bind def /D7 { gsave translate 45 rotate 0 0 S7 stroke grestore } bind def /D8 { gsave translate 45 rotate 0 0 S8 stroke grestore } bind def /D9 { gsave translate 45 rotate 0 0 S9 stroke grestore } bind def /D10 { gsave translate 45 rotate 0 0 S10 stroke grestore } bind def /D11 { gsave translate 45 rotate 0 0 S11 stroke grestore } bind def /D12 { gsave translate 45 rotate 0 0 S12 stroke grestore } bind def /D13 { gsave translate 45 rotate 0 0 S13 stroke grestore } bind def /D14 { gsave translate 45 rotate 0 0 S14 stroke grestore } bind def /D15 { gsave translate 45 rotate 0 0 S15 stroke grestore } bind def /DiaE { stroke [] 0 setdash vpt add M hpt neg vpt neg V hpt vpt neg V hpt vpt V hpt neg vpt V closepath stroke } def /BoxE { stroke [] 0 setdash exch hpt sub exch vpt add M 0 vpt2 neg V hpt2 0 V 0 vpt2 V hpt2 neg 0 V closepath stroke } def /TriUE { stroke [] 0 setdash vpt 1.12 mul add M hpt neg vpt -1.62 mul V hpt 2 mul 0 V hpt neg vpt 1.62 mul V closepath stroke } def /TriDE { stroke [] 0 setdash vpt 1.12 mul sub M hpt neg vpt 1.62 mul V hpt 2 mul 0 V hpt neg vpt -1.62 mul V closepath stroke } def /PentE { stroke [] 0 setdash gsave translate 0 hpt M 4 {72 rotate 0 hpt L} repeat closepath stroke grestore } def /CircE { stroke [] 0 setdash hpt 0 360 arc stroke } def /Opaque { gsave closepath 1 setgray fill grestore 0 setgray closepath } def /DiaW { stroke [] 0 setdash vpt add M hpt neg vpt neg V hpt vpt neg V hpt vpt V hpt neg vpt V Opaque stroke } def /BoxW { stroke [] 0 setdash exch hpt sub exch vpt add M 0 vpt2 neg V hpt2 0 V 0 vpt2 V hpt2 neg 0 V Opaque stroke } def /TriUW { stroke [] 0 setdash vpt 1.12 mul add M hpt neg vpt -1.62 mul V hpt 2 mul 0 V hpt neg vpt 1.62 mul V Opaque stroke } def /TriDW { stroke [] 0 setdash vpt 1.12 mul sub M hpt neg vpt 1.62 mul V hpt 2 mul 0 V hpt neg vpt -1.62 mul V Opaque stroke } def /PentW { stroke [] 0 setdash gsave translate 0 hpt M 4 {72 rotate 0 hpt L} repeat Opaque stroke grestore } def /CircW { stroke [] 0 setdash hpt 0 360 arc Opaque stroke } def /BoxFill { gsave Rec 1 setgray fill grestore } def /BoxColFill { gsave Rec /Fillden exch def currentrgbcolor /ColB exch def /ColG exch def /ColR exch def /ColR ColR Fillden mul Fillden sub 1 add def /ColG ColG Fillden mul Fillden sub 1 add def /ColB ColB Fillden mul Fillden sub 1 add def ColR ColG ColB setrgbcolor fill grestore } def % % PostScript Level 1 Pattern Fill routine % Usage: x y w h s a XX PatternFill % x,y = lower left corner of box to be filled % w,h = width and height of box % a = angle in degrees between lines and x-axis % XX = 0/1 for no/yes cross-hatch % /PatternFill { gsave /PFa [ 9 2 roll ] def PFa 0 get PFa 2 get 2 div add PFa 1 get PFa 3 get 2 div add translate PFa 2 get -2 div PFa 3 get -2 div PFa 2 get PFa 3 get Rec gsave 1 setgray fill grestore clip currentlinewidth 0.5 mul setlinewidth /PFs PFa 2 get dup mul PFa 3 get dup mul add sqrt def 0 0 M PFa 5 get rotate PFs -2 div dup translate 0 1 PFs PFa 4 get div 1 add floor cvi { PFa 4 get mul 0 M 0 PFs V } for 0 PFa 6 get ne { 0 1 PFs PFa 4 get div 1 add floor cvi { PFa 4 get mul 0 2 1 roll M PFs 0 V } for } if stroke grestore } def % /Symbol-Oblique /Symbol findfont [1 0 .167 1 0 0] makefont dup length dict begin {1 index /FID eq {pop pop} {def} ifelse} forall currentdict end definefont pop end %%EndProlog gnudict begin gsave 50 50 translate 0.050 0.050 scale 0 setgray newpath (Helvetica) findfont 360 scalefont setfont 1.000 UL LTb 1404 1080 M 63 0 V 5121 0 R -63 0 V -5337 0 R gsave 0 setgray ( 0) Rshow grestore 1.000 UL LTb 1404 1668 M 63 0 V 5121 0 R -63 0 V -5337 0 R gsave 0 setgray ( 1) Rshow grestore 1.000 UL LTb 1404 2256 M 63 0 V 5121 0 R -63 0 V -5337 0 R gsave 0 setgray ( 2) Rshow grestore 1.000 UL LTb 1404 2844 M 63 0 V 5121 0 R -63 0 V -5337 0 R gsave 0 setgray ( 3) Rshow grestore 1.000 UL LTb 1404 3432 M 63 0 V 5121 0 R -63 0 V -5337 0 R gsave 0 setgray ( 4) Rshow grestore 1.000 UL LTb 1404 4020 M 63 0 V 5121 0 R -63 0 V -5337 0 R gsave 0 setgray ( 5) Rshow grestore 1.000 UL LTb 1404 4608 M 63 0 V 5121 0 R -63 0 V -5337 0 R gsave 0 setgray ( 6) Rshow grestore 1.000 UL LTb 1404 1080 M 0 63 V 0 3465 R 0 -63 V 0 -3825 R gsave 0 setgray ( 1) Cshow grestore 1.000 UL LTb 2184 1080 M 0 31 V 0 3497 R 0 -31 V 2641 1080 M 0 31 V 0 3497 R 0 -31 V 2965 1080 M 0 31 V 0 3497 R 0 -31 V 3216 1080 M 0 31 V 0 3497 R 0 -31 V 3421 1080 M 0 31 V 0 3497 R 0 -31 V 3594 1080 M 0 31 V 0 3497 R 0 -31 V 3745 1080 M 0 31 V 0 3497 R 0 -31 V 3877 1080 M 0 31 V 0 3497 R 0 -31 V 3996 1080 M 0 63 V 0 3465 R 0 -63 V 0 -3825 R gsave 0 setgray ( 10) Cshow grestore 1.000 UL LTb 4776 1080 M 0 31 V 0 3497 R 0 -31 V 5233 1080 M 0 31 V 0 3497 R 0 -31 V 5557 1080 M 0 31 V 0 3497 R 0 -31 V 5808 1080 M 0 31 V 0 3497 R 0 -31 V 6013 1080 M 0 31 V 0 3497 R 0 -31 V 6186 1080 M 0 31 V 0 3497 R 0 -31 V 6337 1080 M 0 31 V 0 3497 R 0 -31 V 6469 1080 M 0 31 V 0 3497 R 0 -31 V 6588 1080 M 0 63 V 0 3465 R 0 -63 V 0 -3825 R gsave 0 setgray ( 100) Cshow grestore 1.000 UL LTb 1.000 UL LTb 1404 1080 M 5184 0 V 0 3528 V -5184 0 V 0 -3528 V LTb 360 2844 M gsave 0 setgray currentpoint gsave translate 90 rotate 0 0 M (File transfer time \(s\)) Cshow grestore grestore LTb 3996 180 M gsave 0 setgray (Number of attackers) Cshow grestore 1.000 UP 2.000 UP 1.000 UL LT0 LTb 3780 4365 M gsave 0 setgray (siff) Rshow grestore LT0 3996 4365 M 279 0 V 1404 1265 M 780 0 V 781 0 V 456 1 V 324 1 V 251 435 V 780 501 V 781 721 V 456 482 V 324 98 V 251 66 V 1404 1265 Star 2184 1265 Star 2965 1265 Star 3421 1266 Star 3745 1267 Star 3996 1702 Star 4776 2203 Star 5557 2924 Star 6013 3406 Star 6337 3504 Star 6588 3570 Star 4135 4365 Star 2.000 UP 1.000 UL LT1 LTb 3780 4005 M gsave 0 setgray (our design) Rshow grestore LT1 3996 4005 M 279 0 V 1404 1264 M 780 0 V 781 0 V 456 0 V 324 0 V 251 0 V 780 0 V 781 0 V 456 1 V 324 0 V 251 0 V 1404 1264 Pls 2184 1264 Pls 2965 1264 Pls 3421 1264 Pls 3745 1264 Pls 3996 1264 Pls 4776 1264 Pls 5557 1264 Pls 6013 1265 Pls 6337 1265 Pls 6588 1265 Pls 4135 4005 Pls 1.000 UL LTb 1404 1080 M 5184 0 V 0 3528 V -5184 0 V 0 -3528 V 1.000 UP stroke grestore end showpage %%Trailer %%DocumentFonts: Helvetica %%EndDocument @endspecial 2000 2283 a Fn(Figur)o(e)33 b(8:)104 b Fm(Request)28 b(pack)o(et)g(\003ooding)h(does)e(not)h(incr)o(ease)h(the)f(\002le)2000 2374 y(transfer)18 b(time)g(or)f(decr)o(ease)i(the)e(completion)j(rate) d(with)h(our)f(design.)2000 2633 y Fr(we)30 b(see)h(in)f(Figure)g(7:)45 b(the)30 b(fraction)f(of)h(completed)e(transfers)2000 2725 y(quickly)22 b(approaches)f(to)j(zero.)34 b(The)24 b(fe)n(w)f(completed)f(requests)2000 2816 y(ha)n(v)o(e)f(a)i (completion)d(time)i(hundreds)e(of)i(seconds,)f(and)h(are)g(out)2000 2907 y(of)e(the)g(y-axis)g(scope)f(in)i(Figure)e(7.)2000 3079 y Fs(5.2)99 b(Request)26 b(P)o(ack)o(et)g(Flood)2075 3195 y Fr(The)f(ne)o(xt)g(scenario)g(we)h(consider)f(is)h(that)g(of)g (each)f(attack)o(er)2000 3286 y(\003ooding)30 b(the)j(destination)e (with)h(request)f(pack)o(ets)h(at)h(1Mb/s.)2000 3377 y(W)m(ith)21 b(our)f(design,)g(request)g(pack)o(ets)g(are)h(rate)f (limited)h(and)f(will)2000 3469 y(not)25 b(reduce)f(the)i(a)n(v)n (ailable)f(capacity)g(for)g(authorized)e(pack)o(ets.)2000 3560 y(Requests)c(from)f(attack)o(ers)h(and)f(le)o(gitimate)g(clients)h (are)g(queued)2000 3651 y(separately)-5 b(,)24 b(so)i(that)f(e)o (xcessi)n(v)o(e)f(requests)g(from)g(attack)o(ers)h(will)2000 3743 y(be)15 b(dropped)e(without)h(causing)h(requests)g(from)f(le)o (gitimate)g(clients)2000 3834 y(to)29 b(be)f(dropped.)48 b(W)-7 b(e)29 b(see)g(this)g(in)g(Figure)f(8:)42 b(the)29 b(fraction)e(of)2000 3925 y(completions)20 b(does)i(not)g(drop)e(and)i (the)g(transfer)f(time)h(does)g(not)2000 4017 y(increase.)47 b(In)27 b(contrast,)i(the)f(results)g(for)f(SIFF)i(are)e(similar)h(to) 2000 4108 y(those)j(for)f(le)o(gac)o(y)g(pack)o(ets)g(\003oods,)k(as)d (SIFF)h(treats)g(both)e(re-)2000 4199 y(quests)20 b(and)g(le)o(gac)o(y) e(traf)n(\002c)i(as)h(lo)n(w)f(priority)f(traf)n(\002c.)2000 4371 y Fs(5.3)99 b(A)-5 b(uthorized)26 b(T)-7 b(raf\002c)26 b(Floods)2075 4487 y Fr(Strate)o(gic)e(attack)o(ers)h(will)h(realize)f (that)g(it)h(is)g(more)e(ef)n(fecti)n(v)o(e)2000 4578 y(to)e(collude)g(when)g(paths)g(can)h(be)f(found)f(that)h(share)h(the)f (bottle-)2000 4669 y(neck)30 b(link)g(with)h(the)f(destination.)55 b(The)30 b(colluders)g(grant)g(ca-)2000 4761 y(pabilities)23 b(to)g(requests)g(from)f(attack)o(ers,)i(allo)n(wing)e(the)h(attack-) 2000 4852 y(ers)f(to)g(send)f(authorized)f(traf)n(\002c)h(at)h(their)f (maximum)f(rate.)30 b(Fig-)2000 4943 y(ure)h(9)g(sho)n(ws)g(the)h (results)f(under)f(this)i(attack.)58 b(Because)31 b(our)2000 5035 y(design)f(allocates)h(bandwidth)e(approximately)f(f)o(airly)j (among)2000 5126 y(all)e(senders,)g(this)g(attack)g(resembles)e(a)i (\003ash)g(cro)n(wd.)48 b(As)30 b(the)2000 5217 y(number)20 b(of)i(attack)o(ers)g(increases,)g(each)f(user)h(gets)h(a)f(lesser)h(b) n(ut)2000 5309 y(f)o(air)h(share)h(of)f(the)g(bandwidth,)g(and)g(no)g (user)g(is)i(starv)o(ed)d(so)i(all)2000 5400 y(user)d(requests)g (complete.)30 b(When)23 b(the)f(f)o(air)g(share)g(decreases)g(to)1908 5649 y(10)p eop end %%Page: 11 11 TeXDict begin 11 10 bop 200 1050 a @beginspecial 50 @llx 50 @lly 410 @urx 302 @ury 1800 @rwi @setspecial %%BeginDocument: figures/auth-rate.eps %!PS-Adobe-2.0 EPSF-2.0 %%Title: auth-rate.eps %%Creator: gnuplot 4.0 patchlevel 0 %%CreationDate: Mon Feb 7 21:20:23 2005 %%DocumentFonts: (atend) %%BoundingBox: 50 50 410 302 %%Orientation: Portrait %%EndComments /gnudict 256 dict def gnudict begin /Color false def /Solid false def /gnulinewidth 5.000 def /userlinewidth gnulinewidth def /vshift -120 def /dl {10.0 mul} def /hpt_ 31.5 def /vpt_ 31.5 def /hpt hpt_ def /vpt vpt_ def /Rounded false def /M {moveto} bind def /L {lineto} bind def /R {rmoveto} bind def /V {rlineto} bind def /N {newpath moveto} bind def /C {setrgbcolor} bind def /f {rlineto fill} bind def /vpt2 vpt 2 mul def /hpt2 hpt 2 mul def /Lshow { currentpoint stroke M 0 vshift R show } def /Rshow { currentpoint stroke M dup stringwidth pop neg vshift R show } def /Cshow { currentpoint stroke M dup stringwidth pop -2 div vshift R show } def /UP { dup vpt_ mul /vpt exch def hpt_ mul /hpt exch def /hpt2 hpt 2 mul def /vpt2 vpt 2 mul def } def /DL { Color {setrgbcolor Solid {pop []} if 0 setdash } {pop pop pop 0 setgray Solid {pop []} if 0 setdash} ifelse } def /BL { stroke userlinewidth 2 mul setlinewidth Rounded { 1 setlinejoin 1 setlinecap } if } def /AL { stroke userlinewidth 2 div setlinewidth Rounded { 1 setlinejoin 1 setlinecap } if } def /UL { dup gnulinewidth mul /userlinewidth exch def dup 1 lt {pop 1} if 10 mul /udl exch def } def /PL { stroke userlinewidth setlinewidth Rounded { 1 setlinejoin 1 setlinecap } if } def /LTw { PL [] 1 setgray } def /LTb { BL [] 0 0 0 DL } def /LTa { AL [1 udl mul 2 udl mul] 0 setdash 0 0 0 setrgbcolor } def /LT0 { PL [] 1 0 0 DL } def /LT1 { PL [4 dl 2 dl] 0 1 0 DL } def /LT2 { PL [2 dl 3 dl] 0 0 1 DL } def /LT3 { PL [1 dl 1.5 dl] 1 0 1 DL } def /LT4 { PL [5 dl 2 dl 1 dl 2 dl] 0 1 1 DL } def /LT5 { PL [4 dl 3 dl 1 dl 3 dl] 1 1 0 DL } def /LT6 { PL [2 dl 2 dl 2 dl 4 dl] 0 0 0 DL } def /LT7 { PL [2 dl 2 dl 2 dl 2 dl 2 dl 4 dl] 1 0.3 0 DL } def /LT8 { PL [2 dl 2 dl 2 dl 2 dl 2 dl 2 dl 2 dl 4 dl] 0.5 0.5 0.5 DL } def /Pnt { stroke [] 0 setdash gsave 1 setlinecap M 0 0 V stroke grestore } def /Dia { stroke [] 0 setdash 2 copy vpt add M hpt neg vpt neg V hpt vpt neg V hpt vpt V hpt neg vpt V closepath stroke Pnt } def /Pls { stroke [] 0 setdash vpt sub M 0 vpt2 V currentpoint stroke M hpt neg vpt neg R hpt2 0 V stroke } def /Box { stroke [] 0 setdash 2 copy exch hpt sub exch vpt add M 0 vpt2 neg V hpt2 0 V 0 vpt2 V hpt2 neg 0 V closepath stroke Pnt } def /Crs { stroke [] 0 setdash exch hpt sub exch vpt add M hpt2 vpt2 neg V currentpoint stroke M hpt2 neg 0 R hpt2 vpt2 V stroke } def /TriU { stroke [] 0 setdash 2 copy vpt 1.12 mul add M hpt neg vpt -1.62 mul V hpt 2 mul 0 V hpt neg vpt 1.62 mul V closepath stroke Pnt } def /Star { 2 copy Pls Crs } def /BoxF { stroke [] 0 setdash exch hpt sub exch vpt add M 0 vpt2 neg V hpt2 0 V 0 vpt2 V hpt2 neg 0 V closepath fill } def /TriUF { stroke [] 0 setdash vpt 1.12 mul add M hpt neg vpt -1.62 mul V hpt 2 mul 0 V hpt neg vpt 1.62 mul V closepath fill } def /TriD { stroke [] 0 setdash 2 copy vpt 1.12 mul sub M hpt neg vpt 1.62 mul V hpt 2 mul 0 V hpt neg vpt -1.62 mul V closepath stroke Pnt } def /TriDF { stroke [] 0 setdash vpt 1.12 mul sub M hpt neg vpt 1.62 mul V hpt 2 mul 0 V hpt neg vpt -1.62 mul V closepath fill} def /DiaF { stroke [] 0 setdash vpt add M hpt neg vpt neg V hpt vpt neg V hpt vpt V hpt neg vpt V closepath fill } def /Pent { stroke [] 0 setdash 2 copy gsave translate 0 hpt M 4 {72 rotate 0 hpt L} repeat closepath stroke grestore Pnt } def /PentF { stroke [] 0 setdash gsave translate 0 hpt M 4 {72 rotate 0 hpt L} repeat closepath fill grestore } def /Circle { stroke [] 0 setdash 2 copy hpt 0 360 arc stroke Pnt } def /CircleF { stroke [] 0 setdash hpt 0 360 arc fill } def /C0 { BL [] 0 setdash 2 copy moveto vpt 90 450 arc } bind def /C1 { BL [] 0 setdash 2 copy moveto 2 copy vpt 0 90 arc closepath fill vpt 0 360 arc closepath } bind def /C2 { BL [] 0 setdash 2 copy moveto 2 copy vpt 90 180 arc closepath fill vpt 0 360 arc closepath } bind def /C3 { BL [] 0 setdash 2 copy moveto 2 copy vpt 0 180 arc closepath fill vpt 0 360 arc closepath } bind def /C4 { BL [] 0 setdash 2 copy moveto 2 copy vpt 180 270 arc closepath fill vpt 0 360 arc closepath } bind def /C5 { BL [] 0 setdash 2 copy moveto 2 copy vpt 0 90 arc 2 copy moveto 2 copy vpt 180 270 arc closepath fill vpt 0 360 arc } bind def /C6 { BL [] 0 setdash 2 copy moveto 2 copy vpt 90 270 arc closepath fill vpt 0 360 arc closepath } bind def /C7 { BL [] 0 setdash 2 copy moveto 2 copy vpt 0 270 arc closepath fill vpt 0 360 arc closepath } bind def /C8 { BL [] 0 setdash 2 copy moveto 2 copy vpt 270 360 arc closepath fill vpt 0 360 arc closepath } bind def /C9 { BL [] 0 setdash 2 copy moveto 2 copy vpt 270 450 arc closepath fill vpt 0 360 arc closepath } bind def /C10 { BL [] 0 setdash 2 copy 2 copy moveto vpt 270 360 arc closepath fill 2 copy moveto 2 copy vpt 90 180 arc closepath fill vpt 0 360 arc closepath } bind def /C11 { BL [] 0 setdash 2 copy moveto 2 copy vpt 0 180 arc closepath fill 2 copy moveto 2 copy vpt 270 360 arc closepath fill vpt 0 360 arc closepath } bind def /C12 { BL [] 0 setdash 2 copy moveto 2 copy vpt 180 360 arc closepath fill vpt 0 360 arc closepath } bind def /C13 { BL [] 0 setdash 2 copy moveto 2 copy vpt 0 90 arc closepath fill 2 copy moveto 2 copy vpt 180 360 arc closepath fill vpt 0 360 arc closepath } bind def /C14 { BL [] 0 setdash 2 copy moveto 2 copy vpt 90 360 arc closepath fill vpt 0 360 arc } bind def /C15 { BL [] 0 setdash 2 copy vpt 0 360 arc closepath fill vpt 0 360 arc closepath } bind def /Rec { newpath 4 2 roll moveto 1 index 0 rlineto 0 exch rlineto neg 0 rlineto closepath } bind def /Square { dup Rec } bind def /Bsquare { vpt sub exch vpt sub exch vpt2 Square } bind def /S0 { BL [] 0 setdash 2 copy moveto 0 vpt rlineto BL Bsquare } bind def /S1 { BL [] 0 setdash 2 copy vpt Square fill Bsquare } bind def /S2 { BL [] 0 setdash 2 copy exch vpt sub exch vpt Square fill Bsquare } bind def /S3 { BL [] 0 setdash 2 copy exch vpt sub exch vpt2 vpt Rec fill Bsquare } bind def /S4 { BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt Square fill Bsquare } bind def /S5 { BL [] 0 setdash 2 copy 2 copy vpt Square fill exch vpt sub exch vpt sub vpt Square fill Bsquare } bind def /S6 { BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt vpt2 Rec fill Bsquare } bind def /S7 { BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt vpt2 Rec fill 2 copy vpt Square fill Bsquare } bind def /S8 { BL [] 0 setdash 2 copy vpt sub vpt Square fill Bsquare } bind def /S9 { BL [] 0 setdash 2 copy vpt sub vpt vpt2 Rec fill Bsquare } bind def /S10 { BL [] 0 setdash 2 copy vpt sub vpt Square fill 2 copy exch vpt sub exch vpt Square fill Bsquare } bind def /S11 { BL [] 0 setdash 2 copy vpt sub vpt Square fill 2 copy exch vpt sub exch vpt2 vpt Rec fill Bsquare } bind def /S12 { BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt2 vpt Rec fill Bsquare } bind def /S13 { BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt2 vpt Rec fill 2 copy vpt Square fill Bsquare } bind def /S14 { BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt2 vpt Rec fill 2 copy exch vpt sub exch vpt Square fill Bsquare } bind def /S15 { BL [] 0 setdash 2 copy Bsquare fill Bsquare } bind def /D0 { gsave translate 45 rotate 0 0 S0 stroke grestore } bind def /D1 { gsave translate 45 rotate 0 0 S1 stroke grestore } bind def /D2 { gsave translate 45 rotate 0 0 S2 stroke grestore } bind def /D3 { gsave translate 45 rotate 0 0 S3 stroke grestore } bind def /D4 { gsave translate 45 rotate 0 0 S4 stroke grestore } bind def /D5 { gsave translate 45 rotate 0 0 S5 stroke grestore } bind def /D6 { gsave translate 45 rotate 0 0 S6 stroke grestore } bind def /D7 { gsave translate 45 rotate 0 0 S7 stroke grestore } bind def /D8 { gsave translate 45 rotate 0 0 S8 stroke grestore } bind def /D9 { gsave translate 45 rotate 0 0 S9 stroke grestore } bind def /D10 { gsave translate 45 rotate 0 0 S10 stroke grestore } bind def /D11 { gsave translate 45 rotate 0 0 S11 stroke grestore } bind def /D12 { gsave translate 45 rotate 0 0 S12 stroke grestore } bind def /D13 { gsave translate 45 rotate 0 0 S13 stroke grestore } bind def /D14 { gsave translate 45 rotate 0 0 S14 stroke grestore } bind def /D15 { gsave translate 45 rotate 0 0 S15 stroke grestore } bind def /DiaE { stroke [] 0 setdash vpt add M hpt neg vpt neg V hpt vpt neg V hpt vpt V hpt neg vpt V closepath stroke } def /BoxE { stroke [] 0 setdash exch hpt sub exch vpt add M 0 vpt2 neg V hpt2 0 V 0 vpt2 V hpt2 neg 0 V closepath stroke } def /TriUE { stroke [] 0 setdash vpt 1.12 mul add M hpt neg vpt -1.62 mul V hpt 2 mul 0 V hpt neg vpt 1.62 mul V closepath stroke } def /TriDE { stroke [] 0 setdash vpt 1.12 mul sub M hpt neg vpt 1.62 mul V hpt 2 mul 0 V hpt neg vpt -1.62 mul V closepath stroke } def /PentE { stroke [] 0 setdash gsave translate 0 hpt M 4 {72 rotate 0 hpt L} repeat closepath stroke grestore } def /CircE { stroke [] 0 setdash hpt 0 360 arc stroke } def /Opaque { gsave closepath 1 setgray fill grestore 0 setgray closepath } def /DiaW { stroke [] 0 setdash vpt add M hpt neg vpt neg V hpt vpt neg V hpt vpt V hpt neg vpt V Opaque stroke } def /BoxW { stroke [] 0 setdash exch hpt sub exch vpt add M 0 vpt2 neg V hpt2 0 V 0 vpt2 V hpt2 neg 0 V Opaque stroke } def /TriUW { stroke [] 0 setdash vpt 1.12 mul add M hpt neg vpt -1.62 mul V hpt 2 mul 0 V hpt neg vpt 1.62 mul V Opaque stroke } def /TriDW { stroke [] 0 setdash vpt 1.12 mul sub M hpt neg vpt 1.62 mul V hpt 2 mul 0 V hpt neg vpt -1.62 mul V Opaque stroke } def /PentW { stroke [] 0 setdash gsave translate 0 hpt M 4 {72 rotate 0 hpt L} repeat Opaque stroke grestore } def /CircW { stroke [] 0 setdash hpt 0 360 arc Opaque stroke } def /BoxFill { gsave Rec 1 setgray fill grestore } def /BoxColFill { gsave Rec /Fillden exch def currentrgbcolor /ColB exch def /ColG exch def /ColR exch def /ColR ColR Fillden mul Fillden sub 1 add def /ColG ColG Fillden mul Fillden sub 1 add def /ColB ColB Fillden mul Fillden sub 1 add def ColR ColG ColB setrgbcolor fill grestore } def % % PostScript Level 1 Pattern Fill routine % Usage: x y w h s a XX PatternFill % x,y = lower left corner of box to be filled % w,h = width and height of box % a = angle in degrees between lines and x-axis % XX = 0/1 for no/yes cross-hatch % /PatternFill { gsave /PFa [ 9 2 roll ] def PFa 0 get PFa 2 get 2 div add PFa 1 get PFa 3 get 2 div add translate PFa 2 get -2 div PFa 3 get -2 div PFa 2 get PFa 3 get Rec gsave 1 setgray fill grestore clip currentlinewidth 0.5 mul setlinewidth /PFs PFa 2 get dup mul PFa 3 get dup mul add sqrt def 0 0 M PFa 5 get rotate PFs -2 div dup translate 0 1 PFs PFa 4 get div 1 add floor cvi { PFa 4 get mul 0 M 0 PFs V } for 0 PFa 6 get ne { 0 1 PFs PFa 4 get div 1 add floor cvi { PFa 4 get mul 0 2 1 roll M PFs 0 V } for } if stroke grestore } def % /Symbol-Oblique /Symbol findfont [1 0 .167 1 0 0] makefont dup length dict begin {1 index /FID eq {pop pop} {def} ifelse} forall currentdict end definefont pop end %%EndProlog gnudict begin gsave 50 50 translate 0.050 0.050 scale 0 setgray newpath (Helvetica) findfont 360 scalefont setfont 1.000 UL LTb 1836 1080 M 63 0 V 4689 0 R -63 0 V -4905 0 R gsave 0 setgray ( 0) Rshow grestore 1.000 UL LTb 1836 1721 M 63 0 V 4689 0 R -63 0 V -4905 0 R gsave 0 setgray ( 0.2) Rshow grestore 1.000 UL LTb 1836 2363 M 63 0 V 4689 0 R -63 0 V -4905 0 R gsave 0 setgray ( 0.4) Rshow grestore 1.000 UL LTb 1836 3004 M 63 0 V 4689 0 R -63 0 V -4905 0 R gsave 0 setgray ( 0.6) Rshow grestore 1.000 UL LTb 1836 3646 M 63 0 V 4689 0 R -63 0 V -4905 0 R gsave 0 setgray ( 0.8) Rshow grestore 1.000 UL LTb 1836 4287 M 63 0 V 4689 0 R -63 0 V -4905 0 R gsave 0 setgray ( 1) Rshow grestore 1.000 UL LTb 1836 1080 M 0 63 V 0 3465 R 0 -63 V 0 -3825 R gsave 0 setgray ( 1) Cshow grestore 1.000 UL LTb 2551 1080 M 0 31 V 0 3497 R 0 -31 V 2970 1080 M 0 31 V 0 3497 R 0 -31 V 3266 1080 M 0 31 V 0 3497 R 0 -31 V 3497 1080 M 0 31 V 0 3497 R 0 -31 V 3685 1080 M 0 31 V 0 3497 R 0 -31 V 3844 1080 M 0 31 V 0 3497 R 0 -31 V 3982 1080 M 0 31 V 0 3497 R 0 -31 V 4103 1080 M 0 31 V 0 3497 R 0 -31 V 4212 1080 M 0 63 V 0 3465 R 0 -63 V 0 -3825 R gsave 0 setgray ( 10) Cshow grestore 1.000 UL LTb 4927 1080 M 0 31 V 0 3497 R 0 -31 V 5346 1080 M 0 31 V 0 3497 R 0 -31 V 5642 1080 M 0 31 V 0 3497 R 0 -31 V 5873 1080 M 0 31 V 0 3497 R 0 -31 V 6061 1080 M 0 31 V 0 3497 R 0 -31 V 6220 1080 M 0 31 V 0 3497 R 0 -31 V 6358 1080 M 0 31 V 0 3497 R 0 -31 V 6479 1080 M 0 31 V 0 3497 R 0 -31 V 6588 1080 M 0 63 V 0 3465 R 0 -63 V 0 -3825 R gsave 0 setgray ( 100) Cshow grestore 1.000 UL LTb 1.000 UL LTb 1836 1080 M 4752 0 V 0 3528 V -4752 0 V 0 -3528 V LTb 360 2844 M gsave 0 setgray currentpoint gsave translate 90 rotate 0 0 M (Fraction of completion) Cshow grestore grestore LTb 4212 180 M gsave 0 setgray (Number of attackers) Cshow grestore 1.000 UP 2.000 UP 1.000 UL LT0 LTb 6004 3646 M gsave 0 setgray (siff) Rshow grestore LT0 6220 3646 M 279 0 V 1836 4287 M 715 0 V 715 0 V 419 0 V 297 0 V 4212 1096 L 715 -16 V 715 0 V 419 0 V 297 0 V 230 0 V 1836 4287 Star 2551 4287 Star 3266 4287 Star 3685 4287 Star 3982 4287 Star 4212 1096 Star 4927 1080 Star 5642 1080 Star 6061 1080 Star 6358 1080 Star 6588 1080 Star 6359 3646 Star 2.000 UP 1.000 UL LT1 LTb 6004 3286 M gsave 0 setgray (our design) Rshow grestore LT1 6220 3286 M 279 0 V 1836 4287 M 715 0 V 715 0 V 419 0 V 297 0 V 230 0 V 715 0 V 715 0 V 419 0 V 297 0 V 230 0 V 1836 4287 Pls 2551 4287 Pls 3266 4287 Pls 3685 4287 Pls 3982 4287 Pls 4212 4287 Pls 4927 4287 Pls 5642 4287 Pls 6061 4287 Pls 6358 4287 Pls 6588 4287 Pls 6359 3286 Pls 1.000 UL LTb 1836 1080 M 4752 0 V 0 3528 V -4752 0 V 0 -3528 V 1.000 UP stroke grestore end showpage %%Trailer %%DocumentFonts: Helvetica %%EndDocument @endspecial 1058 x @beginspecial 50 @llx 50 @lly 410 @urx 302 @ury 1800 @rwi @setspecial %%BeginDocument: figures/auth-time.eps %!PS-Adobe-2.0 EPSF-2.0 %%Title: auth-time.eps %%Creator: gnuplot 4.0 patchlevel 0 %%CreationDate: Mon Feb 7 21:20:23 2005 %%DocumentFonts: (atend) %%BoundingBox: 50 50 410 302 %%Orientation: Portrait %%EndComments /gnudict 256 dict def gnudict begin /Color false def /Solid false def /gnulinewidth 5.000 def /userlinewidth gnulinewidth def /vshift -120 def /dl {10.0 mul} def /hpt_ 31.5 def /vpt_ 31.5 def /hpt hpt_ def /vpt vpt_ def /Rounded false def /M {moveto} bind def /L {lineto} bind def /R {rmoveto} bind def /V {rlineto} bind def /N {newpath moveto} bind def /C {setrgbcolor} bind def /f {rlineto fill} bind def /vpt2 vpt 2 mul def /hpt2 hpt 2 mul def /Lshow { currentpoint stroke M 0 vshift R show } def /Rshow { currentpoint stroke M dup stringwidth pop neg vshift R show } def /Cshow { currentpoint stroke M dup stringwidth pop -2 div vshift R show } def /UP { dup vpt_ mul /vpt exch def hpt_ mul /hpt exch def /hpt2 hpt 2 mul def /vpt2 vpt 2 mul def } def /DL { Color {setrgbcolor Solid {pop []} if 0 setdash } {pop pop pop 0 setgray Solid {pop []} if 0 setdash} ifelse } def /BL { stroke userlinewidth 2 mul setlinewidth Rounded { 1 setlinejoin 1 setlinecap } if } def /AL { stroke userlinewidth 2 div setlinewidth Rounded { 1 setlinejoin 1 setlinecap } if } def /UL { dup gnulinewidth mul /userlinewidth exch def dup 1 lt {pop 1} if 10 mul /udl exch def } def /PL { stroke userlinewidth setlinewidth Rounded { 1 setlinejoin 1 setlinecap } if } def /LTw { PL [] 1 setgray } def /LTb { BL [] 0 0 0 DL } def /LTa { AL [1 udl mul 2 udl mul] 0 setdash 0 0 0 setrgbcolor } def /LT0 { PL [] 1 0 0 DL } def /LT1 { PL [4 dl 2 dl] 0 1 0 DL } def /LT2 { PL [2 dl 3 dl] 0 0 1 DL } def /LT3 { PL [1 dl 1.5 dl] 1 0 1 DL } def /LT4 { PL [5 dl 2 dl 1 dl 2 dl] 0 1 1 DL } def /LT5 { PL [4 dl 3 dl 1 dl 3 dl] 1 1 0 DL } def /LT6 { PL [2 dl 2 dl 2 dl 4 dl] 0 0 0 DL } def /LT7 { PL [2 dl 2 dl 2 dl 2 dl 2 dl 4 dl] 1 0.3 0 DL } def /LT8 { PL [2 dl 2 dl 2 dl 2 dl 2 dl 2 dl 2 dl 4 dl] 0.5 0.5 0.5 DL } def /Pnt { stroke [] 0 setdash gsave 1 setlinecap M 0 0 V stroke grestore } def /Dia { stroke [] 0 setdash 2 copy vpt add M hpt neg vpt neg V hpt vpt neg V hpt vpt V hpt neg vpt V closepath stroke Pnt } def /Pls { stroke [] 0 setdash vpt sub M 0 vpt2 V currentpoint stroke M hpt neg vpt neg R hpt2 0 V stroke } def /Box { stroke [] 0 setdash 2 copy exch hpt sub exch vpt add M 0 vpt2 neg V hpt2 0 V 0 vpt2 V hpt2 neg 0 V closepath stroke Pnt } def /Crs { stroke [] 0 setdash exch hpt sub exch vpt add M hpt2 vpt2 neg V currentpoint stroke M hpt2 neg 0 R hpt2 vpt2 V stroke } def /TriU { stroke [] 0 setdash 2 copy vpt 1.12 mul add M hpt neg vpt -1.62 mul V hpt 2 mul 0 V hpt neg vpt 1.62 mul V closepath stroke Pnt } def /Star { 2 copy Pls Crs } def /BoxF { stroke [] 0 setdash exch hpt sub exch vpt add M 0 vpt2 neg V hpt2 0 V 0 vpt2 V hpt2 neg 0 V closepath fill } def /TriUF { stroke [] 0 setdash vpt 1.12 mul add M hpt neg vpt -1.62 mul V hpt 2 mul 0 V hpt neg vpt 1.62 mul V closepath fill } def /TriD { stroke [] 0 setdash 2 copy vpt 1.12 mul sub M hpt neg vpt 1.62 mul V hpt 2 mul 0 V hpt neg vpt -1.62 mul V closepath stroke Pnt } def /TriDF { stroke [] 0 setdash vpt 1.12 mul sub M hpt neg vpt 1.62 mul V hpt 2 mul 0 V hpt neg vpt -1.62 mul V closepath fill} def /DiaF { stroke [] 0 setdash vpt add M hpt neg vpt neg V hpt vpt neg V hpt vpt V hpt neg vpt V closepath fill } def /Pent { stroke [] 0 setdash 2 copy gsave translate 0 hpt M 4 {72 rotate 0 hpt L} repeat closepath stroke grestore Pnt } def /PentF { stroke [] 0 setdash gsave translate 0 hpt M 4 {72 rotate 0 hpt L} repeat closepath fill grestore } def /Circle { stroke [] 0 setdash 2 copy hpt 0 360 arc stroke Pnt } def /CircleF { stroke [] 0 setdash hpt 0 360 arc fill } def /C0 { BL [] 0 setdash 2 copy moveto vpt 90 450 arc } bind def /C1 { BL [] 0 setdash 2 copy moveto 2 copy vpt 0 90 arc closepath fill vpt 0 360 arc closepath } bind def /C2 { BL [] 0 setdash 2 copy moveto 2 copy vpt 90 180 arc closepath fill vpt 0 360 arc closepath } bind def /C3 { BL [] 0 setdash 2 copy moveto 2 copy vpt 0 180 arc closepath fill vpt 0 360 arc closepath } bind def /C4 { BL [] 0 setdash 2 copy moveto 2 copy vpt 180 270 arc closepath fill vpt 0 360 arc closepath } bind def /C5 { BL [] 0 setdash 2 copy moveto 2 copy vpt 0 90 arc 2 copy moveto 2 copy vpt 180 270 arc closepath fill vpt 0 360 arc } bind def /C6 { BL [] 0 setdash 2 copy moveto 2 copy vpt 90 270 arc closepath fill vpt 0 360 arc closepath } bind def /C7 { BL [] 0 setdash 2 copy moveto 2 copy vpt 0 270 arc closepath fill vpt 0 360 arc closepath } bind def /C8 { BL [] 0 setdash 2 copy moveto 2 copy vpt 270 360 arc closepath fill vpt 0 360 arc closepath } bind def /C9 { BL [] 0 setdash 2 copy moveto 2 copy vpt 270 450 arc closepath fill vpt 0 360 arc closepath } bind def /C10 { BL [] 0 setdash 2 copy 2 copy moveto vpt 270 360 arc closepath fill 2 copy moveto 2 copy vpt 90 180 arc closepath fill vpt 0 360 arc closepath } bind def /C11 { BL [] 0 setdash 2 copy moveto 2 copy vpt 0 180 arc closepath fill 2 copy moveto 2 copy vpt 270 360 arc closepath fill vpt 0 360 arc closepath } bind def /C12 { BL [] 0 setdash 2 copy moveto 2 copy vpt 180 360 arc closepath fill vpt 0 360 arc closepath } bind def /C13 { BL [] 0 setdash 2 copy moveto 2 copy vpt 0 90 arc closepath fill 2 copy moveto 2 copy vpt 180 360 arc closepath fill vpt 0 360 arc closepath } bind def /C14 { BL [] 0 setdash 2 copy moveto 2 copy vpt 90 360 arc closepath fill vpt 0 360 arc } bind def /C15 { BL [] 0 setdash 2 copy vpt 0 360 arc closepath fill vpt 0 360 arc closepath } bind def /Rec { newpath 4 2 roll moveto 1 index 0 rlineto 0 exch rlineto neg 0 rlineto closepath } bind def /Square { dup Rec } bind def /Bsquare { vpt sub exch vpt sub exch vpt2 Square } bind def /S0 { BL [] 0 setdash 2 copy moveto 0 vpt rlineto BL Bsquare } bind def /S1 { BL [] 0 setdash 2 copy vpt Square fill Bsquare } bind def /S2 { BL [] 0 setdash 2 copy exch vpt sub exch vpt Square fill Bsquare } bind def /S3 { BL [] 0 setdash 2 copy exch vpt sub exch vpt2 vpt Rec fill Bsquare } bind def /S4 { BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt Square fill Bsquare } bind def /S5 { BL [] 0 setdash 2 copy 2 copy vpt Square fill exch vpt sub exch vpt sub vpt Square fill Bsquare } bind def /S6 { BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt vpt2 Rec fill Bsquare } bind def /S7 { BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt vpt2 Rec fill 2 copy vpt Square fill Bsquare } bind def /S8 { BL [] 0 setdash 2 copy vpt sub vpt Square fill Bsquare } bind def /S9 { BL [] 0 setdash 2 copy vpt sub vpt vpt2 Rec fill Bsquare } bind def /S10 { BL [] 0 setdash 2 copy vpt sub vpt Square fill 2 copy exch vpt sub exch vpt Square fill Bsquare } bind def /S11 { BL [] 0 setdash 2 copy vpt sub vpt Square fill 2 copy exch vpt sub exch vpt2 vpt Rec fill Bsquare } bind def /S12 { BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt2 vpt Rec fill Bsquare } bind def /S13 { BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt2 vpt Rec fill 2 copy vpt Square fill Bsquare } bind def /S14 { BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt2 vpt Rec fill 2 copy exch vpt sub exch vpt Square fill Bsquare } bind def /S15 { BL [] 0 setdash 2 copy Bsquare fill Bsquare } bind def /D0 { gsave translate 45 rotate 0 0 S0 stroke grestore } bind def /D1 { gsave translate 45 rotate 0 0 S1 stroke grestore } bind def /D2 { gsave translate 45 rotate 0 0 S2 stroke grestore } bind def /D3 { gsave translate 45 rotate 0 0 S3 stroke grestore } bind def /D4 { gsave translate 45 rotate 0 0 S4 stroke grestore } bind def /D5 { gsave translate 45 rotate 0 0 S5 stroke grestore } bind def /D6 { gsave translate 45 rotate 0 0 S6 stroke grestore } bind def /D7 { gsave translate 45 rotate 0 0 S7 stroke grestore } bind def /D8 { gsave translate 45 rotate 0 0 S8 stroke grestore } bind def /D9 { gsave translate 45 rotate 0 0 S9 stroke grestore } bind def /D10 { gsave translate 45 rotate 0 0 S10 stroke grestore } bind def /D11 { gsave translate 45 rotate 0 0 S11 stroke grestore } bind def /D12 { gsave translate 45 rotate 0 0 S12 stroke grestore } bind def /D13 { gsave translate 45 rotate 0 0 S13 stroke grestore } bind def /D14 { gsave translate 45 rotate 0 0 S14 stroke grestore } bind def /D15 { gsave translate 45 rotate 0 0 S15 stroke grestore } bind def /DiaE { stroke [] 0 setdash vpt add M hpt neg vpt neg V hpt vpt neg V hpt vpt V hpt neg vpt V closepath stroke } def /BoxE { stroke [] 0 setdash exch hpt sub exch vpt add M 0 vpt2 neg V hpt2 0 V 0 vpt2 V hpt2 neg 0 V closepath stroke } def /TriUE { stroke [] 0 setdash vpt 1.12 mul add M hpt neg vpt -1.62 mul V hpt 2 mul 0 V hpt neg vpt 1.62 mul V closepath stroke } def /TriDE { stroke [] 0 setdash vpt 1.12 mul sub M hpt neg vpt 1.62 mul V hpt 2 mul 0 V hpt neg vpt -1.62 mul V closepath stroke } def /PentE { stroke [] 0 setdash gsave translate 0 hpt M 4 {72 rotate 0 hpt L} repeat closepath stroke grestore } def /CircE { stroke [] 0 setdash hpt 0 360 arc stroke } def /Opaque { gsave closepath 1 setgray fill grestore 0 setgray closepath } def /DiaW { stroke [] 0 setdash vpt add M hpt neg vpt neg V hpt vpt neg V hpt vpt V hpt neg vpt V Opaque stroke } def /BoxW { stroke [] 0 setdash exch hpt sub exch vpt add M 0 vpt2 neg V hpt2 0 V 0 vpt2 V hpt2 neg 0 V Opaque stroke } def /TriUW { stroke [] 0 setdash vpt 1.12 mul add M hpt neg vpt -1.62 mul V hpt 2 mul 0 V hpt neg vpt 1.62 mul V Opaque stroke } def /TriDW { stroke [] 0 setdash vpt 1.12 mul sub M hpt neg vpt 1.62 mul V hpt 2 mul 0 V hpt neg vpt -1.62 mul V Opaque stroke } def /PentW { stroke [] 0 setdash gsave translate 0 hpt M 4 {72 rotate 0 hpt L} repeat Opaque stroke grestore } def /CircW { stroke [] 0 setdash hpt 0 360 arc Opaque stroke } def /BoxFill { gsave Rec 1 setgray fill grestore } def /BoxColFill { gsave Rec /Fillden exch def currentrgbcolor /ColB exch def /ColG exch def /ColR exch def /ColR ColR Fillden mul Fillden sub 1 add def /ColG ColG Fillden mul Fillden sub 1 add def /ColB ColB Fillden mul Fillden sub 1 add def ColR ColG ColB setrgbcolor fill grestore } def % % PostScript Level 1 Pattern Fill routine % Usage: x y w h s a XX PatternFill % x,y = lower left corner of box to be filled % w,h = width and height of box % a = angle in degrees between lines and x-axis % XX = 0/1 for no/yes cross-hatch % /PatternFill { gsave /PFa [ 9 2 roll ] def PFa 0 get PFa 2 get 2 div add PFa 1 get PFa 3 get 2 div add translate PFa 2 get -2 div PFa 3 get -2 div PFa 2 get PFa 3 get Rec gsave 1 setgray fill grestore clip currentlinewidth 0.5 mul setlinewidth /PFs PFa 2 get dup mul PFa 3 get dup mul add sqrt def 0 0 M PFa 5 get rotate PFs -2 div dup translate 0 1 PFs PFa 4 get div 1 add floor cvi { PFa 4 get mul 0 M 0 PFs V } for 0 PFa 6 get ne { 0 1 PFs PFa 4 get div 1 add floor cvi { PFa 4 get mul 0 2 1 roll M PFs 0 V } for } if stroke grestore } def % /Symbol-Oblique /Symbol findfont [1 0 .167 1 0 0] makefont dup length dict begin {1 index /FID eq {pop pop} {def} ifelse} forall currentdict end definefont pop end %%EndProlog gnudict begin gsave 50 50 translate 0.050 0.050 scale 0 setgray newpath (Helvetica) findfont 360 scalefont setfont 1.000 UL LTb 1404 1080 M 63 0 V 5121 0 R -63 0 V -5337 0 R gsave 0 setgray ( 0) Rshow grestore 1.000 UL LTb 1404 1668 M 63 0 V 5121 0 R -63 0 V -5337 0 R gsave 0 setgray ( 1) Rshow grestore 1.000 UL LTb 1404 2256 M 63 0 V 5121 0 R -63 0 V -5337 0 R gsave 0 setgray ( 2) Rshow grestore 1.000 UL LTb 1404 2844 M 63 0 V 5121 0 R -63 0 V -5337 0 R gsave 0 setgray ( 3) Rshow grestore 1.000 UL LTb 1404 3432 M 63 0 V 5121 0 R -63 0 V -5337 0 R gsave 0 setgray ( 4) Rshow grestore 1.000 UL LTb 1404 4020 M 63 0 V 5121 0 R -63 0 V -5337 0 R gsave 0 setgray ( 5) Rshow grestore 1.000 UL LTb 1404 4608 M 63 0 V 5121 0 R -63 0 V -5337 0 R gsave 0 setgray ( 6) Rshow grestore 1.000 UL LTb 1404 1080 M 0 63 V 0 3465 R 0 -63 V 0 -3825 R gsave 0 setgray ( 1) Cshow grestore 1.000 UL LTb 2184 1080 M 0 31 V 0 3497 R 0 -31 V 2641 1080 M 0 31 V 0 3497 R 0 -31 V 2965 1080 M 0 31 V 0 3497 R 0 -31 V 3216 1080 M 0 31 V 0 3497 R 0 -31 V 3421 1080 M 0 31 V 0 3497 R 0 -31 V 3594 1080 M 0 31 V 0 3497 R 0 -31 V 3745 1080 M 0 31 V 0 3497 R 0 -31 V 3877 1080 M 0 31 V 0 3497 R 0 -31 V 3996 1080 M 0 63 V 0 3465 R 0 -63 V 0 -3825 R gsave 0 setgray ( 10) Cshow grestore 1.000 UL LTb 4776 1080 M 0 31 V 0 3497 R 0 -31 V 5233 1080 M 0 31 V 0 3497 R 0 -31 V 5557 1080 M 0 31 V 0 3497 R 0 -31 V 5808 1080 M 0 31 V 0 3497 R 0 -31 V 6013 1080 M 0 31 V 0 3497 R 0 -31 V 6186 1080 M 0 31 V 0 3497 R 0 -31 V 6337 1080 M 0 31 V 0 3497 R 0 -31 V 6469 1080 M 0 31 V 0 3497 R 0 -31 V 6588 1080 M 0 63 V 0 3465 R 0 -63 V 0 -3825 R gsave 0 setgray ( 100) Cshow grestore 1.000 UL LTb 1.000 UL LTb 1404 1080 M 5184 0 V 0 3528 V -5184 0 V 0 -3528 V LTb 360 2844 M gsave 0 setgray currentpoint gsave translate 90 rotate 0 0 M (File transfer time \(s\)) Cshow grestore grestore LTb 3996 180 M gsave 0 setgray (Number of attackers) Cshow grestore 1.000 UP 2.000 UP 1.000 UL LT0 LTb 5970 4020 M gsave 0 setgray (siff) Rshow grestore LT0 6186 4020 M 279 0 V 1404 1265 M 780 0 V 781 2 V 456 3 V 324 17 V 251 2964 V 1404 1265 Star 2184 1265 Star 2965 1267 Star 3421 1270 Star 3745 1287 Star 3996 4251 Star 6325 4020 Star 2.000 UP 1.000 UL LT1 LTb 5970 3660 M gsave 0 setgray (our design) Rshow grestore LT1 6186 3660 M 279 0 V 1404 1265 M 780 1 V 781 2 V 456 4 V 324 13 V 251 53 V 780 84 V 781 189 V 456 197 V 324 199 V 251 199 V 1404 1265 Pls 2184 1266 Pls 2965 1268 Pls 3421 1272 Pls 3745 1285 Pls 3996 1338 Pls 4776 1422 Pls 5557 1611 Pls 6013 1808 Pls 6337 2007 Pls 6588 2206 Pls 6325 3660 Pls 1.000 UL LTb 1404 1080 M 5184 0 V 0 3528 V -5184 0 V 0 -3528 V 1.000 UP stroke grestore end showpage %%Trailer %%DocumentFonts: Helvetica %%EndDocument @endspecial 0 2283 a Fn(Figur)o(e)27 b(9:)83 b Fm(A)m(uthorized)25 b(pack)o(ets)f(\003ooding)g(r)o(educes)g(the)g(band)o(width)0 2374 y(shar)o(e)c(of)g(legitimate)j(clients.)31 b(The)21 b(\002le)f(transfer)h(time)g(incr)o(eases,)h(b)o(ut)e(the)0 2465 y(fraction)f(of)e(completion)i(r)o(emains)f Fb(100\045)p Fm(.)0 2731 y Fr(the)28 b(point)g(that)g(pack)o(et)g(transmission)g (time)g(rather)g(than)g(TCP)0 2823 y(o)o(v)o(erhead)i(dominates)i (request)g(completion)f(time,)36 b(the)d(com-)0 2914 y(pletion)d(time)i(starts)g(to)f(increase)g(linearly)f(with)h(the)h (number)0 3005 y(of)26 b(attack)o(ers.)42 b(In)26 b(our)g(settings,)h (this)g(occurs)e(when)h(the)g(a)n(v)n(ail-)0 3097 y(able)17 b(bandwidth)e(drops)h(belo)n(w)h(533Kb/s,)f(which)h(occurs)f(when)0 3188 y(the)j(number)e(of)i(attack)o(ers)g(is)h(between)f(8)g(and)f(10.) 25 b(T)-7 b(o)19 b(see)h(these)0 3279 y(ef)n(fects)30 b(more)f(closely)-5 b(,)32 b(we)e(studied)g(ho)n(w)f(the)h(transfer)f (times)0 3371 y(with)19 b(our)f(design)g(increases)h(with)g(both)f (\002le)h(size)h(and)e(the)h(num-)0 3462 y(ber)j(of)h(attack)o(ers.)33 b(The)22 b(results)h(are)g(sho)n(wn)f(in)h(Figure)f(10.)33 b(W)-7 b(e)0 3553 y(see)25 b(that)f(when)g(the)g(number)e(of)i(attack)o (ers)g(increases)g(from)f(10)0 3645 y(to)e(100)f(the)g(bandwidth)f (share)h(of)h(a)g(le)o(gitimate)f(user)g(decreases)0 3736 y(from)g(1/\(10+10\))f(to)i(1/\(10+100\),)d(and)j(the)g(a)n(v)o (erage)f(\002le)i(trans-)0 3827 y(fer)e(time)g(increases)g(5.5)g (times.)75 3919 y(Under)25 b(the)i(same)g(attack)f(with)h(SIFF)-7 b(,)27 b(le)o(gitimate)f(users)h(are)0 4010 y(completely)i(starv)o(ed)h (when)h(the)g(intensity)f(of)h(the)g(attack)f(e)o(x-)0 4101 y(ceeds)f(the)h(bottleneck)e(bandwidth.)51 b(Again,)30 b(this)g(is)g(because)0 4193 y(the)25 b(request)f(pack)o(ets)g(are)h (treated)f(as)h(lo)n(w)g(priority)e(traf)n(\002c)h(and)0 4284 y(are)h(dropped)e(in)i(f)o(a)n(v)n(or)g(of)g(the)g(authorized)e (attack)i(traf)n(\002c.)40 b(W)-7 b(e)0 4375 y(see)36 b(in)f(Figure)g(9)g(that)h(the)f(request)g(completion)e(rate)j(drops)0 4467 y(sharply)19 b(to)g(zero)h(when)f(the)g(attacking)g(bandwidth)f (reaches)h(the)0 4558 y(bottleneck)f(bandwidth)g(of)h(10Mb/s.)24 b(The)c(v)o(ery)e(fe)n(w)i(\002le)g(trans-)0 4649 y(fers)28 b(that)h(complete)e(do)h(so)h(only)f(because)f(of)h(traf)n(\002c)h (\003uctua-)0 4741 y(tions,)f(and)d(suf)n(fer)h(a)g(sharp)g(increase)g (in)g(the)h(a)n(v)o(erage)e(transfer)0 4832 y(time.)0 5010 y Fs(5.4)99 b(Impr)n(ecise)26 b(A)-5 b(uthorization)25 b(P)n(olicies)75 5126 y Fr(Finally)-5 b(,)28 b(we)g(consider)e(the)i (impact)f(of)g(imprecise)g(policies,)0 5217 y(when)15 b(a)g(destination)f(sometimes)h(authorizes)f(attack)o(ers)h(because)0 5309 y(it)i(cannot)e(reliably)g(distinguish)g(between)h(le)o(gitimate)f (users)h(and)0 5400 y(attack)o(ers)26 b(at)h(the)g(time)f(that)h(it)g (recei)n(v)o(es)e(a)i(request;)i(in)e(the)f(re-)2200 1050 y @beginspecial 50 @llx 50 @lly 410 @urx 302 @ury 1800 @rwi @setspecial %%BeginDocument: figures/size.eps %!PS-Adobe-2.0 EPSF-2.0 %%Title: size.eps %%Creator: gnuplot 4.0 patchlevel 0 %%CreationDate: Mon Feb 7 20:52:10 2005 %%DocumentFonts: (atend) %%BoundingBox: 50 50 410 302 %%Orientation: Portrait %%EndComments /gnudict 256 dict def gnudict begin /Color false def /Solid false def /gnulinewidth 5.000 def /userlinewidth gnulinewidth def /vshift -106 def /dl {10.0 mul} def /hpt_ 31.5 def /vpt_ 31.5 def /hpt hpt_ def /vpt vpt_ def /Rounded false def /M {moveto} bind def /L {lineto} bind def /R {rmoveto} bind def /V {rlineto} bind def /N {newpath moveto} bind def /C {setrgbcolor} bind def /f {rlineto fill} bind def /vpt2 vpt 2 mul def /hpt2 hpt 2 mul def /Lshow { currentpoint stroke M 0 vshift R show } def /Rshow { currentpoint stroke M dup stringwidth pop neg vshift R show } def /Cshow { currentpoint stroke M dup stringwidth pop -2 div vshift R show } def /UP { dup vpt_ mul /vpt exch def hpt_ mul /hpt exch def /hpt2 hpt 2 mul def /vpt2 vpt 2 mul def } def /DL { Color {setrgbcolor Solid {pop []} if 0 setdash } {pop pop pop 0 setgray Solid {pop []} if 0 setdash} ifelse } def /BL { stroke userlinewidth 2 mul setlinewidth Rounded { 1 setlinejoin 1 setlinecap } if } def /AL { stroke userlinewidth 2 div setlinewidth Rounded { 1 setlinejoin 1 setlinecap } if } def /UL { dup gnulinewidth mul /userlinewidth exch def dup 1 lt {pop 1} if 10 mul /udl exch def } def /PL { stroke userlinewidth setlinewidth Rounded { 1 setlinejoin 1 setlinecap } if } def /LTw { PL [] 1 setgray } def /LTb { BL [] 0 0 0 DL } def /LTa { AL [1 udl mul 2 udl mul] 0 setdash 0 0 0 setrgbcolor } def /LT0 { PL [] 1 0 0 DL } def /LT1 { PL [4 dl 2 dl] 0 1 0 DL } def /LT2 { PL [2 dl 3 dl] 0 0 1 DL } def /LT3 { PL [1 dl 1.5 dl] 1 0 1 DL } def /LT4 { PL [5 dl 2 dl 1 dl 2 dl] 0 1 1 DL } def /LT5 { PL [4 dl 3 dl 1 dl 3 dl] 1 1 0 DL } def /LT6 { PL [2 dl 2 dl 2 dl 4 dl] 0 0 0 DL } def /LT7 { PL [2 dl 2 dl 2 dl 2 dl 2 dl 4 dl] 1 0.3 0 DL } def /LT8 { PL [2 dl 2 dl 2 dl 2 dl 2 dl 2 dl 2 dl 4 dl] 0.5 0.5 0.5 DL } def /Pnt { stroke [] 0 setdash gsave 1 setlinecap M 0 0 V stroke grestore } def /Dia { stroke [] 0 setdash 2 copy vpt add M hpt neg vpt neg V hpt vpt neg V hpt vpt V hpt neg vpt V closepath stroke Pnt } def /Pls { stroke [] 0 setdash vpt sub M 0 vpt2 V currentpoint stroke M hpt neg vpt neg R hpt2 0 V stroke } def /Box { stroke [] 0 setdash 2 copy exch hpt sub exch vpt add M 0 vpt2 neg V hpt2 0 V 0 vpt2 V hpt2 neg 0 V closepath stroke Pnt } def /Crs { stroke [] 0 setdash exch hpt sub exch vpt add M hpt2 vpt2 neg V currentpoint stroke M hpt2 neg 0 R hpt2 vpt2 V stroke } def /TriU { stroke [] 0 setdash 2 copy vpt 1.12 mul add M hpt neg vpt -1.62 mul V hpt 2 mul 0 V hpt neg vpt 1.62 mul V closepath stroke Pnt } def /Star { 2 copy Pls Crs } def /BoxF { stroke [] 0 setdash exch hpt sub exch vpt add M 0 vpt2 neg V hpt2 0 V 0 vpt2 V hpt2 neg 0 V closepath fill } def /TriUF { stroke [] 0 setdash vpt 1.12 mul add M hpt neg vpt -1.62 mul V hpt 2 mul 0 V hpt neg vpt 1.62 mul V closepath fill } def /TriD { stroke [] 0 setdash 2 copy vpt 1.12 mul sub M hpt neg vpt 1.62 mul V hpt 2 mul 0 V hpt neg vpt -1.62 mul V closepath stroke Pnt } def /TriDF { stroke [] 0 setdash vpt 1.12 mul sub M hpt neg vpt 1.62 mul V hpt 2 mul 0 V hpt neg vpt -1.62 mul V closepath fill} def /DiaF { stroke [] 0 setdash vpt add M hpt neg vpt neg V hpt vpt neg V hpt vpt V hpt neg vpt V closepath fill } def /Pent { stroke [] 0 setdash 2 copy gsave translate 0 hpt M 4 {72 rotate 0 hpt L} repeat closepath stroke grestore Pnt } def /PentF { stroke [] 0 setdash gsave translate 0 hpt M 4 {72 rotate 0 hpt L} repeat closepath fill grestore } def /Circle { stroke [] 0 setdash 2 copy hpt 0 360 arc stroke Pnt } def /CircleF { stroke [] 0 setdash hpt 0 360 arc fill } def /C0 { BL [] 0 setdash 2 copy moveto vpt 90 450 arc } bind def /C1 { BL [] 0 setdash 2 copy moveto 2 copy vpt 0 90 arc closepath fill vpt 0 360 arc closepath } bind def /C2 { BL [] 0 setdash 2 copy moveto 2 copy vpt 90 180 arc closepath fill vpt 0 360 arc closepath } bind def /C3 { BL [] 0 setdash 2 copy moveto 2 copy vpt 0 180 arc closepath fill vpt 0 360 arc closepath } bind def /C4 { BL [] 0 setdash 2 copy moveto 2 copy vpt 180 270 arc closepath fill vpt 0 360 arc closepath } bind def /C5 { BL [] 0 setdash 2 copy moveto 2 copy vpt 0 90 arc 2 copy moveto 2 copy vpt 180 270 arc closepath fill vpt 0 360 arc } bind def /C6 { BL [] 0 setdash 2 copy moveto 2 copy vpt 90 270 arc closepath fill vpt 0 360 arc closepath } bind def /C7 { BL [] 0 setdash 2 copy moveto 2 copy vpt 0 270 arc closepath fill vpt 0 360 arc closepath } bind def /C8 { BL [] 0 setdash 2 copy moveto 2 copy vpt 270 360 arc closepath fill vpt 0 360 arc closepath } bind def /C9 { BL [] 0 setdash 2 copy moveto 2 copy vpt 270 450 arc closepath fill vpt 0 360 arc closepath } bind def /C10 { BL [] 0 setdash 2 copy 2 copy moveto vpt 270 360 arc closepath fill 2 copy moveto 2 copy vpt 90 180 arc closepath fill vpt 0 360 arc closepath } bind def /C11 { BL [] 0 setdash 2 copy moveto 2 copy vpt 0 180 arc closepath fill 2 copy moveto 2 copy vpt 270 360 arc closepath fill vpt 0 360 arc closepath } bind def /C12 { BL [] 0 setdash 2 copy moveto 2 copy vpt 180 360 arc closepath fill vpt 0 360 arc closepath } bind def /C13 { BL [] 0 setdash 2 copy moveto 2 copy vpt 0 90 arc closepath fill 2 copy moveto 2 copy vpt 180 360 arc closepath fill vpt 0 360 arc closepath } bind def /C14 { BL [] 0 setdash 2 copy moveto 2 copy vpt 90 360 arc closepath fill vpt 0 360 arc } bind def /C15 { BL [] 0 setdash 2 copy vpt 0 360 arc closepath fill vpt 0 360 arc closepath } bind def /Rec { newpath 4 2 roll moveto 1 index 0 rlineto 0 exch rlineto neg 0 rlineto closepath } bind def /Square { dup Rec } bind def /Bsquare { vpt sub exch vpt sub exch vpt2 Square } bind def /S0 { BL [] 0 setdash 2 copy moveto 0 vpt rlineto BL Bsquare } bind def /S1 { BL [] 0 setdash 2 copy vpt Square fill Bsquare } bind def /S2 { BL [] 0 setdash 2 copy exch vpt sub exch vpt Square fill Bsquare } bind def /S3 { BL [] 0 setdash 2 copy exch vpt sub exch vpt2 vpt Rec fill Bsquare } bind def /S4 { BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt Square fill Bsquare } bind def /S5 { BL [] 0 setdash 2 copy 2 copy vpt Square fill exch vpt sub exch vpt sub vpt Square fill Bsquare } bind def /S6 { BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt vpt2 Rec fill Bsquare } bind def /S7 { BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt vpt2 Rec fill 2 copy vpt Square fill Bsquare } bind def /S8 { BL [] 0 setdash 2 copy vpt sub vpt Square fill Bsquare } bind def /S9 { BL [] 0 setdash 2 copy vpt sub vpt vpt2 Rec fill Bsquare } bind def /S10 { BL [] 0 setdash 2 copy vpt sub vpt Square fill 2 copy exch vpt sub exch vpt Square fill Bsquare } bind def /S11 { BL [] 0 setdash 2 copy vpt sub vpt Square fill 2 copy exch vpt sub exch vpt2 vpt Rec fill Bsquare } bind def /S12 { BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt2 vpt Rec fill Bsquare } bind def /S13 { BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt2 vpt Rec fill 2 copy vpt Square fill Bsquare } bind def /S14 { BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt2 vpt Rec fill 2 copy exch vpt sub exch vpt Square fill Bsquare } bind def /S15 { BL [] 0 setdash 2 copy Bsquare fill Bsquare } bind def /D0 { gsave translate 45 rotate 0 0 S0 stroke grestore } bind def /D1 { gsave translate 45 rotate 0 0 S1 stroke grestore } bind def /D2 { gsave translate 45 rotate 0 0 S2 stroke grestore } bind def /D3 { gsave translate 45 rotate 0 0 S3 stroke grestore } bind def /D4 { gsave translate 45 rotate 0 0 S4 stroke grestore } bind def /D5 { gsave translate 45 rotate 0 0 S5 stroke grestore } bind def /D6 { gsave translate 45 rotate 0 0 S6 stroke grestore } bind def /D7 { gsave translate 45 rotate 0 0 S7 stroke grestore } bind def /D8 { gsave translate 45 rotate 0 0 S8 stroke grestore } bind def /D9 { gsave translate 45 rotate 0 0 S9 stroke grestore } bind def /D10 { gsave translate 45 rotate 0 0 S10 stroke grestore } bind def /D11 { gsave translate 45 rotate 0 0 S11 stroke grestore } bind def /D12 { gsave translate 45 rotate 0 0 S12 stroke grestore } bind def /D13 { gsave translate 45 rotate 0 0 S13 stroke grestore } bind def /D14 { gsave translate 45 rotate 0 0 S14 stroke grestore } bind def /D15 { gsave translate 45 rotate 0 0 S15 stroke grestore } bind def /DiaE { stroke [] 0 setdash vpt add M hpt neg vpt neg V hpt vpt neg V hpt vpt V hpt neg vpt V closepath stroke } def /BoxE { stroke [] 0 setdash exch hpt sub exch vpt add M 0 vpt2 neg V hpt2 0 V 0 vpt2 V hpt2 neg 0 V closepath stroke } def /TriUE { stroke [] 0 setdash vpt 1.12 mul add M hpt neg vpt -1.62 mul V hpt 2 mul 0 V hpt neg vpt 1.62 mul V closepath stroke } def /TriDE { stroke [] 0 setdash vpt 1.12 mul sub M hpt neg vpt 1.62 mul V hpt 2 mul 0 V hpt neg vpt -1.62 mul V closepath stroke } def /PentE { stroke [] 0 setdash gsave translate 0 hpt M 4 {72 rotate 0 hpt L} repeat closepath stroke grestore } def /CircE { stroke [] 0 setdash hpt 0 360 arc stroke } def /Opaque { gsave closepath 1 setgray fill grestore 0 setgray closepath } def /DiaW { stroke [] 0 setdash vpt add M hpt neg vpt neg V hpt vpt neg V hpt vpt V hpt neg vpt V Opaque stroke } def /BoxW { stroke [] 0 setdash exch hpt sub exch vpt add M 0 vpt2 neg V hpt2 0 V 0 vpt2 V hpt2 neg 0 V Opaque stroke } def /TriUW { stroke [] 0 setdash vpt 1.12 mul add M hpt neg vpt -1.62 mul V hpt 2 mul 0 V hpt neg vpt 1.62 mul V Opaque stroke } def /TriDW { stroke [] 0 setdash vpt 1.12 mul sub M hpt neg vpt 1.62 mul V hpt 2 mul 0 V hpt neg vpt -1.62 mul V Opaque stroke } def /PentW { stroke [] 0 setdash gsave translate 0 hpt M 4 {72 rotate 0 hpt L} repeat Opaque stroke grestore } def /CircW { stroke [] 0 setdash hpt 0 360 arc Opaque stroke } def /BoxFill { gsave Rec 1 setgray fill grestore } def /BoxColFill { gsave Rec /Fillden exch def currentrgbcolor /ColB exch def /ColG exch def /ColR exch def /ColR ColR Fillden mul Fillden sub 1 add def /ColG ColG Fillden mul Fillden sub 1 add def /ColB ColB Fillden mul Fillden sub 1 add def ColR ColG ColB setrgbcolor fill grestore } def % % PostScript Level 1 Pattern Fill routine % Usage: x y w h s a XX PatternFill % x,y = lower left corner of box to be filled % w,h = width and height of box % a = angle in degrees between lines and x-axis % XX = 0/1 for no/yes cross-hatch % /PatternFill { gsave /PFa [ 9 2 roll ] def PFa 0 get PFa 2 get 2 div add PFa 1 get PFa 3 get 2 div add translate PFa 2 get -2 div PFa 3 get -2 div PFa 2 get PFa 3 get Rec gsave 1 setgray fill grestore clip currentlinewidth 0.5 mul setlinewidth /PFs PFa 2 get dup mul PFa 3 get dup mul add sqrt def 0 0 M PFa 5 get rotate PFs -2 div dup translate 0 1 PFs PFa 4 get div 1 add floor cvi { PFa 4 get mul 0 M 0 PFs V } for 0 PFa 6 get ne { 0 1 PFs PFa 4 get div 1 add floor cvi { PFa 4 get mul 0 2 1 roll M PFs 0 V } for } if stroke grestore } def % /Symbol-Oblique /Symbol findfont [1 0 .167 1 0 0] makefont dup length dict begin {1 index /FID eq {pop pop} {def} ifelse} forall currentdict end definefont pop end %%EndProlog gnudict begin gsave 50 50 translate 0.050 0.050 scale 0 setgray newpath (Helvetica) findfont 320 scalefont setfont 1.000 UL LTb 1824 960 M 63 0 V 4769 0 R -63 0 V -4961 0 R gsave 0 setgray ( 0.1) Rshow grestore 1.000 UL LTb 1824 1238 M 31 0 V 4801 0 R -31 0 V 1824 1401 M 31 0 V 4801 0 R -31 0 V 1824 1516 M 31 0 V 4801 0 R -31 0 V -4801 90 R 31 0 V 4801 0 R -31 0 V -4801 73 R 31 0 V 4801 0 R -31 0 V -4801 62 R 31 0 V 4801 0 R -31 0 V -4801 53 R 31 0 V 4801 0 R -31 0 V -4801 48 R 31 0 V 4801 0 R -31 0 V -4801 42 R 63 0 V 4769 0 R -63 0 V -4961 0 R gsave 0 setgray ( 1) Rshow grestore 1.000 UL LTb 1824 2162 M 31 0 V 4801 0 R -31 0 V 1824 2325 M 31 0 V 4801 0 R -31 0 V 1824 2440 M 31 0 V 4801 0 R -31 0 V -4801 90 R 31 0 V 4801 0 R -31 0 V -4801 73 R 31 0 V 4801 0 R -31 0 V -4801 62 R 31 0 V 4801 0 R -31 0 V -4801 53 R 31 0 V 4801 0 R -31 0 V -4801 48 R 31 0 V 4801 0 R -31 0 V -4801 42 R 63 0 V 4769 0 R -63 0 V -4961 0 R gsave 0 setgray ( 10) Rshow grestore 1.000 UL LTb 1824 3086 M 31 0 V 4801 0 R -31 0 V 1824 3249 M 31 0 V 4801 0 R -31 0 V 1824 3364 M 31 0 V 4801 0 R -31 0 V -4801 90 R 31 0 V 4801 0 R -31 0 V -4801 73 R 31 0 V 4801 0 R -31 0 V -4801 62 R 31 0 V 4801 0 R -31 0 V -4801 53 R 31 0 V 4801 0 R -31 0 V -4801 48 R 31 0 V 4801 0 R -31 0 V -4801 42 R 63 0 V 4769 0 R -63 0 V -4961 0 R gsave 0 setgray ( 100) Rshow grestore 1.000 UL LTb 1824 4010 M 31 0 V 4801 0 R -31 0 V 1824 4173 M 31 0 V 4801 0 R -31 0 V 1824 4288 M 31 0 V 4801 0 R -31 0 V -4801 90 R 31 0 V 4801 0 R -31 0 V -4801 73 R 31 0 V 4801 0 R -31 0 V -4801 62 R 31 0 V 4801 0 R -31 0 V -4801 53 R 31 0 V 4801 0 R -31 0 V -4801 48 R 31 0 V 4801 0 R -31 0 V -4801 42 R 63 0 V 4769 0 R -63 0 V -4961 0 R gsave 0 setgray ( 1000) Rshow grestore 1.000 UL LTb 1824 960 M 0 63 V 0 3633 R 0 -63 V 0 -3953 R gsave 0 setgray ( 1) Cshow grestore 1.000 UL LTb 2188 960 M 0 31 V 0 3665 R 0 -31 V 2400 960 M 0 31 V 0 3665 R 0 -31 V 2551 960 M 0 31 V 0 3665 R 0 -31 V 2668 960 M 0 31 V 0 3665 R 0 -31 V 2764 960 M 0 31 V 0 3665 R 0 -31 V 2845 960 M 0 31 V 0 3665 R 0 -31 V 2915 960 M 0 31 V 0 3665 R 0 -31 V 2977 960 M 0 31 V 0 3665 R 0 -31 V 3032 960 M 0 63 V 0 3633 R 0 -63 V 0 -3953 R gsave 0 setgray ( 10) Cshow grestore 1.000 UL LTb 3396 960 M 0 31 V 0 3665 R 0 -31 V 3608 960 M 0 31 V 0 3665 R 0 -31 V 3759 960 M 0 31 V 0 3665 R 0 -31 V 3876 960 M 0 31 V 0 3665 R 0 -31 V 3972 960 M 0 31 V 0 3665 R 0 -31 V 4053 960 M 0 31 V 0 3665 R 0 -31 V 4123 960 M 0 31 V 0 3665 R 0 -31 V 4185 960 M 0 31 V 0 3665 R 0 -31 V 4240 960 M 0 63 V 0 3633 R 0 -63 V 0 -3953 R gsave 0 setgray ( 100) Cshow grestore 1.000 UL LTb 4604 960 M 0 31 V 0 3665 R 0 -31 V 4816 960 M 0 31 V 0 3665 R 0 -31 V 4967 960 M 0 31 V 0 3665 R 0 -31 V 5084 960 M 0 31 V 0 3665 R 0 -31 V 5180 960 M 0 31 V 0 3665 R 0 -31 V 5261 960 M 0 31 V 0 3665 R 0 -31 V 5331 960 M 0 31 V 0 3665 R 0 -31 V 5393 960 M 0 31 V 0 3665 R 0 -31 V 5448 960 M 0 63 V 0 3633 R 0 -63 V 0 -3953 R gsave 0 setgray ( 1000) Cshow grestore 1.000 UL LTb 5812 960 M 0 31 V 0 3665 R 0 -31 V 6024 960 M 0 31 V 0 3665 R 0 -31 V 6175 960 M 0 31 V 0 3665 R 0 -31 V 6292 960 M 0 31 V 0 3665 R 0 -31 V 6388 960 M 0 31 V 0 3665 R 0 -31 V 6469 960 M 0 31 V 0 3665 R 0 -31 V 6539 960 M 0 31 V 0 3665 R 0 -31 V 6601 960 M 0 31 V 0 3665 R 0 -31 V 6656 960 M 0 63 V 0 3633 R 0 -63 V 0 -3953 R gsave 0 setgray ( 10000) Cshow grestore 1.000 UL LTb 1.000 UL LTb 1824 960 M 4832 0 V 0 3696 V -4832 0 V 0 -3696 V LTb 320 2808 M gsave 0 setgray currentpoint gsave translate 90 rotate 0 0 M (File transfer time \(s\)) Cshow grestore grestore LTb 4240 160 M gsave 0 setgray (File size \(KByte\)) Cshow grestore 1.000 UP 2.000 UP 1.000 UL LT0 LTb 4512 4433 M gsave 0 setgray (1 attacker) Rshow grestore LT0 4704 4433 M 831 0 V 1824 1037 M 364 164 V 363 4 V 364 117 V 364 92 V 363 78 V 364 74 V 364 134 V 363 276 V 364 381 V 363 354 V 364 314 V 364 294 V 1824 1037 Star 2188 1201 Star 2551 1205 Star 2915 1322 Star 3279 1414 Star 3642 1492 Star 4006 1566 Star 4370 1700 Star 4733 1976 Star 5097 2357 Star 5460 2711 Star 5824 3025 Star 6188 3319 Star 5119 4433 Star 2.000 UP 1.000 UL LT1 LTb 4512 4113 M gsave 0 setgray (10 attackers) Rshow grestore LT1 4704 4113 M 831 0 V 1824 1066 M 364 170 V 363 36 V 364 131 V 364 112 V 363 140 V 364 208 V 364 265 V 363 292 V 364 294 V 363 290 V 364 284 V 364 282 V 1824 1066 Pls 2188 1236 Pls 2551 1272 Pls 2915 1403 Pls 3279 1515 Pls 3642 1655 Pls 4006 1863 Pls 4370 2128 Pls 4733 2420 Pls 5097 2714 Pls 5460 3004 Pls 5824 3288 Pls 6188 3570 Pls 5119 4113 Pls 2.000 UP 1.000 UL LT2 LTb 4512 3793 M gsave 0 setgray (100 attackers) Rshow grestore LT2 4704 3793 M 831 0 V 1824 1253 M 364 210 V 363 157 V 364 204 V 364 239 V 363 260 V 364 270 V 364 276 V 363 277 V 364 277 V 363 278 V 364 278 V 364 278 V 1824 1253 Crs 2188 1463 Crs 2551 1620 Crs 2915 1824 Crs 3279 2063 Crs 3642 2323 Crs 4006 2593 Crs 4370 2869 Crs 4733 3146 Crs 5097 3423 Crs 5460 3701 Crs 5824 3979 Crs 6188 4257 Crs 5119 3793 Crs 1.000 UL LTb 1824 960 M 4832 0 V 0 3696 V -4832 0 V 0 -3696 V 1.000 UP stroke grestore end showpage %%Trailer %%DocumentFonts: Helvetica %%EndDocument @endspecial 2000 1224 a Fn(Figur)o(e)j(10:)43 b Fm(Completion)27 b(time)e(when)g(the)g(size)g(of)g(r)o(equests)g(and)f(the)2000 1316 y(number)18 b(of)e(attack)o(ers)j(v)o(ary)-5 b(.)2000 1564 y Fr(quest)23 b(\003ood)g(described)g(abo)o(v)o(e,)g(we)h(assumed) f(the)h(destination)2000 1656 y(w)o(as)32 b(able)f(to)h(distinguish)e (requests)h(from)f(le)o(gitimate)h(clients)2000 1747 y(and)d(those)g(from)f(attack)o(ers.)49 b(In)28 b(the)h(e)o(xtreme)e (that)h(the)h(desti-)2000 1838 y(nation)e(cannot)g(dif)n(ferentiate)f (attack)o(ers)i(from)f(users)i(at)f(all,)j(it)2000 1930 y(must)21 b(grant)f(them)g(equally)-5 b(.)25 b(The)c(destination)e (then)h(essentially)2000 2021 y(plays)c(the)g(same)h(role)f(as)h(the)f (colluder)f(in)i(the)f(abo)o(v)o(e)f(authorized)2000 2112 y(traf)n(\002c)27 b(\003ood,)i(with)f(the)g(result)g(\(Figure)f (10\))g(that)h(the)g(request)2000 2204 y(completion)20 b(time)i(increases)g(in)g(proportion)c(with)23 b(the)e(number)2000 2295 y(of)f(attack)o(ers.)2075 2386 y(Ho)n(we)n(v)o(er)m(,)i(if)i(the)f (serv)o(er)g(is)h(able)g(to)f(dif)n(ferentiate)f(lik)o(ely)h(at-)2000 2478 y(tack)f(requests,)f(e)n(v)o(en)g(imprecisely)-5 b(,)21 b(our)g(design)g(is)i(still)g(able)e(to)2000 2569 y(limit)h(the)g(damage)f(of)g(DoS)h(\003oods.)30 b(T)-7 b(o)22 b(see)g(this,)g(we)h(simulate)2000 2660 y(the)16 b(simple)f(authorization)f(polic)o(y)g(described)h(in)g(Section)h(3.3:) 22 b(a)2000 2752 y(serv)o(er)f(initially)g(grants)g(all)i(requests,)e (b)n(ut)h(stops)g(rene)n(wing)e(ca-)2000 2843 y(pabilities)27 b(for)g(senders)g(that)h(misbeha)n(v)o(e)e(by)h(\003ooding)f(traf)n (\002c.)2000 2934 y(W)-7 b(e)30 b(set)f(the)g(serv)o(er)f(to)h(grant)f (an)h(initial)g(capability)f(of)h(32KB)2000 3026 y(in)d(10)g(seconds.) 42 b(This)26 b(allo)n(ws)g(an)g(attack)o(er)g(to)g(\003ood)f(at)i(a)g (rate)2000 3117 y(of)22 b(1Mb/s,)h(b)n(ut)g(for)f(only)g(32KB)h(until)f (the)h(capability)f(e)o(xpires.)2000 3208 y(The)g(serv)o(er)g(does)h (not)g(rene)n(w)f(capabilities)h(because)f(of)g(the)h(at-)2000 3300 y(tack.)32 b(Figure)22 b(11)g(sho)n(ws)h(ho)n(w)f(the)h(\002le)g (transfer)f(time)h(changes)2000 3391 y(for)j(our)f(design)h(with)h (this)g(polic)o(y)e(as)j(an)e(attack)g(commences.)2000 3482 y(There)g(are)h(tw)o(o)g(attacks:)39 b(a)27 b(high)f(intensity)h (one)f(in)i(which)e(all)2000 3574 y(100)f(attack)o(ers)i(attack)f (simultaneously;)i(and)e(a)h(lo)n(w)f(intensity)2000 3665 y(one)21 b(in)h(which)g(the)f(100)g(attack)o(ers)h(di)n(vide)f (into)h(10)f(groups)f(that)2000 3756 y(\003ood)14 b(one)h(after)g(the)h (other)m(,)f(as)h(one)f(group)e(\002nishes)j(their)f(attack.)2000 3847 y(W)-7 b(e)29 b(see)f(that)g(the)g(high)f(intensity)h(attack)f (causes)i(the)e(transfer)2000 3939 y(time)g(to)f(jump)g(to)h(almost)g (2)g(seconds)f(for)g(around)e(2)j(seconds;)2000 4030 y(the)d(lo)n(w)h(intensity)f(attack)h(v)o(ery)e(slightly)i(increases)f (the)h(trans-)2000 4121 y(fer)20 b(time,)g(b)n(ut)g(for)g(a)g(longer)f (a)i(duration)d(of)i(about)f(5)i(seconds.)2075 4213 y(Figure)33 b(11)h(also)h(sho)n(ws)f(the)h(results)g(for)e(SIFF)j(under)d(the)2000 4304 y(same)26 b(attacks.)41 b(In)26 b(SIFF)-7 b(,)26 b(the)g(e)o(xpiration)e(of)h(a)h(capability)f(de-)2000 4395 y(pends)16 b(on)h(changing)f(a)h(router)f(secret)i(\226)f(e)n(v)o (en)g(if)g(the)h(destination)2000 4487 y(determines)j(that)i(the)f (sender)g(is)h(misbeha)n(ving)e(it)i(is)g(po)n(werless)2000 4578 y(to)16 b(re)n(v)n(ok)o(e)g(the)g(authorization)f(beforehand.)20 b(This)d(suggests)f(that)2000 4669 y(rapid)21 b(k)o(e)o(y)g(turno)o(v)o (er)e(is)k(needed,)e(b)n(ut)h(there)f(are)h(practical)g(limi-)2000 4761 y(tations)i(that)g(limit)g(ho)n(w)g(quickly)f(the)h(secret)g(can)g (be)g(changed,)2000 4852 y(e.g.,)d(the)h(life)g(time)g(of)g(a)g(router) f(secret)h(should)f(be)g(longer)g(than)2000 4943 y(a)h(small)g (multiple)f(of)h(TCP)g(timeouts.)29 b(In)22 b(our)f(e)o(xperiment,)e (we)2000 5035 y(assume)28 b(SIFF)h(can)f(e)o(xpire)f(its)j (capabilities)e(e)n(v)o(ery)f(three)g(sec-)2000 5126 y(onds.)d(By)d(contrast,)f(our)f(design)h(e)o(xpires)f(its)i (capabilities)f(with)2000 5217 y(the)26 b(router)f(secret)h(e)n(v)o (ery)f(64)h(seconds.)43 b(W)-7 b(e)27 b(see)g(that)f(both)f(at-)2000 5309 y(tacks)e(ha)n(v)o(e)g(a)g(much)f(more)g(pronounced)e(ef)n(fect)i (on)h(SIFF)-7 b(.)24 b(The)2000 5400 y(high)17 b(intensity)g(attack)h (lasts)h(for)e(three)g(seconds,)h(while)g(the)g(lo)n(w)1908 5649 y(11)p eop end %%Page: 12 12 TeXDict begin 12 11 bop 200 1050 a @beginspecial 50 @llx 50 @lly 410 @urx 302 @ury 1800 @rwi @setspecial %%BeginDocument: figures/bot-us.eps %!PS-Adobe-2.0 EPSF-2.0 %%Title: bot-us.eps %%Creator: gnuplot 4.0 patchlevel 0 %%CreationDate: Mon Feb 7 20:52:20 2005 %%DocumentFonts: (atend) %%BoundingBox: 50 50 410 302 %%Orientation: Portrait %%EndComments /gnudict 256 dict def gnudict begin /Color false def /Solid false def /gnulinewidth 5.000 def /userlinewidth gnulinewidth def /vshift -120 def /dl {10.0 mul} def /hpt_ 31.5 def /vpt_ 31.5 def /hpt hpt_ def /vpt vpt_ def /Rounded false def /M {moveto} bind def /L {lineto} bind def /R {rmoveto} bind def /V {rlineto} bind def /N {newpath moveto} bind def /C {setrgbcolor} bind def /f {rlineto fill} bind def /vpt2 vpt 2 mul def /hpt2 hpt 2 mul def /Lshow { currentpoint stroke M 0 vshift R show } def /Rshow { currentpoint stroke M dup stringwidth pop neg vshift R show } def /Cshow { currentpoint stroke M dup stringwidth pop -2 div vshift R show } def /UP { dup vpt_ mul /vpt exch def hpt_ mul /hpt exch def /hpt2 hpt 2 mul def /vpt2 vpt 2 mul def } def /DL { Color {setrgbcolor Solid {pop []} if 0 setdash } {pop pop pop 0 setgray Solid {pop []} if 0 setdash} ifelse } def /BL { stroke userlinewidth 2 mul setlinewidth Rounded { 1 setlinejoin 1 setlinecap } if } def /AL { stroke userlinewidth 2 div setlinewidth Rounded { 1 setlinejoin 1 setlinecap } if } def /UL { dup gnulinewidth mul /userlinewidth exch def dup 1 lt {pop 1} if 10 mul /udl exch def } def /PL { stroke userlinewidth setlinewidth Rounded { 1 setlinejoin 1 setlinecap } if } def /LTw { PL [] 1 setgray } def /LTb { BL [] 0 0 0 DL } def /LTa { AL [1 udl mul 2 udl mul] 0 setdash 0 0 0 setrgbcolor } def /LT0 { PL [] 1 0 0 DL } def /LT1 { PL [4 dl 2 dl] 0 1 0 DL } def /LT2 { PL [2 dl 3 dl] 0 0 1 DL } def /LT3 { PL [1 dl 1.5 dl] 1 0 1 DL } def /LT4 { PL [5 dl 2 dl 1 dl 2 dl] 0 1 1 DL } def /LT5 { PL [4 dl 3 dl 1 dl 3 dl] 1 1 0 DL } def /LT6 { PL [2 dl 2 dl 2 dl 4 dl] 0 0 0 DL } def /LT7 { PL [2 dl 2 dl 2 dl 2 dl 2 dl 4 dl] 1 0.3 0 DL } def /LT8 { PL [2 dl 2 dl 2 dl 2 dl 2 dl 2 dl 2 dl 4 dl] 0.5 0.5 0.5 DL } def /Pnt { stroke [] 0 setdash gsave 1 setlinecap M 0 0 V stroke grestore } def /Dia { stroke [] 0 setdash 2 copy vpt add M hpt neg vpt neg V hpt vpt neg V hpt vpt V hpt neg vpt V closepath stroke Pnt } def /Pls { stroke [] 0 setdash vpt sub M 0 vpt2 V currentpoint stroke M hpt neg vpt neg R hpt2 0 V stroke } def /Box { stroke [] 0 setdash 2 copy exch hpt sub exch vpt add M 0 vpt2 neg V hpt2 0 V 0 vpt2 V hpt2 neg 0 V closepath stroke Pnt } def /Crs { stroke [] 0 setdash exch hpt sub exch vpt add M hpt2 vpt2 neg V currentpoint stroke M hpt2 neg 0 R hpt2 vpt2 V stroke } def /TriU { stroke [] 0 setdash 2 copy vpt 1.12 mul add M hpt neg vpt -1.62 mul V hpt 2 mul 0 V hpt neg vpt 1.62 mul V closepath stroke Pnt } def /Star { 2 copy Pls Crs } def /BoxF { stroke [] 0 setdash exch hpt sub exch vpt add M 0 vpt2 neg V hpt2 0 V 0 vpt2 V hpt2 neg 0 V closepath fill } def /TriUF { stroke [] 0 setdash vpt 1.12 mul add M hpt neg vpt -1.62 mul V hpt 2 mul 0 V hpt neg vpt 1.62 mul V closepath fill } def /TriD { stroke [] 0 setdash 2 copy vpt 1.12 mul sub M hpt neg vpt 1.62 mul V hpt 2 mul 0 V hpt neg vpt -1.62 mul V closepath stroke Pnt } def /TriDF { stroke [] 0 setdash vpt 1.12 mul sub M hpt neg vpt 1.62 mul V hpt 2 mul 0 V hpt neg vpt -1.62 mul V closepath fill} def /DiaF { stroke [] 0 setdash vpt add M hpt neg vpt neg V hpt vpt neg V hpt vpt V hpt neg vpt V closepath fill } def /Pent { stroke [] 0 setdash 2 copy gsave translate 0 hpt M 4 {72 rotate 0 hpt L} repeat closepath stroke grestore Pnt } def /PentF { stroke [] 0 setdash gsave translate 0 hpt M 4 {72 rotate 0 hpt L} repeat closepath fill grestore } def /Circle { stroke [] 0 setdash 2 copy hpt 0 360 arc stroke Pnt } def /CircleF { stroke [] 0 setdash hpt 0 360 arc fill } def /C0 { BL [] 0 setdash 2 copy moveto vpt 90 450 arc } bind def /C1 { BL [] 0 setdash 2 copy moveto 2 copy vpt 0 90 arc closepath fill vpt 0 360 arc closepath } bind def /C2 { BL [] 0 setdash 2 copy moveto 2 copy vpt 90 180 arc closepath fill vpt 0 360 arc closepath } bind def /C3 { BL [] 0 setdash 2 copy moveto 2 copy vpt 0 180 arc closepath fill vpt 0 360 arc closepath } bind def /C4 { BL [] 0 setdash 2 copy moveto 2 copy vpt 180 270 arc closepath fill vpt 0 360 arc closepath } bind def /C5 { BL [] 0 setdash 2 copy moveto 2 copy vpt 0 90 arc 2 copy moveto 2 copy vpt 180 270 arc closepath fill vpt 0 360 arc } bind def /C6 { BL [] 0 setdash 2 copy moveto 2 copy vpt 90 270 arc closepath fill vpt 0 360 arc closepath } bind def /C7 { BL [] 0 setdash 2 copy moveto 2 copy vpt 0 270 arc closepath fill vpt 0 360 arc closepath } bind def /C8 { BL [] 0 setdash 2 copy moveto 2 copy vpt 270 360 arc closepath fill vpt 0 360 arc closepath } bind def /C9 { BL [] 0 setdash 2 copy moveto 2 copy vpt 270 450 arc closepath fill vpt 0 360 arc closepath } bind def /C10 { BL [] 0 setdash 2 copy 2 copy moveto vpt 270 360 arc closepath fill 2 copy moveto 2 copy vpt 90 180 arc closepath fill vpt 0 360 arc closepath } bind def /C11 { BL [] 0 setdash 2 copy moveto 2 copy vpt 0 180 arc closepath fill 2 copy moveto 2 copy vpt 270 360 arc closepath fill vpt 0 360 arc closepath } bind def /C12 { BL [] 0 setdash 2 copy moveto 2 copy vpt 180 360 arc closepath fill vpt 0 360 arc closepath } bind def /C13 { BL [] 0 setdash 2 copy moveto 2 copy vpt 0 90 arc closepath fill 2 copy moveto 2 copy vpt 180 360 arc closepath fill vpt 0 360 arc closepath } bind def /C14 { BL [] 0 setdash 2 copy moveto 2 copy vpt 90 360 arc closepath fill vpt 0 360 arc } bind def /C15 { BL [] 0 setdash 2 copy vpt 0 360 arc closepath fill vpt 0 360 arc closepath } bind def /Rec { newpath 4 2 roll moveto 1 index 0 rlineto 0 exch rlineto neg 0 rlineto closepath } bind def /Square { dup Rec } bind def /Bsquare { vpt sub exch vpt sub exch vpt2 Square } bind def /S0 { BL [] 0 setdash 2 copy moveto 0 vpt rlineto BL Bsquare } bind def /S1 { BL [] 0 setdash 2 copy vpt Square fill Bsquare } bind def /S2 { BL [] 0 setdash 2 copy exch vpt sub exch vpt Square fill Bsquare } bind def /S3 { BL [] 0 setdash 2 copy exch vpt sub exch vpt2 vpt Rec fill Bsquare } bind def /S4 { BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt Square fill Bsquare } bind def /S5 { BL [] 0 setdash 2 copy 2 copy vpt Square fill exch vpt sub exch vpt sub vpt Square fill Bsquare } bind def /S6 { BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt vpt2 Rec fill Bsquare } bind def /S7 { BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt vpt2 Rec fill 2 copy vpt Square fill Bsquare } bind def /S8 { BL [] 0 setdash 2 copy vpt sub vpt Square fill Bsquare } bind def /S9 { BL [] 0 setdash 2 copy vpt sub vpt vpt2 Rec fill Bsquare } bind def /S10 { BL [] 0 setdash 2 copy vpt sub vpt Square fill 2 copy exch vpt sub exch vpt Square fill Bsquare } bind def /S11 { BL [] 0 setdash 2 copy vpt sub vpt Square fill 2 copy exch vpt sub exch vpt2 vpt Rec fill Bsquare } bind def /S12 { BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt2 vpt Rec fill Bsquare } bind def /S13 { BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt2 vpt Rec fill 2 copy vpt Square fill Bsquare } bind def /S14 { BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt2 vpt Rec fill 2 copy exch vpt sub exch vpt Square fill Bsquare } bind def /S15 { BL [] 0 setdash 2 copy Bsquare fill Bsquare } bind def /D0 { gsave translate 45 rotate 0 0 S0 stroke grestore } bind def /D1 { gsave translate 45 rotate 0 0 S1 stroke grestore } bind def /D2 { gsave translate 45 rotate 0 0 S2 stroke grestore } bind def /D3 { gsave translate 45 rotate 0 0 S3 stroke grestore } bind def /D4 { gsave translate 45 rotate 0 0 S4 stroke grestore } bind def /D5 { gsave translate 45 rotate 0 0 S5 stroke grestore } bind def /D6 { gsave translate 45 rotate 0 0 S6 stroke grestore } bind def /D7 { gsave translate 45 rotate 0 0 S7 stroke grestore } bind def /D8 { gsave translate 45 rotate 0 0 S8 stroke grestore } bind def /D9 { gsave translate 45 rotate 0 0 S9 stroke grestore } bind def /D10 { gsave translate 45 rotate 0 0 S10 stroke grestore } bind def /D11 { gsave translate 45 rotate 0 0 S11 stroke grestore } bind def /D12 { gsave translate 45 rotate 0 0 S12 stroke grestore } bind def /D13 { gsave translate 45 rotate 0 0 S13 stroke grestore } bind def /D14 { gsave translate 45 rotate 0 0 S14 stroke grestore } bind def /D15 { gsave translate 45 rotate 0 0 S15 stroke grestore } bind def /DiaE { stroke [] 0 setdash vpt add M hpt neg vpt neg V hpt vpt neg V hpt vpt V hpt neg vpt V closepath stroke } def /BoxE { stroke [] 0 setdash exch hpt sub exch vpt add M 0 vpt2 neg V hpt2 0 V 0 vpt2 V hpt2 neg 0 V closepath stroke } def /TriUE { stroke [] 0 setdash vpt 1.12 mul add M hpt neg vpt -1.62 mul V hpt 2 mul 0 V hpt neg vpt 1.62 mul V closepath stroke } def /TriDE { stroke [] 0 setdash vpt 1.12 mul sub M hpt neg vpt 1.62 mul V hpt 2 mul 0 V hpt neg vpt -1.62 mul V closepath stroke } def /PentE { stroke [] 0 setdash gsave translate 0 hpt M 4 {72 rotate 0 hpt L} repeat closepath stroke grestore } def /CircE { stroke [] 0 setdash hpt 0 360 arc stroke } def /Opaque { gsave closepath 1 setgray fill grestore 0 setgray closepath } def /DiaW { stroke [] 0 setdash vpt add M hpt neg vpt neg V hpt vpt neg V hpt vpt V hpt neg vpt V Opaque stroke } def /BoxW { stroke [] 0 setdash exch hpt sub exch vpt add M 0 vpt2 neg V hpt2 0 V 0 vpt2 V hpt2 neg 0 V Opaque stroke } def /TriUW { stroke [] 0 setdash vpt 1.12 mul add M hpt neg vpt -1.62 mul V hpt 2 mul 0 V hpt neg vpt 1.62 mul V Opaque stroke } def /TriDW { stroke [] 0 setdash vpt 1.12 mul sub M hpt neg vpt 1.62 mul V hpt 2 mul 0 V hpt neg vpt -1.62 mul V Opaque stroke } def /PentW { stroke [] 0 setdash gsave translate 0 hpt M 4 {72 rotate 0 hpt L} repeat Opaque stroke grestore } def /CircW { stroke [] 0 setdash hpt 0 360 arc Opaque stroke } def /BoxFill { gsave Rec 1 setgray fill grestore } def /BoxColFill { gsave Rec /Fillden exch def currentrgbcolor /ColB exch def /ColG exch def /ColR exch def /ColR ColR Fillden mul Fillden sub 1 add def /ColG ColG Fillden mul Fillden sub 1 add def /ColB ColB Fillden mul Fillden sub 1 add def ColR ColG ColB setrgbcolor fill grestore } def % % PostScript Level 1 Pattern Fill routine % Usage: x y w h s a XX PatternFill % x,y = lower left corner of box to be filled % w,h = width and height of box % a = angle in degrees between lines and x-axis % XX = 0/1 for no/yes cross-hatch % /PatternFill { gsave /PFa [ 9 2 roll ] def PFa 0 get PFa 2 get 2 div add PFa 1 get PFa 3 get 2 div add translate PFa 2 get -2 div PFa 3 get -2 div PFa 2 get PFa 3 get Rec gsave 1 setgray fill grestore clip currentlinewidth 0.5 mul setlinewidth /PFs PFa 2 get dup mul PFa 3 get dup mul add sqrt def 0 0 M PFa 5 get rotate PFs -2 div dup translate 0 1 PFs PFa 4 get div 1 add floor cvi { PFa 4 get mul 0 M 0 PFs V } for 0 PFa 6 get ne { 0 1 PFs PFa 4 get div 1 add floor cvi { PFa 4 get mul 0 2 1 roll M PFs 0 V } for } if stroke grestore } def % /Symbol-Oblique /Symbol findfont [1 0 .167 1 0 0] makefont dup length dict begin {1 index /FID eq {pop pop} {def} ifelse} forall currentdict end definefont pop end %%EndProlog gnudict begin gsave 50 50 translate 0.050 0.050 scale 0 setgray newpath (Helvetica) findfont 360 scalefont setfont 1.000 UL LTb 1404 1080 M 63 0 V 5121 0 R -63 0 V -5337 0 R gsave 0 setgray ( 0) Rshow grestore 1.000 UL LTb 1404 1560 M 63 0 V 5121 0 R -63 0 V -5337 0 R gsave 0 setgray ( 1) Rshow grestore 1.000 UL LTb 1404 2040 M 63 0 V 5121 0 R -63 0 V -5337 0 R gsave 0 setgray ( 2) Rshow grestore 1.000 UL LTb 1404 2520 M 63 0 V 5121 0 R -63 0 V -5337 0 R gsave 0 setgray ( 3) Rshow grestore 1.000 UL LTb 1404 3000 M 63 0 V 5121 0 R -63 0 V -5337 0 R gsave 0 setgray ( 4) Rshow grestore 1.000 UL LTb 1404 3480 M 63 0 V 5121 0 R -63 0 V -5337 0 R gsave 0 setgray ( 5) Rshow grestore 1.000 UL LTb 1404 3960 M 63 0 V 5121 0 R -63 0 V -5337 0 R gsave 0 setgray ( 6) Rshow grestore 1.000 UL LTb 1404 1080 M 0 63 V 0 2817 R 0 -63 V 0 -3177 R gsave 0 setgray ( 0) Cshow grestore 1.000 UL LTb 2268 1080 M 0 63 V 0 2817 R 0 -63 V 0 -3177 R gsave 0 setgray ( 10) Cshow grestore 1.000 UL LTb 3132 1080 M 0 63 V 0 2817 R 0 -63 V 0 -3177 R gsave 0 setgray ( 20) Cshow grestore 1.000 UL LTb 3996 1080 M 0 63 V 0 2817 R 0 -63 V 0 -3177 R gsave 0 setgray ( 30) Cshow grestore 1.000 UL LTb 4860 1080 M 0 63 V 0 2817 R 0 -63 V 0 -3177 R gsave 0 setgray ( 40) Cshow grestore 1.000 UL LTb 5724 1080 M 0 63 V 0 2817 R 0 -63 V 0 -3177 R gsave 0 setgray ( 50) Cshow grestore 1.000 UL LTb 6588 1080 M 0 63 V 0 2817 R 0 -63 V 0 -3177 R gsave 0 setgray ( 60) Cshow grestore 1.000 UL LTb 1.000 UL LTb 1404 1080 M 5184 0 V 0 2880 V -5184 0 V 0 -2880 V LTb 360 2520 M gsave 0 setgray currentpoint gsave translate 90 rotate 0 0 M (File transfer time \(s\)) Cshow grestore grestore LTb 3996 180 M gsave 0 setgray (Time \(s\)) Cshow grestore LTb 3996 4500 M gsave 0 setgray (Our design) Cshow grestore 1.000 UP 1.000 UP 1.000 UL LT0 LTb 5661 3717 M gsave 0 setgray (all at once) Rshow grestore LT0 5877 3717 M 279 0 V 1474 1230 M 27 0 V 27 0 V 9 0 V 18 0 V 9 0 V 5 0 V 13 0 V 9 0 V 4 1 V 1 1 V 13 -2 V 9 0 V 4 1 V 1 0 V 13 -1 V 9 0 V 4 1 V 1 0 V 13 -1 V 9 1 V 5 0 V 13 -1 V 9 1 V 5 0 V 13 -1 V 10 1 V 4 0 V 1 0 V 12 -1 V 10 2 V 4 1 V 1 1 V 5 -2 V 7 -2 V 10 3 V 5 -1 V 0 1 V 5 -3 V 7 1 V 11 2 V 4 -3 V 1 3 V 4 -3 V 7 2 V 5 -2 V 6 4 V 4 -4 V 2 3 V 3 -3 V 8 2 V 4 -2 V 7 3 V 3 -3 V 2 3 V 3 -2 V 5 -1 V 3 3 V 4 -3 V 7 3 V 3 -2 V 3 2 V 2 -3 V 5 0 V 4 3 V 3 -2 V 8 2 V 2 -2 V 3 2 V 2 -3 V 5 0 V 4 3 V 3 -2 V 8 2 V 2 -3 V 4 3 V 1 -1 V 5 0 V 5 1 V 2 -3 V 9 4 V 1 -2 V 4 1 V 2 1 V 4 -1 V 5 -2 V 2 1 V 10 6 V 1 -3 V 4 -3 V 0 4 V 1 0 V 5 -4 V 4 -1 V 3 3 V 10 -3 V 1 4 V 3 -5 V 1 1 V 1 2 V 4 -3 V 5 0 V 2 1 V stroke 2047 1231 M 10 0 V 2 1 V 2 -2 V 1 0 V 2 1 V 3 -1 V 5 0 V 2 0 V 11 0 V 1 0 V 2 0 V 1 0 V 2 0 V 3 0 V 5 0 V 2 0 V 11 0 V 1 0 V 2 4 V 0 2 V 1 -3 V 2 -3 V 3 2 V 5 -1 V 2 -1 V 11 3 V 1 -2 V 3 -1 V 0 2 V 1 1 V 1 -1 V 4 0 V 4 -2 V 2 2 V 11 3 V 1 -1 V 3 -4 V 1 2 V 1 0 V 4 0 V 4 -2 V 3 1 V 11 3 V 1 -1 V 2 -3 V 1 2 V 1 0 V 1 -1 V 3 1 V 4 -2 V 3 1 V 12 2 V 0 1 V 2 -2 V 1 0 V 1 0 V 1 -1 V 4 1 V 3 -1 V 3 0 V 12 1 V 1 3 V 1 -2 V 1 5 V 2 37 V 0 -1 V 4 410 V 3 -15 V 3 224 V 13 114 V 1 -5 V 0 -1 V 3 -13 V 8 16 V 0 -1 V 78 -79 V 44 -227 V 33 -176 V 0 1 V 11 -57 V 0 -1 V 64 -218 V 3 -12 V 1 -1 V 0 7 V 0 4 V 1 0 V 0 3 V 25 -14 V 0 10 V 0 -1 V 2 -4 V 1 -3 V 1 0 V 1 3 V 0 2 V 1 0 V 21 -7 V 2 4 V 1 2 V 1 0 V 1 0 V 0 -1 V 2 -2 V stroke 2583 1236 M 0 -1 V 0 2 V 21 -2 V 2 0 V 1 -1 V 1 0 V 1 -1 V 0 2 V 1 1 V 1 -1 V 0 1 V 1 0 V 19 -5 V 3 4 V 1 2 V 1 0 V 0 -1 V 1 -1 V 1 0 V 1 0 V 1 0 V 19 -2 V 3 2 V 1 -1 V 1 1 V 0 2 V 1 -2 V 1 0 V 1 0 V 1 0 V 18 -2 V 4 2 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 18 -1 V 4 2 V 1 0 V 1 0 V 1 -1 V 1 1 V 1 -1 V 0 1 V 1 -1 V 17 -1 V 5 1 V 1 0 V 1 1 V 0 -1 V 1 0 V 1 0 V 1 0 V 1 0 V 17 0 V 5 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 17 4 V 5 -5 V 1 0 V 1 0 V 0 1 V 1 0 V 1 0 V 1 0 V 0 1 V 1 -1 V 18 -3 V 4 3 V 1 2 V 0 -2 V 1 0 V 1 0 V 1 0 V 1 -1 V 0 1 V 1 0 V 17 -2 V 5 0 V 1 1 V 0 1 V 1 0 V 1 0 V 1 0 V 0 -1 V 1 1 V 1 0 V 17 0 V 4 -4 V 2 1 V 1 -1 V 1 0 V 1 3 V 0 -1 V 1 -1 V 0 2 V 18 0 V stroke 2909 1234 M 3 -2 V 2 0 V 1 -1 V 0 2 V 1 -2 V 1 0 V 1 1 V 1 1 V 0 -1 V 17 1 V 4 -1 V 1 0 V 1 1 V 1 0 V 1 -1 V 1 0 V 1 0 V 18 0 V 3 1 V 2 0 V 1 4 V 0 1 V 1 1 V 1 -1 V 1 -1 V 1 -1 V 17 -3 V 4 -2 V 1 2 V 2 -2 V 1 0 V 1 1 V 1 0 V 1 1 V 0 2 V 17 0 V 3 -4 V 2 1 V 1 1 V 1 -1 V 1 0 V 1 -1 V 1 1 V 1 1 V 17 0 V 2 -1 V 2 0 V 1 0 V 1 1 V 1 -1 V 1 1 V 2 0 V 17 1 V 2 -4 V 2 1 V 2 1 V 1 0 V 1 -1 V 1 0 V 1 0 V 1 0 V 17 0 V 1 1 V 3 -1 V 1 0 V 1 1 V 1 0 V 1 0 V 1 0 V 1 -1 V 17 0 V 2 1 V 2 -1 V 1 0 V 2 1 V 1 0 V 1 0 V 1 -1 V 17 0 V 2 1 V 2 -1 V 1 0 V 2 1 V 1 0 V 1 0 V 1 -1 V 1 0 V 17 0 V 2 1 V 1 -1 V 2 0 V 1 1 V 1 0 V 1 0 V 1 -1 V 1 0 V 17 0 V 2 1 V 2 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V stroke 3220 1232 M 1 0 V 17 0 V 2 0 V 2 0 V 1 0 V 2 0 V 1 0 V 1 0 V 1 0 V 17 0 V 2 0 V 2 0 V 1 0 V 2 0 V 1 0 V 1 0 V 1 0 V 1 0 V 17 0 V 2 0 V 1 0 V 2 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 17 0 V 2 0 V 2 0 V 1 0 V 2 0 V 1 0 V 1 0 V 1 0 V 17 0 V 2 0 V 2 0 V 1 0 V 2 0 V 1 0 V 1 0 V 1 0 V 17 0 V 3 0 V 1 0 V 2 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 17 2 V 2 -1 V 2 -1 V 1 0 V 2 -1 V 0 1 V 1 -1 V 1 1 V 1 0 V 17 -2 V 3 2 V 1 0 V 1 0 V 2 -1 V 1 0 V 1 0 V 1 1 V 17 0 V 3 1 V 1 -1 V 2 0 V 1 -1 V 1 0 V 1 0 V 1 1 V 1 0 V 17 1 V 2 1 V 2 2 V 1 1 V 1 -1 V 1 0 V 1 -2 V 1 0 V 1 0 V 17 -2 V 3 2 V 2 -1 V 1 -2 V 1 0 V 1 0 V 1 1 V 0 1 V 1 1 V 1 -1 V 17 0 V 3 0 V 1 -2 V 1 2 V 1 -1 V 1 0 V 1 -1 V stroke 3547 1231 M 0 1 V 2 0 V 0 1 V 17 0 V 3 0 V 1 -1 V 2 0 V 1 1 V 0 3 V 1 1 V 1 -1 V 1 -3 V 1 0 V 17 1 V 3 0 V 1 3 V 1 -1 V 1 -3 V 1 -1 V 1 0 V 1 1 V 1 -2 V 0 2 V 18 -1 V 3 1 V 1 2 V 1 -2 V 1 2 V 1 -2 V 1 -3 V 0 2 V 1 0 V 1 -1 V 17 2 V 3 1 V 2 -2 V 1 -1 V 1 1 V 0 2 V 1 -2 V 1 0 V 0 2 V 1 -1 V 17 1 V 4 -2 V 1 0 V 1 1 V 1 -2 V 1 2 V 0 1 V 1 -2 V 1 -1 V 1 0 V 17 2 V 3 0 V 2 -1 V 1 0 V 0 -1 V 1 -1 V 1 1 V 0 1 V 1 1 V 1 -1 V 18 1 V 3 -2 V 1 3 V 1 -2 V 1 1 V 0 -1 V 1 0 V 1 0 V 1 1 V 0 -1 V 18 -1 V 3 1 V 2 -1 V 0 1 V 1 1 V 1 0 V 1 -1 V 1 0 V 1 0 V 17 0 V 3 0 V 2 0 V 1 0 V 1 -1 V 0 1 V 1 0 V 1 0 V 1 0 V 18 1 V 3 -1 V 1 0 V 1 0 V 1 -1 V 1 0 V 0 1 V 1 0 V 1 0 V 18 0 V 3 0 V 2 0 V 1 1 V stroke 3847 1233 M 1 -1 V 1 0 V 1 0 V 1 0 V 18 -1 V 2 1 V 2 0 V 1 0 V 1 1 V 1 -1 V 1 0 V 1 0 V 18 0 V 3 0 V 1 0 V 1 0 V 1 -1 V 1 1 V 1 0 V 1 0 V 18 1 V 3 -1 V 2 1 V 0 -1 V 1 -1 V 1 0 V 1 1 V 1 0 V 1 0 V 18 0 V 2 0 V 2 -1 V 1 1 V 1 1 V 0 -1 V 1 0 V 1 0 V 1 0 V 18 -1 V 3 1 V 2 0 V 1 1 V 1 0 V 1 -1 V 1 0 V 1 0 V 17 1 V 3 0 V 2 0 V 2 -1 V 0 1 V 1 0 V 2 -1 V 0 1 V 18 0 V 3 -1 V 1 -1 V 1 1 V 1 0 V 1 -1 V 1 1 V 1 1 V 0 -1 V 18 -1 V 3 1 V 2 0 V 1 1 V 1 -1 V 1 0 V 1 0 V 1 0 V 18 0 V 2 1 V 2 2 V 1 3 V 1 0 V 0 1 V 1 -1 V 1 0 V 1 -1 V 0 -1 V 18 -4 V 3 -1 V 2 3 V 1 -3 V 1 0 V 1 0 V 1 1 V 0 1 V 1 2 V 17 1 V 3 -4 V 3 4 V 1 0 V 1 -1 V 1 -1 V 1 -2 V 1 -1 V 0 2 V 17 1 V 2 0 V 4 -1 V 0 1 V 1 -1 V stroke 4177 1233 M 1 2 V 1 5 V 0 2 V 1 -2 V 1 -2 V 17 1 V 2 -4 V 3 -3 V 1 6 V 1 -1 V 1 -2 V 1 -5 V 1 0 V 1 6 V 18 -5 V 1 5 V 3 -6 V 2 3 V 0 1 V 1 0 V 0 1 V 1 -2 V 2 0 V 17 -1 V 2 0 V 2 -1 V 2 1 V 1 2 V 1 0 V 1 -1 V 1 -1 V 1 2 V 16 -1 V 2 0 V 2 0 V 2 -1 V 1 -2 V 1 1 V 1 -1 V 0 2 V 2 -2 V 0 1 V 17 1 V 2 2 V 1 -2 V 3 0 V 0 1 V 1 -1 V 1 1 V 1 -1 V 1 -2 V 17 1 V 3 0 V 1 2 V 2 -2 V 1 0 V 1 0 V 1 1 V 1 0 V 1 -1 V 17 0 V 2 0 V 1 0 V 2 0 V 1 0 V 1 0 V 1 1 V 0 -1 V 1 0 V 1 0 V 17 0 V 2 0 V 2 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 17 0 V 2 0 V 2 0 V 2 0 V 1 0 V 1 0 V 1 0 V 1 0 V 17 0 V 2 0 V 2 0 V 2 0 V 1 0 V 1 0 V 1 0 V 1 0 V 17 0 V 2 0 V 2 0 V 2 0 V 1 0 V 2 0 V 1 0 V 1 0 V 17 0 V stroke 4500 1231 M 2 0 V 1 0 V 2 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 17 0 V 2 0 V 2 -1 V 1 1 V 1 0 V 1 0 V 1 0 V 1 0 V 0 2 V 1 -1 V 17 -1 V 2 0 V 2 0 V 2 0 V 1 0 V 1 0 V 1 0 V 1 1 V 17 0 V 2 -1 V 2 0 V 2 1 V 1 0 V 1 -1 V 1 0 V 1 0 V 1 1 V 16 0 V 2 0 V 2 4 V 2 -4 V 1 0 V 1 0 V 1 1 V 1 0 V 1 0 V 17 0 V 2 -2 V 2 0 V 2 1 V 1 0 V 1 -1 V 1 0 V 1 0 V 0 1 V 17 0 V 2 0 V 2 -1 V 2 1 V 1 0 V 1 0 V 1 0 V 1 0 V 1 -1 V 17 1 V 2 1 V 2 -1 V 1 0 V 1 1 V 1 4 V 1 0 V 0 -1 V 1 -1 V 1 -1 V 17 0 V 2 -4 V 2 2 V 2 0 V 1 -2 V 1 0 V 1 1 V 0 1 V 1 0 V 1 1 V 17 2 V 1 -3 V 2 0 V 2 0 V 1 0 V 1 -1 V 1 0 V 1 0 V 1 1 V 18 0 V 0 1 V 3 -2 V 1 1 V 1 0 V 1 -1 V 1 -1 V 1 1 V 1 1 V 0 2 V 18 -1 V 1 1 V 2 -3 V stroke 4804 1231 M 2 1 V 0 1 V 1 -2 V 1 0 V 1 0 V 1 -1 V 1 1 V 17 2 V 2 2 V 1 -2 V 2 -1 V 1 0 V 1 0 V 0 -1 V 1 1 V 1 -1 V 1 -1 V 18 5 V 2 0 V 1 0 V 1 -3 V 1 -2 V 1 1 V 1 0 V 2 0 V 19 2 V 1 -1 V 2 2 V 1 0 V 1 -1 V 1 0 V 1 -1 V 1 -1 V 20 1 V 1 2 V 1 -1 V 1 -1 V 1 1 V 1 -1 V 1 1 V 1 0 V 1 -1 V 19 -1 V 2 1 V 1 1 V 1 -1 V 1 1 V 1 0 V 1 -1 V 0 2 V 1 -1 V 19 -1 V 2 -1 V 1 2 V 1 -1 V 1 -2 V 1 2 V 1 0 V 1 1 V 1 -1 V 18 0 V 2 0 V 2 0 V 0 1 V 1 -1 V 1 0 V 1 0 V 2 0 V 19 0 V 2 0 V 1 -1 V 1 2 V 1 -1 V 1 0 V 1 0 V 1 0 V 19 0 V 2 0 V 2 0 V 0 -1 V 1 1 V 1 0 V 1 0 V 1 0 V 1 0 V 19 0 V 1 0 V 2 0 V 1 1 V 0 -1 V 1 0 V 1 0 V 2 0 V 19 0 V 2 0 V 1 0 V 1 -1 V 1 1 V 1 0 V 1 0 V 1 0 V 19 2 V 2 0 V 2 2 V stroke 5134 1236 M 0 -1 V 1 -1 V 1 -1 V 1 1 V 0 -1 V 1 0 V 1 0 V 19 0 V 2 -1 V 2 -2 V 0 1 V 1 1 V 1 0 V 1 0 V 1 0 V 20 1 V 1 -1 V 2 1 V 1 0 V 1 -1 V 1 0 V 1 0 V 1 0 V 19 0 V 1 2 V 2 3 V 1 1 V 1 1 V 1 0 V 1 -1 V 1 -1 V 0 -1 V 19 -4 V 2 1 V 2 -1 V 1 -2 V 1 1 V 1 1 V 1 1 V 0 2 V 1 0 V 19 -3 V 2 0 V 2 4 V 1 -1 V 1 -2 V 1 -2 V 1 0 V 1 0 V 0 2 V 18 0 V 2 2 V 3 -3 V 1 2 V 1 3 V 0 3 V 1 0 V 1 -1 V 1 -3 V 17 -2 V 3 -3 V 2 3 V 1 3 V 1 -4 V 1 -1 V 1 -2 V 1 0 V 1 4 V 0 1 V 17 -2 V 2 0 V 3 0 V 1 2 V 1 1 V 1 -1 V 1 -3 V 1 2 V 1 0 V 17 -2 V 2 0 V 2 -1 V 2 1 V 1 -1 V 0 1 V 1 1 V 2 0 V 0 3 V 17 -5 V 2 2 V 3 -3 V 1 4 V 1 1 V 1 0 V 1 -1 V 0 -1 V 2 -3 V 1 1 V 15 -1 V 3 3 V 2 -1 V 2 -2 V 1 0 V 0 1 V 1 0 V stroke 5441 1231 M 1 1 V 1 -1 V 1 -1 V 15 1 V 3 1 V 2 0 V 2 -2 V 1 0 V 1 1 V 1 0 V 1 1 V 1 -2 V 15 2 V 4 0 V 1 -2 V 2 1 V 1 0 V 1 -1 V 1 2 V 1 0 V 1 0 V 16 0 V 3 -2 V 1 2 V 2 1 V 1 -1 V 1 -1 V 1 0 V 1 0 V 1 1 V 16 1 V 3 -2 V 2 0 V 2 0 V 0 1 V 1 0 V 1 -2 V 1 1 V 1 0 V 17 0 V 2 1 V 2 -1 V 2 0 V 1 0 V 1 1 V 1 -1 V 1 -1 V 1 1 V 16 0 V 2 0 V 2 1 V 2 -1 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 16 1 V 3 -2 V 1 2 V 2 -1 V 1 0 V 1 0 V 1 1 V 0 -1 V 1 0 V 1 0 V 17 2 V 2 -2 V 2 0 V 1 0 V 1 -1 V 1 1 V 1 0 V 1 0 V 1 0 V 17 1 V 2 -1 V 2 0 V 2 1 V 0 1 V 1 -1 V 1 -1 V 1 0 V 1 0 V 17 0 V 2 1 V 2 -1 V 2 1 V 1 1 V 0 -1 V 1 1 V 1 -1 V 1 1 V 0 -1 V 18 0 V 2 5 V 1 1 V 2 -6 V 1 -1 V 1 1 V 1 1 V 1 0 V 1 0 V stroke 5743 1233 M 17 -1 V 3 2 V 2 -1 V 1 0 V 1 0 V 1 -1 V 1 1 V 1 -2 V 0 1 V 17 2 V 4 -1 V 1 -1 V 1 0 V 1 0 V 1 0 V 1 -2 V 0 2 V 1 0 V 1 0 V 17 1 V 3 0 V 2 0 V 1 3 V 1 2 V 1 0 V 1 -1 V 0 -1 V 1 -1 V 18 -5 V 3 2 V 1 3 V 2 -5 V 1 1 V 0 1 V 1 -1 V 1 2 V 0 1 V 1 0 V 17 3 V 3 -4 V 2 3 V 1 -1 V 1 -2 V 1 0 V 0 -1 V 1 -1 V 1 0 V 1 1 V 17 2 V 3 0 V 2 -1 V 1 1 V 1 1 V 1 4 V 1 1 V 1 -2 V 18 0 V 2 -6 V 3 2 V 0 2 V 1 1 V 1 -1 V 1 -5 V 1 -1 V 1 2 V 0 2 V 18 -3 V 1 5 V 4 -3 V 1 -1 V 1 -1 V 0 3 V 1 0 V 0 -1 V 2 -3 V 0 2 V 17 0 V 3 3 V 2 -3 V 1 0 V 1 -1 V 1 -1 V 0 2 V 1 2 V 1 -2 V 1 0 V 17 1 V 2 0 V 2 -1 V 1 1 V 1 1 V 1 -2 V 1 -1 V 1 1 V 1 0 V 17 -1 V 3 1 V 2 0 V 1 0 V 1 0 V 0 1 V 1 -1 V 1 0 V 1 0 V stroke 6046 1232 M 17 -1 V 3 1 V 2 0 V 1 -1 V 1 0 V 1 1 V 1 0 V 1 0 V 1 0 V 17 0 V 2 0 V 2 0 V 1 0 V 1 -1 V 1 1 V 1 0 V 1 0 V 1 0 V 17 0 V 3 0 V 2 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 17 0 V 3 0 V 2 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 17 0 V 2 0 V 2 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 17 0 V 3 0 V 2 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 17 0 V 3 0 V 2 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 17 1 V 3 -1 V 2 0 V 1 0 V 1 0 V 1 -1 V 0 1 V 1 0 V 1 0 V 1 0 V 17 0 V 3 0 V 2 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 17 -1 V 3 1 V 2 0 V 1 0 V 1 1 V 1 -1 V 1 1 V 1 -1 V 18 1 V 2 2 V 2 0 V 1 0 V 1 -2 V 1 1 V 0 -1 V 2 0 V 1 0 V 17 -2 V 3 0 V 2 1 V 1 0 V 1 0 V 1 1 V 1 0 V 1 1 V 0 -1 V stroke 6374 1233 M 17 0 V 3 -1 V 2 1 V 2 -1 V 1 0 V 2 -1 V 1 1 V 17 2 V 3 1 V 2 -2 V 1 0 V 0 4 V 2 -1 V 0 2 V 1 2 V 0 -2 V 1 -2 V 17 0 V 4 -3 V 2 1 V 0 2 V 2 -4 V 1 -2 V 0 2 V 2 -2 V 0 3 V 0 2 V 18 -3 V 2 1 V 2 1 V 1 -1 V 1 2 V 1 -2 V 1 -1 V 1 -1 V 0 -1 V 1 1 V 17 0 V 3 2 V 2 0 V 1 -2 V 1 2 V 1 1 V 1 4 V 1 -2 V 17 2 V 3 -6 V 3 4 V 0 1 V 1 -1 V 1 1 V 1 -3 V 1 -3 V 1 1 V 0 1 V 18 -1 V 2 2 V 1474 1230 Pls 1501 1230 Pls 1528 1230 Pls 1537 1230 Pls 1555 1230 Pls 1564 1230 Pls 1569 1230 Pls 1582 1230 Pls 1591 1230 Pls 1595 1231 Pls 1596 1232 Pls 1609 1230 Pls 1618 1230 Pls 1622 1231 Pls 1623 1231 Pls 1636 1230 Pls 1645 1230 Pls 1649 1231 Pls 1650 1231 Pls 1663 1230 Pls 1672 1231 Pls 1677 1231 Pls 1677 1231 Pls 1690 1230 Pls 1699 1231 Pls 1704 1231 Pls 1704 1231 Pls 1717 1230 Pls 1727 1231 Pls 1731 1231 Pls 1732 1231 Pls 1744 1230 Pls 1754 1232 Pls 1758 1233 Pls 1759 1234 Pls 1764 1232 Pls 1771 1230 Pls 1781 1233 Pls 1786 1232 Pls 1786 1233 Pls 1791 1230 Pls 1798 1231 Pls 1809 1233 Pls 1813 1230 Pls 1814 1233 Pls 1818 1230 Pls 1825 1232 Pls 1830 1230 Pls 1836 1234 Pls 1840 1230 Pls 1842 1233 Pls 1845 1230 Pls 1853 1232 Pls 1857 1230 Pls 1864 1233 Pls 1867 1230 Pls 1869 1233 Pls 1872 1231 Pls 1877 1230 Pls 1880 1233 Pls 1884 1230 Pls 1891 1233 Pls 1894 1231 Pls 1897 1233 Pls 1899 1230 Pls 1904 1230 Pls 1908 1233 Pls 1911 1231 Pls 1919 1233 Pls 1921 1231 Pls 1924 1233 Pls 1926 1230 Pls 1931 1230 Pls 1935 1233 Pls 1938 1231 Pls 1946 1233 Pls 1948 1230 Pls 1952 1233 Pls 1953 1232 Pls 1958 1232 Pls 1963 1233 Pls 1965 1230 Pls 1974 1234 Pls 1975 1232 Pls 1979 1233 Pls 1981 1234 Pls 1985 1233 Pls 1990 1231 Pls 1992 1232 Pls 2002 1238 Pls 2003 1235 Pls 2007 1232 Pls 2007 1236 Pls 2008 1236 Pls 2013 1232 Pls 2017 1231 Pls 2020 1234 Pls 2030 1231 Pls 2031 1235 Pls 2034 1230 Pls 2035 1231 Pls 2036 1233 Pls 2040 1230 Pls 2045 1230 Pls 2047 1231 Pls 2057 1231 Pls 2059 1232 Pls 2061 1230 Pls 2062 1230 Pls 2064 1231 Pls 2067 1230 Pls 2072 1230 Pls 2074 1230 Pls 2085 1230 Pls 2086 1230 Pls 2088 1230 Pls 2089 1230 Pls 2091 1230 Pls 2094 1230 Pls 2099 1230 Pls 2101 1230 Pls 2112 1230 Pls 2113 1230 Pls 2115 1234 Pls 2115 1236 Pls 2116 1233 Pls 2118 1230 Pls 2121 1232 Pls 2126 1231 Pls 2128 1230 Pls 2139 1233 Pls 2140 1231 Pls 2143 1230 Pls 2143 1232 Pls 2144 1233 Pls 2145 1232 Pls 2149 1232 Pls 2153 1230 Pls 2155 1232 Pls 2166 1235 Pls 2167 1234 Pls 2170 1230 Pls 2171 1232 Pls 2172 1232 Pls 2172 1232 Pls 2176 1232 Pls 2180 1230 Pls 2183 1231 Pls 2194 1234 Pls 2195 1233 Pls 2197 1230 Pls 2198 1232 Pls 2199 1232 Pls 2200 1231 Pls 2203 1232 Pls 2207 1230 Pls 2210 1231 Pls 2222 1233 Pls 2222 1234 Pls 2224 1232 Pls 2225 1232 Pls 2226 1232 Pls 2227 1231 Pls 2231 1232 Pls 2234 1231 Pls 2237 1231 Pls 2249 1232 Pls 2250 1235 Pls 2251 1233 Pls 2252 1238 Pls 2254 1275 Pls 2254 1274 Pls 2254 1274 Pls 2258 1684 Pls 2261 1669 Pls 2264 1893 Pls 2277 2007 Pls 2278 2002 Pls 2278 2001 Pls 2281 1988 Pls 2289 2004 Pls 2289 2003 Pls 2289 2003 Pls 2367 1924 Pls 2367 1924 Pls 2411 1697 Pls 2444 1521 Pls 2444 1521 Pls 2444 1521 Pls 2444 1522 Pls 2455 1465 Pls 2455 1464 Pls 2455 1464 Pls 2519 1246 Pls 2519 1246 Pls 2522 1234 Pls 2523 1233 Pls 2523 1240 Pls 2523 1244 Pls 2524 1244 Pls 2524 1247 Pls 2524 1247 Pls 2524 1247 Pls 2549 1233 Pls 2549 1243 Pls 2549 1242 Pls 2551 1238 Pls 2552 1235 Pls 2553 1235 Pls 2553 1235 Pls 2554 1238 Pls 2554 1240 Pls 2555 1240 Pls 2576 1233 Pls 2578 1237 Pls 2579 1239 Pls 2579 1239 Pls 2580 1239 Pls 2581 1239 Pls 2581 1238 Pls 2583 1236 Pls 2583 1235 Pls 2583 1237 Pls 2604 1235 Pls 2606 1235 Pls 2607 1234 Pls 2608 1234 Pls 2609 1233 Pls 2609 1235 Pls 2610 1236 Pls 2611 1235 Pls 2611 1236 Pls 2612 1236 Pls 2631 1231 Pls 2634 1235 Pls 2635 1237 Pls 2636 1237 Pls 2636 1236 Pls 2637 1235 Pls 2638 1235 Pls 2639 1235 Pls 2639 1235 Pls 2640 1235 Pls 2659 1233 Pls 2662 1235 Pls 2663 1234 Pls 2664 1235 Pls 2664 1237 Pls 2665 1235 Pls 2666 1235 Pls 2667 1235 Pls 2667 1235 Pls 2668 1235 Pls 2686 1233 Pls 2690 1235 Pls 2691 1235 Pls 2692 1235 Pls 2693 1235 Pls 2693 1235 Pls 2694 1235 Pls 2695 1235 Pls 2695 1235 Pls 2696 1235 Pls 2714 1234 Pls 2718 1236 Pls 2719 1236 Pls 2720 1236 Pls 2721 1235 Pls 2721 1235 Pls 2722 1236 Pls 2723 1235 Pls 2723 1236 Pls 2724 1235 Pls 2741 1234 Pls 2746 1235 Pls 2747 1235 Pls 2748 1236 Pls 2748 1235 Pls 2749 1235 Pls 2750 1235 Pls 2751 1235 Pls 2751 1235 Pls 2752 1235 Pls 2769 1235 Pls 2774 1235 Pls 2775 1235 Pls 2776 1235 Pls 2776 1235 Pls 2777 1235 Pls 2778 1235 Pls 2779 1235 Pls 2779 1235 Pls 2780 1235 Pls 2797 1239 Pls 2802 1234 Pls 2803 1234 Pls 2804 1234 Pls 2804 1235 Pls 2805 1235 Pls 2806 1235 Pls 2807 1235 Pls 2807 1236 Pls 2808 1235 Pls 2826 1232 Pls 2830 1235 Pls 2831 1237 Pls 2831 1235 Pls 2832 1235 Pls 2833 1235 Pls 2834 1235 Pls 2835 1234 Pls 2835 1235 Pls 2836 1235 Pls 2853 1233 Pls 2858 1233 Pls 2859 1234 Pls 2859 1235 Pls 2860 1235 Pls 2861 1235 Pls 2862 1235 Pls 2862 1234 Pls 2863 1235 Pls 2864 1235 Pls 2881 1235 Pls 2885 1231 Pls 2887 1232 Pls 2887 1232 Pls 2888 1231 Pls 2889 1231 Pls 2890 1234 Pls 2890 1233 Pls 2891 1232 Pls 2891 1234 Pls 2909 1234 Pls 2912 1232 Pls 2914 1232 Pls 2915 1231 Pls 2915 1233 Pls 2916 1231 Pls 2917 1231 Pls 2918 1232 Pls 2919 1233 Pls 2919 1232 Pls 2936 1233 Pls 2940 1232 Pls 2941 1232 Pls 2942 1233 Pls 2943 1233 Pls 2944 1232 Pls 2944 1232 Pls 2945 1232 Pls 2946 1232 Pls 2946 1232 Pls 2964 1232 Pls 2967 1233 Pls 2969 1233 Pls 2970 1237 Pls 2970 1238 Pls 2971 1239 Pls 2972 1238 Pls 2972 1238 Pls 2973 1237 Pls 2974 1236 Pls 2991 1233 Pls 2995 1231 Pls 2996 1233 Pls 2998 1231 Pls 2999 1231 Pls 2999 1231 Pls 3000 1232 Pls 3001 1232 Pls 3002 1233 Pls 3002 1235 Pls 3019 1235 Pls 3022 1231 Pls 3024 1232 Pls 3025 1233 Pls 3026 1232 Pls 3027 1232 Pls 3028 1231 Pls 3028 1231 Pls 3029 1232 Pls 3030 1233 Pls 3047 1233 Pls 3049 1232 Pls 3051 1232 Pls 3052 1232 Pls 3053 1233 Pls 3054 1232 Pls 3055 1233 Pls 3055 1233 Pls 3057 1233 Pls 3057 1233 Pls 3074 1234 Pls 3076 1230 Pls 3078 1231 Pls 3080 1232 Pls 3081 1232 Pls 3081 1232 Pls 3082 1231 Pls 3083 1231 Pls 3084 1231 Pls 3085 1231 Pls 3102 1231 Pls 3103 1232 Pls 3106 1231 Pls 3107 1231 Pls 3108 1232 Pls 3109 1232 Pls 3110 1232 Pls 3110 1232 Pls 3111 1232 Pls 3112 1231 Pls 3129 1231 Pls 3131 1232 Pls 3133 1231 Pls 3134 1231 Pls 3136 1232 Pls 3136 1232 Pls 3137 1232 Pls 3138 1232 Pls 3139 1231 Pls 3139 1231 Pls 3156 1231 Pls 3158 1232 Pls 3160 1231 Pls 3161 1231 Pls 3163 1232 Pls 3163 1232 Pls 3164 1232 Pls 3165 1232 Pls 3166 1231 Pls 3167 1231 Pls 3184 1231 Pls 3186 1232 Pls 3187 1231 Pls 3189 1231 Pls 3190 1232 Pls 3191 1232 Pls 3191 1232 Pls 3192 1232 Pls 3193 1231 Pls 3194 1231 Pls 3211 1231 Pls 3213 1232 Pls 3215 1232 Pls 3216 1232 Pls 3217 1232 Pls 3218 1232 Pls 3219 1232 Pls 3219 1232 Pls 3220 1232 Pls 3221 1232 Pls 3238 1232 Pls 3240 1232 Pls 3242 1232 Pls 3243 1232 Pls 3245 1232 Pls 3245 1232 Pls 3246 1232 Pls 3247 1232 Pls 3248 1232 Pls 3248 1232 Pls 3265 1232 Pls 3267 1232 Pls 3269 1232 Pls 3270 1232 Pls 3272 1232 Pls 3273 1232 Pls 3273 1232 Pls 3274 1232 Pls 3275 1232 Pls 3276 1232 Pls 3293 1232 Pls 3295 1232 Pls 3296 1232 Pls 3298 1232 Pls 3299 1232 Pls 3300 1232 Pls 3301 1232 Pls 3301 1232 Pls 3302 1232 Pls 3303 1232 Pls 3320 1232 Pls 3322 1232 Pls 3324 1232 Pls 3325 1232 Pls 3327 1232 Pls 3327 1232 Pls 3328 1232 Pls 3329 1232 Pls 3330 1232 Pls 3330 1232 Pls 3347 1232 Pls 3349 1232 Pls 3351 1232 Pls 3352 1232 Pls 3354 1232 Pls 3354 1232 Pls 3355 1232 Pls 3356 1232 Pls 3357 1232 Pls 3357 1232 Pls 3374 1232 Pls 3377 1232 Pls 3378 1232 Pls 3380 1232 Pls 3381 1232 Pls 3382 1232 Pls 3383 1232 Pls 3383 1232 Pls 3384 1232 Pls 3385 1232 Pls 3402 1234 Pls 3404 1233 Pls 3406 1232 Pls 3407 1232 Pls 3409 1231 Pls 3409 1232 Pls 3410 1231 Pls 3411 1232 Pls 3411 1232 Pls 3412 1232 Pls 3429 1230 Pls 3432 1232 Pls 3433 1232 Pls 3434 1232 Pls 3436 1231 Pls 3436 1231 Pls 3437 1231 Pls 3438 1231 Pls 3439 1232 Pls 3439 1232 Pls 3456 1232 Pls 3459 1233 Pls 3460 1232 Pls 3462 1232 Pls 3463 1231 Pls 3464 1231 Pls 3464 1231 Pls 3465 1231 Pls 3466 1232 Pls 3467 1232 Pls 3484 1233 Pls 3486 1234 Pls 3488 1236 Pls 3489 1237 Pls 3490 1236 Pls 3491 1236 Pls 3491 1236 Pls 3492 1234 Pls 3493 1234 Pls 3494 1234 Pls 3511 1232 Pls 3514 1234 Pls 3516 1233 Pls 3517 1231 Pls 3518 1231 Pls 3519 1231 Pls 3520 1232 Pls 3520 1233 Pls 3521 1234 Pls 3522 1233 Pls 3539 1233 Pls 3542 1233 Pls 3543 1231 Pls 3544 1233 Pls 3545 1232 Pls 3546 1232 Pls 3547 1231 Pls 3547 1232 Pls 3549 1232 Pls 3549 1233 Pls 3566 1233 Pls 3569 1233 Pls 3570 1232 Pls 3572 1232 Pls 3573 1233 Pls 3573 1236 Pls 3574 1237 Pls 3575 1236 Pls 3576 1233 Pls 3577 1233 Pls 3594 1234 Pls 3597 1234 Pls 3598 1237 Pls 3599 1236 Pls 3600 1233 Pls 3601 1232 Pls 3602 1232 Pls 3603 1233 Pls 3604 1231 Pls 3604 1233 Pls 3622 1232 Pls 3625 1233 Pls 3626 1235 Pls 3627 1233 Pls 3628 1235 Pls 3629 1233 Pls 3630 1230 Pls 3630 1232 Pls 3631 1232 Pls 3632 1231 Pls 3649 1233 Pls 3652 1234 Pls 3654 1232 Pls 3655 1231 Pls 3656 1232 Pls 3656 1234 Pls 3657 1232 Pls 3658 1232 Pls 3658 1234 Pls 3659 1233 Pls 3676 1234 Pls 3680 1232 Pls 3681 1232 Pls 3682 1233 Pls 3683 1231 Pls 3684 1233 Pls 3684 1234 Pls 3685 1232 Pls 3686 1231 Pls 3687 1231 Pls 3704 1233 Pls 3707 1233 Pls 3709 1232 Pls 3710 1232 Pls 3710 1231 Pls 3711 1230 Pls 3712 1231 Pls 3712 1232 Pls 3713 1233 Pls 3714 1232 Pls 3732 1233 Pls 3735 1231 Pls 3736 1234 Pls 3737 1232 Pls 3738 1233 Pls 3738 1232 Pls 3739 1232 Pls 3740 1232 Pls 3741 1233 Pls 3741 1232 Pls 3759 1231 Pls 3762 1232 Pls 3764 1231 Pls 3764 1232 Pls 3765 1233 Pls 3766 1233 Pls 3767 1232 Pls 3767 1232 Pls 3768 1232 Pls 3769 1232 Pls 3786 1232 Pls 3789 1232 Pls 3791 1232 Pls 3792 1232 Pls 3793 1231 Pls 3793 1232 Pls 3794 1232 Pls 3795 1232 Pls 3796 1232 Pls 3796 1232 Pls 3814 1233 Pls 3817 1232 Pls 3818 1232 Pls 3819 1232 Pls 3820 1231 Pls 3821 1231 Pls 3821 1232 Pls 3822 1232 Pls 3823 1232 Pls 3823 1232 Pls 3841 1232 Pls 3844 1232 Pls 3846 1232 Pls 3846 1232 Pls 3847 1233 Pls 3848 1232 Pls 3849 1232 Pls 3849 1232 Pls 3850 1232 Pls 3851 1232 Pls 3869 1231 Pls 3871 1232 Pls 3873 1232 Pls 3874 1232 Pls 3875 1233 Pls 3875 1233 Pls 3876 1232 Pls 3877 1232 Pls 3878 1232 Pls 3878 1232 Pls 3896 1232 Pls 3899 1232 Pls 3900 1232 Pls 3901 1232 Pls 3902 1231 Pls 3903 1232 Pls 3903 1232 Pls 3904 1232 Pls 3905 1232 Pls 3905 1232 Pls 3923 1233 Pls 3926 1232 Pls 3928 1233 Pls 3928 1232 Pls 3929 1231 Pls 3930 1231 Pls 3931 1232 Pls 3931 1232 Pls 3932 1232 Pls 3933 1232 Pls 3951 1232 Pls 3953 1232 Pls 3955 1231 Pls 3956 1232 Pls 3957 1233 Pls 3957 1232 Pls 3958 1232 Pls 3959 1232 Pls 3960 1232 Pls 3960 1232 Pls 3978 1231 Pls 3981 1232 Pls 3983 1232 Pls 3983 1232 Pls 3984 1233 Pls 3985 1233 Pls 3986 1232 Pls 3986 1232 Pls 3987 1232 Pls 3988 1232 Pls 4005 1233 Pls 4008 1233 Pls 4010 1233 Pls 4010 1233 Pls 4012 1232 Pls 4012 1233 Pls 4013 1233 Pls 4013 1233 Pls 4015 1232 Pls 4015 1233 Pls 4033 1233 Pls 4036 1232 Pls 4037 1231 Pls 4038 1232 Pls 4039 1232 Pls 4040 1231 Pls 4040 1231 Pls 4041 1232 Pls 4042 1233 Pls 4042 1232 Pls 4060 1231 Pls 4063 1232 Pls 4065 1232 Pls 4065 1232 Pls 4066 1233 Pls 4067 1232 Pls 4068 1232 Pls 4068 1232 Pls 4069 1232 Pls 4070 1232 Pls 4088 1232 Pls 4090 1233 Pls 4092 1235 Pls 4093 1238 Pls 4094 1238 Pls 4094 1239 Pls 4095 1238 Pls 4096 1238 Pls 4097 1237 Pls 4097 1236 Pls 4115 1232 Pls 4118 1231 Pls 4120 1234 Pls 4121 1231 Pls 4122 1231 Pls 4123 1231 Pls 4124 1232 Pls 4124 1233 Pls 4125 1235 Pls 4125 1235 Pls 4142 1236 Pls 4145 1232 Pls 4148 1236 Pls 4148 1236 Pls 4149 1236 Pls 4150 1235 Pls 4151 1234 Pls 4152 1232 Pls 4153 1231 Pls 4153 1233 Pls 4170 1234 Pls 4172 1234 Pls 4176 1233 Pls 4176 1234 Pls 4177 1233 Pls 4178 1235 Pls 4179 1240 Pls 4179 1242 Pls 4180 1240 Pls 4181 1238 Pls 4198 1239 Pls 4200 1235 Pls 4203 1232 Pls 4204 1238 Pls 4205 1237 Pls 4206 1235 Pls 4207 1230 Pls 4208 1230 Pls 4209 1236 Pls 4209 1236 Pls 4227 1231 Pls 4228 1236 Pls 4231 1230 Pls 4233 1233 Pls 4233 1234 Pls 4234 1234 Pls 4234 1235 Pls 4235 1233 Pls 4237 1233 Pls 4237 1233 Pls 4254 1232 Pls 4256 1232 Pls 4258 1231 Pls 4260 1232 Pls 4261 1234 Pls 4261 1234 Pls 4262 1234 Pls 4263 1233 Pls 4264 1232 Pls 4265 1234 Pls 4281 1233 Pls 4283 1233 Pls 4285 1233 Pls 4287 1232 Pls 4288 1230 Pls 4289 1231 Pls 4290 1230 Pls 4290 1232 Pls 4292 1230 Pls 4292 1231 Pls 4309 1232 Pls 4311 1234 Pls 4312 1232 Pls 4315 1232 Pls 4315 1233 Pls 4316 1232 Pls 4317 1233 Pls 4318 1232 Pls 4319 1230 Pls 4319 1230 Pls 4336 1231 Pls 4339 1231 Pls 4340 1233 Pls 4342 1231 Pls 4343 1231 Pls 4343 1231 Pls 4344 1231 Pls 4345 1232 Pls 4346 1232 Pls 4347 1231 Pls 4364 1231 Pls 4366 1231 Pls 4367 1231 Pls 4369 1231 Pls 4370 1231 Pls 4371 1231 Pls 4372 1232 Pls 4372 1231 Pls 4373 1231 Pls 4374 1231 Pls 4391 1231 Pls 4393 1231 Pls 4395 1231 Pls 4396 1231 Pls 4397 1231 Pls 4398 1231 Pls 4399 1231 Pls 4400 1231 Pls 4400 1231 Pls 4401 1231 Pls 4418 1231 Pls 4420 1231 Pls 4422 1231 Pls 4424 1231 Pls 4425 1231 Pls 4425 1231 Pls 4426 1231 Pls 4427 1231 Pls 4428 1231 Pls 4428 1231 Pls 4445 1231 Pls 4447 1231 Pls 4449 1231 Pls 4451 1231 Pls 4452 1231 Pls 4452 1231 Pls 4453 1231 Pls 4454 1231 Pls 4455 1231 Pls 4455 1231 Pls 4472 1231 Pls 4474 1231 Pls 4476 1231 Pls 4478 1231 Pls 4479 1231 Pls 4479 1231 Pls 4481 1231 Pls 4481 1231 Pls 4482 1231 Pls 4483 1231 Pls 4500 1231 Pls 4502 1231 Pls 4503 1231 Pls 4505 1231 Pls 4506 1231 Pls 4507 1231 Pls 4508 1231 Pls 4508 1231 Pls 4509 1231 Pls 4510 1231 Pls 4527 1231 Pls 4529 1231 Pls 4531 1230 Pls 4532 1231 Pls 4533 1231 Pls 4534 1231 Pls 4535 1231 Pls 4536 1231 Pls 4536 1233 Pls 4537 1232 Pls 4554 1231 Pls 4556 1231 Pls 4558 1231 Pls 4560 1231 Pls 4561 1231 Pls 4561 1231 Pls 4562 1231 Pls 4563 1231 Pls 4564 1232 Pls 4564 1232 Pls 4581 1232 Pls 4583 1231 Pls 4585 1231 Pls 4587 1232 Pls 4588 1232 Pls 4588 1232 Pls 4589 1231 Pls 4590 1231 Pls 4591 1231 Pls 4592 1232 Pls 4608 1232 Pls 4610 1232 Pls 4612 1236 Pls 4614 1232 Pls 4615 1232 Pls 4616 1232 Pls 4617 1233 Pls 4617 1233 Pls 4618 1233 Pls 4619 1233 Pls 4636 1233 Pls 4638 1231 Pls 4640 1231 Pls 4642 1232 Pls 4642 1232 Pls 4643 1232 Pls 4644 1231 Pls 4645 1231 Pls 4646 1231 Pls 4646 1232 Pls 4663 1232 Pls 4665 1232 Pls 4667 1231 Pls 4669 1232 Pls 4670 1232 Pls 4670 1232 Pls 4671 1232 Pls 4672 1232 Pls 4673 1232 Pls 4674 1231 Pls 4691 1232 Pls 4693 1233 Pls 4695 1232 Pls 4696 1232 Pls 4697 1233 Pls 4698 1237 Pls 4699 1237 Pls 4699 1236 Pls 4700 1235 Pls 4701 1234 Pls 4718 1234 Pls 4720 1230 Pls 4722 1232 Pls 4724 1232 Pls 4725 1230 Pls 4726 1230 Pls 4727 1231 Pls 4727 1232 Pls 4728 1232 Pls 4729 1233 Pls 4746 1235 Pls 4747 1232 Pls 4749 1232 Pls 4751 1232 Pls 4752 1232 Pls 4753 1231 Pls 4754 1231 Pls 4755 1231 Pls 4756 1232 Pls 4756 1232 Pls 4774 1232 Pls 4774 1233 Pls 4777 1231 Pls 4778 1232 Pls 4779 1232 Pls 4780 1231 Pls 4781 1230 Pls 4782 1231 Pls 4783 1232 Pls 4783 1234 Pls 4801 1233 Pls 4802 1234 Pls 4804 1231 Pls 4806 1232 Pls 4806 1233 Pls 4807 1231 Pls 4808 1231 Pls 4809 1231 Pls 4810 1230 Pls 4811 1231 Pls 4828 1233 Pls 4830 1235 Pls 4831 1233 Pls 4833 1232 Pls 4834 1232 Pls 4835 1232 Pls 4835 1231 Pls 4836 1232 Pls 4837 1231 Pls 4838 1230 Pls 4856 1235 Pls 4858 1235 Pls 4859 1235 Pls 4860 1232 Pls 4861 1230 Pls 4862 1231 Pls 4863 1231 Pls 4863 1231 Pls 4865 1231 Pls 4865 1231 Pls 4884 1233 Pls 4885 1232 Pls 4887 1234 Pls 4888 1234 Pls 4888 1234 Pls 4889 1233 Pls 4890 1233 Pls 4891 1232 Pls 4892 1231 Pls 4892 1231 Pls 4912 1232 Pls 4913 1234 Pls 4914 1233 Pls 4915 1232 Pls 4916 1233 Pls 4917 1232 Pls 4918 1233 Pls 4918 1233 Pls 4919 1233 Pls 4920 1232 Pls 4939 1231 Pls 4941 1232 Pls 4942 1233 Pls 4943 1232 Pls 4944 1233 Pls 4944 1233 Pls 4945 1233 Pls 4946 1232 Pls 4946 1234 Pls 4947 1233 Pls 4966 1232 Pls 4968 1231 Pls 4969 1233 Pls 4970 1232 Pls 4971 1230 Pls 4972 1232 Pls 4972 1232 Pls 4973 1232 Pls 4974 1233 Pls 4975 1232 Pls 4993 1232 Pls 4995 1232 Pls 4997 1232 Pls 4997 1233 Pls 4998 1232 Pls 4999 1232 Pls 5000 1232 Pls 5000 1232 Pls 5002 1232 Pls 5002 1232 Pls 5021 1232 Pls 5023 1232 Pls 5024 1231 Pls 5025 1233 Pls 5026 1232 Pls 5026 1232 Pls 5027 1232 Pls 5028 1232 Pls 5029 1232 Pls 5029 1232 Pls 5048 1232 Pls 5050 1232 Pls 5052 1232 Pls 5052 1231 Pls 5053 1232 Pls 5054 1232 Pls 5055 1232 Pls 5055 1232 Pls 5056 1232 Pls 5057 1232 Pls 5076 1232 Pls 5077 1232 Pls 5079 1232 Pls 5080 1233 Pls 5080 1232 Pls 5081 1232 Pls 5082 1232 Pls 5082 1232 Pls 5084 1232 Pls 5084 1232 Pls 5103 1232 Pls 5105 1232 Pls 5106 1232 Pls 5107 1231 Pls 5108 1232 Pls 5108 1232 Pls 5109 1232 Pls 5110 1232 Pls 5111 1232 Pls 5111 1232 Pls 5130 1234 Pls 5132 1234 Pls 5134 1236 Pls 5134 1235 Pls 5135 1234 Pls 5136 1233 Pls 5137 1234 Pls 5137 1233 Pls 5138 1233 Pls 5139 1233 Pls 5158 1233 Pls 5160 1232 Pls 5162 1230 Pls 5162 1231 Pls 5163 1232 Pls 5163 1232 Pls 5164 1232 Pls 5165 1232 Pls 5166 1232 Pls 5166 1232 Pls 5186 1233 Pls 5187 1232 Pls 5189 1233 Pls 5189 1233 Pls 5190 1233 Pls 5191 1232 Pls 5192 1232 Pls 5192 1232 Pls 5193 1232 Pls 5194 1232 Pls 5213 1232 Pls 5214 1234 Pls 5216 1237 Pls 5217 1238 Pls 5218 1239 Pls 5218 1239 Pls 5219 1239 Pls 5220 1238 Pls 5221 1237 Pls 5221 1236 Pls 5240 1232 Pls 5242 1233 Pls 5244 1232 Pls 5245 1230 Pls 5246 1231 Pls 5247 1232 Pls 5248 1233 Pls 5248 1235 Pls 5249 1235 Pls 5249 1235 Pls 5268 1232 Pls 5270 1232 Pls 5272 1236 Pls 5272 1236 Pls 5273 1235 Pls 5274 1233 Pls 5275 1231 Pls 5276 1231 Pls 5277 1231 Pls 5277 1233 Pls 5295 1233 Pls 5297 1235 Pls 5300 1232 Pls 5300 1232 Pls 5301 1234 Pls 5302 1237 Pls 5302 1240 Pls 5303 1240 Pls 5304 1239 Pls 5305 1236 Pls 5322 1234 Pls 5325 1231 Pls 5327 1234 Pls 5328 1237 Pls 5329 1233 Pls 5330 1232 Pls 5331 1230 Pls 5332 1230 Pls 5333 1234 Pls 5333 1235 Pls 5350 1233 Pls 5352 1233 Pls 5355 1233 Pls 5356 1235 Pls 5357 1236 Pls 5357 1236 Pls 5358 1235 Pls 5359 1232 Pls 5360 1234 Pls 5361 1234 Pls 5378 1232 Pls 5380 1232 Pls 5382 1231 Pls 5384 1232 Pls 5385 1231 Pls 5385 1232 Pls 5386 1233 Pls 5386 1233 Pls 5388 1233 Pls 5388 1236 Pls 5405 1231 Pls 5407 1233 Pls 5410 1230 Pls 5411 1234 Pls 5412 1235 Pls 5413 1235 Pls 5414 1234 Pls 5414 1233 Pls 5416 1230 Pls 5417 1231 Pls 5432 1230 Pls 5435 1233 Pls 5437 1232 Pls 5439 1230 Pls 5440 1230 Pls 5440 1231 Pls 5441 1231 Pls 5442 1232 Pls 5443 1231 Pls 5444 1230 Pls 5459 1231 Pls 5462 1232 Pls 5464 1232 Pls 5466 1230 Pls 5467 1230 Pls 5468 1231 Pls 5469 1231 Pls 5469 1231 Pls 5470 1232 Pls 5471 1230 Pls 5486 1232 Pls 5490 1232 Pls 5491 1230 Pls 5493 1231 Pls 5494 1231 Pls 5495 1230 Pls 5496 1232 Pls 5496 1232 Pls 5497 1232 Pls 5498 1232 Pls 5514 1232 Pls 5517 1230 Pls 5518 1232 Pls 5520 1233 Pls 5521 1232 Pls 5522 1231 Pls 5523 1231 Pls 5524 1231 Pls 5525 1232 Pls 5525 1232 Pls 5541 1233 Pls 5544 1231 Pls 5546 1231 Pls 5548 1231 Pls 5548 1232 Pls 5549 1232 Pls 5550 1230 Pls 5551 1231 Pls 5552 1231 Pls 5552 1231 Pls 5569 1231 Pls 5571 1232 Pls 5573 1231 Pls 5575 1231 Pls 5576 1231 Pls 5576 1231 Pls 5577 1232 Pls 5578 1231 Pls 5579 1230 Pls 5580 1231 Pls 5596 1231 Pls 5598 1231 Pls 5600 1232 Pls 5602 1231 Pls 5603 1231 Pls 5603 1231 Pls 5604 1231 Pls 5605 1231 Pls 5606 1231 Pls 5607 1231 Pls 5623 1232 Pls 5626 1230 Pls 5627 1232 Pls 5629 1231 Pls 5630 1231 Pls 5631 1231 Pls 5632 1232 Pls 5632 1231 Pls 5633 1231 Pls 5634 1231 Pls 5651 1233 Pls 5653 1231 Pls 5655 1231 Pls 5656 1231 Pls 5657 1230 Pls 5658 1231 Pls 5659 1231 Pls 5660 1231 Pls 5660 1231 Pls 5661 1231 Pls 5678 1232 Pls 5680 1231 Pls 5682 1231 Pls 5684 1232 Pls 5684 1233 Pls 5685 1232 Pls 5686 1231 Pls 5687 1231 Pls 5688 1231 Pls 5688 1231 Pls 5705 1231 Pls 5707 1232 Pls 5709 1231 Pls 5711 1232 Pls 5712 1233 Pls 5712 1232 Pls 5713 1233 Pls 5714 1232 Pls 5715 1233 Pls 5715 1232 Pls 5733 1232 Pls 5735 1237 Pls 5736 1238 Pls 5738 1232 Pls 5739 1231 Pls 5740 1232 Pls 5741 1233 Pls 5741 1233 Pls 5742 1233 Pls 5743 1233 Pls 5760 1232 Pls 5763 1234 Pls 5765 1233 Pls 5766 1233 Pls 5767 1233 Pls 5767 1233 Pls 5768 1232 Pls 5769 1233 Pls 5770 1231 Pls 5770 1232 Pls 5787 1234 Pls 5791 1233 Pls 5792 1232 Pls 5793 1232 Pls 5794 1232 Pls 5795 1232 Pls 5796 1230 Pls 5796 1232 Pls 5797 1232 Pls 5798 1232 Pls 5815 1233 Pls 5818 1233 Pls 5820 1233 Pls 5821 1236 Pls 5822 1238 Pls 5822 1238 Pls 5823 1238 Pls 5824 1237 Pls 5824 1236 Pls 5825 1235 Pls 5843 1230 Pls 5846 1232 Pls 5847 1235 Pls 5849 1230 Pls 5850 1231 Pls 5850 1232 Pls 5851 1231 Pls 5852 1233 Pls 5852 1234 Pls 5853 1234 Pls 5870 1237 Pls 5873 1233 Pls 5875 1236 Pls 5876 1235 Pls 5877 1233 Pls 5878 1233 Pls 5878 1232 Pls 5879 1231 Pls 5880 1231 Pls 5881 1232 Pls 5898 1234 Pls 5901 1234 Pls 5903 1233 Pls 5904 1234 Pls 5905 1235 Pls 5905 1235 Pls 5906 1239 Pls 5907 1240 Pls 5907 1240 Pls 5908 1238 Pls 5926 1238 Pls 5928 1232 Pls 5931 1234 Pls 5931 1236 Pls 5932 1237 Pls 5933 1236 Pls 5934 1231 Pls 5935 1230 Pls 5936 1232 Pls 5936 1234 Pls 5954 1231 Pls 5955 1236 Pls 5959 1233 Pls 5960 1232 Pls 5961 1231 Pls 5961 1234 Pls 5962 1234 Pls 5962 1233 Pls 5964 1230 Pls 5964 1232 Pls 5981 1232 Pls 5984 1235 Pls 5986 1232 Pls 5987 1232 Pls 5988 1231 Pls 5989 1230 Pls 5989 1232 Pls 5990 1234 Pls 5991 1232 Pls 5992 1232 Pls 6009 1233 Pls 6011 1233 Pls 6013 1232 Pls 6014 1233 Pls 6015 1234 Pls 6016 1232 Pls 6017 1231 Pls 6018 1232 Pls 6018 1232 Pls 6019 1232 Pls 6036 1231 Pls 6039 1232 Pls 6041 1232 Pls 6042 1232 Pls 6043 1232 Pls 6043 1233 Pls 6044 1232 Pls 6045 1232 Pls 6045 1232 Pls 6046 1232 Pls 6063 1231 Pls 6066 1232 Pls 6068 1232 Pls 6069 1231 Pls 6070 1231 Pls 6071 1232 Pls 6071 1232 Pls 6072 1232 Pls 6073 1232 Pls 6074 1232 Pls 6091 1232 Pls 6093 1232 Pls 6095 1232 Pls 6096 1232 Pls 6097 1231 Pls 6098 1232 Pls 6099 1232 Pls 6099 1232 Pls 6100 1232 Pls 6101 1232 Pls 6118 1232 Pls 6121 1232 Pls 6123 1232 Pls 6124 1232 Pls 6124 1232 Pls 6125 1232 Pls 6126 1232 Pls 6127 1232 Pls 6127 1232 Pls 6128 1232 Pls 6145 1232 Pls 6148 1232 Pls 6150 1232 Pls 6151 1232 Pls 6152 1232 Pls 6153 1232 Pls 6153 1232 Pls 6154 1232 Pls 6155 1232 Pls 6156 1232 Pls 6173 1232 Pls 6175 1232 Pls 6177 1232 Pls 6178 1232 Pls 6179 1232 Pls 6180 1232 Pls 6180 1232 Pls 6181 1232 Pls 6182 1232 Pls 6183 1232 Pls 6200 1232 Pls 6203 1232 Pls 6205 1232 Pls 6206 1232 Pls 6206 1232 Pls 6207 1232 Pls 6208 1232 Pls 6209 1232 Pls 6209 1232 Pls 6210 1232 Pls 6227 1232 Pls 6230 1232 Pls 6232 1232 Pls 6233 1232 Pls 6234 1232 Pls 6235 1232 Pls 6235 1232 Pls 6236 1232 Pls 6237 1232 Pls 6237 1232 Pls 6254 1233 Pls 6257 1232 Pls 6259 1232 Pls 6260 1232 Pls 6261 1232 Pls 6262 1231 Pls 6262 1232 Pls 6263 1232 Pls 6264 1232 Pls 6265 1232 Pls 6282 1232 Pls 6285 1232 Pls 6287 1232 Pls 6288 1232 Pls 6288 1232 Pls 6289 1232 Pls 6290 1232 Pls 6291 1232 Pls 6291 1232 Pls 6292 1232 Pls 6309 1231 Pls 6312 1232 Pls 6314 1232 Pls 6315 1232 Pls 6316 1233 Pls 6316 1233 Pls 6317 1232 Pls 6318 1233 Pls 6319 1232 Pls 6319 1232 Pls 6337 1233 Pls 6339 1235 Pls 6341 1235 Pls 6342 1235 Pls 6343 1233 Pls 6344 1234 Pls 6344 1233 Pls 6346 1233 Pls 6346 1233 Pls 6347 1233 Pls 6364 1231 Pls 6367 1231 Pls 6369 1232 Pls 6370 1232 Pls 6371 1232 Pls 6372 1233 Pls 6372 1233 Pls 6373 1233 Pls 6374 1234 Pls 6374 1233 Pls 6391 1233 Pls 6394 1232 Pls 6396 1233 Pls 6398 1232 Pls 6398 1232 Pls 6399 1232 Pls 6399 1232 Pls 6401 1231 Pls 6401 1231 Pls 6402 1232 Pls 6419 1234 Pls 6422 1235 Pls 6424 1233 Pls 6425 1233 Pls 6425 1237 Pls 6427 1236 Pls 6427 1238 Pls 6428 1240 Pls 6428 1238 Pls 6429 1236 Pls 6446 1236 Pls 6450 1233 Pls 6452 1234 Pls 6452 1236 Pls 6454 1232 Pls 6455 1230 Pls 6455 1232 Pls 6457 1230 Pls 6457 1233 Pls 6457 1235 Pls 6475 1232 Pls 6477 1233 Pls 6479 1234 Pls 6480 1233 Pls 6481 1235 Pls 6482 1233 Pls 6483 1232 Pls 6484 1231 Pls 6484 1230 Pls 6485 1231 Pls 6502 1231 Pls 6505 1233 Pls 6507 1233 Pls 6508 1231 Pls 6509 1233 Pls 6509 1233 Pls 6510 1234 Pls 6511 1238 Pls 6511 1238 Pls 6512 1236 Pls 6529 1238 Pls 6532 1232 Pls 6535 1236 Pls 6535 1237 Pls 6536 1236 Pls 6537 1237 Pls 6538 1234 Pls 6539 1231 Pls 6540 1232 Pls 6540 1233 Pls 6558 1232 Pls 6560 1234 Pls 6016 3717 Pls 1.000 UP 1.000 UL LT1 LTb 5661 3357 M gsave 0 setgray (10 at a time) Rshow grestore LT1 5877 3357 M 279 0 V 1441 1230 M 27 0 V 27 0 V 27 0 V 27 0 V 12 0 V 15 0 V 12 0 V 15 0 V 12 0 V 15 0 V 12 0 V 15 0 V 12 0 V 15 1 V 6 0 V 6 1 V 15 -2 V 6 1 V 6 0 V 15 -1 V 6 1 V 6 0 V 12 -1 V 3 0 V 6 1 V 6 2 V 0 2 V 12 -4 V 3 -1 V 6 0 V 7 1 V 0 1 V 11 -1 V 3 -1 V 6 0 V 7 0 V 1 1 V 10 0 V 3 -1 V 6 0 V 3 0 V 4 0 V 1 1 V 10 -1 V 3 0 V 6 0 V 3 0 V 4 0 V 1 0 V 7 1 V 3 -1 V 3 1 V 6 -1 V 3 0 V 4 0 V 1 0 V 7 1 V 3 -1 V 3 1 V 6 -1 V 3 0 V 4 0 V 1 0 V 7 1 V 3 -1 V 3 1 V 6 -1 V 3 0 V 1 2 V 3 -2 V 1 0 V 8 2 V 2 -2 V 3 1 V 6 0 V 3 -1 V 2 1 V 2 -1 V 1 0 V 8 3 V 2 -3 V 4 1 V 6 0 V 2 0 V 2 -1 V 2 2 V 0 3 V 1 -2 V 8 -1 V 2 -1 V 4 2 V 6 -1 V 2 0 V 2 -2 V 2 0 V 1 3 V 1 -1 V 8 -1 V 2 0 V 3 1 V 6 0 V 3 0 V stroke 2072 1232 M 1 -2 V 2 1 V 2 0 V 0 1 V 8 -1 V 2 -1 V 4 1 V 5 2 V 3 0 V 1 -2 V 2 2 V 2 -2 V 8 1 V 2 -1 V 4 1 V 5 -1 V 1 0 V 3 0 V 3 1 V 1 0 V 8 -1 V 2 0 V 4 0 V 5 -1 V 1 1 V 3 1 V 3 -1 V 1 1 V 1 0 V 7 -2 V 2 1 V 4 0 V 5 -1 V 1 1 V 3 1 V 1 0 V 3 -1 V 1 0 V 7 -1 V 2 0 V 5 1 V 4 1 V 1 -1 V 3 0 V 1 0 V 3 -1 V 1 0 V 0 1 V 7 1 V 2 -2 V 5 2 V 4 -1 V 2 0 V 3 0 V 3 -1 V 1 0 V 8 1 V 1 0 V 5 4 V 4 57 V 2 7 V 3 3 V 0 4 V 3 2 V 1 -1 V 0 1 V 8 -8 V 1 -1 V 6 -23 V 15 25 V 2 5 V 4 -2 V 1 4 V 3 2 V 1 4 V 1 2 V 6 -13 V 1 1 V 1 -6 V 19 -4 V 4 8 V 3 1 V 2 11 V 3 0 V 2 -4 V 1 -1 V 4 -4 V 1 -4 V 1 -2 V 18 -5 V 5 4 V 3 9 V 4 8 V 3 -4 V 1 2 V 1 -2 V 3 -6 V 1 -3 V 0 1 V 17 -16 V 6 13 V 5 4 V 5 6 V 3 -1 V stroke 2432 1309 M 1 -4 V 1 -2 V 2 -8 V 15 -28 V 8 23 V 5 12 V 7 11 V 2 -6 V 1 -2 V 0 1 V 1 -1 V 0 1 V 9 -31 V 13 14 V 7 19 V 9 -4 V 1 -3 V 1 1 V 0 -1 V 4 -21 V 15 5 V 11 21 V 8 -4 V 1 -2 V 0 1 V 1 -3 V 0 -1 V 0 -1 V 0 1 V 16 -31 V 15 41 V 7 0 V 1 -2 V 0 -1 V 0 5 V 0 1 V 0 -1 V 11 -38 V 22 41 V 7 -11 V 0 1 V 1 -3 V 0 -1 V 1 0 V 3 -17 V 30 -37 V 5 -12 V 0 7 V 0 9 V 0 4 V 1 2 V 0 1 V 0 1 V 23 -26 V 3 11 V 2 -6 V 2 -5 V 1 2 V 0 5 V 0 4 V 1 2 V 18 -4 V 5 -6 V 1 9 V 1 -2 V 1 -2 V 1 -5 V 1 -1 V 1 5 V 18 -5 V 4 1 V 2 -2 V 1 0 V 0 3 V 1 2 V 0 1 V 1 -2 V 1 -2 V 0 1 V 17 0 V 4 1 V 2 -1 V 1 -2 V 1 -1 V 1 -1 V 0 2 V 1 1 V 1 -1 V 0 1 V 17 1 V 4 -1 V 2 1 V 1 1 V 1 -1 V 1 -2 V 0 1 V 1 0 V 1 0 V 17 1 V 3 -1 V 2 -1 V 1 0 V 1 0 V 0 1 V stroke 2844 1233 M 1 0 V 1 0 V 1 0 V 17 1 V 4 -1 V 2 -1 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 17 2 V 3 -2 V 2 0 V 1 1 V 1 0 V 1 1 V 1 -2 V 1 0 V 18 2 V 3 -2 V 1 1 V 1 -2 V 1 1 V 1 -1 V 1 1 V 1 0 V 1 0 V 18 0 V 2 0 V 2 1 V 0 -1 V 1 1 V 1 0 V 1 0 V 0 -1 V 2 0 V 18 0 V 3 0 V 1 1 V 1 0 V 1 0 V 0 -1 V 1 0 V 1 0 V 1 1 V 18 -1 V 3 0 V 2 -1 V 0 1 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 18 0 V 3 0 V 1 2 V 1 -1 V 1 0 V 0 -1 V 1 0 V 1 0 V 1 0 V 0 1 V 18 0 V 3 0 V 2 -2 V 0 1 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 17 0 V 3 0 V 2 2 V 1 -1 V 1 0 V 1 0 V 1 -1 V 1 0 V 18 1 V 3 0 V 2 -2 V 0 1 V 1 0 V 1 0 V 1 1 V 1 0 V 1 0 V 17 -1 V 3 0 V 2 2 V 0 -1 V 1 0 V 1 -1 V 1 0 V 2 0 V 18 1 V 3 0 V 1 -2 V 1 1 V 1 -1 V stroke 3173 1231 M 0 1 V 1 0 V 1 0 V 1 1 V 0 -1 V 18 0 V 3 0 V 2 2 V 0 -1 V 1 0 V 1 -1 V 1 0 V 1 0 V 1 0 V 17 1 V 4 -1 V 1 -1 V 1 1 V 1 0 V 1 0 V 1 0 V 1 0 V 18 0 V 3 0 V 2 2 V 0 -1 V 1 0 V 1 0 V 1 -1 V 1 0 V 1 0 V 17 1 V 3 -1 V 2 -1 V 1 1 V 1 -1 V 0 1 V 1 0 V 1 0 V 1 0 V 18 0 V 3 0 V 1 2 V 1 -2 V 1 0 V 1 1 V 1 -1 V 1 0 V 1 0 V 17 0 V 3 0 V 2 0 V 1 0 V 1 0 V 1 0 V 2 0 V 18 0 V 3 0 V 1 1 V 1 -1 V 1 0 V 1 -1 V 1 1 V 1 0 V 18 0 V 3 0 V 2 -1 V 0 1 V 1 0 V 1 0 V 1 1 V 0 -1 V 1 0 V 1 0 V 17 1 V 3 -1 V 2 1 V 1 0 V 1 0 V 1 -1 V 1 0 V 1 0 V 18 0 V 3 0 V 2 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 17 0 V 3 0 V 2 1 V 0 -1 V 1 1 V 1 0 V 1 0 V 0 -1 V 2 0 V 18 0 V 3 1 V 1 -1 V 1 0 V 1 0 V stroke 3502 1232 M 1 1 V 1 0 V 1 0 V 18 -1 V 3 0 V 2 1 V 1 0 V 1 0 V 1 -1 V 1 0 V 1 0 V 17 1 V 4 0 V 1 -2 V 1 1 V 1 0 V 1 0 V 1 0 V 1 1 V 0 -1 V 18 0 V 3 0 V 2 2 V 0 -2 V 1 1 V 1 -1 V 1 0 V 1 0 V 1 0 V 17 0 V 3 0 V 2 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 18 1 V 3 -1 V 2 1 V 1 0 V 1 0 V 1 0 V 0 -1 V 1 0 V 1 0 V 17 0 V 3 0 V 2 0 V 2 -1 V 1 0 V 0 1 V 2 0 V 18 0 V 3 0 V 1 0 V 1 0 V 1 0 V 0 1 V 1 0 V 1 -1 V 1 0 V 18 0 V 3 1 V 2 -1 V 1 0 V 1 0 V 1 0 V 0 1 V 1 -1 V 1 1 V 18 -1 V 3 1 V 1 0 V 1 0 V 1 0 V 1 0 V 1 -1 V 1 1 V 0 -1 V 18 1 V 3 -1 V 2 -1 V 0 1 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 17 0 V 3 0 V 2 2 V 1 -2 V 1 1 V 1 0 V 1 -1 V 1 0 V 18 0 V 3 0 V 2 0 V 1 0 V 1 0 V 1 0 V 1 0 V stroke 3834 1232 M 1 0 V 17 0 V 3 0 V 2 0 V 1 1 V 1 0 V 1 0 V 0 -1 V 2 0 V 18 0 V 3 1 V 1 -1 V 1 0 V 1 0 V 0 -1 V 1 0 V 1 1 V 1 0 V 18 0 V 3 0 V 2 0 V 1 0 V 1 1 V 1 0 V 0 -1 V 1 1 V 1 -1 V 17 0 V 3 0 V 2 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 18 0 V 3 0 V 2 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 17 0 V 3 0 V 2 1 V 0 -1 V 1 0 V 1 0 V 1 0 V 2 0 V 18 0 V 3 0 V 1 0 V 1 0 V 1 0 V 0 1 V 1 0 V 1 -1 V 1 0 V 18 0 V 3 1 V 2 -1 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 17 0 V 4 0 V 1 1 V 1 -1 V 1 0 V 0 1 V 1 0 V 1 -1 V 1 0 V 18 0 V 3 1 V 2 -1 V 1 0 V 1 0 V 1 0 V 1 1 V 1 0 V 17 -1 V 3 0 V 2 0 V 2 0 V 1 0 V 2 0 V 18 0 V 3 0 V 1 1 V 1 -1 V 1 0 V 2 0 V 1 1 V 18 -1 V 3 1 V 2 -1 V 1 0 V 1 0 V 1 0 V stroke 4189 1232 M 1 0 V 1 0 V 18 0 V 3 -1 V 1 2 V 1 -1 V 1 0 V 1 0 V 1 0 V 1 1 V 0 -1 V 18 0 V 3 0 V 2 0 V 1 0 V 1 1 V 1 0 V 0 -1 V 1 0 V 1 0 V 17 0 V 3 0 V 2 1 V 1 0 V 1 -1 V 1 0 V 1 0 V 1 0 V 18 1 V 3 -1 V 2 -1 V 0 1 V 1 0 V 1 1 V 1 -1 V 1 0 V 1 0 V 17 0 V 3 0 V 2 2 V 0 -1 V 1 -1 V 1 0 V 1 0 V 2 0 V 0 1 V 18 0 V 3 0 V 1 -2 V 1 1 V 1 0 V 1 0 V 1 0 V 1 1 V 0 -1 V 18 -1 V 3 1 V 2 2 V 0 -1 V 1 0 V 1 -1 V 1 0 V 1 0 V 1 1 V 17 0 V 4 -1 V 1 -1 V 1 1 V 1 0 V 1 0 V 1 0 V 1 0 V 18 0 V 3 1 V 2 1 V 0 -2 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 17 0 V 3 0 V 2 -1 V 1 1 V 1 0 V 0 1 V 1 0 V 1 -1 V 1 1 V 0 -1 V 18 0 V 3 0 V 1 1 V 1 -1 V 1 0 V 1 0 V 1 0 V 1 0 V 18 1 V 3 -1 V 2 0 V 1 1 V 1 0 V stroke 4517 1233 M 1 0 V 0 -1 V 1 0 V 1 0 V 18 -1 V 3 1 V 1 1 V 1 0 V 1 -1 V 1 0 V 1 0 V 1 0 V 18 1 V 3 0 V 2 -2 V 0 1 V 1 0 V 1 0 V 1 -1 V 0 1 V 1 0 V 1 0 V 17 0 V 3 0 V 2 1 V 1 -1 V 1 0 V 1 0 V 1 0 V 1 1 V 0 -1 V 18 0 V 3 0 V 1 1 V 1 -1 V 1 0 V 0 1 V 1 0 V 1 0 V 1 -1 V 18 0 V 3 0 V 2 1 V 1 0 V 1 -1 V 1 0 V 2 0 V 18 1 V 3 0 V 1 -2 V 1 1 V 1 0 V 1 0 V 1 0 V 1 1 V 0 -1 V 18 -1 V 3 1 V 2 2 V 0 -1 V 1 0 V 1 -1 V 1 0 V 1 0 V 1 0 V 17 1 V 4 -1 V 1 -1 V 1 1 V 1 0 V 1 0 V 1 0 V 1 0 V 18 0 V 3 0 V 1 2 V 1 -1 V 1 0 V 1 -1 V 1 0 V 1 0 V 1 0 V 17 1 V 3 0 V 2 -2 V 1 1 V 1 0 V 1 0 V 1 0 V 1 0 V 18 0 V 3 0 V 1 2 V 1 -1 V 1 0 V 1 0 V 1 -1 V 1 0 V 18 1 V 3 0 V 2 -2 V 0 1 V 2 0 V 1 0 V stroke 4847 1232 M 0 1 V 1 0 V 1 0 V 18 -1 V 3 0 V 1 2 V 1 -1 V 1 0 V 1 -1 V 1 0 V 1 0 V 18 1 V 3 0 V 2 -2 V 0 1 V 1 0 V 1 0 V 1 0 V 1 1 V 1 -1 V 17 0 V 4 0 V 1 2 V 1 -1 V 1 0 V 1 -1 V 1 0 V 1 0 V 18 1 V 3 0 V 2 -2 V 0 1 V 1 0 V 1 0 V 1 0 V 1 1 V 1 -1 V 17 0 V 3 0 V 2 2 V 1 -1 V 1 0 V 1 0 V 1 -1 V 1 0 V 18 1 V 3 0 V 2 -2 V 0 1 V 1 -1 V 1 0 V 1 1 V 1 0 V 1 0 V 17 0 V 3 0 V 2 2 V 0 -2 V 1 0 V 1 1 V 1 0 V 0 -1 V 1 0 V 1 0 V 18 0 V 3 1 V 1 -1 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 18 0 V 3 -1 V 2 2 V 0 -1 V 1 0 V 1 0 V 1 0 V 1 1 V 1 -1 V 17 0 V 3 0 V 2 -1 V 1 1 V 1 0 V 1 0 V 1 0 V 1 1 V 18 -1 V 3 0 V 1 1 V 1 0 V 1 0 V 1 0 V 1 -1 V 1 0 V 1 0 V 17 1 V 3 0 V 2 -2 V 1 1 V 1 0 V 1 0 V stroke 5176 1232 M 1 0 V 1 0 V 18 0 V 3 0 V 1 2 V 1 -2 V 1 0 V 0 1 V 1 0 V 1 -1 V 1 0 V 18 0 V 3 1 V 2 -1 V 1 0 V 1 0 V 1 1 V 1 0 V 1 0 V 17 -1 V 4 0 V 1 1 V 1 0 V 1 0 V 1 -1 V 1 0 V 1 0 V 18 1 V 3 0 V 2 -2 V 0 1 V 1 0 V 1 0 V 1 0 V 1 1 V 1 -1 V 17 0 V 3 0 V 2 2 V 1 -2 V 1 0 V 0 1 V 1 -1 V 1 0 V 1 0 V 18 0 V 3 0 V 2 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 17 1 V 3 -1 V 2 1 V 1 0 V 1 0 V 1 0 V 0 -1 V 2 0 V 18 0 V 3 0 V 1 0 V 1 0 V 1 0 V 0 -1 V 1 0 V 1 1 V 1 0 V 18 0 V 3 0 V 2 0 V 1 0 V 1 1 V 1 0 V 0 -1 V 1 0 V 1 0 V 17 0 V 3 0 V 2 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 1 V 18 -1 V 3 0 V 2 1 V 0 -1 V 1 1 V 1 -1 V 1 0 V 1 0 V 1 0 V 17 0 V 3 1 V 2 -1 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V stroke 5507 1232 M 18 0 V 3 -1 V 1 2 V 1 -1 V 1 0 V 0 1 V 1 0 V 1 0 V 1 -1 V 18 0 V 3 1 V 2 -1 V 1 0 V 1 0 V 1 -2 V 0 2 V 1 0 V 1 0 V 18 0 V 3 -1 V 1 1 V 1 0 V 1 1 V 0 1 V 1 0 V 1 -1 V 1 -1 V 18 0 V 3 1 V 2 -1 V 1 -2 V 1 0 V 1 0 V 0 2 V 1 1 V 1 -1 V 17 1 V 3 -1 V 2 1 V 1 -1 V 0 1 V 1 1 V 1 0 V 1 -2 V 1 0 V 18 -1 V 3 2 V 2 -1 V 1 -1 V 1 0 V 1 1 V 1 0 V 1 1 V 17 0 V 3 -2 V 2 1 V 1 1 V 1 -1 V 1 0 V 1 0 V 1 0 V 18 -1 V 3 2 V 1 -1 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 18 0 V 3 0 V 2 0 V 1 0 V 1 1 V 1 0 V 0 -1 V 1 0 V 1 0 V 17 0 V 3 1 V 2 0 V 1 -1 V 1 0 V 1 0 V 1 0 V 1 0 V 18 0 V 3 0 V 2 0 V 1 0 V 1 1 V 1 -1 V 1 1 V 1 -1 V 17 0 V 3 0 V 2 1 V 0 -1 V 1 0 V 1 0 V 1 0 V 2 0 V 0 1 V 18 -1 V stroke 5854 1232 M 3 1 V 1 -1 V 1 0 V 1 0 V 1 0 V 1 0 V 1 1 V 0 -1 V 18 0 V 3 0 V 2 1 V 1 0 V 1 -1 V 1 0 V 1 1 V 1 0 V 17 0 V 4 -1 V 1 -1 V 1 1 V 1 0 V 1 0 V 1 0 V 1 0 V 18 0 V 3 0 V 1 1 V 1 -1 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 17 0 V 3 0 V 2 0 V 1 0 V 1 0 V 0 1 V 1 0 V 1 -1 V 1 0 V 18 0 V 3 1 V 1 0 V 1 0 V 1 0 V 1 -1 V 1 0 V 1 0 V 18 1 V 3 -1 V 2 -1 V 0 1 V 1 0 V 1 0 V 1 0 V 1 1 V 1 -1 V 18 -1 V 3 1 V 1 2 V 1 -1 V 1 0 V 0 -1 V 1 0 V 1 0 V 1 0 V 18 1 V 3 -1 V 2 -1 V 0 1 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 17 0 V 3 0 V 2 2 V 1 -1 V 1 0 V 0 -1 V 1 0 V 1 0 V 1 0 V 18 1 V 3 -1 V 2 -1 V 0 1 V 1 -1 V 1 1 V 1 0 V 1 0 V 1 0 V 17 0 V 3 0 V 2 2 V 0 -1 V 1 0 V 1 0 V 1 0 V 0 -1 V 2 0 V stroke 6165 1232 M 18 1 V 3 -1 V 2 -1 V 0 1 V 1 0 V 1 0 V 1 0 V 1 0 V 18 0 V 3 1 V 2 1 V 0 -2 V 1 0 V 1 0 V 1 -1 V 0 1 V 1 0 V 1 0 V 18 0 V 3 0 V 1 0 V 1 0 V 1 0 V 1 1 V 1 -1 V 1 1 V 0 -1 V 18 1 V 3 -1 V 2 1 V 1 0 V 1 -1 V 1 0 V 1 0 V 1 0 V 17 0 V 3 1 V 2 -1 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 18 0 V 3 0 V 1 1 V 1 -1 V 1 0 V 0 1 V 1 0 V 1 -1 V 1 0 V 18 0 V 3 1 V 2 -1 V 1 0 V 1 0 V 1 1 V 1 -1 V 1 0 V 18 0 V 3 0 V 1 1 V 1 0 V 1 0 V 1 -1 V 1 0 V 1 0 V 18 1 V 3 0 V 2 -2 V 0 1 V 1 0 V 1 0 V 1 0 V 1 1 V 1 -1 V 17 0 V 4 0 V 1 2 V 1 -2 V 1 1 V 0 -1 V 1 0 V 1 0 V 1 0 V 18 0 V 3 0 V 2 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 17 1 V 3 -1 V 2 1 V 1 0 V 1 0 V 1 0 V 1 -1 V 1 0 V 18 0 V 3 1 V stroke 6515 1233 M 2 -1 V 1 -1 V 1 0 V 1 0 V 0 1 V 1 0 V 18 0 V 3 0 V 2 1 V 0 -1 V 1 0 V 1 1 V 1 0 V 0 -1 V 1 0 V 1 0 V 1441 1230 Crs 1468 1230 Crs 1495 1230 Crs 1522 1230 Crs 1549 1230 Crs 1561 1230 Crs 1576 1230 Crs 1588 1230 Crs 1603 1230 Crs 1615 1230 Crs 1630 1230 Crs 1642 1230 Crs 1657 1230 Crs 1669 1230 Crs 1684 1231 Crs 1690 1231 Crs 1696 1232 Crs 1711 1230 Crs 1717 1231 Crs 1723 1231 Crs 1738 1230 Crs 1744 1231 Crs 1750 1231 Crs 1762 1230 Crs 1765 1230 Crs 1771 1231 Crs 1777 1233 Crs 1777 1235 Crs 1789 1231 Crs 1792 1230 Crs 1798 1230 Crs 1805 1231 Crs 1805 1232 Crs 1816 1231 Crs 1819 1230 Crs 1825 1230 Crs 1832 1230 Crs 1833 1231 Crs 1843 1231 Crs 1846 1230 Crs 1852 1230 Crs 1855 1230 Crs 1859 1230 Crs 1860 1231 Crs 1870 1230 Crs 1873 1230 Crs 1879 1230 Crs 1882 1230 Crs 1886 1230 Crs 1887 1230 Crs 1894 1231 Crs 1897 1230 Crs 1900 1231 Crs 1906 1230 Crs 1909 1230 Crs 1913 1230 Crs 1914 1230 Crs 1921 1231 Crs 1924 1230 Crs 1927 1231 Crs 1933 1230 Crs 1936 1230 Crs 1940 1230 Crs 1941 1230 Crs 1948 1231 Crs 1951 1230 Crs 1954 1231 Crs 1960 1230 Crs 1963 1230 Crs 1964 1232 Crs 1967 1230 Crs 1968 1230 Crs 1976 1232 Crs 1978 1230 Crs 1981 1231 Crs 1987 1231 Crs 1990 1230 Crs 1992 1231 Crs 1994 1230 Crs 1995 1230 Crs 2003 1233 Crs 2005 1230 Crs 2009 1231 Crs 2015 1231 Crs 2017 1231 Crs 2019 1230 Crs 2021 1232 Crs 2021 1235 Crs 2022 1233 Crs 2030 1232 Crs 2032 1231 Crs 2036 1233 Crs 2042 1232 Crs 2044 1232 Crs 2046 1230 Crs 2048 1230 Crs 2049 1233 Crs 2050 1232 Crs 2058 1231 Crs 2060 1231 Crs 2063 1232 Crs 2069 1232 Crs 2072 1232 Crs 2073 1230 Crs 2075 1231 Crs 2077 1231 Crs 2077 1232 Crs 2085 1231 Crs 2087 1230 Crs 2091 1231 Crs 2096 1233 Crs 2099 1233 Crs 2100 1231 Crs 2102 1233 Crs 2104 1231 Crs 2104 1231 Crs 2112 1232 Crs 2114 1231 Crs 2118 1232 Crs 2123 1231 Crs 2124 1231 Crs 2127 1231 Crs 2127 1231 Crs 2130 1232 Crs 2131 1232 Crs 2131 1232 Crs 2139 1231 Crs 2141 1231 Crs 2145 1231 Crs 2150 1230 Crs 2151 1231 Crs 2154 1232 Crs 2154 1232 Crs 2157 1231 Crs 2158 1232 Crs 2159 1232 Crs 2166 1230 Crs 2168 1231 Crs 2172 1231 Crs 2177 1230 Crs 2178 1231 Crs 2181 1232 Crs 2182 1232 Crs 2185 1231 Crs 2186 1231 Crs 2186 1231 Crs 2193 1230 Crs 2195 1230 Crs 2200 1231 Crs 2204 1232 Crs 2205 1231 Crs 2208 1231 Crs 2209 1231 Crs 2212 1230 Crs 2213 1230 Crs 2213 1231 Crs 2220 1232 Crs 2222 1230 Crs 2227 1232 Crs 2231 1231 Crs 2233 1231 Crs 2236 1231 Crs 2236 1231 Crs 2239 1230 Crs 2240 1230 Crs 2240 1230 Crs 2248 1231 Crs 2249 1231 Crs 2254 1235 Crs 2258 1292 Crs 2260 1299 Crs 2263 1302 Crs 2263 1306 Crs 2266 1308 Crs 2267 1307 Crs 2267 1308 Crs 2275 1300 Crs 2276 1299 Crs 2282 1276 Crs 2297 1301 Crs 2299 1306 Crs 2303 1304 Crs 2304 1308 Crs 2307 1310 Crs 2308 1314 Crs 2309 1316 Crs 2315 1303 Crs 2316 1304 Crs 2317 1298 Crs 2336 1294 Crs 2340 1302 Crs 2343 1303 Crs 2345 1314 Crs 2348 1314 Crs 2350 1310 Crs 2351 1309 Crs 2355 1305 Crs 2356 1301 Crs 2357 1299 Crs 2375 1294 Crs 2380 1298 Crs 2383 1307 Crs 2387 1315 Crs 2390 1311 Crs 2391 1313 Crs 2392 1311 Crs 2395 1305 Crs 2396 1302 Crs 2396 1303 Crs 2413 1287 Crs 2419 1300 Crs 2424 1304 Crs 2429 1310 Crs 2432 1309 Crs 2433 1305 Crs 2434 1303 Crs 2436 1295 Crs 2436 1295 Crs 2436 1295 Crs 2451 1267 Crs 2459 1290 Crs 2464 1302 Crs 2471 1313 Crs 2473 1307 Crs 2474 1305 Crs 2474 1306 Crs 2475 1305 Crs 2475 1306 Crs 2475 1306 Crs 2484 1275 Crs 2497 1289 Crs 2504 1308 Crs 2513 1304 Crs 2514 1301 Crs 2514 1301 Crs 2515 1302 Crs 2515 1302 Crs 2515 1301 Crs 2515 1301 Crs 2519 1280 Crs 2534 1285 Crs 2545 1306 Crs 2553 1302 Crs 2554 1300 Crs 2554 1301 Crs 2555 1298 Crs 2555 1297 Crs 2555 1296 Crs 2555 1296 Crs 2555 1297 Crs 2571 1266 Crs 2586 1307 Crs 2593 1307 Crs 2594 1305 Crs 2594 1304 Crs 2594 1304 Crs 2594 1309 Crs 2594 1310 Crs 2594 1309 Crs 2594 1309 Crs 2605 1271 Crs 2627 1312 Crs 2634 1301 Crs 2634 1302 Crs 2634 1302 Crs 2634 1302 Crs 2635 1299 Crs 2635 1298 Crs 2635 1298 Crs 2636 1298 Crs 2639 1281 Crs 2669 1244 Crs 2674 1232 Crs 2674 1239 Crs 2674 1248 Crs 2674 1252 Crs 2675 1254 Crs 2675 1255 Crs 2675 1256 Crs 2675 1256 Crs 2675 1256 Crs 2698 1230 Crs 2701 1241 Crs 2703 1235 Crs 2705 1230 Crs 2705 1230 Crs 2706 1232 Crs 2706 1237 Crs 2706 1241 Crs 2707 1243 Crs 2707 1243 Crs 2725 1239 Crs 2730 1233 Crs 2731 1242 Crs 2731 1242 Crs 2732 1240 Crs 2733 1238 Crs 2734 1233 Crs 2735 1232 Crs 2736 1237 Crs 2736 1237 Crs 2754 1232 Crs 2758 1233 Crs 2760 1231 Crs 2761 1231 Crs 2761 1234 Crs 2762 1236 Crs 2762 1237 Crs 2763 1235 Crs 2764 1233 Crs 2764 1234 Crs 2781 1234 Crs 2785 1235 Crs 2787 1234 Crs 2788 1232 Crs 2789 1231 Crs 2790 1230 Crs 2790 1232 Crs 2791 1233 Crs 2792 1232 Crs 2792 1233 Crs 2809 1234 Crs 2813 1233 Crs 2815 1234 Crs 2815 1234 Crs 2816 1235 Crs 2817 1234 Crs 2818 1232 Crs 2818 1233 Crs 2819 1233 Crs 2820 1233 Crs 2837 1234 Crs 2840 1233 Crs 2842 1232 Crs 2843 1232 Crs 2844 1232 Crs 2844 1233 Crs 2845 1233 Crs 2846 1233 Crs 2847 1233 Crs 2847 1233 Crs 2864 1234 Crs 2868 1233 Crs 2870 1232 Crs 2870 1232 Crs 2871 1232 Crs 2872 1232 Crs 2872 1232 Crs 2873 1232 Crs 2874 1232 Crs 2875 1232 Crs 2892 1234 Crs 2895 1232 Crs 2897 1232 Crs 2898 1233 Crs 2898 1233 Crs 2899 1233 Crs 2900 1234 Crs 2901 1232 Crs 2902 1232 Crs 2902 1232 Crs 2920 1234 Crs 2923 1232 Crs 2924 1233 Crs 2925 1231 Crs 2926 1232 Crs 2927 1231 Crs 2928 1232 Crs 2928 1232 Crs 2929 1232 Crs 2930 1232 Crs 2948 1232 Crs 2950 1232 Crs 2952 1233 Crs 2952 1232 Crs 2953 1233 Crs 2954 1233 Crs 2955 1233 Crs 2955 1232 Crs 2957 1232 Crs 2957 1232 Crs 2975 1232 Crs 2978 1232 Crs 2979 1233 Crs 2980 1233 Crs 2981 1233 Crs 2981 1232 Crs 2982 1232 Crs 2983 1232 Crs 2984 1233 Crs 2984 1233 Crs 3002 1232 Crs 3005 1232 Crs 3007 1231 Crs 3007 1232 Crs 3008 1232 Crs 3009 1232 Crs 3010 1232 Crs 3010 1232 Crs 3011 1232 Crs 3012 1232 Crs 3030 1232 Crs 3033 1232 Crs 3034 1234 Crs 3035 1233 Crs 3036 1233 Crs 3036 1232 Crs 3037 1232 Crs 3038 1232 Crs 3039 1232 Crs 3039 1233 Crs 3057 1233 Crs 3060 1233 Crs 3062 1231 Crs 3062 1232 Crs 3063 1232 Crs 3064 1232 Crs 3065 1232 Crs 3065 1232 Crs 3066 1232 Crs 3067 1232 Crs 3084 1232 Crs 3087 1232 Crs 3089 1234 Crs 3090 1233 Crs 3091 1233 Crs 3091 1233 Crs 3092 1233 Crs 3093 1232 Crs 3094 1232 Crs 3094 1232 Crs 3112 1233 Crs 3115 1233 Crs 3117 1231 Crs 3117 1232 Crs 3118 1232 Crs 3119 1232 Crs 3120 1233 Crs 3120 1233 Crs 3121 1233 Crs 3122 1233 Crs 3139 1232 Crs 3142 1232 Crs 3144 1234 Crs 3144 1233 Crs 3145 1233 Crs 3146 1232 Crs 3147 1232 Crs 3147 1232 Crs 3149 1232 Crs 3149 1232 Crs 3167 1233 Crs 3170 1233 Crs 3171 1231 Crs 3172 1232 Crs 3173 1231 Crs 3173 1232 Crs 3174 1232 Crs 3175 1232 Crs 3176 1233 Crs 3176 1232 Crs 3194 1232 Crs 3197 1232 Crs 3199 1234 Crs 3199 1233 Crs 3200 1233 Crs 3201 1232 Crs 3202 1232 Crs 3202 1232 Crs 3203 1232 Crs 3204 1232 Crs 3221 1233 Crs 3225 1232 Crs 3226 1231 Crs 3227 1232 Crs 3228 1232 Crs 3228 1232 Crs 3229 1232 Crs 3230 1232 Crs 3231 1232 Crs 3231 1232 Crs 3249 1232 Crs 3252 1232 Crs 3254 1234 Crs 3254 1233 Crs 3255 1233 Crs 3256 1233 Crs 3257 1232 Crs 3257 1232 Crs 3258 1232 Crs 3259 1232 Crs 3276 1233 Crs 3279 1232 Crs 3281 1231 Crs 3282 1232 Crs 3283 1231 Crs 3283 1232 Crs 3284 1232 Crs 3285 1232 Crs 3286 1232 Crs 3286 1232 Crs 3304 1232 Crs 3307 1232 Crs 3308 1234 Crs 3309 1232 Crs 3310 1232 Crs 3311 1233 Crs 3311 1233 Crs 3312 1232 Crs 3313 1232 Crs 3314 1232 Crs 3331 1232 Crs 3334 1232 Crs 3336 1232 Crs 3336 1232 Crs 3337 1232 Crs 3338 1232 Crs 3339 1232 Crs 3339 1232 Crs 3341 1232 Crs 3341 1232 Crs 3359 1232 Crs 3362 1232 Crs 3363 1233 Crs 3364 1232 Crs 3365 1232 Crs 3365 1232 Crs 3366 1231 Crs 3367 1232 Crs 3368 1232 Crs 3368 1232 Crs 3386 1232 Crs 3389 1232 Crs 3391 1231 Crs 3391 1232 Crs 3392 1232 Crs 3393 1232 Crs 3394 1233 Crs 3394 1232 Crs 3395 1232 Crs 3396 1232 Crs 3413 1233 Crs 3416 1232 Crs 3418 1233 Crs 3419 1233 Crs 3420 1233 Crs 3420 1233 Crs 3421 1232 Crs 3422 1232 Crs 3423 1232 Crs 3423 1232 Crs 3441 1232 Crs 3444 1232 Crs 3446 1232 Crs 3446 1232 Crs 3447 1232 Crs 3448 1232 Crs 3449 1232 Crs 3449 1232 Crs 3450 1232 Crs 3451 1232 Crs 3468 1232 Crs 3471 1232 Crs 3473 1233 Crs 3473 1232 Crs 3474 1233 Crs 3475 1233 Crs 3476 1233 Crs 3476 1232 Crs 3478 1232 Crs 3478 1232 Crs 3496 1232 Crs 3499 1233 Crs 3500 1232 Crs 3501 1232 Crs 3502 1232 Crs 3502 1232 Crs 3503 1233 Crs 3504 1233 Crs 3505 1233 Crs 3505 1233 Crs 3523 1232 Crs 3526 1232 Crs 3528 1233 Crs 3528 1233 Crs 3529 1233 Crs 3530 1233 Crs 3531 1232 Crs 3531 1232 Crs 3532 1232 Crs 3533 1232 Crs 3550 1233 Crs 3554 1233 Crs 3555 1231 Crs 3556 1232 Crs 3557 1232 Crs 3557 1232 Crs 3558 1232 Crs 3559 1232 Crs 3560 1233 Crs 3560 1232 Crs 3578 1232 Crs 3581 1232 Crs 3583 1234 Crs 3583 1232 Crs 3584 1233 Crs 3585 1232 Crs 3586 1232 Crs 3586 1232 Crs 3587 1232 Crs 3588 1232 Crs 3605 1232 Crs 3608 1232 Crs 3610 1232 Crs 3611 1232 Crs 3612 1232 Crs 3612 1232 Crs 3613 1232 Crs 3614 1232 Crs 3615 1232 Crs 3615 1232 Crs 3633 1233 Crs 3636 1232 Crs 3638 1233 Crs 3638 1233 Crs 3639 1233 Crs 3640 1233 Crs 3641 1233 Crs 3641 1232 Crs 3642 1232 Crs 3643 1232 Crs 3660 1232 Crs 3663 1232 Crs 3665 1232 Crs 3665 1232 Crs 3667 1231 Crs 3667 1231 Crs 3668 1231 Crs 3668 1232 Crs 3670 1232 Crs 3670 1232 Crs 3688 1232 Crs 3691 1232 Crs 3692 1232 Crs 3693 1232 Crs 3694 1232 Crs 3694 1233 Crs 3695 1233 Crs 3696 1232 Crs 3697 1232 Crs 3697 1232 Crs 3715 1232 Crs 3718 1233 Crs 3720 1232 Crs 3720 1232 Crs 3721 1232 Crs 3722 1232 Crs 3723 1232 Crs 3723 1233 Crs 3724 1232 Crs 3725 1233 Crs 3743 1232 Crs 3746 1233 Crs 3747 1233 Crs 3748 1233 Crs 3749 1233 Crs 3749 1233 Crs 3750 1233 Crs 3751 1232 Crs 3752 1233 Crs 3752 1232 Crs 3770 1233 Crs 3773 1232 Crs 3775 1231 Crs 3775 1232 Crs 3776 1232 Crs 3777 1232 Crs 3778 1232 Crs 3778 1232 Crs 3779 1232 Crs 3780 1232 Crs 3797 1232 Crs 3800 1232 Crs 3802 1234 Crs 3803 1232 Crs 3804 1233 Crs 3804 1233 Crs 3805 1233 Crs 3806 1232 Crs 3807 1232 Crs 3807 1232 Crs 3825 1232 Crs 3828 1232 Crs 3830 1232 Crs 3830 1232 Crs 3831 1232 Crs 3832 1232 Crs 3832 1232 Crs 3833 1232 Crs 3834 1232 Crs 3835 1232 Crs 3852 1232 Crs 3855 1232 Crs 3857 1232 Crs 3857 1232 Crs 3858 1233 Crs 3859 1233 Crs 3860 1233 Crs 3860 1232 Crs 3862 1232 Crs 3862 1232 Crs 3880 1232 Crs 3883 1233 Crs 3884 1232 Crs 3885 1232 Crs 3886 1232 Crs 3886 1231 Crs 3887 1231 Crs 3888 1232 Crs 3889 1232 Crs 3889 1232 Crs 3907 1232 Crs 3910 1232 Crs 3912 1232 Crs 3912 1232 Crs 3913 1232 Crs 3914 1233 Crs 3915 1233 Crs 3915 1232 Crs 3916 1233 Crs 3917 1232 Crs 3934 1232 Crs 3937 1232 Crs 3939 1232 Crs 3940 1232 Crs 3941 1232 Crs 3941 1232 Crs 3942 1232 Crs 3943 1232 Crs 3944 1232 Crs 3944 1232 Crs 3962 1232 Crs 3965 1232 Crs 3967 1232 Crs 3967 1232 Crs 3968 1232 Crs 3969 1232 Crs 3970 1232 Crs 3970 1232 Crs 3971 1232 Crs 3972 1232 Crs 3989 1232 Crs 3992 1232 Crs 3994 1233 Crs 3994 1232 Crs 3995 1232 Crs 3996 1232 Crs 3997 1232 Crs 3997 1232 Crs 3999 1232 Crs 3999 1232 Crs 4017 1232 Crs 4020 1232 Crs 4021 1232 Crs 4022 1232 Crs 4023 1232 Crs 4023 1233 Crs 4024 1233 Crs 4025 1232 Crs 4026 1232 Crs 4026 1232 Crs 4044 1232 Crs 4047 1233 Crs 4049 1232 Crs 4049 1232 Crs 4050 1232 Crs 4051 1232 Crs 4052 1232 Crs 4052 1232 Crs 4053 1232 Crs 4054 1232 Crs 4071 1232 Crs 4075 1232 Crs 4076 1233 Crs 4077 1232 Crs 4078 1232 Crs 4078 1233 Crs 4079 1233 Crs 4080 1232 Crs 4081 1232 Crs 4081 1232 Crs 4099 1232 Crs 4102 1233 Crs 4104 1232 Crs 4104 1232 Crs 4105 1232 Crs 4106 1232 Crs 4107 1232 Crs 4107 1232 Crs 4108 1233 Crs 4109 1233 Crs 4126 1232 Crs 4129 1232 Crs 4131 1232 Crs 4131 1232 Crs 4133 1232 Crs 4133 1232 Crs 4134 1232 Crs 4134 1232 Crs 4136 1232 Crs 4136 1232 Crs 4154 1232 Crs 4157 1232 Crs 4158 1233 Crs 4159 1232 Crs 4160 1232 Crs 4160 1232 Crs 4162 1232 Crs 4162 1232 Crs 4163 1233 Crs 4163 1233 Crs 4181 1232 Crs 4184 1233 Crs 4186 1232 Crs 4186 1232 Crs 4187 1232 Crs 4188 1232 Crs 4189 1232 Crs 4189 1232 Crs 4190 1232 Crs 4191 1232 Crs 4209 1232 Crs 4212 1231 Crs 4213 1233 Crs 4214 1232 Crs 4215 1232 Crs 4215 1232 Crs 4216 1232 Crs 4217 1232 Crs 4218 1233 Crs 4218 1232 Crs 4236 1232 Crs 4239 1232 Crs 4241 1232 Crs 4241 1232 Crs 4242 1232 Crs 4243 1233 Crs 4244 1233 Crs 4244 1232 Crs 4245 1232 Crs 4246 1232 Crs 4263 1232 Crs 4266 1232 Crs 4268 1233 Crs 4269 1233 Crs 4270 1232 Crs 4270 1232 Crs 4271 1232 Crs 4272 1232 Crs 4273 1232 Crs 4273 1232 Crs 4291 1233 Crs 4294 1232 Crs 4296 1231 Crs 4296 1232 Crs 4297 1232 Crs 4298 1233 Crs 4298 1233 Crs 4299 1232 Crs 4300 1232 Crs 4301 1232 Crs 4318 1232 Crs 4321 1232 Crs 4323 1234 Crs 4323 1233 Crs 4324 1232 Crs 4325 1232 Crs 4326 1232 Crs 4326 1232 Crs 4328 1232 Crs 4328 1233 Crs 4346 1233 Crs 4349 1233 Crs 4350 1231 Crs 4351 1232 Crs 4352 1232 Crs 4352 1232 Crs 4353 1232 Crs 4354 1232 Crs 4355 1233 Crs 4355 1232 Crs 4373 1231 Crs 4376 1232 Crs 4378 1234 Crs 4378 1233 Crs 4379 1233 Crs 4380 1232 Crs 4381 1232 Crs 4381 1232 Crs 4382 1232 Crs 4383 1233 Crs 4400 1233 Crs 4404 1232 Crs 4405 1231 Crs 4406 1232 Crs 4407 1232 Crs 4407 1232 Crs 4408 1232 Crs 4409 1232 Crs 4410 1232 Crs 4410 1232 Crs 4428 1232 Crs 4431 1233 Crs 4433 1234 Crs 4433 1232 Crs 4434 1232 Crs 4435 1232 Crs 4436 1232 Crs 4436 1232 Crs 4437 1232 Crs 4438 1232 Crs 4455 1232 Crs 4458 1232 Crs 4460 1231 Crs 4461 1232 Crs 4462 1232 Crs 4462 1233 Crs 4463 1233 Crs 4464 1232 Crs 4465 1233 Crs 4465 1232 Crs 4483 1232 Crs 4486 1232 Crs 4487 1233 Crs 4488 1232 Crs 4489 1232 Crs 4490 1232 Crs 4491 1232 Crs 4491 1232 Crs 4492 1232 Crs 4492 1232 Crs 4510 1233 Crs 4513 1232 Crs 4515 1232 Crs 4515 1232 Crs 4516 1233 Crs 4517 1233 Crs 4518 1233 Crs 4518 1232 Crs 4519 1232 Crs 4520 1232 Crs 4538 1231 Crs 4541 1232 Crs 4542 1233 Crs 4543 1233 Crs 4544 1232 Crs 4544 1232 Crs 4545 1232 Crs 4546 1232 Crs 4547 1232 Crs 4547 1232 Crs 4565 1233 Crs 4568 1233 Crs 4570 1231 Crs 4570 1232 Crs 4571 1232 Crs 4572 1232 Crs 4573 1231 Crs 4573 1232 Crs 4574 1232 Crs 4575 1232 Crs 4592 1232 Crs 4595 1232 Crs 4597 1233 Crs 4598 1232 Crs 4599 1232 Crs 4599 1232 Crs 4600 1232 Crs 4601 1232 Crs 4602 1233 Crs 4602 1232 Crs 4620 1232 Crs 4623 1232 Crs 4624 1233 Crs 4625 1232 Crs 4626 1232 Crs 4626 1233 Crs 4627 1233 Crs 4628 1233 Crs 4629 1232 Crs 4629 1232 Crs 4647 1232 Crs 4650 1232 Crs 4652 1233 Crs 4652 1233 Crs 4653 1233 Crs 4654 1232 Crs 4655 1232 Crs 4655 1232 Crs 4657 1232 Crs 4657 1232 Crs 4675 1233 Crs 4678 1233 Crs 4679 1231 Crs 4680 1232 Crs 4681 1232 Crs 4681 1232 Crs 4682 1232 Crs 4683 1232 Crs 4684 1233 Crs 4684 1232 Crs 4702 1231 Crs 4705 1232 Crs 4707 1234 Crs 4707 1233 Crs 4708 1233 Crs 4709 1232 Crs 4710 1232 Crs 4710 1232 Crs 4711 1232 Crs 4712 1232 Crs 4729 1233 Crs 4733 1232 Crs 4734 1231 Crs 4735 1232 Crs 4736 1232 Crs 4736 1232 Crs 4737 1232 Crs 4738 1232 Crs 4739 1232 Crs 4739 1232 Crs 4757 1232 Crs 4760 1232 Crs 4761 1234 Crs 4762 1233 Crs 4763 1233 Crs 4764 1232 Crs 4765 1232 Crs 4765 1232 Crs 4766 1232 Crs 4767 1232 Crs 4784 1233 Crs 4787 1233 Crs 4789 1231 Crs 4790 1232 Crs 4791 1232 Crs 4791 1232 Crs 4792 1232 Crs 4793 1232 Crs 4794 1232 Crs 4794 1232 Crs 4812 1232 Crs 4815 1232 Crs 4816 1234 Crs 4817 1233 Crs 4818 1233 Crs 4818 1233 Crs 4819 1233 Crs 4820 1232 Crs 4821 1232 Crs 4821 1232 Crs 4839 1233 Crs 4842 1233 Crs 4844 1231 Crs 4844 1232 Crs 4846 1232 Crs 4846 1232 Crs 4847 1232 Crs 4847 1233 Crs 4848 1233 Crs 4849 1233 Crs 4867 1232 Crs 4870 1232 Crs 4871 1234 Crs 4872 1233 Crs 4873 1233 Crs 4873 1233 Crs 4874 1232 Crs 4875 1232 Crs 4876 1232 Crs 4876 1232 Crs 4894 1233 Crs 4897 1233 Crs 4899 1231 Crs 4899 1232 Crs 4900 1232 Crs 4901 1232 Crs 4902 1232 Crs 4902 1232 Crs 4903 1233 Crs 4904 1232 Crs 4921 1232 Crs 4925 1232 Crs 4926 1234 Crs 4927 1233 Crs 4928 1233 Crs 4928 1233 Crs 4929 1232 Crs 4930 1232 Crs 4931 1232 Crs 4931 1232 Crs 4949 1233 Crs 4952 1233 Crs 4954 1231 Crs 4954 1232 Crs 4955 1232 Crs 4956 1232 Crs 4957 1232 Crs 4957 1232 Crs 4958 1233 Crs 4959 1232 Crs 4976 1232 Crs 4979 1232 Crs 4981 1234 Crs 4982 1233 Crs 4983 1233 Crs 4983 1233 Crs 4984 1233 Crs 4985 1232 Crs 4986 1232 Crs 4986 1232 Crs 5004 1233 Crs 5007 1233 Crs 5009 1231 Crs 5009 1232 Crs 5010 1231 Crs 5011 1231 Crs 5012 1232 Crs 5012 1232 Crs 5013 1232 Crs 5014 1232 Crs 5031 1232 Crs 5034 1232 Crs 5036 1234 Crs 5036 1232 Crs 5037 1232 Crs 5038 1233 Crs 5039 1233 Crs 5039 1232 Crs 5040 1232 Crs 5041 1232 Crs 5059 1232 Crs 5062 1233 Crs 5063 1232 Crs 5064 1232 Crs 5065 1232 Crs 5065 1232 Crs 5066 1232 Crs 5067 1232 Crs 5068 1232 Crs 5068 1232 Crs 5086 1232 Crs 5089 1231 Crs 5091 1233 Crs 5091 1232 Crs 5092 1232 Crs 5093 1232 Crs 5094 1232 Crs 5094 1232 Crs 5095 1233 Crs 5096 1232 Crs 5113 1232 Crs 5116 1232 Crs 5118 1231 Crs 5119 1232 Crs 5120 1232 Crs 5120 1232 Crs 5121 1232 Crs 5122 1232 Crs 5123 1233 Crs 5123 1233 Crs 5141 1232 Crs 5144 1232 Crs 5145 1233 Crs 5146 1233 Crs 5147 1233 Crs 5148 1233 Crs 5148 1233 Crs 5149 1232 Crs 5150 1232 Crs 5151 1232 Crs 5168 1233 Crs 5171 1233 Crs 5173 1231 Crs 5174 1232 Crs 5175 1232 Crs 5175 1232 Crs 5176 1232 Crs 5176 1232 Crs 5177 1232 Crs 5178 1232 Crs 5196 1232 Crs 5199 1232 Crs 5200 1234 Crs 5201 1232 Crs 5202 1232 Crs 5202 1233 Crs 5203 1233 Crs 5204 1232 Crs 5205 1232 Crs 5205 1232 Crs 5223 1232 Crs 5226 1233 Crs 5228 1232 Crs 5228 1232 Crs 5229 1232 Crs 5230 1232 Crs 5231 1233 Crs 5231 1233 Crs 5232 1233 Crs 5233 1233 Crs 5250 1232 Crs 5254 1232 Crs 5255 1233 Crs 5256 1233 Crs 5257 1233 Crs 5257 1233 Crs 5258 1232 Crs 5259 1232 Crs 5260 1232 Crs 5260 1232 Crs 5278 1233 Crs 5281 1233 Crs 5283 1231 Crs 5283 1232 Crs 5284 1232 Crs 5285 1232 Crs 5286 1232 Crs 5286 1232 Crs 5287 1233 Crs 5288 1232 Crs 5305 1232 Crs 5308 1232 Crs 5310 1234 Crs 5311 1232 Crs 5312 1232 Crs 5312 1233 Crs 5313 1232 Crs 5314 1232 Crs 5315 1232 Crs 5315 1232 Crs 5333 1232 Crs 5336 1232 Crs 5338 1232 Crs 5338 1232 Crs 5339 1232 Crs 5340 1232 Crs 5340 1232 Crs 5341 1232 Crs 5342 1232 Crs 5343 1232 Crs 5360 1233 Crs 5363 1232 Crs 5365 1233 Crs 5365 1233 Crs 5366 1233 Crs 5367 1233 Crs 5368 1233 Crs 5368 1232 Crs 5370 1232 Crs 5370 1232 Crs 5388 1232 Crs 5391 1232 Crs 5392 1232 Crs 5393 1232 Crs 5394 1232 Crs 5394 1231 Crs 5395 1231 Crs 5396 1232 Crs 5397 1232 Crs 5397 1232 Crs 5415 1232 Crs 5418 1232 Crs 5420 1232 Crs 5420 1232 Crs 5421 1232 Crs 5422 1233 Crs 5423 1233 Crs 5423 1232 Crs 5424 1232 Crs 5425 1232 Crs 5442 1232 Crs 5445 1232 Crs 5447 1232 Crs 5448 1232 Crs 5449 1232 Crs 5449 1232 Crs 5450 1232 Crs 5451 1232 Crs 5452 1233 Crs 5452 1233 Crs 5470 1232 Crs 5473 1232 Crs 5475 1233 Crs 5475 1232 Crs 5476 1233 Crs 5477 1232 Crs 5478 1232 Crs 5478 1232 Crs 5479 1232 Crs 5480 1232 Crs 5497 1232 Crs 5500 1233 Crs 5502 1232 Crs 5503 1232 Crs 5504 1232 Crs 5504 1232 Crs 5505 1232 Crs 5506 1232 Crs 5507 1232 Crs 5507 1232 Crs 5525 1232 Crs 5528 1231 Crs 5529 1233 Crs 5530 1232 Crs 5531 1232 Crs 5531 1233 Crs 5532 1233 Crs 5533 1233 Crs 5534 1232 Crs 5534 1232 Crs 5552 1232 Crs 5555 1233 Crs 5557 1232 Crs 5557 1232 Crs 5558 1232 Crs 5559 1232 Crs 5560 1230 Crs 5560 1232 Crs 5561 1232 Crs 5562 1232 Crs 5580 1232 Crs 5583 1231 Crs 5584 1232 Crs 5585 1232 Crs 5586 1233 Crs 5586 1234 Crs 5587 1234 Crs 5588 1233 Crs 5589 1232 Crs 5589 1232 Crs 5607 1232 Crs 5610 1233 Crs 5612 1232 Crs 5612 1232 Crs 5613 1230 Crs 5614 1230 Crs 5615 1230 Crs 5615 1232 Crs 5616 1233 Crs 5617 1232 Crs 5634 1233 Crs 5637 1232 Crs 5639 1233 Crs 5640 1232 Crs 5640 1233 Crs 5641 1234 Crs 5642 1234 Crs 5643 1232 Crs 5644 1232 Crs 5644 1232 Crs 5662 1231 Crs 5665 1233 Crs 5667 1232 Crs 5667 1232 Crs 5668 1231 Crs 5669 1231 Crs 5670 1232 Crs 5670 1232 Crs 5671 1232 Crs 5672 1233 Crs 5689 1233 Crs 5692 1231 Crs 5694 1232 Crs 5694 1232 Crs 5695 1233 Crs 5696 1232 Crs 5697 1232 Crs 5697 1232 Crs 5698 1232 Crs 5699 1232 Crs 5717 1231 Crs 5720 1233 Crs 5721 1232 Crs 5722 1232 Crs 5723 1232 Crs 5723 1232 Crs 5724 1232 Crs 5725 1232 Crs 5726 1232 Crs 5726 1232 Crs 5744 1232 Crs 5747 1232 Crs 5749 1232 Crs 5749 1232 Crs 5750 1232 Crs 5751 1233 Crs 5752 1233 Crs 5752 1232 Crs 5753 1232 Crs 5754 1232 Crs 5771 1232 Crs 5774 1233 Crs 5776 1233 Crs 5777 1232 Crs 5778 1232 Crs 5778 1232 Crs 5779 1232 Crs 5780 1232 Crs 5781 1232 Crs 5781 1232 Crs 5799 1232 Crs 5802 1232 Crs 5804 1232 Crs 5804 1232 Crs 5805 1232 Crs 5806 1233 Crs 5806 1233 Crs 5807 1232 Crs 5808 1233 Crs 5809 1232 Crs 5826 1232 Crs 5829 1232 Crs 5831 1233 Crs 5831 1232 Crs 5832 1232 Crs 5833 1232 Crs 5834 1232 Crs 5834 1232 Crs 5836 1232 Crs 5836 1233 Crs 5854 1232 Crs 5857 1233 Crs 5858 1232 Crs 5859 1232 Crs 5860 1232 Crs 5860 1232 Crs 5861 1232 Crs 5862 1232 Crs 5863 1233 Crs 5863 1232 Crs 5881 1232 Crs 5884 1232 Crs 5886 1233 Crs 5886 1233 Crs 5887 1233 Crs 5888 1232 Crs 5889 1232 Crs 5889 1232 Crs 5890 1233 Crs 5891 1233 Crs 5908 1233 Crs 5912 1232 Crs 5913 1231 Crs 5914 1232 Crs 5915 1232 Crs 5915 1232 Crs 5916 1232 Crs 5917 1232 Crs 5918 1232 Crs 5918 1232 Crs 5936 1232 Crs 5939 1232 Crs 5940 1233 Crs 5941 1232 Crs 5942 1232 Crs 5943 1232 Crs 5944 1232 Crs 5944 1232 Crs 5945 1232 Crs 5946 1232 Crs 5963 1232 Crs 5966 1232 Crs 5968 1232 Crs 5969 1232 Crs 5970 1232 Crs 5970 1233 Crs 5971 1233 Crs 5972 1232 Crs 5973 1232 Crs 5973 1232 Crs 5991 1232 Crs 5994 1233 Crs 5995 1233 Crs 5996 1233 Crs 5997 1233 Crs 5998 1232 Crs 5999 1232 Crs 5999 1232 Crs 6000 1232 Crs 6000 1232 Crs 6018 1233 Crs 6021 1232 Crs 6023 1231 Crs 6023 1232 Crs 6024 1232 Crs 6025 1232 Crs 6026 1232 Crs 6026 1232 Crs 6027 1233 Crs 6028 1232 Crs 6046 1231 Crs 6049 1232 Crs 6050 1234 Crs 6051 1233 Crs 6052 1233 Crs 6052 1232 Crs 6053 1232 Crs 6054 1232 Crs 6055 1232 Crs 6055 1232 Crs 6073 1233 Crs 6076 1232 Crs 6078 1231 Crs 6078 1232 Crs 6079 1232 Crs 6080 1232 Crs 6081 1232 Crs 6081 1232 Crs 6082 1232 Crs 6083 1232 Crs 6100 1232 Crs 6103 1232 Crs 6105 1234 Crs 6106 1233 Crs 6107 1233 Crs 6107 1232 Crs 6108 1232 Crs 6109 1232 Crs 6110 1232 Crs 6110 1232 Crs 6128 1233 Crs 6131 1232 Crs 6133 1231 Crs 6133 1232 Crs 6134 1231 Crs 6135 1232 Crs 6136 1232 Crs 6136 1232 Crs 6137 1232 Crs 6138 1232 Crs 6155 1232 Crs 6158 1232 Crs 6160 1234 Crs 6160 1233 Crs 6161 1233 Crs 6162 1233 Crs 6163 1233 Crs 6163 1232 Crs 6165 1232 Crs 6165 1232 Crs 6183 1233 Crs 6186 1232 Crs 6188 1231 Crs 6188 1232 Crs 6189 1232 Crs 6190 1232 Crs 6191 1232 Crs 6191 1232 Crs 6192 1232 Crs 6192 1232 Crs 6210 1232 Crs 6213 1233 Crs 6215 1234 Crs 6215 1232 Crs 6216 1232 Crs 6217 1232 Crs 6218 1231 Crs 6218 1232 Crs 6219 1232 Crs 6220 1232 Crs 6238 1232 Crs 6241 1232 Crs 6242 1232 Crs 6243 1232 Crs 6244 1232 Crs 6244 1232 Crs 6245 1233 Crs 6246 1232 Crs 6247 1233 Crs 6247 1232 Crs 6265 1233 Crs 6268 1232 Crs 6270 1233 Crs 6270 1233 Crs 6271 1233 Crs 6272 1232 Crs 6273 1232 Crs 6273 1232 Crs 6274 1232 Crs 6275 1232 Crs 6292 1232 Crs 6295 1233 Crs 6297 1232 Crs 6298 1232 Crs 6299 1232 Crs 6299 1232 Crs 6300 1232 Crs 6301 1232 Crs 6302 1232 Crs 6302 1232 Crs 6320 1232 Crs 6323 1232 Crs 6324 1233 Crs 6325 1232 Crs 6326 1232 Crs 6326 1233 Crs 6327 1233 Crs 6328 1232 Crs 6329 1232 Crs 6329 1232 Crs 6347 1232 Crs 6350 1233 Crs 6352 1232 Crs 6352 1232 Crs 6353 1232 Crs 6354 1232 Crs 6355 1233 Crs 6355 1233 Crs 6356 1232 Crs 6357 1232 Crs 6375 1232 Crs 6378 1232 Crs 6379 1233 Crs 6380 1233 Crs 6381 1233 Crs 6381 1233 Crs 6382 1232 Crs 6383 1232 Crs 6384 1232 Crs 6384 1232 Crs 6402 1233 Crs 6405 1233 Crs 6407 1231 Crs 6407 1232 Crs 6408 1232 Crs 6409 1232 Crs 6410 1232 Crs 6410 1232 Crs 6411 1233 Crs 6412 1232 Crs 6429 1232 Crs 6433 1232 Crs 6434 1234 Crs 6435 1232 Crs 6436 1233 Crs 6436 1232 Crs 6437 1232 Crs 6438 1232 Crs 6439 1232 Crs 6439 1232 Crs 6457 1232 Crs 6460 1232 Crs 6462 1232 Crs 6462 1232 Crs 6463 1232 Crs 6464 1232 Crs 6465 1232 Crs 6465 1232 Crs 6466 1232 Crs 6467 1232 Crs 6484 1233 Crs 6487 1232 Crs 6489 1233 Crs 6490 1233 Crs 6491 1233 Crs 6491 1233 Crs 6492 1233 Crs 6493 1232 Crs 6494 1232 Crs 6494 1232 Crs 6512 1232 Crs 6515 1233 Crs 6517 1232 Crs 6517 1232 Crs 6518 1231 Crs 6519 1231 Crs 6520 1231 Crs 6520 1232 Crs 6521 1232 Crs 6521 1232 Crs 6539 1232 Crs 6542 1232 Crs 6544 1233 Crs 6544 1232 Crs 6545 1232 Crs 6546 1233 Crs 6547 1233 Crs 6547 1232 Crs 6548 1232 Crs 6549 1232 Crs 6016 3357 Crs 1.000 UL LTb 1404 1080 M 5184 0 V 0 2880 V -5184 0 V 0 -2880 V 1.000 UP stroke grestore end showpage %%Trailer %%DocumentFonts: Helvetica %%EndDocument @endspecial 1058 x @beginspecial 50 @llx 50 @lly 410 @urx 302 @ury 1800 @rwi @setspecial %%BeginDocument: figures/bot-siff.eps %!PS-Adobe-2.0 EPSF-2.0 %%Title: bot-siff.eps %%Creator: gnuplot 4.0 patchlevel 0 %%CreationDate: Mon Feb 7 20:52:20 2005 %%DocumentFonts: (atend) %%BoundingBox: 50 50 410 302 %%Orientation: Portrait %%EndComments /gnudict 256 dict def gnudict begin /Color false def /Solid false def /gnulinewidth 5.000 def /userlinewidth gnulinewidth def /vshift -120 def /dl {10.0 mul} def /hpt_ 31.5 def /vpt_ 31.5 def /hpt hpt_ def /vpt vpt_ def /Rounded false def /M {moveto} bind def /L {lineto} bind def /R {rmoveto} bind def /V {rlineto} bind def /N {newpath moveto} bind def /C {setrgbcolor} bind def /f {rlineto fill} bind def /vpt2 vpt 2 mul def /hpt2 hpt 2 mul def /Lshow { currentpoint stroke M 0 vshift R show } def /Rshow { currentpoint stroke M dup stringwidth pop neg vshift R show } def /Cshow { currentpoint stroke M dup stringwidth pop -2 div vshift R show } def /UP { dup vpt_ mul /vpt exch def hpt_ mul /hpt exch def /hpt2 hpt 2 mul def /vpt2 vpt 2 mul def } def /DL { Color {setrgbcolor Solid {pop []} if 0 setdash } {pop pop pop 0 setgray Solid {pop []} if 0 setdash} ifelse } def /BL { stroke userlinewidth 2 mul setlinewidth Rounded { 1 setlinejoin 1 setlinecap } if } def /AL { stroke userlinewidth 2 div setlinewidth Rounded { 1 setlinejoin 1 setlinecap } if } def /UL { dup gnulinewidth mul /userlinewidth exch def dup 1 lt {pop 1} if 10 mul /udl exch def } def /PL { stroke userlinewidth setlinewidth Rounded { 1 setlinejoin 1 setlinecap } if } def /LTw { PL [] 1 setgray } def /LTb { BL [] 0 0 0 DL } def /LTa { AL [1 udl mul 2 udl mul] 0 setdash 0 0 0 setrgbcolor } def /LT0 { PL [] 1 0 0 DL } def /LT1 { PL [4 dl 2 dl] 0 1 0 DL } def /LT2 { PL [2 dl 3 dl] 0 0 1 DL } def /LT3 { PL [1 dl 1.5 dl] 1 0 1 DL } def /LT4 { PL [5 dl 2 dl 1 dl 2 dl] 0 1 1 DL } def /LT5 { PL [4 dl 3 dl 1 dl 3 dl] 1 1 0 DL } def /LT6 { PL [2 dl 2 dl 2 dl 4 dl] 0 0 0 DL } def /LT7 { PL [2 dl 2 dl 2 dl 2 dl 2 dl 4 dl] 1 0.3 0 DL } def /LT8 { PL [2 dl 2 dl 2 dl 2 dl 2 dl 2 dl 2 dl 4 dl] 0.5 0.5 0.5 DL } def /Pnt { stroke [] 0 setdash gsave 1 setlinecap M 0 0 V stroke grestore } def /Dia { stroke [] 0 setdash 2 copy vpt add M hpt neg vpt neg V hpt vpt neg V hpt vpt V hpt neg vpt V closepath stroke Pnt } def /Pls { stroke [] 0 setdash vpt sub M 0 vpt2 V currentpoint stroke M hpt neg vpt neg R hpt2 0 V stroke } def /Box { stroke [] 0 setdash 2 copy exch hpt sub exch vpt add M 0 vpt2 neg V hpt2 0 V 0 vpt2 V hpt2 neg 0 V closepath stroke Pnt } def /Crs { stroke [] 0 setdash exch hpt sub exch vpt add M hpt2 vpt2 neg V currentpoint stroke M hpt2 neg 0 R hpt2 vpt2 V stroke } def /TriU { stroke [] 0 setdash 2 copy vpt 1.12 mul add M hpt neg vpt -1.62 mul V hpt 2 mul 0 V hpt neg vpt 1.62 mul V closepath stroke Pnt } def /Star { 2 copy Pls Crs } def /BoxF { stroke [] 0 setdash exch hpt sub exch vpt add M 0 vpt2 neg V hpt2 0 V 0 vpt2 V hpt2 neg 0 V closepath fill } def /TriUF { stroke [] 0 setdash vpt 1.12 mul add M hpt neg vpt -1.62 mul V hpt 2 mul 0 V hpt neg vpt 1.62 mul V closepath fill } def /TriD { stroke [] 0 setdash 2 copy vpt 1.12 mul sub M hpt neg vpt 1.62 mul V hpt 2 mul 0 V hpt neg vpt -1.62 mul V closepath stroke Pnt } def /TriDF { stroke [] 0 setdash vpt 1.12 mul sub M hpt neg vpt 1.62 mul V hpt 2 mul 0 V hpt neg vpt -1.62 mul V closepath fill} def /DiaF { stroke [] 0 setdash vpt add M hpt neg vpt neg V hpt vpt neg V hpt vpt V hpt neg vpt V closepath fill } def /Pent { stroke [] 0 setdash 2 copy gsave translate 0 hpt M 4 {72 rotate 0 hpt L} repeat closepath stroke grestore Pnt } def /PentF { stroke [] 0 setdash gsave translate 0 hpt M 4 {72 rotate 0 hpt L} repeat closepath fill grestore } def /Circle { stroke [] 0 setdash 2 copy hpt 0 360 arc stroke Pnt } def /CircleF { stroke [] 0 setdash hpt 0 360 arc fill } def /C0 { BL [] 0 setdash 2 copy moveto vpt 90 450 arc } bind def /C1 { BL [] 0 setdash 2 copy moveto 2 copy vpt 0 90 arc closepath fill vpt 0 360 arc closepath } bind def /C2 { BL [] 0 setdash 2 copy moveto 2 copy vpt 90 180 arc closepath fill vpt 0 360 arc closepath } bind def /C3 { BL [] 0 setdash 2 copy moveto 2 copy vpt 0 180 arc closepath fill vpt 0 360 arc closepath } bind def /C4 { BL [] 0 setdash 2 copy moveto 2 copy vpt 180 270 arc closepath fill vpt 0 360 arc closepath } bind def /C5 { BL [] 0 setdash 2 copy moveto 2 copy vpt 0 90 arc 2 copy moveto 2 copy vpt 180 270 arc closepath fill vpt 0 360 arc } bind def /C6 { BL [] 0 setdash 2 copy moveto 2 copy vpt 90 270 arc closepath fill vpt 0 360 arc closepath } bind def /C7 { BL [] 0 setdash 2 copy moveto 2 copy vpt 0 270 arc closepath fill vpt 0 360 arc closepath } bind def /C8 { BL [] 0 setdash 2 copy moveto 2 copy vpt 270 360 arc closepath fill vpt 0 360 arc closepath } bind def /C9 { BL [] 0 setdash 2 copy moveto 2 copy vpt 270 450 arc closepath fill vpt 0 360 arc closepath } bind def /C10 { BL [] 0 setdash 2 copy 2 copy moveto vpt 270 360 arc closepath fill 2 copy moveto 2 copy vpt 90 180 arc closepath fill vpt 0 360 arc closepath } bind def /C11 { BL [] 0 setdash 2 copy moveto 2 copy vpt 0 180 arc closepath fill 2 copy moveto 2 copy vpt 270 360 arc closepath fill vpt 0 360 arc closepath } bind def /C12 { BL [] 0 setdash 2 copy moveto 2 copy vpt 180 360 arc closepath fill vpt 0 360 arc closepath } bind def /C13 { BL [] 0 setdash 2 copy moveto 2 copy vpt 0 90 arc closepath fill 2 copy moveto 2 copy vpt 180 360 arc closepath fill vpt 0 360 arc closepath } bind def /C14 { BL [] 0 setdash 2 copy moveto 2 copy vpt 90 360 arc closepath fill vpt 0 360 arc } bind def /C15 { BL [] 0 setdash 2 copy vpt 0 360 arc closepath fill vpt 0 360 arc closepath } bind def /Rec { newpath 4 2 roll moveto 1 index 0 rlineto 0 exch rlineto neg 0 rlineto closepath } bind def /Square { dup Rec } bind def /Bsquare { vpt sub exch vpt sub exch vpt2 Square } bind def /S0 { BL [] 0 setdash 2 copy moveto 0 vpt rlineto BL Bsquare } bind def /S1 { BL [] 0 setdash 2 copy vpt Square fill Bsquare } bind def /S2 { BL [] 0 setdash 2 copy exch vpt sub exch vpt Square fill Bsquare } bind def /S3 { BL [] 0 setdash 2 copy exch vpt sub exch vpt2 vpt Rec fill Bsquare } bind def /S4 { BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt Square fill Bsquare } bind def /S5 { BL [] 0 setdash 2 copy 2 copy vpt Square fill exch vpt sub exch vpt sub vpt Square fill Bsquare } bind def /S6 { BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt vpt2 Rec fill Bsquare } bind def /S7 { BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt vpt2 Rec fill 2 copy vpt Square fill Bsquare } bind def /S8 { BL [] 0 setdash 2 copy vpt sub vpt Square fill Bsquare } bind def /S9 { BL [] 0 setdash 2 copy vpt sub vpt vpt2 Rec fill Bsquare } bind def /S10 { BL [] 0 setdash 2 copy vpt sub vpt Square fill 2 copy exch vpt sub exch vpt Square fill Bsquare } bind def /S11 { BL [] 0 setdash 2 copy vpt sub vpt Square fill 2 copy exch vpt sub exch vpt2 vpt Rec fill Bsquare } bind def /S12 { BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt2 vpt Rec fill Bsquare } bind def /S13 { BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt2 vpt Rec fill 2 copy vpt Square fill Bsquare } bind def /S14 { BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt2 vpt Rec fill 2 copy exch vpt sub exch vpt Square fill Bsquare } bind def /S15 { BL [] 0 setdash 2 copy Bsquare fill Bsquare } bind def /D0 { gsave translate 45 rotate 0 0 S0 stroke grestore } bind def /D1 { gsave translate 45 rotate 0 0 S1 stroke grestore } bind def /D2 { gsave translate 45 rotate 0 0 S2 stroke grestore } bind def /D3 { gsave translate 45 rotate 0 0 S3 stroke grestore } bind def /D4 { gsave translate 45 rotate 0 0 S4 stroke grestore } bind def /D5 { gsave translate 45 rotate 0 0 S5 stroke grestore } bind def /D6 { gsave translate 45 rotate 0 0 S6 stroke grestore } bind def /D7 { gsave translate 45 rotate 0 0 S7 stroke grestore } bind def /D8 { gsave translate 45 rotate 0 0 S8 stroke grestore } bind def /D9 { gsave translate 45 rotate 0 0 S9 stroke grestore } bind def /D10 { gsave translate 45 rotate 0 0 S10 stroke grestore } bind def /D11 { gsave translate 45 rotate 0 0 S11 stroke grestore } bind def /D12 { gsave translate 45 rotate 0 0 S12 stroke grestore } bind def /D13 { gsave translate 45 rotate 0 0 S13 stroke grestore } bind def /D14 { gsave translate 45 rotate 0 0 S14 stroke grestore } bind def /D15 { gsave translate 45 rotate 0 0 S15 stroke grestore } bind def /DiaE { stroke [] 0 setdash vpt add M hpt neg vpt neg V hpt vpt neg V hpt vpt V hpt neg vpt V closepath stroke } def /BoxE { stroke [] 0 setdash exch hpt sub exch vpt add M 0 vpt2 neg V hpt2 0 V 0 vpt2 V hpt2 neg 0 V closepath stroke } def /TriUE { stroke [] 0 setdash vpt 1.12 mul add M hpt neg vpt -1.62 mul V hpt 2 mul 0 V hpt neg vpt 1.62 mul V closepath stroke } def /TriDE { stroke [] 0 setdash vpt 1.12 mul sub M hpt neg vpt 1.62 mul V hpt 2 mul 0 V hpt neg vpt -1.62 mul V closepath stroke } def /PentE { stroke [] 0 setdash gsave translate 0 hpt M 4 {72 rotate 0 hpt L} repeat closepath stroke grestore } def /CircE { stroke [] 0 setdash hpt 0 360 arc stroke } def /Opaque { gsave closepath 1 setgray fill grestore 0 setgray closepath } def /DiaW { stroke [] 0 setdash vpt add M hpt neg vpt neg V hpt vpt neg V hpt vpt V hpt neg vpt V Opaque stroke } def /BoxW { stroke [] 0 setdash exch hpt sub exch vpt add M 0 vpt2 neg V hpt2 0 V 0 vpt2 V hpt2 neg 0 V Opaque stroke } def /TriUW { stroke [] 0 setdash vpt 1.12 mul add M hpt neg vpt -1.62 mul V hpt 2 mul 0 V hpt neg vpt 1.62 mul V Opaque stroke } def /TriDW { stroke [] 0 setdash vpt 1.12 mul sub M hpt neg vpt 1.62 mul V hpt 2 mul 0 V hpt neg vpt -1.62 mul V Opaque stroke } def /PentW { stroke [] 0 setdash gsave translate 0 hpt M 4 {72 rotate 0 hpt L} repeat Opaque stroke grestore } def /CircW { stroke [] 0 setdash hpt 0 360 arc Opaque stroke } def /BoxFill { gsave Rec 1 setgray fill grestore } def /BoxColFill { gsave Rec /Fillden exch def currentrgbcolor /ColB exch def /ColG exch def /ColR exch def /ColR ColR Fillden mul Fillden sub 1 add def /ColG ColG Fillden mul Fillden sub 1 add def /ColB ColB Fillden mul Fillden sub 1 add def ColR ColG ColB setrgbcolor fill grestore } def % % PostScript Level 1 Pattern Fill routine % Usage: x y w h s a XX PatternFill % x,y = lower left corner of box to be filled % w,h = width and height of box % a = angle in degrees between lines and x-axis % XX = 0/1 for no/yes cross-hatch % /PatternFill { gsave /PFa [ 9 2 roll ] def PFa 0 get PFa 2 get 2 div add PFa 1 get PFa 3 get 2 div add translate PFa 2 get -2 div PFa 3 get -2 div PFa 2 get PFa 3 get Rec gsave 1 setgray fill grestore clip currentlinewidth 0.5 mul setlinewidth /PFs PFa 2 get dup mul PFa 3 get dup mul add sqrt def 0 0 M PFa 5 get rotate PFs -2 div dup translate 0 1 PFs PFa 4 get div 1 add floor cvi { PFa 4 get mul 0 M 0 PFs V } for 0 PFa 6 get ne { 0 1 PFs PFa 4 get div 1 add floor cvi { PFa 4 get mul 0 2 1 roll M PFs 0 V } for } if stroke grestore } def % /Symbol-Oblique /Symbol findfont [1 0 .167 1 0 0] makefont dup length dict begin {1 index /FID eq {pop pop} {def} ifelse} forall currentdict end definefont pop end %%EndProlog gnudict begin gsave 50 50 translate 0.050 0.050 scale 0 setgray newpath (Helvetica) findfont 360 scalefont setfont 1.000 UL LTb 1404 1080 M 63 0 V 5121 0 R -63 0 V -5337 0 R gsave 0 setgray ( 0) Rshow grestore 1.000 UL LTb 1404 1560 M 63 0 V 5121 0 R -63 0 V -5337 0 R gsave 0 setgray ( 1) Rshow grestore 1.000 UL LTb 1404 2040 M 63 0 V 5121 0 R -63 0 V -5337 0 R gsave 0 setgray ( 2) Rshow grestore 1.000 UL LTb 1404 2520 M 63 0 V 5121 0 R -63 0 V -5337 0 R gsave 0 setgray ( 3) Rshow grestore 1.000 UL LTb 1404 3000 M 63 0 V 5121 0 R -63 0 V -5337 0 R gsave 0 setgray ( 4) Rshow grestore 1.000 UL LTb 1404 3480 M 63 0 V 5121 0 R -63 0 V -5337 0 R gsave 0 setgray ( 5) Rshow grestore 1.000 UL LTb 1404 3960 M 63 0 V 5121 0 R -63 0 V -5337 0 R gsave 0 setgray ( 6) Rshow grestore 1.000 UL LTb 1404 1080 M 0 63 V 0 2817 R 0 -63 V 0 -3177 R gsave 0 setgray ( 0) Cshow grestore 1.000 UL LTb 2268 1080 M 0 63 V 0 2817 R 0 -63 V 0 -3177 R gsave 0 setgray ( 10) Cshow grestore 1.000 UL LTb 3132 1080 M 0 63 V 0 2817 R 0 -63 V 0 -3177 R gsave 0 setgray ( 20) Cshow grestore 1.000 UL LTb 3996 1080 M 0 63 V 0 2817 R 0 -63 V 0 -3177 R gsave 0 setgray ( 30) Cshow grestore 1.000 UL LTb 4860 1080 M 0 63 V 0 2817 R 0 -63 V 0 -3177 R gsave 0 setgray ( 40) Cshow grestore 1.000 UL LTb 5724 1080 M 0 63 V 0 2817 R 0 -63 V 0 -3177 R gsave 0 setgray ( 50) Cshow grestore 1.000 UL LTb 6588 1080 M 0 63 V 0 2817 R 0 -63 V 0 -3177 R gsave 0 setgray ( 60) Cshow grestore 1.000 UL LTb 1.000 UL LTb 1404 1080 M 5184 0 V 0 2880 V -5184 0 V 0 -2880 V LTb 360 2520 M gsave 0 setgray currentpoint gsave translate 90 rotate 0 0 M (File transfer time \(s\)) Cshow grestore grestore LTb 3996 180 M gsave 0 setgray (Time \(s\)) Cshow grestore LTb 3996 4500 M gsave 0 setgray (SIFF) Cshow grestore 1.000 UP 1.000 UP 1.000 UL LT0 LTb 5661 3717 M gsave 0 setgray (all at once) Rshow grestore LT0 5877 3717 M 279 0 V 1508 1230 M 11 4 V 16 -4 V 12 0 V 9 0 V 6 0 V 12 0 V 9 0 V 6 0 V 10 0 V 2 0 V 8 0 V 7 0 V 10 0 V 2 0 V 8 0 V 7 0 V 10 0 V 2 0 V 8 0 V 7 0 V 10 0 V 2 0 V 8 0 V 7 0 V 10 0 V 2 0 V 6 0 V 2 0 V 7 0 V 10 0 V 2 0 V 6 0 V 2 0 V 7 0 V 10 0 V 1 0 V 7 0 V 2 0 V 7 0 V 10 0 V 1 0 V 7 0 V 2 0 V 7 0 V 10 0 V 1 0 V 7 0 V 2 0 V 7 0 V 8 0 V 2 0 V 1 0 V 7 0 V 2 0 V 7 1 V 5 1 V 3 -2 V 2 4 V 1 -2 V 7 -2 V 2 0 V 7 10 V 5 -10 V 3 2 V 3 0 V 1 0 V 6 0 V 2 -2 V 9 2 V 3 -2 V 3 2 V 3 -2 V 1 0 V 0 3 V 6 1 V 2 -4 V 10 6 V 2 -6 V 4 4 V 2 -4 V 1 0 V 1 0 V 6 0 V 1 1 V 11 -1 V 1 0 V 4 2 V 2 -2 V 1 0 V 1 0 V 6 0 V 2 2 V 10 -2 V 1 0 V 5 0 V 1 2 V 1 0 V 1 0 V 3 1 V 3 -1 V 2 -2 V 10 0 V stroke 2025 1230 M 1 0 V 5 0 V 2 0 V 1 0 V 4 0 V 2 0 V 2 0 V 10 0 V 1 0 V 5 0 V 2 0 V 1 0 V 4 0 V 2 0 V 2 0 V 10 0 V 1 0 V 5 0 V 2 0 V 1 0 V 4 0 V 2 0 V 2 0 V 10 0 V 1 0 V 5 0 V 2 0 V 1 0 V 4 0 V 2 0 V 2 0 V 10 0 V 1 0 V 5 0 V 2 0 V 1 0 V 4 0 V 2 0 V 2 0 V 10 0 V 1 0 V 3 0 V 2 0 V 2 0 V 1 0 V 0 3 V 4 -3 V 2 3 V 2 -3 V 10 3 V 1 -3 V 3 0 V 2 3 V 2 -3 V 1 0 V 1 0 V 3 0 V 3 0 V 1 3 V 10 -3 V 1 3 V 3 -3 V 2 0 V 2 3 V 1 0 V 1 -3 V 3 3 V 3 -3 V 2 0 V 9 0 V 2 0 V 2 2 V 2 -2 V 2 0 V 1 0 V 1 2 V 3 148 V 3 1544 V 2 -8 V 2589 1230 L 2268 3013 L 2 -7 V 2 -11 V 2589 1250 L 2274 3014 L 2 -10 V 1 -3 V 1 -4 V 30 -163 V 2616 1230 L 0 2 V 1 3 V 0 2 V 3 5 V 2 -2 V 1 2 V 0 2 V 0 3 V 1 0 V 19 -8 V 1 -3 V 1 0 V 4 0 V 2 0 V stroke 2651 1236 M 1 0 V 1 0 V 1 0 V 17 0 V 1 0 V 1 0 V 4 0 V 2 0 V 1 0 V 1 0 V 1 0 V 18 0 V 1 0 V 4 0 V 2 0 V 1 0 V 1 0 V 1 0 V 18 0 V 1 0 V 4 0 V 2 0 V 1 0 V 1 0 V 1 0 V 18 0 V 1 0 V 1 0 V 3 0 V 3 0 V 1 0 V 1 0 V 18 0 V 1 0 V 1 0 V 3 0 V 3 0 V 1 0 V 1 0 V 1 0 V 17 0 V 1 0 V 1 0 V 4 0 V 2 0 V 1 0 V 1 0 V 1 0 V 17 0 V 1 0 V 1 0 V 4 0 V 2 0 V 1 0 V 1 0 V 1 0 V 17 0 V 1 0 V 1 0 V 4 0 V 2 0 V 1 0 V 1 0 V 1 0 V 17 0 V 1 0 V 1 0 V 4 0 V 2 0 V 1 0 V 1 0 V 1 0 V 17 0 V 1 0 V 1 0 V 4 0 V 2 0 V 1 0 V 1 0 V 1 0 V 18 0 V 1 0 V 4 0 V 2 0 V 1 0 V 1 0 V 1 0 V 18 0 V 1 0 V 4 0 V 3 0 V 1 0 V 1 0 V 18 0 V 1 0 V 1 0 V 3 0 V 3 0 V 1 0 V 1 0 V 1 0 V 17 0 V 1 0 V 1 0 V stroke 3039 1236 M 3 0 V 3 0 V 1 0 V 1 0 V 1 0 V 17 0 V 1 0 V 1 0 V 4 0 V 2 0 V 1 0 V 1 0 V 1 0 V 17 0 V 1 0 V 1 0 V 4 0 V 2 0 V 1 0 V 1 0 V 1 0 V 17 0 V 1 0 V 1 0 V 4 0 V 2 0 V 1 0 V 1 0 V 1 0 V 17 0 V 1 0 V 1 0 V 4 0 V 2 0 V 1 0 V 1 0 V 1 0 V 18 0 V 1 0 V 4 0 V 2 0 V 1 0 V 1 0 V 1 0 V 18 0 V 1 0 V 4 0 V 2 0 V 1 0 V 1 0 V 1 0 V 18 0 V 1 0 V 1 0 V 3 0 V 3 0 V 1 0 V 1 0 V 18 0 V 1 0 V 1 0 V 3 0 V 3 0 V 1 0 V 1 0 V 1 0 V 17 0 V 1 0 V 1 0 V 4 0 V 2 0 V 1 0 V 1 0 V 1 0 V 17 0 V 1 0 V 1 0 V 4 0 V 2 0 V 1 0 V 1 0 V 1 0 V 17 0 V 1 0 V 1 0 V 4 0 V 2 0 V 1 0 V 1 0 V 1 0 V 17 0 V 1 0 V 1 0 V 4 0 V 2 0 V 1 0 V 1 0 V 1 0 V 18 0 V 1 0 V 4 0 V 2 0 V 1 0 V 1 0 V stroke 3412 1236 M 1 0 V 18 0 V 1 0 V 4 0 V 2 0 V 1 0 V 1 0 V 1 0 V 18 0 V 1 0 V 1 0 V 3 0 V 3 0 V 1 0 V 1 0 V 18 1 V 1 0 V 1 0 V 3 0 V 3 0 V 1 0 V 1 0 V 1 0 V 17 -1 V 1 0 V 1 0 V 4 0 V 2 0 V 1 0 V 1 0 V 1 0 V 17 0 V 1 0 V 1 0 V 4 0 V 2 0 V 1 0 V 1 0 V 1 0 V 17 2 V 1 0 V 1 0 V 4 0 V 2 0 V 1 0 V 1 0 V 1 0 V 18 -2 V 1 0 V 1 0 V 3 0 V 3 0 V 1 0 V 1 0 V 18 0 V 1 0 V 1 0 V 3 0 V 3 0 V 1 0 V 1 0 V 1 0 V 17 -2 V 0 2 V 1 0 V 1 0 V 4 0 V 2 0 V 1 0 V 1 0 V 1 0 V 17 3 V 0 -3 V 1 0 V 1 0 V 4 0 V 2 0 V 1 0 V 1 0 V 1 0 V 17 0 V 1 0 V 1 0 V 4 0 V 2 0 V 1 0 V 1 0 V 1 0 V 17 0 V 1 0 V 1 0 V 4 0 V 2 0 V 1 0 V 1 0 V 1 0 V 18 0 V 1 0 V 4 0 V 2 0 V 1 0 V 1 0 V 1 0 V 18 0 V stroke 3797 1236 M 1 0 V 4 0 V 2 0 V 1 0 V 1 0 V 1 0 V 18 0 V 1 0 V 1 0 V 3 0 V 3 0 V 1 0 V 1 0 V 18 0 V 1 0 V 1 0 V 3 0 V 3 0 V 1 0 V 1 0 V 1 0 V 17 0 V 1 0 V 1 0 V 3 0 V 3 0 V 1 0 V 1 0 V 1 0 V 17 0 V 1 0 V 1 0 V 4 0 V 2 0 V 1 0 V 1 0 V 1 0 V 17 0 V 1 0 V 1 0 V 4 0 V 2 0 V 1 0 V 1 0 V 1 0 V 17 0 V 1 0 V 1 0 V 4 0 V 2 0 V 1 0 V 1 0 V 1 0 V 17 0 V 1 0 V 1 0 V 4 0 V 2 0 V 1 0 V 1 0 V 1 0 V 18 0 V 1 0 V 4 0 V 2 0 V 1 0 V 1 0 V 1 0 V 18 0 V 1 0 V 4 0 V 2 0 V 1 0 V 1 0 V 1 0 V 18 0 V 1 0 V 1 1 V 3 -4 V 3 4 V 1 0 V 1 0 V 1 8 V 17 -14 V 0 2 V 1 0 V 1 0 V 3 0 V 3 0 V 1 0 V 1 0 V 2 0 V 15 0 V 1 0 V 1 0 V 3 0 V 3 0 V 1 0 V 1 0 V 1 0 V 2 0 V 15 0 V 1 0 V 1 0 V stroke 4163 1233 M 3 0 V 3 0 V 1 0 V 1 0 V 2 0 V 15 0 V 1 0 V 1 0 V 1 0 V 3 0 V 3 0 V 1 0 V 1 0 V 2 0 V 15 0 V 1 0 V 1 0 V 3 0 V 3 0 V 1 0 V 1 0 V 3 0 V 14 0 V 1 0 V 1 0 V 1 0 V 3 0 V 3 0 V 1 0 V 1 0 V 2 0 V 15 0 V 1 0 V 1 0 V 3 0 V 3 0 V 1 0 V 1 0 V 1 0 V 2 0 V 15 0 V 1 0 V 1 0 V 3 0 V 3 0 V 1 0 V 1 0 V 2 0 V 15 0 V 1 0 V 1 0 V 1 0 V 3 0 V 3 0 V 1 0 V 1 0 V 2 0 V 15 0 V 1 0 V 1 0 V 3 0 V 3 0 V 1 0 V 1 0 V 3 0 V 14 0 V 1 0 V 1 0 V 1 0 V 3 0 V 3 0 V 1 0 V 1 0 V 2 0 V 15 0 V 1 0 V 1 0 V 3 0 V 3 0 V 1 0 V 1 0 V 1 0 V 2 0 V 15 3 V 0 -2 V 1 0 V 1 0 V 3 0 V 3 0 V 1 0 V 1 0 V 2 0 V 16 -3 V 0 2 V 1 0 V 1 0 V 3 0 V 3 0 V 1 0 V 1 0 V 2 0 V 15 0 V 1 0 V 1 0 V stroke 4494 1233 M 3 0 V 3 0 V 1 0 V 1 0 V 1 0 V 2 0 V 15 0 V 1 0 V 1 0 V 3 0 V 3 0 V 1 0 V 1 0 V 2 0 V 15 0 V 1 0 V 1 0 V 1 0 V 3 0 V 3 0 V 1 0 V 1 0 V 2 0 V 15 0 V 1 0 V 1 0 V 3 0 V 3 0 V 1 0 V 1 0 V 3 0 V 14 0 V 1 0 V 1 0 V 1 0 V 3 0 V 3 0 V 1 0 V 1 0 V 2 0 V 15 0 V 1 0 V 1 0 V 3 0 V 3 0 V 1 0 V 1 0 V 1 0 V 2 0 V 15 0 V 1 0 V 1 0 V 3 0 V 3 0 V 1 0 V 1 0 V 2 0 V 15 0 V 1 0 V 1 0 V 1 0 V 3 0 V 3 0 V 1 0 V 1 0 V 2 0 V 15 0 V 1 0 V 1 0 V 3 0 V 3 0 V 1 0 V 1 0 V 3 0 V 14 0 V 1 0 V 1 0 V 1 0 V 3 0 V 3 0 V 1 0 V 1 0 V 2 0 V 15 0 V 1 0 V 1 0 V 3 0 V 3 0 V 1 0 V 1 0 V 1 0 V 2 0 V 15 0 V 1 0 V 1 0 V 3 0 V 3 0 V 1 0 V 1 0 V 2 0 V 15 0 V 1 0 V 1 0 V 1 0 V stroke 4826 1233 M 3 0 V 3 0 V 1 0 V 1 0 V 2 0 V 15 0 V 1 0 V 1 0 V 3 0 V 3 0 V 1 0 V 1 0 V 3 0 V 14 0 V 1 0 V 1 0 V 1 0 V 3 0 V 3 0 V 1 0 V 1 0 V 2 0 V 15 0 V 1 0 V 1 0 V 3 0 V 4 0 V 1 0 V 1 0 V 2 0 V 15 0 V 1 0 V 1 0 V 3 0 V 3 0 V 1 0 V 1 0 V 2 0 V 15 0 V 1 0 V 1 0 V 1 0 V 3 0 V 3 0 V 1 0 V 1 0 V 2 0 V 15 0 V 1 0 V 1 0 V 3 0 V 3 0 V 1 0 V 1 0 V 3 0 V 15 0 V 1 0 V 1 0 V 3 0 V 3 0 V 1 0 V 1 0 V 2 0 V 15 0 V 1 0 V 1 0 V 4 0 V 3 0 V 1 0 V 1 0 V 2 0 V 15 0 V 1 0 V 1 0 V 3 0 V 3 0 V 1 0 V 1 0 V 2 0 V 15 0 V 1 0 V 1 0 V 1 0 V 3 0 V 3 0 V 1 0 V 1 0 V 2 0 V 15 4 V 1 -2 V 1 0 V 3 0 V 3 0 V 1 0 V 1 0 V 1 0 V 2 0 V 15 -4 V 1 2 V 1 0 V 3 0 V 3 0 V 1 0 V 1 0 V stroke 5165 1233 M 3 0 V 14 0 V 1 0 V 1 0 V 1 0 V 3 0 V 3 0 V 1 0 V 1 0 V 2 0 V 15 0 V 1 0 V 1 0 V 3 0 V 3 0 V 1 0 V 1 0 V 1 0 V 2 0 V 15 0 V 1 0 V 1 0 V 3 0 V 3 0 V 1 0 V 1 0 V 2 0 V 15 0 V 1 0 V 1 0 V 1 0 V 3 0 V 3 0 V 1 0 V 1 0 V 2 0 V 15 -2 V 1 2 V 1 0 V 3 2 V 3 -2 V 1 0 V 1 0 V 3 0 V 14 3 V 1 -3 V 1 0 V 1 0 V 3 0 V 3 0 V 1 0 V 1 0 V 2 0 V 15 0 V 1 0 V 1 0 V 4 0 V 2 0 V 1 0 V 1 0 V 1 0 V 2 0 V 15 0 V 1 0 V 1 0 V 3 0 V 3 0 V 1 0 V 1 0 V 2 0 V 15 0 V 1 0 V 1 0 V 1 0 V 3 0 V 3 0 V 1 0 V 1 0 V 2 0 V 15 0 V 1 0 V 1 0 V 3 0 V 3 0 V 1 0 V 1 0 V 3 0 V 14 0 V 1 0 V 1 0 V 1 0 V 3 0 V 3 0 V 1 0 V 1 0 V 2 0 V 15 0 V 1 0 V 1 0 V 4 0 V 2 0 V 1 0 V 1 0 V 1 0 V stroke 5497 1233 M 2 0 V 15 0 V 1 0 V 1 0 V 3 0 V 3 0 V 1 0 V 1 0 V 2 0 V 15 0 V 1 0 V 1 0 V 1 0 V 3 0 V 3 0 V 1 0 V 1 0 V 2 0 V 15 0 V 1 0 V 1 0 V 3 0 V 3 0 V 1 0 V 1 0 V 3 0 V 15 0 V 1 0 V 1 0 V 3 0 V 3 0 V 1 0 V 1 0 V 2 0 V 15 0 V 1 0 V 1 0 V 1 0 V 3 0 V 3 0 V 1 0 V 1 0 V 2 0 V 15 0 V 1 0 V 1 0 V 3 0 V 3 0 V 1 0 V 1 0 V 3 0 V 14 0 V 1 0 V 1 0 V 1 0 V 3 0 V 3 0 V 1 0 V 1 0 V 2 0 V 15 0 V 1 0 V 1 0 V 4 0 V 2 0 V 1 0 V 1 0 V 1 0 V 2 0 V 15 0 V 1 0 V 1 0 V 3 0 V 3 0 V 1 0 V 1 0 V 2 0 V 15 0 V 1 0 V 1 0 V 1 0 V 3 0 V 3 0 V 1 0 V 1 0 V 2 0 V 15 0 V 1 0 V 1 0 V 3 0 V 3 0 V 1 0 V 1 0 V 3 0 V 14 2 V 1 0 V 1 0 V 1 0 V 3 -1 V 3 1 V 1 0 V 1 0 V 2 0 V 15 -2 V stroke 5845 1233 M 1 0 V 1 0 V 1 0 V 3 0 V 3 0 V 1 0 V 1 0 V 2 0 V 15 0 V 1 0 V 1 0 V 3 0 V 3 0 V 1 0 V 1 0 V 3 0 V 14 0 V 1 0 V 1 0 V 1 0 V 3 0 V 3 0 V 1 0 V 1 0 V 2 0 V 15 0 V 1 0 V 1 0 V 3 0 V 3 0 V 1 0 V 1 0 V 1 0 V 2 0 V 15 0 V 1 0 V 1 0 V 3 0 V 3 0 V 1 0 V 1 0 V 2 0 V 15 0 V 1 0 V 1 0 V 1 0 V 3 0 V 3 0 V 1 0 V 1 0 V 2 0 V 15 0 V 1 0 V 1 0 V 3 0 V 3 0 V 1 0 V 1 0 V 3 0 V 14 0 V 1 0 V 1 0 V 1 0 V 3 0 V 3 0 V 1 0 V 1 0 V 2 0 V 15 0 V 1 0 V 1 0 V 3 0 V 3 0 V 1 0 V 1 0 V 1 0 V 2 0 V 15 0 V 1 0 V 1 0 V 3 0 V 3 0 V 1 0 V 1 0 V 2 0 V 15 0 V 1 0 V 1 0 V 1 0 V 3 0 V 3 0 V 1 0 V 1 0 V 2 0 V 15 0 V 1 0 V 1 0 V 3 0 V 3 0 V 1 0 V 1 0 V 3 0 V 14 0 V 1 0 V stroke 6177 1233 M 1 0 V 1 0 V 3 0 V 3 0 V 1 0 V 1 0 V 2 0 V 15 0 V 1 0 V 1 0 V 3 0 V 3 0 V 1 0 V 1 0 V 1 0 V 2 0 V 15 0 V 1 0 V 1 0 V 3 0 V 3 0 V 1 0 V 1 0 V 2 0 V 15 0 V 1 0 V 1 0 V 1 0 V 3 0 V 3 0 V 1 0 V 1 0 V 2 0 V 15 0 V 1 0 V 1 0 V 3 0 V 3 0 V 1 0 V 1 0 V 3 0 V 14 0 V 1 0 V 1 0 V 1 0 V 3 0 V 3 0 V 1 0 V 1 0 V 2 0 V 15 0 V 1 0 V 1 0 V 3 0 V 3 0 V 1 0 V 1 0 V 1 0 V 2 0 V 15 0 V 1 0 V 1 0 V 3 0 V 3 0 V 1 0 V 1 0 V 2 0 V 15 0 V 1 0 V 1 0 V 1 0 V 3 0 V 3 0 V 1 0 V 1 0 V 2 0 V 15 0 V 1 0 V 1 0 V 3 0 V 3 0 V 1 0 V 1 0 V 3 0 V 14 0 V 1 0 V 1 0 V 1 0 V 3 0 V 3 0 V 1 0 V 1 0 V 2 0 V 15 0 V 1 0 V 1 0 V 3 0 V 4 0 V 1 0 V 1 0 V 2 0 V 15 0 V 1 0 V 1 0 V stroke 6510 1233 M 3 0 V 3 0 V 1 0 V 1 0 V 2 0 V 15 0 V 1 0 V 1 0 V 1 0 V 3 0 V 3 0 V 1 0 V 1 0 V 2 0 V 1508 1230 Pls 1519 1234 Pls 1535 1230 Pls 1547 1230 Pls 1556 1230 Pls 1562 1230 Pls 1574 1230 Pls 1583 1230 Pls 1589 1230 Pls 1599 1230 Pls 1601 1230 Pls 1609 1230 Pls 1616 1230 Pls 1626 1230 Pls 1628 1230 Pls 1636 1230 Pls 1643 1230 Pls 1653 1230 Pls 1655 1230 Pls 1663 1230 Pls 1670 1230 Pls 1680 1230 Pls 1682 1230 Pls 1690 1230 Pls 1697 1230 Pls 1707 1230 Pls 1709 1230 Pls 1715 1230 Pls 1717 1230 Pls 1724 1230 Pls 1734 1230 Pls 1736 1230 Pls 1742 1230 Pls 1744 1230 Pls 1751 1230 Pls 1761 1230 Pls 1762 1230 Pls 1769 1230 Pls 1771 1230 Pls 1778 1230 Pls 1788 1230 Pls 1789 1230 Pls 1796 1230 Pls 1798 1230 Pls 1805 1230 Pls 1815 1230 Pls 1816 1230 Pls 1823 1230 Pls 1825 1230 Pls 1832 1230 Pls 1840 1230 Pls 1842 1230 Pls 1843 1230 Pls 1850 1230 Pls 1852 1230 Pls 1859 1231 Pls 1864 1232 Pls 1867 1230 Pls 1869 1234 Pls 1870 1232 Pls 1877 1230 Pls 1879 1230 Pls 1886 1240 Pls 1891 1230 Pls 1894 1232 Pls 1897 1232 Pls 1898 1232 Pls 1904 1232 Pls 1906 1230 Pls 1915 1232 Pls 1918 1230 Pls 1921 1232 Pls 1924 1230 Pls 1925 1230 Pls 1925 1233 Pls 1931 1234 Pls 1933 1230 Pls 1943 1236 Pls 1945 1230 Pls 1949 1234 Pls 1951 1230 Pls 1952 1230 Pls 1953 1230 Pls 1959 1230 Pls 1960 1231 Pls 1971 1230 Pls 1972 1230 Pls 1976 1232 Pls 1978 1230 Pls 1979 1230 Pls 1980 1230 Pls 1986 1230 Pls 1988 1232 Pls 1998 1230 Pls 1999 1230 Pls 2004 1230 Pls 2005 1232 Pls 2006 1232 Pls 2007 1232 Pls 2010 1233 Pls 2013 1232 Pls 2015 1230 Pls 2025 1230 Pls 2026 1230 Pls 2031 1230 Pls 2033 1230 Pls 2034 1230 Pls 2034 1230 Pls 2038 1230 Pls 2040 1230 Pls 2042 1230 Pls 2052 1230 Pls 2053 1230 Pls 2058 1230 Pls 2060 1230 Pls 2061 1230 Pls 2061 1230 Pls 2065 1230 Pls 2067 1230 Pls 2069 1230 Pls 2079 1230 Pls 2080 1230 Pls 2085 1230 Pls 2087 1230 Pls 2088 1230 Pls 2088 1230 Pls 2092 1230 Pls 2094 1230 Pls 2096 1230 Pls 2106 1230 Pls 2107 1230 Pls 2112 1230 Pls 2114 1230 Pls 2115 1230 Pls 2115 1230 Pls 2119 1230 Pls 2121 1230 Pls 2123 1230 Pls 2133 1230 Pls 2134 1230 Pls 2139 1230 Pls 2141 1230 Pls 2142 1230 Pls 2142 1230 Pls 2146 1230 Pls 2148 1230 Pls 2150 1230 Pls 2160 1230 Pls 2161 1230 Pls 2164 1230 Pls 2166 1230 Pls 2168 1230 Pls 2169 1230 Pls 2169 1233 Pls 2173 1230 Pls 2175 1233 Pls 2177 1230 Pls 2187 1233 Pls 2188 1230 Pls 2191 1230 Pls 2193 1233 Pls 2195 1230 Pls 2196 1230 Pls 2197 1230 Pls 2200 1230 Pls 2203 1230 Pls 2204 1233 Pls 2214 1230 Pls 2215 1233 Pls 2218 1230 Pls 2220 1230 Pls 2222 1233 Pls 2223 1233 Pls 2224 1230 Pls 2227 1233 Pls 2230 1230 Pls 2232 1230 Pls 2241 1230 Pls 2243 1230 Pls 2245 1232 Pls 2247 1230 Pls 2249 1230 Pls 2250 1230 Pls 2251 1232 Pls 2254 1380 Pls 2257 2924 Pls 2259 2916 Pls 2589 1230 Pls 2268 3013 Pls 2270 3006 Pls 2272 2995 Pls 2589 1250 Pls 2274 3014 Pls 2276 3004 Pls 2277 3001 Pls 2278 2997 Pls 2308 2834 Pls 2616 1230 Pls 2616 1232 Pls 2617 1235 Pls 2617 1237 Pls 2620 1242 Pls 2622 1240 Pls 2623 1242 Pls 2623 1244 Pls 2623 1247 Pls 2624 1247 Pls 2643 1239 Pls 2644 1236 Pls 2644 1236 Pls 2645 1236 Pls 2649 1236 Pls 2651 1236 Pls 2652 1236 Pls 2653 1236 Pls 2653 1236 Pls 2654 1236 Pls 2671 1236 Pls 2672 1236 Pls 2672 1236 Pls 2673 1236 Pls 2677 1236 Pls 2679 1236 Pls 2680 1236 Pls 2681 1236 Pls 2681 1236 Pls 2682 1236 Pls 2700 1236 Pls 2700 1236 Pls 2701 1236 Pls 2701 1236 Pls 2705 1236 Pls 2707 1236 Pls 2708 1236 Pls 2709 1236 Pls 2710 1236 Pls 2710 1236 Pls 2728 1236 Pls 2728 1236 Pls 2729 1236 Pls 2729 1236 Pls 2733 1236 Pls 2735 1236 Pls 2736 1236 Pls 2737 1236 Pls 2738 1236 Pls 2738 1236 Pls 2756 1236 Pls 2756 1236 Pls 2757 1236 Pls 2758 1236 Pls 2761 1236 Pls 2764 1236 Pls 2764 1236 Pls 2765 1236 Pls 2766 1236 Pls 2766 1236 Pls 2784 1236 Pls 2784 1236 Pls 2785 1236 Pls 2786 1236 Pls 2789 1236 Pls 2792 1236 Pls 2792 1236 Pls 2793 1236 Pls 2794 1236 Pls 2795 1236 Pls 2812 1236 Pls 2812 1236 Pls 2813 1236 Pls 2814 1236 Pls 2818 1236 Pls 2820 1236 Pls 2821 1236 Pls 2821 1236 Pls 2822 1236 Pls 2823 1236 Pls 2840 1236 Pls 2840 1236 Pls 2841 1236 Pls 2842 1236 Pls 2846 1236 Pls 2848 1236 Pls 2849 1236 Pls 2849 1236 Pls 2850 1236 Pls 2851 1236 Pls 2868 1236 Pls 2869 1236 Pls 2869 1236 Pls 2870 1236 Pls 2874 1236 Pls 2876 1236 Pls 2877 1236 Pls 2877 1236 Pls 2878 1236 Pls 2879 1236 Pls 2896 1236 Pls 2897 1236 Pls 2897 1236 Pls 2898 1236 Pls 2902 1236 Pls 2904 1236 Pls 2905 1236 Pls 2906 1236 Pls 2906 1236 Pls 2907 1236 Pls 2924 1236 Pls 2925 1236 Pls 2926 1236 Pls 2926 1236 Pls 2930 1236 Pls 2932 1236 Pls 2933 1236 Pls 2934 1236 Pls 2934 1236 Pls 2935 1236 Pls 2953 1236 Pls 2953 1236 Pls 2954 1236 Pls 2954 1236 Pls 2958 1236 Pls 2960 1236 Pls 2961 1236 Pls 2962 1236 Pls 2963 1236 Pls 2963 1236 Pls 2981 1236 Pls 2981 1236 Pls 2982 1236 Pls 2982 1236 Pls 2986 1236 Pls 2989 1236 Pls 2989 1236 Pls 2990 1236 Pls 2991 1236 Pls 2991 1236 Pls 3009 1236 Pls 3009 1236 Pls 3010 1236 Pls 3011 1236 Pls 3014 1236 Pls 3017 1236 Pls 3017 1236 Pls 3018 1236 Pls 3019 1236 Pls 3020 1236 Pls 3037 1236 Pls 3037 1236 Pls 3038 1236 Pls 3039 1236 Pls 3042 1236 Pls 3045 1236 Pls 3045 1236 Pls 3046 1236 Pls 3047 1236 Pls 3048 1236 Pls 3065 1236 Pls 3065 1236 Pls 3066 1236 Pls 3067 1236 Pls 3071 1236 Pls 3073 1236 Pls 3074 1236 Pls 3074 1236 Pls 3075 1236 Pls 3076 1236 Pls 3093 1236 Pls 3094 1236 Pls 3094 1236 Pls 3095 1236 Pls 3099 1236 Pls 3101 1236 Pls 3102 1236 Pls 3102 1236 Pls 3103 1236 Pls 3104 1236 Pls 3121 1236 Pls 3122 1236 Pls 3122 1236 Pls 3123 1236 Pls 3127 1236 Pls 3129 1236 Pls 3130 1236 Pls 3131 1236 Pls 3131 1236 Pls 3132 1236 Pls 3149 1236 Pls 3150 1236 Pls 3150 1236 Pls 3151 1236 Pls 3155 1236 Pls 3157 1236 Pls 3158 1236 Pls 3159 1236 Pls 3159 1236 Pls 3160 1236 Pls 3178 1236 Pls 3178 1236 Pls 3179 1236 Pls 3179 1236 Pls 3183 1236 Pls 3185 1236 Pls 3186 1236 Pls 3187 1236 Pls 3188 1236 Pls 3188 1236 Pls 3206 1236 Pls 3206 1236 Pls 3207 1236 Pls 3207 1236 Pls 3211 1236 Pls 3213 1236 Pls 3214 1236 Pls 3215 1236 Pls 3216 1236 Pls 3216 1236 Pls 3234 1236 Pls 3234 1236 Pls 3235 1236 Pls 3236 1236 Pls 3239 1236 Pls 3242 1236 Pls 3242 1236 Pls 3243 1236 Pls 3244 1236 Pls 3244 1236 Pls 3262 1236 Pls 3262 1236 Pls 3263 1236 Pls 3264 1236 Pls 3267 1236 Pls 3270 1236 Pls 3270 1236 Pls 3271 1236 Pls 3272 1236 Pls 3273 1236 Pls 3290 1236 Pls 3290 1236 Pls 3291 1236 Pls 3292 1236 Pls 3296 1236 Pls 3298 1236 Pls 3299 1236 Pls 3299 1236 Pls 3300 1236 Pls 3301 1236 Pls 3318 1236 Pls 3318 1236 Pls 3319 1236 Pls 3320 1236 Pls 3324 1236 Pls 3326 1236 Pls 3327 1236 Pls 3327 1236 Pls 3328 1236 Pls 3329 1236 Pls 3346 1236 Pls 3347 1236 Pls 3347 1236 Pls 3348 1236 Pls 3352 1236 Pls 3354 1236 Pls 3355 1236 Pls 3356 1236 Pls 3356 1236 Pls 3357 1236 Pls 3374 1236 Pls 3375 1236 Pls 3375 1236 Pls 3376 1236 Pls 3380 1236 Pls 3382 1236 Pls 3383 1236 Pls 3384 1236 Pls 3384 1236 Pls 3385 1236 Pls 3403 1236 Pls 3403 1236 Pls 3404 1236 Pls 3404 1236 Pls 3408 1236 Pls 3410 1236 Pls 3411 1236 Pls 3412 1236 Pls 3412 1236 Pls 3413 1236 Pls 3431 1236 Pls 3431 1236 Pls 3432 1236 Pls 3432 1236 Pls 3436 1236 Pls 3438 1236 Pls 3439 1236 Pls 3440 1236 Pls 3441 1236 Pls 3441 1236 Pls 3459 1236 Pls 3459 1236 Pls 3460 1236 Pls 3461 1236 Pls 3464 1236 Pls 3467 1236 Pls 3467 1236 Pls 3468 1236 Pls 3469 1236 Pls 3469 1236 Pls 3487 1237 Pls 3487 1237 Pls 3488 1237 Pls 3489 1237 Pls 3492 1237 Pls 3495 1237 Pls 3495 1237 Pls 3496 1237 Pls 3497 1237 Pls 3498 1237 Pls 3515 1236 Pls 3515 1236 Pls 3516 1236 Pls 3517 1236 Pls 3521 1236 Pls 3523 1236 Pls 3524 1236 Pls 3524 1236 Pls 3525 1236 Pls 3526 1236 Pls 3543 1236 Pls 3544 1236 Pls 3544 1236 Pls 3545 1236 Pls 3549 1236 Pls 3551 1236 Pls 3552 1236 Pls 3553 1236 Pls 3553 1236 Pls 3554 1236 Pls 3571 1238 Pls 3572 1238 Pls 3572 1238 Pls 3573 1238 Pls 3577 1238 Pls 3579 1238 Pls 3580 1238 Pls 3581 1238 Pls 3581 1238 Pls 3582 1238 Pls 3600 1236 Pls 3600 1236 Pls 3601 1236 Pls 3602 1236 Pls 3605 1236 Pls 3608 1236 Pls 3608 1236 Pls 3609 1236 Pls 3610 1236 Pls 3610 1236 Pls 3628 1236 Pls 3628 1236 Pls 3629 1236 Pls 3630 1236 Pls 3633 1236 Pls 3636 1236 Pls 3636 1236 Pls 3637 1236 Pls 3638 1236 Pls 3639 1236 Pls 3656 1234 Pls 3656 1236 Pls 3657 1236 Pls 3658 1236 Pls 3662 1236 Pls 3664 1236 Pls 3665 1236 Pls 3665 1236 Pls 3666 1236 Pls 3667 1236 Pls 3684 1239 Pls 3684 1236 Pls 3685 1236 Pls 3686 1236 Pls 3690 1236 Pls 3692 1236 Pls 3693 1236 Pls 3693 1236 Pls 3694 1236 Pls 3695 1236 Pls 3712 1236 Pls 3713 1236 Pls 3713 1236 Pls 3714 1236 Pls 3718 1236 Pls 3720 1236 Pls 3721 1236 Pls 3722 1236 Pls 3722 1236 Pls 3723 1236 Pls 3740 1236 Pls 3741 1236 Pls 3741 1236 Pls 3742 1236 Pls 3746 1236 Pls 3748 1236 Pls 3749 1236 Pls 3750 1236 Pls 3750 1236 Pls 3751 1236 Pls 3769 1236 Pls 3769 1236 Pls 3770 1236 Pls 3770 1236 Pls 3774 1236 Pls 3776 1236 Pls 3777 1236 Pls 3778 1236 Pls 3778 1236 Pls 3779 1236 Pls 3797 1236 Pls 3797 1236 Pls 3798 1236 Pls 3798 1236 Pls 3802 1236 Pls 3804 1236 Pls 3805 1236 Pls 3806 1236 Pls 3807 1236 Pls 3807 1236 Pls 3825 1236 Pls 3825 1236 Pls 3826 1236 Pls 3827 1236 Pls 3830 1236 Pls 3833 1236 Pls 3833 1236 Pls 3834 1236 Pls 3835 1236 Pls 3835 1236 Pls 3853 1236 Pls 3853 1236 Pls 3854 1236 Pls 3855 1236 Pls 3858 1236 Pls 3861 1236 Pls 3861 1236 Pls 3862 1236 Pls 3863 1236 Pls 3864 1236 Pls 3881 1236 Pls 3881 1236 Pls 3882 1236 Pls 3883 1236 Pls 3886 1236 Pls 3889 1236 Pls 3890 1236 Pls 3890 1236 Pls 3891 1236 Pls 3892 1236 Pls 3909 1236 Pls 3909 1236 Pls 3910 1236 Pls 3911 1236 Pls 3915 1236 Pls 3917 1236 Pls 3918 1236 Pls 3918 1236 Pls 3919 1236 Pls 3920 1236 Pls 3937 1236 Pls 3938 1236 Pls 3938 1236 Pls 3939 1236 Pls 3943 1236 Pls 3945 1236 Pls 3946 1236 Pls 3946 1236 Pls 3947 1236 Pls 3948 1236 Pls 3965 1236 Pls 3966 1236 Pls 3966 1236 Pls 3967 1236 Pls 3971 1236 Pls 3973 1236 Pls 3974 1236 Pls 3975 1236 Pls 3975 1236 Pls 3976 1236 Pls 3993 1236 Pls 3994 1236 Pls 3995 1236 Pls 3995 1236 Pls 3999 1236 Pls 4001 1236 Pls 4002 1236 Pls 4003 1236 Pls 4003 1236 Pls 4004 1236 Pls 4022 1236 Pls 4022 1236 Pls 4023 1236 Pls 4023 1236 Pls 4027 1236 Pls 4029 1236 Pls 4030 1236 Pls 4031 1236 Pls 4032 1236 Pls 4032 1236 Pls 4050 1236 Pls 4050 1236 Pls 4051 1236 Pls 4051 1236 Pls 4055 1236 Pls 4057 1236 Pls 4058 1236 Pls 4059 1236 Pls 4060 1236 Pls 4060 1236 Pls 4078 1236 Pls 4078 1236 Pls 4079 1236 Pls 4080 1237 Pls 4083 1233 Pls 4086 1237 Pls 4086 1237 Pls 4087 1237 Pls 4088 1237 Pls 4089 1245 Pls 4106 1231 Pls 4106 1233 Pls 4107 1233 Pls 4108 1233 Pls 4111 1233 Pls 4114 1233 Pls 4115 1233 Pls 4115 1233 Pls 4116 1233 Pls 4118 1233 Pls 4133 1233 Pls 4134 1233 Pls 4135 1233 Pls 4135 1233 Pls 4138 1233 Pls 4141 1233 Pls 4142 1233 Pls 4143 1233 Pls 4144 1233 Pls 4146 1233 Pls 4161 1233 Pls 4161 1233 Pls 4162 1233 Pls 4163 1233 Pls 4166 1233 Pls 4169 1233 Pls 4170 1233 Pls 4171 1233 Pls 4171 1233 Pls 4173 1233 Pls 4188 1233 Pls 4189 1233 Pls 4190 1233 Pls 4191 1233 Pls 4194 1233 Pls 4197 1233 Pls 4197 1233 Pls 4198 1233 Pls 4199 1233 Pls 4201 1233 Pls 4216 1233 Pls 4217 1233 Pls 4217 1233 Pls 4218 1233 Pls 4221 1233 Pls 4224 1233 Pls 4225 1233 Pls 4226 1233 Pls 4226 1233 Pls 4229 1233 Pls 4243 1233 Pls 4244 1233 Pls 4245 1233 Pls 4246 1233 Pls 4249 1233 Pls 4252 1233 Pls 4253 1233 Pls 4253 1233 Pls 4254 1233 Pls 4256 1233 Pls 4271 1233 Pls 4272 1233 Pls 4273 1233 Pls 4273 1233 Pls 4276 1233 Pls 4279 1233 Pls 4280 1233 Pls 4281 1233 Pls 4282 1233 Pls 4284 1233 Pls 4299 1233 Pls 4299 1233 Pls 4300 1233 Pls 4301 1233 Pls 4304 1233 Pls 4307 1233 Pls 4308 1233 Pls 4309 1233 Pls 4309 1233 Pls 4311 1233 Pls 4326 1233 Pls 4327 1233 Pls 4328 1233 Pls 4329 1233 Pls 4332 1233 Pls 4335 1233 Pls 4335 1233 Pls 4336 1233 Pls 4337 1233 Pls 4339 1233 Pls 4354 1233 Pls 4355 1233 Pls 4355 1233 Pls 4356 1233 Pls 4359 1233 Pls 4362 1233 Pls 4363 1233 Pls 4364 1233 Pls 4364 1233 Pls 4367 1233 Pls 4381 1233 Pls 4382 1233 Pls 4383 1233 Pls 4384 1233 Pls 4387 1233 Pls 4390 1233 Pls 4391 1233 Pls 4391 1233 Pls 4392 1233 Pls 4394 1233 Pls 4409 1233 Pls 4410 1233 Pls 4411 1233 Pls 4411 1233 Pls 4414 1233 Pls 4417 1233 Pls 4418 1233 Pls 4419 1233 Pls 4420 1233 Pls 4422 1233 Pls 4437 1236 Pls 4437 1234 Pls 4438 1234 Pls 4439 1234 Pls 4442 1234 Pls 4445 1234 Pls 4446 1234 Pls 4447 1234 Pls 4447 1234 Pls 4449 1234 Pls 4465 1231 Pls 4465 1233 Pls 4466 1233 Pls 4467 1233 Pls 4470 1233 Pls 4473 1233 Pls 4474 1233 Pls 4474 1233 Pls 4475 1233 Pls 4477 1233 Pls 4492 1233 Pls 4493 1233 Pls 4493 1233 Pls 4494 1233 Pls 4497 1233 Pls 4500 1233 Pls 4501 1233 Pls 4502 1233 Pls 4503 1233 Pls 4505 1233 Pls 4520 1233 Pls 4520 1233 Pls 4521 1233 Pls 4522 1233 Pls 4525 1233 Pls 4528 1233 Pls 4529 1233 Pls 4530 1233 Pls 4530 1233 Pls 4532 1233 Pls 4547 1233 Pls 4548 1233 Pls 4549 1233 Pls 4550 1233 Pls 4553 1233 Pls 4556 1233 Pls 4556 1233 Pls 4557 1233 Pls 4558 1233 Pls 4560 1233 Pls 4575 1233 Pls 4576 1233 Pls 4576 1233 Pls 4577 1233 Pls 4580 1233 Pls 4583 1233 Pls 4584 1233 Pls 4585 1233 Pls 4585 1233 Pls 4588 1233 Pls 4602 1233 Pls 4603 1233 Pls 4604 1233 Pls 4605 1233 Pls 4608 1233 Pls 4611 1233 Pls 4612 1233 Pls 4612 1233 Pls 4613 1233 Pls 4615 1233 Pls 4630 1233 Pls 4631 1233 Pls 4632 1233 Pls 4632 1233 Pls 4635 1233 Pls 4638 1233 Pls 4639 1233 Pls 4640 1233 Pls 4641 1233 Pls 4643 1233 Pls 4658 1233 Pls 4658 1233 Pls 4659 1233 Pls 4660 1233 Pls 4663 1233 Pls 4666 1233 Pls 4667 1233 Pls 4668 1233 Pls 4668 1233 Pls 4670 1233 Pls 4685 1233 Pls 4686 1233 Pls 4687 1233 Pls 4688 1233 Pls 4691 1233 Pls 4694 1233 Pls 4694 1233 Pls 4695 1233 Pls 4696 1233 Pls 4698 1233 Pls 4713 1233 Pls 4714 1233 Pls 4714 1233 Pls 4715 1233 Pls 4718 1233 Pls 4721 1233 Pls 4722 1233 Pls 4723 1233 Pls 4723 1233 Pls 4726 1233 Pls 4740 1233 Pls 4741 1233 Pls 4742 1233 Pls 4743 1233 Pls 4746 1233 Pls 4749 1233 Pls 4750 1233 Pls 4750 1233 Pls 4751 1233 Pls 4753 1233 Pls 4768 1233 Pls 4769 1233 Pls 4770 1233 Pls 4770 1233 Pls 4773 1233 Pls 4776 1233 Pls 4777 1233 Pls 4778 1233 Pls 4779 1233 Pls 4781 1233 Pls 4796 1233 Pls 4796 1233 Pls 4797 1233 Pls 4798 1233 Pls 4801 1233 Pls 4804 1233 Pls 4805 1233 Pls 4806 1233 Pls 4806 1233 Pls 4808 1233 Pls 4823 1233 Pls 4824 1233 Pls 4825 1233 Pls 4826 1233 Pls 4829 1233 Pls 4832 1233 Pls 4832 1233 Pls 4833 1233 Pls 4834 1233 Pls 4836 1233 Pls 4851 1233 Pls 4852 1233 Pls 4852 1233 Pls 4853 1233 Pls 4856 1233 Pls 4859 1233 Pls 4860 1233 Pls 4861 1233 Pls 4861 1233 Pls 4864 1233 Pls 4878 1233 Pls 4879 1233 Pls 4880 1233 Pls 4881 1233 Pls 4884 1233 Pls 4887 1233 Pls 4888 1233 Pls 4888 1233 Pls 4889 1233 Pls 4891 1233 Pls 4906 1233 Pls 4907 1233 Pls 4908 1233 Pls 4908 1233 Pls 4911 1233 Pls 4915 1233 Pls 4915 1233 Pls 4916 1233 Pls 4917 1233 Pls 4919 1233 Pls 4934 1233 Pls 4934 1233 Pls 4935 1233 Pls 4936 1233 Pls 4939 1233 Pls 4942 1233 Pls 4943 1233 Pls 4944 1233 Pls 4944 1233 Pls 4946 1233 Pls 4961 1233 Pls 4962 1233 Pls 4963 1233 Pls 4964 1233 Pls 4967 1233 Pls 4970 1233 Pls 4970 1233 Pls 4971 1233 Pls 4972 1233 Pls 4974 1233 Pls 4989 1233 Pls 4990 1233 Pls 4990 1233 Pls 4991 1233 Pls 4994 1233 Pls 4997 1233 Pls 4998 1233 Pls 4999 1233 Pls 4999 1233 Pls 5002 1233 Pls 5017 1233 Pls 5017 1233 Pls 5018 1233 Pls 5019 1233 Pls 5022 1233 Pls 5025 1233 Pls 5026 1233 Pls 5026 1233 Pls 5027 1233 Pls 5029 1233 Pls 5044 1233 Pls 5045 1233 Pls 5046 1233 Pls 5046 1233 Pls 5050 1233 Pls 5053 1233 Pls 5053 1233 Pls 5054 1233 Pls 5055 1233 Pls 5057 1233 Pls 5072 1233 Pls 5072 1233 Pls 5073 1233 Pls 5074 1233 Pls 5077 1233 Pls 5080 1233 Pls 5081 1233 Pls 5082 1233 Pls 5082 1233 Pls 5084 1233 Pls 5099 1233 Pls 5100 1233 Pls 5101 1233 Pls 5102 1233 Pls 5105 1233 Pls 5108 1233 Pls 5108 1233 Pls 5109 1233 Pls 5110 1233 Pls 5112 1233 Pls 5127 1237 Pls 5128 1235 Pls 5128 1235 Pls 5129 1235 Pls 5132 1235 Pls 5135 1235 Pls 5136 1235 Pls 5137 1235 Pls 5138 1235 Pls 5140 1235 Pls 5155 1231 Pls 5156 1233 Pls 5156 1233 Pls 5157 1233 Pls 5160 1233 Pls 5163 1233 Pls 5164 1233 Pls 5165 1233 Pls 5165 1233 Pls 5168 1233 Pls 5182 1233 Pls 5183 1233 Pls 5184 1233 Pls 5185 1233 Pls 5188 1233 Pls 5191 1233 Pls 5192 1233 Pls 5192 1233 Pls 5193 1233 Pls 5195 1233 Pls 5210 1233 Pls 5211 1233 Pls 5211 1233 Pls 5212 1233 Pls 5215 1233 Pls 5218 1233 Pls 5219 1233 Pls 5220 1233 Pls 5221 1233 Pls 5223 1233 Pls 5238 1233 Pls 5238 1233 Pls 5239 1233 Pls 5240 1233 Pls 5243 1233 Pls 5246 1233 Pls 5247 1233 Pls 5247 1233 Pls 5248 1233 Pls 5250 1233 Pls 5265 1233 Pls 5266 1233 Pls 5267 1233 Pls 5268 1233 Pls 5271 1233 Pls 5274 1233 Pls 5274 1233 Pls 5275 1233 Pls 5276 1233 Pls 5278 1233 Pls 5293 1231 Pls 5294 1233 Pls 5294 1233 Pls 5295 1233 Pls 5298 1235 Pls 5301 1233 Pls 5302 1233 Pls 5303 1233 Pls 5303 1233 Pls 5306 1233 Pls 5320 1236 Pls 5321 1233 Pls 5322 1233 Pls 5323 1233 Pls 5326 1233 Pls 5329 1233 Pls 5330 1233 Pls 5330 1233 Pls 5331 1233 Pls 5333 1233 Pls 5348 1233 Pls 5349 1233 Pls 5350 1233 Pls 5350 1233 Pls 5354 1233 Pls 5356 1233 Pls 5357 1233 Pls 5358 1233 Pls 5359 1233 Pls 5361 1233 Pls 5376 1233 Pls 5376 1233 Pls 5377 1233 Pls 5378 1233 Pls 5381 1233 Pls 5384 1233 Pls 5385 1233 Pls 5386 1233 Pls 5386 1233 Pls 5388 1233 Pls 5403 1233 Pls 5404 1233 Pls 5405 1233 Pls 5406 1233 Pls 5409 1233 Pls 5412 1233 Pls 5412 1233 Pls 5413 1233 Pls 5414 1233 Pls 5416 1233 Pls 5431 1233 Pls 5432 1233 Pls 5432 1233 Pls 5433 1233 Pls 5436 1233 Pls 5439 1233 Pls 5440 1233 Pls 5441 1233 Pls 5441 1233 Pls 5444 1233 Pls 5458 1233 Pls 5459 1233 Pls 5460 1233 Pls 5461 1233 Pls 5464 1233 Pls 5467 1233 Pls 5468 1233 Pls 5468 1233 Pls 5469 1233 Pls 5471 1233 Pls 5486 1233 Pls 5487 1233 Pls 5488 1233 Pls 5488 1233 Pls 5492 1233 Pls 5494 1233 Pls 5495 1233 Pls 5496 1233 Pls 5497 1233 Pls 5499 1233 Pls 5514 1233 Pls 5514 1233 Pls 5515 1233 Pls 5516 1233 Pls 5519 1233 Pls 5522 1233 Pls 5523 1233 Pls 5524 1233 Pls 5524 1233 Pls 5526 1233 Pls 5541 1233 Pls 5542 1233 Pls 5543 1233 Pls 5544 1233 Pls 5547 1233 Pls 5550 1233 Pls 5550 1233 Pls 5551 1233 Pls 5552 1233 Pls 5554 1233 Pls 5569 1233 Pls 5570 1233 Pls 5570 1233 Pls 5571 1233 Pls 5574 1233 Pls 5577 1233 Pls 5578 1233 Pls 5579 1233 Pls 5579 1233 Pls 5582 1233 Pls 5597 1233 Pls 5597 1233 Pls 5598 1233 Pls 5599 1233 Pls 5602 1233 Pls 5605 1233 Pls 5606 1233 Pls 5606 1233 Pls 5607 1233 Pls 5609 1233 Pls 5624 1233 Pls 5625 1233 Pls 5626 1233 Pls 5627 1233 Pls 5630 1233 Pls 5633 1233 Pls 5633 1233 Pls 5634 1233 Pls 5635 1233 Pls 5637 1233 Pls 5652 1233 Pls 5652 1233 Pls 5653 1233 Pls 5654 1233 Pls 5657 1233 Pls 5660 1233 Pls 5661 1233 Pls 5662 1233 Pls 5662 1233 Pls 5665 1233 Pls 5679 1233 Pls 5680 1233 Pls 5681 1233 Pls 5682 1233 Pls 5685 1233 Pls 5688 1233 Pls 5688 1233 Pls 5689 1233 Pls 5690 1233 Pls 5692 1233 Pls 5707 1233 Pls 5708 1233 Pls 5708 1233 Pls 5709 1233 Pls 5713 1233 Pls 5715 1233 Pls 5716 1233 Pls 5717 1233 Pls 5718 1233 Pls 5720 1233 Pls 5735 1233 Pls 5735 1233 Pls 5736 1233 Pls 5737 1233 Pls 5740 1233 Pls 5743 1233 Pls 5744 1233 Pls 5744 1233 Pls 5745 1233 Pls 5747 1233 Pls 5762 1233 Pls 5763 1233 Pls 5764 1233 Pls 5765 1233 Pls 5768 1233 Pls 5771 1233 Pls 5771 1233 Pls 5772 1233 Pls 5773 1233 Pls 5775 1233 Pls 5790 1233 Pls 5790 1233 Pls 5791 1233 Pls 5792 1233 Pls 5795 1233 Pls 5798 1233 Pls 5799 1233 Pls 5800 1233 Pls 5800 1233 Pls 5803 1233 Pls 5817 1235 Pls 5818 1235 Pls 5819 1235 Pls 5820 1235 Pls 5823 1234 Pls 5826 1235 Pls 5827 1235 Pls 5827 1235 Pls 5828 1235 Pls 5830 1235 Pls 5845 1233 Pls 5846 1233 Pls 5847 1233 Pls 5848 1233 Pls 5851 1233 Pls 5854 1233 Pls 5854 1233 Pls 5855 1233 Pls 5856 1233 Pls 5858 1233 Pls 5873 1233 Pls 5874 1233 Pls 5874 1233 Pls 5875 1233 Pls 5878 1233 Pls 5881 1233 Pls 5882 1233 Pls 5883 1233 Pls 5883 1233 Pls 5886 1233 Pls 5900 1233 Pls 5901 1233 Pls 5902 1233 Pls 5903 1233 Pls 5906 1233 Pls 5909 1233 Pls 5910 1233 Pls 5910 1233 Pls 5911 1233 Pls 5913 1233 Pls 5928 1233 Pls 5929 1233 Pls 5929 1233 Pls 5930 1233 Pls 5933 1233 Pls 5936 1233 Pls 5937 1233 Pls 5938 1233 Pls 5939 1233 Pls 5941 1233 Pls 5956 1233 Pls 5956 1233 Pls 5957 1233 Pls 5958 1233 Pls 5961 1233 Pls 5964 1233 Pls 5965 1233 Pls 5965 1233 Pls 5966 1233 Pls 5968 1233 Pls 5983 1233 Pls 5984 1233 Pls 5985 1233 Pls 5986 1233 Pls 5989 1233 Pls 5992 1233 Pls 5992 1233 Pls 5993 1233 Pls 5994 1233 Pls 5996 1233 Pls 6011 1233 Pls 6012 1233 Pls 6012 1233 Pls 6013 1233 Pls 6016 1233 Pls 6019 1233 Pls 6020 1233 Pls 6021 1233 Pls 6021 1233 Pls 6024 1233 Pls 6038 1233 Pls 6039 1233 Pls 6040 1233 Pls 6041 1233 Pls 6044 1233 Pls 6047 1233 Pls 6048 1233 Pls 6048 1233 Pls 6049 1233 Pls 6051 1233 Pls 6066 1233 Pls 6067 1233 Pls 6067 1233 Pls 6068 1233 Pls 6071 1233 Pls 6074 1233 Pls 6075 1233 Pls 6076 1233 Pls 6077 1233 Pls 6079 1233 Pls 6094 1233 Pls 6094 1233 Pls 6095 1233 Pls 6096 1233 Pls 6099 1233 Pls 6102 1233 Pls 6103 1233 Pls 6104 1233 Pls 6104 1233 Pls 6106 1233 Pls 6121 1233 Pls 6122 1233 Pls 6123 1233 Pls 6124 1233 Pls 6127 1233 Pls 6130 1233 Pls 6130 1233 Pls 6131 1233 Pls 6132 1233 Pls 6134 1233 Pls 6149 1233 Pls 6150 1233 Pls 6150 1233 Pls 6151 1233 Pls 6154 1233 Pls 6157 1233 Pls 6158 1233 Pls 6159 1233 Pls 6159 1233 Pls 6162 1233 Pls 6176 1233 Pls 6177 1233 Pls 6178 1233 Pls 6179 1233 Pls 6182 1233 Pls 6185 1233 Pls 6186 1233 Pls 6186 1233 Pls 6187 1233 Pls 6189 1233 Pls 6204 1233 Pls 6205 1233 Pls 6206 1233 Pls 6206 1233 Pls 6209 1233 Pls 6212 1233 Pls 6213 1233 Pls 6214 1233 Pls 6215 1233 Pls 6217 1233 Pls 6232 1233 Pls 6232 1233 Pls 6233 1233 Pls 6234 1233 Pls 6237 1233 Pls 6240 1233 Pls 6241 1233 Pls 6242 1233 Pls 6242 1233 Pls 6244 1233 Pls 6259 1233 Pls 6260 1233 Pls 6261 1233 Pls 6262 1233 Pls 6265 1233 Pls 6268 1233 Pls 6268 1233 Pls 6269 1233 Pls 6270 1233 Pls 6272 1233 Pls 6287 1233 Pls 6288 1233 Pls 6288 1233 Pls 6289 1233 Pls 6292 1233 Pls 6295 1233 Pls 6296 1233 Pls 6297 1233 Pls 6297 1233 Pls 6300 1233 Pls 6314 1233 Pls 6315 1233 Pls 6316 1233 Pls 6317 1233 Pls 6320 1233 Pls 6323 1233 Pls 6324 1233 Pls 6324 1233 Pls 6325 1233 Pls 6327 1233 Pls 6342 1233 Pls 6343 1233 Pls 6344 1233 Pls 6344 1233 Pls 6347 1233 Pls 6350 1233 Pls 6351 1233 Pls 6352 1233 Pls 6353 1233 Pls 6355 1233 Pls 6370 1233 Pls 6370 1233 Pls 6371 1233 Pls 6372 1233 Pls 6375 1233 Pls 6378 1233 Pls 6379 1233 Pls 6380 1233 Pls 6380 1233 Pls 6382 1233 Pls 6397 1233 Pls 6398 1233 Pls 6399 1233 Pls 6400 1233 Pls 6403 1233 Pls 6406 1233 Pls 6406 1233 Pls 6407 1233 Pls 6408 1233 Pls 6410 1233 Pls 6425 1233 Pls 6426 1233 Pls 6426 1233 Pls 6427 1233 Pls 6430 1233 Pls 6433 1233 Pls 6434 1233 Pls 6435 1233 Pls 6435 1233 Pls 6438 1233 Pls 6452 1233 Pls 6453 1233 Pls 6454 1233 Pls 6455 1233 Pls 6458 1233 Pls 6461 1233 Pls 6462 1233 Pls 6462 1233 Pls 6463 1233 Pls 6465 1233 Pls 6480 1233 Pls 6481 1233 Pls 6482 1233 Pls 6482 1233 Pls 6485 1233 Pls 6489 1233 Pls 6489 1233 Pls 6490 1233 Pls 6491 1233 Pls 6493 1233 Pls 6508 1233 Pls 6508 1233 Pls 6509 1233 Pls 6510 1233 Pls 6513 1233 Pls 6516 1233 Pls 6517 1233 Pls 6518 1233 Pls 6518 1233 Pls 6520 1233 Pls 6535 1233 Pls 6536 1233 Pls 6537 1233 Pls 6538 1233 Pls 6541 1233 Pls 6544 1233 Pls 6544 1233 Pls 6545 1233 Pls 6546 1233 Pls 6548 1233 Pls 6016 3717 Pls 1.000 UP 1.000 UL LT1 LTb 5661 3357 M gsave 0 setgray (10 at a time) Rshow grestore LT1 5877 3357 M 279 0 V 1460 1230 M 27 0 V 27 0 V 27 0 V 27 0 V 27 0 V 27 0 V 26 0 V 1 0 V 26 0 V 1 0 V 11 0 V 15 0 V 1 0 V 11 0 V 15 0 V 1 0 V 11 0 V 15 0 V 1 0 V 2 0 V 9 0 V 15 0 V 1 0 V 2 0 V 9 0 V 15 0 V 1 0 V 2 0 V 5 0 V 4 0 V 15 0 V 1 0 V 2 0 V 5 0 V 4 0 V 13 0 V 2 0 V 1 0 V 2 0 V 5 0 V 4 0 V 13 0 V 2 0 V 1 0 V 2 1 V 5 1 V 4 -2 V 1 3 V 12 -3 V 1 0 V 2 0 V 2 2 V 5 -2 V 4 0 V 2 2 V 11 -1 V 1 -1 V 2 0 V 2 2 V 5 -2 V 4 0 V 2 0 V 12 0 V 2 0 V 3 0 V 4 0 V 4 0 V 2 0 V 2 0 V 10 0 V 2 0 V 3 0 V 4 0 V 4 0 V 2 0 V 2 0 V 10 0 V 2 0 V 3 0 V 4 0 V 4 0 V 2 0 V 2 0 V 10 0 V 2 0 V 3 0 V 4 0 V 4 0 V 2 0 V 2 0 V 10 0 V 2 0 V 3 0 V 4 0 V 4 0 V 2 0 V 2 0 V 0 4 V 10 -4 V 2 4 V 3 -4 V 4 0 V stroke 2115 1230 M 4 4 V 2 -4 V 2 0 V 1 0 V 9 0 V 2 0 V 3 0 V 4 0 V 5 0 V 1 0 V 2 0 V 1 0 V 9 0 V 2 0 V 3 0 V 4 0 V 5 0 V 1 0 V 2 0 V 1 0 V 9 0 V 2 0 V 2 0 V 5 0 V 5 0 V 1 0 V 2 0 V 1 0 V 9 0 V 2 0 V 2 1 V 5 -1 V 1 0 V 4 0 V 1 7 V 2 -7 V 1 0 V 9 1 V 2 -1 V 3 0 V 4 0 V 1 0 V 4 14 V 2 6 V 1 5 V 1 7 V 9 53 V 1 12 V 1 15 V 3 11 V 4 1577 V 1 1 V 6 -35 V 4 -10 V 2 -10 V 2 0 V 18 -98 V 3 -1 V 4 -21 V 5 -19 V 288 -116 V 1 5 V 0 3 V 2 -4 V 0 4 V 2 -1 V 1 3 V 3 -7 V 0 4 V 1 11 V 267 20 V 2 -6 V 1 1 V 1 -3 V 1 2 V 2 0 V 1 -2 V 2 5 V 1 4 V 3 -13 V 270 -16 V 1 3 V 1 6 V 1 7 V 1 -3 V 2 -2 V 1 -6 V 2 -2 V 2 -4 V 1 2 V 269 24 V 2 -5 V 2 -4 V 1 1 V 1 0 V 0 8 V 2 -3 V 1 0 V 1 5 V 272 -37 V 2 -7 V 1 -2 V 1 1 V 1 -3 V stroke 3739 2610 M 1 3 V 2 0 V 1 5 V 1 2 V 2 -5 V 266 18 V 0 -2 V 2 2 V 2 -2 V 1 4 V 3 0 V 1 1 V 2 0 V 267 -4 V 1 3 V 1 0 V 1 -3 V 1 6 V 1 -3 V 2 4 V 3 -7 V 2 -5 V 1 -1 V 266 -30 V 2 -6 V 0 6 V 2 -1 V 1 4 V 1 0 V 3 -11 V 1 0 V 1 3 V 1 0 V 261 -145 V 1 -2 V 1 -6 V 1 -3 V 3 -10 V 1 -3 V 1 -4 V 1 -4 V 1 -5 V 1 -1 V 5088 1237 L 0 -1 V 1 -1 V 0 2 V 1 0 V 0 2 V 0 2 V 1 3 V 0 2 V 1 0 V 25 -7 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 23 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 24 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 23 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 23 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 24 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 23 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 23 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 24 0 V stroke 5346 1239 M 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 23 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 24 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 24 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 23 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 24 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 23 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 23 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 24 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 23 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 23 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 24 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 23 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 23 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 24 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 23 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 24 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V stroke 5809 1239 M 24 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 23 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 24 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 23 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 23 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 24 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 23 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 23 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 24 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 23 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 24 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 24 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 23 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 24 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 23 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 23 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 24 0 V 1 0 V 1 0 V 1 0 V 1 0 V stroke 6295 1239 M 1 0 V 23 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 23 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 24 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 23 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 23 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 24 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 23 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 24 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 24 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1460 1230 Crs 1487 1230 Crs 1514 1230 Crs 1541 1230 Crs 1568 1230 Crs 1595 1230 Crs 1622 1230 Crs 1648 1230 Crs 1649 1230 Crs 1675 1230 Crs 1676 1230 Crs 1687 1230 Crs 1702 1230 Crs 1703 1230 Crs 1714 1230 Crs 1729 1230 Crs 1730 1230 Crs 1741 1230 Crs 1756 1230 Crs 1757 1230 Crs 1759 1230 Crs 1768 1230 Crs 1783 1230 Crs 1784 1230 Crs 1786 1230 Crs 1795 1230 Crs 1810 1230 Crs 1811 1230 Crs 1813 1230 Crs 1818 1230 Crs 1822 1230 Crs 1837 1230 Crs 1838 1230 Crs 1840 1230 Crs 1845 1230 Crs 1849 1230 Crs 1862 1230 Crs 1864 1230 Crs 1865 1230 Crs 1867 1230 Crs 1872 1230 Crs 1876 1230 Crs 1889 1230 Crs 1891 1230 Crs 1892 1230 Crs 1894 1231 Crs 1899 1232 Crs 1903 1230 Crs 1904 1233 Crs 1916 1230 Crs 1917 1230 Crs 1919 1230 Crs 1921 1232 Crs 1926 1230 Crs 1930 1230 Crs 1932 1232 Crs 1943 1231 Crs 1944 1230 Crs 1946 1230 Crs 1948 1232 Crs 1953 1230 Crs 1957 1230 Crs 1959 1230 Crs 1971 1230 Crs 1971 1230 Crs 1973 1230 Crs 1976 1230 Crs 1980 1230 Crs 1984 1230 Crs 1986 1230 Crs 1988 1230 Crs 1998 1230 Crs 1998 1230 Crs 2000 1230 Crs 2003 1230 Crs 2007 1230 Crs 2011 1230 Crs 2013 1230 Crs 2015 1230 Crs 2025 1230 Crs 2025 1230 Crs 2027 1230 Crs 2030 1230 Crs 2034 1230 Crs 2038 1230 Crs 2040 1230 Crs 2042 1230 Crs 2052 1230 Crs 2052 1230 Crs 2054 1230 Crs 2057 1230 Crs 2061 1230 Crs 2065 1230 Crs 2067 1230 Crs 2069 1230 Crs 2079 1230 Crs 2079 1230 Crs 2081 1230 Crs 2084 1230 Crs 2088 1230 Crs 2092 1230 Crs 2094 1230 Crs 2096 1230 Crs 2096 1234 Crs 2106 1230 Crs 2106 1230 Crs 2108 1234 Crs 2111 1230 Crs 2115 1230 Crs 2119 1234 Crs 2121 1230 Crs 2123 1230 Crs 2124 1230 Crs 2133 1230 Crs 2133 1230 Crs 2135 1230 Crs 2138 1230 Crs 2142 1230 Crs 2147 1230 Crs 2148 1230 Crs 2150 1230 Crs 2151 1230 Crs 2160 1230 Crs 2160 1230 Crs 2162 1230 Crs 2165 1230 Crs 2169 1230 Crs 2174 1230 Crs 2175 1230 Crs 2177 1230 Crs 2178 1230 Crs 2187 1230 Crs 2187 1230 Crs 2189 1230 Crs 2191 1230 Crs 2196 1230 Crs 2201 1230 Crs 2202 1230 Crs 2204 1230 Crs 2205 1230 Crs 2214 1230 Crs 2214 1230 Crs 2216 1230 Crs 2218 1231 Crs 2223 1230 Crs 2224 1230 Crs 2228 1230 Crs 2229 1237 Crs 2231 1230 Crs 2232 1230 Crs 2241 1231 Crs 2241 1231 Crs 2243 1230 Crs 2246 1230 Crs 2250 1230 Crs 2251 1230 Crs 2255 1244 Crs 2257 1250 Crs 2258 1255 Crs 2259 1262 Crs 2268 1315 Crs 2269 1327 Crs 2270 1342 Crs 2273 1353 Crs 2277 2930 Crs 2278 2931 Crs 2284 2896 Crs 2288 2886 Crs 2290 2876 Crs 2292 2876 Crs 2310 2778 Crs 2313 2777 Crs 2317 2756 Crs 2322 2737 Crs 2610 2621 Crs 2611 2626 Crs 2611 2629 Crs 2613 2625 Crs 2613 2629 Crs 2615 2628 Crs 2616 2631 Crs 2619 2624 Crs 2619 2628 Crs 2620 2639 Crs 2887 2659 Crs 2889 2653 Crs 2890 2654 Crs 2891 2651 Crs 2892 2653 Crs 2894 2653 Crs 2895 2651 Crs 2897 2656 Crs 2898 2660 Crs 2901 2647 Crs 3171 2631 Crs 3172 2634 Crs 3173 2640 Crs 3174 2647 Crs 3175 2644 Crs 3177 2642 Crs 3178 2636 Crs 3180 2634 Crs 3182 2630 Crs 3183 2632 Crs 3452 2656 Crs 3454 2651 Crs 3456 2647 Crs 3457 2648 Crs 3458 2648 Crs 3458 2656 Crs 3460 2653 Crs 3461 2653 Crs 3462 2658 Crs 3734 2621 Crs 3736 2614 Crs 3737 2612 Crs 3738 2613 Crs 3739 2610 Crs 3740 2613 Crs 3742 2613 Crs 3743 2618 Crs 3744 2620 Crs 3746 2615 Crs 4012 2633 Crs 4012 2631 Crs 4014 2633 Crs 4014 2633 Crs 4016 2631 Crs 4017 2635 Crs 4020 2635 Crs 4021 2636 Crs 4023 2636 Crs 4290 2632 Crs 4291 2635 Crs 4292 2635 Crs 4293 2632 Crs 4294 2638 Crs 4295 2635 Crs 4297 2639 Crs 4300 2632 Crs 4302 2627 Crs 4303 2626 Crs 4569 2596 Crs 4571 2590 Crs 4571 2596 Crs 4573 2595 Crs 4574 2599 Crs 4575 2599 Crs 4578 2588 Crs 4579 2588 Crs 4580 2591 Crs 4581 2591 Crs 4842 2446 Crs 4843 2444 Crs 4844 2438 Crs 4845 2435 Crs 4848 2425 Crs 4849 2422 Crs 4850 2418 Crs 4851 2414 Crs 4852 2409 Crs 4853 2408 Crs 5088 1237 Crs 5088 1236 Crs 5089 1235 Crs 5089 1237 Crs 5090 1237 Crs 5090 1239 Crs 5090 1241 Crs 5091 1244 Crs 5091 1246 Crs 5092 1246 Crs 5117 1239 Crs 5117 1239 Crs 5117 1239 Crs 5117 1239 Crs 5118 1239 Crs 5119 1239 Crs 5120 1239 Crs 5120 1239 Crs 5121 1239 Crs 5122 1239 Crs 5145 1239 Crs 5145 1239 Crs 5145 1239 Crs 5146 1239 Crs 5147 1239 Crs 5147 1239 Crs 5148 1239 Crs 5149 1239 Crs 5150 1239 Crs 5150 1239 Crs 5174 1239 Crs 5174 1239 Crs 5174 1239 Crs 5175 1239 Crs 5175 1239 Crs 5176 1239 Crs 5177 1239 Crs 5178 1239 Crs 5178 1239 Crs 5179 1239 Crs 5202 1239 Crs 5202 1239 Crs 5203 1239 Crs 5203 1239 Crs 5204 1239 Crs 5205 1239 Crs 5205 1239 Crs 5206 1239 Crs 5207 1239 Crs 5208 1239 Crs 5231 1239 Crs 5231 1239 Crs 5231 1239 Crs 5232 1239 Crs 5233 1239 Crs 5233 1239 Crs 5234 1239 Crs 5235 1239 Crs 5236 1239 Crs 5236 1239 Crs 5260 1239 Crs 5260 1239 Crs 5260 1239 Crs 5261 1239 Crs 5261 1239 Crs 5262 1239 Crs 5263 1239 Crs 5263 1239 Crs 5264 1239 Crs 5265 1239 Crs 5288 1239 Crs 5288 1239 Crs 5288 1239 Crs 5289 1239 Crs 5290 1239 Crs 5291 1239 Crs 5291 1239 Crs 5292 1239 Crs 5293 1239 Crs 5294 1239 Crs 5317 1239 Crs 5317 1239 Crs 5317 1239 Crs 5318 1239 Crs 5319 1239 Crs 5319 1239 Crs 5320 1239 Crs 5321 1239 Crs 5321 1239 Crs 5322 1239 Crs 5346 1239 Crs 5346 1239 Crs 5346 1239 Crs 5346 1239 Crs 5347 1239 Crs 5348 1239 Crs 5349 1239 Crs 5349 1239 Crs 5350 1239 Crs 5351 1239 Crs 5374 1239 Crs 5374 1239 Crs 5374 1239 Crs 5375 1239 Crs 5376 1239 Crs 5377 1239 Crs 5377 1239 Crs 5378 1239 Crs 5379 1239 Crs 5379 1239 Crs 5403 1239 Crs 5403 1239 Crs 5403 1239 Crs 5404 1239 Crs 5404 1239 Crs 5405 1239 Crs 5406 1239 Crs 5407 1239 Crs 5407 1239 Crs 5408 1239 Crs 5432 1239 Crs 5432 1239 Crs 5432 1239 Crs 5432 1239 Crs 5433 1239 Crs 5434 1239 Crs 5435 1239 Crs 5435 1239 Crs 5436 1239 Crs 5437 1239 Crs 5460 1239 Crs 5460 1239 Crs 5460 1239 Crs 5461 1239 Crs 5462 1239 Crs 5462 1239 Crs 5463 1239 Crs 5464 1239 Crs 5465 1239 Crs 5465 1239 Crs 5489 1239 Crs 5489 1239 Crs 5489 1239 Crs 5490 1239 Crs 5490 1239 Crs 5491 1239 Crs 5492 1239 Crs 5493 1239 Crs 5493 1239 Crs 5494 1239 Crs 5517 1239 Crs 5518 1239 Crs 5518 1239 Crs 5518 1239 Crs 5519 1239 Crs 5520 1239 Crs 5520 1239 Crs 5521 1239 Crs 5522 1239 Crs 5523 1239 Crs 5546 1239 Crs 5546 1239 Crs 5546 1239 Crs 5547 1239 Crs 5548 1239 Crs 5548 1239 Crs 5549 1239 Crs 5550 1239 Crs 5551 1239 Crs 5551 1239 Crs 5575 1239 Crs 5575 1239 Crs 5575 1239 Crs 5576 1239 Crs 5576 1239 Crs 5577 1239 Crs 5578 1239 Crs 5578 1239 Crs 5579 1239 Crs 5580 1239 Crs 5603 1239 Crs 5603 1239 Crs 5604 1239 Crs 5604 1239 Crs 5605 1239 Crs 5606 1239 Crs 5606 1239 Crs 5607 1239 Crs 5608 1239 Crs 5609 1239 Crs 5632 1239 Crs 5632 1239 Crs 5632 1239 Crs 5633 1239 Crs 5634 1239 Crs 5634 1239 Crs 5635 1239 Crs 5636 1239 Crs 5636 1239 Crs 5637 1239 Crs 5661 1239 Crs 5661 1239 Crs 5661 1239 Crs 5662 1239 Crs 5662 1239 Crs 5663 1239 Crs 5664 1239 Crs 5664 1239 Crs 5665 1239 Crs 5666 1239 Crs 5689 1239 Crs 5689 1239 Crs 5689 1239 Crs 5690 1239 Crs 5691 1239 Crs 5692 1239 Crs 5692 1239 Crs 5693 1239 Crs 5694 1239 Crs 5695 1239 Crs 5718 1239 Crs 5718 1239 Crs 5718 1239 Crs 5719 1239 Crs 5720 1239 Crs 5720 1239 Crs 5721 1239 Crs 5722 1239 Crs 5722 1239 Crs 5723 1239 Crs 5747 1239 Crs 5747 1239 Crs 5747 1239 Crs 5747 1239 Crs 5748 1239 Crs 5749 1239 Crs 5750 1239 Crs 5750 1239 Crs 5751 1239 Crs 5752 1239 Crs 5775 1239 Crs 5775 1239 Crs 5775 1239 Crs 5776 1239 Crs 5777 1239 Crs 5778 1239 Crs 5778 1239 Crs 5779 1239 Crs 5780 1239 Crs 5780 1239 Crs 5804 1239 Crs 5804 1239 Crs 5804 1239 Crs 5805 1239 Crs 5805 1239 Crs 5806 1239 Crs 5807 1239 Crs 5808 1239 Crs 5808 1239 Crs 5809 1239 Crs 5833 1239 Crs 5833 1239 Crs 5833 1239 Crs 5833 1239 Crs 5834 1239 Crs 5835 1239 Crs 5836 1239 Crs 5836 1239 Crs 5837 1239 Crs 5838 1239 Crs 5861 1239 Crs 5861 1239 Crs 5861 1239 Crs 5862 1239 Crs 5863 1239 Crs 5863 1239 Crs 5864 1239 Crs 5865 1239 Crs 5866 1239 Crs 5866 1239 Crs 5890 1239 Crs 5890 1239 Crs 5890 1239 Crs 5891 1239 Crs 5891 1239 Crs 5892 1239 Crs 5893 1239 Crs 5894 1239 Crs 5894 1239 Crs 5895 1239 Crs 5918 1239 Crs 5919 1239 Crs 5919 1239 Crs 5919 1239 Crs 5920 1239 Crs 5921 1239 Crs 5921 1239 Crs 5922 1239 Crs 5923 1239 Crs 5924 1239 Crs 5947 1239 Crs 5947 1239 Crs 5947 1239 Crs 5948 1239 Crs 5949 1239 Crs 5949 1239 Crs 5950 1239 Crs 5951 1239 Crs 5952 1239 Crs 5952 1239 Crs 5976 1239 Crs 5976 1239 Crs 5976 1239 Crs 5977 1239 Crs 5977 1239 Crs 5978 1239 Crs 5979 1239 Crs 5979 1239 Crs 5980 1239 Crs 5981 1239 Crs 6004 1239 Crs 6004 1239 Crs 6004 1239 Crs 6005 1239 Crs 6006 1239 Crs 6007 1239 Crs 6007 1239 Crs 6008 1239 Crs 6009 1239 Crs 6010 1239 Crs 6033 1239 Crs 6033 1239 Crs 6033 1239 Crs 6034 1239 Crs 6035 1239 Crs 6035 1239 Crs 6036 1239 Crs 6037 1239 Crs 6037 1239 Crs 6038 1239 Crs 6062 1239 Crs 6062 1239 Crs 6062 1239 Crs 6062 1239 Crs 6063 1239 Crs 6064 1239 Crs 6065 1239 Crs 6065 1239 Crs 6066 1239 Crs 6067 1239 Crs 6090 1239 Crs 6090 1239 Crs 6090 1239 Crs 6091 1239 Crs 6092 1239 Crs 6093 1239 Crs 6093 1239 Crs 6094 1239 Crs 6095 1239 Crs 6095 1239 Crs 6119 1239 Crs 6119 1239 Crs 6119 1239 Crs 6120 1239 Crs 6120 1239 Crs 6121 1239 Crs 6122 1239 Crs 6123 1239 Crs 6123 1239 Crs 6124 1239 Crs 6148 1239 Crs 6148 1239 Crs 6148 1239 Crs 6148 1239 Crs 6149 1239 Crs 6150 1239 Crs 6151 1239 Crs 6151 1239 Crs 6152 1239 Crs 6153 1239 Crs 6176 1239 Crs 6176 1239 Crs 6176 1239 Crs 6177 1239 Crs 6178 1239 Crs 6178 1239 Crs 6179 1239 Crs 6180 1239 Crs 6181 1239 Crs 6181 1239 Crs 6205 1239 Crs 6205 1239 Crs 6205 1239 Crs 6206 1239 Crs 6206 1239 Crs 6207 1239 Crs 6208 1239 Crs 6209 1239 Crs 6209 1239 Crs 6210 1239 Crs 6233 1239 Crs 6234 1239 Crs 6234 1239 Crs 6234 1239 Crs 6235 1239 Crs 6236 1239 Crs 6236 1239 Crs 6237 1239 Crs 6238 1239 Crs 6239 1239 Crs 6262 1239 Crs 6262 1239 Crs 6262 1239 Crs 6263 1239 Crs 6264 1239 Crs 6264 1239 Crs 6265 1239 Crs 6266 1239 Crs 6267 1239 Crs 6267 1239 Crs 6291 1239 Crs 6291 1239 Crs 6291 1239 Crs 6292 1239 Crs 6292 1239 Crs 6293 1239 Crs 6294 1239 Crs 6294 1239 Crs 6295 1239 Crs 6296 1239 Crs 6319 1239 Crs 6319 1239 Crs 6320 1239 Crs 6320 1239 Crs 6321 1239 Crs 6322 1239 Crs 6322 1239 Crs 6323 1239 Crs 6324 1239 Crs 6325 1239 Crs 6348 1239 Crs 6348 1239 Crs 6348 1239 Crs 6349 1239 Crs 6350 1239 Crs 6350 1239 Crs 6351 1239 Crs 6352 1239 Crs 6353 1239 Crs 6353 1239 Crs 6377 1239 Crs 6377 1239 Crs 6377 1239 Crs 6378 1239 Crs 6378 1239 Crs 6379 1239 Crs 6380 1239 Crs 6380 1239 Crs 6381 1239 Crs 6382 1239 Crs 6405 1239 Crs 6405 1239 Crs 6405 1239 Crs 6406 1239 Crs 6407 1239 Crs 6408 1239 Crs 6408 1239 Crs 6409 1239 Crs 6410 1239 Crs 6411 1239 Crs 6434 1239 Crs 6434 1239 Crs 6434 1239 Crs 6435 1239 Crs 6436 1239 Crs 6436 1239 Crs 6437 1239 Crs 6438 1239 Crs 6438 1239 Crs 6439 1239 Crs 6463 1239 Crs 6463 1239 Crs 6463 1239 Crs 6463 1239 Crs 6464 1239 Crs 6465 1239 Crs 6466 1239 Crs 6466 1239 Crs 6467 1239 Crs 6468 1239 Crs 6491 1239 Crs 6491 1239 Crs 6491 1239 Crs 6492 1239 Crs 6493 1239 Crs 6494 1239 Crs 6494 1239 Crs 6495 1239 Crs 6496 1239 Crs 6496 1239 Crs 6520 1239 Crs 6520 1239 Crs 6520 1239 Crs 6521 1239 Crs 6521 1239 Crs 6522 1239 Crs 6523 1239 Crs 6524 1239 Crs 6524 1239 Crs 6525 1239 Crs 6549 1239 Crs 6549 1239 Crs 6549 1239 Crs 6549 1239 Crs 6550 1239 Crs 6551 1239 Crs 6552 1239 Crs 6552 1239 Crs 6553 1239 Crs 6554 1239 Crs 6016 3357 Crs 1.000 UL LTb 1404 1080 M 5184 0 V 0 2880 V -5184 0 V 0 -2880 V 1.000 UP stroke grestore end showpage %%Trailer %%DocumentFonts: Helvetica %%EndDocument @endspecial 0 2283 a Fn(Figur)o(e)31 b(11:)94 b Fm(Attack)o(ers)27 b(can)f(only)h(cause)f(temporary)i(damage)f(if)f(a)0 2374 y(ser)o(v)o(er)k(stops)d(r)o(enewing)i(their)g(capabilities.)55 b(Our)27 b(design)h(uses)f(a)h(\002ne-)0 2465 y(grained)20 b(capability)h(to)e(limit)h(the)f(impact)i(of)d(authorizing)j(an)e (attack)o(er)i(to)0 2557 y(a)15 b(smaller)i(amount)e(of)h(attack)f (traf\002c)h(compar)o(ed)h(to)e(SIFF)-6 b(,)13 b(e)o(v)o(en)j(assuming) 0 2648 y(a)h(rapid-changing)h(r)o(outer)g(secr)o(et)g(\(that)f(f)n(or)o (ces)h(expiration)h(in)e(3)g(seconds\).)0 2893 y Fr(intensity)h(attack) f(lasts)i(for)f(30)f(seconds.)24 b(In)18 b(each)f(attack)h(period)0 2984 y(of)h(three)g(seconds,)g(le)o(gitimate)g(requests)h(are)f(block)o (ed)f(until)i(the)0 3076 y(ne)o(xt)g(transition.)k(As)d(a)g(result,)f (the)g(\002le)h(transfer)e(time)i(jumps)f(to)0 3167 y(more)f(than)h (three)g(3)g(seconds)g(during)e(the)i(attack)g(period.)0 3366 y Fs(6.)99 b(SECURITY)26 b(AN)n(AL)-9 b(YSIS)75 3482 y Fr(In)29 b(this)g(section,)i(we)e(brie\003y)g(analyze)f(the)h (security)g(of)g(our)0 3574 y(design)18 b(to)g(v)n(arious)f(threats)i (to)f(b)n(uild)g(con\002dence)f(that)h(there)g(are)0 3665 y(no)i(shortcuts)f(that)i(render)d(it)j(inef)n(fecti)n(v)o(e)e(at) h(limiting)g(DoS.)75 3756 y(The)i(security)g(of)g(our)f(scheme)h(is)i (based)e(on)g(the)g(inability)g(of)0 3847 y(an)16 b(attack)o(er)g(to)h (obtain)f(capabilities)g(for)g(routers)f(along)h(the)g(path)0 3939 y(to)31 b(a)f(destination)g(the)o(y)g(seek)g(to)h(attack.)55 b(An)30 b(attack)o(er)g(might)0 4030 y(try)19 b(to)f(obtain)g (capabilities)h(by)f(breaking)f(the)i(hashing)e(scheme.)0 4121 y(W)-7 b(e)20 b(use)g(standard)e(cryptographic)e(functions)h(with) j(a)f(suf)n(\002cient)0 4213 y(amount)30 b(of)h(k)o(e)o(y)g(material)h (and)f(change)f(k)o(e)o(ys)h(e)n(v)o(ery)f(64)i(sec-)0 4304 y(onds)21 b(as)i(to)f(mak)o(e)f(breaking)f(k)o(e)o(ys)h (practically)g(impossible)g(\226)h(a)0 4395 y(brute)k(force)f(attack)h (w)o(ould)g(require)f(so)i(man)o(y)e(pack)o(ets)h(that)h(it)0 4487 y(w)o(ould)f(tak)o(e)h(years)f(on)g(a)h(gigabit)f(link.)44 b(Alternati)n(v)o(ely)-5 b(,)26 b(an)h(at-)0 4578 y(tack)o(er)18 b(may)f(try)h(to)h(observ)o(e)d(the)i(pre-capabilities)f(placed)g(in)i (its)0 4669 y(requests)d(by)g(routers,)h(e.g.,)f(by)g(causing)g(ICMP)h (error)f(messages)0 4761 y(to)26 b(be)f(returned)f(to)h(the)h(sender)f (from)f(within)h(the)h(netw)o(ork,)f(or)0 4852 y(by)k(using)g(IP)h (source)e(routing.)51 b(T)-7 b(o)30 b(defeat)e(these)i(vulnerabil-)0 4943 y(ities,)k(we)d(use)g(a)g(pack)o(et)e(format)h(that)h(does)f(not)g (e)o(xpose)g(pre-)0 5035 y(capabilities)h(in)h(the)f(\002rst)h(8)g (bytes)f(of)g(the)g(IP)h(pack)o(et)f(\(which)0 5126 y(are)20 b(visible)f(in)h(ICMP)g(messages\))g(and)f(require)f(that)i(capability) 0 5217 y(routers)i(treat)g(pack)o(ets)g(with)h(IP)g(source)e(routes)h (as)i(le)o(gac)o(y)c(traf-)0 5309 y(\002c.)44 b(\(SIFF)27 b(by)f(contrast,)i(is)f(vulnerable)e(to)h(the)h(ICMP)g(attack)0 5400 y(as)e(a)f(consequence)e(of)i(o)o(v)o(erloading)c(the)k(IP)h (header)-5 b(.\))35 b(Be)o(yond)2200 1050 y @beginspecial 50 @llx 50 @lly 410 @urx 302 @ury 1800 @rwi @setspecial %%BeginDocument: figures/tput.eps %!PS-Adobe-2.0 EPSF-2.0 %%Title: tput.eps %%Creator: gnuplot 4.0 patchlevel 0 %%CreationDate: Mon Feb 7 20:52:16 2005 %%DocumentFonts: (atend) %%BoundingBox: 50 50 410 302 %%Orientation: Portrait %%EndComments /gnudict 256 dict def gnudict begin /Color false def /Solid false def /gnulinewidth 5.000 def /userlinewidth gnulinewidth def /vshift -80 def /dl {10.0 mul} def /hpt_ 31.5 def /vpt_ 31.5 def /hpt hpt_ def /vpt vpt_ def /Rounded false def /M {moveto} bind def /L {lineto} bind def /R {rmoveto} bind def /V {rlineto} bind def /N {newpath moveto} bind def /C {setrgbcolor} bind def /f {rlineto fill} bind def /vpt2 vpt 2 mul def /hpt2 hpt 2 mul def /Lshow { currentpoint stroke M 0 vshift R show } def /Rshow { currentpoint stroke M dup stringwidth pop neg vshift R show } def /Cshow { currentpoint stroke M dup stringwidth pop -2 div vshift R show } def /UP { dup vpt_ mul /vpt exch def hpt_ mul /hpt exch def /hpt2 hpt 2 mul def /vpt2 vpt 2 mul def } def /DL { Color {setrgbcolor Solid {pop []} if 0 setdash } {pop pop pop 0 setgray Solid {pop []} if 0 setdash} ifelse } def /BL { stroke userlinewidth 2 mul setlinewidth Rounded { 1 setlinejoin 1 setlinecap } if } def /AL { stroke userlinewidth 2 div setlinewidth Rounded { 1 setlinejoin 1 setlinecap } if } def /UL { dup gnulinewidth mul /userlinewidth exch def dup 1 lt {pop 1} if 10 mul /udl exch def } def /PL { stroke userlinewidth setlinewidth Rounded { 1 setlinejoin 1 setlinecap } if } def /LTw { PL [] 1 setgray } def /LTb { BL [] 0 0 0 DL } def /LTa { AL [1 udl mul 2 udl mul] 0 setdash 0 0 0 setrgbcolor } def /LT0 { PL [] 1 0 0 DL } def /LT1 { PL [4 dl 2 dl] 0 1 0 DL } def /LT2 { PL [2 dl 3 dl] 0 0 1 DL } def /LT3 { PL [1 dl 1.5 dl] 1 0 1 DL } def /LT4 { PL [5 dl 2 dl 1 dl 2 dl] 0 1 1 DL } def /LT5 { PL [4 dl 3 dl 1 dl 3 dl] 1 1 0 DL } def /LT6 { PL [2 dl 2 dl 2 dl 4 dl] 0 0 0 DL } def /LT7 { PL [2 dl 2 dl 2 dl 2 dl 2 dl 4 dl] 1 0.3 0 DL } def /LT8 { PL [2 dl 2 dl 2 dl 2 dl 2 dl 2 dl 2 dl 4 dl] 0.5 0.5 0.5 DL } def /Pnt { stroke [] 0 setdash gsave 1 setlinecap M 0 0 V stroke grestore } def /Dia { stroke [] 0 setdash 2 copy vpt add M hpt neg vpt neg V hpt vpt neg V hpt vpt V hpt neg vpt V closepath stroke Pnt } def /Pls { stroke [] 0 setdash vpt sub M 0 vpt2 V currentpoint stroke M hpt neg vpt neg R hpt2 0 V stroke } def /Box { stroke [] 0 setdash 2 copy exch hpt sub exch vpt add M 0 vpt2 neg V hpt2 0 V 0 vpt2 V hpt2 neg 0 V closepath stroke Pnt } def /Crs { stroke [] 0 setdash exch hpt sub exch vpt add M hpt2 vpt2 neg V currentpoint stroke M hpt2 neg 0 R hpt2 vpt2 V stroke } def /TriU { stroke [] 0 setdash 2 copy vpt 1.12 mul add M hpt neg vpt -1.62 mul V hpt 2 mul 0 V hpt neg vpt 1.62 mul V closepath stroke Pnt } def /Star { 2 copy Pls Crs } def /BoxF { stroke [] 0 setdash exch hpt sub exch vpt add M 0 vpt2 neg V hpt2 0 V 0 vpt2 V hpt2 neg 0 V closepath fill } def /TriUF { stroke [] 0 setdash vpt 1.12 mul add M hpt neg vpt -1.62 mul V hpt 2 mul 0 V hpt neg vpt 1.62 mul V closepath fill } def /TriD { stroke [] 0 setdash 2 copy vpt 1.12 mul sub M hpt neg vpt 1.62 mul V hpt 2 mul 0 V hpt neg vpt -1.62 mul V closepath stroke Pnt } def /TriDF { stroke [] 0 setdash vpt 1.12 mul sub M hpt neg vpt 1.62 mul V hpt 2 mul 0 V hpt neg vpt -1.62 mul V closepath fill} def /DiaF { stroke [] 0 setdash vpt add M hpt neg vpt neg V hpt vpt neg V hpt vpt V hpt neg vpt V closepath fill } def /Pent { stroke [] 0 setdash 2 copy gsave translate 0 hpt M 4 {72 rotate 0 hpt L} repeat closepath stroke grestore Pnt } def /PentF { stroke [] 0 setdash gsave translate 0 hpt M 4 {72 rotate 0 hpt L} repeat closepath fill grestore } def /Circle { stroke [] 0 setdash 2 copy hpt 0 360 arc stroke Pnt } def /CircleF { stroke [] 0 setdash hpt 0 360 arc fill } def /C0 { BL [] 0 setdash 2 copy moveto vpt 90 450 arc } bind def /C1 { BL [] 0 setdash 2 copy moveto 2 copy vpt 0 90 arc closepath fill vpt 0 360 arc closepath } bind def /C2 { BL [] 0 setdash 2 copy moveto 2 copy vpt 90 180 arc closepath fill vpt 0 360 arc closepath } bind def /C3 { BL [] 0 setdash 2 copy moveto 2 copy vpt 0 180 arc closepath fill vpt 0 360 arc closepath } bind def /C4 { BL [] 0 setdash 2 copy moveto 2 copy vpt 180 270 arc closepath fill vpt 0 360 arc closepath } bind def /C5 { BL [] 0 setdash 2 copy moveto 2 copy vpt 0 90 arc 2 copy moveto 2 copy vpt 180 270 arc closepath fill vpt 0 360 arc } bind def /C6 { BL [] 0 setdash 2 copy moveto 2 copy vpt 90 270 arc closepath fill vpt 0 360 arc closepath } bind def /C7 { BL [] 0 setdash 2 copy moveto 2 copy vpt 0 270 arc closepath fill vpt 0 360 arc closepath } bind def /C8 { BL [] 0 setdash 2 copy moveto 2 copy vpt 270 360 arc closepath fill vpt 0 360 arc closepath } bind def /C9 { BL [] 0 setdash 2 copy moveto 2 copy vpt 270 450 arc closepath fill vpt 0 360 arc closepath } bind def /C10 { BL [] 0 setdash 2 copy 2 copy moveto vpt 270 360 arc closepath fill 2 copy moveto 2 copy vpt 90 180 arc closepath fill vpt 0 360 arc closepath } bind def /C11 { BL [] 0 setdash 2 copy moveto 2 copy vpt 0 180 arc closepath fill 2 copy moveto 2 copy vpt 270 360 arc closepath fill vpt 0 360 arc closepath } bind def /C12 { BL [] 0 setdash 2 copy moveto 2 copy vpt 180 360 arc closepath fill vpt 0 360 arc closepath } bind def /C13 { BL [] 0 setdash 2 copy moveto 2 copy vpt 0 90 arc closepath fill 2 copy moveto 2 copy vpt 180 360 arc closepath fill vpt 0 360 arc closepath } bind def /C14 { BL [] 0 setdash 2 copy moveto 2 copy vpt 90 360 arc closepath fill vpt 0 360 arc } bind def /C15 { BL [] 0 setdash 2 copy vpt 0 360 arc closepath fill vpt 0 360 arc closepath } bind def /Rec { newpath 4 2 roll moveto 1 index 0 rlineto 0 exch rlineto neg 0 rlineto closepath } bind def /Square { dup Rec } bind def /Bsquare { vpt sub exch vpt sub exch vpt2 Square } bind def /S0 { BL [] 0 setdash 2 copy moveto 0 vpt rlineto BL Bsquare } bind def /S1 { BL [] 0 setdash 2 copy vpt Square fill Bsquare } bind def /S2 { BL [] 0 setdash 2 copy exch vpt sub exch vpt Square fill Bsquare } bind def /S3 { BL [] 0 setdash 2 copy exch vpt sub exch vpt2 vpt Rec fill Bsquare } bind def /S4 { BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt Square fill Bsquare } bind def /S5 { BL [] 0 setdash 2 copy 2 copy vpt Square fill exch vpt sub exch vpt sub vpt Square fill Bsquare } bind def /S6 { BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt vpt2 Rec fill Bsquare } bind def /S7 { BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt vpt2 Rec fill 2 copy vpt Square fill Bsquare } bind def /S8 { BL [] 0 setdash 2 copy vpt sub vpt Square fill Bsquare } bind def /S9 { BL [] 0 setdash 2 copy vpt sub vpt vpt2 Rec fill Bsquare } bind def /S10 { BL [] 0 setdash 2 copy vpt sub vpt Square fill 2 copy exch vpt sub exch vpt Square fill Bsquare } bind def /S11 { BL [] 0 setdash 2 copy vpt sub vpt Square fill 2 copy exch vpt sub exch vpt2 vpt Rec fill Bsquare } bind def /S12 { BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt2 vpt Rec fill Bsquare } bind def /S13 { BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt2 vpt Rec fill 2 copy vpt Square fill Bsquare } bind def /S14 { BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt2 vpt Rec fill 2 copy exch vpt sub exch vpt Square fill Bsquare } bind def /S15 { BL [] 0 setdash 2 copy Bsquare fill Bsquare } bind def /D0 { gsave translate 45 rotate 0 0 S0 stroke grestore } bind def /D1 { gsave translate 45 rotate 0 0 S1 stroke grestore } bind def /D2 { gsave translate 45 rotate 0 0 S2 stroke grestore } bind def /D3 { gsave translate 45 rotate 0 0 S3 stroke grestore } bind def /D4 { gsave translate 45 rotate 0 0 S4 stroke grestore } bind def /D5 { gsave translate 45 rotate 0 0 S5 stroke grestore } bind def /D6 { gsave translate 45 rotate 0 0 S6 stroke grestore } bind def /D7 { gsave translate 45 rotate 0 0 S7 stroke grestore } bind def /D8 { gsave translate 45 rotate 0 0 S8 stroke grestore } bind def /D9 { gsave translate 45 rotate 0 0 S9 stroke grestore } bind def /D10 { gsave translate 45 rotate 0 0 S10 stroke grestore } bind def /D11 { gsave translate 45 rotate 0 0 S11 stroke grestore } bind def /D12 { gsave translate 45 rotate 0 0 S12 stroke grestore } bind def /D13 { gsave translate 45 rotate 0 0 S13 stroke grestore } bind def /D14 { gsave translate 45 rotate 0 0 S14 stroke grestore } bind def /D15 { gsave translate 45 rotate 0 0 S15 stroke grestore } bind def /DiaE { stroke [] 0 setdash vpt add M hpt neg vpt neg V hpt vpt neg V hpt vpt V hpt neg vpt V closepath stroke } def /BoxE { stroke [] 0 setdash exch hpt sub exch vpt add M 0 vpt2 neg V hpt2 0 V 0 vpt2 V hpt2 neg 0 V closepath stroke } def /TriUE { stroke [] 0 setdash vpt 1.12 mul add M hpt neg vpt -1.62 mul V hpt 2 mul 0 V hpt neg vpt 1.62 mul V closepath stroke } def /TriDE { stroke [] 0 setdash vpt 1.12 mul sub M hpt neg vpt 1.62 mul V hpt 2 mul 0 V hpt neg vpt -1.62 mul V closepath stroke } def /PentE { stroke [] 0 setdash gsave translate 0 hpt M 4 {72 rotate 0 hpt L} repeat closepath stroke grestore } def /CircE { stroke [] 0 setdash hpt 0 360 arc stroke } def /Opaque { gsave closepath 1 setgray fill grestore 0 setgray closepath } def /DiaW { stroke [] 0 setdash vpt add M hpt neg vpt neg V hpt vpt neg V hpt vpt V hpt neg vpt V Opaque stroke } def /BoxW { stroke [] 0 setdash exch hpt sub exch vpt add M 0 vpt2 neg V hpt2 0 V 0 vpt2 V hpt2 neg 0 V Opaque stroke } def /TriUW { stroke [] 0 setdash vpt 1.12 mul add M hpt neg vpt -1.62 mul V hpt 2 mul 0 V hpt neg vpt 1.62 mul V Opaque stroke } def /TriDW { stroke [] 0 setdash vpt 1.12 mul sub M hpt neg vpt 1.62 mul V hpt 2 mul 0 V hpt neg vpt -1.62 mul V Opaque stroke } def /PentW { stroke [] 0 setdash gsave translate 0 hpt M 4 {72 rotate 0 hpt L} repeat Opaque stroke grestore } def /CircW { stroke [] 0 setdash hpt 0 360 arc Opaque stroke } def /BoxFill { gsave Rec 1 setgray fill grestore } def /BoxColFill { gsave Rec /Fillden exch def currentrgbcolor /ColB exch def /ColG exch def /ColR exch def /ColR ColR Fillden mul Fillden sub 1 add def /ColG ColG Fillden mul Fillden sub 1 add def /ColB ColB Fillden mul Fillden sub 1 add def ColR ColG ColB setrgbcolor fill grestore } def % % PostScript Level 1 Pattern Fill routine % Usage: x y w h s a XX PatternFill % x,y = lower left corner of box to be filled % w,h = width and height of box % a = angle in degrees between lines and x-axis % XX = 0/1 for no/yes cross-hatch % /PatternFill { gsave /PFa [ 9 2 roll ] def PFa 0 get PFa 2 get 2 div add PFa 1 get PFa 3 get 2 div add translate PFa 2 get -2 div PFa 3 get -2 div PFa 2 get PFa 3 get Rec gsave 1 setgray fill grestore clip currentlinewidth 0.5 mul setlinewidth /PFs PFa 2 get dup mul PFa 3 get dup mul add sqrt def 0 0 M PFa 5 get rotate PFs -2 div dup translate 0 1 PFs PFa 4 get div 1 add floor cvi { PFa 4 get mul 0 M 0 PFs V } for 0 PFa 6 get ne { 0 1 PFs PFa 4 get div 1 add floor cvi { PFa 4 get mul 0 2 1 roll M PFs 0 V } for } if stroke grestore } def % /Symbol-Oblique /Symbol findfont [1 0 .167 1 0 0] makefont dup length dict begin {1 index /FID eq {pop pop} {def} ifelse} forall currentdict end definefont pop end %%EndProlog gnudict begin gsave 50 50 translate 0.050 0.050 scale 0 setgray newpath (Helvetica) findfont 240 scalefont setfont 1.000 UL LTb 1224 720 M 63 0 V 5505 0 R -63 0 V /Helvectia findfont 360 scalefont setfont -5649 0 R gsave 0 setgray ( 0) Rshow grestore /Helvetica findfont 240 scalefont setfont 1.000 UL LTb 1224 1224 M 63 0 V 5505 0 R -63 0 V /Helvectia findfont 360 scalefont setfont -5649 0 R gsave 0 setgray ( 50) Rshow grestore /Helvetica findfont 240 scalefont setfont 1.000 UL LTb 1224 1728 M 63 0 V 5505 0 R -63 0 V /Helvectia findfont 360 scalefont setfont -5649 0 R gsave 0 setgray ( 100) Rshow grestore /Helvetica findfont 240 scalefont setfont 1.000 UL LTb 1224 2232 M 63 0 V 5505 0 R -63 0 V /Helvectia findfont 360 scalefont setfont -5649 0 R gsave 0 setgray ( 150) Rshow grestore /Helvetica findfont 240 scalefont setfont 1.000 UL LTb 1224 2736 M 63 0 V 5505 0 R -63 0 V /Helvectia findfont 360 scalefont setfont -5649 0 R gsave 0 setgray ( 200) Rshow grestore /Helvetica findfont 240 scalefont setfont 1.000 UL LTb 1224 3240 M 63 0 V 5505 0 R -63 0 V /Helvectia findfont 360 scalefont setfont -5649 0 R gsave 0 setgray ( 250) Rshow grestore /Helvetica findfont 240 scalefont setfont 1.000 UL LTb 1224 3744 M 63 0 V 5505 0 R -63 0 V /Helvectia findfont 360 scalefont setfont -5649 0 R gsave 0 setgray ( 300) Rshow grestore /Helvetica findfont 240 scalefont setfont 1.000 UL LTb 1224 4248 M 63 0 V 5505 0 R -63 0 V /Helvectia findfont 360 scalefont setfont -5649 0 R gsave 0 setgray ( 350) Rshow grestore /Helvetica findfont 240 scalefont setfont 1.000 UL LTb 1224 4752 M 63 0 V 5505 0 R -63 0 V /Helvectia findfont 360 scalefont setfont -5649 0 R gsave 0 setgray ( 400) Rshow grestore /Helvetica findfont 240 scalefont setfont 1.000 UL LTb 1224 720 M 0 63 V 0 3969 R 0 -63 V /Helvectia findfont 360 scalefont setfont 0 -4209 R gsave 0 setgray ( 0) Cshow grestore /Helvetica findfont 240 scalefont setfont 1.000 UL LTb 2616 720 M 0 63 V 0 3969 R 0 -63 V /Helvectia findfont 360 scalefont setfont 0 -4209 R gsave 0 setgray ( 100) Cshow grestore /Helvetica findfont 240 scalefont setfont 1.000 UL LTb 4008 720 M 0 63 V 0 3969 R 0 -63 V /Helvectia findfont 360 scalefont setfont 0 -4209 R gsave 0 setgray ( 200) Cshow grestore /Helvetica findfont 240 scalefont setfont 1.000 UL LTb 5400 720 M 0 63 V 0 3969 R 0 -63 V /Helvectia findfont 360 scalefont setfont 0 -4209 R gsave 0 setgray ( 300) Cshow grestore /Helvetica findfont 240 scalefont setfont 1.000 UL LTb 6792 720 M 0 63 V 0 3969 R 0 -63 V /Helvectia findfont 360 scalefont setfont 0 -4209 R gsave 0 setgray ( 400) Cshow grestore /Helvetica findfont 240 scalefont setfont 1.000 UL LTb 1.000 UL LTb 1224 720 M 5568 0 V 0 4032 V -5568 0 V 0 -4032 V LTb /Helvectia findfont 360 scalefont setfont 240 2736 M gsave 0 setgray currentpoint gsave translate 90 rotate 0 0 M (Output rate \(kpps\)) Cshow grestore grestore /Helvetica findfont 240 scalefont setfont LTb /Helvectia findfont 360 scalefont setfont 4008 120 M gsave 0 setgray (Input rate \(kpps\)) Cshow grestore /Helvetica findfont 240 scalefont setfont 1.000 UP 1.000 UP 1.000 UL LT0 LTb 3816 4569 M gsave 0 setgray (legacy IP) Rshow grestore LT0 3960 4569 M 207 0 V 1941 1240 M 673 489 V 825 599 V 120 86 V 845 615 V 251 181 V 426 304 V 131 -62 V 434 -539 V 571 -319 V 1941 1240 Pls 2614 1729 Pls 3439 2328 Pls 3559 2414 Pls 4404 3029 Pls 4655 3210 Pls 5081 3514 Pls 5212 3452 Pls 5646 2913 Pls 6217 2594 Pls 4063 4569 Pls 1.000 UP 1.000 UL LT1 LTb 3816 4329 M gsave 0 setgray (regular w/ entry) Rshow grestore LT1 3960 4329 M 207 0 V 1941 1240 M 673 489 V 825 599 V 120 86 V 845 615 V 251 182 V 426 299 V 131 -78 V 434 -673 V 571 -202 V 1941 1240 Crs 2614 1729 Crs 3439 2328 Crs 3559 2414 Crs 4404 3029 Crs 4655 3211 Crs 5081 3510 Crs 5212 3432 Crs 5646 2759 Crs 6217 2557 Crs 4063 4329 Crs 1.000 UP 1.000 UL LT2 LTb 3816 4089 M gsave 0 setgray (request) Rshow grestore LT2 3960 4089 M 207 0 V 1941 1240 M 673 489 V 825 599 V 120 87 V 845 612 V 251 -299 V 426 -133 V 131 -33 V 434 -211 V 571 -178 V 1941 1240 Star 2614 1729 Star 3439 2328 Star 3559 2415 Star 4404 3027 Star 4655 2728 Star 5081 2595 Star 5212 2562 Star 5646 2351 Star 6217 2173 Star 4063 4089 Star 1.000 UP 1.000 UL LT3 LTb 3816 3849 M gsave 0 setgray (renewal w/ entry) Rshow grestore LT3 3960 3849 M 207 0 V 1941 1240 M 673 489 V 825 598 V 120 87 V 845 599 V 251 -240 V 426 -173 V 131 -22 V 434 -225 V 571 -179 V 1941 1240 TriDF 2614 1729 TriDF 3439 2327 TriDF 3559 2414 TriDF 4404 3013 TriDF 4655 2773 TriDF 5081 2600 TriDF 5212 2578 TriDF 5646 2353 TriDF 6217 2174 TriDF 4063 3849 TriDF 1.000 UP 1.000 UL LT4 LTb 3816 3609 M gsave 0 setgray (regular w/o entry) Rshow grestore LT4 3960 3609 M 207 0 V 1941 1240 M 673 489 V 825 598 V 120 87 V 845 -424 V 251 -75 V 426 -33 V 131 -32 V 434 74 V 571 -302 V 1941 1240 DiaF 2614 1729 DiaF 3439 2327 DiaF 3559 2414 DiaF 4404 1990 DiaF 4655 1915 DiaF 5081 1882 DiaF 5212 1850 DiaF 5646 1924 DiaF 6217 1622 DiaF 4063 3609 DiaF 1.000 UP 1.000 UL LT5 LTb 3816 3369 M gsave 0 setgray (renewal w/o entry) Rshow grestore LT5 3960 3369 M 207 0 V 1941 1240 M 673 489 V 825 593 V 120 -130 V 845 -312 V 251 -75 V 426 -41 V 131 -16 V 434 -103 V 571 -131 V 1941 1240 CircleF 2614 1729 CircleF 3439 2322 CircleF 3559 2192 CircleF 4404 1880 CircleF 4655 1805 CircleF 5081 1764 CircleF 5212 1748 CircleF 5646 1645 CircleF 6217 1514 CircleF 4063 3369 CircleF 1.000 UL LTb 1224 720 M 5568 0 V 0 4032 V -5568 0 V 0 -4032 V 1.000 UP stroke grestore end showpage %%Trailer %%DocumentFonts: Helvectia Helvetica %%EndDocument @endspecial 2046 1224 a Fn(Figur)o(e)20 b(12:)k Fm(The)17 b(peak)g(output)g(rate)h(of)f(differ)o(ent)i(types)e(of)g(pack)o(ets.)p 2065 1344 1770 4 v 2063 1435 4 92 v 2110 1408 a Fr(P)o(ack)o(et)j(type) p 3215 1435 V 768 w(Processing)f(time)p 3833 1435 V 2065 1438 1770 4 v 2065 1453 V 2063 1545 4 92 v 2110 1517 a(Request)p 3215 1545 V 1193 w(460)g(ns)p 3833 1545 V 2065 1548 1770 4 v 2063 1639 4 92 v 2110 1612 a(Re)o(gular)g(with)i(a)f (cached)f(entry)p 3215 1639 V 571 w(33)h(ns)p 3833 1639 V 2065 1643 1770 4 v 2063 1734 4 92 v 2110 1707 a(Re)o(gular)f(without) h(a)g(cached)g(entry)p 3215 1734 V 381 w(1486)f(ns)p 3833 1734 V 2065 1737 1770 4 v 2063 1829 4 92 v 2110 1801 a(Rene)n(w)o(al)h(with)h(a)f(cached)f(entry)p 3215 1829 V 504 w(439)g(ns)p 3833 1829 V 2065 1832 1770 4 v 2063 1923 4 92 v 2110 1896 a(Rene)n(w)o(al)h(without)g(a)g(cached)g (entry)p 3215 1923 V 355 w(1821)f(ns)p 3833 1923 V 2065 1927 1770 4 v 2097 2075 a Fn(T)-8 b(able)21 b(1:)k Fm(Pr)o(ocessing)17 b(o)o(v)o(erhead)j(of)d(differ)o(ent)h(types)f(of)g(pack)o(ets.)2000 2329 y Fr(this,)j(we)h(rely)e(on)h(Internet)f(routing)f(to)i(pre)n(v)o (ent)f(the)h(intentional)2000 2420 y(misdeli)n(v)o(ery)e(of)i(pack)o (ets)g(sent)h(to)f(a)h(remote)e(destination.)2075 2512 y(A)d(dif)n(ferent)e(attack)i(is)h(to)f(steal)h(and)e(use)i (capabilities)e(belong-)2000 2603 y(ing)22 b(to)g(a)h(sender)e(\(maybe) g(another)g(attack)o(er\))g(who)h(w)o(as)h(autho-)2000 2694 y(rized)e(by)g(the)h(destination.)28 b(This)21 b(is)i(unlik)o(ely) d(by)i(the)f(nature)g(of)2000 2786 y(our)26 b(design)h(if)g(the)h (attack)o(er)e(is)j(f)o(ar)e(from)f(the)h(sender)m(,)h(since)f(a)2000 2877 y(capability)d(is)j(bound)d(to)i(a)g(speci\002c)f(source,)h (destination,)g(and)2000 2968 y(router:)53 b(the)35 b(attack)o(er)f (will)i(not)e(generally)f(be)i(able)g(to)g(send)2000 3060 y(pack)o(ets)22 b(along)f(the)h(same)g(path)g(as)h(the)f (authorized)e(sender)-5 b(.)30 b(T)-7 b(o)2000 3151 y(deter)23 b(capability)g(theft)h(when)f(attack)o(ers)g(are)h(close)g(to)g (senders)2000 3242 y(\(where)k(close)i(means)f(that)g(the)o(y)g(see)h (the)f(same)h(sequence)e(of)2000 3334 y(capability)17 b(routers\),)g(we)h(use)g(the)g(\003o)n(w)g(nonce.)23 b(This)18 b(is)h(a)f(48)f(bit)2000 3425 y(v)n(alue)h(that)h(is)h(v)n (alid)e(for)h(only)f(a)h(short)g(period)e(of)i(time)g(and)f(so)i(is) 2000 3516 y(unlik)o(ely)k(to)h(be)g(guessed.)38 b(It)26 b(pro)o(vides)d(protection)g(as)j(long)e(as)2000 3608 y(the)c(attack)o(er)g(cannot)f(observ)o(e)g(traf)n(\002c)g(to)i(or)f (from)f(the)h(sender)-5 b(.)2075 3699 y(The)22 b(case)h(in)g(which)f (we)h(cannot)f(pre)n(v)o(ent)f(theft)i(is)g(when)g(the)2000 3790 y(attack)o(er)29 b(can)g(ea)n(v)o(esdrop)f(on)h(the)h(traf)n (\002c)f(between)g(an)h(autho-)2000 3882 y(rized)c(sender)f(and)h(a)h (destination.)43 b(This)26 b(includes)g(a)h(compro-)2000 3973 y(mised)22 b(router)-5 b(.)30 b(In)22 b(this)g(case,)h(the)f (attack)o(er)g(can)g(co-opt)f(the)h(au-)2000 4064 y(thorization)16 b(that)j(belongs)e(to)h(the)g(sender)-5 b(.)24 b(In)18 b(f)o(act,)h(it)g(can)f(speak)2000 4155 y(for)23 b(an)o(y)g(senders)g (for)g(whom)g(it)h(forw)o(ards)f(pack)o(ets.)35 b(Ho)n(we)n(v)o(er)m(,) 2000 4247 y(e)n(v)o(en)14 b(in)h(this)h(situation)f(our)f(design)h(pro) o(vides)e(defense)i(in)g(depth.)2000 4338 y(The)21 b(compromised)d (router)i(is)i(just)g(another)d(attack)o(er)i(\226)g(it)h(does)2000 4429 y(not)30 b(gain)f(more)g(le)n(v)o(erage)g(than)h(an)g(attack)o(er) g(at)g(the)h(compro-)2000 4521 y(mised)22 b(location.)32 b(DoS)23 b(attacks)f(on)h(a)g(destination)e(will)j(still)g(be)2000 4612 y(limited)30 b(as)h(long)e(as)i(there)f(are)g(other)f(capability)h (routers)f(be-)2000 4703 y(tween)20 b(the)g(attack)o(er)g(and)f(the)i (destination.)2075 4795 y(Finally)-5 b(,)27 b(other)f(attacks)h(may)f (tar)o(get)g(capability)g(routers)g(di-)2000 4886 y(rectly)-5 b(,)28 b(seeking)f(to)h(e)o(xhaust)e(their)i(resources.)46 b(Ho)n(we)n(v)o(er)m(,)28 b(the)2000 4977 y(computation)17 b(and)j(state)g(requirements)e(for)i(our)f(capability)g(are)2000 5069 y(bounded)32 b(by)i(design.)67 b(The)o(y)33 b(may)h(be)h(pro)o (visioned)d(for)i(the)2000 5160 y(w)o(orst)20 b(case.)2000 5375 y Fs(7.)99 b(IMPLEMENT)-9 b(A)g(TION)1908 5649 y Fr(12)p eop end %%Page: 13 13 TeXDict begin 13 12 bop 75 83 a Fr(W)-7 b(e)16 b(prototyped)d(our)h (design)h(using)f(the)h(Linux)g(net\002lter)g(frame-)0 174 y(w)o(ork)27 b([16])g(running)e(on)j(commodity)d(hardw)o(are.)46 b(W)-7 b(e)29 b(imple-)0 266 y(mented)g(the)h(host)g(portion)e(of)i (the)f(protocol)g(as)h(a)g(user)n(-space)0 357 y(proxy)-5 b(,)30 b(as)g(this)g(allo)n(ws)g(le)o(gac)o(y)e(applications)g(to)i (run)e(without)0 448 y(modi\002cation.)e(W)-7 b(e)22 b(implemented)e(router)f(capability)i(process-)0 540 y(ing)31 b(as)g(a)g(k)o(ernel)g(module)e(using)h(the)h(AES-hash)f(as)i (the)f(\002rst)0 631 y(hash)21 b(function)f(\(for)g(pre-capabilities\)) g(and)g(SHA1)i(as)g(the)g(sec-)0 722 y(ond)d(hash)h(function)f([14])g (\(for)g(capabilities\).)75 814 y(The)d(purpose)f(of)h(this)h(ef)n (fort)e(w)o(as)i(to)g(help)f(us)h(check)e(the)i(com-)0 905 y(pleteness)k(of)g(our)f(design,)g(and)h(to)g(understand)e(the)i (processing)0 996 y(costs)32 b(of)g(capabilities.)59 b(W)-7 b(e)33 b(did)e(not)g(consider)g(the)h(process-)0 1088 y(ing)c(costs)h(of)f(f)o(air)g(queuing.)47 b(In)28 b(our)g(e)o(xperiment,)f(we)i(set)g(up)0 1179 y(a)20 b(router)e(machine)h(using)g(a)h(dual-processor)d(3.2GHz)h(Pentium)0 1270 y(Xeon)23 b(machine)g(running)e(a)j(Linux)f(2.6.8)f(K)n(ernel.)35 b(It)24 b(used)g(the)0 1362 y(nati)n(v)o(e)g(Linux)g(forw)o(arding)e (module.)37 b(W)-7 b(e)26 b(then)f(used)f(a)i(k)o(ernel)0 1453 y(pack)o(et)17 b(generator)f(to)i(generate)f(the)h(dif)n(ferent)e (types)h(of)h(pack)o(ets)0 1544 y(and)25 b(sent)h(them)f(through)e(the) j(router)m(,)f(modifying)e(the)j(code)f(to)0 1636 y(force)g(the)g (desired)g(e)o(x)o(ecution)f(path.)41 b(F)o(or)25 b(each)g(run,)h(our)f (load)0 1727 y(generator)18 b(machines)i(sent)h(one)e(million)h(pack)o (ets)g(of)g(each)g(type)0 1818 y(to)g(the)g(router)-5 b(.)24 b(W)-7 b(e)20 b(recorded)e(the)i(a)n(v)o(erage)e(number)g(of)i (instruc-)0 1910 y(tion)25 b(c)o(ycles)f(for)g(the)h(router)f(to)h (process)f(each)h(type)f(of)h(pack)o(et,)0 2001 y(a)n(v)o(eraging)18 b(the)i(results)h(o)o(v)o(er)e(\002)n(v)o(e)h(e)o(xperiments.)75 2092 y(T)-7 b(able)26 b(1)g(sho)n(ws)h(the)f(results)h(of)f(this)h(e)o (xperiment,)e(with)h(c)o(y-)0 2183 y(cles)35 b(con)m(v)o(erted)c(to)k (time.)66 b(In)34 b(normal)f(operation,)j(the)e(most)0 2275 y(common)22 b(type)h(of)h(pack)o(et)f(is)h(a)h(re)o(gular)d(pack)o (et)h(with)h(an)g(entry)0 2366 y(at)j(a)g(router)-5 b(.)42 b(The)26 b(processing)f(o)o(v)o(erhead)f(for)i(this)h(type)e(is)j(the)0 2457 y(lo)n(west)i(at)g(33ns.)53 b(The)29 b(processing)f(o)o(v)o (erhead)f(for)i(v)n(alidating)0 2549 y(a)c(capability)f(for)h(a)g(pack) o(et)f(without)g(a)i(cached)e(entry)g(is)i(about)0 2640 y(1480ns,)17 b(as)i(it)h(in)m(v)n(olv)o(es)d(computing)f(tw)o(o)j(hash) f(functions.)23 b(The)0 2731 y(cost)30 b(to)g(process)f(a)h(request)f (pack)o(et)h(is)g(lo)n(wer)f(and)h(similar)g(to)0 2823 y(the)h(cost)h(to)f(process)g(a)h(rene)n(w)o(al)e(pack)o(et)h(with)g(a) h(cached)e(en-)0 2914 y(try)d(because)f(both)f(in)m(v)n(olv)o(e)h(a)h (pre-capability)d(hash)j(computa-)0 3005 y(tion.)48 b(The)27 b(most)h(compute-intensi)n(v)o(e)d(operation)h(is)j(forw)o(ard-)0 3097 y(ing)22 b(a)h(rene)n(w)o(al)g(pack)o(et)f(without)g(a)h(cached)e (entry)-5 b(.)32 b(In)22 b(this)h(case)0 3188 y(the)g(router)f(needs)h (to)h(compute)d(three)i(hash)g(functions:)30 b(tw)o(o)24 b(to)0 3279 y(check)g(the)i(v)n(alidity)e(of)h(the)g(old)g(capability) -5 b(,)25 b(and)g(one)f(to)i(com-)0 3371 y(pute)c(a)g(ne)n(w)h (pre-capability)c(hash)j(if)h(the)f(carried)g(capability)f(is)0 3462 y(v)n(alid.)j(The)c(processing)f(cost)i(is)g(1820ns.)75 3553 y(W)-7 b(e)31 b(also)f(tested)g(ho)n(w)f(rapidly)f(a)i(Linux)f (router)g(could)f(for)n(-)0 3645 y(w)o(ard)i(capability)g(pack)o(ets.) 55 b(The)30 b(results)h(are)f(sho)n(wn)g(in)h(Fig-)0 3736 y(ure)23 b(12.)36 b(The)23 b(output)g(rate)h(increases)f(with)i (the)e(input)g(rate)h(and)0 3827 y(reaches)19 b(a)i(peak)e(of)h(160)f (to)h(280Kpps,)e(depending)g(on)h(the)h(type)0 3919 y(of)35 b(pack)o(et.)71 b(This)36 b(compares)f(well)h(with)g(the)f(peak)g (lossless)0 4010 y(rate)f(for)f(v)n(anilla)g(IP)i(pack)o(ets)e(of)h (about)f(280Kpps.)64 b(In)34 b(both)0 4101 y(cases)e(these)g(rates)f (are)g(dominated)f(by)h(per)g(pack)o(et)f(interrupt)0 4193 y(handling,)h(and)g(the)o(y)f(could)g(be)g(increased)g(mark)o (edly)f(with)i(a)0 4284 y(polling)21 b(de)n(vice)g(dri)n(v)o(er)m(,)g (as)i(demonstrated)d(by)h(Click)i([11].)30 b(W)-7 b(e)0 4375 y(e)o(xpect)31 b(that)h(remo)o(ving)d(the)j(3.5us)f(interrupt)g (penalty)f(w)o(ould)0 4467 y(impro)o(v)o(e)c(the)i(output)f(rate)h(to)g (500-1400Kpps,)e(equi)n(v)n(alent)h(to)0 4558 y(240)14 b(to)i(670Mbps)d(with)i(minimum)f(size)i(pack)o(ets)f(\(of)g(40)f (TCP/IP)0 4649 y(bytes)j(plus)f(20)h(capability)f(bytes\).)23 b(An)17 b(attack)o(er)f(might)g(attempt)0 4741 y(to)j(o)o(v)o(erwhelm)d (the)i(CPU)i(by)e(\003ooding)f(spoofed)g(short)h(rene)n(w)o(al)0 4832 y(pack)o(ets;)h(the)o(y)g(w)o(ould)g(not)g(match,)g(b)n(ut)g(that) h(might)f(still)h(lead)g(to)0 4923 y(pack)o(et)25 b(loss)h(of)g(good)e (traf)n(\002c)i(if)f(the)h(processing)e(w)o(as)j(done)e(in)0 5015 y(the)17 b(order)f(recei)n(v)o(ed.)22 b(F)o(ortunately)-5 b(,)15 b(we)i(can)g(use)g(Lazy)f(Recei)n(v)o(er)0 5106 y(Processing)h(\(LRP\))g(for)f(this)i(case)g([5]:)23 b(when)17 b(the)g(CPU)h(is)g(o)o(v)o(er)n(-)0 5197 y(loaded,)g (separately)g(queue)g(incoming)f(pack)o(ets)i(based)f(on)h(their)0 5289 y(required)24 b(computation)g(per)i(input)f(bit.)43 b(Normal)26 b(traf)n(\002c,)h(con-)0 5380 y(sisting)21 b(of)g(short)g(requests)g(and)f(full-size)h(re)o(gular)e(pack)o(ets)i (will)2000 83 y(then)f(be)g(processed)f(at)h(full)h(speed.)2075 174 y(W)-7 b(e)29 b(conclude)d(that)i(our)f(implementation)f(can)i (handle)e(100)2000 266 y(Mbps)f(interf)o(aces)h(with)g(of)n (f-the-shelf)d(hardw)o(are;)28 b(in)e(the)g(near)2000 357 y(future,)f(we)g(e)o(xpect)f(to)h(be)g(able)g(to)h(demonstrate)d (that)i(an)g(opti-)2000 448 y(mized)j(implementation)e(can)i(run)f(at)i (a)g(gigabit)e(without)h(spe-)2000 540 y(cialized)20 b(hardw)o(are.)2000 753 y Fs(8.)99 b(DEPLO)-5 b(YMENT)2075 869 y Fr(Our)31 b(design)g(requires)f(both)h(routers)g(and)g(hosts)h (to)g(be)f(up-)2000 961 y(graded,)21 b(b)n(ut)i(does)f(not)g(require)f (a)i(\003ag)g(day)-5 b(.)31 b(W)-7 b(e)24 b(e)o(xpect)d(incre-)2000 1052 y(mental)i(deplo)o(yment)f(to)j(proceed)d(or)o(ganization)f(by)i (or)o(ganiza-)2000 1143 y(tion.)j(F)o(or)21 b(e)o(xample,)e(a)i(go)o(v) o(ernment)d(or)i(lar)o(ge)g(scale)i(enterprise)2000 1235 y(might)f(deplo)o(y)f(the)i(system)g(across)g(their)g(internal)f(netw)o (ork,)f(to)2000 1326 y(ensure)i(continued)e(operation)h(of)h(the)g (netw)o(ork)g(e)n(v)o(en)f(if)i(the)f(at-)2000 1417 y(tack)o(er)f(has)g (compromised)e(some)i(nodes)f(internal)g(to)i(the)f(or)o(ga-)2000 1509 y(nization,)i(e.g.,)h(with)g(a)g(virus.)36 b(Upstream)23 b(ISPs)h(in)g(turn)f(might)2000 1600 y(deplo)o(y)18 b(the)h(system)g (to)g(protect)f(communication)e(between)i(k)o(e)o(y)2000 1691 y(customers.)2075 1783 y(Routers)i(can)h(be)g(upgraded)d (incrementally)-5 b(,)18 b(at)k(trust)f(bound-)2000 1874 y(aries)36 b(and)e(locations)h(of)g(congestion,)j(i.e.,)h(the)c (ingress)g(and)2000 1965 y(e)o(gress)25 b(of)g(edge)g(ISPs.)41 b(This)25 b(can)g(be)h(accomplished)d(by)i(plac-)2000 2057 y(ing)18 b(an)h(inline)g(pack)o(et)f(processing)f(box)h(adjacent)g (to)h(the)g(le)o(gac)o(y)2000 2148 y(router)k(and)i(preceding)d(a)k (step-do)n(wn)d(in)i(capacity)f(\(so)h(that)g(its)2000 2239 y(queuing)d(has)i(an)g(ef)n(fect\).)34 b(No)24 b(cross-pro)o (vider)d(or)j(inter)n(-router)2000 2331 y(arrangements)d(are)j(needed)f (and)g(routing)f(is)j(not)e(altered.)36 b(Fur)n(-)2000 2422 y(ther)d(deplo)o(yment)f(w)o(orking)h(back)g(from)g(a)h (destination)f(then)2000 2513 y(pro)o(vides)21 b(greater)i(protection)e (to)i(the)h(destination)e(in)h(the)h(form)2000 2605 y(of)15 b(better)g(attack)g(localization,)f(because)h(\003oods)g(are)g (intercepted)2000 2696 y(earlier)-5 b(.)2075 2787 y(Hosts)25 b(must)g(also)g(be)f(upgraded.)36 b(W)-7 b(e)26 b(en)m(vision)d(this)j (occur)n(-)2000 2878 y(ring)k(with)h(proxies)f(at)h(the)g(edges)f(of)h (customer)f(netw)o(orks)f(in)2000 2970 y(the)17 b(manner)f(of)h(a)h(N)m (A)-9 b(T)17 b(box)f(or)h(\002re)n(w)o(all.)25 b(This)17 b(pro)o(vides)f(a)h(sim-)2000 3061 y(pler)e(option)f(than)h(upgrading)d (indi)n(vidual)h(hosts)j(and)f(is)h(possible)2000 3152 y(since)h(le)o(gac)o(y)f(applications)g(do)h(not)f(need)h(to)g(be)g (upgraded.)22 b(Ob-)2000 3244 y(serv)o(e)16 b(that)h(le)o(gac)o(y)e (hosts)i(can)f(communicate)f(with)i(one)f(another)2000 3335 y(unchanged)k(during)h(this)i(deplo)o(yment)e(because)h(le)o(gac)o (y)f(traf)n(\002c)2000 3426 y(passes)31 b(through)d(capability)i (routers,)i(albeit)e(at)h(lo)n(w)g(priority)-5 b(.)2000 3518 y(Ho)n(we)n(v)o(er)m(,)25 b(we)h(must)g(disco)o(v)o(er)e(which)h (hosts)h(are)g(upgraded)d(if)2000 3609 y(we)h(are)g(to)g(use)g (capabilities)g(when)g(possible)f(and)h(f)o(all)g(back)f(to)2000 3700 y(le)o(gac)o(y)16 b(traf)n(\002c)i(otherwise.)23 b(W)-7 b(e)19 b(e)o(xpect)e(to)h(use)g(the)g(DNS)g(to)g(sig-)2000 3792 y(nal)k(which)f(hosts)i(can)e(handle)g(capabilities)h(in)g(the)g (same)g(man-)2000 3883 y(ner)g(as)h(other)f(upgrades.)30 b(Additionally)-5 b(,)21 b(a)i(capability-enabled)2000 3974 y(host)e(can)h(try)f(to)g(contact)g(a)h(destination)f(using)g (capabilities)g(di-)2000 4066 y(rectly)-5 b(.)34 b(This)23 b(will)i(either)e(succeed,)g(or)g(an)h(ICMP)g(protocol)e(er)n(-)2000 4157 y(ror)17 b(will)h(be)f(returned)f(when)g(the)i(shim)f(capability)g (layer)g(cannot)2000 4248 y(be)25 b(processed,)h(as)g(e)n(vidence)e (that)i(the)g(host)f(has)h(not)f(been)g(up-)2000 4340 y(graded.)2000 4553 y Fs(9.)99 b(CONCLUSION)2075 4669 y Fr(W)-7 b(e)30 b(ha)n(v)o(e)g(presented)e(and)h(e)n(v)n(aluated)g(a)h (netw)o(ork)f(architec-)2000 4761 y(ture)h(that)h(limits)g(DoS)g(so)g (that)f(tw)o(o)h(hosts)g(are)f(able)h(to)f(com-)2000 4852 y(municate)22 b(ef)n(fecti)n(v)o(ely)g(despite)i(a)g(lar)o(ge)e (number)g(of)i(attack)o(ers;)2000 4943 y(we)17 b(ha)n(v)o(e)g(ar)o (gued)e(that)i(e)o(xisting)f(mechanisms)g(do)g(not)h(meet)g(this)2000 5035 y(goal.)42 b(Our)26 b(design)f(is)i(based)f(on)f(the)h(concept)f (of)h(capabilities)2000 5126 y(that)k(enable)g(destinations)g(to)g (authorize)f(senders,)j(in)f(combi-)2000 5217 y(nation)20 b(with)h(routers)g(that)g(preferentially)e(forw)o(ard)h(authorized)2000 5309 y(traf)n(\002c.)49 b(Our)28 b(main)g(contrib)n(ution)f(is)i(to)g (\003esh)g(out)f(the)g(design)2000 5400 y(of)k(a)i(comprehensi)n(v)o(e) c(and)i(practical)g(capability)g(system)h(for)1908 5649 y(13)p eop end %%Page: 14 14 TeXDict begin 14 13 bop 0 83 a Fr(the)23 b(\002rst)h(time.)34 b(This)23 b(includes)f(protections)g(for)g(the)i(initial)f(re-)0 174 y(quest)i(e)o(xchange,)f(consideration)f(of)i(destination)f (policies)h(for)0 266 y(authorizing)19 b(senders,)i(and)f(w)o(ays)i(to) f(bound)e(both)i(router)f(com-)0 357 y(putation)28 b(and)h(state)i (requirements.)51 b(Our)30 b(simulation)e(results)0 448 y(sho)n(w)23 b(that,)i(with)e(our)g(design,)g(e)n(v)o(en)g(substantial) g(\(10x\))f(\003oods)0 540 y(of)g(le)o(gac)o(y)e(traf)n(\002c,)i (request)f(traf)n(\002c)h(and)f(other)g(authorized)f(traf-)0 631 y(\002c)i(ha)n(v)o(e)f(little)h(or)f(limited)h(impact)e(on)i(the)f (performance)d(of)k(le-)0 722 y(gitimate)i(users.)36 b(W)-7 b(e)25 b(ha)n(v)o(e)e(stri)n(v)o(en)h(to)g(k)o(eep)f(our)g (design)h(prac-)0 814 y(tical.)49 b(W)-7 b(e)29 b(implemented)d(a)i (prototype)e(of)h(our)g(design)h(in)g(the)0 905 y(Linux)21 b(k)o(ernel,)g(and)h(used)g(it)g(to)h(ar)o(gue)d(that)i(our)g(design)f (will)i(be)0 996 y(able)d(to)h(run)f(at)h(gigabit)e(speeds)i(on)f (commodity)e(PCs.)28 b(W)-7 b(e)21 b(also)0 1088 y(constrained)h(our)i (design)f(to)h(be)g(easy)g(to)h(transition)e(into)h(prac-)0 1179 y(tice.)g(This)18 b(can)f(be)h(done)e(by)h(placing)g(inline)g (pack)o(et)g(processing)0 1270 y(box)o(es)26 b(near)h(le)o(gac)o(y)f (routers,)i(with)f(incremental)f(deplo)o(yment)0 1362 y(pro)o(viding)17 b(incremental)i(gain.)0 1557 y Fs(10.)99 b(REFERENCES)42 1664 y Fr([1])36 b(D.)20 b(Andersen.)f(Mayday:)24 b(Distrib)n(uted)19 b(Filtering)h(for)176 1755 y(Internet)f(Services.)g (In)h Ff(Pr)l(oc.)g(of)h(Thir)m(d)f(USENIX)176 1847 y(Symposium)f(on)g (Internet)h(T)-8 b(ec)o(hnolo)o(gies)19 b(and)g(Systems)176 1938 y(\(USITS\))p Fr(,)f(2003.)42 2038 y([2])36 b(T)-6 b(.)20 b(Anderson,)e(T)-6 b(.)20 b(Roscoe,)g(and)g(D.)g(W)-7 b(etherall.)176 2129 y(Pre)n(v)o(enting)18 b(Internet)h(Denial)h(of)g (Service)g(with)176 2220 y(Capabilities.)g(In)g Ff(Pr)l(oc.)g (HotNets-II)p Fr(,)g(No)o(v)-5 b(.)18 b(2003.)42 2320 y([3])36 b(DDoS)20 b(attacks)g(still)i(pose)e(threat)f(to)i(internet.)e Fa(http:)176 2411 y(//www.bizreport.com/news/5413/)p Fr(,)c(No)o(v)-5 b(.)176 2503 y(2003.)42 2602 y([4])36 b(A.)20 b(Demers,)g(S.)h(K)n(esha)n(v)-5 b(,)19 b(and)h(S.)g(Shenk)o (er)-5 b(.)19 b(Analysis)176 2693 y(and)g(Simulation)h(of)f(a)i(F)o (air)f(Queueing)f(Algorithm.)f(In)176 2785 y Ff(Pr)l(oc.)i(A)n(CM)g (SIGCOMM)p Fr(,)h(1989.)42 2884 y([5])36 b(P)-9 b(.)20 b(Druschel)g(and)f(G.)i(Banga.)e(Lazy)h(Recei)n(v)o(er)176 2976 y(Processing)f(\(LRP\):)i(A)f(Netw)o(ork)g(Subsystem)176 3067 y(Architecture)e(for)i(Serv)o(er)f(Systems.)h(In)g Ff(Pr)l(oc.)h(of)f(the)g(2th)176 3158 y(Usenix)g(Symposium)f(on)h(Oper) o(ating)e(Systems)j(Design)176 3250 y(and)e(Implementation)p Fr(,)f(1996.)42 3349 y([6])36 b(P)-9 b(.)20 b(Fer)o(guson)e(and)i(D.)g (Senie.)g(Netw)o(ork)g(Ingress)176 3441 y(Filtering:)k(Defeating)c (Denial)g(of)g(Service)f(Attacks)i(that)176 3532 y(Emplo)o(y)e(IP)h (Source)f(Address)h(Spoo\002ng.)f(Internet)g(RFC)176 3623 y(2827,)f(2000.)42 3723 y([7])36 b(M.)20 b(Handle)o(y)f(and)g(A.)i (Greenhalgh.)d(Steps)i(T)-7 b(o)n(w)o(ards)20 b(a)176 3814 y(DoS-Resistant)g(Internet)f(Architecture.)g(In)g Ff(Pr)l(oc.)i(A)n(CM)176 3906 y(SIGCOMM)f(W)-8 b(orkshop)20 b(on)g(Futur)m(e)f(Dir)m(ections)i(in)176 3997 y(Network)g(Ar)m(c)o (hitectur)m(e)e(\(FDN)n(A\))p Fr(,)h(2004.)42 4097 y([8])36 b(J.)20 b(Ioannidis)f(and)h(S.)h(Bello)o(vin.)e(Implementing)176 4188 y(Pushback:)24 b(Router)n(-Based)19 b(Defense)h(Against)g(DoS)176 4279 y(Attacks.)g(In)g Ff(Network)h(and)e(Distrib)n(uted)h(System)176 4371 y(Security)f(Symposium)p Fr(,)g(2002.)42 4470 y([9])36 b(S.)20 b(Kandula,)f(D.)i(Katabi,)e(M.)i(Jacob,)e(and)h(A.)g(Ber)o(ger) -5 b(.)176 4561 y(Botz-4-sale:)24 b(Survi)n(ving)17 b(or)o(ganized)g (DDoS)i(attacks)h(that)176 4653 y(mimic)g(\003ash)g(cro)n(wds.)f(In)h Ff(Second)f(Symposium)g(on)176 4744 y(Network)o(ed)h(Systems)h(Design)f (and)f(Implementation)176 4835 y(\(NSDI\),)g(to)h(appear)p Fr(,)f(May)h(2005.)0 4935 y([10])36 b(A.)20 b(K)n(eromytis,)f(V)-11 b(.)21 b(Misra,)f(and)g(D.)g(Rubenstein.)f(SOS:)176 5026 y(Secure)g(Ov)o(erlay)g(Services.)h(In)g Ff(Pr)l(oc.)g(A)n(CM)176 5118 y(SIGCOMM)p Fr(,)g(2002.)0 5217 y([11])36 b(E.)19 b(K)m(ohler)m(,)g(R.)h(Morris,)f(B.)h(Chen,)f(J.)h(Jannotti,)f(and)g (M.)h(F)-7 b(.)176 5309 y(Kaashoek.)19 b(The)g(Click)i(Modular)e (Router.)g Ff(A)n(CM)176 5400 y(T)-5 b(r)o(ansactions)19 b(on)h(Computer)g(Systems)p Fr(,)g(18\(3\):263\226297,)2175 83 y(Aug.)g(2000.)2000 183 y([12])35 b(K.)21 b(Lakshminarayanan,)16 b(D.)21 b(Adkins,)e(A.)h(Perrig,)g(and)2175 274 y(I.)h(Stoica.)f(T)-7 b(aming)19 b(IP)i(P)o(ack)o(et)f(Flooding)e(Attacks.)i(In)2175 365 y Ff(Pr)l(oc.)h(HotNets-II)p Fr(,)e(2003.)2000 465 y([13])35 b(R.)21 b(Mahajan,)e(S.)i(Bello)o(vin,)e(S.)i(Flo)o(yd,)e(J.) i(Ioannidis,)2175 556 y(V)-11 b(.)21 b(P)o(axson,)e(and)h(S.)h(Shenk)o (er)-5 b(.)19 b(Controlling)f(High)2175 648 y(Bandwidth)i(Aggre)o (gates)e(in)i(the)g(Netw)o(ork.)g Ff(Computer)2175 739 y(Communications)f(Re)o(vie)o(w)p Fr(,)h(32\(3\),)e(July)i(2002.)2000 839 y([14])35 b(A.)21 b(J.)g(Menezes,)e(P)-9 b(.)21 b(C.)g(v)n(an)e (Oorschot,)g(and)h(S.)g(A.)2175 930 y(V)-9 b(anstone.)19 b Ff(Handbook)f(of)i(applied)f(crypto)o(gr)o(aphy)p Fr(,)2175 1021 y(chapter)h(9.)g(CRC)h(Pres,)g(1997.)2000 1121 y([15])35 b(D.)21 b(Moore,)e(G.)h(V)-11 b(oelk)o(er)m(,)19 b(and)h(S.)h(Sa)n(v)n (age.)e(Inferring)2175 1212 y(Internet)g(Denial)i(of)e(Service)h(Acti)n (vity.)g(In)g Ff(Pr)l(oc.)g(Usenix)2175 1303 y(Security)g(Symposium)f (2001)p Fr(,)g(2001.)2000 1403 y([16])35 b Fa (http://www.netfilter.org/)p Fr(.)2000 1503 y([17])g(R.)21 b(Perlman.)f(Netw)o(ork)f(Layer)g(Protocols)h(with)2175 1594 y(Byzantine)g(Rob)n(ustness.)g(MIT)g(Ph.D.)g(Thesis,)g(1988.)2000 1694 y([18])35 b(K.)21 b(Ramakrishnan)d(and)i(S.)h(Flo)o(yd.)e(A)i (Proposal)e(to)h(Add)2175 1785 y(Explicit)g(Congestion)f (Noti\002cation)h(\(ECN\))g(to)g(IP.)2175 1876 y(Internet)f(RFC)j (2481,)d(Jan.)h(1999.)2000 1976 y([19])35 b(S.)21 b(Sa)n(v)n(age,)f(D.) g(W)-7 b(etherall,)20 b(A.)h(Karlin,)e(and)2175 2067 y(T)-6 b(.)21 b(Anderson.)d(Practical)i(Netw)o(ork)g(Support)e(for)i (IP)2175 2159 y(T)m(raceback.)f(In)h Ff(Pr)l(oc.)g(A)n(CM)g(SIGCOMM)p Fr(,)h(2000.)2000 2258 y([20])35 b(A.)21 b(Snoeren,)e(C.)h(P)o (artridge,)f(L.)h(Sanchez,)f(C.)i(Jones,)2175 2350 y(F)-7 b(.)22 b(Tchak)o(ountio,)17 b(S.)k(K)n(ent,)e(and)h(W)-8 b(.)21 b(Strayer)-5 b(.)2175 2441 y(Hash-Based)20 b(IP)h(T)m(raceback.) d(In)i Ff(Pr)l(oc.)g(A)n(CM)2175 2532 y(SIGCOMM)p Fr(,)h(2001.)2000 2632 y([21])35 b(D.)21 b(Song)e(and)h(A.)g(Perrig.)g(Adv)n(ance)f(and)g (Authenticated)2175 2723 y(Marking)g(Schemes)h(for)g(IP)g(T)m (raceback.)e(In)i Ff(Pr)l(oc.)h(IEEE)2175 2814 y(Infocom)p Fr(,)e(2001.)2000 2914 y([22])35 b(I.)21 b(Stoica,)f(S.)g(Shenk)o(er)m (,)f(and)g(H.)i(Zhang.)e(Core-Stateless)2175 3005 y(F)o(air)i (Queueing:)i(Achie)n(ving)c(Approximately)e(F)o(air)2175 3097 y(Bandwidth)j(Allocations)f(in)i(High)e(Speed)h(Netw)o(orks.)f(In) 2175 3188 y Ff(Pr)l(oc.)i(A)n(CM)f(SIGCOMM)p Fr(,)g(1998.)2000 3288 y([23])35 b(A.)21 b(Y)-8 b(aar)m(,)19 b(A.)i(Perrig,)e(and)h(D.)g (Song.)f(Pi:)26 b(A)21 b(P)o(ath)2175 3379 y(Identi\002cation)e (Mechanism)g(to)h(Defend)g(Against)f(DDoS)2175 3470 y(Attacks.)i(In)f Ff(Pr)l(oc.)g(2003)f(IEEE)g(Symposium)g(on)2175 3562 y(Security)h(and)g(Privacy)p Fr(,)f(2003.)2000 3661 y([24])35 b(A.)21 b(Y)-8 b(aar)m(,)19 b(A.)i(Perrig,)e(and)h(D.)g(Song.)f(SIFF:)i (A)g(Stateless)2175 3753 y(Internet)e(Flo)n(w)i(Filter)f(to)h(Mitigate) f(DDoS)g(Flooding)2175 3844 y(Attacks.)h(In)f Ff(Pr)l(oc.)g(2004)f (IEEE)g(Symposium)g(on)2175 3935 y(Security)h(and)g(Privacy)p Fr(,)f(2004.)1908 5649 y(14)p eop end %%Trailer userdict /end-hook known{end-hook}if %%EOF